Guida Base per Ardupilot: Sistema per veicoli Autonomi Versatile, Sicuro, Aperto.
Cari lettori, con questo articolo noi del Blog di AttaccoFPV By Rhobby FPV diamo inizio a un progetto ambizioso: costruiremo un drone completamente autonomo basato sul sistema ArduPilot. Pubblicheremo una serie di articoli per mostrarvi come usare ArduPilot e configurare il vostro drone, simile a quanto fatto in passato con i sistemi Betaflight e iNav.
Per chi non lo conoscesse, ArduPilot è un sistema open-source che permette di creare e controllare veicoli autonomi e sicuri. In costante aggiornamento grazie al contributo della comunità e di partner commerciali, ArduPilot è uno dei primi software open-source per veicoli radiocomandati autonomi, attivo fin dal 2007. Nonostante nel mondo FPV se ne parli poco, è uno dei software di volo più sicuri e avanzati per il controllo di droni e veicoli autonomi, grazie alla sua lunga esperienza e alla solidità del progetto.
Scelta della scheda di controllo
Per costruire un drone con ArduPilot, serve una scheda di controllo del volo compatibile, chiamata “Autopilot”. ArduPilot è open-source e originariamente funzionava solo su hardware libero, il che limitava il numero di schede compatibili, soprattutto per i quadricotteri. Tra le schede più utilizzate troviamo le Pixhawk di Holybro, che supportano diverse periferiche e permettono progetti complessi.
Come vedete nell’immagine, queste schede sono diverse da quelle per Betaflight: hanno diverse porte per i protocolli di comunicazione seriale (I2C, CAN, SPI), che permettono di collegare vari tipi di hardware. Lo svantaggio principale è il costo elevato e le dimensioni, non ideali per droni di piccole dimensioni.
Grazie al processore Arm Cortex M7 H743 di STMicroelectronics, però, ora molti produttori hanno potuto creare schede compatibili con ArduPilot a un costo più accessibile. Questo processore offre più potenza e memoria rispetto alle schede tradizionali, permettendo compatibilità con modelli di marche come Speedybee, Matek, Mamba e altre. Nel nostro progetto useremo la scheda Foxeer H743, che potete trovare a questa pagina,di alta qualità e dotata di componenti come il giroscopio MPU6000, un clock di 32kHz, sei porte UART serial, due porte servo e otto canali analogici I/O per il controllo di motori.
Per sfruttare al meglio le caratteristiche di Ardupilot abbiamo associato alla scheda controllo volo un regolatore ESC che sfrutti il firmware BLHELI 32, come la scheda Foxeer Reaper 65A che trovate a questo link. Sappiamo ormai tutti che il firmware BLHELI 32 non è più in sviluppo ma, non avendo ancora la conferma che AM32 sia utilizzabile con Ardupilot, abbiamo preferito rimanere legati al passato anche per poter sfruttare il protocollo DSHOT 1200.
Installazione del software di configurazione
Acquistato l’Autopilot, il passo successivo è configurare una base di controllo a terra (un computer o un tablet) su cui installare il software di gestione ArduPilot. Esistono vari software ma il più utilizzato è Ardupilot, sistema che potete scaricare a questo link. Il programma si installa come qualsiasi altro software per Windows, o altro sistema operativo, e l’installer include già anche i driver per collegare la scheda Autopilot tramite USB. Vi consigliamo quindi di riavviare il sistema dopo aver fatto l’installazione per essere certi che tutti i driver vengano riconosciuti e inizializzati.
Quando avviate il programma vi troverete la schermata che vi riportiamo nell’immagine qua sopra. Nella parte superiore a destra, trovate i menù per la configurazione e i comandi per collegare il drone al computer, via USB, oppure tramite connessione radio (protocollo MAVLINK) o WiFi. Per la prima volta usate l’USB per collegare la vostra scheda controllo volo. Una volta che il computer avrà riconosciuto la scheda e l’avrà inizializzata, occorre aprire il pannello di gestione dei dispositivi e impostate la corretta velocità della porta seriale per una connessione stabile.
Una volta sistemata la connessione della scheda, per installare il firmware Arducopter, collegate la scheda al computer in modalità DFU Bootloader. Se il computer non la riconosce, aggiornate i driver usando i programmi Zadig e ImpulseRC Driver Fix (come si fa per Betaflight). Trovate maggiori informazioni su questi software in questo nostro articolo.
Installazione del firmware ArduPilot
Il primo collegamento e l’aggiornamento della scheda controllo volo è un processo che vi consigliamo di fare prima di iniziare il montaggio dei componenti sul drone e prima di saldare o collegare qualsiasi altra periferica alla scheda stessa. Una volta che avrete fatto il primo aggiornamento e la prima configurazione base su Mission Planner, potrete procedere con il collegamento delle varie periferiche e potrete poi anche aggiornare la scheda controllo volo senza dover rimuovere i vari collegamenti.
Come già accennato, esistono alcune schede FC Autopilot che escono già di fabbrica con il firmware ardupilot installato. Altre schede, invece, nascono con firmware diversi preinstallati e occorre obbligatoriamente eseguire un aggiornamento particolare che vi spiegheremo qua di seguito. Inoltre vi ricordiamo che, a seconda del veicolo che volete realizzare, esistono vari tipi di firmware legati al mondo di Ardupilot. Nel nostro caso dovremmo focalizzarci sul firmware Arducopter che è quello dedicato ai droni e agli elicotteri.
Se avete una scheda Open Hardware già compatibile, come ad esempio la PixHawks, dopo averla messa in modalità DFU, aprite Mission Planner, andate nel menù Install Firmware, selezionate il modello e avviate l’installazione dell’ultimo firmware disponibile. Ricordatevi di non scollegare la scheda fino a quando l’installazione non è completata.
Se invece avete una scheda di un marchio specifico, come nel nostro caso Foxeer, è probabile che ci sia il firmware Betaflight preinstallato.
Dovrete installare manualmente Arducopter verificando prima la compatibilità del modello in questo elenco di cartelle. Una volta individuato il firmware corretto, preso dalla cartella col nome del vostro Flight Controller, individuate il file con l’estensione .Hex e fate il download. In alcuni casi vi potrete trovare due cartelle una delle quali riporta l’indicazione Heli. Quella cartella contiene il firmware per elicotteri mentre voi dovrete scaricare la versione “no Heli” che si riferisce ai droni.
Nel momento in cui scriviamo questo articolo l’ultima versione stabile del firmware arducopter è la versione 4.5.7.
Quando avrete scaricato il file .hex dovrete fare il flash tramite Betaflight Configurator selezionando “Aggiorna Firmware”. Nella pagina poi dovrete caricare il file selezionando “Firmware locale” e ricordando di mantenere attivo il flag “Cancella completamente il Firmware”. Una volta installato, non provate a riconnettere il flight controller a Betaflight. Semplicemente chiudete il configuratore di Betaflight e aprite Mission Planner per usare la scheda con ArduPilot.
Configurazione del drone con Mission Planner
Ora che avete installato il firmware, collegate la scheda al computer tramite USB e premete Connect per iniziare la configurazione. Se la connessione è lenta o fallisce, verificate che la scheda non sia ancora in modalità DFU Bootloader, che il computer la rilevi correttamente e che il firmware ArduPilot sia stato installato senza problemi. Se al momento della connessione al mission planner dovreste visualizzare una schermata Pop Up che vi propone un aggiornamento firmware allora procedete pure senza timore con la modalità spiegata per le schede già compatibili con Ardupilot. Da questo momento il vostro Flight Controller è a tutti gli effetti un Autopilot quindi non dovrete più fare il passaggio attraverso Betaflight.
Per ora ci fermiamo qui. Questi sono tutti passaggi che richiedono un po’ di tempo e pratica per essere appresi al meglio.
Vi ricordiamo che esiste una guida molto completa di Ardupilot – Arducopter che potete trovare visitando questa pagina. Inoltre potrete trovare informazioni aggiuntive riguardo le schede di controllo volo FC da usare come Autopilot visitando questa pagina.
Continuate a seguirci sul blog per il prossimo articolo, in cui approfondiremo la configurazione del drone tramite Mission Planner.