¿Cuál es un modelo adecuado para robots de dos ruedas?


30

¿Cuál es un modelo adecuado para robots de dos ruedas? Es decir, qué ecuaciones de movimiento describen la dinámica de un robot de dos ruedas.

Modelo de fidelidad variable son bienvenidos. Esto incluye modelos no lineales, así como modelos linealizados.


1
Esta pregunta parece muy amplia. Sería útil si vincula "ecuaciones de movimiento" a un artículo de Wikipedia (por ejemplo) que describe lo que es. Además, debe especificar el robot más específicamente. Por ejemplo, ¿hay ruedas pasivas? ¿Cuáles son los tipos de las dos ruedas? etc.
Shahbaz

1
¿Estilo de bicicleta o estilo segway? Deberías ser más específico.
Paul

Respuestas:


23

No hay mucha información aquí. Arreglemos las ruedas separadas por la distancia , y cada rueda tiene orientación θ i con respecto a la línea que las une. Luego, suponga que cada rueda se puede conducir independientemente con una velocidad angular v ibθivi .

Si las ruedas son manejadas independientemente, pero fijadas en dirección, , usted tiene algo así como un accionamiento diferencial (huellas del tanque). Vale la pena señalar que, suponiendo que las ruedas no se deslicen perpandicularmente a su orientación, puede resolver el movimiento de la base del robot en forma cerrada dados los comandos de velocidad que se fijan en un período de tiempo corto (como suele ser el caso con los robots con software controlar). El iCreate es una plataforma de este tipo, al igual que los pioneros más pequeños, y el Husky de Clearpath. Luego, el cambio en la orientación de la base, etiquetado como θ a continuación, se puede encontrar en forma cerrada.θ1=θ2=90θ

...

El modelo habitual para estas cosas, donde es la velocidad base y ω b es la velocidad angular de la base, es:vbωb

ωb=1

vb=12(v1+v2)
ωsi=1si(v2-v1)

Para un incremento de tiempo fijo, , puede encontrar el cambio en la orientación y la distancia lineal recorrida usando estos. Tenga en cuenta que el robot viaja a lo largo de un círculo en esta ventana de tiempo. La distancia a lo largo del círculo es exactamente δ t v b , y el radio del círculo es R =δtδtvsi . Eso es suficiente para conectarse a estas ecuaciones:segmentos circulares, particularmente la ecuación de longitud de cuerda, que describe la distancia que el robot se desplaza desde su ubicación original. ConocemosRyθ, resolvemos paraa.R=si2v1+v2v2-v1Rθuna

Asumiendo que el robot comienza con la orientación y la posición ( 0 , 0 ) y se mueve a lo largo de la ventana de tiempo δ t con velocidades v 1 (rueda izquierda) y v 2 (rueda derecha), su orientación será: θ 1 = δ t0 0(0 0,0 0)δtv1v2con posición: px=cos( θ 1

θ1=δtsi(v2-v1)
py=sin(θ1
pagsX=cos(θ12)(2Rpecado(θ12))
pagsy=pecado(θ12)(2Rpecado(θ12))

Tenga en cuenta que como el límite es p x = δ t v p y = 0v1v2=v

pagsX=δtv
pagsy=0 0

como se esperaba.

Actualizar por qué ?.

pagsX para que:

pagsX=doos(v2-v12si)2(siv1+v22(v2-v1))syonorte(v2-v12si)

pagsX=doos(v2-v12si)(v2+v1)2syonorte(v2-v12si)v2-v12si

Ahora tenga en cuenta que tenemos tres límites como v2v1.

doos(v2-v12si)1

(v2+v1)2v1==v2

syonorte(v2-v12si)v2-v12si1 (ver función sinc)

Esto está cubierto en Internet, pero puede comenzar aquí: http://rossum.sourceforge.net/papers/DiffSteer/ o aquí: https://web.cecs.pdx.edu/~mperkows/CLASS_479/S2006/ kinematics-mobot.pdf

Si las ruedas no están fijadas en la dirección, ya que puede variar la velocidad y la orientación, se vuelve más complicado. En ese sentido, un robot puede volverse esencialmente holonómico (puede moverse en direcciones y orientaciones arbitrarias en el plano). Sin embargo, apuesto por una orientación fija, terminas con el mismo modelo.

Hay otros modelos para dos ruedas, como un modelo de bicicleta, que es fácil de imaginar como establecer las velocidades y solo variar una orientación.

Eso es lo mejor que puedo hacer por ahora.


1
Tal vez llego un poco tarde pero no puedo ver por qué Px=dt*vsi v1 = v2. Tenemos sin(theta/2)como parte de la multiplicación por lo tanto, cuándo v1=v2 -> theta = 0, obtenemos sin(0/2)=0y como consecuencia Px = 0. ¿Qué me estoy perdiendo?
Long Smith

En la práctica, solo use las ecuaciones si θ0 0. Para responder a su pregunta, he actualizado la respuesta.
Josh Vander Hook

4

Si realmente quiere sumergirse en las matemáticas, aquí está el documento seminal que unificó y categorizó la mayoría de los modelos para robots con ruedas.


2
Lo siento, se desaconsejan las respuestas de solo enlace en StackExchange. ¿Podrías condensar el contenido de ese enlace en unos pocos párrafos y mantenerlo aquí (junto con el enlace real, por supuesto)? Esto ayuda a prevenir la pudrición del enlace.
Manishearth

Claro, lo haré tan pronto como tenga tiempo suficiente para hacerlo esta semana. Lo siento, no estaba al tanto de esta política y pensé que el enlace sería útil tal como está.
georgebrindeiro

Excelente papel, ¡gracias por el enlace! Un fin de semana bastante largo también :-)
uhoh

0

La respuesta a esto es simple, pero las otras respuestas ofuscan la dinámica.

Los robots de accionamiento diferencial se pueden modelar con dinámicas de monociclo de la forma:

[X˙y˙θ˙]=[doos(θ)0 0syonorte(θ)0 00 01][vω],
dónde X y y son coordenadas cartesianas del robot, y θ(-π,π] es el ángulo entre el encabezado y el X-eje. El vector de entrada[v,ω]T consiste en entradas de velocidad lineal y angular.

-1 Esto es simplemente una transformación entre diferentes coordenadas. No modela la dinámica del robot en absoluto según lo solicitado en la pregunta. La " ofuscación " de las otras respuestas se debe a que tienen en cuenta que hay dos ruedas para controlar y no un vector de entrada abstracto. Tal vector podría ser el resultado de un modelo según lo solicitado en la pregunta.
Unidad de flexión 22

El modelo que he presentado aborda el mensaje, se suma a la discusión y, de hecho, es un modelo de la dinámica de un robot de accionamiento diferencial no holonómico (aunque no necesariamente de dos ruedas, lo cual es una fortaleza). Si bien el vector de velocidad de entrada (también conocido como giro) puede ser una abstracción, el uso de la entrada de giro es estándar para muchas plataformas de dos ruedas. Sin embargo, esto resalta el hecho de que las representaciones del espacio de estados son arbitrarias. Controlar las velocidades de las ruedas es una abstracción del control de los pares de las ruedas, que es en sí misma una abstracción del control de las corrientes del motor.
JSycamore