10
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: [email protected] Resumen El presente trabajo describe una metodología para la construcción de los modelos cinemático y dinámico de los robots móviles con ruedas. Se plantea como una extrapolación de los procedimientos, ya consolidados, que persiguen el mismo fin pero en el campo de los manipuladores. Con el objeto de ilustrar su uso, se aplica al cálculo de los mencionados arquetipos de un robot móvil onmidireccional. Posteriormente, se utilizarán para el estudio del comportamiento dinámico del mencionado vehículo mediante la simulación de unas maniobras básicas. Palabras Clave: Robots móviles, cinemática, dinámica, modelado, simulación. 1 INTRODUCCIÓN. En el marco el IV Curso de Especialización en Automática de CEA-IFAC, celebrado en Málaga el pasado mes de junio, el primero de los firmantes impartió una parte del cursillo dedicado a la robótica móvil. Este trabajo recoge los aspectos más relevantes presentados en ese ámbito en lo relativo al modelado de robots móviles con ruedas. Para ilustrar los métodos presentados, se ha elegido una configuración de un robot móvil holónoma de tres grados de libertad, por presentar la complejidad adecuada desde el punto de vista instructivo. En este sentido, se enfatiza el enfoque didáctico del trabajo, cuya principal aportación radica en que recoge e integra diversas ideas presentadas en la bibliografía en una sola metodología de modelado. La idea que prevalece es que siga un camino paralelo a la sistemática que se emplea habitualmente en los robots manipuladores. 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 articulaciones. El primero suele modelarse en forma de cadena cinemática abierta, compuesta de una alternancia de sólidos rígidos con elementos articulares de un solo grado de libertad (prismático o de revolución). Por el contrario, la estructura cinemática de un robot móvil, se puede considerar como un conjunto de cadenas cinemáticas cerradas, tantas como ruedas en contacto con el suelo. Asimismo, la interacción rueda-suelo se define, desde el punto de vista cinemático, como una articulación planar con tres grados de libertad, donde uno de ellos, generalmente sin controlar, representa los deslizamientos laterales. Estos dos hechos dificultan la construcción del modelo, ya que se dan efectos no presentes en los manipuladores. En concreto, cobra gran importancia la perfecta sincronización de la velocidad de las ruedas para 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 gracias a la combinación de las aportaciones de las velocidades lineales de las ruedas al punto de guía del vehículo. Por esta razón de complejidad, muchos autores emplean soluciones cinemáticas particularizadas para cada configuración específica de vehículos. Entre estas, se destacan los modelos síncronos [6], la disposición de Ackerman [4], o el modelo de la bicicleta [2]. En cuanto a la dinámica, resulta muy complicado tener en cuenta todos los efectos que se producen en el vehículo, y en particular la interacción con el terreno. Asimismo, aunque se posea un modelo preciso, la cantidad de parámetros que entran en juego hacen poco factible la verificación del mismo. Así, se tiende a considerar que, cuando el robot móvil navega con una velocidad reducida, muchos de los comportamientos no lineales resultan despreciables. Entonces, se toma un modelo de primer orden para caracterizar el cambio de velocidad y de dirección del vehículo [2] [4].

MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVILOMNI-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álagae-mail: [email protected]

Resumen

El presente trabajo describe una metodología para laconstrucción de los modelos cinemático y dinámicode los robots móviles con ruedas. Se plantea comouna extrapolación de los procedimientos, yaconsolidados, que persiguen el mismo fin pero en elcampo de los manipuladores. Con el objeto deilustrar su uso, se aplica al cálculo de losmencionados arquetipos de un robot móvilonmidireccional. Posteriormente, se utilizarán parael estudio del comportamiento dinámico delmencionado vehículo mediante la simulación de unasmaniobras básicas.

Palabras Clave: Robots móviles, cinemática,dinámica, modelado, simulación.

1 INTRODUCCIÓN.

En el marco el IV Curso de Especialización enAutomática de CEA-IFAC, celebrado en Málaga elpasado mes de junio, el primero de los firmantesimpartió una parte del cursillo dedicado a la robóticamóvil. Este trabajo recoge los aspectos másrelevantes presentados en ese ámbito en lo relativo almodelado de robots móviles con ruedas. Para ilustrarlos métodos presentados, se ha elegido unaconfiguración de un robot móvil holónoma de tresgrados de libertad, por presentar la complejidadadecuada desde el punto de vista instructivo. En estesentido, se enfatiza el enfoque didáctico del trabajo,cuya principal aportación radica en que recoge eintegra diversas ideas presentadas en la bibliografíaen una sola metodología de modelado. La idea queprevalece es que siga un camino paralelo a lasistemática que se emplea habitualmente en losrobots manipuladores.

Desde el punto de vista de la cinemática, la principaldiferencia entre un manipulador y un robot móvilestriba en la naturaleza y disposición de sus

articulaciones. El primero suele modelarse en formade cadena cinemática abierta, compuesta de unaalternancia de sólidos rígidos con elementosarticulares de un solo grado de libertad (prismático ode revolución). Por el contrario, la estructuracinemática de un robot móvil, se puede considerarcomo un conjunto de cadenas cinemáticas cerradas,tantas como ruedas en contacto con el suelo.Asimismo, la interacción rueda-suelo se define,desde el punto de vista cinemático, como unaarticulación planar con tres grados de libertad, dondeuno de ellos, generalmente sin controlar, representalos deslizamientos laterales. Estos dos hechosdificultan la construcción del modelo, ya que se danefectos no presentes en los manipuladores. Enconcreto, cobra gran importancia la perfectasincronización de la velocidad de las ruedas paraalcanzar una localización determinada, factor que noresulta determinante en el ámbito de losmanipuladores. Esto se debe a que el avance a lolargo de un grado de libertad cartesiano, se consiguegracias a la combinación de las aportaciones de lasvelocidades lineales de las ruedas al punto de guíadel vehículo. Por esta razón de complejidad, muchosautores emplean soluciones cinemáticasparticularizadas para cada configuración específicade vehículos. Entre estas, se destacan los modelossíncronos [6], la disposición de Ackerman [4], o elmodelo de la bicicleta [2].

En cuanto a la dinámica, resulta muy complicadotener en cuenta todos los efectos que se producen enel vehículo, y en particular la interacción con elterreno. Asimismo, aunque se posea un modelopreciso, la cantidad de parámetros que entran enjuego hacen poco factible la verificación del mismo.Así, se tiende a considerar que, cuando el robot móvilnavega con una velocidad reducida, muchos de loscomportamientos no lineales resultan despreciables.Entonces, se toma un modelo de primer orden paracaracterizar el cambio de velocidad y de direccióndel vehículo [2] [4].

Page 2: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

El presente trabajo muestra, en primera instancia, unametodología para la obtención del modelo cinemáticode un vehículo con ruedas basada en la matrizjacobiana de sus ruedas [3] (apartado 2), paradespués dar paso al cálculo del modelo dinámicomediante la ecuación lagrangiana de sistemasmecánicos (apartado 3). Para ilustrar ambosprocedimientos, se resuelve un robot holónomo(apartado 4), de cuyo estudio se extrae la estructuradel sistema de control de los movimientos paraejecutar una serie de maniobras básicas (apartado 5).Finalmente, se presentan las conclusiones másrelevantes sobre el trabajo detallado en estacomunicación (apartado 6).

2. MODELADO CINEMATICO.

La cinemática, se centra en el estudio del movimientodel robot en función de su geometría. Entre lasaplicaciones inmediatas se encuentran la posibilidadde utilizarlo como modelo matemático de partidapara el diseño del controlador, la simulación delcomportamiento cinemático del vehículo, o paraestablecer las ecuaciones de los cálculosodométricos. Normalmente, se consideran lassiguientes limitaciones para la construcción delmodelo cinemático:

• El robot se mueve sobre una superficieplana.

• No existen elementos flexibles en laestructura del robot (incluidas las ruedas).

• Las ruedas poseen uno o ningún eje dedireccionamiento, de manera que este últimosiembre es perpendicular al suelo.

• No se consideran ningún tipo de friccionesen elementos móviles del vehículo, o contrael suelo.

El comportamiento cinemático se establece en elprincipio de que las ruedas en contacto con el suelose comportan como una articulación planar de tresgrados de libertad, tal y como aparece en la figura 1.

vy

vx

wz

Suelo

Rueda

Figura 1. Rueda en contacto con el suelo.

Al suponerse la rueda como un elemento rígido, éstaentra en contacto con el suelo en un solo punto, quesirve de origen al sistema de referencias solidariodibujado en la figura 1. Se utiliza para definir los tresgrados de libertad antes mencionados. La dirección vy

determina el sentido normal de avance de la rueda; el

eje vx indica los deslizamientos laterales, y wz lavelocidad rotacional que se produce cuando elvehículo realiza un giro. En el caso de una ruedaconvencional, la componente vx, se supone siemprenula, sin embargo, existen ruedas diseñadas paraeliminar la mencionada restricción. Este es el caso dela presentada en el esquema de la figura 2.

Rodillos

Eje de giro

Vista lateral Vista frontal

Figura 2. Rueda omnidireccional.

La rueda omnidireccional se define como una ruedaestándar a la cual se la dotado de una corona derodillos, cuyos ejes de giro resultan perpendiculares ala dirección normal de avance. De este modo, alaplicarle una fuerza lateral, los rodillos giran sobre simismo y permite que la componente vx no sea nulo, ypor tanto, se elimina la restricción de noholomicidad. Este tipo de rodadura es la utilizada enel robot omnidireccional que se detallará en cuartoapartado de este artículo.

En definitiva, de forma independiente al tipo derueda empleado, la cinemática directa tiene comoobjetivo el cálculo de la velocidad lineal y angulardel robot a partir de las correspondientesaportaciones de cada una de sus ruedas. Con esteobjetivo, se toma la estructura genérica de un robotmóvil presentada en la figura 3.

Cuerpo del robot

Elementode

dirección

Articulación

Rueda

C{ }†

Fi{ }†

Di{ }†

Ri{ }

wC†

vC

w i†

vi

M{ }

˙ b i

Figura 3. Estructura cinemática genérica.

En ella, se aprecia un conjunto de elementos dedirección, en cuyos extremos se encuentran fijadas

Page 3: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

las ruedas, y unidos al cuerpo del robot mediante unaarticulación. En aras de determinar las posiciones yorientaciones relativas de los componentes descritos,se asocia a cada uno un sistema de coordenadassolidario, tal y como se describen a continuación:

• {C}: Asociado al cuerpo del robot, y seutiliza como punto de guía del vehículo. Suposición cartesiana (xC, yC) y su orientaciónqc con respecto a un sistema global detrabajo {M} corresponden a la del robot.

• {Fi}: Fijado en el punto de anclaje de laarticulación de la rueda i-ésima. El ánguloai representa la orientación relativa de estesistema con respecto a {C}, y su vector deposición es li.

• {Di}: Solidario al elemento de dirección dela rueda i-ésima. El ángulo de dirección,entre el sistema actual y el anterior, es bi. Elvector de posición resulta nulo ya que {Fi} y{Di} son coincidentes.

• {Ri} : Sistema ubicado en el punto decontacto de la rueda i-ésima con el suelo, taly como aparece en la figura 1. El ángulo dedirección, y el vector de posición, entre elsistema actual y el anterior, sonrespectivamente gi y di.

Asimismo, en la figura 3, aparecen marcado en trazogrueso los vectores de velocidad lineal y angulargenerados por la rueda i-ésima vi y wi, expresados en

el sistema {Ri}; la velocidad angular

˙ b i debida algiro del elemento de dirección y referida a {Di}; y lasvelocidades lineal y angular vC y wC del punto de guíadel robot {C}. Expuestos estos extremos, la velocidadlineal del robot debida al conjunto formado por elelemento de direccionamiento i-ésimo y su ruedaasociada, viene dada por:

vC = R q i( ) ⋅ vi + w i ¥ pi + ˙ b i ¥ l i (1)

donde R() representa una matriz de rotación en elplano, pi y qi se definen como el vector de posición yla orientación del sistema {Ri} visto desde {C}, tal ycomo se indica a continuación:

pi = l i + R a i + b i( ) ⋅d i

q i = a i + b i + g i

(2)

En cuanto a la velocidad angular del robot, sóloparticipan las velocidades homónomas de laarticulación y de la rueda:

wC = ˙ b i - w i (3)

Las ecuaciones (2) y (3), se organizan en forma dematriz jacobiana, tal y como se indica a continuación:

vCx

vCy

wC

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

=

ci -si piy -l iy

si ci - pix l ix

0 0 1 -1

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

vix

viy

w i˙ b i

Ê

Ë

Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜

=

VC = ˆ J i ⋅ ˆ ˙ q i

(4)

Donde vCx y vCy son las componentes de vC; pix y piy

las de pi; lix y liy las de li; y por último vix y viy las devi. Además, ci e s i representan, respectivamente, alcoseno y al seno del ángulo qi.

Sin embargo, la velocidad lineal de la rueda seobtiene a partir del giro de la misma gracias a laacción de un motor. Por ello, en el caso de una ruedaconvencional, tractora y no direccionable, con unradio ri y una velocidad de giro wix, se define lamatriz de conversión de la actuación W i de lasiguiente manera:

ˆ ˙ q i = Wi ⋅ ˙ q i =

0 0-ri 00 10 0

Ê

Ë

Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜

⋅w ix

w i

Ê

Ë Á

ˆ

¯ ˜ (5)

Como se observa en (5), esta permite introducir laactuación wix y anular la acción de dirección debida a

˙ b i . En el supuesto de que la rueda sea direccionable,se empleará la matriz Wi presentada en la ecuación(6).

ˆ ˙ q i = Wi ⋅ ˙ q i =

0 0 0-ri 0 00 1 00 0 1

Ê

Ë

Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜

w ix

w i˙ b i

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(6)

La matriz jacobiana de la rueda i-ésima J i,direccionable o no direccionable, se define como elmodelo que permite calcular la velocidad del robotVC, en su punto de guía, en función de lascomponentes del vector

˙ q i . Así, en el caso de unarueda no direccionable, se combinan las ecuaciones(4) y (5) como se indica seguidamente:

Ji = ˆ J i ⋅Wi =

ri ⋅ si piy

-ri ⋅ci pix

0 1

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(7)

Por otro lado, en el supuesto de una ruedadireccional, se emplean las ecuaciones (4) y (6) paraobtener:

Ji = ˆ J i ⋅Wi =

ri ⋅ si piy -l iy

-ri ⋅ci pix l ix

0 1 -1

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(8)

Page 4: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

Si se consideran N ruedas en contacto con el suelo, apartir de la expresión (4), se plantea un sistema deecuaciones sobredeterminado, donde el vector develocidades VC tiene que satisfacer simultáneamentelas siguientes restricciones:

IIM

I

Ê

Ë

Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜

⋅VC =

J1 0 K 00 J2 L 0K O O K

0 K 0 JN

Ê

Ë

Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜

˙ q 1˙ q 2M

˙ q N

Ê

Ë

Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜

A ⋅VC = B ⋅ ˙ q

(9)

En la ecuación anterior I representa la matrizidentidad de tres por tres.

A continuación, se emplea una aproximación pormínimos cuadrados con el objeto de encontrar unasolución para el vector VC:

VC = AT ⋅ A( )-1

⋅ AT ⋅ BJ

1 2 4 4 3 4 4 ⋅ ˙ q

VC = J ⋅ ˙ q (10)

Donde la matriz J representa el jacobiano completodel vehículo. Al resultado de la ecuación anterior, sele impone que el error de estimación resulte nulo, loque implica suponer que el robot se encuentraactuado de forma adecuada para que no deslice. Esdecir, si se define la función W(A) como:

W A( ) = A ⋅ AT ⋅ A( )-1⋅ AT - I (11)

La condición de no deslizamiento se expresa comosigue:

W A( ) ⋅ B ⋅ ˙ q = 0 (12)

En resumen, dado el sistema mostrado en (9), en elsupuesto de que el producto

W A( ) ⋅ B resulte nulo, es

indicativo de que sólo existe una solución, lo queimplica que existe una sola rueda en contacto con elsuelo. Esta situación no es la habitual, por lo que sebusca que la solución calculada en (10) seaconsistente. Por ello, tendrá que verificar la relación(12), lo que significa que el robot se desplaza sin queninguna de sus ruedas deslice lateralmente.

Por último, se habla también en este ámbito de lamatriz jacobiana inversa, utilizada para el cálculo dela actuación requerida en las ruedas para que el robotalcance un determinado estado de velocidad.

3. MODELADO DINÁMICO.

La dinámica considera la evolución de la posición,velocidad y aceleración del robot en respuesta a lospares de actuación de las ruedas. Se consideran lasmismas restricciones impuestas en el apartado

anterior dedicado al modelado cinemático, y sedistinguen los siguientes efectos:

• Pares inerciales y de coriolis.• Pares de actuación.• Fricciones viscosas.• Interacción del contacto de las ruedas con el

suelo.

Se destaca que no se tienen en cuanta los paresgravitacionales, porque se supone que el vehículoviaja por una superficie plana y horizontal.

Se toma como paradigma la ecuación dinámica encoordenadas generalizadas, tal y como se entiende enel ámbito de los brazos manipuladores:

M qC( ) ˙ ̇ P C + C qC , ˙ q C( ) ˙ P C +t d = B qC( )t - AT qC( )h (13)

donde:

M qC( ) : es la matriz de pares inerciales de

dimensión N por N.

C qC , ˙ q C( ) : es la matriz de Coriolis y fuerzas

centrípetas de dimensión N por N.

t d : vector N componentes de pares deperturbación que define la interacción de lasruedas con el suelo u otros efectos noconsiderados.

t : vector de actuación de R elementos,coincidente con el número de actuadores.

B qC( ) : matriz de transferencia de las

entradas. Convierte del espacio actuación alespacio de las coordenadas generalizadas.Por tanto, su dimensión es de N por R.

A qC( ) : Jacobiano que modela las

restricciones del movimiento del vehículo.Se obtiene a partir del estudio del modelocinemático del vehículo. Si existen Mlimitaciones, su dimensión es de M por N.

h: Vector de restricciones de fuerzas queafectan a las limitaciones del movimiento.

Como se aprecia, el esquema del modelo dinámicoinverso presentado en (13) resulta muy similar alutilizado de forma habitual con los robotsmanipuladores. Las diferencias se encuentran en elmiembro derecho de la ecuación, donde se tienen encuenta dos hechos exclusivos de los robots móviles:no todas las ruedas tienen porqué estar actuadas, yexisten restricciones holónomas y no holónomas almovimiento del vehículo. El primero de ellos sesoluciona con la matriz B(qC), y el segundo con lainclusión de A(qC). En cuanto a las coordenadasgeneralizadas PC, se utiliza la posición y orientación

Page 5: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

del vehículo vistas desde el sistema global dereferencias {M}, es decir PC=(xC, yC, qC).

Para la construcción del modelo, se considera elchasis del vehículo como un conjunto H de sólidosrígidos, donde cada elemento se describe con lossiguientes parámetros:

• mi: Masa del elemento.

• Ii: Matriz de momentos de inercia referida alsistema de guía del vehículo.

• Pgi: Posición del centro de masas referido alsistema de guía.

• Vgi: Velocidad del centro de masas referidaal sistema de guía.

• wgi: Velocidad angular referida al sistema deguía.

Así, se define la energía cinética del elemento i-ésimo del chasis como:

ki =12

miVgiT ⋅Vgi + miVgi

T wgi ¥ Pgi( ) +12

wgi I iwgi (14)

El primer sumando de la expresión anterior se refiereala energía cinética traslacional, el último a larotacional, y el del en medio la aportación del centrode masas al no coincidir con el sistema de guía. Deesta manera, la energía cinética total del vehículo:

K = kiHÂ (15)

La ecuación lagrangiana, particularizada para el casode la energía potencial nula (el robot se mueve en unplano horizontal), se define como:

ddt

∂K∂ ˙ P Ci

Ê

Ë Á

ˆ

¯ ˜ -

∂K∂PCi

= t i - a ji l jj=1

m

Âi = 1Kn

(16)

donde i denota el i-ésimo elemento del vector PC y nes su longitud.

Mediante el uso de la expresión (16), se obtienendirectamente los valores de las matrices de paresinerciales y de Coriolis:

M qC( ) ˙ ̇ P C =∂

∂ ˙ P C∂K∂ ˙ P C

Ê

Ë Á

ˆ

¯ ˜ ̇ ̇ P C

C qC , ˙ q C( ) ˙ q = ∂∂PC

∂K∂ ˙ P C

Ê

Ë Á

ˆ

¯ ˜ ˙ P C -

∂K∂PC

(17)

Sin embargo, la ecuación (13) resulta incómoda desimular, debido fundamentalmente a la presencia dela matriz A(qC) y los multiplicadores lagrangianos h.Por ello, también se habla del modelo dinámico en elespacio de las coordenadas del robot. Este arquetipose distingue porque el modelo no se encuentra

referido a las velocidades del robot

˙ P C , sino a las desus ruedas

˙ q [1][5]. Con este propósito, se define lamatriz de transformación S(qC):

˙ P C = S qC( ) ⋅ ˙ q (18)

La relación entre las aceleraciones se obtiene alderivar (18) con respecto al tiempo:

˙ ̇ P C = ˙ S qC( ) ⋅ ˙ q + S qC( ) ⋅ ˙ ̇ q (19)

El paso al espacio de las velocidades del robot seefectúa mediante la premultiplicación de la matrizS(qC) a ambos miembros de la igualdad de laexpresión (13). Esta operación ofrece como resultadola siguiente ecuación:

M ⋅ ˙ ̇ q + C ⋅ ˙ q +t d = t (20)

Como se observa, guarda el formato de la ecuacióndinámica, con una matriz de masa

M , otra deCoriolis

C , un vector de perturbaciones

t d , y lospares de entradas de los actuadores

t . La relaciónque guardan estos nuevos elementos con losanteriores es la siguiente:

M = S T qC( ) ⋅ M qC( ) ⋅ S qC( )C = S T qC( ) ⋅C qC , ˙ q C( ) ⋅ S qC( ) +

+S T qC( ) ⋅ M qC( ) ⋅ ˙ S qC( )t d = S T qC( )t d

(21)

Las matrices A(qC) y B (qC) desaparecen de laecuación (20), ya que se verifican las siguientesigualdades, por la construcción de la matriz S(qC):

S T qC( ) ⋅ AT qC( ) = 0S T qC( ) ⋅ B qC( )t = t

(22)

La nueva expresión del modelo dinámico inversopresentada en (20) si resulta cómoda para simularla,ya que resulta análoga a la empleada para los robotsmanipuladores.

4. ROBOT OMNIDIRECCIONAL.

4.1. MODELO CINEMÁTICO.

La configuración geométrica del robotomnidireccional objeto del estudio cinemático ydinámico, se presenta en la figura 4.

Page 6: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

L

{R2}

{R3}

{R1}

{C}

x2

y1

x1

x3y3

y2

Y

X

Figura 4. Esquema cinemático del robot

Como se aprecia en la mencionada figura, laconfiguración cinemática del robot se define por unaestructura triangular equilátera, en cuyos vértices sehan dispuesto tres ruedas omnidireccionales, como lapresentada en la figura 2. La distancia del origen delsistema {C} (situado en el centro geométrico) acualquiera de las ruedas viene dada por L. Todas lasruedas se definen como no direccionables, y portanto, se produce la igualdad entre los siguientessistemas coordenados {Fi}={Di}={Ri}, es decir, paratoda i, se cumple bi = 0º y gi = 0º. La tabla 1 recogelos valores de los parámetros del modelo cinemático.

Rueda 1 Rueda 2 Rueda 3ai

bi

gi

di

li

180º0º0º

(0,0,0)

( )0,0,L-

60º0º0º

(0,0,0)

˜˜¯

ˆÁÁË

Ê0,

2

3,

2

LL

-60º0º0º

(0,0,0)

˜˜¯

ˆÁÁË

Ê -0,

2

3,

2

LL

Tabla 1. Parámetros configuración cinemática.

Con el objeto de obtener el jacobiano de la rueda, semultiplica la matriz

ˆ J i , detallada en (4), por la matrizde conversión de la actuación para ruedasonmidireccionales presentada en la expresión (23).

Wi ⋅ ˙ q i =

0 r 0-R 0 00 0 10 0 0

Ê

Ë

Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜

w ix

w ir

w iz

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(23)

La matriz Wi modela, en este ejemplo, una rueda deradio R , omnidireccional, con rodillos de radio r anoventa grados, tractora y no direccionable. Por otrolado, con respecto al vector

˙ q , wix es el grado deactuación del motor, wir la velocidad angular de girode los rodillos y wiz el deslizamiento rotacional en eleje vertical de la rueda. De este modo, el jacobianode la rueda i-ésima queda reflejado como sigue:

Ji =

R ⋅ si r ⋅ci l i

-R ⋅ci r ⋅ si -l i

0 0 1

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(24)

Se sustituyen los parámetros de la tabla 1 en laexpresión (24), y se obtienen los jacobianos de cadauna de las ruedas.

J1 =

0 -r 0R 0 L0 0 1

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(25)

J 2 =

3 ⋅ R2

r2

3 ⋅ L2

-R2

-3 ⋅ r2

-L2

0 0 1

Ê

Ë

Á Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜ ˜

(26)

J 3 =

-3 ⋅ R2

r2

-3 ⋅ L2

-R2

-3 ⋅ r2

-L2

0 0 1

Ê

Ë

Á Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜ ˜

(27)

Las matrices J1, J2 y J3, se componen según laecuación (9), y se resuelve el jacobiano completo delvehículo como aparece detallado en (10).

J =

0 -r3

0 Ra

r6

La

-Ra

r6

-La

R3

0 L3

-R6

ra

-L6

-R6

-ra

-L6

0 0 13

0 0 13

0 0 13

Ê

Ë

Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜

a = 2 3

(28)

Esta matriz jacobiana relaciona la velocidad delvehículo con las de giro que aparecen en las ruedas:actuado; deslizamiento en el eje vertical, y de losrodillos. Destede el punto de vista del controlinteresan exclusivamente los grados actuados. Paraobtenerlo se imponen la condición de nodeslizamiento de la expresión (12).

W A( ) ⋅ B ⋅ ˙ q = 0

0 2r3

0 Ra

r6

La

-Ra

r6

-La

-2R3

0 -2L3

-R6

ra

-L6

-R6

-ra

-L6

0 0 -23

0 0 13

0 0 13

0 -r3

0 -R3

-r3

-L3

-Ra

r6

-La

R3

0 L3

R3

-r3

L3

-R6

-ra

-L6

0 0 13

0 0 -23

0 0 13

0 -r3

0 Ra

r6

La

R3

-r3

L3

R3

0 L3

-R6

ra

-L6

R3

r3

L3

0 0 13

0 0 13

0 0 -23

Ê

Ë

Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜

⋅ ˙ q = 0

(29)

El sistema anterior resulta indeterminado, ya queexisten tres filas que son combinación lineal de lasotras. Por ello, se despejan las variables no actuadasde las ruedas en función de las que si lo son. Seobtiene como resultado:

Page 7: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

w1r =R w3x - w2x( )

r 3w1z = -

R w1x + w2x + w3x( )3L

w2r =R w1x - w3x( )

r 3w2z = w1z

w3r =R w2x - w1x( )

r 3w3z = w1z

(30)

Al sustituir el resultado (30) en el jacobianocompleto (28), se obtienen las velocidades globalesen función de las actuaciones:

vCx =R w2x - w3x( )

3

vCy =R 2w1x - w2x - w3x( )

3

wC = -R w1x + w2x + w3x( )

3L

(31)

La ecuación (31) en forma matricial constituye eljacobiano actuado del robot móvil en estudio.

vCx

vCy

wC

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

=

0 R3

-R3

2R3

-R3

-R3

-R3L

-R3L

-R3L

Ê

Ë

Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜

J6 7 4 4 4 8 4 4 4

w1x

w2x

w3x

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(32)

La característica de holonomicidad del robot haceque el jacobiano del vehículo, (32), sea no singular.El jacobiano inverso actuado se obtiene por lainversión:

w1x

w2x

w3x

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

=

0 1R

-LR

32R

-1

2R-

LR

-3

2R-

12R

-LR

Ê

Ë

Á Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜ ˜

J -16 7 4 4 4 8 4 4 4

vCx

vCy

wC

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(33)

4.2. MODELO DINÁMICO.

En este subapartado se plantea el cálculo de todas lasmatrices dinámicas presentes en la ecuación (13). Enprimer lugar, se aborda la definición de la matriz delas restricciones de movimiento del robot A(qC). Paraello, se estable la siguiente relación:

R -1 qC( ) ⋅ ˙ P C = J ⋅ ˙ q

cc sc 0-sc cc 00 0 1

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜ ⋅

˙ x C˙ y C˙ q C

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

=

R w2x - w3x( )3

R 2w1x - w2x - w3x( )3

-R w1x + w2x + w3x( )3L

Ê

Ë

Á Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜ ˜

(34)

En la expresión anterior cc y sc representan el cosenoy el seno de q C. Si ahora se considera comocoordenada generalizadas el vector:

˙ P C = ˙ x C ˙ y C w1x w2x w2x( )T(35)

Se reordena la expresión (34) para deja una ecuaciónhomogénea en función de las coordenadasgeneralizadas. La matriz de dicha ecuación define aA(qC), tal y como se indica abajo:

-cc -sc 0 R3

-R3

sc -cc

2R3

-R3

-R3

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

A (qC )1 2 4 4 4 4 4 3 4 4 4 4 4

⋅ ˙ P C = 0 (36)

La energía cinética del robot, se obtiene a partir delas ecuaciones (14) y (15). En la ecuación (36)aparece dividida en los tres términos que lacomponen.

K = KT + K R + KG (36)

donde cada uno de los términos se define acontinuación. El primero de ellos, la energía cinéticatraslacional, KT es:

KT =12

M ˙ x C + ˙ y C( )

M = mC + 2mW

(37)

Los parámetros mW y m C constituyen la masa delrobot y la de las ruedas respectivamente. Lacomponente rotacional, KR aparece en la expresión(38).

K R =12

IqC2 +

12

IW w1x2 + w2x

2 + w3x2( ) +

+12

I r w r12 + w r 2

2 + w r 32( );

I = IC + 3 Im + mW b2( )

(38)

Donde Iw e Ir se definen como las inercias de la rueday el rodillo referidas a sus ejes de giro respectivos. IC

e Im son las inercias del robot sin ruedas respecto alpunto guía y de giro de las ruedas respecto a su ejevertical.

El último elemento de la energía cinética, laaportación del centro de masas al sistema de guía delrobot, se detalla en (39).

KG =

cc sc 0-sc cc 00 0 1

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

˙ x C˙ y C0

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

È

Î

Í Í Í

˘

˚

˙ ˙ ˙

T

00˙ q C

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

¥

Pgx

Pgy

Pgz

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜ mC (39)

Page 8: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

Seguidamente, se calculan las matrices de inercias yde Coriolis mediante la ecuación de Lagrange y lasexpresiones en la fórmula (17), que se desarrollan,respectivamente en (40) y (42).

M qC( ) =

M 0 F4 F4 F4

0 M F3 F3 F3

F4 F3 F1 F2 F2

F4 F3 F2 F1 F2

F4 F3 F2 F2 F1

Ê

Ë

Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜

⋅ ˙ ̇ P C (40)

donde los términos Fi se desarrollan a continuación:

F1 =IR 2

9L2 + IW +2I r R

2

3r 2

F2 =IR 2

9L2 -I r R

2

3r 2

F3 =scPgyRmC - ccPgxRmC

3L

F4 =ccPgyRmC + scPgxRmC

3L

(41)

La matriz de Coriolis, toma los siguientes valores:

C qC , ˙ q C( ) ˙ q C =

˙ q C2mC Pgysc - Pgxcc( )

˙ q C2mC -Pgycc - Pgxsc( )

000

Ê

Ë

Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜

(42)

Los componentes de la expresión (13) terminan dedefinirse en las expresiones de la fórmula (43).

B(qC ) =

0 0 1 0 00 0 0 1 00 0 0 0 1

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

T

t d = t p1,t p 2 ,t p 3 ,t p 4 ,t p 5[ ]T

t = t 1 ,t 2 ,t 3[ ]T

h = h1 ,h2[ ]

(43)

Para el cálculo del modelo dinámico en coordenadasdel robot, se aborda la definición de la matriz deconversión S(qc). Se parte de la relación que existeentre las velocidades del robot vista desde el espaciodel mundo y de estas vistas desde el espacio delmismo robot.

˙ P C = R qC( ) ⋅ J ⋅ ˙ q

˙ x C˙ y C˙ q C

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

=

R(w2x - w3x )3

cc -R(2w1x - w2x - w3x )

3sc

R(w2x - w3x )3

sc +R(2w1x - w2x - w3x )

3cc

-R(w1x + w2x + w3x )

3L

Ê

Ë

Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜

(44)

De (44) y teniendo en cuenta que

˙ P C = S(qC ) ˙ q ,obtenemos:

˙ x C˙ y C

w1x

w2x

w3x

Ê

Ë

Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜

=

-2R3

sc

R3

cc +R3

sc -R3

cc +R3

sc

2R3

cc

R3

sc -R3

cc -R3

sc -R3

cc

1 0 00 1 00 0 1

Ê

Ë

Á Á Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜

S (qC )1 2 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4

w1x

w2x

w3x

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

(45)

La derivada de S(qc) se obtiene de forma inmediata:

˙ S (qC ) =

-2R3

cc -R3

sc +R3

cc

R3

sc +R3

cc

-2R3

sc

R3

cc +R3

sc -R3

cc +R3

sc

0 0 00 0 00 0 0

Ê

Ë

Á Á Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜

(46)

se requiere una matriz de Coliolis cuadrada convistas a transformarla al espacio de las velocidadesdel robot. Para ello, se reordena (42) tal y como seindica seguidamente:

C (q , ˙ q ) ˙ P C =

0 0 a w1x + 2w2x + 2w3x( ) a w2x + 2w3x( ) aw3x

0 0 b w1x + 2w2x + 2w3x( ) b w2x + 2w3x( ) bw3x

0 0 0 0 00 0 0 0 00 0 0 0 0

Ê

Ë

Á Á Á Á Á Á

ˆ

¯

˜ ˜ ˜ ˜ ˜ ˜

˙ P C

a = mC Pgysc - Pgxcc( ) R 2

9L2

b = mC -Pgycc - Pgxsc( ) R 2

9L2

(47)

Para obtener el modelo dinámico inverso en elespacio de las velocidades del robot se ha de calcular

M y C tal como se indica en la expresión (21). Lamatriz de masas:

M =

M 11 M 12 M 13

M 12 M 22 M 23

M 13 M 23 M 33

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

M 11 =4R 2

9M -

4R 2

9LmC Pgx +

R 2

9L2 I + IW +2R 2

3r 2 I r

M 12 = -2R 2

9M +

R 2

9LmC -Pgx + 3Pgy( ) +

R 2

9L2 I -R 2

3r 2 I r

M 13 = -2R 2

9M -

R 2

9LmC Pgx + 3Pgy( ) +

R 2

9L2 I -R 2

3r 2 I r

M 22 =4R 2

9M +

2R 2

9LmC Pgx + 3Pgy( ) +

R 2

9L2 I + IW -2R 2

3r 2 I r

M 23 = -2R 2

9M +

2R 2

9LmC Pgx +

R 2

9L2 I -R 2

3r 2 I r

M 33 =4R 2

9M +

2R 2

9LmC Pgx - 3Pgy( ) +

R 2

9L2 I +2R 2

3r 2 I r

(48)

Por otro lado, la matriz de Coriolis C :

Page 9: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

C =C 11 C 12 C 13

C 21 C 22 C 23

C 31 C 32 C 33

Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜

C 11 = -2R 3

27L2 mC Pgy w1x + 2w2x + 2w3x( ) -6R 2

27LmC Pgy;

C 12 = -2R 3

27L2 mC Pgy w2x + 2w3x( ) +

-3R 2

27LmC -Pgx 3 + Pgy( ) +

2 3R 2M9

;

C 13 = -2R 3

27L2 mC Pgyw3x +3R 2

27LmC Pgx 3 + Pgy( ) +

-2 3R 2M

9;

C 21 =R 3

27L2 mC -Pgx 3 + Pgy( ) w1x + 2w2x + 2w3x( ) +

-6R 2

27LmC Pgy -

2 3R 2M9

;

C 22 =R 3

27L2 mC -Pgx 3 + Pgy( ) w2x + 2w3x( ) +

+3R 2

27LmC -Pgx 3 + Pgy( )

C 23 =R 3

27L2 mC -Pgx 3 + Pgy( )w3x +

+3R 2

27LmC Pgx 3 + Pgy( ) +

2 3R 2M9

C 31 =R 3

27L2 mC Pgx 3 + Pgy( ) w1x + 2w2x + 2w3x( ) +

-6R 2

27LmC Pgy +

2 3R 2M9

;

C 32 =R 3

27L2 mC Pgx 3 + Pgy( ) w2x + 2w3x( ) +

+3R 2

27LmC -Pgx 3 + Pgy( ) -

2 3R 2M9

;

C 33 =R 3

27L2 mC Pgx 3 + Pgy( )w3x +

+3R 2

27LmC Pgx 3 + Pgy( );

(49)

5. SIMULACION DINÁMICA.

El robot móvil en estudio es un sistema holónomoque permite movimiento omnidireccional, y portanto, cualquier combinación de velocidadesangulares y lineales. Todo ello permite que el robotrealice cualquiera de los posible desplazamientos quepuede realizar un sólido rígido en el plano. Se handefinido las siguientes maniobras elementales:

• Desplazamiento en línea recta: definido poruna velocidad lineal con componentes, vCx yvCy, constantes para especificar la direccióny sentido del movimiento; y con velocidad

angular, qC nula. La figura 5 muestra estamaniobra.

Figura 5. Ejemplo de movimiento lineal.

• Rotación del vehículo: Se incluye el giro delrobot sobre cualquier punto, sobre si mismo(radio nulo) y sobre una de sus ruedas. Semuestra en la figura 6. Estosdesplazamientos se consiguen con lasvelocidades tanto lineales como angularesconstantes.

Figura 6. Giro con un punto central cualquiera:

• Desplazamiento lineal con variación de laorientación: El robot se mueve en cualquierdirección y sentido a la vez que gira sobre simismo (ver figura 7). Esto es posible graciasa que el robot es omnidireccional. Seconsigue con una velocidad angularconstante, mientras que la velocidad linealvaria según la siguiente expresión:

wC = cte;vCx = vCx0cc + vCy0sc

vCy = -vCx0sc + vCy0cc

(50)

Page 10: MODELADO CINEMATICO Y DINAMICO DE UN ROBOT MÓVIL …

Donde

vCx0 y

vCyo , son las componentes de la

velocidad lineal con las que se mueve el robot en elespacio de coordenadas generalizadas.

Figura 7. Desplazamiento lineal con variación de laorientación.

• Rotación del robot alrededor de un puntosin cambio en su orientación: En este casola velocidad angular del robot es nula,aunque esté girando alrededor de un punto,pues no varía su orientación (Figura 9). Estoimplica que las velocidades varían a lo largode la trayectoria, según la expresión (39). Enella, P0x y P 0y representan la posición delcentro de giro visto desde {C}.

wC = 0;

vCx = wC ⋅ POy - vCydt0

T

ÚDPOy6 7 8 Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜ ;

vCy = -wC ⋅ POX - vCxdt0

T

ÚDPOx6 7 8 Ê

Ë

Á Á Á

ˆ

¯

˜ ˜ ˜ ;

(51)

Figura 9. Rotación del robot alrededor de un puntosin cambio en su orientación.

6. CONLUSIONES.

Este artículo ha presentado una metodologíaintegrada y sistemática para la construcción de losmodelos cinemáticos y dinámicos de los robotmóviles con ruedas. En todo momento, se hapretendido guardar un paralelismo con las teorías, yaconsolidadas, en el ámbito de los robotsmanipuladores. Así, se facilita el camino para el usode la ingeniería de control en aras del diseño decontroladores convencionales. Asimismo, se hailustrado el uso de los procedimientos descritosmediante su aplicación a una configuración de robotmóvil holónoma. Sobre los resultados obtenidos sehan descrito cuatro tipos de maniobras para analizarla movilidad del vehículo.

Agradecimientos

Los autores desean agradecer a cada uno de loscomponentes del comité de cursos de la CEA-IFACla confianza depositada en el primero de losfirmantes para participar como ponente en el IVCurso de Especialización en Automática. Asimismo,los autores agradecen a D. Jesús Morales Rodríguezsu atenta ayuda.

Referencias

[1] Hu T., Yang S. X. (2002). Real-time torquecontrol of nonholonomic mobile robots withobstacle avoidance. Proc. Of the 2002 IEEEInternational Symposium on Intelligent Control,pp 81-86. Vancouver, Canada.

[2] Martínez-Rodríguez J.L. (1994). Seguimientoautomático de caminos en robots móviles. Tesisdoctoral. Universidad de Málaga.

[3] Muir P. F., Neuman C. P. (1986) Kinematic ofwheeled mobile robots. The Robotics Institute.Carnegie Mellon University.Internal reportCMU-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 dynamicof a wheeled mobile robot. Proc. Of the 1993IEEE/RSJ International Conference onIntelligent Robots and System, pp 1288-1294,Yokohama (Japan).

[6] Zhao Y., BeMent S-L. (1992) Kinematics,dynamics and control of wheeled mobile robots.Proc. Of the 1992 IEEE InternationalConference on Robotics and Automation, pp91-96, Nice (France).