Inhoudsopgave:
- Stap 1: Het idee en de connecties
- Stap 2: Raspberry Pi-verbindingen en configuratie
- Stap 3: APM-verbindingen en configuratie
- Stap 4: Arduino Leonardo-configuratie
- Stap 5: Eerste vlucht
Video: Autonome lijnvolger-drone met Raspberry Pi - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Deze tutorial laat zien hoe je uiteindelijk een lijnvolger-drone kunt maken.
Deze drone heeft een schakelaar voor "autonome modus" die de drone in de modus zet. U kunt dus nog steeds met uw drone vliegen zoals voorheen.
Houd er rekening mee dat het tijd kost om te bouwen en nog meer tijd om aan te passen. Maar de laatste… is dat je denkt dat het de moeite waard is.
Om te beginnen met het maken van uw eigen autonome lijntracker-drone, moet u ervoor zorgen dat u;
- Rasberry Pi 3 of Raspberry Pi Zero W met SSH-toegang
- Ready-To-Fly-drone met APM- of Pixhawk-vluchtcontroller
- Arduino Leonardo of een andere Arduino met hoge kloksnelheid
- Minstens 6 CH zender
- USB-webcam die Raspberry Pi en OpenCV ondersteunt
- Een pc
- 6 transistors voor algemeen gebruik
- Bedrading kabels
Stap 1: Het idee en de connecties
APM, ook bekend als ArduPilot, is een vluchtcontroller op basis van Arduino Mega. Dit betekent dat we het kunnen aanpassen om het beste te zijn voor ons geval. Maar aangezien ik de informatie niet heb om dit te doen, ga ik een andere weg volgen.
Raspberry Pi's zijn helaas niet tijdgevoelig, wat betekent dat ze niet overweg kunnen met PPM-signalen.
Daarom hebben we het extra Arduino-bord nodig.
Op deze manier zal Raspberry Pi de afbeeldingen verwerken en de vluchtinstructies berekenen en deze via de seriële UART-interface naar Arduino sturen. Arduino-kaart zal hier staan als een PPM-encoder/decoder, die de vluchtinstructies codeert naar PPM-signalen die APM wil. Om een idee te krijgen, kunt u het symbolische schakelschema bekijken.
Raspberry Pi zal zich naast de detectielijn gedragen als telemetriezender.
Het essentiële circuit wordt getoond in de afbeeldingen. Ik zal het verder uitleggen in de volgende stappen.
Stap 2: Raspberry Pi-verbindingen en configuratie
Raspberry Pi wordt verbonden met Wi-Fi-adapter (optioneel), USB-webcam, Arduino Leonardo via USB, APM via ingebouwde seriële interface. APM - RPI-verbinding weergegeven met details in de afbeeldingen.
Om te configureren, heb je twee opties: pure Raspbian met benodigde pakketten of speciale afbeelding voor MAVLink-verbinding genaamd APSync. Als je Raspbian gaat gebruiken, zorg er dan voor dat je deze pakketten hebt geïnstalleerd:
sudo apt-get update
sudo apt-get install -y screen python-wxgtk3.0 python-matplotlib sudo apt-get install -y python-opencv python-pip python-numpy python-dev sudo apt-get install -y libxml2-dev libxslt-dev python- lxml sudo pip install toekomstige pymavlink mavproxy pyserial
Om de ingebouwde seriële interface van Raspberry Pi te gebruiken, moet je OS vertellen om het niet te gebruiken. Typ hiervoor
sudo raspi-config
en volg Interfacing-opties > Seriële interface
U moet de seriële interface uitschakelen, maar de seriële hardware inschakelen.
Op dit moment is de rest geschikt voor zowel Raspbian als APSync.
Maak in de homedirectory drie bestanden: reboot script en image processor scriptt. Tweede regel maakt reboot-script uitvoerbaar.
raak reboot.sh image_processor.py aan
chmod +x reboot.sh
Kopieer alle regels in onderstaande bestanden naar je homedirectory (/home/pi) in Raspberry Pi.
Het reboot-script bevat triggers die beeldprocessor- en telemetriescripts activeren. Ook weinig instellingen. Houd er rekening mee dat als u geen telemetriefunctie wilt, # vóór die regel moet worden toegevoegd.
nano reboot.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Sla het op met CTRL+O en sluit af met CTRL+X. De laatste stap hierover is het registreren in het opstartbestand van het besturingssysteem, rc.local
sudo nano /etc/rc.local
Voeg deze regel toe boven exit 0:
/home/pi/reboot.sh
Ons reboot-script wordt bij elke keer opstarten uitgevoerd.
We willen dat Raspberry Pi live video opneemt, on-the-fly verwerkt, vluchtinstructies berekent, naar de vluchtcontroller stuurt en telemetrie doet. Maar aangezien Raspberry Pi geen PPM-signaal kan genereren dat APM wil, hebben we een andere manier nodig om dit te bereiken.
Raspberry Pi stuurt zijn beeldverwerkingsuitvoer naar Arduino (in mijn geval Arduino Leonardo) via seriële poort. Arduino genereert PPM-signaal van die ingang en stuurt het via jumperdraden naar Flight Controller. Dit is allemaal voor Raspberry Pi.
Laten we naar de volgende stap gaan.
Stap 3: APM-verbindingen en configuratie
De dingen over APM zijn eenvoudig omdat het al klaar is om te vliegen. We moeten de baudrates van seriële poorten kennen en ervoor zorgen dat de TELEM-poort is ingeschakeld.
Controleer in je grondsoftware, in mijn geval Mission Planner, de parameterlijst van de vluchtcontroller en ontdek de baudrates. SERIAL_BAUD is bijvoorbeeld USB-baudrate en SERIAL_BAUD1 is TELEM-poortbaudrate voor APM. Let op die waarden.
Het belangrijkste onderdeel zijn de aansluitingen van de INPUT-pinnen. Zoals te zien is in de afbeelding, sluit u Arduino's digitale pinnen 4 tot en met 9. U kunt hiervoor een breadbord gebruiken, omdat we enkele transistors en ontvangeruitgangen gaan toevoegen. (Zie afbeeldingen) (Transistors zullen werken voor het geval u de controle over uw drone wilt overnemen)
ARD 4 APM INGANG 1
ARD 5 APM INGANG 2
ARD 6 APM INGANG 3
ARD 7 APM INGANG 4
ARD 8 ↔ APM INGANG 5
ARD 9 ↔ APM-INGANG 6
Sluit alle 5V-pinnen op APM-ingang aan op Arduino Leonardo 5V-pin. Sluit op dezelfde manier alle APM Input GND-pinnen aan op de Arduino Leonardo GND-pin.
Stap 4: Arduino Leonardo-configuratie
We hebben alle draden voor Leonardo aangesloten, dus alleen de code is overgebleven.
Upload de onderstaande code naar je Arduino Leonardo. Let op baudrates.
Stap 5: Eerste vlucht
Als u klaar bent met alle voorgaande stappen, betekent dit dat u klaar bent.
Schakel alle kaarten in en maak verbinding met SSH met Raspberry Pi. Typ terminal in:
sudo su
mavproxy.py --master=/dev/[SERILE INTERFACE] --baudrate [TELEM POORT BAUDRATE] --aircraft [AANGEPASTE NAAM
De standaard ingebouwde seriële interface van de Raspberry Pi is ttyS0 (/dev/ttyS0)
De standaard baudrate van de APM TELEM-poort is 57600
Standaard APM USB-poort baudrate is 115200
U kunt elke naam aan uw vliegtuig geven, kies het verstandig, zodat u het later kunt herkennen.
Als alles in orde is, maak dan nu verbinding met je Raspberry Pi via VNC, zodat je in realtime kunt zien wat drone ziet.
Nu kunt u uw drone bewapenen. Spannend, toch?
Zet je drone af en vlieg boven de lijnbaan. Nu kunt u de lijnvolgmodus activeren door de CH6-schakelaar te gebruiken.
Aanbevolen:
Deel 3: GPIO: ARM-assemblage: lijnvolger: TI-RSLK: 6 stappen
Deel 3: GPIO: ARM Montage: Lijnvolger: TI-RSLK: Hallo. Dit is de volgende aflevering waarin we ARM-assemblage blijven gebruiken (in plaats van een taal op een hoger niveau). De inspiratie voor deze Instructable is Lab 6 van de Texas Instruments Robotics System Learning Kit, of TI-RSLK. We gebruiken de microfoon
Lijnvolger met Arduino - Eenvoudig doe-het-zelf-project: 6 stappen
Lijnvolger met Arduino | Eenvoudig doe-het-zelf-project: in deze tutorial maken we een lijnvolger met behulp van Arduino Onderdelen nodig: chassis: BO Motors and Wheels: https://amzn.to/2Yjh9I7 L298n-motor Driver: https://amzn.to/2IWNMWF IR-sensor : https://amzn.to/2FFtFu3 Arduino Uno: https://amzn.to/2FyTrjF J
Hoe maak je een lijnvolger met Arduino 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe maak je een lijnvolger met Arduino: Als je aan de slag gaat met robotica, bevat een van de eerste projecten die beginners maken een lijnvolger. Het is een speciale speelgoedauto met eigenschap om langs een lijn te rijden die normaal gesproken zwart van kleur is en contrasteert met de achtergrond. Let's get star
LIJNVOLGER ROBOT -- ARDUINO GECONTROLEERD: 11 stappen (met afbeeldingen)
LIJNVOLGER ROBOT || ARDUINO GECONTROLEERD: IN DIT INSTRUCTIEBOEKJE LAAT IK HOE EEN ROBOTWAGEN (CARBOT) AAN TE PASSEN OM EEN LINE FOLLOWER ROBOT TE MAKEN
TA-ZON-BOT (Lijnvolger): 3 stappen (met afbeeldingen)
TA-ZON-BOT (Line Follower): TA-ZON-BOTEl tazón siguelineas Hemos realizado este robot siguelineas con la ayuda de los nuestros alumnos, (gracias minimakers). Ha sido un proyecto express para poder participar en la OSHWDEN de A Coruña.https://oshwdem.org/2017/06/o