You are on page 1of 9

MODELADO CINEMÁTICO APLICADO AL SISTEMA DE NAVEGACIÓN DE UN

ROBOT MÓVIL TIPO SKID STEER

Daniel E. Castiblanco Jiménez, Francy Carolina Barreto Ballesteros
dcmidscrum9@gmail.com
Ingeniería Mecatrónica, Universidad de San Buenaventura (Sede Bogotá)
2006

RESUMEN

En este artículo se ilustra el método propuesto
por el ingeniero Aníbal Ollero Baturone
Catedrático de ingeniería de sistemas y
automática de la Escuela Superior de
Ingenieros (Universidad de Sevilla), en su
libro Robótica Manipuladores Y Robots
Móviles [1] para obtener un modelo
cinemático de un robot móvil, en este caso un
vehiculo robótico tipo skid steer de
direccionamiento diferencial.

El artículo presenta inicialmente algunos
aspectos necesarios para la comprensión y
simplificación del análisis, mas adelante se
plantea un modelo cinemático generalizado y
el jacobiano del vehiculo robótico y con estos
finalmente se obtiene el modelo cinemático
especifico del vehiculo en mención, el modelo
es simulado con ayuda de herramientas
computacionales como matlab y emulado
sobre un prototipo construido donde se
verifica el comportamiento y se contrasta con
el comportamiento que de forma intuitiva se
pueda generar.


1. INTRODUCCIÓN

Actualmente los vehículos robóticos o robot
móviles son muy utilizados en varios campos
investigativos como industrializados,
desempeñado tareas de supervisión,
exploración, distribución y transporte, entre
otros, facilitando la automatización a gran
escala, para esto es necesario incrementar la
autonomía de estos dispositivos dotándolos
con un sistema de navegación eficiente, dentro
del que son relevantes tareas como lo son la
percepción, planificación y control.
A la hora de planear una trayectoria para un
vehiculo robótico se debe tener en cuenta
aspectos geométricos, cinemáticos y
dinámicos de este, que determinen el
comportamiento y desempeño del mismo con
su entorno.

Hasta ahora en la Universidad de San
Buenaventura sede Bogotá los trabajos
realizados en el área de robótica móvil han
sido tratados de manera muy empírica por esto
carecen de un análisis donde se deberían
tomar aspectos como los mencionados
anteriormente.

El propósito fundamental de este trabajo es
mostrar como se puede realizar un análisis
geométrico de un robot móvil tipo skid steer
de direccionamiento diferencial con el que se
pueda generar un modelo cinemático que
represente de manera aceptable el
comportamiento del vehiculo para una
posterior aplicación al sistema de navegación
del mismo.


2. ASPECTOS GENERALES DEL
ANÁLISIS

La plataforma mecánica centro de estudio en
este trabajo es un Robot móvil de
configuración motriz tipo skid steer de
direccionamiento diferencial (figura 1.); el
análisis parte inicialmente del modelo
geométrico que es la relación que existe entre
los valores de las variables asociadas a la
situación (posición y orientación) de un
sistema de referencia, solidario al robot, este
definido de acuerdo a la tarea que se pretende
realice el robot; En robots móviles el sistema
de referencia se asocia al punto de guía
esperado.




Figura 1: Arriba-Prtotipo Virtual Robot tipo skid
steer direccionamiento diferencial; Abajo-modelo
real Construido.

La cinemática en robos móviles hace
referencia al análisis del movimiento sin tener
en cuenta las fuerzas que lo producen, ni las
que se generan, a partir de esto el estudio
inicial se centra en el problema geométrico
involucrado en el posicionamiento estático, las
variaciones en el tiempo de las posiciones y
orientaciones, estos determinados
específicamente por las velocidades, para
nuestro caso en las ruedas, planteando así
nuestro sistema (MIMO) con entradas de
velocidades sobre las ruedas derechas e
izquierdas y salidas posición y
orientación(figura 2.).


Figura 2: Esquema generalizado del sistema.


3. MODELO CINEMÁTICO DEL ROBOT

Para el desarrollo de este análisis se tendrán en
cuenta los siguientes aspectos:

El robot se mueve sobre una superficie
plana.
Los ejes que guías del robot son
perpendiculares a la superficie del
suelo.
Se supondrá que las ruedas se mueven
con rodadura pura; es decir, el
deslizamiento es despreciable en el
periodo de control.
El robot no tiene partes flexibles.
Durante un periodo de tiempo
suficientemente pequeño durante el
que se mantiene la consigna de
dirección constante, el robot se moverá
de un punto al siguiente a lo largo de
un arco circunferencial.
El robot se comporta como un sólido
rígido.
No se tomara en cuenta el efecto que
produce el aplastamiento de los
neumáticos. sobre la dirección y la
velocidad.

3.1 Restricciones Cinemáticas

Siendo [ ]
T
r
p p p ....
1
= un vector con las
variables necesarias para determinar
completamente la posición y orientación de
todas las partes de un sistema físico (En este
caso el Robot) y teniendo en cuenta que las
variables pueden no ser independientes, es
posible formular ciertas restricciones de tipo:

( ) 0 , ' , = t p p G
k
k=1,…s; (1)

Es decir, se deben satisfacer s restricciones o
ecuaciones de las variables p, sus derivadas p’
y probablemente el tiempo t; A su ves estas
restricciones pueden ser holónomas o no
holónomas
1
.

Considerando el movimiento de la rueda de
radio r en una dimensión como se puede
apreciar en la figura 3a; La variable del
actuador es el giro θ y la variable en el espacio
cartesiano x que indica la distancia recorrida,
las dos variables responden a la condición de
rodadura ' ' θ c x =
(2)
que depende de las velocidades, pero puede
deducirse de la restricción holónoma por
derivación
constaante c x = − θ (3)



Figura 3: Restricciones no holónomas.
a) Movimiento de una rueda en una sola dirección;
b) Movimiento de rueda en el plano.

Dada la situación no existen restricciones
holónomas, solo se necesita una única
coordenada (x o θ) y existe un grado de
libertad.

Pero si se analiza el movimiento de la rueda
como en el caso que muestra la figura 3b,
aparecen restricciones no holónomas,
considerando el movimiento de la rueda de
forma que el diámetro en el punto de contacto
con el suelo siempre este en posición vertical,

1
Las holónomas son en este caso aquellas en las que
no intervienen las velocidades es decir de la forma
; 0 ) , ( = t p G
k
k=1,…s; y por otro lado las no
holónomas dependen de las velocidades y no son
integrables, es decir que no se deduzca por derivación
total respecto al tiempo de una holónoma [2], [3].

se pueden utilizar cuatro coordenadas para
especificar la posición y orientación de la
rueda (coordenadas(x, y del punto de contacto;
el ángulo θ entre la vertical y un radio de
referencia
2
y el ángulo de orientación Φ de la
rueda); La condición de rodadura sin
deslizamiento introduce dos restricciones, ya
que el espacio que el punto de contacto recorre
sobre el borde de la rueda es igual al que
recorre en el plano. Por ende, proyectando la
velocidad del punto de contacto en el plano,
Paralela y perpendicularmente a la rueda es:

0 ' cos '
' cos ' '
= +
= + −
φ φ
θ φ φ
sen y x
c y sen x
(4) y (5)

Estas dos restricciones no son integrables (no
se satisface el teorema de Frobenius), por esto
no se pueden obtener relaciones funcionales
entre la variables (x, y, θ, Φ) a partir de las
anteriores ecuaciones.
Ahora si damos unos valores iniciales (x
0
, y
0
,
θ
0
, Φ
0
) y hacemos rotar la rueda sin deslizar y
girándola alrededor del eje vertical, es posible
llegar a cualquier otra configuración (x
f
, y
f
, θ
f
,
Φ
f
) lo que ahora nos permite obtener una
relación funcional entre estos valores,
teniendo en cuenta que las direcciones de
movimiento deben satisfacer las ecuaciones
anteriores y por lo tanto el camino no puede
ser cualquiera.

Considerando un sistema de referencia {G} y
otro {L} con centro en el punto de guiado del
vehiculo y eje Y
^
L
en la dirección del eje
longitudinal del vehiculo (figura 4).


2
El radio de referencia indica cuanto ha girado el disco
o la rueda


Figura 4: Cambio del sistema de referencia en la
navegación del robot.


Figura 5: Circulo Osculador.

Suponiendo que el vehiculo se desplaza en un
intervalo de control según un arco de
circunferencia, tal como se muestra en la
figura 5. (Suposición valida para intervalos de
control muy pequeños), entonces la velocidad
lineal estaría dada por:
t
s
v


= (6)

y la velocidad angular por:

t
w


=
φ
(7)

Siendo ∆s y ∆Φ respectivamente el espacio
recorrido por el punto de guiado del vehiculo
y su cambio de orientación durante el
intervalo de control ∆t.
La longitud ∆s del arco recorrido por el robot
en ∆t estaría dada por:

φ ∆ = ∆ R s (8)

Siendo R el radio de giro o radio de la
circunferencia que describe el punto de
guiado.
La curvatura es determinada como la inversa
del radio de giro así:

s R ∆

= =
φ
γ
1
(9)

Las ecuaciones de movimiento en el sistema
{L} de la figura 5 en el estado inicial son:

) ( ) (
)) cos( ( ) (
φ
φ
∆ = ∆
∆ − − = ∆
Rsen y
R R x
L
L
(10) y (11)

Si la orientación inicial del vehiculo respecto
al sistema {G} es de Φ, el movimiento en el
sistema {G} se determina rotando Φ así:

( ) [ ] ( ) ( )
( ) [ ] ( ) ( ) ) cos( 1 cos
1 cos ) cos(
φ φ φ φ
φ φ φ φ
∆ + − ∆ = ∆
∆ − − ∆ = ∆
Rsen sen R y
sen Rsen R x

(12) y (13)

Suponiendo que el intervalo de control es
suficientemente pequeño, también lo será el
cambio de orientación ∆Φ de lo cual se
obtiene que:

0 ) (
1 ) cos(
≅ ∆
≅ ∆
φ
φ
sen
(14) y (15)

Reemplazando en las ecuaciones (12) y (13)
respectivamente se obtiene:

) cos(
) (
φ φ
φ φ
∆ = ∆
∆ − = ∆
R y
sen R x
(16) y (17)
ó
) cos(
) (
φ
φ
s y
ssen x
∆ = ∆
∆ − = ∆
(18) y (19)

Dividiendo ambas ecuaciones por ∆t cuando
∆t →0, se obtiene:

) cos( '
) ( '
φ
φ
v y
vsen x
=
− =
y w = ' φ (20), (21) y (22)

4. MODELO JACOBIANO DEL ROBOT.

Siendo p el vector que representa un punto en
el espacio de n coordenadas generalizadas y q
el vector de m variables de actuación, siendo
n>. Si p’ y q’ son las derivadas temporales
correspondientes. En lo que sigue, por
omisión, se considera que las variables se
expresan en el sistema de referencia global
{G}, el modelo directo seria:

' ) ( ' q p j p = (23)

Donde J (p) es el jacobiano y se puede escribir
de la forma:

( )

=
+ =
m
i
i i
q p g p f p
1
' ) ( ' (24)

Siendo f y g funciones vectoriales analíticas.
Si [ ]
T
xy p φ = es el vector con las coordenadas
globales del punto de guía del robot y la
orientación, las ecuaciones (20), (21) y (22)
pueden expresarse de la forma:
Con f (p)=0 y m=2

w v
sen
p










+









−
=
1
0
0
0
) cos(
) (
' φ
φ
(25)

Siendo v y w la velocidad lineal y angular del
robot respectivamente.
Las ecuaciones (25) pueden expresarse de la
forma:










−
=










1 0
0 ) cos(
0 ) (
'
'
'
φ
φ
φ
sen
y
x






w
v
(26)

Siendo [ ]
T
vw q = ' el vector de variables de
entrada.
De las dos primeras ecuaciones de (26) se
puede obtener la siguiente restricción
independiente de v:

0 ) ( ' ) cos( ' = = φ φ sen y x (27)

Restricción no holónoma del movimiento,
según esta el robot debe moverse en cada
instante según la dirección de su eje
longitudinal de simetría.

'
'
y
x
tg = φ (28)

Teniendo en cuenta la ecuación (5), la
posición(x, y) y la orientación Φ del robot no
son independientes.
Aplicando la seudoinversa así:

En (23)

T T
p J q p J p p J )] ( [ ' ) ( ' )] ( [ =
(29)

Despejando q’
' )] ( [ )} ( )] ( {[ '
1
p p J p J p J q
T T −
=
(30)
Entonces el modelo obtenido será:
















−
=






'
'
'
1 0 0
0 ) cos( ) (
φ
φ φ
y
x
sen
w
v

(31)

De la primera ecuación se puede determinar:

) cos( ' ) ( ' φ φ y sen x v + − = (32)

Que concuerda con la ecuación (4).

4. MODELO DE LA UNIDAD
ROBÓTICA MÓVIL (TIPO SKID STEER
DE DIRECCIONAMIENTO
DIFERENCIAL)

Para este análisis tendremos en cuenta que las
variables de control serán las velocidades de
las ruedas laterales como muestra la figura 6.


Figura 6: Guiado diferencial del Robot.

Si w
i
y w
d
, son las velocidades de giro de las
ruedas izquierda y derecha respectivamente, y
si el radio de la rueda es c, las velocidades
lineales correspondientes son c w v
i i
= v y
c w v
d d
= para nuestro caso el modelo estaría
dado por:

( )
( )
b
c w w
b
v v
w
c w w v v
v
i d i d
i d i d

=

=
+
=
+
=
2 2
(32) y (33)

Siendo b la distancia que separa las ruedas,
dado lo anterior se podría determinar las
velocidades de giro que hay que aplicar a las
ruedas izquierdas y derechas así:
( )
( )
c
w b v
w
c
w b v
w
d
i
2 /
2 /
+
=

=
(34) y (35)
Sustituyendo (32) y (33) en (25) se puede
expresar el sistema en función de las variables
de control como:


















− −
=



















−
+












=










d
i
d i
w
w
b c b c
c c
csen csen
y
x
w
b c
c
csen
w
b c
c
csen
y
x
/ /
2 / )) cos( ( 2 / )) cos( (
2 / ) ( ( 2 / ) ( (
'
'
'
/
2 / )) cos( (
2 / ) ( (
/
2 / )) cos( (
2 / ) ( (
'
'
'
φ φ
φ φ
φ
φ
φ
φ
φ
φ
(36) y (37)
Sustituyendo por los valores conocidos de la
plataforma experimental así:

m
c Radio Ruedas 0.05
b Entre Ruedas 0.285

Tabla 1: Datos reales del prototipo construido.


Del sistema de ecuaciones (37) obtenemos el
modelo jacobiano del robot:


















− −
=










d
i
w
w
sen sen
y
x
175 . 0 175 . 0
2 / )) cos( 05 . 0 ( 2 / )) cos( 05 . 0 (
2 / )) ( 05 . 0 ( 2 / )) ( 05 . 0 (
'
'
'
φ φ
φ φ
φ
(38)

4.1 Estimación De La Posición Y La
Orientación

Para este cálculo es necesario realizar la
integración del sistema de ecuaciones (38) que
representa el modelo jacobiano, conociendo la
posición y orientación inicial [ ]
T
y x p
0 0 0 0
φ = ,
la integración seria de la forma:


















+
+
+

+










=













τ
τ
φ
τ
φ
φ φ
d w w
d w w
d w w
sen
y
x
y
x
i
t
d
i
t
d
i
t
d
) ( 175 . 0
) (
2
) cos( 05 . 0
) (
2
) ( 05 . 0
0
0
0
0
0
0

(39)
La estimación de la posición es una
aproximación valida solo para periodos de
tiempo suficientemente pequeños
3
.

En las simulaciones posteriores se pretende
evaluar el comportamiento del modelo con
diferentes combinaciones en las entradas del
sistema.
Los parámetros generalizados de la simulación
son:

Posición inicial en el eje x Xo=0
Posición inicial en el eje y Yo=0
Orientación inicial ángulo Φo=0

Tiempo de la simulación variable entre 30 y
50 segundos con el fin de apreciar mejor el
comportamiento.



3
Si se estima la posición en largos periodos de tiempo
se presenta una acumulación de error debido a
deslizamientos y otros efectos provocados por
comportamientos dinámicos, relacionados
fundamentalmente con la interacción del robot con el
terreno que en el modelo presentado se desprecian.
Figura 7: Simulación con Wizq= 1 Rad./seg. y
Wder=1rad/seg.

En la figura 7 se puede apreciar el efecto de
aplicar la misma velocidad a las ruedas
derechas e izquierdas, el móvil se desplaza en
línea recta con la orientación dada
inicialmente.

Figura 8: Simulación con Wizq= 1 Rad./seg. y
Wder=1.5 Rad./seg.

El la figura 8 se puede apreciar el resultado de
aplicar en las ruedas derechas una velocidad
poco mayor que en las izquierdas, el móvil se
desplaza continuamente hacia la izquierda
formando un arco.


Figura 9: Simulación con Wizq= 1.5 Rad./seg. y
Wder=1 Rad./seg.

En la figura 9 se presenta el caso opuesto al
anterior, el móvil se desplaza a la derecha
formando un arco.


Figura 10: Simulación con Wizq= -1 Rad./seg. y
Wder=1 Rad./seg.

En la figura 10 se presenta el caso cuando a
las ruedas se les aplica la misma velocidad
pero en sentido contrario, así podemos notar la
característica principal del direccionamiento
diferencial, el móvil no se desplaza, sin
embargo su ángulo de orientación si se
incrementa lo que determina que el robot se
encuentra girando sobre su eje vertical.


Figura 11: Simulación con Wizq= 1 Rad./seg. y
Wder → Rampa valor inicial=0 y pendiente= 0.1.

En el caso mostrado en la figura 11 el móvil
se desplaza hacia la derecha hasta el momento
en que la velocidad en las ruedas derechas
sobrepasa a sus opuestas, a partir de este
momento el móvil comienza a desplazarse
hacia la izquierda, después de un periodo de
tiempo cuando este valor se incrementa
mucho mas este produce que el móvil
comience a girar en torno a una circunferencia
mas y mas pequeña.

5. Conclusiones

El modelado de vehículos robóticos
móviles demanda de alta complejidad
matemática a la hora de hallar las
herramientas con las que se pueda
representar el modelo de un sistema.

Por más sencillo que parezca un
sistema robótico móvil de forma
intuitiva, lograr un modelado eficiente
de dicho sistema puede ser una tarea
difícil.

Es necesario manejar muchas de las
herramientas computacionales pues
estas ayudan en el análisis de los
sistemas, su comportamiento,
desempeño, interacción con otros
sistemas y otros comportamientos que
peden analizarse con una simulación.

Para este vehiculo robótico especifico
se logro obtener el modelo cinemático
y aplicando el jacobiano a este se logro
realizar una simulación que
representaba muy bien al modelo, sin
embargo estas ecuaciones halladas no
fueron las optimas a la hora de aplicar
teoría del control por que al hacerlo
pude notar que el sistema era no
controlable, para sobrellevar esto es
necesario manipular el modelo para
llevarlo a otra forma conocida como
un sistema de control en cadena con
variables holónomas, información
encontrada a nivel de transactions de
documentos de investigación a nivel de
maestría y doctorado, donde las
herramientas matemáticas usadas son
de muy alta complejidad respecto de la
formación que tengo como estudiante
de pregrado, aun así sigo investigando
en el tema, pues como se menciono al
inicio de este documento en la
Universidad de San Buenaventura muy
pocas personas han desarrollado
investigación es temas como este.


Bibliografía


[1] ROBÓTICA Manipuladores y Robots
Móviles, Aníbal Ollero Baturone,
Catedrático de ingeniería de sistemas y
automática de la Escuela Superior de
Ingenieros (Universidad de Sevilla).

[2] ”Control of Nonholonomic System”.
Ting-Yung Wen, J. (1997) The Control
Handbook, CRC Press, IEEE Press.

[3] Feedback Linearization and
Discontinuous Control of Second-Order
Nonholonomic Chained Systems, National
University of Singapore, S. S. Gey, Z.
Suny, T. H. Leey and Mark W. Spongz.