Sto lavorando a un quadrotore. Conosco la sua posizione - , dove vorrei andare - posizione target b , e da quel momento calcolo un vettore c - un vettore unitario che mi porterà al mio obiettivo:
c = b - a
c = normalize(c)
Poiché un quadrotore può muoversi in qualsiasi direzione senza rotazione, quello che ho cercato di fare è
- ruotare di dall'angolo di imbardata dei robot
- dividerlo nei suoi componenti
- passali al robot come angoli di rollio e beccheggio.
Il problema è che se l'imbardata è 0 ° ± 5, allora funziona, ma se l'imbardata è vicina a +90 o -90 non riesce e si dirige verso direzioni sbagliate. La mia domanda è: mi sto perdendo qualcosa di ovvio qui?