Come si calcola o si aggiorna la posizione di un robot con azionamento differenziale con sensori incrementali?
C'è un sensore incrementale attaccato a ciascuna delle due ruote differenziali. Entrambi i sensori determinano la distanza risp. ha rotolato la ruota durante un tempo noto .Δ r i g h t Δ t
Innanzitutto, supponiamo che il centro tra entrambe le ruote indichi la posizione del robot. In questo caso, si potrebbe calcolare la posizione come:
"Derivando" quelle equazioni supponendo che entrambe le ruote ruotassero in linea retta (che dovrebbe essere approssimativamente corretta per le piccole distanze) ottengo:
Dove è l'angolo di orientamento del robot. Per il cambio di questo angolo ho trovato l'equazione
Dove è la distanza tra entrambe le ruote.
Perché e dipendono , mi chiedo se devo prima calcolare la nuova aggiungendo o se devo invece utilizzare il "vecchio" ? C'è qualche motivo per usarne uno sopra l'altro?
Quindi, supponiamo ora che il centro tra le due ruote non segni la posizione del robot. Invece voglio usare un punto che segna il centro geometrico del rettangolo di selezione del robot. Poi ed modifica:
"Derivare" il primo dà:
Ora c'è una dipendenza da . È questo un motivo per usare il "nuovo" ?θ
Esiste un metodo migliore per eseguire l'aggiornamento simultaneo della posizione e dell'orientamento? Può usare numeri complessi (stesso approccio con i quaternioni in 3D?) O coordinate omogenee?