Un quadricottero contiene (tra le altre cose) due algoritmi separati e indipendenti: un algoritmo di stima dell'atteggiamento e un algoritmo di controllo.
L'algoritmo di stima dell'atteggiamento calcola le informazioni sull'orientamento del quadricottero: gli angoli di rollio, beccheggio e imbardata.
L'algoritmo di controllo è responsabile della guida dei motori in modo tale che l'orientamento del quadricottero corrisponda alle aspettative del pilota (o del software autopilota). Questo algoritmo è ciò che leggerebbe gli angoli quadricottero stimati (dall'algoritmo di stima dell'atteggiamento) e cambierebbe la velocità dei motori per tentare di abbinare gli angoli desiderati. I PID sono un algoritmo di controllo ben adattato e comune per i quadricotteri.
Il blocco del gimbal è un fenomeno che può verificarsi nell'algoritmo di stima dell'atteggiamento. Non ha nulla a che fare con l'algoritmo di controllo. Pertanto, non è necessario ESC, motori o eliche per testare il blocco del gimbal: è possibile modificare il codice per visualizzare gli angoli di rollio, beccheggio e imbardata e verificare che i valori corretti vengano calcolati mentre si sposta manualmente il quadricottero. Potresti riuscire a farlo con il quadricottero collegato al tuo computer, tramite Bluetooth o usando altri metodi a seconda della tua piattaforma.
Se gli angoli sono calcolati correttamente non è necessario preoccuparsi dei quaternioni. Se non vengono calcolati correttamente, i quaternioni potrebberoAiutarti. L'algoritmo di stima dell'atteggiamento deve fornire 3 angoli che l'algoritmo di controllo deve utilizzare, tuttavia potrebbe utilizzare una rappresentazione interna diversa come quaternioni o matrici 3x3. In tal caso, convertirà comunque le informazioni sull'atteggiamento in angoli in modo da fornire dati utilizzabili all'algoritmo di controllo. In genere, i quaternioni non sono intuitivi ma computazionalmente efficienti. Questo li rende adatti a piattaforme lente come Arduino. Le matrici o gli angoli possono essere una scelta più semplice per un hardware più veloce. Se hai bisogno che io elabori una soluzione o l'altra, per favore fatemelo sapere, ma sarebbe abbastanza prematuro fornire dettagli in questa fase poiché non sono convinto che sia necessario implementare i quaternioni.
Infine, se gli angoli sono calcolati correttamente, il modo per realizzare il circuito quadricottero è controllare la frequenza angolare anziché l'angolo. Se i tuoi bastoncini rappresentano l'angolo del quadricoptero non c'è modo di farlo fare un ciclo completo: prova a visualizzare la posizione dei bastoncini mentre il quadricoptero si avvolge e dovresti capire perché. Tuttavia, se le levette controllano la frequenza angolare, allora puoi controllare la velocità con cui scorre.
Buona fortuna con il vostro progetto!
Nota: per semplicità non ho menzionato l'opzione teorica di manipolare i dati come matrici o quaternioni sia nell'algoritmo di stima dell'atteggiamento che nell'algoritmo di controllo. Non ho mai visto un quadricottero implementare tali algoritmi.