Innholdsfortegnelse:
- Trinn 1: Ideen og forbindelsene
- Trinn 2: Raspberry Pi -tilkoblinger og konfigurasjon
- Trinn 3: APM -tilkoblinger og konfigurasjon
- Trinn 4: Arduino Leonardo -konfigurasjon
- Trinn 5: Første flytur
Video: Autonom Line Follower Drone Med Raspberry Pi: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Denne opplæringen viser hvordan du etter hvert kan lage en line -follower drone.
Denne dronen vil ha en "autonom modus" -bryter som går inn i dronen til modus. Så du kan fortsatt fly dronen din som før.
Vær oppmerksom på at det kommer til å ta tid å bygge og enda mer tid til å justere. Men det siste … får deg til å tenke verdt det.
For å begynne å lage din egen autonom line tracker drone, sørg for at du har;
- Rasberry Pi 3 eller Raspberry Pi Zero W med SSH -tilgang
- Klar til å fly-drone med APM eller Pixhawk flykontroller
- Arduino Leonardo eller en annen Arduino med rask klokkehastighet
- Minst 6 CH sender
- USB -webkamera som Raspberry Pi og OpenCV støtter
- En PC
- 6 transistorer for generelle formål
- Kablingskabler
Trinn 1: Ideen og forbindelsene
APM, alias ArduPilot, er en flykontroller basert på Arduino Mega. Dette betyr at vi kan endre det for å være best for vår sak. Men siden jeg ikke har informasjonen til det, kommer jeg til å gå en annen måte.
Raspberry Pi er dessverre ikke tidssensitive, noe som betyr at de ikke kan håndtere PPM-signaler.
Derfor trenger vi det ekstra Arduino -kortet.
På denne måten vil Raspberry Pi behandle bildene og beregne flyinstruksjonene og sende dem til Arduino via Serial UART -grensesnitt. Arduino -kortet vil stå her som en PPM -koder/dekoder, som koder flyinstruksjonene til PPM -signaler som APM ønsker. For å få en ide, kan du undersøke det symbolske kretsdiagrammet.
Raspberry Pi vil oppføre seg som telemetrisender sammen med detekteringslinje.
Den essensielle kretsen er vist på bildene. Jeg vil fortsette å forklare i neste trinn.
Trinn 2: Raspberry Pi -tilkoblinger og konfigurasjon
Raspberry Pi blir koblet til Wi-Fi-adapter (valgfritt), USB-webkamera, Arduino Leonardo via USB, APM via innebygd serielt grensesnitt. APM - RPI -tilkobling vist med detaljer på bildene.
For å konfigurere har du to alternativer: ren Raspbian med nødvendige pakker eller spesialbilde for MAVLink -tilkobling kalt APSync. Hvis du skal bruke Raspbian, må du kontrollere at du har installert disse pakkene:
sudo apt-get oppdatering
sudo apt-get install -y skjerm 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 installere fremtidig pymavlink mavproxy pyserial
For å bruke Raspberry Pi's innebygde serielle grensesnitt, må du be OS om ikke å bruke det. For å gjøre det, skriv
sudo raspi-config
og følg Grensesnittalternativer> Serielt grensesnitt
Du må deaktivere serielt grensesnitt, men aktivere seriell maskinvare.
På dette tidspunktet er resten egnet for både Raspbian og APSync.
I hjemmekatalogen oppretter du tre filer: reboot script og image processor scriptt. Andre linje gjør omstartskript kjørbart.
trykk på reboot.sh image_processor.py
chmod +x reboot.sh
Kopier alle linjene i filene nedenfor til hjemmekatalogen (/home/pi) i Raspberry Pi.
Omstartskriptet vil inneholde utløsere som skal utløse bildeprosessor og telemetri -skript. Også få innstillinger. Vær oppmerksom på at hvis du ikke vil ha telemetri -funksjonen, må du legge til # før den linjen.
nano reboot.sh
#!/bin/bash
python3 /home/pi/image_processor.py
Lagre den med CTRL+O og avslutt med CTRL+X. Siste trinn om det er å registrere den til OS -oppstartsfil, rc.local
sudo nano /etc/rc.local
Legg til denne linjen over avkjørsel 0:
/home/pi/reboot.sh
Omstartskriptet vårt blir utført på hver oppstart.
Vi vil at Raspberry Pi skal ta opp live video, behandle den i farten, beregne flyinstruksjoner, sende den til flykontrolleren og være telemetri. Men siden Raspberry Pi ikke er i stand til å generere PPM -signal som APM ønsker, trenger vi en annen måte å oppnå det på.
Raspberry Pi sender bildebehandlingsutgangen til Arduino (i mitt tilfelle Arduino Leonardo) via en seriell port. Arduino vil generere PPM -signal fra den inngangen og sende det til Flight Controller via jumper -ledninger. Dette er alt for Raspberry Pi.
La oss gå videre til neste trinn.
Trinn 3: APM -tilkoblinger og konfigurasjon
Tingene med APM er enkle siden det allerede er klart til å fly. Vi trenger å kjenne serielle porters baudrater, og sørge for at TELEM -porten er aktivert.
I bakkeprogramvaren din, i mitt tilfelle Mission Planner, sjekk flygelederens parameterliste og finn baudratene. For eksempel er SERIAL_BAUD USB baudrate og SERIAL_BAUD1 er TELEM port baudrate for APM. Vær oppmerksom på at verdier.
Den viktigste delen er INPUT -pinners tilkoblinger. Som vist på bildet, koble til Arduinos digitale pinner 4 grundig 9. Du vil kanskje bruke et brødbord til dette, siden vi skal legge til noen transistorer og mottakerutganger. (Se bilder) (Transistorer fungerer hvis du vil ta kontroll over dronen din)
ARD 4, APM -INNGANG 1
ARD 5, APM -INNGANG 2
ARD 6, APM -INNGANG 3
ARD 7, APM -INNGANG 4
ARD 8, APM -INNGANG 5
ARD 9, APM -INNGANG 6
Koble alle 5V -pinnene på APM -inngangen til Arduino Leonardo 5V -pinnen. Tilsvarende koble alle APM -inngang GND -pinner til Arduino Leonardo GND -pinne.
Trinn 4: Arduino Leonardo -konfigurasjon
Vi har koblet alle ledningene til Leonardo, så bare koden er igjen.
Last opp den oppgitte koden nedenfor til din Arduino Leonardo. Vær oppmerksom på baudrates.
Trinn 5: Første flytur
Når du er ferdig med alle tidligere trinn, betyr det at du er klar.
Slå på alle kortene og koble til SSH til Raspberry Pi. Skriv inn terminal:
sudo su
mavproxy.py --master =/dev/[SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] --aircraft [CUSTOM NAME
Standard Raspberry Pi innebygd serielt grensesnitt er ttyS0 (/dev/ttyS0)
Standard APM TELEM port baudrate er 57600
Standard APM USB -port baudrate er 115200
Du kan gi et hvilket som helst navn til flyet ditt, velge det klokt, slik at du kan gjenkjenne det senere.
Hvis alt er i orden, kan du nå koble til Raspberry Pi via VNC, slik at du kan se hva dronen ser i sanntid.
Nå kan du bevæpne dronen din. Spennende, ikke sant?
Ta dronen av og fly over linjesporet. Nå kan du aktivere linjesporingsmodus ved å bruke CH6 -bryteren.
Anbefalt:
Line Follower Robot With PICO: 5 trinn (med bilder)
Line Follower Robot Med PICO: Før du er i stand til å lage en robot som kan avslutte sivilisasjonen slik vi kjenner den, og er i stand til å avslutte menneskeheten. Du må først være i stand til å lage de enkle robotene, de som kan følge en linje trukket på bakken, og her vil du
Arduino Line Follower Wallrides Classroom Whiteboard: 8 trinn (med bilder)
Arduino Line Follower Wallrides Classroom Whiteboard: Å følge linjen på bakken er for kjedelig! Vi har prøvd å se på en annen vinkel på line -følgere og ta dem med til et annet fly - til skolens tavle. Se hva som kom ut av det
Autonom drone med infrarødt kamera for å hjelpe første respondenter: 7 trinn
Autonom drone med infrarødt kamera for å hjelpe førstehjelpere: Ifølge en rapport fra Verdens helseorganisasjon dreper naturkatastrofer hvert år rundt 90 000 mennesker og påvirker nærmere 160 millioner mennesker over hele verden. Naturkatastrofer inkluderer jordskjelv, tsunamier, vulkanutbrudd, jordskred, orkaner, fl
Line Follower Robot Med PIC18F: 7 trinn
Line Follower Robot Med PIC18F: RACE LINKI laget denne linjefølgerroboten for mitt mikrokontrollerkurs på universitetet. Så jeg laget denne grunnleggende linjefølgerroboten ved bruk av Pic 18f2520 og brukte kompilatoren til PIC CCS. Det er mange linjefølgerprosjekter på internett med ardunio
Line Follower Robot: 11 trinn (med bilder)
Line Follower Robot: Jeg lagde en line follower robot med PIC16F84A mikroprosessor utstyrt med 4 IR -sensorer. Denne roboten kan kjøre på de svarte og hvite linjene