INHOUDSOPGAWE:
- Stap 1: Die idee en verbindings
- Stap 2: Raspberry Pi -verbindings en konfigurasie
- Stap 3: APM -verbindings en konfigurasie
- Stap 4: Arduino Leonardo -opset
- Stap 5: Eerste vlug
Video: Outonome lynvolgende drone met framboos Pi: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hierdie tutoriaal toon hoe u uiteindelik die lynvolgers kan hommel.
Hierdie hommeltuig sal 'n 'outonome modus' -skakelaar hê wat die hommeltuig na die modus gaan. U kan dus steeds met u hommeltuig vlieg soos voorheen.
Hou in gedagte dat dit tyd sal neem om te bou en nog meer tyd om aan te pas. Maar die laaste … laat jou die moeite werd dink.
Om te begin met die skep van u eie autonomus line tracker drone, maak seker dat u het;
- Rasberry Pi 3 of Raspberry Pi Zero W met SSH -toegang
- Klaar-om-te-vlieg-hommeltuig met APM- of Pixhawk-vlugbeheerder
- Arduino Leonardo of 'n ander Arduino met 'n vinnige kloksnelheid
- Minstens 6 CH sender
- USB -webkamera wat Raspberry Pi en OpenCV ondersteun
- 'N PC
- 6 transistors vir algemene doeleindes
- Bedradingskabels
Stap 1: Die idee en verbindings
APM, oftewel ArduPilot, is 'n vlugbeheerder gebaseer op Arduino Mega. Dit beteken dat ons dit kan aanpas om die beste vir ons saak te wees. Maar aangesien ek nie die inligting daarvoor het nie, gaan ek 'n ander pad volg.
Raspberry Pi's is ongelukkig nie tydsensitief nie, wat beteken dat hulle nie PPM-seine kan hanteer nie.
Daarom het ons die ekstra Arduino -bord nodig.
Op hierdie manier verwerk Raspberry Pi die beelde en bereken die vluginstruksies en stuur dit na Arduino via Serial UART -koppelvlak. Die Arduino -kaart staan hier as 'n PPM -encoder/decoder, wat die vluginstruksies na PPM -seine wat APM wil hê, kodeer. Om 'n idee te kry, kan u die simboliese kringdiagram ondersoek.
Framboos Pi sal optree as 'n telemetrie -sender langs die opsporingslyn.
Die noodsaaklike stroombaan word in die beelde getoon. Ek sal in die volgende stappe verder verduidelik.
Stap 2: Raspberry Pi -verbindings en konfigurasie
Raspberry Pi sal via 'n ingeboude seriële koppelvlak gekoppel wees aan die Wi-Fi-adapter (opsioneel), die USB-webkamera, die Arduino Leonardo. APM - RPI -verbinding getoon met besonderhede op die beelde.
Om te konfigureer, het u twee opsies: pure Raspbian met die nodige pakkette of spesiale beeld vir MAVLink -verbinding genaamd APSync. As u Raspbian gaan gebruik, maak seker dat u hierdie pakkette geïnstalleer het:
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 installeer toekomstige pymavlink mavproxy pyserial
Om die ingeboude seriële koppelvlak van Raspberry Pi te gebruik, moet u die bedryfstelsel sê om dit nie te gebruik nie. Om dit te doen, tik
sudo raspi-config
en volg Koppelvlakopsies> Seriële koppelvlak
U moet die seriële koppelvlak deaktiveer, maar die seriële hardeware aktiveer.
Op hierdie punt is die res geskik vir beide Raspbian en APSync.
Skep drie lêers in die tuisgids: herlaai script en beeldverwerker scriptt. Die tweede reël maak die herlaai -script uitvoerbaar.
raak reboot.sh image_processor.py aan
chmod +x herlaai.sh
Kopieer al die reëls in die lêers hieronder na u tuisgids (/home/pi) in Raspberry Pi.
Die herlaai -skrif bevat snellers wat beeldverwerker en telemetrie -skrifte sal veroorsaak. Ook min instellings. Let daarop dat as u nie die telemetrie -funksie wil hê nie, # byvoeg voor die reël.
nano herlaai.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Stoor dit met CTRL+O en verlaat met CTRL+X. Die laaste stap daaroor is om dit te registreer in die opstartlêer van die bedryfstelsel, rc.local
sudo nano /etc/rc.local
Voeg hierdie reël by by afrit 0:
/home/pi/reboot.sh
Ons herlaai -script word op elke opstart uitgevoer.
Ons wil hê Raspberry Pi moet lewendige video opneem, onmiddellik verwerk, vluginstruksies bereken, dit na die vlugbeheerder stuur en telemetrie doen. Maar aangesien Raspberry Pi nie die PPM -sein kan genereer wat APM wil hê nie, het ons 'n ander manier nodig om dit te bereik.
Raspberry Pi stuur sy beeldverwerkingsuitset na Arduino (in my geval Arduino Leonardo) via die seriële poort. Arduino sal 'n PPM -sein genereer vanaf die invoer en dit via vlugdrade na die vlugbeheerder stuur. Dit is alles vir Raspberry Pi.
Kom ons gaan na die volgende stap.
Stap 3: APM -verbindings en konfigurasie
Die dinge oor APM is eenvoudig, aangesien dit reeds gereed is om te vlieg. Ons moet die baudrates van die seriële poorte ken en seker maak dat die TELEM -poort geaktiveer is.
In u grondprogrammatuur, in my geval, Mission Planner, kyk na die parameters van die vlugbeheerder en vind die baudrates. SERIAL_BAUD is byvoorbeeld USB -baudrate en SERIAL_BAUD1 is TELEM -poort baudrate vir APM. Let op dat waardes.
Die belangrikste deel is die aansluitings van die INPUT -penne. Soos in die prentjie, verbind Arduino se digitale penne 4 deeglik 9. U kan 'n broodbord hiervoor gebruik, aangesien ons 'n paar transistors en ontvangeruitsette gaan byvoeg. (Sien prente) (Transistors werk as u beheer oor u drone wil neem)
ARD 4, APM INVOER 1
ARD 5, APM INVOER 2
ARD 6, APM INVOER 3
ARD 7, APM INVOER 4
ARD 8, APM -INVOER 5
ARD 9, APM -INVOER 6
Koppel alle 5V -penne op die APM -ingang aan die Arduino Leonardo 5V -pen. Koppel ook alle APM -invoer GND -penne aan die Arduino Leonardo GND -pen.
Stap 4: Arduino Leonardo -opset
Ons het al die drade vir Leonardo gekoppel, sodat slegs die kode oor is.
Laai die onderstaande kode op na u Arduino Leonardo. Gee aandag aan baudrates.
Stap 5: Eerste vlug
As u klaar is met al die vorige stappe, beteken dit dat u gereed is.
Skakel alle kaarte aan en maak verbinding met SSH met Raspberry Pi. Tik terminale in:
sudo su
mavproxy.py --master =/dev/[SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] -vliegtuie [AANGEPASTE NAAM
Die standaard ingeboude seriële koppelvlak van Raspberry Pi is ttyS0 (/dev/ttyS0)
Die standaard APM TELEM -poort baudrate is 57600
Die standaard APM USB -poort baudrate is 115200
U kan u vliegtuig enige naam gee, dit verstandig kies, sodat u dit later kan herken.
As alles in orde is, sluit u nou aan op u Raspberry Pi via VNC, sodat u intyds kan kyk wat die drone sien.
Nou kan u u hommeltuig inskakel. Opwindend, reg?
Haal u hommeltuig af en vlieg bo die lyn. Nou kan u die lynopsporingsmodus aktiveer deur die CH6 -skakelaar te gebruik.
Aanbeveel:
Victoriaanse balrok met 'n outonome verstelbare halslyn: 8 stappe (met foto's)
Victoriaanse balrok met 'n outonome verstelbare halslyn: Dit is 'n projek wat ek gemaak het vir die Victoriaanse winterbal in Krakow. 'N Slim balrok wat die grootte van sy nek aanpas, gebaseer op die nabyheid van 'n here wat voor hom staan
Raspberry Pi - Outonome Mars Rover Met OpenCV -voorwerpopsporing: 7 stappe (met foto's)
Raspberry Pi - Outonome Mars Rover Met OpenCV -voorwerpopsporing: Aangedryf deur 'n Raspberry Pi 3, Open CV -objekherkenning, Ultrasoniese sensors en gemotoriseerde GS -motors. Hierdie rover kan enige voorwerp waarvoor hy opgelei is, opspoor en op enige terrein beweeg
Outonome baanhouer met behulp van Raspberry Pi en OpenCV: 7 stappe (met foto's)
Outonome baanhoumotor met behulp van Raspberry Pi en OpenCV: In hierdie instruksies word 'n outonome baanhourobot geïmplementeer wat deur die volgende stappe sal gaan: Versamel onderdele Installeer sagteware-voorvereistes Hardeware-samestelling Eerste toets Opspoor van baanlyne en vertoon die riglyne
Outonome parallelle parkeermotors met behulp van Arduino: 10 stappe (met foto's)
Autonomous Parallel Parking Car Making Using Arduino: In outonome parkering moet ons algoritmes en posisiesensors maak volgens sekere aannames. Ons aannames sal soos volg in hierdie projek wees. In die scenario bestaan die linkerkant van die pad uit mure en parkareas. As jy
Outonome drone: 7 stappe
Outonome drone: in hierdie projek leer u hoe u 'n hommeltuig kan bou en konfigureer, voordat u verder gaan met die ondersoek na outonome vlug met behulp van Mission Planner en MATLAB. Die gebruik van hommeltuie kan baie moeilik wees