Fundamentos de Robótica: 2017-I
Cinemática de Robots
Móviles
Prof. Oscar E. Ramos, Ph.D.
ICRA (IEEE International Conference on Robotics and Automation) 2016
[Link]
- 22 -
Temas
1. Introducción
2. Locomoción con Patas
3. Locomoción con Ruedas
4. Representación del Robot Móvil
5. Modelo Cinemático de las Ruedas
6. Cinemática del Robot Móvil
3
Introducción
Robot Móvil vs Manipulador
• Robot Manipulador:
- Fijo al entorno (base fija)
• Robot Móvil:
- No está fijo en el entorno (es móvil) → posee locomoción
4
Introducción
¿Qué es “locomoción”?
[Link]
5
Introducción
Locomoción
• Habilidad para moverse de un lugar a otro
- Describe el movimiento de un mecanismo en su entorno.
• Depende del medio
- Aire → robots aéreos (quadcopter, hexacopter, etc.)
- Tierra → robots móviles terrestres (con ruedas, patas, otros “bioinspirados”)
- Agua → robots submarinos
• Difícil de imitar a la naturaleza
6
Introducción
Locomoción
De: Siegwart et al (2011), Autonomous Mobile Robots
7
Introducción
Locomoción Terrestre
• Tipos de locomoción
- Con patas
- “Bioinspirados”: serpiente, salamandra, canguro
- Con ruedas
• Locomoción más fácil: ruedas
- Ruedas son eficientes, pero no existen en la naturaleza
• ¿Caminar o rodar?
- Número de actuadores
- Complejidad de la estructura
- Complejidad del control
- Eficiencia de la energía (tipo de terreno)
8
Temas
1. Introducción
2. Locomoción con Patas
3. Locomoción con Ruedas
4. Representación del Robot Móvil
5. Modelo Cinemático de las Ruedas
6. Cinemática del Robot Móvil
9
Locomoción con Patas
¿Por qué robots con patas?
• Pueden atravesar muchos obstáculos
• Energéticamente ineficientes
• Requieren bastante control
Puntos de contacto
El terreno entre los
contactos no interesa
10
Locomoción con Patas
Dificultad de Control
Menos estables
Más estables
(si se detienen se caen) (si se detienen no se caen)
Se estabilizan en un ciclo límite Estables estáticamente
Requieren control “rápido” Mayor coordinación
11
Locomoción con Patas
Piernas con 3 grados de libertad
• Comúnmente usadas en robots con ≥ 4 patas
• Estructura típica
Abducción de Flexión de
cadera rodilla
Flexión de
cadera
• Ejemplo:
StarlETH
12
Locomoción con Patas
Piernas con 3 grados de libertad
Robot StarlETH
[Link]
M. Hutter et al. (2013), Efficient and Versatile
Locomotion With Highly Compliant Legs
13
Locomoción con Patas
Piernas con más de 3 grados de libertad
• Robots humanoides:
- Usualmente 6 grados de libertad en cada pierna
• Cadera: 3 gdl
• Rodilla: 1 gdl
• Tobillo: 2 gdl
• Otros robots con varios gdl por pata 3 gdl
- RoboSimian
1 gdl
2 gdl
14
Locomoción con Patas
Control de los Pasos
• Cada pata es una cadena cinemática serial
- Se puede modelar cinemáticamente como un “manipulador”
(cinemática directa/inversa)
On the biomimetic design of Modelo del Robot AIBO ERS-220 de SONY
agile-robot legs (Garcia et al)
15
Locomoción con Patas
Control de los Pasos
• Formas de control
- Independiente: Cada pierna por separado
• Se pierde la redundancia del sistema
• Más “fácil” de controlar
- Sincronizado: Todas las piernas juntas
• Se aprovecha la redundancia del sistema
• Permite movimiento coordinado de todas las patas (movimiento de cuerpo completo)
• Requiere modelar una “base flotante”: q = (qact, xbase)
• Siempre se debe tomar en cuenta el balance (equilibrio):
- Tipos de balance: estático y dinámico
16
Locomoción con Patas
Balance (Locomoción) Estático y Dinámico
• Equilibrio estático:
- Mantiene el equilibrio en todo momento
- El centro de masa (centro de gravedad) no debe salir del
polígono de soporte
- Movimiento lento (una pata a la vez)
- Ineficiente energéticamente
• Equilibrio dinámico:
- Mantiene el equilibrio mientras el sistema no se
detenga (si se detiene repentinamente se puede caer)
- El centro de masa puede salir del polígono de soporte
- Movimiento rápido (varias patas a la vez)
- Eficiente energéticamente
- Requiere control más complicado
Polígono de soporte: envoltura convexa de los puntos en contacto con el suelo 17
Locomoción con Patas
Robots con Múltiples Patas
• Número de posibles pasos depende del número de patas
- Paso: secuencia de eventos de levantar y bajar cada pierna
• Número N de distintas secuencias para un robot con k patas:
N (2k 1)!
- Ejemplo: en un robot con 2 patas: N = 6
• Ambas abajo – derecha abajo / izquierda arriba – ambas abajo
• Ambas abajo – derecha arriba / izquierda abajo – ambas abajo
• Ambas abajo – ambas arriba – ambas abajo
• Derecha abajo / izquierda arriba – derecha arriba / izquierda abajo – derecha abajo / izquierda
arriba
• Derecha abajo / izquierda arriba – ambas arriba – derecha abajo / izquierda arriba
• Derecha arriba / izquierda abajo – ambas arriba – derecha arriba / izquierda abajo
- En un robot con 6 patas: N = 11! = 39 916 800
18
Locomoción con Patas
Robots con Múltiples Patas
Ejemplo de locomoción
Con 4 patas Con 6 patas
En el
suelo En el
aire
19
Temas
1. Introducción
2. Locomoción con Patas
3. Locomoción con Ruedas
4. Representación del Robot Móvil
5. Modelo Cinemático de las Ruedas
6. Cinemática del Robot Móvil
20
Locomoción con Ruedas
¿Por qué robots con ruedas?
• Energéticamente eficientes
• Requieren poca acción de control
• Implementación mecánica simple
• Por lo general, el balance no es un problema
• No pueden atravesar terreno con obstáculos
21
Locomoción con Ruedas
Tipos de Ruedas
1. Rueda convencional (estándar)
- Rueda fija:
Rotación alrededor del eje de
̇
la rueda
- Rueda orientable centrada:
̇
• Rotación alrededor del eje de la
rueda
• Rotación alrededor del punto de
contacto ̇
22
Locomoción con Ruedas
Tipos de Ruedas
2. Rueda orientable descentrada
• Rotación alrededor del eje de la rueda ( ̇ )
• Rotación alrededor del eje descentrado ( ̇ )
- Es omnidireccional!
23
Locomoción con Ruedas
Tipos de Ruedas
3. Rueda omnidireccional (swedish)
90° 45°
• Rotación alrededor del eje de la rueda (actuado)
• Rotación de las pequeñas ruedas (no actuado)
- Es omnidireccional!
[Link] 24
Locomoción con Ruedas
Tipos de Ruedas
4. Rueda esférica
• Rotación alrededor de los 3 ejes
• Puede ser actuado o no actuado
• También llamados: ball caster
25
Locomoción con Ruedas
Configuraciones de Ruedas
• Dos ruedas
diferencial
bicicleta orientables
actuadas
Robot Cye
Segway
26
Locomoción con Ruedas
Configuraciones de Ruedas
• Tres ruedas
omnidireccionales
Palm pilot robot
27
Locomoción con Ruedas
Configuraciones de Ruedas
• Cuatro ruedas
descentrada
Robot Uranus (CMU)
Hyperion (CMU)
Nomad XR4000
28
Locomoción con Ruedas
Características de Robots con Ruedas
• Equilibrio estático se garantiza con 3 ruedas
- Pero posible con 2 ruedas si el CdM está debajo del eje.
• Equilibrio mejora con 4 ruedas y más.
- Pero requiere un sistema de “suspensión”.
• Ruedas grandes permiten atravesar obstáculos
- Pero requieren mayor torque o reducciones de engranajes
• La mayoría de configuraciones son “no-holonómicas”
- Requieren alto control.
CdM: Centro de masa 29
Locomoción con Ruedas
Robots Holonómicos
• Sistema holonómico
- Las restricciones son integrables
• Robot holonómico
- La restricción es la velocidad del robot
- La velocidad v(t) es integrable si existe una trayectoria s(t) que depende
solamente de la posición (x, y) y orientación (θ):
s s ( x, y , )
s s s
Equivalentemente: ds dx dy d
x y
- Condición para que la integrabilidad (de s):
2s 2s 2s 2s 2s 2s
xy yx x x y y
30
Locomoción con Ruedas
Robots Holonómicos
• Características
- La posición/orientación del robot no está restringida por la velocidad
- El robot se puede mover instantáneamente en cualquier dirección del
espacio (2D / 3D)
- Son robots omnidireccionales
31
Locomoción con Ruedas
Robots no-holonómicos
• Sistema no-holonómico
- Las restricciones no son integrables
• Robot no-holonómico
- La restricción es la velocidad del robot: la velocidad v(t) NO es integrable
• No existe trayectoria s(t) que dependa solamente de la posición y orientación
• Hay restricción en las velocidades (direcciones) que el robot puede alcanzar
• Ejemplo: Configuración Ackermann (usada en automóviles)
Puede haber movimiento instantáneo en algunas direcciones
(hacia adelante/atrás) pero no en otras (hacia los lados)
32
Locomoción con Ruedas
Robots no-holonómicos
• Características
- La posición/orientación del robot está restringida por la velocidad (no se da en
todas las direcciones)
- El robot no se puede mover instantáneamente en cada dirección del espacio
- La medición de la distancia recorrida por cada rueda no basta para calcular
la posición/orientación final
Iguales distancias recorridas: s1R s2 R (x1,y1)
s1L s2 L
Posición final del robot: ( x1 , y1 ) ( x2 , y2 ) s1L s1R
s2L
También se debe conocer la (x2,y2)
evolución temporal del movimiento s2R
- Son robots no omnidireccionales
33
Locomoción con Ruedas
Robots no-holonómicos
Ejemplo
En un robot diferencial la velocidad instantánea está
dada por:
ds dx dy
v(t ) cos sin
dt dt dt
¿Es este robot holonómico o no holonómico?
Por inspección, la diferencial de la trayectoria es: ds dx cos dy sin
Si es un robot holonómico se tiene:
s s s s s s
ds dx dy d cos , sin , 0
x y x x
Y se debe satisfacer (3 igualdades):
2s 2s El robot diferencial
0
sin no es holonómico
x x
34
Locomoción con Ruedas
Representación del Robot
YI x
• Posición del Robot:
I
rOR y
0
• Orientación del Robot: θ
y
I • En robótica móvil 2D se suele escribir
rOR posición y orientación en un solo vector:
x
O x XI - Posición y orientación: I y
Sistema de referencia inercial: {I }
(global, absoluto, fijo) x
Sistema de referencia del robot: {R} - Velocidad: y
I R
R RI I
35
Locomoción con Ruedas
Cinemática de Robots Móviles
• Relaciona lo que sucede con los motores (las ruedas) con lo que
sucede en el espacio Cartesiano (posición/orientación)
• Debido a las restricciones no-holonómicas:
- En robótica móvil se usa cinemática diferencial
- Se hace transformaciones de velocidades (en lugar de posiciones)
- En general no se puede obtener relaciones de posición (la velocidad no es en
general integrable)
• Esto es una diferencia con respecto a la cinemática de robots
manipuladores
36
Locomoción con Ruedas
Cinemática de Robots Móviles
Cinemática [diferencial] directa
f ( 1 , , n , 1 , m , 1 , m )
i x
I
y
i
Velocidad de ruedas Velocidad del robot
i , , i , , i f ( x , y , )
T
Cinemática [diferencial] inversa
i : velocidad de la rueda sobre su eje n ruedas
i : velocidad de rotación de cada rueda (steering) m ruedas orientables
37
Locomoción con Ruedas
Cinemática de Robots Móviles
• Objetivo:
Descripción del comportamiento del robot para diseño y control
• Dado un robot con M ruedas
- Cada rueda impone restricciones (0, 1, 2) en el movimiento del robot.
- Estas restricciones definen la cinemática del robot
Para entender el movimiento del robot
(cinemática) hay que entender las restricciones
que imponen las ruedas.
38
Temas
1. Introducción
2. Locomoción con Ruedas
3. Representación del Robot Móvil
4. Modelo Cinemático de las Ruedas
5. Cinemática del Robot Móvil
39
Cinemática de las Ruedas
Modelo de las Ruedas
• Suposiciones (rueda ideal)
1. La estructura es rígida
2. El plano de la rueda es vertical
3. Hay solo 1 punto de contacto (entre
rueda/suelo)
• Dos restricciones: v0
1. En el plano de la rueda: rodadura pura (no
v
hay deslizamiento)
2. En el plano ortogonal a la rueda: no hay
movimiento
40
Cinemática de las Ruedas
Rueda Convencional
vx 0
r
v y r
Restricción de la rueda:
41
Cinemática de las Ruedas
Modelo de la Rueda Convencional
YI
I
rRW
y
I l sin
rOW
l
I
rOR
l cos
O x XI
Posición de la rueda con
respecto al sistema inercial: x l cos
y l sin
I
rOW I rOR I rRW I
rOR
R
rRW
I 0 0
rOW I rOR I RR R rRW
42
Cinemática de las Ruedas
Modelo de la Rueda Convencional
YI
Velocidad de la rueda con
respecto al sistema inercial:
I
rRW
y
I
rOW
I
rOR
O x XI
Posición de la rueda con
respecto al sistema inercial:
I
rOW I rOR I RR R rRW
43
Cinemática de las Ruedas
Modelo de la Rueda Convencional
YI
Velocidad de la rueda con
respecto al sistema inercial:
I
rRW
y
I
rOW
I
rOR
O x XI
Posición de la rueda con
respecto al sistema inercial: 0
I
I
R 0
rOW I rOR I RR R rRW
44
Cinemática de las Ruedas
Modelo de la Rueda Convencional
Restricción de la rueda: Velocidad de la rueda con
respecto al sistema inercial:
Velocidad de la rueda con
respecto al sistema de la rueda:
vx 0
r
v y r
45
Cinemática de las Ruedas
Modelo de la Rueda Convencional
1. Restricción paralela al movimiento
2. Restricción perpendicular al movimiento
46
Cinemática de las Ruedas
Rueda Orientable Descentrada
1. Restricción paralela al movimiento
2. Restricción perpendicular al movimiento
47
Cinemática de las Ruedas
Rueda Omnidireccional (Sweedish)
1. Restricción paralela al movimiento
2. Restricción perpendicular al movimiento
48
Temas
1. Introducción
2. Locomoción con Ruedas
3. Representación del Robot Móvil
4. Modelo Cinemático de las Ruedas
5. Cinemática del Robot Móvil
49
Cinemática del Robot Móvil
El modelo cinemático del robot se obtiene a
partir del modelo cinemático de cada una de
sus ruedas.
50
Cinemática del Robot Móvil
Ejemplo: Robot Diferencial
Características:
• 2 ruedas convencionales fijas
• El sistema de referencia del robot
está entre ambas ruedas
Para obtener el modelo cinemático:
• Usar las restricciones de las ruedas
51
Cinemática del Robot Móvil
Ejemplo: Robot Diferencial
90
0
l b
90
0
l b
52
Cinemática del Robot Móvil
Ejemplo: Robot Diferencial
izquierda
90 • Restricciones de cada rueda fija:
0
l b
• Rueda derecha:
RI I rr
R
1 0 b
0 1 0 R I 0
R
I
• Rueda izquierda:
RI I rl
R
90 1 0 b
0 R I 0
R
0 1 0 I
derecha l b
53
Cinemática del Robot Móvil
Ejemplo: Robot Diferencial
izquierda
90 • Rueda derecha:
0
RI I rr
R
1 0 b
l b
R I 0
R
0 1 0 I
• Rueda izquierda:
RI I rl
R
1 0 b
R I 0
R
0 1 0 I
90 1 0 b r 0
0 1 0 b 0 r r
R
derecha l b 0 1 0 0 0 l
0 1 0 0 0
54
Cinemática del Robot Móvil
Ejemplo: Robot Diferencial
• Cinemática directa: f ( )
A R B
R
A# B 1 0 b r 0
1 0 b 0 r r
R
r r R
x 2 2
0 1 0 0 0 l
y 0 0 r
l 0 1 0 0 0
r r
2b 2b A B
A R B
r
R
x r l Pseudo-inversa de Moore-Penrose:
2
r A# ( AT A) 1 AT
r l
2b
55
Cinemática del Robot Móvil
Ejemplo: Robot Diferencial
• Cinemática inversa: f ()
B A R
B # A R 1 0 b r 0
1 0 b 0 r r
x
R
R
r 1 / r 0 b/r
y 0 1 0 0 0 l
1 / r 0 b / r
l 0 1 0
0 0
A B
1 A R B
r R
x b
r
Pseudo-inversa de Moore-Penrose:
1
l R
x b B # ( BT B ) 1 BT
r
56
Cinemática del Robot Móvil
Ejemplo: Robot Diferencial
• Resultados finales para un robot diferencial:
- Cinemática directa
r r
R
x r l r l
2 2b
- Cinemática inversa
1 1
r R
x b l R
x b
r r
r : velocidad de la rueda derecha
l : velocidad de la rueda izquierda
r : radio de las ruedas
R
x : velocidad lineal del robot en x
: velocidad angular del rob
b : distancia del centro hacia cada rueda
57
Conclusiones
• Las ruedas imponen restricciones sobre el movimiento
• El modelo cinemático de un robot se obtiene a partir
de las restricciones de las ruedas.
• La cinemática usa las velocidades debido a las
restricciones no-holonómicas
• El modelo cinemático del robot es útil para análisis y
control.
Referencias
• R. Siegwart, R.I. Nourbakhsh, and D. Scaramuzza. Introduction to
Autonomous Mobile Robots. MIT press, 2011. (Capítulo 3)
• C.C. de Wit, B. Siciliano, and G. Bastin, eds. Theory of Robot Control.
Springer Science & Business Media, 2012 (Capítulo 7).
• B. Siciliano and O. Khatib, eds. Springer Handbook of Robotics.
Springer Science & Business Media, 2016 (Capítulo 17)
• B. Siciliano, L. Sciavicco, L. Villani, y G. Oriolo. Robotics: modelling,
planning and control. Springer Science & Business Media, 2010
(Capítulo 11)
59