¿Cómo calcula o actualiza la posición de un robot de accionamiento diferencial con sensores incrementales?
Hay un sensor incremental conectado a cada una de las dos ruedas diferenciales. Ambos sensores determinan la distancia resp. su rueda ha rodado durante un tiempo conocido .Δ r i g h t Δ t
Primero, supongamos que el centro entre ambas ruedas marca la posición del robot. En este caso, se podría calcular la posición como:
"Derivando" esas ecuaciones bajo el supuesto de que ambas ruedas ruedan en línea recta (lo que debería ser aproximadamente correcto para distancias pequeñas) obtengo:
Donde es el ángulo de orientación del robot. Para el cambio de este ángulo encontré la ecuación
Donde es la distancia entre ambas ruedas.
Debido a que y dependen de , me pregunto si primero debo calcular la nueva agregando o si prefiero usar la \ theta "antigua" . ¿Hay alguna razón para usar uno sobre el otro?
Entonces, supongamos que el centro entre ambas ruedas no marca la posición del robot. En cambio, quiero usar un punto que marque el centro geométrico del cuadro delimitador del robot. Entonces e cambian a:
"Derivando" el primero da:
Ahora hay una dependencia en . ¿Es esta una razón para usar el "nuevo" ?
¿Existe algún método mejor para hacer una actualización simulada de posición y orientación? ¿Puede estar usando números complejos (el mismo enfoque que con los cuaterniones en 3D?) O coordenadas homogéneas?
fuente
fuente