Innehållsförteckning:
- Steg 1: Idén och anslutningarna
- Steg 2: Raspberry Pi -anslutningar och konfiguration
- Steg 3: APM -anslutningar och konfiguration
- Steg 4: Arduino Leonardo -konfiguration
- Steg 5: Första flyget
Video: Autonom Line Follower Drone med Raspberry Pi: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Den här självstudien visar hur du kan göra linjeföljare drönare så småningom.
Denna drönare kommer att ha en "autonom läge" -brytare som kommer att gå in i drönaren till läge. Så du kan fortfarande flyga din drönare som tidigare.
Var medveten om att det kommer att ta tid att bygga och ännu mer tid att justera. Men det sista … får dig att tänka dig värt det.
För att börja skapa din egen autonom line tracker drone, se till att du har;
- Rasberry Pi 3 eller Raspberry Pi Zero W med SSH -åtkomst
- Ready-To-Fly-drönare med APM- eller Pixhawk-flygkontroll
- Arduino Leonardo eller en annan Arduino med snabb klockfart
- Minst 6 CH sändare
- USB -webbkamera som Raspberry Pi och OpenCV stöder
- En dator
- 6 transistorer för allmänna ändamål
- Kablar
Steg 1: Idén och anslutningarna
APM, aka ArduPilot, är en flygkontroll baserad på Arduino Mega. Det betyder att vi kan ändra det för att vara bäst för vårt fall. Men eftersom jag inte har informationen att göra det, kommer jag att gå på ett annat sätt.
Raspberry Pi är tyvärr inte tidskänsliga vilket innebär att de inte kan hantera PPM-signaler.
Det är därför vi behöver det extra Arduino -kortet.
På detta sätt kommer Raspberry Pi att bearbeta bilderna och beräkna flyginstruktionerna och skicka dem till Arduino via Serial UART -gränssnitt. Arduino -kortet kommer att stå här som en PPM -kodare/avkodare, som kodar flyginstruktionerna till PPM -signaler som APM vill ha. För att få en idé kan du undersöka det symboliska kretsschemat.
Raspberry Pi kommer att bete sig som telemetrisändare vid sidan av detekteringslinjen.
Den väsentliga kretsen visas på bilderna. Jag kommer att fortsätta förklara i nästa steg.
Steg 2: Raspberry Pi -anslutningar och konfiguration
Raspberry Pi kommer att anslutas till Wi-Fi-adapter (tillval), USB-webbkamera, Arduino Leonardo via USB, APM via inbyggt seriellt gränssnitt. APM - RPI -anslutning visas med detaljer i bilderna.
För att konfigurera har du två alternativ: ren Raspbian med nödvändiga paket eller speciell bild för MAVLink -anslutning som kallas APSync. Om du ska använda Raspbian, se till att du har installerat dessa paket:
sudo apt-get uppdatering
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 installera framtida pymavlink mavproxy pyserial
För att kunna använda Raspberry Pi: s inbyggda seriella gränssnitt måste du berätta för OS att inte använda det. För att göra det, skriv
sudo raspi-config
och följ Gränssnittsalternativ> Seriellt gränssnitt
Du måste inaktivera seriellt gränssnitt men aktivera seriell hårdvara.
Vid denna tidpunkt är resten lämpligt för både Raspbian och APSync.
I hemkatalogen skapar du tre filer: omstartskript och bildprocessor scriptt. Andra raden gör omstartskript körbart.
tryck på reboot.sh image_processor.py
chmod +x reboot.sh
Kopiera alla rader i filerna nedan till din hemkatalog (/home/pi) i Raspberry Pi.
Omstartskriptet kommer att innehålla utlösare som kommer att utlösa bildprocessor och telemetri -skript. Även få inställningar. Observera att om du inte vill ha telemetri, lägg till # före den raden.
nano reboot.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Spara den med CTRL+O och avsluta med CTRL+X. Sista steget om det är att registrera det i OS -startfilen, rc.local
sudo nano /etc/rc.local
Lägg till den här raden ovanför avfart 0:
/home/pi/reboot.sh
Vårt omstartskript körs på varje start.
Vi vill att Raspberry Pi ska spela in livevideo, bearbeta det direkt, beräkna flyginstruktioner, skicka det till flygkontrollen och vara telemetri. Men eftersom Raspberry Pi inte kan generera PPM -signal som APM vill ha, behöver vi ett annat sätt att uppnå det.
Raspberry Pi kommer att skicka sin bildbehandlingsutmatning till Arduino (i mitt fall Arduino Leonardo) via seriell port. Arduino kommer att generera PPM -signal från den ingången och skicka den till Flight Controller via bygelkablar. Detta är allt för Raspberry Pi.
Låt oss gå vidare till nästa steg.
Steg 3: APM -anslutningar och konfiguration
Sakerna med APM är enkla eftersom det redan är klart att flyga. Vi behöver känna till seriella portars baudrates och se till att TELEM -porten är aktiverad.
I din markprogramvara, i mitt fall Mission Planner, kontrollera flygkontrollantens parameterlista och ta reda på baudrates. Till exempel är SERIAL_BAUD USB baudrate och SERIAL_BAUD1 är TELEM port baudrate för APM. Observera att värden.
Den viktigaste delen är INPUT -stifters anslutningar. Som visas på bilden, anslut Arduinos digitala stift 4 grundligt 9. Du kanske vill använda ett brödbord för detta, eftersom vi ska lägga till några transistorer och mottagarutgångar. (Se bilder) (Transistorer fungerar om du vill ta kontroll över din drönare)
ARD 4, APM -INGÅNG 1
ARD 5, APM -INGÅNG 2
ARD 6 ↔ APM -INGÅNG 3
ARD 7 ↔ APM -INGÅNG 4
ARD 8 ↔ APM -INGÅNG 5
ARD 9 ↔ APM -INGÅNG 6
Anslut alla 5V -stift på APM -ingången till Arduino Leonardo 5V -stift. Anslut också alla APM -ingångs -GND -stift till Arduino Leonardo GND -stift.
Steg 4: Arduino Leonardo -konfiguration
Vi har anslutit alla ledningar för Leonardo så bara koden kvar.
Ladda upp den angivna koden nedan till din Arduino Leonardo. Var uppmärksam på baudrates.
Steg 5: Första flyget
När du är klar med alla tidigare steg betyder det att du är redo.
Starta alla kort och anslut med SSH till Raspberry Pi. Skriv in terminal:
sudo su
mavproxy.py --master =/dev/[SERIELL GRÄNSSNITT] -baudrate [TELEM PORT BAUDRATE] -luftfartyg [TILLÄMPNINGSNAMN
Standard Raspberry Pi inbyggt seriellt gränssnitt är ttyS0 (/dev/ttyS0)
Standard APM TELEM port baudrate är 57600
Standard APM USB -port baudrate är 115200
Du kan ge ditt flygplan valfritt namn, välja det klokt, så att du kan känna igen det senare.
Om allt är okej, anslut nu till din Raspberry Pi via VNC, så att du kan se vad drönaren ser i realtid.
Nu kan du beväpna din drönare. Spännande, eller hur?
Ta av din drönare och flyga över linjespåret. Nu kan du aktivera linjespårningsläge med CH6 -omkopplaren.
Rekommenderad:
Line Follower Robot With PICO: 5 steg (med bilder)
Line Follower Robot med PICO: Innan du kan skapa en robot som kan avsluta civilisationen som vi känner den och kan avsluta mänskligheten. Du måste först kunna skapa de enkla robotarna, de som kan följa en linje ritad på marken, och här kommer du att
Line Follower Robot med Arduino Uno och L298N: 5 steg
Line Follower Robot med Arduino Uno och L298N: Line Flower är en mycket enkel robot perfekt för nybörjarelektronik
Arduino Line Follower Wallrides Classroom Whiteboard: 8 steg (med bilder)
Arduino Line Follower Wallrides Classroom Whiteboard: Att följa linjen på marken är för tråkigt! Vi har försökt titta på en annan vinkel på linjeföljare och föra dem till ett annat plan - till skolans whiteboard. Se vad som blev av det
Line Follower Robot med PIC18F: 7 steg
Line Follower Robot Med PIC18F: RACE LINKI gjorde den här linjeföljaren roboten för min mikrokontroller kurs på universitetet. Så jag gjorde den här grundläggande linjeföljaren roboten med Pic 18f2520 och använde kompilatorn för PIC CCS. Det finns många linjeföljare -projekt på internet med ardunio
Line Follower Robot: 11 steg (med bilder)
Line Follower Robot: Jag gjorde en linjeföljare robot med PIC16F84A mikroprocessor utrustad med 4 IR -sensorer. Denna robot kan köra på de svarta och vita linjerna