Sommario:

Follow Me - Guida al drone intelligente Raspberry Pi: 9 passaggi
Follow Me - Guida al drone intelligente Raspberry Pi: 9 passaggi

Video: Follow Me - Guida al drone intelligente Raspberry Pi: 9 passaggi

Video: Follow Me - Guida al drone intelligente Raspberry Pi: 9 passaggi
Video: DJI T40 CRASHES WITH KID!! CARRIES OTHERS 2024, Dicembre
Anonim
Seguimi - Guida al drone intelligente Raspberry Pi
Seguimi - Guida al drone intelligente Raspberry Pi

Ti sei sempre chiesto come realizzare un drone dalla A alla Z?

Questo tutorial ti mostra come eseguire passo dopo passo un quadricottero da 450 mm dall'acquisto delle parti al test del tuo robot aereo durante il suo primo volo.

Inoltre, con un Raspberry Pi e una PiCamera puoi trasmettere in streaming un video dal vivo sul tuo dispositivo e controllare il tuo drone in prima persona! Il Raspberry Pi offre anche la possibilità di migliorare ancora di più il tuo drone e aggiungere funzionalità come il tracciamento delle persone, l'evitamento degli ostacoli e una stazione meteorologica. Questo tutorial ti mostrerà come farti seguire dal tuo drone.

Il vantaggio del Raspberry Pi è principalmente che può elaborare alcuni algoritmi di visione artificiale per funzionalità che richiedono che il drone sia "intelligente".

In questo tutorial imparerai:

  • Quali strumenti/parti devi acquistare
  • Come riparare tutte le parti sul telaio
  • Come effettuare i collegamenti per il sistema di propulsione
  • Come configurare il tuo microcontrollore
  • Come collegare il ricevitore al trasmettitore
  • Come riprodurre in streaming un video ripreso dal drone sul telefono
  • Come sintonizzare il tuo PID per un controllo migliore
  • Come implementare il monitoraggio delle persone

Inoltre il drone ha un LED rosso che si accende quando il drone sta cercando qualcuno e un LED verde quando viene rilevato qualcuno e il drone lo sta seguendo. È anche implementato un pulsante per spegnere il Pi prima di scollegare la batteria sulla scheda SD del Raspberry Pi non viene danneggiato.

Questo tutorial mira a stabilire le basi su come costruire un drone intelligente personalizzabile, quindi se sei un principiante assoluto, sei nel posto giusto!

Passaggio 1: Panoramica

Panoramica
Panoramica

Per costruire un quadrirotore occorrono 4 motori e 4 ESC (Electronic Speed Controller) ognuno collegato ad un motore. Una scheda di distribuzione dell'alimentazione viene utilizzata per distribuire l'energia dalla batteria ai 4 ESC.

L'ESC riceve il comando dal controller di volo (qui una scheda MultiWii) e lo trasmette al motore.

Questo controller di volo ha un giroscopio, un accelerometro e un barometro. Puoi anche aggiungere un modulo bluetooth e un GPS.

Per effettuare la connessione tra il Raspberry Pi e il controller di volo, utilizziamo un adattatore FTDI. Quindi possiamo inviare comandi al controller dal nostro Pi. Inoltre, per eseguire la calibrazione PID e per caricare il firmware del Mulltiwii sul controller di volo, l'FTDI sarà molto utile.

Infine, controlliamo a distanza il drone con un telecomando che invia comandi ai ricevitori e li invia al controller di volo.

Il Raspberry Pi fornisce anche un flusso che può essere visualizzato su qualsiasi browser da un dispositivo come ad esempio un telefono. In questo modo possiamo vedere cosa vede la Pi Camera quando è in aria.

Passaggio 2: raccogliere le parti

Raccogliere le parti
Raccogliere le parti
Raccogliere le parti
Raccogliere le parti
Raccogliere le parti
Raccogliere le parti

Le seguenti parti sono necessarie per completare con successo questo tutorial:

1) Il telaio: telaio 450 F a 4 assi

2) Il trasmettitore e il ricevitore: Flysky FS-i6X

3) Il Raspberry Pi: scheda madre Raspberry Pi 3 modello B

4) La fotocamera: PiCamera

5) Il microcontrollore: Crius MultiWii SEV2.6

6) FTDI: Convertitore FTDI da USB a TTL/FT232

7) Fili piccoli: Elegoo 120 pezzi Multicolore Dupont Wire

8) I motori (x4): motore brushless Liobaba 1100KV 2-4S

9) Gli ESC (x4): ESC senza spazzole 30A firmware ESC senza spazzole con UBEC 5V 3A

10) La batteria: batteria LiPo HRB 11,1 V 5000 mAh 3S 50C-100C

11) I connettori: connettori placcati in oro da 3,5 mm (x4) e Artrinck XT-60 60A/100A maschio femmina

12) Le eliche (x3): FidgetGear 10x4.5 Elica (Blu)

13) Il pad di montaggio del controller di volo: pad di montaggio del controller di volo

14) Alcune guaine termorestringenti: Tubo termoretraibile - SODIAL

15) Fili: cavo 16GA

16) Il saldatore: kit saldatore Holife, strumento di saldatura a temperatura controllata regolabile da 60 W 110 V

Opzionale

  • Un cicalino: monitor a bassa tensione Venom per batterie LiPO da 2S a 8S
  • Un supporto/rack per il Pi e il controller di volo: Box Storage Case per Raspberry Pi
  • Migliora la tua esperienza di saldatura con: Elenco Helping Hands e 60-40 Tin Lead Rosin Core Solder

Il costo TOTALE di tutte queste parti dovrebbe essere 450,71 CAN$.

Passaggio 3: parti di saldatura e fissaggio sul telaio

Parti di saldatura e fissaggio sul telaio
Parti di saldatura e fissaggio sul telaio
Parti di saldatura e fissaggio sul telaio
Parti di saldatura e fissaggio sul telaio
Parti di saldatura e fissaggio sul telaio
Parti di saldatura e fissaggio sul telaio

Due parti necessitano di saldatura:

  1. Gli ESC (non hanno connettori alle estremità)
  2. La scheda di distribuzione dell'alimentazione (nel nostro caso integrata nel telaio)

Usa i connettori tx femmina sui fili che hai aggiunto alla scheda di distribuzione, i connettori tx maschio sui fili laterali della scheda di distribuzione degli ESC e i connettori dorati da 3,5 mm sui fili laterali del motore degli ESC. Non dimenticare di aggiungere la guaina termoretraibile per isolare (non vogliamo vedere nessun filo scoperto).

Consiglio per la saldatura:

  • Utilizzare la punta del ferro piatto di medie dimensioni (fornita nel kit di saldatura) e riscaldare il saldatore a 400 gradi C.
  • Pulisci spesso la punta del filo di saldatura con la spugna ad acqua.
  • Sciogli prima un po' di saldatura sulle due superfici che vuoi collegare, quindi incollale insieme e aggiungi altra saldatura.

Per maggiori dettagli su come saldare il tutto, non esitare a dare un'occhiata al nostro sito web.

Fissare le parti sul telaio:

  1. Utilizzare due viti per fissare i motori all'estremità di ciascun braccio.
  2. Fissare il supporto dell'elettronica sul telaio con dadi e bulloni.
  3. Fissare il Pi sul supporto con dadi e bulloni.
  4. Attacca un supporto di montaggio (per assorbire le vibrazioni) sulla parte superiore del supporto e attaccaci il Multiwii assicurandoti che sia esattamente al centro del telaio e con la freccia che punta tra due bracci dello stesso colore.
  5. Attaccare il ricevitore al supporto con del velcro.
  6. Metti gli ESC su ogni braccio con la fascetta.
  7. Utilizzare le cinghie per fissare la batteria al livello inferiore del telaio.
  8. Forare le eliche e montarle sui motori con l'aiuto dell'apposito bullone in dotazione al motore

Passaggio 4: le connessioni

Le Connessioni
Le Connessioni
Le Connessioni
Le Connessioni
Le Connessioni
Le Connessioni

Per il destinatario:

  • Collega i pin dell'acceleratore sul MultiWii al canale 3 del ricevitore.
  • Collegare i pin Roll al canale 1 sul ricevitore.
  • Collega i pin Pitch al canale 2.
  • Collega i pin di imbardata al canale 4.
  • Collegare Ausiliario 1 al canale 5.

Per gli ESC:

Con Multiwii rivolto in avanti e con il filo nero del connettore di comando dell'ESC sul pin inferiore del Multiwii;

  • Collega l'ESC in alto a sinistra a D3.
  • Collegare l'ESC in alto a destra a D10.
  • Collega l'ESC in basso a destra a D9.
  • Collegare l'ESC in basso a sinistra a D11.

Per il Pi:

  • Collega la PiCamera.
  • Collega l'FTDI a un adattatore mini-USB/USB e collegalo al Pi, collega anche i pin FTDI o i pin FTDI del MultiWii.
  • Collega un pin - e + del MultiWii a un pin GPIO 5V e terra del Pi.

Per i motori

Per impostazione predefinita, i motori ruotano in senso antiorario (CCW). Quindi per i motori in alto a sinistra e in basso a destra, è necessario invertire il collegamento dei fili con l'ESC (il nero con il rosso e il rosso con il nero) quindi si avrà un senso orario (CW).

Passaggio 5: configura tutto

Configura tutto
Configura tutto
Configura tutto
Configura tutto
Configura tutto
Configura tutto
Configura tutto
Configura tutto

Rimuovere le eliche per i seguenti passaggi.

Programmazione degli ESC:

Il controller elettronico della velocità controlla il motore e quindi sono disponibili molte opzioni e spetta a te personalizzare il tuo ESC in modo che si comporti come desideri.

Rimuovere tutti i cavi collegati al ricevitore.

Per ogni ESC:

  1. Collegare un solo ESC all'alimentazione (al quadro di distribuzione nel nostro caso) e assicurarsi che la batteria sia scollegata.
  2. Metti i pin ESC nel canale del motore del ricevitore (nel nostro caso il canale 3).
  3. Accendi il tuo trasmettitore.
  4. Metti l'acceleratore al massimo sulla tua trasmittente.
  5. Alimentare la scheda di distribuzione collegandovi la batteria. È inoltre possibile utilizzare alcune clip a coccodrillo e collegare direttamente la batteria all'ESC.
  6. Dopo alcuni segnali acustici, dovresti sentire un tono musicale con 4 segnali acustici. Dopo questa prima musica metti l'acceleratore al minimo sulla tua trasmittente.
  7. Attendere conferma dall'UBEC, data da un beep.
  8. Chiudere il trasmettitore.
  9. Rimuovere l'alimentazione (scollegare la batteria Li-Po)

Per provarlo:

  1. Accendere il trasmettitore con la posizione del motore al minimo.
  2. Collega la batteria.
  3. Aumentare gradualmente l'acceleratore alla massima potenza. Il motore dovrebbe girare più velocemente quando si aumenta l'acceleratore.

Configurazione della scheda di controllo di volo:

Per questo passaggio puoi rimuovere il cavo USB dell'FTDI sul Pi e inserirlo nel tuo computer, che sarà più comodo per programmare la scheda.

  1. Scarica il software Arduino sul tuo computer tramite il sito web.
  2. Scarica l'ultima versione del firmware multiwii ed estrailo sul tuo computer.
  3. Andate nella cartella MultiWii precedentemente estratta, quindi aprite MultiWii.ino che avvierà Arduino.
  4. Vai al file config.h in Arduino, rimuovi // davanti a #define QUADX per impostare il tipo di configurazione del tuo multirotore e davanti a #define CRIUS_SE_v2_0 per scegliere il tipo di scheda.
  5. Quindi vai in Strumenti -> Scheda -> e seleziona Arduino Pro o Pro Mini e assicurati in Strumenti -> Processore -> che sia selezionato ATMmega328P (5V, 16MHz).
  6. L'ultima configurazione che dobbiamo fare prima di caricare sulla scheda è andare in Strumenti -> Porta -> selezionare la porta del tuo MultiWii (COM3 per noi).
  7. Clicca su verifica e poi su carica.
  8. Mentre il codice si sta caricando su Crius MultiWii SE v2.6, dovresti vedere le luci lampeggiare sia sulla scheda controller che sulla scheda FTDI.

Calibrare i sensori sulla scheda di controllo di volo:

  1. Vai alla cartella MultiWiiConf presente nella cartella MultiWii scaricata in precedenza dal loro sito web.
  2. Quindi vai su -> cartella application.windows32 -> fai doppio clic sull'applicazione MultiWiiConf. (Nota che anche se avessi Windows a 64 bit solo l'app a 32 bit sembra funzionare).
  3. È necessario selezionare la porta a cui è collegato il controller di volo (in questo caso COM3).
  4. Fare clic su Leggi.
  5. Fare clic su Avvia.
  6. Appoggia la tavola sulla scrivania e poi clicca su Calib_acc.
  7. Fare clic su Calib_mag e quindi è necessario ruotare la scheda in tutte le direzioni per 30 secondi il più velocemente possibile. Dovresti vedere picchi in tutto il grafico.

Per provarlo:

Ruota la tavola sull'asse di beccheggio, rollio e imbardata e verifica se ha senso ciò che i sensori mostrano sul software

Configurazione del trasmettitore (telecomando):

Innanzitutto, puoi verificare quale stick controlla quale canale nel menu Display:

  1. Prima di avviare il controller, assicurati che tutti gli interruttori siano in alto e che lo stick del motore (stick sinistro) sia abbassato.
  2. Avvia il controllore.
  3. Tieni premuto il pulsante OK.
  4. Vai in Impostazioni, quindi Visualizza.
  5. Puoi muovere le levette per vedere quale canale reagisce.

Prima di proseguire, seleziona un modello e un nome:

  1. Vai in Sistema-> Seleziona modello -> seleziona un modello.
  2. Vai in Sistema -> Nome modello. E dagli un nome. Tieni premuto Annulla per salvare le modifiche.
  3. Vai in Sistema-> Tipo seleziona e impostalo come aereo o aliante anche se è un quadrirotore.
  4. Imposta il taglio nel menu Subtrim. Quando gli stick sono in posizione neutra è necessario che i canali (vedi nel menu Display) siano a 0% per imbardata, beccheggio e rollio.
  5. Tieni premuto Annulla per salvare le tue impostazioni.

Successivamente, impostiamo le impostazioni di Failsafe:

Questo assicura che quando il drone si allontana dal controller e perde il segnale, tutti i controlli vanno in posizione neutra. Quindi, per fare ciò, dobbiamo impostare i canali 1, 2 e 4 su 0% e attivare il failsafe su di essi tramite il menu Failsafe. Dobbiamo anche attivare il failsafe sull'acceleratore e impostarlo al 100%.

Puoi anche utilizzare gli altri interruttori sul controller attivandoli in Sistema-> Aux. interruttori.

Puoi avere maggiori dettagli su questa sezione sul nostro sito web.

Passaggio 6: streaming live

Trasmissione in diretta
Trasmissione in diretta
Trasmissione in diretta
Trasmissione in diretta
Trasmissione in diretta
Trasmissione in diretta

Il Raspberry Pi è un computer e ciò che puoi fare con un computer volante limita solo la tua immaginazione.

Per trasmettere in diretta:

  1. Abilita PiCamera. Per fare ciò, avvia il Pi e collega un mouse e un monitor ad esso. Fare clic sul logo rasbian in alto a sinistra, andare nelle preferenze, quindi Configurazione Raspberry Pi e quindi nella scheda interfacce fare in modo che la fotocamera sia selezionata come abilitata. Quindi fare clic su ok.
  2. Scarica lo script (fonte del codice: tutorial casuali per nerd) e mettilo nella tua cartella home.
  3. Esegui lo script digitando ''python3 rpi_camera_surveillance_system.py'' sul terminale.

Una volta che lo script è in esecuzione, puoi accedere al tuo server web di streaming video all'indirizzo: https://:8000. Sostituisci con il tuo indirizzo IP Raspberry Pi, nel mio caso

Se non conosci il tuo indirizzo IP Pi, puoi conoscerlo digitando ifconfig nel terminale che ti dà l'indirizzo.

Puoi accedere allo streaming live tramite qualsiasi dispositivo connesso alla stessa rete del Raspberry Pi. Devi solo aprire il browser.

Puoi anche avviare questo programma dal tuo smartphone. Devi solo installare l'app Terminus (se hai un iPhone).

Per avviare lo stream direttamente quando il Pi è alimentato (quindi quando il tuo drone è acceso) digita sul terminale:

sudo nano /home/pi/.bashrc

Quindi vai all'ultima riga e aggiungi, echo In esecuzione all'avvio

sudo python3 /home/pi/ rpi_camera_surveillance_system.py

sudo reboot

Salva il file premendo Ctrl+X, quindi digita Y e fai clic su Invio.

Congratulazioni, il tuo live streaming è ora impostato! Puoi usarlo per spiare i tuoi vicini o fare qualche corsa FPV!

Passaggio 7: l'arte della sintonizzazione PID

Sei pronto per il tuo primo volo. La prima cosa che dovresti fare è provare il tuo drone senza elica per vedere se tutto risponde bene.

Quindi, puoi aggiungere le tue eliche e iniziare molto lentamente per aumentare l'acceleratore per vedere se riesci a decollare.

Il tuo drone probabilmente oscilla lentamente, vibra o i motori fischiano. Ciò significa che è necessario configurare le impostazioni PID!

Questa parte richiede un po' di tempo se vuoi un drone molto stabile che risponda bene ai tuoi comandi. L'impostazione del PID è soggettiva, quindi dipende da te come vuoi che il tuo drone voli. Ecco la procedura:

  1. Inizia con un I basso su pitch and roll (0.01) e aumenta P finché non vedi oscillazioni ad alta frequenza e riducilo all'ultimo valore.
  2. Quindi, aumenta I su beccheggio e rollio con incrementi di 0,01 fino a quando non vedi di nuovo vibrazioni o senti che il tuo drone è rigido e non risponde. In genere l'impostazione I può aiutarti se riscontri dislivelli e drifting. Contrasta le perturbazioni sul tuo sistema (il drone).
  3. Abbassa la tua P se hai visto oscillazioni ad alta frequenza.
  4. Diminuisci la tua D se il tuo drone sembra troppo smorzato (basso per rispondere).

Per l'asse di imbardata, in genere puoi lasciarlo di default ma se senti che il tuo drone va alla deriva nell'asse di imbardata, puoi aumentare I.

Passaggio 8: funzione Seguimi

Funzione Seguimi
Funzione Seguimi

Un drone autonomo è fantastico, può volare e muoversi senza doversi preoccupare.

Il drone realizzato in questo tutorial ha la capacità di farlo elaborando i dati acquisiti dai suoi sensori.

Per implementare una funzionalità come il monitoraggio delle persone è necessario:

  1. Usa la fotocamera del drone per aiutarlo a prendere nota del suo ambiente.
  2. Utilizzare un algoritmo di visione artificiale per analizzare l'ambiente.
  3. Pianifica la traiettoria del drone.
  4. Comanda la direzione da seguire per il drone.

Più specificamente, la Pi Camera può fornire un flusso live di immagini al Raspberry Pi che è un computer con potenza sufficiente per eseguire alcuni algoritmi di visione artificiale.

Questi algoritmi possono rilevare una persona in un'immagine e analizzare la posizione di questa persona. L'algoritmo a cascata di Haar o le reti neurali profonde possono essere algoritmi utili per questo.

Pertanto, conoscendo la posizione della persona da seguire, è possibile pianificare come si muovono i motori e quale direzione prendere a seconda della posizione dell'oggetto tracciato nell'inquadratura. Ad esempio, se la persona da tracciare si trova a destra dell'inquadratura ripresa dalla Pi Camera, l'algoritmo comanda al drone di girare a destra.

Infine, una volta scelta la direzione che il drone dovrebbe seguire, il Raspberry Pi deve inviare un comando al Multiwii per consentire al drone di andare in quella direzione. Per fare ciò, l'MSP (Multiwii Serial Protocol) è utile per comunicare tra il tuo computer (il Pi) e il tuo controller di volo.

Qui puoi trovare in allegato un modo per codificarlo.

Sul nostro sito web è stato mostrato un metodo più robusto che utilizza tensorflow e reti neurali profonde per il rilevamento delle persone.

Puoi anche immaginare molti altri modi per migliorare il tuo drone autonomo, come fargli scattare una foto ogni volta che vede un albero o un animale. È anche possibile implementare l'evitamento degli oggetti, basta impostare il drone per fermare la sua corsa se è più vicino di una distanza specificata da un oggetto.

Inoltre, puoi imparare sul sito web come collegare un LED al Pi e accenderlo quando il drone rileva qualcuno da seguire!

Passaggio 9: buon volo

Avvia il tuo drone e goditi il volo.

Se vuoi andare oltre e implementare il monitoraggio delle persone sul tuo drone, puoi consultare il nostro sito Web per un tutorial su questo.

Grazie per aver preparato questo tutorial!

Consigliato: