You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/266009534

MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL OMNI-


DIRECCIONAL

Article

CITATIONS READS

4 1,832

3 authors, including:

Victor Muñoz-Martinez Alfonso Garcia


University of Malaga University of Malaga
106 PUBLICATIONS   562 CITATIONS    133 PUBLICATIONS   1,448 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

CISOBOT: Auto-guided surgical robot for minimally invasive solo-surgery View project

CRANEEAL - Collaborative Robotic system for brAin-shift corrections in Neurosurgical Endoscopic Endonasal AppLications View project

All content following this page was uploaded by Victor Muñoz-Martinez on 19 April 2015.

The user has requested enhancement of the downloaded file.


MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL
OMNI-DIRECCIONAL.

V. F. Muñoz Martínez, G. Gil-Gómez y A. García Cerezo.


Instituto Andaluz de Automática Avanzada y Robótica. Dpto. Ingeniería de Sistemas y Automática.
Universidad de Málaga. Parque Tecnológico de Andalucía. C/ Severo Ochoa 4, 29590. Málaga
e-mail: vfmm@uma.es

Resumen articulaciones. El primero suele modelarse en forma


de cadena cinemática abierta, compuesta de una
El presente trabajo describe una metodología para la alternancia de sólidos rígidos con elementos
construcción de los modelos cinemático y dinámico articulares de un solo grado de libertad (prismático o
de los robots móviles con ruedas. Se plantea como de revolución). Por el contrario, la estructura
una extrapolación de los procedimientos, ya cinemática de un robot móvil, se puede considerar
consolidados, que persiguen el mismo fin pero en el como un conjunto de cadenas cinemáticas cerradas,
campo de los manipuladores. Con el objeto de tantas como ruedas en contacto con el suelo.
ilustrar su uso, se aplica al cálculo de los Asimismo, la interacción rueda-suelo se define,
mencionados arquetipos de un robot móvil desde el punto de vista cinemático, como una
onmidireccional. Posteriormente, se utilizarán para articulación planar con tres grados de libertad, donde
el estudio del comportamiento dinámico del uno de ellos, generalmente sin controlar, representa
mencionado vehículo mediante la simulación de unas los deslizamientos laterales. Estos dos hechos
maniobras básicas. dificultan la construcción del modelo, ya que se dan
efectos no presentes en los manipuladores. En
concreto, cobra gran importancia la perfecta
Palabras Clave: Robots móviles, cinemática, sincronización de la velocidad de las ruedas para
dinámica, modelado, simulación. alcanzar una localización determinada, factor que no
resulta determinante en el ámbito de los
manipuladores. Esto se debe a que el avance a lo
largo de un grado de libertad cartesiano, se consigue
1 INTRODUCCIÓN. gracias a la combinación de las aportaciones de las
velocidades lineales de las ruedas al punto de guía
En el marco el IV Curso de Especialización en del vehículo. Por esta razón de complejidad, muchos
Automática de CEA-IFAC, celebrado en Málaga el autores emplean soluciones cinemáticas
pasado mes de junio, el primero de los firmantes particularizadas para cada configuración específica
impartió una parte del cursillo dedicado a la robótica de vehículos. Entre estas, se destacan los modelos
móvil. Este trabajo recoge los aspectos más síncronos [6], la disposición de Ackerman [4], o el
relevantes presentados en ese ámbito en lo relativo al modelo de la bicicleta [2].
modelado de robots móviles con ruedas. Para ilustrar
los métodos presentados, se ha elegido una En cuanto a la dinámica, resulta muy complicado
configuración de un robot móvil holónoma de tres tener en cuenta todos los efectos que se producen en
grados de libertad, por presentar la complejidad el vehículo, y en particular la interacción con el
adecuada desde el punto de vista instructivo. En este terreno. Asimismo, aunque se posea un modelo
sentido, se enfatiza el enfoque didáctico del trabajo, preciso, la cantidad de parámetros que entran en
cuya principal aportación radica en que recoge e juego hacen poco factible la verificación del mismo.
integra diversas ideas presentadas en la bibliografía Así, se tiende a considerar que, cuando el robot móvil
en una sola metodología de modelado. La idea que navega con una velocidad reducida, muchos de los
prevalece es que siga un camino paralelo a la comportamientos no lineales resultan despreciables.
sistemática que se emplea habitualmente en los Entonces, se toma un modelo de primer orden para
robots manipuladores. caracterizar el cambio de velocidad y de dirección
del vehículo [2] [4].
Desde el punto de vista de la cinemática, la principal
diferencia entre un manipulador y un robot móvil
estriba en la naturaleza y disposición de sus
El presente trabajo muestra, en primera instancia, una eje v x indica los deslizamientos laterales, y w z la
metodología para la obtención del modelo cinemático velocidad rotacional que se produce cuando el
de un vehículo con ruedas basada en la matriz vehículo realiza un giro. En el caso de una rueda
jacobiana de sus ruedas [3] (apartado 2), para convencional, la componente vx, se supone siempre
después dar paso al cálculo del modelo dinámico nula, sin embargo, existen ruedas diseñadas para
mediante la ecuación lagrangiana de sistemas eliminar la mencionada restricción. Este es el caso de
mecánicos (apartado 3). Para ilustrar ambos la presentada en el esquema de la figura 2.
procedimientos, se resuelve un robot holónomo
(apartado 4), de cuyo estudio se extrae la estructura
del sistema de control de los movimientos para
ejecutar una serie de maniobras básicas (apartado 5).
Finalmente, se presentan las conclusiones más
Eje de giro
relevantes sobre el trabajo detallado en esta
comunicación (apartado 6).

2. MODELADO CINEMATICO. Rodillos

La cinemática, se centra en el estudio del movimiento


del robot en función de su geometría. Entre las Vista lateral Vista frontal
aplicaciones inmediatas se encuentran la posibilidad
de utilizarlo como modelo matemático de partida
Figura 2. Rueda omnidireccional.
para el diseño del controlador, la simulación del
comportamiento cinemático del vehículo, o para
La rueda omnidireccional se define como una rueda
establecer las ecuaciones de los cálculos
estándar a la cual se la dotado de una corona de
odométricos. Normalmente, se consideran las
rodillos, cuyos ejes de giro resultan perpendiculares a
siguientes limitaciones para la construcción del
la dirección normal de avance. De este modo, al
modelo cinemático:
aplicarle una fuerza lateral, los rodillos giran sobre si
• El robot se mueve sobre una superficie mismo y permite que la componente vx no sea nulo, y
plana. por tanto, se elimina la restricción de no
holomicidad. Este tipo de rodadura es la utilizada en
• No existen elementos flexibles en la el robot omnidireccional que se detallará en cuarto
estructura del robot (incluidas las ruedas). apartado de este artículo.
• Las ruedas poseen uno o ningún eje de
direccionamiento, de manera que este último En definitiva, de forma independiente al tipo de
siembre es perpendicular al suelo. rueda empleado, la cinemática directa tiene como
objetivo el cálculo de la velocidad lineal y angular
• No se consideran ningún tipo de fricciones del robot a partir de las correspondientes
en elementos móviles del vehículo, o contra aportaciones de cada una de sus ruedas. Con este
el suelo. objetivo, se toma la estructura genérica de un robot
El comportamiento cinemático se establece en el móvil presentada en la figura 3.
principio de que las ruedas en contacto con el suelo
se comportan como una articulación planar de tres Cuerpo del robot
grados de libertad, tal y como aparece en la figura 1. {Ri } v i
wz Elemento
de
dirección † {Di } wi

Rueda
vC b˙ i {Fi }
†Suelo vy †

{C}

vx † †wC
Figura 1. Rueda en contacto

con el suelo. Articulación

Al suponerse la rueda como un elemento rígido, ésta †


Rueda
† { M}
entra en contacto con el suelo en un solo punto, que
sirve de origen al sistema de referencias solidario Figura 3. Estructura cinemática genérica.
dibujado en la figura 1. Se utiliza para definir los tres †
grados de libertad antes mencionados. La dirección vy En ella, se aprecia un conjunto de elementos de
determina el sentido normal de avance de la rueda; el dirección, en cuyos extremos se encuentran fijadas
las ruedas, y unidos al cuerpo del robot mediante una Êv ˆ
articulación. En aras de determinar las posiciones y Ê vCx ˆ Êc i -si piy -l iy ˆ Á ix ˜
Á ˜ Á ˜ v
orientaciones relativas de los componentes descritos, Á vCy ˜ = Á si ci - pix l ix ˜ ⋅ Á iy ˜ =
se asocia a cada uno un sistema de coordenadas Á ˜ Á ˜ Áw ˜ (4)
Ë wC ¯ Ë 0 0 1 -1 ¯ Á ˙ i ˜
solidario, tal y como se describen a continuación: Ë bi ¯
• {C}: Asociado al cuerpo del robot, y se VC = Jˆi ⋅ q˙ˆ i
utiliza como punto de guía del vehículo. Su
posición cartesiana (xC, y C) y su orientación Donde vCx y v Cy son las componentes de v C; p ix y p iy
qc con respecto a un sistema global de las de pi; l ix y l iy las de li; y por último vix y viy las de
trabajo {M} corresponden a la del robot. † vi. Además, ci e s i representan, respectivamente, al
coseno y al seno del ángulo qi.
• {Fi}: Fijado en el punto de anclaje de la
articulación de la rueda i-ésima. El ángulo Sin embargo, la velocidad lineal de la rueda se
ai representa la orientación relativa de este obtiene a partir del giro de la misma gracias a la
sistema con respecto a {C}, y su vector de acción de un motor. Por ello, en el caso de una rueda
posición es li. convencional, tractora y no direccionable, con un
• {Di}: Solidario al elemento de dirección de radio ri y una velocidad de giro wix, se define la
la rueda i-ésima. El ángulo de dirección, matriz de conversión de la actuación W i de la
entre el sistema actual y el anterior, es bi. El siguiente manera:
vector de posición resulta nulo ya que {Fi} y
{Di} son coincidentes. Ê0 0ˆ
Á ˜
• {Ri} : Sistema ubicado en el punto de -r 0˜ Êw ix ˆ
q˙ˆ i = W i ⋅ q˙ i = Á i ⋅Á ˜ (5)
contacto de la rueda i-ésima con el suelo, tal Á0 1˜ Ë wi ¯
y como aparece en la figura 1. El ángulo de Á ˜
dirección, y el vector de posición, entre el Ë0 0¯
sistema actual y el anterior, son Como se observa en (5), esta permite introducir la
respectivamente gi y di. actuación wix y anular la acción de dirección debida a
Asimismo, en la figura 3, aparecen marcado en trazo † b˙ i . En el supuesto de que la rueda sea direccionable,
grueso los vectores de velocidad lineal y angular se empleará la matriz Wi presentada en la ecuación
generados por la rueda i-ésima vi y wi, expresados en (6).
el sistema {Ri}; la velocidad angular b˙ i debida al Ê0 0 0ˆ

giro del elemento de dirección y referida a {Di}; y las Á ˜ Êw ˆ
-r 0 0˜ Á ix ˜
velocidades lineal y angular vC y wC del punto de guía ˆq˙ i = W i ⋅ q˙ i = Á i ⋅ w (6)
del robot {C}. Expuestos estos extremos, la velocidad Á0 1 0˜ ÁÁ ˙ i ˜˜
† Á ˜ Ë bi ¯
lineal del robot debida al conjunto formado por el Ë0 0 1¯
elemento de direccionamiento i-ésimo y su rueda
asociada, viene dada por: La matriz jacobiana de la rueda i-ésima J i,
direccionable o no direccionable, se define como el
vC = R(q i ) ⋅ v i + w i ¥ pi + b˙ i ¥ l i (1) † modelo que permite calcular la velocidad del robot
VC, en su punto de guía, en función de las
donde R() representa una matriz de rotación en el componentes del vector q˙ i . Así, en el caso de una
plano, pi y qi se definen como el vector de posición y
rueda no direccionable, se combinan las ecuaciones
† la orientación del sistema {Ri} visto desde {C}, tal y (4) y (5) como se indica seguidamente:
como se indica a continuación:
† Ê ri ⋅ si piy ˆ
pi = l i + R(a i + b i ) ⋅ d i Á ˜
(2) ˆ
J i = J i ⋅W i = Á-ri ⋅c i pix ˜ (7)
q i = ai + bi + g i Á ˜
Ë 0 1 ¯
En cuanto a la velocidad angular del robot, sólo
participan las velocidades homónomas de la Por otro lado, en el supuesto de una rueda
† articulación y de la rueda: direccional, se emplean las ecuaciones (4) y (6) para
† obtener:
w = b˙ - w
C i i (3)
Ê ri ⋅ si piy - l iy ˆ
Las ecuaciones (2) y (3), se organizan en forma de ˆ Á ˜
J i = J i ⋅W i = Á-ri ⋅c i pix l ix ˜ (8)
matriz jacobiana, tal y como se indica a continuación: Á ˜
† Ë 0 1 -1 ¯


Si se consideran N ruedas en contacto con el suelo, a anterior dedicado al modelado cinemático, y se
partir de la expresión (4), se plantea un sistema de distinguen los siguientes efectos:
ecuaciones sobredeterminado, donde el vector de
• Pares inerciales y de coriolis.
velocidades VC tiene que satisfacer simultáneamente
• Pares de actuación.
las siguientes restricciones:
• Fricciones viscosas.
ÊI ˆ Ê J1 0 K 0 ˆ Ê q˙1 ˆ • Interacción del contacto de las ruedas con el
Á ˜ Á ˜ Á ˜ suelo.
Á I ˜ ⋅V = Á 0 J 2 L 0 ˜ Á q˙ 2 ˜

Á M ˜ C ÁK O O K˜ Á M ˜ (9) Se destaca que no se tienen en cuanta los pares
Á ˜ Á ˜ Á ˜ gravitacionales, porque se supone que el vehículo
ËI ¯ Ë0 K 0 J N ¯ Ë q˙ N ¯
viaja por una superficie plana y horizontal.
A ⋅VC = B ⋅ q˙
Se toma como paradigma la ecuación dinámica en
En la ecuación anterior I representa la matriz
coordenadas generalizadas, tal y como se entiende en
identidad de tres por tres.
el ámbito de los brazos manipuladores:

A continuación, se emplea una aproximación por M (q C ) P˙˙C + C q C ,q˙C P˙C + t d = B(q C )t - A T (q C )h (13)
( )
mínimos cuadrados con el objeto de encontrar una
solución para el vector VC: donde:
-1
VC = ( A T ⋅ A) ⋅ A T ⋅ B ⋅ q˙ • M (q C ) : es la matriz de pares inerciales de
1442443 †
J (10) dimensión N por N.
VC = J ⋅ q˙
• C q C ,q˙C : es la matriz de Coriolis y fuerzas
( )
Donde la matriz J representa el jacobiano completo †
centrípetas de dimensión N por N.
del vehículo. Al resultado de la ecuación anterior, se
† le impone que el error de estimación resulte nulo, lo • t d : vector N componentes de pares de
que implica suponer que el robot se encuentra † perturbación que define la interacción de las
actuado de forma adecuada para que no deslice. Es ruedas con el suelo u otros efectos no
decir, si se define la función W(A) como: considerados.

-1 • t : vector de actuación de R elementos,
( T
W( A ) = A ⋅ A ⋅ A ) T
⋅A -I (11)
coincidente con el número de actuadores.
La condición de no deslizamiento se expresa como • B(q C ) : matriz de transferencia de las
sigue: † entradas. Convierte del espacio actuación al
† W( A) ⋅ B ⋅ q˙ = 0 (12) espacio de las coordenadas generalizadas.
Por tanto, su dimensión es de N por R.
En resumen, dado el sistema mostrado en (9), en el †
• A(q C ) : Jacobiano que modela las
supuesto de que el producto W( A) ⋅ B resulte nulo, es
† indicativo de que sólo existe una solución, lo que restricciones del movimiento del vehículo.
implica que existe una sola rueda en contacto con el Se obtiene a partir del estudio del modelo
cinemático del vehículo. Si existen M
suelo. Esta situación no es la habitual, por lo que se †
† limitaciones, su dimensión es de M por N.
busca que la solución calculada en (10) sea
consistente. Por ello, tendrá que verificar la relación • h : Vector de restricciones de fuerzas que
(12), lo que significa que el robot se desplaza sin que afectan a las limitaciones del movimiento.
ninguna de sus ruedas deslice lateralmente.
Como se aprecia, el esquema del modelo dinámico
Por último, se habla también en este ámbito de la †inverso presentado en (13) resulta muy similar al
matriz jacobiana inversa, utilizada para el cálculo de utilizado de forma habitual con los robots
la actuación requerida en las ruedas para que el robot manipuladores. Las diferencias se encuentran en el
alcance un determinado estado de velocidad. miembro derecho de la ecuación, donde se tienen en
cuenta dos hechos exclusivos de los robots móviles:
no todas las ruedas tienen porqué estar actuadas, y
3. MODELADO DINÁMICO. existen restricciones holónomas y no holónomas al
movimiento del vehículo. El primero de ellos se
La dinámica considera la evolución de la posición,
soluciona con la matriz B(qC), y el segundo con la
velocidad y aceleración del robot en respuesta a los
inclusión de A( q C). En cuanto a las coordenadas
pares de actuación de las ruedas. Se consideran las
mismas restricciones impuestas en el apartado generalizadas PC, se utiliza la posición y orientación
del vehículo vistas desde el sistema global de referido a las velocidades del robot P˙C , sino a las de
referencias {M}, es decir PC=(xC, yC, qC). sus ruedas q˙ [1][5]. Con este propósito, se define la
matriz de transformación S(qC):
Para la construcción del modelo, se considera el
chasis del vehículo como un conjunto H de sólidos P˙C = S(q C ) ⋅ q˙ † (18)
rígidos, donde cada elemento se describe con los †
siguientes parámetros: La relación entre las aceleraciones se obtiene al
derivar (18) con respecto al tiempo:
• mi: Masa del elemento.

P˙˙C = S˙(q C ) ⋅ q˙ + S(q C ) ⋅ q˙˙ (19)
• Ii: Matriz de momentos de inercia referida al
sistema de guía del vehículo. El paso al espacio de las velocidades del robot se
• Pgi: Posición del centro de masas referido al efectúa mediante la premultiplicación de la matriz
sistema de guía. † S(qC) a ambos miembros de la igualdad de la
expresión (13). Esta operación ofrece como resultado
• Vgi: Velocidad del centro de masas referida la siguiente ecuación:
al sistema de guía.
M ⋅ q˙˙ + C ⋅ q˙ + t d = t (20)
• wgi: Velocidad angular referida al sistema de
guía. Como se observa, guarda el formato de la ecuación
dinámica, con una matriz de masa M , otra de
Así, se define la energía cinética del elemento i-
ésimo del chasis como: † Coriolis C , un vector de perturbaciones t d , y los
pares de entradas de los actuadores t . La relación
1 1 que guardan estos nuevos† elementos con los
ki = mi VgiT ⋅ Vgi + mi VgiT (w gi ¥ Pgi ) + w gi I i w gi (14)
†anteriores es la siguiente:
2 2

El primer sumando de la expresión anterior se refiere M = S T (q C ) ⋅ M (q C ) ⋅ †
S(q C )
ala energía cinética traslacional, el último a la
† rotacional, y el del en medio la aportación del centro C = S T (q C ) ⋅C q C ,q˙C ⋅ S(q C ) +
( )
de masas al no coincidir con el sistema de guía. De (21)
esta manera, la energía cinética total del vehículo: +S T (q C ) ⋅ M (q C ) ⋅ S˙(q C )
t d = S T (q C )t d
K= Âk i (15)
H Las matrices A(qC) y B (qC) desaparecen de la
La ecuación lagrangiana, particularizada para el caso ecuación (20), ya que se verifican las siguientes
de la energía potencial nula (el robot se mueve en un † igualdades, por la construcción de la matriz S(qC):
† plano horizontal), se define como: S T (q C ) ⋅ A T (q C ) = 0
(22)
d Ê ∂K ˆ ∂K
m

= t i - Â a ji l j S T (q C ) ⋅ B(q C )t = t
Á ˜-
dt Ë ∂P˙Ci ¯ ∂PCi (16)
j =1
La nueva expresión del modelo dinámico inverso
i = 1K n presentada en (20) si resulta cómoda para simularla,
donde i denota el i-ésimo elemento del vector PC y n † ya que resulta análoga a la empleada para los robots
es su longitud. manipuladores.

Mediante el uso de la expresión (16), se obtienen 4. ROBOT OMNIDIRECCIONAL.
directamente los valores de las matrices de pares
inerciales y de Coriolis: 4.1. MODELO CINEMÁTICO.

∂ Ê ∂K ˆ La configuración geométrica del robot


M (q C ) P˙˙C = ˙ Á ˙ ˜P˙˙C
∂PC Ë ∂PC ¯ omnidireccional objeto del estudio cinemático y
(17) dinámico, se presenta en la figura 4.
∂ Ê ∂K ˆ ˙ ∂K
C q C ,q˙C q˙ =
( ) Á ˜PC -
∂PC Ë ∂P˙C ¯ ∂PC

Sin embargo, la ecuación (13) resulta incómoda de


simular, debido fundamentalmente a la presencia de
† la matriz A(qC) y los multiplicadores lagrangianos h.
Por ello, también se habla del modelo dinámico en el
espacio de las coordenadas del robot. Este arquetipo
se distingue porque el modelo no se encuentra
x1 Se sustituyen los parámetros de la tabla 1 en la
{R1} expresión (24), y se obtienen los jacobianos de cada
y1
una de las ruedas.
L Ê 0 -r 0ˆ
{C}
Y Á
J1 = Á R 0
˜
L˜ (25)
{R3} y2 Á ˜
Ë0 0 1¯
x3
y3 {R2} x2
Ê 3 ⋅R r 3 ⋅L ˆ
X Á ˜
† Á 2 2 2 ˜
R 3 ⋅r L (26)
Figura 4. Esquema cinemático del robot Á
J2 = Á - - -
˜
2 2 2 ˜
Á ˜
Como se aprecia en la mencionada figura, la ÁÁ 0 0 1 ˜˜
Ë ¯
configuración cinemática del robot se define por una
estructura triangular equilátera, en cuyos vértices se
Ê 3 ⋅R r 3 ⋅Lˆ
han dispuesto tres ruedas omnidireccionales, como la Á- - ˜
presentada en la figura 2. La distancia del origen del † Á 2 2 2 ˜
Á R 3 ⋅r L ˜ (27)
sistema {C} (situado en el centro geométrico) a J3 = Á - - -
2 2 2 ˜
cualquiera de las ruedas viene dada por L. Todas las Á ˜
ruedas se definen como no direccionables, y por ÁÁ 0 0 1 ˜˜
Ë ¯
tanto, se produce la igualdad entre los siguientes
sistemas coordenados {Fi}={Di}={Ri}, es decir, para Las matrices J1, J2 y J3, se componen según la
toda i, se cumple b i = 0º y gi = 0º. La tabla 1 recoge ecuación (9), y se resuelve el jacobiano completo del

los valores de los parámetros del modelo cinemático. vehículo como aparece detallado en (10).
Ê r R r L R r Lˆ
Rueda 1 Rueda 2 Rueda 3 Á0 - 0 - - ˜
3 a 6 a a 6 a
ÁR L R r L R r L˜ (28)
ai 180º 60º -60º J =Á 0 - - - - - ˜
Á3 3 6 a 6 6 a 6˜
bi 0º 0º 0º ÁÁ 0 1 1 1 ˜
0 0 0 0 0 ˜
gi 0º 0º 0º Ë 3 3 3 ¯

di (0,0,0) (0,0,0) (0,0,0) a=2 3


ÊL L 3 ˆ ÊL -L 3 ˆ
(- L,0,0) Á , Á , ,0 ˜˜ Esta matriz jacobiana relaciona la velocidad del
Á 2 2 ,0 ˜
li ˜
Á2 2
Ë ¯ Ë ¯ vehículo
† con las de giro que aparecen en las ruedas:
actuado; deslizamiento en el eje vertical, y de los
Tabla 1. Parámetros configuración cinemática. rodillos. Destede el punto de vista del control
interesan exclusivamente los grados actuados. Para
Con el objeto de obtener el jacobiano de la rueda, se obtenerlo se imponen la condición de no
multiplica la matriz Jˆi , detallada en (4), por la matriz deslizamiento de la expresión (12).
de conversión de la actuación para ruedas W( A) ⋅ B ⋅ q˙ = 0
onmidireccionales presentada en la expresión (23). Ê
Á 0
2r
0
R r L
-
R r Lˆ
- ˜
Á 3 a 6 a a 6 a˜
† Ê 0 r 0ˆ Á- 2R 0 -
2L
-
R r
-
L
-
R
-
r L
- ˜ (29)
Á ˜ Êw ˆ Á 3 3 6 a 6 6 a 6˜

Á-R 0 0 ˜ Á ix ˜ Á
Á 0 0 -
2
0 0
1
0 0
1 ˜
˙
W i ⋅ qi = ⋅ w (23) 3 3 3 ˜
Á 0 0 1 ˜ ÁÁ ir ˜˜ Á
Á 0 -
r
0 -
R
-
r
-
L
-
R r L
- ˜
˜

Á ˜ Ëw iz ¯ Á 3 3 3 3 a 6 a˜
Ë 0 0 0¯ Á R
0
L R
-
r L
-
R
-
r L˜
- ˜ ⋅ q˙ = 0
Á 3 3 3 3 6 a 6
3
Á 1 ˜
La matriz W i modela, en este ejemplo, una rueda de Á 0 0
1
0 0 -
2
0 0 ˜
Á 3 3 3 ˜
radio R, omnidireccional, con rodillos de radio r a Á r R r L R r L ˜
Á 0 - 0 -
† noventa grados, tractora y no direccionable. Por otro Á R
3
L
a
R
6
r
a
L R
3
r
3 3˜
L ˜
lado, con respecto al vector q˙ , wix es el grado de Á
Á 3
0
3
-
6 a
-
6 3 3 3 ˜
˜

actuación del motor, wir la velocidad angular de giro Á


Á 0 0
1
0 0
1
0 0

- ˜
Ë 3 3 3¯
de los rodillos y wiz el deslizamiento rotacional en el
eje vertical de la rueda. De este modo, el jacobiano
† El sistema anterior resulta indeterminado, ya que
de la rueda i-ésima queda reflejado como sigue:
† existen tres filas que son combinación lineal de las
Ê R ⋅ si r ⋅c i li ˆ otras. Por ello, se despejan las variables no actuadas
Á ˜ de las ruedas en función de las que si lo son. Se
J i = Á-R ⋅c i r ⋅ si -l i ˜ (24)
Á ˜ obtiene como resultado:
Ë 0 0 1 ¯


w1r =
R(w 3x - w 2x )
w1z = -
R(w1x + w 2x + w 3x ) En la expresión anterior cc y s c representan el coseno
r 3 3L y el seno de q C. Si ahora se considera como
R(w1x - w 3x ) (30) coordenada generalizadas el vector:
w 2r = w 2z = w1z
r 3
P˙C = ( x˙C
T
R(w 2x - w1x ) y˙C w1x w 2x w 2x ) (35)
w 3r = w 3z = w1z
r 3
Se reordena la expresión (34) para deja una ecuación
Al sustituir el resultado (30) en el jacobiano homogénea en función de las coordenadas
completo (28), se obtienen las velocidades globales † generalizadas. La matriz de dicha ecuación define a

en función de las actuaciones: A(qC), tal y como se indica abajo:
Ê R R ˆ
R(w 2x - w 3x ) Á-c c -sc 0 - ˜
vCx = Á 3 3 ˜ ⋅ P˙ = 0 (36)
3 C
Á sc -c c 2R - R - R ˜
R( 2w1x - w 2x - w 3x ) (31) Ë14444432443444 33¯
vCy =
3 A (q C )

R(w1x + w 2x + w 3x )
wC = - La energía cinética del robot, se obtiene a partir de
3L
las ecuaciones (14) y (15). En la ecuación (36)
La ecuación (31) en forma matricial constituye el † aparece dividida en los tres términos que la
jacobiano actuado del robot móvil en estudio. componen.

64447 J
4448 K = K T + K R + KG (36)
Ê R R ˆ
Á 0 - ˜
Ê vCx ˆ Á 3 3 ˜ Êw1x ˆ donde cada uno de los términos se define a
Á ˜ Á 2R R R Á ˜ (32) continuación. El primero de ellos, la energía cinética
Á vCy ˜ = Á 3 - - ˜ ⋅ Áw 2x ˜
Á ˜ 3 3 ˜ Á ˜ † traslacional, K es:
T
ËwC ¯ Á R R R ˜ Ëw 3x ¯
Á- - - ˜
Ë 3L 3L 3L ¯ 1
KT = M ( x˙C + y˙C )
La característica de holonomicidad del robot hace 2 (37)
que el jacobiano del vehículo, (32), sea no singular. M = mC + 2mW
† El jacobiano inverso actuado se obtiene por la
Los parámetros mW y m C constituyen la masa del
inversión:
robot y la de las ruedas respectivamente. La
64447 4448 † componente rotacional, K R aparece en la expresión
-1
J

Ê 1 L ˆ (38).
Á 0 - ˜
Êw1x ˆ Á R R ˜ Êv ˆ
Cx
Á ˜ Á 3 1 L ˜ Á ˜ (33)
Áw 2x ˜ = Á 2R - 2R - R ˜ ⋅ Á vCy ˜ KR =
1 2 1
Iq C + I W (w1x2 + w 2x2 + w 3x2 ) +
Á ˜ Á ˜
Ëw 3x ¯ Á 3 1 L ˜ ËwC ¯ 2 2
ÁÁ- - - ˜˜
Ë 2R 2R R ¯ 1
+ I r (w r12 + w r22 + w r23 ); (38)
2
4.2. MODELO DINÁMICO.
I = I C + 3( I m + mW b 2 )
† En este subapartado se plantea el cálculo de todas las
Donde Iw e Ir se definen como las inercias de la rueda
matrices dinámicas presentes en la ecuación (13). En y el rodillo referidas a sus ejes de giro respectivos. IC
primer lugar, se aborda la definición de la matriz de
las restricciones de movimiento del robot A(qC). Para † e Im son las inercias del robot sin ruedas respecto al
punto guía y de giro de las ruedas respecto a su eje
ello, se estable la siguiente relación: vertical.
R -1 (q C ) ⋅ P˙C = J ⋅ q˙
El último elemento de la energía cinética, la
Ê R(w 2x - w 3x ) ˆ aportación del centro de masas al sistema de guía del
Á ˜ robot, se detalla en (39).
Ê cc sc 0ˆ Ê x˙C ˆ Á 3 ˜
Á ˜ Á ˜ Á R( 2w1x - w 2x - w 3x ) ˜ (34)
Á-sc cc 0˜ ⋅ Á y˙C ˜ = Á ˜ T
Á ˜ Á ˜ 3 ÈÊ c c sc 0ˆ Ê x˙C ˆ˘ Ê 0 ˆ Ê Pgx ˆ
Ë 0 0 1 ¯ Ëq˙C ¯ Á -R(w + w + w ) ˜ ÍÁ ˜ Á ˜˙ Á ˜ Á ˜
Á 1x 2x 3x
˜ KG = ÍÁ-sc cc 0˜ ⋅ Á y˙C ˜˙ ⋅ Á 0 ˜ ¥ Á Pgy ˜mC (39)
Á 3L ˜ ÍÎÁË 0 ˜ Á ˜ Á˙ ˜ Á ˜
Ë ¯ 0 1 ¯ Ë 0 ¯˙˚ Ëq C ¯ Ë Pgz ¯

† †
Seguidamente, se calculan las matrices de inercias y Ê 2R R R R R ˆ
Ê x˙C ˆ Á- 3 sc c c + sc - c c + sc ˜
de Coriolis mediante la ecuación de Lagrange y las Á ˜ Á 3 3 3 3
˜
expresiones en la fórmula (17), que se desarrollan, Á y˙C ˜ Á 2R c c R R
sc - c c -
R R ˜ Êw1x ˆ
sc - c c Á ˜ (45)
respectivamente en (40) y (42). Áw1x ˜ = Á 3 3 3 3 3 ˜ ⋅ w 2x
Á ˜
Á ˜ Á 1 0 0 ˜ Á ˜
w
Á 2x ˜ Á ˜ Ëw 3x ¯
ÊM 0 F4 F4 F4 ˆ Á ˜ Á 0 1 0 ˜
Ëw 3x ¯ Á ˜
Á ˜ 0 0
Ë14444444244444443¯ 1
Á0 M F3 F3 F3 ˜
S (q C )

M (q C ) = Á F4 F3 F1 F2 F2 ˜ ⋅ P˙˙C (40)
Á ˜ La derivada de S(qc) se obtiene de forma inmediata:
Á F4 F3 F2 F1 F2 ˜
Á ˜ † Ê 2R R R R R ˆ
Ë F4 F3 F2 F2 F1 ¯ Á- cc - sc + c c sc + c c ˜
Á 3 3 3 3 3 ˜
donde los términos Fi se desarrollan a continuación: Á- 2R sc R R
c c + sc -
R R
c c + sc ˜ (46)
2 2
S˙ (q C ) = Á 3 3 3 3 3 ˜
IR 2I R Á 0 0 0 ˜
† F1 = + IW + r 2 Á ˜
Á 0 0 0
2
9L 3r ˜
Á ˜
IR 2 I r R 2 Ë 0 0 0 ¯
F2 = 2 -
9L 3r 2
(41) se requiere una matriz de Coliolis cuadrada con
s P Rm - c c Pgx RmC
F3 = c gy C † vistas a transformarla al espacio de las velocidades
3L del robot. Para ello, se reordena (42) tal y como se
c c Pgy RmC + sc Pgx RmC indica seguidamente:
F4 =
3L
C (q ,q˙) P˙C =
La matriz de Coriolis, toma los siguientes valores:
Ê 0 0 a(w1x + 2w 2x + 2w 3x ) a(w 2x + 2w 3x ) aw 3x ˆ
Ê q˙ 2 m ( P s - P c ) ˆ Á ˜
† Á 2C C gy c gx c
˜ Á 0 0 b(w1x + 2w 2x + 2w 3x ) b(w 2x + 2w 3x ) bw 3x ˜
˙
Á C C ( gy c gx s c ) ˜ 0 ˜P˙C
q m -P c - P Á0 0 0 0
Á ˜ (47)
C q C ,q˙C q˙C = Á
( ) 0 ˜ (42) Á0 0 0 0 0 ˜
Á ˜ Á ˜
Á 0 ˜ Ë0 0 0 0 0 ¯
Á ˜ R2
Ë 0 ¯ a = mC ( Pgy sc - Pgxc c )
9L2
Los componentes de la expresión (13) terminan de R2
definirse en las expresiones de la fórmula (43). b = mC (-Pgyc c - Pgx sc ) 2
9L
† T
Ê0 0 1 0 0ˆ Para obtener el modelo dinámico inverso en el
Á ˜
B(q C ) = Á 0 0 0 1 0 ˜ espacio de las velocidades del robot se ha de calcular
Á ˜ †
Ë0 0 0 0 1 ¯ (43) M y C tal como se indica en la expresión (21). La
t d = [t p1 ,t p 2 ,t p 3 ,t p 4 ,t p 5 ]
T
matriz de masas:
T
t = [t 1 ,t 2 ,t 3 ]
ÊM M 12 M 13 ˆ
h = [h1 , h2 ] Á 11 ˜
M = Á M 12 M 22 M 23 ˜
Para el cálculo del modelo dinámico en coordenadas ÁM M 23 M 33 ˜¯
Ë 13
del robot, se aborda la definición de la matriz de 4R 2 4R 2 R2 2R 2
† conversión S(q ). Se parte de la relación que existe M 11 = M- mC Pgx + 2 I + I W + 2 I r
c 9 9L 9L 3r
entre las velocidades del robot vista desde el espacio 2R 2 R2 R2 R2
del mundo y de estas vistas desde el espacio del
M 12 = -
9
M+
9L
( 9L
)
mC -Pgx + 3Pgy + 2 I - 2 I r
3r (48)
mismo robot. 2R 2 R2 R2 R2
M 13 = -
9
M-
9L
( )
mC Pgx + 3Pgy + 2 I - 2 I r
9L 3r
P˙C = R(q C ) ⋅ J ⋅ q˙ 4R 2 2R 2 R2 2R 2
Ê R(w 2x - w 3x ) R(2w1x - w 2x - w 3x ) ˆ
M 22 =
9
M+
9L
( 9L
)
mC Pgx + 3Pgy + 2 I + I W - 2 I r
3r
Á cc - sc ˜ 2R 2 2R 2 R2 R2
Ê x˙C ˆ Á 3 3 M 23 = - M+ mC Pgx + 2 I - 2 I r
˜ (44) 9 9L 9L 3r
Á ˜ Á R(w 2x - w 3x ) R(2w1x - w 2x - w 3x ) ˜
y˙ = s + c 4R 2 2R 2 R2 2R 2
Á C˜ Á c c
Á˙ ˜
Ëq C ¯ Á
3 3
R(w1x + w 2x + w 3x )
˜
˜
M 33 =
9
M+
9L
( 9L
)
mC Pgx - 3Pgy + 2 I + 2 I r
3r
Á - ˜
Ë 3L ¯ Por otro lado, la matriz de Coriolis C :
De (44) y teniendo en cuenta que P˙C = S(q C )†q˙ ,
obtenemos:


ÊC C12 C13 ˆ angular, qC nula. La figura 5 muestra esta
Á 11 ˜ maniobra.
C = ÁC 21 C 22 C 23 ˜
ÁC ˜
Ë 31 C 32 C 33 ¯
2R 3 6R 2
C11 = - 2
mC Pgy (w1x + 2w 2x + 2w 3x ) - mC Pgy ;
27L 27L
2R 3
C12 = - mC Pgy (w 2x + 2w 3x ) +
27L2
3R 2 2 3R 2 M
-
27L
(
mC -Pgx 3 + Pgy + )9
;

2R 3 3R 2
C13 = -
27L 2
mC Pgyw 3x +
27L
(
mC Pgx 3 + Pgy + )
2 3R 2 M
- ;
9
R3
C 21 =
27L2
( )
mC -Pgx 3 + Pgy (w1x + 2w 2x + 2w 3x ) +

6R 2 2 3R 2 M Figura 5. Ejemplo de movimiento lineal.


- mC Pgy - ;
27L 9
3
(49)
R • Rotación del vehículo: Se incluye el giro del
C 22 =
27L2
( )
mC -Pgx 3 + Pgy (w 2x + 2w 3x ) +
robot sobre cualquier punto, sobre si mismo
3R 2 (radio nulo) y sobre una de sus ruedas. Se
+
27L
(
mC -Pgx 3 + Pgy ) muestra en la figura 6. Estos
R3 desplazamientos se consiguen con las
C 23 =
27L2
( )
mC -Pgx 3 + Pgy w 3x + velocidades tanto lineales como angulares
constantes.
3R 2 2 3R 2 M
+
27L
(
mC Pgx 3 + Pgy + ) 9
R3
C 31 =
27L2
( )
mC Pgx 3 + Pgy (w1x + 2w 2x + 2w 3x ) +

6R 2 2 3R 2 M
- mC Pgy + ;
27L 9
R3
C 32 =
27L2
( )
mC Pgx 3 + Pgy (w 2x + 2w 3x ) +

3R 2 2 3R 2 M
+
27L
(
mC -Pgx 3 + Pgy - ) 9
;

R3
C 33 =
27L2
( )
mC Pgx 3 + Pgy w 3x +

3R 2
+
27L
(
mC Pgx 3 + Pgy ; )
Figura 6. Giro con un punto central cualquiera:
5. SIMULACION DINÁMICA.
• Desplazamiento lineal con variación de la
† El robot móvil en estudio es un sistema holónomo orientación: El robot se mueve en cualquier
que permite movimiento omnidireccional, y por dirección y sentido a la vez que gira sobre si
tanto, cualquier combinación de velocidades mismo (ver figura 7). Esto es posible gracias
angulares y lineales. Todo ello permite que el robot a que el robot es omnidireccional. Se
realice cualquiera de los posible desplazamientos que consigue con una velocidad angular
puede realizar un sólido rígido en el plano. Se han constante, mientras que la velocidad lineal
definido las siguientes maniobras elementales: varia según la siguiente expresión:
wC = cte;
• Desplazamiento en línea recta: definido por
vCx = vCx 0c c + vCy 0 sc (50)
una velocidad lineal con componentes, vCx y
vCy, constantes para especificar la dirección vCy = -vCx 0 sc + vCy 0c c
y sentido del movimiento; y con velocidad


Donde vCx 0 y vCyo , son las componentes de la 6. CONLUSIONES.
velocidad lineal con las que se mueve el robot en el
espacio de coordenadas generalizadas. Este artículo ha presentado una metodología
† † integrada y sistemática para la construcción de los
modelos cinemáticos y dinámicos de los robot
móviles con ruedas. En todo momento, se ha
pretendido guardar un paralelismo con las teorías, ya
consolidadas, en el ámbito de los robots
manipuladores. Así, se facilita el camino para el uso
de la ingeniería de control en aras del diseño de
controladores convencionales. Asimismo, se ha
ilustrado el uso de los procedimientos descritos
mediante su aplicación a una configuración de robot
móvil holónoma. Sobre los resultados obtenidos se
han descrito cuatro tipos de maniobras para analizar
la movilidad del vehículo.

Agradecimientos
Figura 7. Desplazamiento lineal con variación de la
orientación. Los autores desean agradecer a cada uno de los
componentes del comité de cursos de la CEA-IFAC
• Rotación del robot alrededor de un punto la confianza depositada en el primero de los
sin cambio en su orientación: En este caso firmantes para participar como ponente en el IV
la velocidad angular del robot es nula, Curso de Especialización en Automática. Asimismo,
aunque esté girando alrededor de un punto, los autores agradecen a D. Jesús Morales Rodríguez
pues no varía su orientación (Figura 9). Esto su atenta ayuda.
implica que las velocidades varían a lo largo
de la trayectoria, según la expresión (39). En Referencias
ella, P 0x y P 0y representan la posición del
centro de giro visto desde {C}. [1] Hu T., Yang S. X. (2002). Real-time torque
control of nonholonomic mobile robots with
wC = 0; obstacle avoidance. Proc. Of the 2002 IEEE
Ê 6DP78 ˆ
Oy International Symposium on Intelligent Control,
Á T ˜ pp 81-86. Vancouver, Canada.
vCx = wC ⋅ Á POy - Ú vCy dt ˜; (51)
0
Á ˜
Ë ¯ [2] Martínez-Rodríguez J.L. (1994). Seguimiento
Ê 678 ˆDP
Ox automático de caminos en robots móviles. Tesis
Á T ˜ doctoral. Universidad de Málaga.
vCy = -wC ⋅ Á POX - Ú vCx dt ˜;
0
Á ˜
Ë ¯ [3] Muir P. F., Neuman C. P. (1986) Kinematic of
wheeled mobile robots. The Robotics Institute.
Carnegie Mellon University.Internal report
CMU-RI-TR-86-12.

[4] Ollero-Baturone A. (2001) Robótica:
Manipuladores y robots móviles. Marcombo.
ISBN 84-267-1313-0.

[5] Yun X., Yamamoto Y. (1993). Internal dynamic


of a wheeled mobile robot. Proc. Of the 1993
IEEE/RSJ International Conference on
Intelligent Robots and System, pp 1288-1294,
Yokohama (Japan).

[6] Zhao Y., BeMent S-L. (1992) Kinematics,


Figura 9. Rotación del robot alrededor de un punto dynamics and control of wheeled mobile robots.
sin cambio en su orientación. Proc. Of the 1992 IEEE International
Conference on Robotics and Automation, pp
91-96, Nice (France).

View publication stats

You might also like