Introduzione alla configurazione del software di bordo di un multicottero (1)
1. www.virtualrobotix.com
presenta :
Introduzione alla
configurazione di bordo del
multicottero
di Emile Castelnuovo
2. Introduzione : il multirotore
Cos'è un multirotore
Principio di funzionamento
Esempi di configurazioni
3. Introduzione : cos'è un
multirotore
Un multirotore si differenzia dagli elicotteri
standard per la presenza di 3 o più eliche a
passo fisso.
Necessita di una centralina dedicata per il
controllo del volo e della stabilizzazione.
E' un velivolo di semplice costruzione
meccanica, ma di complessa gestione dinamica.
4. Introduzione : principio di
funzionamento
Il multirotore si stabilizza agendo solo sulla
velocità dei suoi motori-eliche, quindi nessuna
parte meccanica in movimento (ad esclusione
del motore stesso).
Eccezione: il Tricottero che richiede un servo
per il movimento del motore di coda.
Nel multirotore esistono due tipi di eliche:
Destre e Sinistre o più comunemente Rotanti
(spingenti) e controrotanti (traenti).
6. Introduzione : principio di
funzionamento 3
La stabilizzazione avviene su tre assi
Gli assi X e Y sono controlati variando la
velocità di motori con rotazioni opposte.
Asse Z controllato variando la velocita di motori
con la stessa rotazione.
7. Introduzione : principio di
funzionamento 3
Ogni accoppiata motore-
elica produce due
componenti di forza utili a
governare il multirotore:
SPINTA e MOMENTO
TORCENTE (coppia)
Regolando queste due
forze si può spostare il
multi in qualsiasi
direzione nello spazio
8. Introduzione : principio di
funzionamento 4
Per mantenersi in
equilibrio sull'asse Z
(YAW o IMBARDATA) le
coppie di motori 1-3 e 2-4
devono avere velocità
angolari uguali.
Per i rimanenti assi X e Y
(ROLL e PITCH o Rollio e
Beccheggio) la somma
delle spinte sui 4 motori
deve essere uguale.
9. Introduzione : principio di
funzionamento 5
Per il movimento si mantiene un
angolo di ROLL o PITCH diverso
da 0
Nell' esempio controllando la
velocità dei motori 1-3
(aumentando 3 e diminuendo 1) il
momento rimane costante ma
cambia l'inclinazione facendo
muovere il Quad verso la Y
Per la rotazione si modificano le
velocità delle due coppie in modo
che la differenza di momento
torcente faccia ruotare il quad. La
somma delle forze però deve
rimanere costante quindi si agisce
aumentando la velocità di una
coppia e diminuendo l'altra
10. Introduzione : principio di
funzionamento 5
La Matrix Table
Matrice che identifica la percentuale
17. La centralina di controllo 1
Per funzionare un multirotore DEVE
necessariamente disporre di una centralina di
controllo con microcontrollore (MCU).
La VRBRAIN usa un ARM a 32bit della ST.
Molto popolari son gli Arduino a 8 bit (es.
Arducopter)
La centralina si occupa di variare la velocità dei
motori ad alta velocità (250Hz per VRBRAIN,
100Hz per Arduino)
Operare un multirotore senza centralina è
impossibile
18. La centralina di controllo 2
Le MCU devono disporre di almeno 4 ingressi e 4
uscite PWM per poter controllare un Quadricottero
I 4 ingressi base sono Roll, Pitch, Throttle, Yaw
(Rollio, Beccheggio, Gas, Imbardata)
I rimanenti ingressi servono per le modalità di volo
Le uscite sono 1:1 con i motori/eliche.
Le uscite generano degli impulsi (PWM) che
comandano gli ESC
19. Gli ESC 1
Altro elemento molto importante per una buona
stabilità di volo è l' ESC-
E' una scheda per il controllo di motori brushless
(quelli tipicamente usati nei multirotori)
Un buon ESC deve poter modificare la velocità
del motore ad una frequenza elevata (~400Hz)
e non deve in nessun modo filtrare l'input per
evitare ritardi nelle correzioni motore.
20. Gli ESC 2
Questo è un esempio di cosa può fare un buon
firmware per ESC
21. La radio
Per controllare un Multirotore serve una radio
tipo RC.
Con alcuni sitemi si può usare un Joystick (Fly
By Wire) o addirittura un PC.
Le comuni radio RC generano un segnale PPM
o PWM
Le più comuni generano segnali PWM (un cavo
per canale) mentre quelle di fascia medio alta
solitamente generano segnali PPM (un cavo per
n-canali)
22. I sensori di bordo
Esistono 4 tipi di sensori che sono alla base del
volo autonomo di un multirotore:
■ Giroscopio (essenziale)
■ Accelerometro (opzionale)
■ Bussola (opzionale)
■ GPS (opzionale)
Grazie alla tecnologia MEMS quasi tutti i
sensori possono essere inseriti in un unico chip
23. I sensori di bordo 2
I sensori combinati su di una scheda
compongono quella che in inglese viene
chiamata IMU (Inertial Measurement Unit)
VRBRAIN:
MPU6000 (6 assi di misurazione) combina un
accelerometro a 3 assi e un giroscopio a 3 assi
HMC5883 bussola digitale su 3 assi
GPS (Mediatek o UBLOX)
24. I sensori di bordo 3
I giroscopi misurano la velocità angolare su 3
assi. Unità di misura gradi/s
Gli accelerometri misurano la forza di gravità
su 3 assi. Unità di misura 1G (9.8 m/s2)
La bussola digitale misura il nord magnetico sui
tre assi (°)
25. I sensori di bordo 4
Con una board appoggiata al tavolo i sensori
dovranno fornire (assi x,y,z):
Giroscopi : 0,0,0
Accel.: 0,0,1G
Con il muso verso l'alto i sensori forniranno
come output:
Giroscopio: 0,0,0
Accel.: 1G,0,0
26. I sensori di bordo 5
Gli accelerometri sono rumorosi, ma
tendenzialmente resistenti agli sbalzi di calore
I Giroscopi sono molto precisi, ma sensibili alle
vibrazioni e ai cambi repentini di temperatura
Le bussole sono molto sensibili ai campi
magnetici e oggetti metallici in genere.
27. La calibrazione dei sensori 1
Tutti i chip escono dalla fabbrica con un offset
leggermente differente.
In ogni sistema di navigazione inerziale è
fondamentale procedere con una corretta
calibrazione per registrare lo zero.
Il codice della VBRAIN procede alla
calibrazione dei GYRO e degli ACC. in fase di
startup.
La calibrazione della bussola deve essere fatta
almeno una volta.
28. La calibrazione dei sensori 2
Dato che i giroscopi sono sensibili ai cambi di
temperatura, l'ideale prima di volare è di
lasciare che i chip si adeguino alla temperatura
esterna soprattutto in inverno.
In alternativa si dovrebbe comprendere nel
software un sistema per la calibrazione
dinamica in base alla temperatura.
Pro: nessuna calibrazione ulteriore
Contro: lungo processo di messa punto e
complessità di gestione.
29. La calibrazione dei sensori:
Accelerometri (livellamento)
Il level (o livellamento) è quella procedura che
serve per registrare l'offset degli accelerometri
sull'asse orrizzontale.
Molto importante per avere un multirotore
"fermo".
Esempio da planner.
30. La calibrazione dei sensori: i
giroscopi
La calibrazione dei giroscopi deve essere
effettuata con il sensore più fermo possibile
Serve ad ottenere l'offset rispetto allo zero di
fabbrica.
E' essenziale per avere un volo fluido e senza
sobbalzi.
31. La calibrazione dei sensori: la
bussola
La calibrazione della
bussola è fondamentale
per le funzioni di
navigazione automatica.
Non è fondamentale per il
volo stabilizzato manuale.
32. La calibrazione dei sensori: la
bussola
Una perfetta calibrazione permette di eliminare
le interferenze magnetiche generate dai motori
e da apparecchiature elettriche.
33. L'orientamento del corpo
nello spazio
DCM (Direction Cosine Matrix)
Usa le rotazioni di matrice per calcolare la
posizione dell'oggetto relativa ad un sistema di
riferimento fisso
Es. il multirotore in riferimento alla terra
QUATERNIONS
Sono un'estensione dei numeri complessi e
servono per poter descrivere le rotazioni in uno
spazio a dimensione 4
34. L'orientamento del corpo
nello spazio
Il risultato dei due
precedenti sistemi viene
poi trasformato in
"angoli di eulero"
Gli angoli di Eulero sono
utili per comprendere l'
inclinazione del corpo
rispetto ad un sistema
fisso utile nelle funzioni
automatiche di
navigazione