CONTROL DE LA CAMINATA DEL ROBOT HUMANOIDE RH-1
Concepción A. Monje Micharet
Departamento de Ingeniería de Sistemas y Automática, Escuela Politécnica Superior, Universidad Carlos III,
email: [email protected]
Eduardo Liceaga-Castro, Mario R. Arbulu, Dimitry Kaynov, Pavel Staraverov, Paolo Pierro, Carlos Pérez, Luís Pabón, Carlos Balaguer
Departamento de Ingeniería de Sistemas y Automática, Escuela Politécnica Superior, Universidad Carlos III,
email: {edcastro, marbulu, dkaynov, pstarove, ppierro, cmperez, balaguer}@ing.uc3m.es
Resumen
En este trabajo se aborda el modelado y control del robot humanoide Rh-1, un prototipo de humanoide a escala íntegramente desarrollado por el grupo de investigación Robotics Lab de la Universidad Carlos III de Madrid y el único de su categoría en nuestro país. El objetivo final es desarrollar un sistema de control avanzado que permita la realización de tareas de colaboración hombre-humanoide. Como paso inicial se aborda el problema de la estabilidad del sistema durante la caminata del robot, de manera que éste pueda seguir un patrón de movimiento determinado. Para ello se obtiene inicialmente un modelo dinámico para el humanoide basado en el péndulo invertido simple. Posteriormente se presenta una estrategia de control para el mismo basada en la técnica de model matching. Con todo ello se pretende emular los resultados experimentales obtenidos de las diversas pruebas realizadas sobre la plataforma real, validando así el modelo del sistema y permitiendo realizar controles más complejos del mismo. Se presentan los primeros resultados de simulación obtenidos.
Palabras Clave: Robot humanoide Rh-1, péndulo invertido, identificación, técnica de model matching.
1 INTRODUCCIÓN
El robot humanoide Rh-1, cuyo modelo se simplifica en este trabajo mediante el sistema de péndulo invertido simple como paso previo a un modelo más complejo, ha sido desarrollado dentro del equipo de trabajo Robotics Lab de la Universidad Carlos III de Madrid ([1], [2], [4], [6]). Una imagen del mismo se presenta en la Figura 1. Se trata de un humanoide que
mide 1.50m de altura, pesa 50Kg y cuenta con 21 grados de libertad distribuidos en piernas, brazos y tronco. Consta de hardware totalmente embebido y baterías con una autonomía de 30 minutos. En cuanto al hardware, tiene dos ordenadores principales en formato PC-104, uno para comandar los motores y otro para el procesamiento de imágenes y sonidos. Dado que el control de los motores es distribuido, dispone de un servodriver para cada motor. Los motores se comunican con el PC-104 respectivo mediante un bus de campo (CANBUS). Para el control de la estabilidad del robot, dispone de sensores inerciales (acelerómetros y giróscopos) que permiten compensar los efectos gravitatorios e inerciales del robot mientras se esta moviendo. La cámara que posee tiene dos grados de libertad (pan-tilt) que permiten incrementar su rango visual y, junto con los micrófonos y altavoces, son comandados por el otro PC-104. Es operado mediante comunicación inalámbrica desde un ordenador portátil o Workstation. Puede andar hasta 0.8Km/h en línea recta, rotar y andar lateralmente, recibir comandos de voz, emitir respuestas, reconocer y contestar comandos visuales mediante gestos, reconocer caras y localizar la posición y orientación de un objetivo.
Obtener un modelo matemático completo que describa el comportamiento del Rh-1 es una tarea compleja y poco práctica desde el punto de vista del control del sistema. Por ello, en este trabajo se pretende obtener un modelo simplificado del Rh-1 de manera que pueda abordarse el problema de control de la caminata del mismo de una manera más sencilla. Posteriormente, este modelo deberá depurarse y completarse para representar más fielmente al sistema completo.
El trabajo que aquí se presenta se divide en las siguientes secciones. En la sección 2 se aborda el modelo del péndulo invertido simple. La sección 3 propone una estrategia de control para dicho modelo teniendo en cuenta para ello las señales experimentales de posición obtenidas de las pruebas de caminata realizadas sobre la plataforma real. Los resultados de simulación obtenidos se presentan en la sección 4 y se concluye con la sección 5, donde se destacan los aspectos más relevantes del trabajo y las consideraciones futuras.
2 MODELO DEL PÉNDULO
INVERTIDO SIMPLE
De manera muy simplificada podemos considerar que la estructura de un humanoide puede asemejarse a la de un péndulo invertido como el de la Figura 2.
Figura 2. Péndulo invertido simple
La semejanza se establece del siguiente modo: consideramos que la masa del humanoide (m) se concentra en el punto extremo del péndulo y que la masa de la barra rígida de longitud l es despreciable respecto de esa masa puntual, siendo l la distancia desde el suelo al centro de masas del humanoide. Igualmente, consideramos que la acción que permite desplazar esa masa m un ángulo
θ
a una determinada velocidadθ
&
se ejerce mediante un servomotor anclado al extremo fijo de la barra, y queservomotor emula el comportamiento del tobillo del humanoide, que es quien ejerce mayoritariamente la acción de control durante la caminata.
Bajo estos supuestos, podemos encontrar un modelo de péndulo invertido que represente de forma válida al robot humanoide Rh-1. A continuación se describe dicho modelo.
Para escribir la ecuación de movimiento del péndulo [5] se estudian primeramente las fuerzas que actúan sobre el mismo. Existe una fuerza gravitacional igual a mg, donde g es la aceleración de la gravedad. Igualmente existe otra fuerza de rozamiento contraria al movimiento, que asumimos proporcional a la velocidad del péndulo con un coeficiente de rozamiento k. Usando la segunda ley de movimiento de Newton, la ecuación de movimiento en la dirección tangencial puede escribirse como
sin
ml
θ
&&
= −
mg
θ
−
kl
θ
&
(1) Para la obtención del modelo en espacio de estado se toman como variables de estadox
1=
θ
yx
2= &
θ
. Por tanto, las ecuaciones de estado son1 2 2
sin
1 2x
x
g
k
x
x
x
l
m
=
= −
−
&
&
(2)Para los puntos de equilibrio se cumple
x
&
1=
x
&
2=
0
, y resolviendo para x1 y x2 2 1 20
0
sin
x
g
k
x
x
l
m
=
= −
−
(3) Los puntos de equilibrio se localizan en( , )
n
π
, para0, 1, 2,...
n
= ± ±
De la descripción física del péndulo es claro que solo pueden darse dos posiciones de equilibrio que se corresponden con los puntos de equilibrio (0,0) y (π
,0). El resto de puntos de equilibrio son repeticiones de estos dos que se corresponden con el número de vueltas completas que el péndulo barre antes de descansar en alguna de las dos posiciones de equilibrio.Físicamente puede observarse que ambas posiciones de equilibrio son muy diferentes la una de la otra. Mientras que el péndulo puede reposar en la posición (0,0), éste difícilmente puede mantenerse en la posición (
π
,0) ya que una perturbación infinitesimal en torno a ese punto lo desequilibrará. Por tanto, la diferencia entre ambos puntos radica en suSi tenemos en cuenta el par T aplicado sobre el péndulo, que en nuestro caso es considerado como la entrada de control, las ecuaciones de movimiento quedan ahora como
1 2 2 1 2 2
1
sin
x
x
g
k
x
x
x
T
l
m
ml
=
= −
−
+
&
&
(4)3
PROBLEMA DE CONTROL EN
LAZO CERRADO
El esquema empleado para el control del péndulo invertido simple se representa en la Figura 3.
Figura 3. Sistema de control
El propósito es controlar la posición de la masa del extremo del péndulo
θ
a través de la acción del servomotor M(s), que produce el par T apropiado en cada momento de manera que pueda seguirse la referenciaθ
ref . En nuestro caso el motor empleado es el del tobillo del humanoide. Este servomotor ha sido autosintonizado experimentalmente para que pueda seguir la trayectoria necesaria para la caminata del robotθ
ref. Por tanto, el motor ya está experimentalmente controlado en lazo cerrado, siendo M(s) su función de transferencia en lazo cerrado.Debe aclararse que actualmente este sistema sólo trabaja de manera offline, esto es, no existe una realimentación online de la posición del extremo una vez se inicia la caminata. Nuestro propósito inicial es emular este mismo comportamiento mediante un modelo matemático que pueda simularse y, posteriormente, realimentar con un control más sofisticado la posición del extremo en cada momento para poder así corregir el efecto de las perturbaciones externas.
Por tanto, para reproducir el esquema de control de la Figura 2 es necesario identificar previamente el modelo M(s) del motor en lazo cerrado y después calcular la acción de control T para que
(
θ θ
−
r)
→
0
y(
θ θ
& &
−
r)
→
0
.3.1 IDENTIFICACIÓN DEL SERVOMOTOR
El modelo del servomotor ha sido identificado mediante las señales de entrada y salida de posición medidas experimentalmente en la plataforma real. La consigna de posición a la entrada del servomotor es una onda cuadrada. En la Figura 4 se representa medio ciclo de dicha señal de entrada y la señal de salida resultante medida sobre el motor.
Figura 4. Señales experimentales de entrada y salida para la identificación del servomotor
Con estas dos señales, y considerando un modelo paramétrico de tercer orden para el motor, la función de transferencia obtenida es 2 6 3 2 4 6 55.03 5439 2.73·10 ( ) 111.2 5.14·10 2.73·10 s s M s s s s + + = + + + (5)
3.2 TÉCNICA DE MODEL MATCHING
Una vez identificado el servomotor en lazo cerrado, debemos resolver el problema de control de manera que la salida de posición del péndulo
θ
siga a la consigna de referenciaθ
ref . Además, según el esquema de la Figura 3,(
θ θ
r−
ref)
→
0
, ya que el motor ha sido controlado en lazo cerrado para seguir a la referencia. En definitiva, con esta estrategia de control se pretende cancelar la dinámica del péndulo, encontrando la ley de control T que lo haga posible. Para ello empleamos la técnica de model matching descrita en [3], basada en la linealización de entrada-salida del sistema. Las ecuaciones obtenidas de esta técnica son2 1 2 1 2 2 1
0
1
sin
x
x
u
g
k
x
x
x
ml
l
m
y
x
⎡
⎤ ⎡
⎤
⎡ ⎤ ⎢
=
⎥ ⎢
+
⎥
⎢ ⎥ ⎢
−
−
⎥ ⎢
⎥
⎣ ⎦
⎣
⎦
⎣
⎦
=
&
&
(6)Por tanto, la relación directa entre la entrada y la salida del sistema viene dada por
1 2 2
1
sin
g
k
y
x
x
u
l
m
ml
= −
−
+
&&
(7)con
u
=
T
yy
=
θ
. El objetivo es obtener la ley de control u tal que y siga a la referenciaθ
ref comoθ
r sigue aθ
ref , es decir, la ley de control que hace quela dinámica del sistema completo sea la del modelo
( )
rref
M s
θ
θ
=
obtenido previamente mediante identificación.Para ello definimos u como
u
ml
2( sin
g
x
1k
x
2)
l
m
ν
⎡
⎤
=
⎢
+
+
⎥
⎣
⎦
(8)con lo que
&&
y
=
ν
(ver Ecuación (7)). Eligiendo(
)
ra
ry
ν θ
=
&
+
θ
−
(9) se obtiene que(
)
r ry
=
θ
&
+
a
θ
−
y
&&
(10) El valor dea
se selecciona de manera que se obtenga el mínimo error de seguimiento de la trayectoria de referencia.4
RESULTADOS DE SIMULACIÓN
La estrategia de control descrita previamente se ha implementado en Matlab. Los parámetros para la simulación son m=50Kg, l=1m, g=9.8m/sec2 , k=0.1, y
a
=
0.1
. La consigna de posición a la entrada del sistema es una constante de valorπ
, siendo esta misma la posición inicial del péndulo. Es decir, el péndulo debe mantenerse en la posición de equilibrio( , 0)
π
. La Figura 5 muestra los valores de la posición angular del extremo del péndulo y de lavelocidad angular del mismo ante dicha entrada de referencia.
Figura 5. Posición y velocidad del extremo del péndulo
5
CONCLUSIONES Y TRABAJOS
FUTUROS
En este trabajo se ha obtenido un modelo simplificado para el robot humanoide Rh-1 basado en el modelo del péndulo invertido sencillo. Se ha aplicado una estrategia de control basada en la técnica de model matching para controlar la posición del extremo del péndulo de manera que ésta siga la consigna asignada. Los resultados de simulación presentados muestran la efectividad del método. Como trabajo futuro se plantea el diseño de una estrategia de control que permita la realimentación online de la posición del extremo del péndulo para poder asegurar la robustez del sistema ante perturbaciones externas e incertidumbres del modelo. Agradecimientos
Este trabajo ha sido financiado por el Proyecto CYCIT DPI2004-00325 y desarrollado dentro del equipo de trabajo Robotics Lab de la Universidad Carlos III de Madrid.
Referencias
[1] Arbulú, M., Balaguer, C., (2007). Real -Time gait planning for Rh-1 humanoid robot, using Local Axis Gait algorithm. In Proc. IEEE-RAS International Conference on Humanoid Robots (Humanoids'2007), Pittsburg-Pensi, USA. [2] Cabas, L.M., Cabas, R., Staroverov, P., Arbulú,
M., Kaynov, D., Pérez, C., Balaguer, C., (2006). Mechanical calculations on a humanoid robot. In Proc. 9th International Conference on Climbing and Walking Robots (Clawar 2006),
[3] Isidori, A., (1995). Nonlinear Control Systems. Springer: Great Britain, London.
[4] Kaynov, D., Arbulú, M., Balaguer, C., (2007). Arquitectura de control para la marcha dinámica de los robots humanoides. Aplicación al robot Rh-1. In Proc. Arquitecturas de control para robots, Madrid, Spain.
[5] Khalil, H. K., (1999). Nonlinear systems. Pearson Education: Upper Saddle River, New Jersey.
[6] Staroverov, P., Kaynov, D., Arbulú, M., Cabas, L.M., Balaguer, C., (2007). Creating a gesture recognition system based on shirt shapes. In Proc. 8th International Conference on Climbing and Walking Robots (Clawar 2007), Singapore.