INSTITUTO POLITÉCNICO NACIONAL

INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN Modelado y Control de un Manipulador Móvil en el Espacio de la Tarea TESIS QUE
Author:  Samuel Rivas Palma

2 downloads 224 Views 10MB Size

Recommend Stories


INSTITUTO NACIONAL DE REHABILITACION
INSTITUTO NACIONAL DE REHABILITACION RELACION DE ADQUISICIONES DE LAS PARTIDAS 2504,2505 Y 2506 CORRESPONDIENTES AL TERCER TRIMESTRE DEL 2007 CLAVE

INSTITUTO NACIONAL DE SEGUROS
INSTITUTO NACIONAL DE SEGUROS Levantamiento Seguro de Cargas LEVANTAMIENTO SEGURO DE CARGAS COMO FUNCIONA SU ESPALDA La Columna Vertebral puede con

Instituto Nacional deturismo
Encuesta Turismo 2017 / Instituto Nacional deTurismo Informe Encuesta Turismo 2017 Encuesta Turismo 2017 / Instituto Nacional deTurismo Resultados

Story Transcript

INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN

Modelado y Control de un Manipulador Móvil en el Espacio de la Tarea

TESIS QUE PARA OBTENER EL GRADO DE DOCTOR EN CIENCIAS DE LA COMPUTACIÓN PRESENTA: GASTÓN HUGO SALAZAR SILVA

DIRECTORES DE TESIS: DR. MARCO ANTONIO MORENO ARMENDÁRIZ DR. JAIME ÁLVAREZ GALLEGOS

México, D.F.

Julio 2013

Resumen Un manipulador móvil es básicamente un brazo manipulador estacionario el cual se monta sobre un robot móvil y por lo tanto es capaz de desempeñar simultáneamente las tareas de locomoción y manipulación. Al poder realizar ambas tareas concurrentemente, el manipulador móvil tiene ventajas sobre los manipuladores estacionarios, tales como un mayor espacio de trabajo y mayor autonomía, lo cual puede ser una ventaja en ambientes poco estructurados; también puede tener desventajas, tal como la presencia de restricciones no holónomas. El presente trabajo muestra los resultados obtenidos en el modelado y control de un manipulador móvil. En el problema del modelado se muestra un método integral de modelado cinemático de manipuladores móviles con ruedas que permite aplicar las mismas herramientas usadas en el modelado de robots estacionarios, y presentan a los manipuladores móviles como un caso particular de aquellos. Se presenta además un algoritmo para el modelado de la dinámica inversa de un manipulador móvil por medio de una extensión del método de Newton–Euler. Por otro lado se aplican estas técnicas de modelado en el desarrollo de un conjunto de controladores basados en el control por resolución de aceleración. Estos esquemas de control propuestos son puestos a prueba por medio de simulaciones numéricas y experimentos sobre una plataforma física.

iv

Abstract A mobile manipulator is basically a robot arm which is mounted on a mobile robot, and therefore is able to perform concurrently the tasks of locomotion and manipulation. The mobile manipulators have advantages over stationary robots, such as a larger workspace and higher autonomy, which can be an advantage in environments with low structure; however, they have disadvantages, such as the presence of non-holonomic restrictions. This document shows the results obtained in the modeling and control of a mobile manipulator. The kinematic–modeling problem is solved thanks to an integral method that apply the same tools used in the modeling of stationary robots; also an algorithm is showed for the dynamic modeling of a mobile manipulator through an extension of the Newton–Euler’s method . On the other hand, thanks to these modeling techniques, a set of controllers are developed. These proposed controllers are verified with help of simulations and experiments on a physical platform.

v

Agradecimientos En primera instancia agradezco al Instituto Politécnico Nacional por el apoyo recibido para poder realizar mis estudios de doctorado. En particular deseo agradecer por su apoyo al Dr. Efrén Parada Arias y al Dr. Luis Humberto Fabila Castillo, quienes fueran respectivamente Secretario General y Secretario de Investigación y Posgrado del Instituto, así como al Dr. José Guadalupe Trujillo Ferrara, quien fuera titular de la Dirección de Posgrado. También agradezco a la Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas (UPIITA) por el apoyo recibido, y en particular al M. en C. Arodí Rafael Carballo Domíguez, Director de la Unidad, agradezco su confianza y apoyo. Pude realizar esta meta en mi vida gracias a una licencia con goce de sueldo que obtuve con el apoyo del Comité Técnico para el Otorgamiento de Becas de Estudio, Apoyos Económicos y Licencias con Goce de Sueldo (COTEBAL); deseo agradecer particularmente a la Lic. Araceli Baeza Orduña. Al Centro de Investigación en Computación agradezco por la confianza y la formación recibida. También tengo un agradecimiento especial a la Sección de Mecatrónica en el Departamento de Ingeniería Eléctrica del Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional (CINVESTAV) por su cooperación y apoyo con el préstamo de equipo y espacio, y en particular de la plataforma experimental. En especial al Dr. Alejandro Rodríguez Ángeles, quien fuera el titular de la Sección y que gracias a su apoyo este proyecto se pudo realizar. Tengo un especial agradecimiento a mis directores de tesis por su experiencia y apoyo, el Dr. Marco Antonio Moreno Armendáriz y el Dr. Jaime Álvarez Gallegos. También deseo agradecer a los miembros del comité tutorial, el Dr. Alejandro Rodríguez Ángeles, el Dr. Juan Humberto Sossa Azuela y el Dr. Victor Ponce Ponce, que revisaron el documento y aportaron su experiencia e ideas para mejorarlo.

vi

vii Agradezco especialmente al Dr. Carlos Alberto Cruz Villar y al Dr. Rafael Castro Linares, del CINVESTAV, por su apoyo con equipo e ideas. Por otro lado, agradezco al M. en C. Igor Morett Valenzuela y al Ing. Jesús Bañuelos González, también del CINVESTAV, por su apoyo en el laboratorio. También deseo agradecer al M. en C. Sergio Galván Colmenares, y esperemos prontamente Doctor, por su apoyo. En cuanto a mi amigo José Javier Ruiz Leiva, un gran abrazo por su amistad y apoyo. También deseo agradecer a mi madre, Ma. Armida Silva Lepe, y a mi padre, Gastón H. Salazar Gómez, por su apoyo y su amor; también quiero mencionar a mis hermanos Juan y Fernanda. Por otro lado, quiero agradecer en especial a mi tía Cristina Salazar Gómez por su apoyo y cariño. También le agradezco a mi suegra Daisy Elena Sánchez Aizpurúa por su apoyo y comprensión. Finalmente, pero no por ello al último, deseo agradecer a mi esposa Hortensia y mis hijos Gastón y Julia; sin su cariño, su confianza y apoyo este proyecto no hubiera sido posible; gracias a ustedes tres con todo mi corazón y les dedico este trabajo. /Julio, 2013./

Índice general 1. Introducción 1.1. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Modelado de manipuladores móviles . . . . . . . . . . . . . . . . 1.1.2. Diseño de controladores para manipuladores móviles en el espacio de la tarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Planteamiento del problema e hipótesis . . . . . . . . . . . . . . . . . . 1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Resultados presentados en diversos foros . . . . . . . . . . . . . . . . . 1.5. Presentación del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Marco teórico–conceptual 2.1. Cinemática directa . . . . . . . . . . . . . . . . 2.2. Modelo cinemático . . . . . . . . . . . . . . . . 2.2.1. Restricciones cinemáticas no holónomas . 2.2.2. Modelo cinemático de configuración . . . 2.2.3. Modelo cinemático de postura . . . . . . 2.3. Modelo dinámico . . . . . . . . . . . . . . . . . 2.4. Conclusiones . . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

3. Modelado de manipuladores móviles 3.1. Método integral para obtener la cinemática directa . 3.2. Método integral para obtener el modelo cinemático de 3.3. Método recursivo para obtener el modelo dinámico . 3.3.1. Notación . . . . . . . . . . . . . . . . . . . . . 3.3.2. Obtención de la dinámica . . . . . . . . . . . 3.3.3. Obtención de las velocidades y aceleraciones .

viii

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . postura . . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . .

. . . . . . .

. . . . . .

. . . . . . .

. . . . . .

. . . . . . .

. . . . . .

1 2 3 4 6 7 7 8

. . . . . . .

10 11 12 12 13 14 16 18

. . . . . .

19 20 21 22 22 23 26

ÍNDICE GENERAL

ix

3.3.4. Implementación del algoritmo . . . . . . . . . . . . . . . . . . . 3.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26 28

4. Control de manipuladores móviles 4.1. Control por cancelación de la dinámica y un regulador PD . . . . . . . 4.2. Control por resolución de aceleración en espacio de configuración . . . . 4.3. Control por resolución de aceleración en el espacio de tarea . . . . . . . 4.4. Control robusto basado en Lyapunov por resolución de aceleración en el espacio de tarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ˙ 4.5. Estimación de B(q)η . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29 30 32 33

5. Validación numérica 5.1. Modelo numérico del manipulador móvil . . 5.2. Controlador en el espacio de configuración . 5.3. Controlador en el espacio de tarea . . . . . . 5.4. Controlador robusto en el espacio de la tarea 5.5. Conclusiones . . . . . . . . . . . . . . . . . .

. . . . .

39 39 43 43 46 50

. . . .

53 53 55 57 58

7. Conclusiones y perpectivas 7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Perspectivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66 66 67 68

A. Publicaciones

75

6. Validación experimental 6.1. Implementación del controlador . . . 6.2. Resultados experimentales del control 6.3. Resultados experimentales del control 6.4. Conclusiones . . . . . . . . . . . . . .

. . . en el en el . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . . espacio de espacio de . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . la tarea: la tarea: . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . caso 1 caso 2 . . . .

34 37 38

Notación n

dimensión de la configuración

nb

dimensión de la configuración de la base móvil

k

dimensión del espacio de velocidades generalizadas admisibles para cada configuración q

m

dimensión del núcleo de la matriz de restricciones no holónomas (m = n − k)

p

dimensión del espacio de tarea

R

espacio vectorial sobre el campo de los reales

E

espacio euclidiano

r

vector de la postura del marco de referencia asociado al elemento final de control (r(t) ∈ Rp ).



vector de las velocidades del marco de referencia asociado al elemento final de control (r(t) ˙ ∈ Rp ).



vector de las aceleraciones del marco de referencia asociado al elemento final de control (¨ r(t) ∈ Rp ).



vector del error de la postura del marco de referencia asociado al elemento final de control (˜ r(t) ∈ Rp ).

rd

vector de la postura deseada del marco de referencia asociado al elemento final de control (rd (t) ∈ Rp ).

η

vector de las velocidades de los actuadores (η(t) ∈ Rm )

η˙

Vector de las aceleraciones de los actuadores (η(t) ˙ ∈ Rm ) x

ÍNDICE GENERAL ηd

vector de las velocidades de referencia de los actuadores (ηd (t) ∈ Rm )

η˜

vector del error en las velocidades de los actuadores (˜ η (t) ∈ Rm )

a

Vector de las aceleraciones deseadas en los actuadores (a(t) ∈ Rm ).

aq

Vector de las aceleraciones generalizadas deseadas (aq (t) ∈ Rn ).

ar

Vector de las aceleraciones en el espacio de tarea deseadas (ar (t) ∈ Rp ).

q

Vector de las coordenadas generalizadas (q(t) ∈ Rn )



Vector de las velocidades generalizadas (q(t) ˙ ∈ Rn )



Vector de las aceleraciones generalizadas (¨ q (t) ∈ Rn )



Vector de error en el espacio configuración (˜ q (t) ∈ Rn ).

qd

Vector de la configuración de referencia (qr (t) ∈ Rn ).

τ

Vector de las fuerzas externas (τ (t) ∈ Rm )

ν

Vector de las fuerzas generalizadas (ν(t) ∈ Rn )

G(q)

Matriz de mapeo de las velocidades de los actuadores a las velocidades generalizadas (G(q) ∈ Rn×m )

B(q)

Matriz de mapeo de las velocidades de los actuadores a las velocidades de postura (B(q) ∈ Rn×m )

J(q)

jacobiano (J(q) ∈ Rp×n )

D(q)

matriz de inercia (D(q) ∈ Rn×n )

M (q)

matriz de inercia del sistema reducido (M (q) ∈ Rm×m )

m(q, η) Vector de las fuerzas potenciales del sistema reducido (m(q, η) ∈ Rm ) c(q) M

c(q) ∈ Rm×m ) matriz de inercia del sistema reducido nominal (M

ξi,j,j

símbolo de Christoff

m(q, b η) Vector de las fuerzas potenciales del sistema reducido nominal (m(q, b η) ∈ Rm )

xi

ÍNDICE GENERAL

xii

C(q, q) ˙ matriz de las fuerzas centrífugas y de Coriolis (C(q, q) ˙ ∈ Rn×n ). g(q)

Vector de la fuerza de gravedad sobre los eslabones (g(q) ∈ Rn ).

A(q)

matriz de ligaduras cinemáticas (A(q) ∈ Rn×k ).

S(q)

mapeo de las fuerzas externas a fuerza generalizadas (S(q) ∈ Rn×m ).

mi

Magnitud de la masa del i-ésimo eslabón (mi (t) ∈ R)

Jvi

jacobiano de velocidad lineal del centro de masa

Jωi

jacobiano de velocidad angular del centro de masa

Fi

Vector de la suma de fuerzas en el i-ésimo eslabón (Fi (t) ∈ E3 )

aci

Vector de aceleración del centro de masas del i-ésimo eslabón (aci (t) ∈ E3 )

ai

Vector de aceleración del centro de masas del i-ésimo eslabón (aci (t) ∈ E3 )

vi

Vector de velocidad del centro de masas del i-ésimo eslabón (vi (t) ∈ E3 )

Ii

Tensor del momento de inercia en el i-ésimo eslabón (Ii (t) ∈ R3×3 ).

Ni

Vector de la suma de momentos de fuerza en el i-ésimo eslabón (Ni (t) ∈ E3 )

αi

Vector de aceleración angular del i-ésimo eslabón (αi (t) ∈ E3 )

ωi

Vector de velocidad angular del i-ésimo eslabón (ωi (t) ∈ E3 )

fi

Vector de la fuerza ejercida por el eslabón i − 1 sobre el i-ésimo eslabón (fi (t) ∈ E3 )

fi+1

Vector de la fuerza ejercida por el eslabón i + 1 sobre el i-ésimo eslabón (fi+1 (t) ∈ E3 )

gi

Vector de la aceleración debida a la gravedad ejercida sobre el i-ésimo eslabón (gi (t) ∈ E3 )

ni

Vector del momento de fuerza ejercido por el eslabón i − 1 sobre el i-ésimo eslabón (ni (t) ∈ E3 )

ni+1

Vector del momento de fuerza ejercido por el eslabón i + 1 sobre el i-ésimo eslabón (ni+1 (t) ∈ E3 )

ÍNDICE GENERAL ri−1,ci

Vector de desplazamiento que va del marco de referencia {i − 1} a {ci }(ri−1,ci ∈ E3 )

ri,ci

Vector de desplazamiento que va del marco de referencia {i} a {ci } (ri,ci ∈ E3 ).

KP

Matriz de ganancia proporcional (KP ∈ Rm×m ).

KD

Matriz de ganancia diferencial (KD ∈ Rm×m ).

xiii

Acrónimos GDL

grado de libertad

RAC

control por resolución de aceleración

RMRC control por resolución de razón de movimiento PD

proporcional–derivativo

PID

proporcional–integral–derivativo

RMS

cuadrático medio

xiv

Capítulo 1 Introducción Los robots están saliendo de los ambientes estructurados en las fábricas y laboratorios y empiezan a aparecer en lugares como casas, oficinas y hospitales, donde existe poco o ningún control sobre el ambiente [26]; los manipuladores móviles son una solución para estos nuevos espacios de trabajo. Un manipulador móvil es básicamente un manipulador estacionario el cual se montó sobre un robot móvil y por lo tanto es capaz de desempeñar simultáneamente las tareas de locomoción y manipulación. Por locomoción se entiende el desplazamiento del propio robot por medio de algún tipo de propulsión. En cuanto a la manipulación, es la capacidad para cambiar la posición y la orientación de objetos, lo cual permite el uso de herramientas y el ensamble de componentes. Al poder realizar ambas tareas simultáneamente, el manipulador móvil tiene ventajas sobre los manipuladores estacionarios, tales como un mayor espacio de trabajo y mayor autonomía. También presenta desventajas, como la presencia de ligaduras no holónomas. Existen diversas formas de manipuladores móviles, dependiendo del tipo de manipulador y su forma de locomoción; este trabajo se enfocará particularmente en manipuladores móviles que están formados por un robot manipulador montado sobre un robot móvil con tracción diferencial (figura 1.1). El presente documento tiene como objetivo presentar los resultados obtenidos en el modelado y desarrollo de sistemas de control para manipuladores móviles. La función de este capítulo es plantear el problema a resolver; para ello, primeramente se hace una revisión del estado del arte en el modelado y control de manipuladores móviles (sección 1.1). Posteriormente se plantea y delimita el problema a resolver (sección 1.2), y se establecen los objetivos del trabajo (sección 1.3). Finalmente se indican los resultados presentados en diferentes foros (sección 1.4), y se hace una descripción del resto de los 1

CAPÍTULO 1. INTRODUCCIÓN

2

Figura 1.1: Ejemplo de manipulador móvil. capítulos del trabajo (sección 1.5).

1.1.

Estado del arte

Aunque los manipuladores móviles pueden realizar concurrentemente las tareas de locomoción y manipulación, antes sólo se consideraba individualmente estas tareas, por ejemplo en [55] se concentra en el movimiento de la base móvil; por otro lado, en [24] y [58] se concentran en el movimiento del brazo manipulador. Sin embargo, recientemente esto ha cambiado y se presenta en la literatura varios casos donde se busca desempeñar ambas tareas al mismo tiempo. En la presente sección primero se revisa el estado del arte en el modelado de manipuladores móviles (subsección 1.1.1), sobre todo en el caso de modelos dinámicos.

CAPÍTULO 1. INTRODUCCIÓN

3

Posteriormente se presenta una revisión de la literatura con respecto al control de manipuladores móviles (subsección 1.1.2).

1.1.1.

Modelado de manipuladores móviles

Una gran herramienta en el diseño e implementación de sistemas de control para robots es el modelado. En el caso de los manipuladores móviles se usan tanto modelos cinemáticos como modelos dinámicos. En un modelo cinemático no se considera el efecto directo de fuerzas en el comportamiento del manipulador móvil. En un modelo dinámico no sólo se considera el efecto de estas fuerzas sobre el manipulador móvil, sino también las inercias que existen en éste. En la literatura se reportan desarrollos en el modelado de manipuladores móviles y su aplicación al control. La técnica que prevalece consiste en desarrollar modelos cinemáticos separados para la base móvil y el brazo manipulador, la cual se emplea en [21], [57], [12], y [48]. En [2] y [10], se propone una variante de esta técnica, en la cual se combina estos dos modelos cinemáticos por medio del llamado jacobiano extendido, y se obtiene el modelo cinemático de postura de todo el manipulador móvil. Sin embargo, se tiene el problema de que no existe un método integral para el modelado cinemático de manipuladores móviles. Por otro lado, también se han desarrollado técnicas de modelado de la dinámica para manipuladores móviles; sin embargo, estas técnicas también adolecen del problema de que el modelado de la base móvil y el brazo se realiza por separado, pero con ayuda del jacobiano extendido se unifican. En la literatura, la mayoría de los modelos dinámicos se obtienen por medio del método de Euler–Lagrange; por ejemplo en [32], [31], [29], [14], [3], [56], [13], y [35]. Ejemplos particularmente interesantes son [32] y [31] donde tanto la base móvil como el brazo manipulador tienen restricciones no holónomas y, sin embargo, son modelados por técnicas diferentes. Un problema con el método de Euler–Lagrange es que su implementación computacional no es muy eficiente; una técnica de modelado más eficiente en este aspecto es el método de Newton–Euler. De acuerdo a [16], los primeros trabajos aplicando el algoritmo recursivo de Newton–Euler a mecanismos con cadenas cinemáticas abiertas fueron presentados en [51] y [38]. En el caso de manipuladores móviles no se encontraron en la literatura trabajos que desarrollen un algoritmo recursivo basado en el método de Newton–Euler, el cual trate de manera unificada a la base móvil y al brazo. Por ejemplo en [4] se plantea un algoritmo recursivo para sistemas multi-cuerpos

CAPÍTULO 1. INTRODUCCIÓN

4

con articulaciones y ruedas, pero solo considera el caso de robots móviles unidos por cadenas cinemáticas abiertas. En [36], [7] y [6] se usan las leyes de Newton y Euler para obtener modelos dinámicos de manipuladores móviles, pero no desarrollan un algoritmo; por ejemplo en [36] se modelan dos brazos montados sobre una plataforma móvil, pero no se modela la plataforma ni se consideran ligaduras no holónomas. En [7] se modela un manipulador móvil considerando el derrape lateral y, por lo tanto, el modelo desarrollado es holónomo. En [27] se utiliza el algoritmo de Newton–Euler en un manipulador móvil diferencial; pero solo se considera el movimiento rectilíneo de la base móvil y, por lo tanto, no consideran ligaduras no holónomas. El algoritmo usado es el clásico para manipuladores estacionarios. Es importante notar que el método de Newton–Euler se usa en la práctica para desarrollar los modelos de robots estacionarios aplicados a simulaciones y controles por dinámica inversa.

1.1.2.

Diseño de controladores para manipuladores móviles en el espacio de la tarea

En la literatura existen mucho trabajos que versan sobre el control de manipuladores móviles en el espacio de tarea, pero no todos tratan el problema de las ligaduras holónomas. Por ejemplo, en [36] se trata el problema de dos brazos manipuladores montados sobre una base móvil, pero consideran a la base como una plataforma libre; en [27] y [15] se desarrolla el control para un manipulador móvil con tracción diferencial pero solo se considera el movimiento sobre un solo eje. El control a nivel cinemático también es muy empleado en la literatura, pues muchos manipuladores móviles ya vienen con un control dinámico integrado, por ejemplo un control proporcional–integral–derivativo (PID). En [21] se utiliza un control por resolución de razón de movimiento (RMRC), el cual es un control cinemático en el espacio de la tarea, pero no consideran las restricciones cinemáticas. En [12] se propone una variante del método de campos potenciales, en el que se establece un comportamiento dinámico para definir la trayectoria del manipulador móvil. En cuanto al uso de controles de la dinámica del manipulador móvil, existen muchas variantes, de las cuales se enumeran las principales. Una primera forma es el desarrollo de controles separados para la base móvil y el brazo manipulador; por ejemplo en [25] se desarrolla un control a nivel dinámico para seguir una trayectoria en el espacio de tarea, pero usa la arquitectura de dos controladores en paralelo. Por otro lado, en [19] el control propuesto se basa en dos esquemas diferentes de modos deslizantes para la

CAPÍTULO 1. INTRODUCCIÓN

5

base móvil y del manipulador. También existen controladores a nivel dinámico que consideran al manipulador móvil como un sistema integrado. Usualmente estos controladores calculan la dinámica inversa del manipulador móvil; dos estrategias muy utilizadas son el método de Euler– Lagrange y otras basadas en redes neuronales. Existen trabajos que calculan la dinámica inversa por medio Euler–Lagrange; a continuación se enumeran algunos de ellos. En [32] usa un control del tipo back-steping para el control en el espacio de la tarea, sin embargo modela por separado la dinámica de la base móvil y la del brazo. En [3] también se desarrolla un control en el espacio de tarea usando par calculado, pero se cierra el lazo de control por medio de un controlador difuso. En [53] se desarrolla un control por medio de dos modelos dinámicos descritos en el espacio de la tarea, los cuales posteriormente son conjuntados; además el modelo de la base móvil es para un sistema holónomo. En [56] se desarrolla un sistema de control por resolución de aceleración (RAC) en el espacio de tarea con un controlador por impedancia, pero desafortunadamente éste no es robusto. Por ejemplo en [18] se plantea un control en el espacio de tarea para la regulación de una posición, pero usa un controlador proporcional–derivativo (PD) con un integrador basado en una función de la incertidumbre del robot. Por otro lado, el comportamiento dinámico de manipuladores móviles por medio de redes neuronales se usa en [22], donde se modela la incertidumbre del manipulador móvil por medio de una red neuronal y el control se realiza por medio de técnicas de modos deslizantes. En cuanto a usar control por medio de redes neuronales, en [48] realizan control jerárquico, el cual se aplica para priorizar el orden de las tareas a ejecutar. Por otro lado, en [29] utilizan un controlador adaptable robusto con redes neuronales. Finalmente, un método poco usado para determinar la dinámica inversa es el método de Newton–Euler. En [36], [7] y [27] se usa el método de Newton–Euler para determinar la dinámica inversa, pero no consideran restricciones holónomas. Es importante señalar que no se encontró en la literatura el uso de este método para calcular la dinámica inversa de todo el manipulador móvil y aplicarlo para cerrar el lazo de control. Tampoco se encontró en la literatura ningún trabajo en el que se compense o cancele un sistema de control ya existente vía retroalimentación.

CAPÍTULO 1. INTRODUCCIÓN

1.2.

6

Planteamiento del problema e hipótesis

La capacidad de un manipulador móvil para realizar simultáneamente las tareas de locomoción y manipulación depende en mucho del modelo disponible y el diseño del sistema de control. Usualmente los controladores desarrollados son del tipo cinemático ya que los robots comerciales usualmente ya disponen de un controlador PD o PID a nivel de actuadores que limita las posibilidades para implementar controladores a nivel de la tarea. Por lo general las tareas se expresan en el espacio de la tarea, el cual es en realidad una descripción en coordenadas cartesianas, cilíndricas o esféricas. Sin embargo, es importante encontrar una descripción de las tareas en el espacio de actuación. El problema de investigación se enuncia a continuación. Problema. Sea un manipulador móvil no holónomo con un controlador PD instalado en fábrica, y sea una trayectoria deseada en el espacio de tarea, denotada rd . Se debe encontrar una descripción computacional del comportamiento cinemático y dinámico del manipulador móvil, y desarrollar un sistema de control a nivel dinámico que permita al manipulador seguir la trayectoria deseada usando concurrentemente las capacidades de locomoción y manipulación del manipulador móvil. El manipulador móvil está compuesto por un robot de tracción diferencial Pioneer 3DX de Adept MobileRobotics y un manipulador Cyton de 7 grado de libertad (GDL). El robot tiene un controlador PD a nivel de actuadores, el cual debe ser cancelado por el nuevo sistema de control. Para el control del manipulador móvil se propone un esquema de dos lazos de control anidados. El lazo interno de control deberá controlar a nivel dinámico el robot y cancelar la acción del controlador instalado en fábrica. El lazo externo de control deberá asegurar el desempeño de la tarea en el espacio cartesiano. Para resolver el problema enunciado se plantea la siguiente hipótesis. Hipótesis. Un manipulador móvil se puede modelar como un manipulador estacionario con restricciones no holónomas en las articulaciones. Gracias a esta hipótesis, el problema de realizar concurrentemente la manipulación y locomoción en un manipulador móvil se puede transformar al problema de sólo realizar la manipulación.

CAPÍTULO 1. INTRODUCCIÓN

1.3.

7

Objetivos

Para poder resolver el problema a tratar se define el siguiente objetivo general de la tesis. Objetivo general. Desarrollar un esquema de modelado y un sistema de control para el desempeño de una tarea descrita en coordenadas cartesiana por medio de las acciones concurrentes de locomoción y manipulación de un manipulador móvil. En cuanto a los objetivos específicos, se enumeran continuación: 1. Formular un esquema de modelado computacional general para determinar el comportamiento cinemático y dinámico de un manipulador móvil no holónomo. 2. Desarrollar un sistema de control para el movimiento coordinado y concurrente de la base móvil no holónoma y el brazo manipulador en el espacio de la tarea. 3. Estructurar un sistema de control para cancelar el regulador PD instalado en fábrica por medio de retroalimentación. Una herramienta que se usará para alcanzar este objetivo es la transformación del problema de locomoción y conjuntarlo con el de manipulación, lo cual considera a un manipulador móvil como uno estacionario con restricciones no holónomas en las articulaciones. Se buscará que el un método computacional sea numéricamente eficiente con respecto al número de operaciones.

1.4.

Resultados presentados en diversos foros

De este trabajo se presentaron resultados parciales en diversos foros para su discusión y publicación; a continuación se enumeran rápidamente las publicaciones realizadas. Con respecto artículos en revista, se publicó el modelado y control en espacio de tarea de un manipulador móvil con cancelación de control proporcional–derivativo en la revista Computación y Sistemas [45], la cual está en el padrón de revistas del Consejo Nacional de Ciencia y Tecnología (CONACyT). Por lo que se refiere a publicaciones en congreso, se presentó una revisión del estado del arte en [42]. En [43] se dio a conocer un esquema de modelado cinemático y un control a nivel dinámico en el espacio de configuración; este mismo trabajo fue invitado para ser publicado en una revista institucional [41].

CAPÍTULO 1. INTRODUCCIÓN

8

En [44] se presentó un control en el espacio de tarea, y en [47] se modificó el control para cancelar de un regulador PD. En [46] se presentó el control robusto en el espacio de tarea. Estos trabajos están publicados en las memorias de los respectivos congresos. En el presente trabajo se incluye copia de los trabajos presentados (apéndice A).

1.5.

Presentación del trabajo

El presente trabajo muestra los resultados obtenidos para alcanzar los objetivos propuestos (sección 1.3) y se compone de cinco capítulos además de esta introducción, conclusiones y un apéndice. Primero se revisará brevemente varios conceptos teóricos requeridos para el análisis de la cinemática de un manipulador móvil, así como la obtención del modelo cinemático y dinámico de un manipulador móvil (capítulo 2). En seguida, se estudiará el problema del modelado (capítulo 3) y se mostrará un método integral de modelado cinemático de manipuladores móviles con ruedas que permite aplicar las mismas herramientas usadas en el modelado de robots estacionarios y presentan a los manipuladores móviles como un caso particular de aquellos. Además se presentará un algoritmo para el modelado de la dinámica inversa de un manipulador móvil por medio de una extensión del método de Newton–Euler. Estos métodos consideran que el manipulador móvil es un robot estacionario con articulaciones que presentan restricciones no holónomas; este enfoque permite que se puedan usar las herramientas ya existentes para la obtención de los modelos cinemático y dinámico, por ejemplo los parámetros de Denavit–Hartenberg y los Jacobianos geométricos. Posteriormente se presentará un conjunto de controladores que utilizan una arquitectura de dos lazos de control anidados (capítulo 4). Para el primer lazo de control se utiliza la llamada dinámica inversa, el cual usa el llamado modelo reducido del manipulador móvil para obtener un sistema de orden reducido. En el lazo externo de control se presentarán dos controladores, uno en el espacio de articulación y el otro en el espacio de tarea, que utilizan el esquema de control por resolución de aceleración. Estos esquemas de control propuestos son puestos a prueba por medio de simulaciones numéricas (capítulo 5). También se presentará un modelo computacional de la plataforma experimental que se usará, así como la información relevante para determinar el modelo del manipulador móvil; posteriormente se presentan los resultados de las simulaciones del sistema de control en el espacio de tarea.

CAPÍTULO 1. INTRODUCCIÓN

9

También se presentarán resultados de experimentos donde el control se prueba en un manipulador móvil (capítulo 6), el cual está compuesto por un robot de tracción diferencial Pioneer 3DX de Adept MobileRobotics y un manipulador Cyton de 7 GDL, del cual sólo se consideró una articulación del manipulador, de tal manera que se considera un manipulador planar horizontal, y por lo tanto el modelo del manipulador móvil a simular es de 4 GDL. Finalmente se presentarán conclusiones de este trabajo y se plantearán posibles extensiones (capítulo 7).

Capítulo 2 Marco teórico–conceptual Un modelo es una herramienta conceptual que describe el comportamiento de un sistema. Existen muchos tipos de modelos, pero en Ciencias e Ingeniería los modelos matemáticos son los de mayor utilidad ya que permiten no solo describir el comportamiento sino también predecirlo, simularlo y controlarlo. Una ventaja particular de los modelos matemáticos es que pueden ser manipulados simbólicamente; esto permite simplificar el análisis de los sistemas y encontrar relaciones entre las diferentes variables del modelo. La manipulación simbólica también permite la combinación de diferentes modelos con el propósito de sintetizar modelos más complejos. En robótica, los modelos matemáticos se usan para describir el movimiento, ya sea por medio de la cinemática o la dinámica [49]. Sin embargo, la obtención de modelos para manipuladores móviles no es un proceso evidente. Por un lado, un manipulador móvil debe ser capaz de realizar, de forma simultanea preferentemente, las tareas de locomoción y manipulación; por otro lado, existen diferencias en los métodos usados para obtener la descripción del comportamiento del robot a ambas tareas. Para el caso de la locomoción en robots móviles con ruedas, se utiliza la teoría desarrollada en [5]; en este tipo de modelos, es importante notar que se debe considerar el posible efecto de ligaduras no holónomas causadas por el mecanismo de tracción. En cuanto al caso de la manipulación, se modela el mecanismo correspondiente usando los métodos para manipuladores estacionarios, tales como los presentados en [49]. El problema fundamental es cómo combinar los modelos para ambas tareas; una propuesta para resolver este problema es el jacobiano extendido [10]. El presente capítulo presenta las metodologías actuales que se usan para determinar los modelos cinemáticos y dinámicos en manipuladores móviles. Por un lado, algunas 10

CAPÍTULO 2. MARCO TEÓRICO–CONCEPTUAL

11

de estas metodologías se utilizarán en el resto del trabajo como base para el desarrollo de los modelos del manipulador móvil. Por otro lado, se utilizarán para compararse con los métodos desarrollados en el presente trabajo. En primer lugar, se expondrá el problema de la cinemática directa (sección 2.1). Posteriormente se presentarán los métodos expuestos en la literatura revisada para la obtención de modelos cinemáticos (sección 2.2), considerando el problema de las ligaduras no holónomas y los modelos cinemáticos de configuración y de postura. También se analizará el modelado dinámico (sección 2.3). Finalmente se presentarán las conclusiones.

2.1.

Cinemática directa

En robótica es usual tener que determinar la posición y orientación del efector final de un robot; a este problema se le conoce como cinemática directa. En el caso de un manipulador móvil, la cinemática directa está dada por la función r = f (qb , qm )

(2.1)

donde r ∈ Rp es la postura del manipulador móvil, p es la dimensión del espacio de tarea, qb ∈ Rnb y qm ∈ Rnm son las coordenadas generalizadas de la base móvil y del manipulador respectivamente, f es la cinemática del manipulador móvil, que no está sujeta a las restricciones no holónomas. Un método para encontrar las cinemáticas directas del manipulador estacionario y la base móvil, además de que permite conjuntarlas, son las transformaciones homogéneas [49]; para el caso del manipulador móvil se tiene que [28] Tn0 = Tb0 Tnb donde Tb0 es la transformación homogénea que va de un marco de referencia {b} en la plataforma móvil a un marco base de referencia {0} y Tnb es la transformación homogénea que va de un marco de referencia {n} en el ultimo eslabón del brazo manipulador al marco de referencia {b}. En la literatura no existe una forma estandarizada para encontrar la transformación Tb0 ; una forma posible es considerar el movimiento de la base móvil como un cuerpo rígido sobre el plano. Es importante notar que la cinemática directa no considera las restricciones no holónomas.

CAPÍTULO 2. MARCO TEÓRICO–CONCEPTUAL

2.2.

12

Modelo cinemático

Mientras la cinemática directa describe la posición de un robot, no describe el movimiento que éste realiza; para determinar el movimiento sin considerar las causas que lo generan, se utiliza el llamado modelo cinemático, con el cual se desarrollan controladores a nivel cinemático. Por otro lado, los modelos cinemáticos son la base para obtener el modelo dinámico, el cual sí describe las causas del comportamiento del robot.

Figura 2.1: Relaciones entre velocidades en los diferentes espacios y los modelos cinemáticos. El modelo cinemático depende de las restricciones cinemáticas (subsección 2.2.1); para el caso de los robots estacionarios con solo restricciones geométricas, el modelo cinemático es simplemente la derivada en el tiempo de (2.1). Para el caso de los robots móviles es necesario tomar en cuenta que el movimiento de estos dependen de restricciones cinemáticas impuestas por las ruedas. Estas restricciones usualmente se expresan por medio de las velocidades de configuración, por lo cual éstas ya no son independientes. Para resolver este problema, en [5] se han propuesto dos modelos cinemáticos diferentes pero complementarios (Figura 2.1): el modelo cinemático de configuración (subsección 2.2.2) y el modelo cinemático de postura (subsección 2.2.3).

2.2.1.

Restricciones cinemáticas no holónomas

El modelo cinemático de un robot móvil con ruedas está caracterizado por las restricciones al movimiento impuestas por las ruedas [5, 9]; estas restricciones se conocen como ligaduras [17, 20], y para que existan deben de haber fuerzas que obliguen al sistema a mantenerlas. Una forma de clasificar a las ligaduras es determinando si son holónomas o no holónomas. Una ligadura se dice holónoma si ésta se puede expresar sin considerar las veloci-

CAPÍTULO 2. MARCO TEÓRICO–CONCEPTUAL

13

dades del sistema; una descripción de este tipo de ligadura es por medio de la ecuación hi (q) = 0; este tipo de ligadura es geométrica, ya que limita en dónde puede estar la configuración del sistema; es importante remarcar que la fuerza asociada a una la ligadura holónoma solo depende de la configuración y por lo tanto es conservativa. Por otro lado, una ligadura se dice no holónoma si la ligadura no es independiente de la velocidad; una ligadura no holónoma se expresa de la forma ai (q, q) ˙ = 0; la fuerza que genera una ligadura no holónoma no es conservativa. Un caso particular es la ligadura pfaffiana, la cual es lineal con respecto a las velocidades del sistema, es decir que se puede expresar de la forma ai (q)q˙ = 0; Éste es el tipo de ligadura que aparece en los robots móviles con ruedas. Una ligadura pfaffiana es holónoma si existe una función hi (q), tal que ∂hi (q) = ai (q), ∂q esto es, la ligadura es integrable. Por otro lado, si no existen dicha función hi (q) entonces la ligadura es no holónoma.

2.2.2.

Modelo cinemático de configuración

Un conjunto de k ligaduras pfaffianas se puede acomodar en una matriz A(q) ∈ Rn×k 

T a1 (q)   a2 (q)  A(q) =  .    ..  ak (q)

14

CAPÍTULO 2. MARCO TEÓRICO–CONCEPTUAL tal que todas las ligaduras pfaffianas se pueden expresar por medio de la ecuación A(q)T q˙ = 0k

donde 0k es un vector de k elementos, todos ellos igual a cero. Usando esta representación matricial es posible encontrar un conjunto de velocidades de configuración que formen una base del espacio nulo de A(q)T , q˙ = G(q)η

(2.2)

donde η(t) ∈ Rn−k es un vector de parámetros independientes y es posible seleccionar los que más se adecuen a la aplicación; por otro lado, G(q) ∈ Rn×(n−k) se define por medio de la expresión A(q)T G(q) = 0k×(n−k) (2.3) donde 0k×(n−k) ∈ Rk×(n−k) es una matriz con todos sus elementos igual a cero; se dice que G(q) es el aniquilador de la matriz A(q)T . En el caso de un robot con sólo ligaduras holónomas, la matriz G(q) es simplemente la matriz identidad de dimensión n × n. Si η se selecciona de tal manera que represente las velocidades de los actuadores del robot móvil, entonces (2.2) establece una relación entre las derivadas de las variables de configuración y las derivadas de las variables de los actuadores y se conoce como modelo cinemático de configuración; es importante notar que el mapeo de las velocidades de los actuadores a las velocidades generalizadas se aplica para reducir el orden del modelo dinámico de un manipulador móvil.

2.2.3.

Modelo cinemático de postura

El modelo cinemático de postura define la relación que existe entre las velocidades en el espacio de tarea con respecto a las velocidades en los actuadores. Este modelo se utiliza para definir las acciones del robot en el espacio de la tarea; En [5] se define al modelo cinemático de postura para el caso de un robot móvil como r˙ = B(q)η, donde la matriz B(q) ∈ Rp×m está definida como B(q) = J(q)G(q),

15

CAPÍTULO 2. MARCO TEÓRICO–CONCEPTUAL

y la matriz J(q) ∈ Rp×n se conoce como el jacobiano. Es importante notar que, en la literatura revisada, el jacobiano de un robot móvil solo se obtiene de manera analítica y no se utilizan métodos numéricos para su obtención. Por otro lado, en el caso de manipuladores estacionarios se tiene que B(q) = J(q) y existen métodos numéricos eficientes para su cómputo. Como un ejemplo particular, se muestra la obtención del modelo cinemático de postura de un robot móvil con ruedas no orientables y tracción diferencial sobre un piso plano. La postura del robot queda completamente especificada por el vector 

 x   rb :=  y  φ donde x y y son las coordenadas en el plano del robot móvil y φ denota la orientación del robot con respecto al plano. En [5], se establece que el modelo cinemático de postura para un robot móvil del tipo de tracción diferencial es de la forma (2.4)

r˙b (t) = B(qb )ηb

donde ηb (t) ∈ Rm es el vector de velocidades de los actuadores, y B(q) ∈ Rn×m es una matriz cuyas columnas son una base del espacio nulo de las restricciones; para el caso de un robot móvil con tracción diferencial está definido como 

 cos φ 0   B(q) =  sin φ 0  . 0 1 En el caso particular de manipuladores móviles, se busca aprovechar la existencia de métodos numéricos eficientes para el cómputo de las velocidades en el brazo y combinarlo con el cómputo analítico de la base móvil. En [10] se propone el llamado jacobiano extendido como un método para combinar los cómputos de las velocidades y así obtener el modelo cinemático de postura por medio de la relación r˙ =

h

Jb (qb )Sb (qb ) Jm (qm )

i

"

ηb q˙m

#

(2.5)

donde r˙ es un vector que conjunta los movimiento de postura de la base móvil y el

CAPÍTULO 2. MARCO TEÓRICO–CONCEPTUAL manipulador r˙ =

"

r˙b r˙m

16

#

y el jacobiano Jb de la base móvil, el cual se obtiene de manera independiente.

2.3.

Modelo dinámico

Un sistema mecánico de n GDL y k ligaduras no holónomas se puede modelar dinámicamente por medio del método de Euler–Lagrange [9], del cual se obtiene el conjunto de ecuaciones diferenciales algebraicas en forma matricial D(q)¨ q + C(q, q) ˙ q˙ + g(q) = A(q)λ + S(q)τ A(q)(q)T q˙ = 0

(2.6)

donde τ (t) ∈ Rm es el vector de fuerzas externas, g(q) ∈ Rn es el vector de la fuerza de gravedad sobre los eslabones; en cuanto a D(q) ∈ Rn×n es la matriz de inercia del sistema mecánico, C(q, q) ˙ ∈ Rn×n es la matriz de las fuerzas centrífugas y de Coriolis, y S(q) ∈ Rn×m es el mapeo de las fuerzas externas a fuerza generalizadas. La matriz de inercia D(q) es una descripción de la respuesta del sistema a cambiar su estado de movimiento, tanto lineal como angular. La matriz de inercia se obtiene por medio de la expresión n X D(q) = (mi Jvi T Jvi + Jωi T Ii Jωi )

(2.7)

i=1

donde mi es la masa del i-ésimo eslabón, Jvi es el jacobiano de velocidad lineal del centro de masa con respecto al marco de referencia de la base, Jωi es el jacobiano de velocidad angular del centro de masa, e Ii es el momento de inercia en el i-ésimo eslabón. Para el caso de manipuladores estacionarios, es importante notar que los jacobianos se pueden obtener por medio del método geométrico [49], que no requiere explícitamente las derivadas de la cinemática. Por otro lado, la matriz de las fuerzas centrífugas y de Coriolis C(q, q) ˙ describe el movimiento de un cuerpo rígido desde un marco de referencia acelerado [49]; para

17

CAPÍTULO 2. MARCO TEÓRICO–CONCEPTUAL obtener el término ck,j de la matriz se usa la expresión ck,j =

n X

(2.8)

ξi,j,j (q)q˙i

i=1

donde ξi,j,j se conocen como los símbolo de Christoff y se definen por medio de ξi,j,j

1 = 2



∂dk,j ∂dk,i ∂di,j + − ∂qi ∂qj ∂qk



(2.9)

donde di,j es el elemento en la i-ésima fila y j-ésima columna de D(q). Dado que el sistema (2.6) depende del valor desconocido λ, se presenta un problema en el análisis del sistema o en su resolución numérica. Dicha dependencia se puede eliminar por medio de la relación (2.3); El método consiste en, primero, pre-multiplicar (2.6) por G(q)T y, posteriormente, aplicar la transformación (2.2) [9]; entonces se obtiene la expresión q˙ = G(q)η η˙ = −M (q)−1 m(q, η) + M (q)−1 G(q)T S(q)τ

(2.10)

donde la matriz M (q) ∈ Rm×m se define por medio de M (q) = G(q)T D(q)G(q)

(2.11)

y el vector m(q, η) ∈ Rm se define como ˙ m(q, η) = G(q)T D(q)G(q)η + G(q)T C(q, G(q)η)G(q)η + G(q)T g(q).

(2.12)

Una consecuencia del procedimiento anterior es que la descripción del sistema queda ahora en función de η, la cual puede o no tener sentido físico; una posible asignación de η es que corresponda con las velocidades de los actuadores y por lo tanto la ecuación diferencial pasa a describir el comportamiento del manipulador móvil con respecto a estas velocidades. Otra consecuencia es la reducción de la dimensión del estado en la descripción del sistema.

CAPÍTULO 2. MARCO TEÓRICO–CONCEPTUAL

2.4.

18

Conclusiones

El presente capítulo presentó las metodologías usadas en el modelado cinemático y dinámico de manipuladores móviles. Primero se mostró el problema de la cinemática directa. El inconveniente con el enfoque utilizado hasta ahora usado es que usa dos métodos diferentes para obtener la cinemática de la base móvil y el brazo manipulador. En segundo lugar se presentaron los métodos expuestos en la literatura revisada para la obtención de modelos cinemáticos, considerando el problema de las ligaduras no holónomas y los modelos cinemáticos de configuración y de postura; aquí nuevamente existen problemas por la falta de unidad en la teoría de manipuladores móviles. Finalmente se revisó el modelado dinámico. Las metodologías que se presentaron son usadas para determinar los modelos cinemáticos y dinámicos en manipuladores móviles. Por un lado, algunas de estas metodologías se utilizarán en el resto del trabajo como base para el desarrollo de los modelos del manipulador móvil. Por otro lado, se utilizarán para compararse con los métodos desarrollados en el presente trabajo.

Capítulo 3 Modelado de manipuladores móviles Los modelos son un componente básico en el diseño e implementación de sistemas de control. En la literatura revisada, no existe una teoría general, la cual combine el modelado cinemático de manipuladores estacionarios y manipuladores móviles. En cuanto a modelos dinámicos, tampoco existe un método general que considere ambos casos. Por otro lado, los métodos encontrados en la literatura no resultan eficientes computacionalmente, ya que se basan en el método no recursivo de Euler–Lagrange, en el cual el número de operaciones crece de forma asintótica con respecto a n4 , donde n es el número de eslabones [16] [4]. A continuación se presenta un conjunto de métodos, los cuales aprovechan los algoritmos existentes para robots estacionarios y los extienden para el caso de manipuladores móviles. En particular, se busca que los métodos desarrollados permitan extender las herramientas computacionales utilizadas para el modelado paramétrico de robots estacionarios. Primero se presenta el problema de la cinemática directa de un manipulador móvil (sección 3.1), posteriormente se aplica este enfoque al desarrollo de un modelo paramétrico de la cinemática de postura (sección 3.1). También se presenta una extensión del método de Newton–Euler para el caso de un manipulador móvil (sección 3.3).

19

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

3.1.

20

Método integral para obtener la cinemática directa

Como ya se mencionó (sección 2.1), la cinemática directa de los manipuladores móviles se plantea como dos problemas independientes: el de locomoción y el de manipulación; esto presenta posteriormente dificultades para obtener el modelo cinemático y el modelo dinámico. Para el caso de manipuladores estacionarios se tiene todo un conjunto de herramientas computacionales que simplifican el análisis del sistema y la síntesis de controles; por ejemplo, existen modelos paramétricos. Para el caso de manipuladores móviles, no existe un algoritmo general para obtener un modelo paramétrico en la literatura. El cambio de algún parámetro de la base móvil, implica que el modelo cinemático se tiene que rehacer. También existe el problema de que los modelos obtenidos por estos métodos son ineficientes numéricamente. Un hecho importante es que las ligaduras no holónomas sólo afectan el movimiento del manipulador móvil pero no su posición, y por lo tanto, éstas no se involucran en la cinemática directa; este hecho permite transformar el problema de locomoción en uno de manipulación. A continuación, se propone una técnica para obtener la cinemática directa de un manipulador móvil. La técnica propuesta asume a la base móvil como un mecanismo virtual, el cual consiste de dos eslabones unidos por una articulación de nb GDL; uno de los eslabones se considera fijo y el otro consiste de la propia base móvil. La articulación virtual debe tomar en cuenta los posibles movimientos de la base móvil; los grados de libertad de dicha articulación se deben ajustar a la complejidad del movimiento requerido por la base móvil, por ejemplo, si sólo se considera el movimiento sobre el plano en un robot móvil, entonces se requiere de 3 GDL para modelar su cinemática directa. Por otro lado, si además se considera que este robot móvil puede volcarse, entonces se requiere de 5 GDL. Una vez hecha esta transformación, la cinemática directa del manipulador móvil se obtiene al considerar la base móvil y el brazo como una sola cadena cinemática. El método anteriormente expuesto permite usar las mismas herramientas que se aplican para determinar la cinemática directa en un manipulador estacionario, como por ejemplo el método de Denavit–Hartenberg, lo que permite el uso de técnicas computacionales eficientes para evaluar numéricamente la cinemática directa. Otra ventaja de esta técnica es que facilita la obtención del jacobiano por métodos geométricos, los cuales son numéricamente eficientes. Por otro lado, el jacobiano geométrico permite

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

21

desarrollar métodos numéricos eficientes para la obtención de los modelos cinemático y dinámico.

3.2.

Método integral para obtener el modelo cinemático de postura

El modelo cinemático de postura (sección 2.2) es útil para desarrollar leyes de control en el espacio de tarea y obtener el modelo dinámico por el método de Euler– Lagrange. El modelo cinemático de postura se obtiene a partir de la cinemática directa y el modelo cinemático de configuración. Un hecho importante es que, en la literatura reportada se usan jacobianos y modelos cinemáticos de configuración diferentes para resolver por separado los problemas de locomoción y manipulación de un manipulador móvil; esto implica el problema de combinar los jacobianos, y los modelos cinemáticos de configuración, para obtener un solo modelo cinemático de postura; a continuación se describe un método que no adolece del problema de combinar dos modelos cinemáticos diferentes. El método consiste en usar simplemente la cinemática directa, obtenida en el paso anterior, para calcular el jacobiano del manipulador móvil. Ahora el problema consiste en encontrar el modelo cinemático de configuración, pero esto es directo al simplemente extender las ligaduras cinemáticas a todas las variables cinemática del manipulador móvil, esto es, modelar las ligaduras cinemáticas de manera integral. Esto presenta otro beneficio, no requiere una forma muy específica para el modelo cinemático de configuración, tal como se propone en [10]; otra ventaja es que se pueden incluir las ligaduras cinemáticas que existan en el propio brazo. Al replantear el problema del manipulador móvil como uno de manipulación, fue posible obtener la cinemática directa de todo el robot; con ayuda de esta cinemática directa se puede determinar el jacobiano de ambos problemas en conjunto, sin requerir calcular por separado el jacobiano de cada problema de manera independiente; por lo tanto ya no es necesario combinarlos de alguna forma. Otra ventaja de este enfoque de considerar todo el problema como manipulación, es que existen algoritmos geométricos numéricamente eficientes para obtener el jacobiano.

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

3.3.

22

Método recursivo para obtener el modelo dinámico

A continuación se presenta un método recursivo basado en Newton–Euler [49], el cual se puede usar para obtener la dinámica inversa de un manipulador móvil o como apoyo para obtener la dinámica directa. Es importante notar que, si bien en el análisis de sistemas robóticos se utiliza normalmente el formalismo de Euler–Lagrange, por razones de eficiencia en el modelado computacional se termina implementando el método recursivo de Newton–Lagrange, tal como en [8]; otra ventaja del método recursivo es que simplifica la obtención del modelo por medio de parámetros. Por otro lado, si bien existen algoritmos basados en Newton–Euler que consideran las restricciones no holónomas en manipuladores móviles, tal como en [4], siguen considerando el modelado cinemático como dos problemas diferentes. También se presenta una transformación de coordenadas de configuración que permite usar la versión tradicional de Newton–Euler sin modificación.

3.3.1.

Notación

Es importante notar que las posiciones, velocidades y aceleraciones de una partícula o un cuerpo rígido son consideradas como vectores en el espacio euclidiano de dimensión 3, denotado como E3 . A diferencia de los vectores expresadas en Rn , en E3 se deben expresar con respecto a un marco de referencia, ya que es un espacio afín; el marco de referencia A se denota como {A}. Un punto p ∈ E3 se denotará por medio de negritas. El vector correspondiente con respecto al marco de referencia {A} se denotara por el mismo símbolo pero con un superíndice indicando el marco de referencia, por ejemplo pA . Si para una magnitud particular no se menciona de forma explícita el marco de referencia se asumirá que está dado por el propio contexto. En el caso particular de los eslabones del robot, los marcos de referencia se asignan de acuerdo a la convención de Denavit-Hartenberg tal como es presentada en [49], donde se enumeran del 0, para la base, 1 para el siguiente eslabón, hasta n para el n-ésimo eslabón. Otro caso particular es el de los centros de masas de los eslabones, que se denotarán {ci }. Para cambiar la descripción de la orientación de un vector p de un marco de referencia {A} a un marco de referencia {B} se usa una transformación ortogonal RAB tal

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

23

que pB = RAB pA .

3.3.2.

Obtención de la dinámica

Las leyes de Euler del movimiento extienden las leyes del movimiento de Newton, las cuales tratan sobre partículas, para el caso de cuerpo rígido. Si se asume que todos los vectores están descritos en el marco de referencia {i}, entonces la primera ley de Euler es Fi = mi aci (3.1) donde el vector euclidiano aci ∈ E3 representa la aceleración del centro de masas del i-ésimo eslabón, y el vector euclidiano Fi ∈ E3 es la suma de fuerzas en el i-ésimo eslabón; el escalar mi ∈ R es la masa del i-ésimo eslabón, la cual es invariante con respecto a la configuración del manipulador. Por otro lado, la segunda ley de Euler establece una relación entre los momentos de fuerza y la derivada con respecto del tiempo del momento angular; para el caso de un marco de referencia rotacional se tiene que Ni = Ii αi + ωi × (Ii ωi )

(3.2)

donde el vector euclidiano αi ∈ E3 representa la aceleración angular del i-ésimo eslabón, y el vector euclidiano ωi ∈ E3 representa la velocidad angular del i-ésimo eslabón; la matriz Ii ∈ R3×3 es el tensor del momento de inercia en el i-ésimo eslabón, la cual es invariante con respecto a la configuración del eslabón cuando su marco de referencia es rotacional; finalmente, el vector euclidiano Ni ∈ E3 es la suma de momentos de fuerza en el i-ésimo eslabón. El operador × en la ecuación representa el producto cruz entre dos vectores. A continuación se determinan las fuerzas que actúan sobre un eslabón (figura 3.1); si se asume que todos los vectores están descritos en el marco de referencia {i}, entonces Fi está dada por Fi = fi − fi+1 + mi gi (3.3) donde fi ∈ E3 es la fuerza ejercida por el eslabón i − 1 sobre el i-ésimo eslabón, fi+1 ∈ E3 es la fuerza ejercida por el eslabón i + 1 sobre el i-ésimo eslabón, y gi ∈ E3 es la aceleración debida a la gravedad ejercida sobre el i-ésimo eslabón. Resolviendo

24

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

z

v ci

i−1

zi

ci f i+1

fi

mi g

Figura 3.1: Fuerzas afectando al eslabón. Se hace notar que todas están descritas en el marco de referencia {i} (3.3) para fi se tiene entonces que (3.4)

fi = Fi + fi+1 − mi gi . Es importante notar que (3.1) y (3.4) dependen de los valores de fi+1 y aci .

z

i−1

ωi

zi n i+1

ni ci

r i,ci

r i−1,ci fi

f i+1

Figura 3.2: Momentos de fuerzas afectando al eslabón. Se hace notar que todas están descritas en el marco de referencia {i} En cuanto a los momentos de fuerza en el eslabón (figura 3.2), si se asume que todos los vectores están descritos en el marco de referencia {i}, se tiene que la suma de momentos de fuerzas Ni está dada por Ni = ni − ni+1 + fi × ri−1,ci − fi+1 × ri,ci

(3.5)

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

25

donde ni ∈ E3 es el momento de fuerza ejercido por el eslabón i − 1 sobre el i-ésimo eslabón, ni+1 ∈ E3 es el momento de fuerza ejercido por el eslabón i+1 sobre el i-ésimo eslabón, ri−1,ci es el vector de desplazamiento que va del marco de referencia {i − 1} a {ci }, y ri,ci es el vector de desplazamiento que va del marco de referencia {i} a {ci }; tanto ri−1,ci como ri,ci son magnitudes invariantes con respecto a la configuración del eslabón. Resolviendo (3.5) para ni se obtiene la expresión ni = Ni + ni+1 − fi × ri−1,ci + fi+1 × ri,ci

(3.6)

Para resolver (3.2) y (3.6) se necesita conocer los valores de ni+1 , αi y ωi . Una vez obtenidas las fuerza y momentos de fuerza aplicados a los eslabones, se necesitan encontrar las fuerzas o momentos de fuerza proporcionados por los actuadores. En el caso de una articulación prismática se tiene que la relación entre fuerza ejercida por el eslabón i − 1 sobre el i-ésimo eslabón y las fuerzas generalizadas está dada por la expresión [49] T ν i = zi−1 fi (3.7) donde ν i es el i-ésimo componente del vector de fuerzas generalizadas, y zi−1 ∈ E3 es el vector euclidiano correspondiente al eje z del i − 1 eslabón. Por otro lado, si la articulación es rotacional entonces se tiene que la relación entre la fuerza ejercida por el eslabón i − 1 sobre el i-ésimo eslabón y las fuerzas generalizadas se define como T ν i = zi−1 ni .

(3.8)

Es importante notar que en el caso de un manipulador móvil, la fuerza ejercida por el eslabón i − 1 sobre el i-ésimo eslabón fi incluye las fuerzas debidos a las ligaduras no holónomas que actúan sobre el eslabón; por otro lado, también el momento de fuerza ejercido por el eslabón i − 1 sobre el i-ésimo eslabón ni incluye los momentos de fuerza debidos a las ligaduras no holónomas que actúan sobre el eslabón; esta relación se puede expresar mejor por ν = S(q)τ + A(q)λ. (3.9)

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

3.3.3.

26

Obtención de las velocidades y aceleraciones

Para determinar la aceleración lineal ai requerida en (3.1) se parte de la relación [5] vi = Jvi S(q)η

(3.10)

donde el vector vi ∈ E3 es la velocidad del centro de masas del i-ésimo eslabón, el vector η ∈ Rm son las velocidades de los actuadores, el vector q ∈ Rn son las coordenadas generalizadas, y la matriz Jvi ∈ R3×n es el jacobiano de velocidad lineal del centro de masa del i-ésimo eslabón. Para encontrar ai se deriva (3.10) con respecto al tiempo ˙ aci = Jvi S(q)η˙ + J˙vi S(q)η + Jvi S(q)η.

(3.11)

Por otro lado, para encontrar la aceleración angular αi y la velocidad angular ωi usadas en (3.2) se parte de la expresión ωi = Jωi S(q)η

(3.12)

donde la matriz Jωi ∈ R3×n es el jacobiano de velocidad angular del centro de masa. Al derivar con respecto al tiempo a (3.12) ˙ αi = Jωi S(q)η˙ + J˙ωi S(q)η + Jωi S(q)η.

(3.13)

Es importante notar que la obtención de Jvi y Jωi se puede realizar numéricamente de manera recursiva, lo cual resulta muy eficiente con respecto al número de operaciones.

3.3.4.

Implementación del algoritmo

En la descripción de algoritmos, normalmente se utiliza el paradigma imperativo de computación; un enfoque diferente es el paradigma funcional [39], en el cual los procesos computacionales se presentan como una composición de funciones primitivas, en donde composición se refiere a que la salida de una función es la entrada de otra. A continuación se presenta una implementación del algoritmo propuesto, el cual usa composiciones de transformaciones de coordenadas de configuración y fuerzas generalizadas, aplicadas al algoritmo clásico de Newton–Euler. En un contexto puramente funcional, se asume que ya existe una función rne que implementa el método de Newton–Euler, pero solo considera las restricciones holóno-

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

27

mas, y está definida como ν = rne(ξ)

(3.14)

donde el vector ξ ∈ R3n se define como

  q   ξ = q˙ . q¨

(3.15)

Por otro lado, el método desarrollado depende de las variables q, η y η, ˙ las cuales se pueden para definir el vector ζ   q   ζ = η  . (3.16) η˙

Teorema 1. Sea la función rne que implementa el método de Newton–Euler que considera sólo las restricciones holónomas. entonces el algoritmo recursivo para sistemas no holónomos se puede expresar de la forma τ = (S(q)T S(q))−1 S(q)T rne(W (q)ζ).

(3.17)

donde W (q) es una matriz definida por 

 I 0 0   W (q) = 0 S(q) 0 . ˙ 0 S(q) S(q)

(3.18)

Demostración. La relación entre ξ y ζ está dada por ξ = W (q)ζ.

(3.19)

Entonces, usando (3.9), (3.14) y (3.19), el algoritmo recursivo de Newton–Euler para sistemas con restricciones no holonomas, expresado en un estilo funcional, queda de la forma (3.17). Para implementar el algoritmo (3.17) se usó la función rne suministrada por el robotics toolbox para Matlab [8]. El algoritmo (3.17) implementa el método recursivo de Newton–Euler no solo tomando en consideración las restricciones no holónomas; es importante notar que las restricciones no holónomas restringen las velocidades posibles

CAPÍTULO 3. MODELADO DE MANIPULADORES MÓVILES

28

más no su posición, esto es: su cinemática directa no depende de dichas restricciones; por lo tanto la parte de la función rne que depende de la cinemática directa tampoco se ve afectada si el manipulador móvil se modela para este fin como un manipulador estacionario, permitiendo usar de manera integral las mismas herramientas de modelado cinemático.

3.4.

Conclusiones

Los métodos presentados extienden los algoritmos existentes para robots estacionarios para el caso de manipuladores móviles. En particular, estos métodos permiten desarrollar modelos paramétricos para manipuladores móviles. El primer problema tratado es la cinemática directa de un manipulador móvil. Posteriormente se procede al desarrollo de un modelo paramétrico de la cinemática de postura. También se presentó una extensión del método de Newton–Euler para el caso de un manipulador móvil. Una ventaja de estas extensiones a los algoritmos clásicos es que se pueden usar no solo en manipuladores móviles, sino en otros robots que tengan ligaduras no holónomas.

Capítulo 4 Control de manipuladores móviles Una ley de control es una relación que expresa las señales requeridas en la entrada de un sistema, para que éste actúe de una manera determinada y así alcanzar un objetivo; dicho de otra manera, una ley de control determina el comportamiento de un sistema. En el caso de los robot, se utiliza una arquitectura de control consistente en un par de lazos de control anidados (figura 4.1). El lazo interno de control calcula el vector de las fuerzas y/o momento de entrada como una función de las mediciones de las variables de configuración y sus derivadas en el tiempo; la entrada al lazo interno de control es el vector de las aceleraciones deseadas en los actuadores, denotado a; en los robots holónomos completamente actuados las aceleraciones deseadas en los actuadores equivale a las aceleraciones generalizadas. La función del lazo interno de control es compensar las no linealidades del robot. En cuanto al lazo externo de control, su función es calcular el valor de las aceleraciones deseadas en los actuadores; usualmente este lazo de control es más acorde a los esquemas de control realimentado. Planificador de Tarea

rd

Controlador de Lazo Externo

a

Controlador de Lazo Interno

ηd

Manipulador m´ovil

r

Figura 4.1: Arquitectura del controlador basada en dos lazos de control anidados. Usando esta arquitectura de control, en el presente capítulo se presentan una serie de controladores que resuelven el problema de control en el espacio de tarea. Primero se presenta una ley de control en base a dinámica inversa, la cual no solo compensa la dinámica del sistema, sino también cancela un regulador PD a nivel de actuadores, el cual fue previamente instalado (sección 4.1). Una vez obtenida una ley de control a 29

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

30

nivel dinámico, se combinará en cascada con otras leyes de control, por ejemplo con un RAC en espacio de configuración (sección 4.2), un RAC en el espacio de tarea (sección 4.3), y un RAC robusto en el espacio de tarea (sección 4.4). Finalmente, las leyes de control en espacio de tarea requieren conocer la derivada en el tiempo del mapeo de las velocidades de los actuadores a las velocidades de postura, por lo cual se presenta un estimador eficiente de este mapeo (sección 4.5).

4.1.

Control por cancelación de la dinámica y un regulador PD

La función de una ley control a nivel dinámico es reducir el efecto de las inercias de los componentes del robot sobre el desempeño de la tarea. Dependiendo de la ley de control, también se puede compensar las fuerzas externas que actúan sobre los componentes. Una ley de control muy utilizada a este nivel es el método de la dinámica inversa [49], también llamado método del par calculado. Este tipo de control tiene la función de cancelar la dinámica propia del sistema, lo que permite que el sistema resultante se comporte como un doble integrador; sin embargo, este sistema resultante es sensible a incertidumbres en los parámetros, pero se puede combinar con otras técnicas para mejorar su robustez, por ejemplo se puede combinar con un lazo de retroalimentación. Sea el modelo reducido de un sistema dinámico no holónomo (sección 2.3) descrito por (n + m) ecuaciones de primer orden q˙ = S(q)η

(4.1)

η˙ = −M (q)−1 m(q, η) + M (q)−1 S(q)T S(q)τ .

(4.2)

La ley de control por dinámica inversa se obtiene al resolver (4.2) con respecto al vector de fuerzas externas τ , esto es τ = (S(q)T S(q))−1 m(q, η) + (S(q)T S(q))−1 M (q)a

(4.3)

donde a(t) ∈ Rm son las aceleraciones deseadas en los actuadores. Aplicando la ley de control (4.3) al sistema (4.2) se obtiene la expresión η˙ = a;

(4.4)

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

31

Las ecuaciones (4.1) y (4.4) forman un sistema doble integrador, el cual tiene como entrada de control al vector a de las aceleraciones deseadas en los actuadores; una ventaja de este sistema es que el diseñador del control puede complementar la ley de control (4.3) para alcanzar otros objetivos de control. Por otro lado, los fabricantes de robots móviles usualmente incluyen un controlador de velocidad del tipo PID en sus equipos; esto es un problema cuando se requiere implementar otras leyes de control en los robots. Una forma de solventar este problema consiste en desarrollar etapas de control y potencia que se conectan en paralelo a las etapas desarrolladas por el fabricante, pero esto implica la posibilidad de dañar el equipo e invalidar la garantía del mismo; a continuación se presenta el modelo dinámico a nivel de la velocidad de los actuadores y que incluye un regulador PD instalado en fábrica de la forma η˙ = −M (q)−1 m(q, η) + M (q)−1 S(q)T S(q)(KP η˜ − KD η). ˙

(4.5)

donde η(t) ˙ ∈ Rm son las aceleraciones de los actuadores, η˜(t) ∈ Rm es el error en las velocidades de los actuadores, definido como η˜ = ηd − η,

(4.6)

ηd (t) ∈ Rm es el vector de las velocidades de referencia de los actuadores, KP ∈ Rm×m es la matriz de ganancia proporcional, y KD ∈ Rm×m es la matriz de ganancia diferencial del regulador PD. Se presenta a continuación una ley de control por dinámica inversa1 , la cual no sólo compensa la dinámica del sistema sino además al regulador PD; dicha ley de control se expresa de la forma ηd = η + KP −1 KD η˙ + (S(q)T S(q)KP )−1 m(q, η) + (S(q)T S(q)KP )−1 M (q)a,

(4.7)

donde a(t) es otra vez el vector de las aceleraciones deseadas en los actuadores. Al sustituir (4.7) en (4.5) se compensa tanto la dinámica del sistema como al regulador PD, y el resultado es otra vez (4.4). Un problema de la cancelación del regulador PD es su sensibilidad a variaciones en los parámetros del sistema y las ganancias del regulador; otro problema es que las variables del estado se deben medir con gran exactitud, y en 1

Estos resultados se presentaron en [45].

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

32

particular se requieren las realizadas por el regulador instalado en fábrica del robot.

4.2.

Control por resolución de aceleración en espacio de configuración

Con (4.7) se puede realizar el control de un manipulador móvil en el espacio de configuración, pero para ello es importante encontrar una relación entre las aceleraciones de los actuadores y las aceleraciones generalizadas; en el caso de un manipulador estacionario esta relación es la identidad, pero en un manipulador móvil no holónomo, esta relación está dada por la derivada con respecto al tiempo de (4.1), ˙ a = −S(q)† S(q)η + S(q)† aq ,

(4.8)

donde la entrada aq (t) ∈ Rn es el vector de aceleraciones generalizadas deseadas, la ˙ matriz S(q) ∈ Rn×m es la derivada de S(q) con respecto al tiempo, y el operador ( · )† es la seudo-inversa [37]. La ley de control (4.8) se conoce como RAC y se ha usado para el control en el espacio de tarea de robots estacionarios [30] y manipuladores móviles [23], sin embargo no se ha aplicado a manipuladores móviles en el espacio de configuración2 con las características de (4.5). La ley de control (4.8) se puede combinar con un lazo realimentado de la forma aq = q¨d + K1 q˜˙ + K0 q˜,

(4.9)

donde el vector q˜(t) ∈ Rn es el error en el espacio configuración, el cual se define como q˜ = qd − q,

(4.10)

el vector qd (t) ∈ Rn es la configuración de referencia; finalmente, las matrices cuadradas constantes K1 , K2 , las cuales tienen el tamaño adecuado, son las ganancias del lazo realimentado; estas matrices de ganancia se pueden escoger para asegurar una dinámica del error de la forma q¨˜ + K1 q˜˙ + K0 q˜ = 0. (4.11) 2

Estos resultados se presentaron parcialmente en [43].

33

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

4.3.

Control por resolución de aceleración en el espacio de tarea

De manera similar al RAC para el espacio de configuración (sección 4.2), también se puede realizar el control de un manipulador móvil en el espacio de tarea con (4.7), pero se necesita encontrar una relación entre las aceleraciones de los actuadores y las aceleraciones del marco de referencia asociado al elemento final de control (figura 4.2); esta relación se puede encontrar a partir del modelo cinemático de postura (subsección 3.2) (4.12)

r˙ = B(q)η

donde la matriz B(q) ∈ Rp×m es el mapeo de las velocidades de los actuadores a las velocidades de postura y está definido como (4.13)

B(q) = J(q)S(q)

donde la matriz J(q) ∈ Rp×n es el jacobiano del robot; es importante notar que existen métodos para evaluar numéricamente el jacobiano para una configuración dada; estos métodos no necesitan tener una expresión analítica del jacobiano y son muy eficientes numéricamente [49]. r¨d r d , r˙ d

+

PD Tarea

+

Modelo Cinem´atico Inverso

a

Modelo Din´amico Inverso

PD Inverso Velocidad

+

PD Velocidad

τ

Manipulador M´ovil

η

Modelo Cinem´atico Postura

r, r˙

Estimador B˙

Figura 4.2: Sistema de control robusto basado en Lyapunov por resolución de aceleración en el espacio de tarea. Usando la derivada con respecto al tiempo de (4.12), se obtiene la ley de control ˙ a = −B(q)† B(q)η + B(q)† ar ,

(4.14)

donde la entrada ar (t) ∈ Rp es el vector de aceleraciones en el espacio de tarea deseadas, ˙ y la matriz B(q) ∈ Rp×m es la derivada del mapeo de las velocidades de los actuadores a las velocidades de postura con respecto al tiempo. Una vez que se establece la ley de control (4.14), se puede cerrar el lazo de control

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

34

por medio de ar = r¨d + K1 r˜˙ + K0 r˜

(4.15)

donde el vector ar (t) ∈ Rp son las aceleraciones en el espacio de tarea deseadas, el vector rd (t) ∈ Rp denota la postura deseada del marco de referencia asociado al elemento final de control, el vector r˜(t) ∈ Rp es el error de la postura del marco de referencia asociado al elemento final de control, definido como r˜ = rd − r;

(4.16)

por otro lado, K1 , K2 son matrices cuadradas constantes del tamaño adecuado, las cuales representan las ganancias del lazo realimentado, y las cuales se escogen para determinar una dinámica del error de la forma r¨˜ + K1 r˜˙ + K0 r˜ = 0.

4.4.

(4.17)

Control robusto basado en Lyapunov por resolución de aceleración en el espacio de tarea

Se presenta a continuación un controlador, el cual compensa la dinámica del sistema y al regulador PD pero de manera imperfecta3 . La ley de control se expresa de la forma

c(q)a, ηd = η + KP −1 KD η˙ + (S(q)T S(q)KP )−1 m(q, b η) + (S(q)T S(q)KP )−1 M

(4.18)

c(q) ∈ Rm×m es la matriz de inercia del sistema reducido nominal, y m(q, donde M b η) ∈ m R es el vector de las fuerzas potenciales del sistema reducido nominal. Al aplicar la ley de control (4.18) a (4.5) se obtiene el modelo dinámico lineal sujeto a la incertidumbre η˙ = a +  (4.19) donde el vector  ∈ Rm es la incertidumbre del modelo y se define como

3



−1 c



 = M (q) M (q) − Im a + M (q)−1 (m(q, b η) − m(q, η)) ,

Estos resultados se presentaron parcialmente en [45].

(4.20)

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

35

e Im ∈ Rm×m es la matriz identidad. Para cerrar el lazo de control se propone el lazo de control ar = r¨d + K1 r˜˙ + K0 r˜ + δ.

(4.21)

donde las ganancias K1 , K2 son matrices cuadradas constantes que se eligen para ajustar la dinámica del error; la función δ ∈ Rp es un termino a ser diseñado. Lema 2. La dinámica del error para el sistema dinámico (4.19) y (4.12), y con el lazo de realimentación (4.21), está dada por r¨˜ + K1 r˜˙ + K0 r˜ + δ + B(q) = 0.

(4.22)

Demostración. Sea el sistema dinámico definido por (4.19) y (4.12) con el lazo de realimentación (4.21). Al derivar (4.12) con respecto al tiempo se tiene ˙ r¨ = B(q)η + B(q)η; ˙

(4.23)

sustituyendo (4.19) en (4.23) se obtiene la relación ˙ r¨ = B(q)η + B(q)a + B(q);

(4.24)

por otro lado, usando (4.8) en (4.24) se obtiene la expresión r¨ = ar + B(q);

(4.25)

entonces sustituyendo (4.25) en (4.21) se obtiene (4.22) que es lo que se quería demostrar. Teorema 3. Existe una función δ(e) ∈ Rm tal que asegura la estabilidad de la combinación del sistema dinámico (4.19), la ley de control (4.14), y el lazo de realimentación (4.21). Demostración. Sea el sistema dinámico (4.19), la ley de control (4.14), y el lazo de realimentación (4.21). Por el lema 2 se tiene la dinámica del error (4.22), la cual se puede expresar en el espacio del estado como e˙ = F e + H (δ + B(q))

(4.26)

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

36

donde el vector e(t) ∈ R2p es el estado de la dinámica del error, el cual está definido como ! r˜ e= , (4.27) r˙ la matriz F ∈ R2p×2p es constante y está definida como F =

0 I −K0 −K1

la matriz H ∈ R2p×p también es constante H=

0 −I

!

!

(4.28)

(4.29)

Dado que K0 y K1 se pueden elegir de tal manera que la matriz F sea Hurwitz, es posible encontrar una matriz definida positiva Q ∈ R2p×2p tal que F T P + P F = −Q,

(4.30)

donde la matriz constante P ∈ R2p×2p es definida positiva Para demostrar la estabilidad de (4.26) se propone la función candidata de Lyapunov V = eT P e.

(4.31)

Al derivar (4.31) con respecto al tiempo se obtiene V˙ = eT (F T P + P F )e + 2eT P H (δ + B(q)) .

(4.32)

Un función δ(e) que asegura que (4.32) sea negativa está definida como  −ρ(e) H T P e kH T P ek δ= 0

si kH T P ek = 6 0

si kH T P ek = 0.

(4.33)

donde la función ρ(e) ∈ Rm está definida como ρ(e) =

 1 γ2 kek2 + γ1 kek + γ0 1−α

(4.34)

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

37

donde α, γ0 , γ1 y γ 2 son escalares constantes. Por lo tanto existe una función δ(e) que asegura la estabilidad del sistema.

4.5.

˙ Estimación de B(q)η

˙ Para poder usar la ley de control (4.8), se necesita conocer el valor de B(q) para una configuración dada; la derivada de B(q) se puede obtener por medio de (4.35), lo que da ˙ ˙ ˙ B(q) = J(q)S(q) + J(q)(q)S(q); (4.35) si bien se puede determinar de una manera relativamente simple la derivada con respecto al tiempo de S(q) [9], no es el mismo caso para el jacobiano; en la realidad resulta más eficiente computar numéricamente el jacobiano que obtener una expresión analíticamente, y por lo tanto obtener su derivada no es posible. A continuación se ˙ propone un método4 para obtener una aproximación numérica de la expresión B(q)η, ˙ que resulta más eficiente que calcular sólo B(q). Teorema 4. Sea un sistema no holónomo con un modelo cinemático expresado como ˙ (4.12). Entonces la expresión B(q)η puede ser obtenida a partir de d d ˙ (B(q)η) − B(q) η. B(q)η = dt dt

(4.36)

Demostración. Sea un sistema no holónomo con un modelo cinemático de postura ˙ (4.12). Al derivar a (4.12) con respecto al tiempo y resolviendo para B(q)η se obtiene que ˙ B(q)η = r¨ + B(q)η, ˙ o equivalentemente

d d ˙ B(q)η = r˙ − B(q) η. dt dt Finalmente, al sustituir (4.12) en (4.37) se obtiene d d ˙ B(q)η = (B(q)η) − B(q) η dt dt que era lo que se quería demostrar. 4

Estos resultados se presentaron en [45].

(4.37)

CAPÍTULO 4. CONTROL DE MANIPULADORES MÓVILES

38

La implementación computacional de (4.36) se pueden obtener con ayuda de aproximaciones numéricas de la derivada. Es importante notar que (4.36) depende de derivar numéricamente dos vectores, lo cual es un problema del orden O(p); por otro lado, obtener numéricamente la derivada de la matriz B(q) es un problema O(pm), y por lo tanto (4.36) resulta computacionalmente más eficiente.

4.6.

Conclusiones

En este capítulo primero se presentó una ley de control que compensa la dinámica del sistema y cancela un regulador PD instalado en fábrica. En combinación con esta ley de control a nivel dinámico, se construyeron una variedad de leyes de control, por ejemplo con un RAC en espacio de configuración, un RAC en espacio de tarea, y un RAC robusto en espacio de tarea . Finalmente, las leyes de control en espacio de tarea requieren conocer la derivada en el tiempo del mapeo de las velocidades de los actuadores a las velocidades de postura, por lo cual se presentó un estimador eficiente de este mapeo.

Capítulo 5 Validación numérica El propósito de la validación de un controlador es verificar que éste y la planta en conjunto satisfacen los requerimientos dados. Un requerimiento básico en un sistema de control es que sea estable y de preferencia robusto. Una herramienta muy útil en la validación de sistemas de control son las simulaciones computacionales. El presente capítulo muestra los resultados de la validación numérica de los diferentes esquemas de control presentados en el trabajo. Primeramente se presenta la implementación numérica de los modelos cinemático y dinámico de un manipulador móvil (sección 5.1). Posteriormente se presentan los resultados de las simulaciones realizadas con los esquemas de control en el espacio de configuración (sección 5.2), en el espacio de tarea. Finalmente se muestran los resultados de un controlador robusto en el espacio de tarea (5.3), en el cual se evalúa el comportamiento del sistema ante diversos tipos de perturbaciones.

5.1.

Modelo numérico del manipulador móvil

La plataforma a simular consiste en un manipulador móvil de 5 GDL. La base móvil es un robot móvil de tracción diferencial con características cinemáticas y dinámicas semejantes al robot Pioneer 3DX; normalmente el robot móvil se asume como un monociclo sin deslizamiento sobre una superficie plana y horizontal, y sobre la cual el monociclo que avanza; sin embargo, para este trabajo se considera a la base móvil como un robot cartesiano en dos ejes y un tercer eje rotacional. El brazo manipulador se considera como un manipulador planar de 2 GDL con articulaciones de rotación y eslabones con forma de varillas. 39

40

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

1 0

1 0 1 0

1 0 0 1

Figura 5.1: Disposición de un manipulador estacionario como modelo para obtener la cinemática directa de un manipulador móvil de 5 GDL. Los primeros tres ejes representan a la base móvil. Usando la descripción anterior, entonces es posible describir al manipulador móvil como un robot estacionario de 5 GDL con restricciones no holónomas en las articulaciones (figura 5.1); Las variables de coordenadas generalizadas del manipulador móvil, q, están definidas como   d1   d2     (5.1) q= θ3    θ4  θ5

donde d1 , d2 son las coordenadas (x, y) sobre la superficie de la base móvil, θ3 es la orientación de la base móvil, y θ4 , θ5 son las variables articulares del brazo manipulador; a partir de esta descripción se obtienen los parámetros de Denavit–Hartenberg (tabla 5.1). El manipulador móvil modelado tiene un conjunto de ligaduras no holónomas, las cuales están definidas por la expresión 

 sen q3   − cos q3    . A(q) =  0      0  0

(5.2)

41

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

Tabla 5.1: Parámetros de Denavit–Hartenberg para el manipulador móvil de 5 GDL. i 1 2 3 4 5

α (rad) −π/2 −π/2 +π/2 0 0

a (mm) θ (rad) d (mm) tipo de par cinemático 0 0 0 prismático 0 −π/2 0 prismático 0 0 237 rotacional 150 0 0 rotacional 168 0 0 rotacional

Dada esta matriz de ligaduras cinemáticas, un posible modelo cinemático de configuración (sección 3.1) esta dado por (5.3)

q˙ = S(q)η

donde η ∈ R4 es el vector de las velocidades de los actuadores, el cual está definido como   v   q˙3   η= (5.4) q˙   4 q˙5

donde v(t) es un escalar que describe la velocidad lineal de la base móvil; finalmente la matriz S(q), la cual se establece como 

   S (q) =    

cos q3 sen q3 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1



   ,   

(5.5)

es el mapeo de las velocidades de los actuadores a las velocidades generalizadas. El manipulador móvil se modeló en la dinámica de acuerdo a la expresión (sección 4.1) η˙ = −M (q)−1 m(q, η) + M (q)−1 S(q)T S(q)(KP η˜ − KD η). ˙ (5.6) El modelo (5.6), depende de conocer las masas y las dimensiones de los eslabones (tabla 5.2); es importante notar que los eslabones 1 y 2 se consideran sin masa y por

42

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

Tabla 5.2: Dimensiones de los eslabones del manipulador móvil de 5 GDL; se considera que los eslabones 1 y 2 no tienen masa. i Longitud (mm) 3 445 4 150 5 168

Ancho (mm) Altura (mm) 393 237 50 50 50 50

Masa (kg) 9.0 0.1 0.1

lo tanto no influyen en la dinámica. Por otro lado, el modelo (5.6) depende de la matriz S˙ la cual esta dada por 

   ˙ S(q) =    

−η2 sen q3 η2 cos q3 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0



   ;   

(5.7)

esta matriz también se utiliza para el controlador por dinámica inversa que se implantará en la siguiente sección. La implementación computacional de (5.6) implicó el desarrollo de diferentes rutinas de cómputo, las cuales utilizan como base la librería robotics toolbox [8] de Matlab; es importante notar que esta librería solo implementa modelos y controladores para robots estacionarios. Las rutinas desarrolladas se basan en el cambio de coordenadas de configuración. Las parámetros K1 y K2 son las ganancias del RAC y variaron para las diferentes versiones de este controlador (tabla 5.3); por otro lado KP y KD son las ganancias del controlador PD instalado en fábrica. Tabla 5.3: Ganancias de los controladores. Controlador K0 K1 RAC en el espacio de la configuración 2 4 RAC en espacio de la tarea 2.2 .7 RAC robusto en espacio de la tarea 2.2 .7

K P KD 40 0 40 0 40 0

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

5.2.

43

Controlador en el espacio de configuración

El primer controlador implementado consiste en dos etapas. La primera etapa es un controlador por dinámica inversa con cancelación de un regulador proporcional– derivativo ηd = η + KP −1 KD η˙ + (S(q)T S(q)KP )−1 m(q, η) + (S(q)T S(q)KP )−1 M (q)a.

(5.8)

La segunda etapa, que anida a la primera, es un RAC para el espacio de configuración (sección 4.2), descrito por ˙ + S(q)† aq . a = −S(q)† S(q)η

(5.9)

Finalmente, este conjunto de controladores en cascada y la realimentación aq = q¨d + K1 q˜˙ + K0 q˜,

(5.10)

permite seguir una referencia descrita en las coordenadas generalizadas del manipulador móvil. El controlador conformado por (5.8) (5.9) y (5.10) se aplicó a un modelo numérico del manipulador móvil (5.6). La referencia aplicada al controlador es una trayectoria generada por medio de una interpolación lineal entre dos configuraciones distintas; es importante notar que la trayectoria no satisface la restricción no holónoma; por lo tanto, se aprecia que el error de las coordenadas generalizadas (figura 5.2) crece; más aún, el controlador le da prioridad a la orientación sobre la posición en el plano de la base móvil. Por otro lado, las articulaciones 4 y 5, que no dependen de A(q) no muestran ese error.

5.3.

Controlador en el espacio de tarea

El siguiente controlador a validar consistió en el sistema (5.8) con un RAC en el espacio de tarea (sección 4.3) anidado, el cual está definido por ˙ + B(q)† ar ; a = −B(q)† B(q)η

(5.11)

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

44

Figura 5.2: Gráfico del error cinemático de configuración para los controladores en cascada de resolución de aceleración y de dinámica inversa. como (5.11) depende del valor de la derivada del mapeo de las velocidades de los actuadores a las velocidades de postura, se uso el estimador (sección 4.5) d d ˙ (B(q)η) − B(q) η; B(q)η = dt dt

(5.12)

finalmente, para cerrar el lazo de control se usó la realimentación ar = r¨d + K1 r˜˙ + K0 r˜.

(5.13)

La trayectoria de referencia en el espacio de tarea se generó a partir de las ecuaciones x(t) = cos(α(t)) y(t) = sen(α(t)).

(5.14)

donde α es una función del tiempo definida por un polinomio de tercer orden; las velocidades y aceleraciones se definen a partir de la primera y segunda derivadas de (5.14); la trayectoria resultante es un movimiento circular en la dirección contraria a las ma-

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

45

Figura 5.3: Seguimiento de la trayectoria en el plano. necillas del reloj. Es importante remarcar que esta trayectoria sí satisface las ligaduras no holónomas definidas por A(q). Al aplicar la trayectoria (5.14) al controlador formado por (5.8), (5.11), (5.12) y (5.13) se obtuvo un movimiento circular (figura 5.3), donde el manipulador móvil inició su movimiento desde una posición fuera de esta trayectoria y se aproximó a la trayectoria de referencia en dirección contraria, para posteriormente cambiar de dirección y seguirla. Este cambio de dirección parece abrupto, sin embargo al analizar el movimiento con respecto al tiempo (figuras 5.4 y 5.5) se puede apreciar que realmente es suave. En el error de postura (figura 5.6) se muestra que el error converge muy rápidamente a cero. De hecho, a pesar de que error en el x es mayor, aparentemente éste converge tan rápidamente como el error en y. Más informativo es el desplazamiento de las articulaciones (figura 5.7). Es importante notar que el manipulador móvil modelado tiene una redundancia cinemática; esto se aprecia en el movimiento de las primeras cuatro articulaciones, mientras el movimiento de la quinta articulación no es apreciable. Los desplazamiento de las articulaciones están acotados.

46

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

Figura 5.4: Seguimiento de la trayectoria en el eje x.

5.4.

Controlador robusto en el espacio de la tarea

El controlador robusto en el espacio de la tarea (sección 4.4) se implementó con la dinámica nominal inversa con cancelación de PD (5.8), definida como c(q)a, b η) + (S(q)T S(q)KP )−1 M ηd = η + KP −1 KD η˙ + (S(q)T S(q)KP )−1 m(q,

(5.15)

y en conjunto con un RAC en el espacio de tarea (5.11) y un estimador(5.12). Para cerrar el lazo de control se propone el lazo de realimentación ar = r¨d + K1 r˜˙ + K0 r˜ + δ,

(5.16)

donde δ es un compensador de las incertidumbres del sistema, y que se define como δ=

 −ρ(e) 0

HT P e kH T P ek

si kH T P ek = 6 0

si kH T P ek = 0.

(5.17)

47

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

Figura 5.5: Seguimiento de la trayectoria en el eje y. El controlador resultante se aplicó al modelo numérico (5.6) del manipulador móvil; es importante notar que (5.15) y (5.6) no se cancelan de manera perfecta. Los valores de los parámetros de la función δ se establecieron de forma heurística (tabla 5.4). Tabla 5.4: Valores de los parámetros de la función δ. Parámetro α γ1 γ2 γ3

Valor 0.0 0.1 0.2 0.0

Para verificar experimentalmente la robustez del controlador, se diseñaron y desarrollaron dos tipos de simulaciones. El objetivo del primer tipo de simulaciones fue medir el comportamiento del manipulador móvil ante variaciones en los parámetros. En el caso del segundo tipo, su propósito fue determinar el efecto del ruido en las mediciones en el comportamiento del manipulador móvil. Para determinar el efecto de la variación de parámetros en el manipulador móvil,

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

48

Figura 5.6: Error de postura. primeramente se definió que la variable de salida sería el error de postura, y en cuanto a las entradas, se consideraron los siguientes parámetros: el desplazamiento articular y la masa del tercer eslabón, d3 y m3 , y las distancias entre ejes del cuarto y quinto eslabón, a4 y a5 . Se usó un diseño factorial a dos niveles para determinar la cantidad de simulaciones a realizar; se desarrollaron dieciséis simulaciones, donde catorce simulaciones fueron exitosas; en las otras dos simulaciones, la plataforma de desarrollo indicó que los modelos eran numéricamente rígidos. En el caso del segundo tipo de simulaciones, se mantuvo el error de postura como salida, pero las entradas se consideraron las mediciones de la postura del manipulador móvil. Se asumió un error estándar de 0.05 % con un intervalo de confianza de 97 %. Se desarrollaron dieciséis simulaciones, de las cuales trece fueron exitosas. En cuanto a las otras tres simulaciones, la plataforma numérica indicó que eran numéricamente rígidas. Para cada simulación, se calculó el error cuadrático medio (RMS) de los resultados obtenidos; posteriormente, para cada tipo de simulación se determinó la media del error RMS y la desviación estándar de la muestra (tabla 5.5). Los resultados obtenidos muestran que el sistema tiende a ser robusto ante estas condiciones. A continuación se

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

49

Figura 5.7: Desplazamientos de las articulaciones. Tabla 5.5: Error cuadrático medio (RMS) de los experimentos numéricos por variaciones en parámetros, ruido en las mediciones. Conjunto experimental Error RMS Dev. est. de la muestra Variación en los parámetros 0.572 0.0418 Ruido en mediciones 0.519 0.026 Sin variación ni ruido 0.466 No Aplica presenta los resultados específicos de una de las simulaciones. Se puede observar que el último eslabón del manipulador móvil sigue muy bien la trayectoria propuesta (figura 5.8); de nuevo es importante notar que la trayectoria propuesta es en dirección contraria a las manecillas del reloj y el robot empieza a avanzar en el otro sentido. También el seguimiento de la trayectoria con respecto al tiempo es suave en el eje x (figura 5.9) y en el eje y (figura 5.10). En cuanto al error de seguimiento (figura 5.11), se tiene que también converge exponencialmente a cero y es estable en el intervalo de tiempo durante el cual se realiza la simulación. Por otro lado, los desplazamientos de las articulaciones (figura 5.12) están acotados. Es importante notar, que a pesar de ser un robot redundante en la cinemática, todas

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

50

Figura 5.8: Seguimiento de la trayectoria con el controlador RAC robusto. las articulaciones tienen desplazamientos. Esto se debe a que la cancelación entre la dinámica inversa (5.15) y el modelo (5.6) no es perfecta.

5.5.

Conclusiones

En el presente capítulo se mostraron los resultados de la validación numérica de los diferentes esquemas de control presentados en el trabajo. Primeramente se presentó la implementación numérica de los modelos cinemático y dinámico de un manipulador móvil (sección 5.1). Posteriormente se presentaron los resultados de las simulaciones realizadas con los esquemas de control en el espacio de configuración (sección 5.2), en el espacio de tarea. Finalmente se mostraron los resultados de un controlador robusto en el espacio de tarea (5.3), en el cual se evalúa el comportamiento del sistema ante diversos tipos de perturbaciones. Un punto interesante en el último controlador es cómo la redundancia cinemática del manipulador móvil de 5 GDL ayuda a reducir el impacto de perturbaciones al sistema de control.

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

51

Figura 5.9: Seguimiento de la trayectoria en el eje x con el controlador RAC robusto.

Figura 5.10: Seguimiento de la trayectoria en el eje y con el controlador RAC robusto.

CAPÍTULO 5. VALIDACIÓN NUMÉRICA

Figura 5.11: Error de la postura con el controlador RAC robusto.

Figura 5.12: Desplazamiento de las articulaciones.

52

Capítulo 6 Validación experimental Para verificar tanto el método de modelado propuesto (capítulo 3), como los controladores desarrollado (capítulo 4), se realizaron algunos experimentos sobre un manipulador móvil. En estos experimentos, se desempeñó la tarea de seguir una trayectoria circular sobre una superficie plana y horizontal. La base del manipulador móvil es un robot modelo Pioneer 3DX, el cual es fabricado por la empresa Adept MobileRobotics. Éste es un robot móvil con ruedas de tracción diferencial; se consideró que las ruedas no tenían deslizamiento con respecto a la superficie de trabajo. Por otro lado, el brazo del manipulador móvil, es el modelo Cyton Alpha de la empresa Robai ; este robot es del tipo articular de 7 GDL con una configuración humanoide. Para los experimentos, sólo se consideró una articulación del robot Cyton Alpha, el cual operó como un manipulador horizontal de 1 GDL. Por lo tanto, con respecto a los experimentos desarrollados, el manipulador móvil tiene 4 GDL. En el presente capítulo, primeramente se presentan algunos detalles técnicos de la implementación del controlador (sección 6.1). Posteriormente se presentan los resultados de las experimentos para el control en el espacio de tarea para dos casos: realizar una trayectoria circular una sola vez (sección 6.2) y realizar la trayectoria circular dos veces seguidas (sección 6.3). Finalmente se presentan las conclusiones (sección 6.4).

6.1.

Implementación del controlador

El control del manipulador móvil fue implementado por medio de la plataforma de cómputo numérico Matlab. El problema con este enfoque es que esta plataforma no 53

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

54

está habilitada para la operación tiempo real. Una forma de solventar parcialmente este problema es el multi-procesamiento, y por lo cual se utilizó la distribución Ubuntu 10.04 del sistema operativo Linux, el cual es un sistema operativo multitareas. Esto permitió desarrollar cada componente de software como un proceso independiente. La comunicación entre los procesos se realizó de forma asíncrona y, por lo tanto, se reduce el problema de bloqueos a causa de la comunicación. Dicho de otra manera, cada elemento del sistema da su propio ritmo de comunicación. Además, para reducir la necesidad de una sincronía en tiempo real, se diseñó el sistema para que el programa principal no almacenara localmente la información del estado del robot, sino que cada componente informa el estado en base a un protocolo de comunicación. Cada uno de los componentes de software desarrollados se diseñó bajo el concepto de agentes [40], para lo cual se buscó disponer en cada elemento un lenguaje o protocolo de comunicación textual. En el caso de que un elemento dado dispusiera ya de un protocolo textual, éste se aprovechó; en el caso contrario, éste se implementó con la ayuda de herramientas tales como el generador de analizadores léxicos Flex [54], el generador de analizadores sintácticos Bison [11], los compiladores para los lenguajes C y C++ de la colección de compiladores GNU [50]. Para el caso particular de la base móvil se aprovechó la librería libAria de Adept MobileRobotics. Para implementar el control RAC robusto se utilizó el algoritmo funcional para la dinámica inversa por medio del método de Newton–Euler (capítulo 3); para ello se aprovechó de la función rne del robotics toolbox de Matlab [8], el cual esta desarrollado para el caso holónomo y se extendió usando transformaciones de coordenadas en el espacio de configuración. En los experimentos se utilizó el mismo conjunto de parámetros que en las simulaciones (capítulo 5). Los parámetros K1 y K2 son las ganancias del RAC y variaron para las diferentes versiones de este controlador (tabla 6.1); por otro lado KP y KD son las ganancias del controlador PD instalado en fábrica. Tabla 6.1: Ganancias de los controladores. Experimento Caso 1 Caso 2

K0 40 40

K1 K P KD 400 40 0 250 40 0

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

6.2.

55

Resultados experimentales del control en el espacio de la tarea: caso 1

Figura 6.1: El recorrido de referencia y el movimiento descrito por la plataforma experimental en el caso 1. Se aplicó a la plataforma experimental un control RAC con cancelación de regulador PD (capítulo 4). La trayectoria de referencia describe un recorrido circular en el espacio de tarea (figura 6.1) y esta definida por las ecuaciones x(t) = cos(α(t)) y(t) = sen(α(t)).

(6.1)

donde α es una función del tiempo definida por una interpolación por medio de un polinomio de tercer orden y con valores entre 0 y 2π; las velocidades en el espacio de la tarea están dadas por la primera derivada en el tiempo de (6.1). La trayectoria se realizó durante un tiempo de 180 s. Conforme a los datos obtenidos de los experimentos, el manipulador móvil siguió la trayectoria propuesta con un error de estado estacionario (figura 6.1). También se apreció que el robot siguió con bastante éxito las trayectorias propuestas en los ejes X

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

56

Figura 6.2: Seguimiento de la trayectoria sobre el eje X en el caso 1. y Y (figuras 6.2 y 6.3). Es importante remarcar que la posición inicial del robot es en el centro del círculo usado como trayectoria. En cuanto al error de seguimiento, éste se encuentra acotado durante el intervalo del experimento (figura 6.4); este hecho se verifica mejor con el error absoluto (figura 6.5). Las señales generadas por el control están acotadas (figura 6.6); se puede apreciar cambios repentinos en el control de la última articulación. Las señales de control se deben comparar contra las velocidades de los actuadores (figura 6.7), ya que las señales de control son referencias de velocidada para el robot; las velocidades de los actuadores se encuentran acotadas pero sin entrar en saturación. Por otro lado, los desplazamientos de las articulaciones están acotados (figura 6.8), pero se notó la existencia de oscilaciones en la orientación del robot móvil al final de la trayectoria.

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

57

Figura 6.3: Seguimiento de la trayectoria sobre el eje Y en el caso 1.

6.3.

Resultados experimentales del control en el espacio de la tarea: caso 2

Un segundo caso experimental consistió en usar el mismo control en el manipulador móvil pero en esta ocasión realizando otra tarea, la cual fue realizar el mismo circulo pero dos veces seguidas. La forma de la trayectoria de referencia se describe con las mismas ecuaciones (6.1) (6.9), pero en esta ocasión se uso para el ángulo α el intervalo de 0 a 4π y un tiempo de 360 s para la interpolación del polinomio de tercer orden. De nuevo el robot sale del centro del círculo propuesto y fue a seguir la trayectoria propuesta; esto se puede apreciar mejor en el desplazamiento sobre el eje X que era donde existe principalmente esa diferencia (figura 6.10). Tanto en el eje X como en el eje Y (figura 6.11) se apreció que el robot realizó las dos vueltas. En cuanto al error de seguimiento, éste se encuentra acotado durante el intervalo del experimento (figura 6.12), pero se puede apreciar unas oscilaciones al final de la tarea. En el error absoluto (figura 6.12) se aprecia también estas oscilaciones. Las señales generadas por el control están acotadas (figura 6.14); otra vez, la señal de control correspondiente al brazo muestra grandes cambios con respecto a las señales

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

58

Figura 6.4: El error de postura en el seguimiento de la trayectoria para el caso 1. de control de la base móvil. Las señales de control son referencias de velocidades para los actuadores del manipulador móvil; en las velocidades (figura 6.15) se puede apreciar que no se saturan los actuadores con respecto a la velocidad. En cuanto a los desplazamientos de las articulaciones están acotados (figura 6.16), pero se puede apreciar que en la última parte del trayecto existen otra vez oscilaciones. Lo peculiar es que el error de postura y el error absoluto no crecen mucho.

6.4.

Conclusiones

En el presente capítulo se presentaron los resultados experimentales de aplicar un control RAC con cancelación del regulador PD (capítulo 4) a un manipulador móvil real; la dinámica inversa requerida por el RAC fue calculada por medio del método de Newton–Euler para el caso no holónomo (capítulo 3). En los experimentos se encontró que si bien el manipulador móvil sigue el perfil de la trayectoria planeada, tiene un desfase al seguir la referencia de velocidad, lo cual se ve reflejado en un error del seguimiento de la trayectoria de ambos casos (figuras 6.4 y 6.12). También es importante notar la oscilación en la velocidad lineal de la base móvil

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

59

Figura 6.5: El error absoluto de postura en el seguimiento de la trayectoria en el caso 1. (figuras 6.7 y 6.15). Es posible que estas oscilaciones, y el error que esto conlleva, se deban a que la base móvil maneja tres ciclos de trabajo distintos en su lazo de control; la velocidad del PID interno de la base móvil es de 50 µs, en tanto el controlador recalcula y ajusta la trayectoria cada 5 ms [34]; por otro lado, el interfaz de comunicación del robot opera con un ciclo de trabajo de 100 ms [33]. Esto implica que sólo es posible cancelar localmente el regulador PD. Sin embargo es interesante que a pesar de este problema, el control trata de seguir el perfil de la trayectoria. Un posible trabajo futuro implicaría la construcción de una plataforma experimental que permitiera mantener un solo ciclo de trabajo y por lo tanto comprobar si el RAC con cancelación del regulador PD es realmente viable.

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

Figura 6.6: Señales de control enviadas al manipulador móvil en el caso 1.

Figura 6.7: Velocidades de los actuadores en el caso 1.

60

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

61

Figura 6.8: Desplazamiento de las variables articulares durante el seguimiento de la trayectoria en el caso 1.

Figura 6.9: El recorrido de referencia y el movimiento descrito por manipulador móvil en el caso 2.

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

Figura 6.10: Seguimiento de la trayectoria sobre el eje X en el caso 2.

Figura 6.11: Seguimiento de la trayectoria sobre el eje Y en el caso 2.

62

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

63

Figura 6.12: El error de postura del manipulador móvil al seguir la trayectoria propuesta en el caso 2.

Figura 6.13: El error absoluto de postura del robot el seguir la trayectoria propuesta en el caso 2.

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

Figura 6.14: Señales de control enviadas al manipulador móvil en el caso 2.

Figura 6.15: Velocidades de los actuadores en el caso 2.

64

CAPÍTULO 6. VALIDACIÓN EXPERIMENTAL

65

Figura 6.16: Desplazamiento de las variables articulares de la plataforma experimental en el caso 2.

Capítulo 7 Conclusiones y perpectivas El presente trabajo muestra los resultados obtenidos en el desarrollo de un control de un manipulador móvil. Primeramente se muestran las conclusiones del trabajo (sección 7.1), para pasar posteriormente a las perspectivas del trabajo (sección 7.2).

7.1.

Conclusiones

El primer resultado obtenido fue la formulación del modelo cinemático y dinámico de un manipulador móvil sujeto a ligaduras holónomas (capítulo 3). El modelo cinemático obtenido es una extensión del método de modelado cinemático de Denavit– Hartenberg, al considerar el problema de locomoción y manipulación concurrente por un manipulador móvil como un problema puramente de manipulación, asumiendo que es un robot estacionario cuyas articulaciones tienen ligaduras no holónomas. El segundo resultado fue el desarrollo de una extensión al método de Newton–Euler para el modelado de sistemas no holónomo (capítulo 3), el cual se implementó usando transformaciones de coordenadas en el espacio de configuración. Una de las ventajas de este enfoque es que permite el uso de herramientas ya probadas en robots estacionarios y aplicarlas a manipuladores móviles. El tercer resultado es el desarrollo de un controlador a nivel dinámico para un manipulador móvil con un regulador PD ya instalado en fábrica (capítulo 4). Se desarrollaron diversos controladores: un RAC en el espacio de configuración, un RAC en el espacio de tarea y un RAC robusto en el espacio de tarea. Los controladores se implementaron por medio de una arquitectura reactiva de control con dos lazos cerrados de control anidados. Para el primer lazo de control se utilizó la llamada dinámica inversa, 66

CAPÍTULO 7. CONCLUSIONES Y PERPECTIVAS

67

el cual usa un modelo reducido del manipulador móvil para obtener un sistema de orden reducido, y el cual fue implementado por medio del método de Newton–Euler expuesto anteriormente; en este lazo de control también se logra compensar al regulador PD. En el lazo externo de control se presentan dos controles, uno en el espacio de articulación y el otro en el espacio de tarea, que utilizan el esquema de control por resolución de aceleración. Para lograr este esquema se implementa un estimador de la derivada del mapeo de las velocidades de los actuadores a las velocidades de postura. Para probar estos controladores se desarrollaron inicialmente simulaciones numéricas (capítulo 5). Los resultados obtenidos muestran que los controladores corrigen rápidamente el error y son bastante robustos. En particular se probó la versión robusta con variación de parámetros en la planta y ruido en las mediciones. Finalmente se presentaron los resultados experimentales de aplicar un control RAC con cancelación del regulador PD a un manipulador móvil real (capítulo 6). En los experimentos se encontró que si bien el manipulador móvil sigue el perfil de la trayectoria planeada, tiene un desfase al seguir la referencia de velocidad, lo cual se ve reflejado en un error del seguimiento de la trayectoria. Además existe una oscilación en la velocidad lineal de la base móvil. Estas oscilaciones, y el error que esto conlleva, posiblemente se deban a que el sistema de control y comando de la base móvil maneja internamente tres ciclos de trabajo distintos en su lazo de control. Esto implica que sólo es posible cancelar localmente el regulador PD.

7.2.

Perspectivas

Un resultado de este trabajo es que es posible considerar el problema de locomoción y manipulación concurrentes como un problema de simplemente manipulación, lo que permite extender las herramientas utilizadas en robots estacionarios a manipuladores móviles. Esto permite tener una teoría unificada de la robótica al menos para dos tipos de robots diferentes. Un posible desarrollo futuro es el desarrollo de controladores que permitan realizar simultáneamente de dos tareas diferentes, por ejemplo transportar una pieza manteniendo al mismo tiempo la estabilidad de plataforma. Actualmente existe trabajo realizado con respecto a reducir la oscilaciones mecánica del manipulador [1] o estabilizar la base [52], pero esta tarea no se desempeña simultáneamente con el seguimiento de una trayectoria.

CAPÍTULO 7. CONCLUSIONES Y PERPECTIVAS

68

También, gracias a los métodos desarrollados de modelado, se pueden diseñar controladores para el caso de tener ligaduras no holónomas en el brazo o en elemento final de control, no solamente en la base. Un ejemplo de un sistema así son los sistemas de corte de vidrio. Hay trabajos en la literatura pero usan técnicas de modelado distintas para el brazo y la base móvil [32] [31]. Otro trabajo futuro implicaría la construcción de una plataforma experimental que permitiera mantener un solo ciclo de trabajo y por lo tanto comprobar si el RAC con cancelación del regulador PD es realmente viable.

7.3.

Recomendaciones

Es importante notar que la plataforma utilizada no es la más adecuada para probar controles a nivel dinámico. Se recomienda usar una plataforma que permita el control directo de los actuadores y que la comunicación sea directa. Otra recomendación importante es automatizar en lo más posible el desarrollo de experimentos y simulaciones, así como su análisis. Se encontró que al usar herramientas, tales como guiones y el programa make, permiten asegurar la reproducibilidad de los datos y regenerar las imágenes y tablas.

Bibliografía [1] Pradeep K. W. Abeygunawardhana y Toshiyuki Murakami. Stability improvement of two wheel driven mobile manipulator using nonlinear PD controller. IEEJ Transactions on Industry Applications, 128(10):1149–1156, 2008. [2] B. Bayle, J.-Y. Fourquet, y M. Renaud. Manipulability of wheeled mobile manipulators: Application to motion generation. The International Journal of Robotics Research, 22(7-8):565–581, julio 2003. ISSN 0278-3649, 1741-3176. [3] M. Boukattaya, M. Jallouli, y T. Damak. Dynamic redundancy resolution for mobile manipulators using position fuzzy controller. En 6th International MultiConference on Systems, Signals and Devices, 2009. SSD ’09, páginas 1–6. 2009. [4] F. Boyer y S. Ali. Recursive inverse dynamics of mobile multibody systems with joints and wheels. IEEE Transactions on Robotics, 27(2):215 –228, abril 2011. ISSN 1552-3098. [5] G. Campion, G. Bastin, y B. Dandrea-Novel. Structural properties and classification of kinematic and dynamic models of wheeled mobile robots. IEEE Transactions on Robotics and Automation, 12(1):47 –62, febrero 1996. ISSN 1042-296X. [6] M.W. Chen y A.M.S. Zalzala. Dynamic modelling and genetic-based trajectory generation for non-holonomic mobile manipulators. Control Engineering Practice, 5(1):39–48, enero 1997. ISSN 0967-0661. [7] Jae H. Chung y Steven A. Velinsky. Robust interaction control of a mobile manipulator - dynamic model based coordination. Journal of Intelligent and Robotic Systems, 26(1):47–63, septiembre 1999. ISSN 0921-0296, 1573-0409. [8] P.I. Corke. A robotics toolbox for MATLAB. IEEE Robotics Automation Magazine, 3(1):24 –32, marzo 1996. ISSN 1070-9932. 69

BIBLIOGRAFÍA

70

[9] A. De Luca y G. Oriolo. Modelling and control of nonholonomic mechanical systems. En J. Angeles y A. Kecskemethy, editores, Kinematics and Dynamics of Multi-Body Systems, tomo 360, páginas 277–342. Springer Verlag, Wien, 1995. [10] A. De Luca, G. Oriolo, y P.R. Giordano. Kinematic modeling and redundancy resolution for nonholonomic mobile manipulators. En Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006, páginas 1867 –1873. mayo 2006. [11] Charles Donnelly y Richard Stallman. Bison: The Yacc - Compatible Parser Generator. Free Software Foundation, marzo 1992. ISBN 9781882114306. [12] L.-P. Ellekilde y H.I. Christensen. Control of mobile manipulator using the dynamical systems approach. En IEEE International Conference on Robotics and Automation, 2009. ICRA ’09, páginas 1370–1376. 2009. [13] Mahdy Eslamy y S. Ali A. Moosavian. Control of suspended wheeled mobile robots with multiple arms during object manipulation tasks. En Proceedings of the 2009 IEEE International Conference on Robotics and Automation, páginas 3730–3735. Kobe, Japan, 2009. [14] Mu Fang, Weidong Chen, y Zhijun Li. Adaptive tracking control of coordinated nonholonomic mobile manipulators. En Proceedings of the 17th World Congress The International Federation of Automatic Control Seoul, Korea. 2008. [15] I. Farkhatdinov, Jee-Hwan Ryu, y J. Poduraev. A feasibility study of time-domain passivity approach for bilateral teleoperation of mobile manipulator. En International Conference on Control, Automation and Systems, 2008. ICCAS 2008, páginas 272–277. 2008. [16] R. Featherstone y D. Orin. Robot dynamics: equations and algorithms. En IEEE International Conference on Robotics and Automation, 2000. Proceedings. ICRA ’00, tomo 1, páginas 826–834 vol.1. 2000. [17] Antonio Fernández Rañada. Dinámica Clásica. Fondo de Cultura Económica, México, D.F., 2 edición, 2005. ISBN 968-16-7398-0. [18] M. Galicki. Control of mobile manipulators in a task space. IEEE Transactions on Automatic Control, 57(11):2962–2967, 2012. ISSN 0018-9286.

BIBLIOGRAFÍA

71

[19] Weimin Ge, Duofang Ye, Wenping Jiang, y Xiaojie Sun. Sliding mode control for trajectory tracking on mobile manipulators. En IEEE Asia Pacific Conference on Circuits and Systems, 2008. APCCAS 2008, páginas 1834–1837. diciembre 2008. [20] Herbert Goldstein. Mecánica clásica. Reverté, Barcelona, 2 edición, 2000. [21] Brad Hamner, Seth Koterba, Jane Shi, Reid Simmons, y Sanjiv Singh. An autonomous mobile manipulator for assembly tasks. Autonomous Robots, 28(1):131–149, enero 2010. ISSN 0929-5593, 1573-7527. [22] Tang Hong y Yang Qing-xuan. Sliding mode control design of cleaning robot’s mobile manipulator used in large condenser based on neural networks. En Proceedings of the 2009 IITA International Conference on Control, Automation and Systems Engineering, páginas 446–449. 2009. [23] N.A.M. Hootsmans y S. Dubowsky. Large motion control of mobile manipulators including vehicle suspension characteristics. En , 1991 IEEE International Conference on Robotics and Automation, 1991. Proceedings, páginas 2336–2341 vol.3. 1991. [24] J. Joshi y A.A. Desrochers. Modeling and control of a mobile robot subject to disturbances. En 1986 IEEE International Conference on Robotics and Automation. Proceedings, tomo 3, páginas 1508–1513. 1986. [25] O. Khatib, K. Yokoi, K. Chang, D. Ruspini, R. Holmberg, y A. Casal. Vehicle/arm coordination and multiple mobile manipulator decentralized cooperation. En Proceedings of the 1996 IEEE/RSJ International Conference on Intelligent Robots and Systems ’96, IROS 96, tomo 2, páginas 546–553 vol.2. 1996. [26] Oussama Khatib. Mobile manipulation: The robotic assistant. Robotics and Autonomous Systems, 26(2-3):175–183, febrero 1999. ISSN 0921-8890. [27] S. Kobayashi, A. Muis, y K. Ohnishi. Sensorless cooperation between human and mobile manipulator. En IEEE International Conference on Industrial Technology, 2005. ICIT 2005, páginas 811–816. 2005. [28] Yangmin Li y Yugang Liu. Control of a mobile modular manipulator moving on a slope. En Proceedings of the IEEE International Conference on Mechatronics, 2004. ICM ’04, páginas 135–140. junio 2004.

BIBLIOGRAFÍA

72

[29] Yugang Liu y Guangjun Liu. On multiple secondary task execution of redundant nonholonomic mobile manipulators. Journal of Intelligent and Robotic Systems, 56(4):365–388, noviembre 2009. ISSN 0921-0296, 1573-0409. [30] J. Y S Luh, M. W. Walker, y R. P C Paul. Resolved-acceleration control of mechanical manipulators. IEEE Transactions on Automatic Control, 25(3):468– 474, 1980. ISSN 0018-9286. [31] Alicja Mazur. Trajectory tracking control in workspace-defined tasks for nonholonomic mobile manipulators. Robotica, 28(01):57–68, 2010. [32] Alicja Mazur y Dawid Szakiel. On path following control of nonholonomic mobile manipulators. International Journal of Applied Mathematics and Computer Science, 19(4):561–574, diciembre 2009. [33] Inc. MobileRobots. Advanced robotics interface for applications (aria) developer’s reference manual, 2006. [34] Inc. MobileRobots. Pioneer 3 operations manual, 2007. [35] S. A. A. Moosavian y M. Eslamy. Object manipulation by multiple arms of a wheeled mobile robotic system. En 2008 IEEE Conference on Robotics, Automation and Mechatronics, páginas 1124–1129. Chengdu, 2008. [36] S.H. Murphy, J. Ting-Yung Wen, y G.N. Saridis. Simulation of cooperating robot manipulators on a mobile platform. IEEE Transactions on Robotics and Automation, 7(4):468–478, 1991. ISSN 1042-296X. [37] Yoshihiko Nakamura. Advanced robotics: redundancy and optimization. AddisonWesley Pub. Co., 1991. ISBN 9780201151985. [38] D.E. Orin, R.B. McGhee, M. Vukobratović, y G. Hartoch. Kinematic and kinetic analysis of open-chain linkages utilizing newton-euler methods. Mathematical Biosciences, 43(1-2):107–130, febrero 1979. ISSN 0025-5564. [39] Fethi Rabhi y Guy Lapalme. Algorithms A Functional Programming Approach. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1 edición, 1999. ISBN 0201596040.

BIBLIOGRAFÍA

73

[40] Stuart Russell y Peter Norvig. Inteligencia artificial: Un enfoque moderno. Pearson Educación S.A., Madrid, España, 2 edición, 2004. [41] Gastón H. Salazar Silva, Jaime Álvarez Gallegos, y Marco A. Moreno-Armendáriz. Una metodología integral para el modelado cinemático de manipuladores móviles con ruedas. Revista Internacional de Sistemas Computacionales y Electrónicos, 2011. [42] Gastón H. Salazar-Silva, J. Álvarez Gallegos, y M.A. Moreno-Armendáriz. Revisión del estado del arte sobre robots manipuladores móviles. En Congreso Nacional 2010 de la Asociación de México de Control Automático, AMCA 2010, páginas 333–338. 2010. [43] G.H. Salazar-Silva, J. Álvarez Gallegos, y M.A. Moreno-Armendáriz. Una metodología integral para el modelado cinemático de manipuladores móviles con ruedas. En Tercer Congreso Internacional de Sistemas Computacionales y Electrónicos. 2011. [44] G.H. Salazar-Silva, J. Álvarez-Gallegos, y M.A. Moreno-Armendáriz. Wheeled mobile manipulator modeling for task space control. En 8th International Conference on Informatics in Control, Automation and Robotics, ICINCO 2011. 2011. [45] G.H. Salazar-Silva, M.A. Moreno-Armendáriz, y J. Álvarez Gallegos. Modelado y control en espacio detarea de un manipulador móvil concancelación de control proporcional-derivativo instalado en fábrica. Computación y Sistemas, 16(4), 2012. [46] G.H. Salazar-Silva, M.A. Moreno-Armendáriz, y J. Álvarez-Gallegos. Modeling and control of a mobile manipulator in task space. En Congreso Nacional 2012 de la Asociación de México de Control Automático, AMCA 2012. 2012. [47] G.H. Salazar-Silva, M.A. Moreno-Armendáriz, y J. Álvarez Gallegos. Modeling and control of a mobile manipulator with cancellation of factory-installed regulator. En Biomechanics/752: Robotics. 2011. [48] Liu Shu-ying, Duan Ping, Ding Cheng-jun, Zhang Ming-lu, y Zhang Yan-fang. The study on dynamic scheduling of mobile manipulator based on MAS and neural network. En IEEE International Conference on Automation and Logistics, 2009. ICAL ’09, páginas 1821–1826. 2009.

BIBLIOGRAFÍA

74

[49] M.W. Spong, S. Hutchinson, y M. Vidyasagar. Robot modeling and control . John Wiley & Sons, Hoboken, NJ, 2006. ISBN 978-0471649908. [50] R.M. Stallman, Mass.) Free Software Foundation (Cambridge, y Gcc Developer Community. Using GCC: The GNU Compiler Collection Reference Manual. Free Software Foundation, 2003. ISBN 9781882114399. [51] Yu. Stepanenko y M. Vukobratović. Dynamics of articulated open-chain active mechanisms. Mathematical Biosciences, 28(1-2):137–170, 1976. ISSN 0025-5564. [52] H. Tai y T. Murakami. A control of two wheels driven redundant mobile manipulator using a monocular camera system. En 15th International Conference on Mechatronics and Machine Vision in Practice, 2008 (M2VIP 2008), páginas 368–373. Auckland, 2008. [53] Jindong Tan, Ning Xi, y Yuechao Wang. Integrated task planning and control for mobile manipulators. The International Journal of Robotics Research, 22(5):337– 354, mayo 2003. ISSN 0278-3649, 1741-3176. [54] The Flex Project. Lexical analysis with flex, for flex 2.5.37, 2012. [55] Ying Wang, Haoxiang Lang, y C.W. de Silva. Visual servo control and parameter calibration for mobile multi-robot cooperative assembly tasks. En IEEE International Conference on Automation and Logistics, 2008. ICAL 2008, páginas 635–639. 2008. [56] G.D. White, R.M. Bhatt, Chin Pei Tang, y V.N. Krovi. Experimental evaluation of dynamic redundancy resolution in a nonholonomic wheeled mobile manipulator. IEEE/ASME Transactions on Mechatronics, 14(3):349–357, junio 2009. ISSN 1083-4435. [57] Yuandong Yang y Oliver Brock. Elastic roadmaps-motion generation for autonomous mobile manipulation. Autonomous Robots, 28(1):113–130, enero 2010. ISSN 0929-5593, 1573-7527. [58] L. B. Yu, Q.X. Cao, y X.W. Xu. An approach of manipulator control for servicerobot FISR-1 based on motion imitating. En IEEE International Conference on Industrial Technology, 2008. ICIT 2008, páginas 1–5. 2008.

Apéndice A Publicaciones Como producto del presente trabajo se realizó una publicación en revista: G.H. Salazar-Silva, M.A. Moreno-Armendáriz, y J. Álvarez Gallegos. Modelado y control en espacio de tarea de un manipulador móvil con cancelación de control proporcional-derivativo instalado en fábrica. Computación y Sistemas, 16(4), 2012. Además se han publicado diversas ponencias en congresos internacionales: 1. G.H. Salazar-Silva, J. Álvarez Gallegos, y M.A. Moreno-Armendáriz. Una metodología integral para el modelado cinemático de manipuladores móviles con ruedas. En Tercer Congreso Internacional de Sistemas Computacionales y Electrónicos. 2011. 2. G.H. Salazar-Silva, J. Álvarez-Gallegos, y M.A. Moreno-Armendáriz. Wheeled mobile manipulator modeling for task space control. En /8th International Conference on Informatics in Control, Automation and Robotics, ICINCO 2011/. 2011. 3. G.H. Salazar-Silva, M.A. Moreno-Armendáriz, y J. Álvarez Gallegos. Modeling and control of a mobile manipulator with cancellation of factory-installed regulator. En Biomechanics/752 : Robotics. 2011. También se presentaron trabajos en congresos nacionales:

75

APÉNDICE A. PUBLICACIONES

76

1. Gastón H. Salazar-Silva, J. Álvarez Gallegos, y M.A. Moreno-Armendáriz. Revisión del estado del arte sobre robots manipuladores móviles. En Congreso Nacional 2010 de la Asociación de México de Control Automático, AMCA 2010, páginas 333–338. 2010. 2. G.H. Salazar-Silva, M.A. Moreno-Armendáriz, y J. Álvarez-Gallegos. Modeling and control of a mobile manipulator in task space. En Congreso Nacional 2012 de la Asociación de México de Control Automático, AMCA 2012. 2012. Finalmente, se publicó un artículo en una revista institucional Gastón H. Salazar Silva, Jaime Álvarez Gallegos, y Marco A. Moreno-Armendáriz. Una metodología integral para el modelado cinemático de manipuladores móviles con ruedas. Revista Internacional de Sistemas Computacionales y Electrónicos, 2011. A continuación se presentan copias de los trabajos.

Modeling and Control in Task-Space of a Mobile Manipulator with Cancellation of Factory-Installed Proportional–Derivative Control Gastón H. Salazar-Silva1 , Marco A. Moreno-Armendáriz2 , and Jaime Álvarez Gallegos3 1 Unidad

Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas, Instituto Politécnico Nacional, Mexico City, Mexico

2 Centro

de Investigación en Computación, Instituto Politécnico Nacional, Mexico City, Mexico

3 Secretaría

de Investigación y Posgrado, Instituto Politécnico Nacional, Mexico City, Mexico [email protected]

Abstract. A mobile manipulator is a robotic arm mounted on a mobile robot; a particular example is a manipulator arm on a mobile robot with differential traction. Mobile manipulators have many advantages over stationary manipulator, such as a larger work space than a stationary manipulator could have in practice. This paper shows a systematic approach to modeling mobile manipulators that transforms the problem to the modeling of a stationary manipulator with non-holonomic kinematic constraints on the joints. It is also presented a task-space control that cancels a factory-installed proportional–derivative (PD) control and it uses an estimate of the derivative of the posture kinematic model. Finally, a numerical experiment is presented using this method.

modelado de manipuladores móvil que transforma el problema a el modelado de un manipulador estacionario con restricciones cinemáticas no holónomas en las articulaciones. También se presenta un control en el espacio de tarea que cancela un control proporcional–diferencial proveniente de fabrica y usa un estimado de la derivada del modelo cinemático de postura. Finalmente, se presentan los resultados obtenidos en un experimento numérico.

Keywords. Robot control, mobile manipulators, robots kinematics.

The robots are coming out from the structured environments in factories and they begin to appear in places such as houses, offices and hospitals, where the surroundings have little structure or not at all [8]; the mobile manipulators are a solution for these new work spaces. Basically, a mobile manipulator is a stationary manipulator mounted on a mobile robot so the locomotion and manipulation tasks may be performed simultaneously (Figure 1); these capabilities give to the mobile manipulator advantages over stationary manipulators like a bigger task space and a greater autonomy; a mobile manipulator also has disadvantages, such as non-holonomic kinematic constraints. Previously, the mobile-manipulator control was focused in handling separately the

Modelado y control en espacio de tarea de un manipulador móvil con cancelación de control proporcional–derivativo instalado en fábrica Resumen. Un manipulador móvil es un sistema compuesto por un manipulador estacionario montado sobre un robot móvil; un ejemplo particular es un brazo manipulador montado sobre un robot de tracción diferencial. Los manipuladores móviles presentan varias ventajas con respecto a manipuladores estacionarios, por ejemplo un mayor espacio de trabajo. En el presente trabajo se muestra un método para el

Palabras clave. Control de robot, manipuladores móviles, cinemática de robots.

1 Introduction

Computación y Sistemas Vol. 16 No.4, 2012 pp.409-419 ISSN 1405-5546

410 Gastón H. Salazar-Silva, Marco A. Moreno-Armendáriz, and Jaime Álvarez Gallegos

tasks of locomotion and manipulation, for example in [17] the locomotion problem is the issue, or in [7, 19] where the manipulation was the control problem; now these two tasks can be handled as one problem; for example, in [2, 17], a kinematic control is developed; there are literature that presents results with the dynamic control of a mobile manipulator; for example in [1] a dynamic control is used to reduce the balancing oscillation; also, a dynamic redundancy resolution control is applied in [18] but the control is not robust; in [9] a optimal dynamic control is developed to track a trajectory considering the maximum load-carrying capacity of the robot while it avoids obstacles. On the other hand, the kinematic modeling problem is still handled as two separate problems, and the resulting models are then combined to obtain a model of the whole robot; these problem are solved using different techniques, for example in [4, 10, 15, 14, 13, 3]; in [12] a method is presented that combines the kinematic models of the mobile base and the manipulator, but the mobile base and the manipulator are still modeled with different methods; very interesting examples are [14] and [13], where both the mobile base and the manipulator have non-holonomic constraints and yet are modeled by different methods. A fundamental work for mobile-robots modeling is [5]; in it a classification for wheeled mobile robots is presented, based on their degree of mobility and degree of maneuverability, and four types of models are proposed.

Figure 1. The experimental system is composed of a by a Pioneer 3DX mobile robot and a Cyton manipulator arm with 7 DOF

Computación y Sistemas Vol. 16 No. 4, 2012 pp. 409-419 ISSN 1405-5546

The present paper shows a new methodology for modeling and control a mobile manipulator assuming that the robot behaves as an stationary manipulator with kinematic constraints on the joints. The outline of this work is as follows: First a review on modeling techniques for stationary manipulators and mobile robots is presented (Section 2). After that, an integrated modeling technique for kinematic models of mobile manipulators is presented (Section 3) and applied to obtain a dynamic model of the mobile manipulator (Section 4). To obtain a kinematic model the non-holonomic constraints are modeled as a mapping between the actuation space and the joint space, using the so called configuration kinematic model. Then, with the obtained kinematic and dynamic models, a task-space control is developed (Section 5). Finally, the results of numerical simulations for the task-space control are showed assuming a 5-DOF differential-traction mobile manipulator (Section 6).

2 Kinematic Modeling Techniques for Stationary and Mobile Robots In a stationary manipulator, a kinematic model describes the relation between the motion of a mechanical system and the motion of the actuators. This model is conceptually obtained through the so called forward kinematics, which is the function that describes the relation between the posture of the final effector of the robot in task space and the value of the joint variables of the robot. The forward kinematics is usually expressed as rm = fm (q) (1) where rm ∈ R p is the posture variables vector, q ∈ Rn is the joints displacement vector, and n is the dimension of q, usually called degree of freedom (DOF). A widely used tool to obtain the forward kinematics of a stationary manipulator is the homogeneous transformation matrix [16]; this matrix can be constructed with the help of the Denavit–Hartenberg parameters; these parameters describes the geometric characteristics of the links and joints of a robot. The kinematic model of a stationary manipulator with full-actuated independent joints is then obtained through the time derivative of (1) r˙m (t) = Jm (q)q˙(t)

(2)

Modeling and Control in Task-Space of a Mobile Manipulator with Cancellation of Factory-Installed … 411

where r˙m ∈ R p are the posture velocities, q˙ ∈ Rn are the joint velocities of the manipulator, and the matrix Jm (q) ∈ R p×n is the so called Jacobian and it is defined as ∂ fm Jm (q) = (q). ∂q Another way to compute the Jacobian is the geometric method [16], that has the advantage of not requiring an explicit computation of the derivatives of the forward kinematic, as uses numeric information from the homogeneous transformations. On the other hand, the motion of a wheeled mobile robot is characterized by the kinematic constraints imposed by the wheels [11, 5]. A kinematic constraint may be holonomic or non-holonomic. A mechanical system is said to be holonomic if there is a set of k constraints to the motion; these constraints may be expressed as hi (q) = 0, i = 1, . . . , k where hi are scalar functions; such constraints are geometric and they limit where may be the system configuration. If the mechanical system is limited by constraints expressed as ˙ =0 ai (q, q) then the system is called non-holonomic and these constraints limit how the mechanical system can move, but not restrict where the system can be. A special kind of non-holonomic constraint is the so the called Pfaffian form, in where the constraint equations are linear with respect the joint velocities ai (q)q˙ = 0. The kinematic model of a mobile robot can be obtained from the null space of the non-holonomic kinematic constraints of the robot. In mobile robots, there are two kinds of kinematic models [11, 5]. The first model establishes the relation between the motion of the final-effector posture and the actuators motion. This model is called posture kinematic model and it may be used to produce the dynamic model of a mobile robot. This model is similar to kinematic model of a stationary manipulator. The posture of a wheeled mobile robot on a flat surface is completely specified by the vector ⎛ ⎞ x (3) rb := ⎝ y ⎠ φ

where x and y are the coordinates on the plane on which the mobile robot moves and φ is the robot orientation on such plane. If the mobile robot has centered orientable wheels, the posture must be extended to include the angles of the wheels. The posture kinematic model of a wheeled mobile robot with differential traction can be expressed as [5] r˙b (t) = B(q)ηb

(4)

where ηb (t) ∈ Rn−k is the vector which contains the velocities of the actuators, and B(qb ) ∈ Rn×(n−k) is a matrix with its columns being a base of the null space of the non-holonomic constraints; The posture kinematic model is useful in the computation of control laws in the task space; on the other hand, the configuration kinematic model is used to simplify the dynamic model of mobile robot. The second model describes a relation between the joints motion and the actuators motion, called configuration kinematic model, and it is defined as q˙b = Sb (q)ηb

(5)

where Sb (q) ∈ Rn×(n−k) is a matrix with its columns belongs to the null space of the constraint matrix Ab . For example, in a differential-traction mobile robot, the configuration kinematic model can be defined as ⎛ ⎞ cos φ 0 Sb (q) = ⎝ sin φ 0 ⎠ . 0 1

It is important to remark that Sb (q) is an annihilator of the kinematic constraints, such that Ab (q)T Sb (q) = 0 where the matrix Ab (q) ∈ Rn×k non-holonomic kinematic constraint

(6) defines the

Ab (q)q˙ = 0. This fact is used to simplify the dynamic model. It is important to remark that the expressions (5) and (4) describe a system motion in terms of the actuators motion; in these models, there is no information about the forces that generate the motion, so they do not describe the dynamics of the system; however, in some applications, it is enough to have a kinematic model for the development of a control law. Also, the Computación y Sistemas Vol. 16 No.4, 2012 pp.409-419 ISSN 1405-5546

412 Gastón H. Salazar-Silva, Marco A. Moreno-Armendáriz, and Jaime Álvarez Gallegos

wheeled-mobile-robot kinematic model is useful to obtain the robot dynamic model; for example, the posture kinematic model can be used to obtain the dynamic model of the robot; on the other hand, in a non-holonomic wheeled mobile robot the kinematic constraints appear on the dynamic model and the configuration kinematic model is used to eliminate these constraints [11].

3 Kinematic Modeling Manipulators

of

Mobile

In this section, a method is presented which assumes that the mobile manipulator is a stationary manipulator with non-holonomic kinematic constraints on the robot joint. As stated before, the kinematic models of mobile manipulators are developed by separately obtaining the kinematic models of the mobile base and the mounted manipulator, and the combining both models. One of such methods uses the so called extended Jacobian [12], which is defined as � � (7) r˙ = Jb (q)Sb (q) Jm (q) η

where Jb is the Jacobian of the base, which is obtained directly from the time derivative of (3), r˙ is a vector that combines the posture motion of the mobile base and the manipulator arm � � r˙b r˙ = , r˙m and η ∈ Rm are the actuators velocities for the mobile manipulator and are defined as � � ηb η= q˙m where q˙m are the velocities vector of the mounted manipulator and wich also correspond to the velocities of the manipulator-arm actuators. S(q)

Actuation space

J(q)

Configuration space

Posture space

Figure 2. The posture kinematic model as a composition of mappings between the actuation space, the configuration space and task space

The configuration kinematic model is a mapping between the actuation space, which is the set Computación y Sistemas Vol. 16 No. 4, 2012 pp. 409-419 ISSN 1405-5546

of all possible motions of the actuators, and the joint space (Figure 2); these motions are restricted by the kinematics constraints and the mapping is usually an identity matrix in a stationary manipulator. The Jacobian is a mapping between the joint space and the posture space; the motions described by the Jacobian are not restricted by the kinematic constraint. Finally, the posture kinematic model is the combination of the Jacobian and the configuration kinematic model. Thus, the kinematic modeling of a mobile manipulator depends on finding the Jacobian J and this in turn depends on combining the kinematics of the manipulator and the base mobile. The kinematics of a mobile manipulator is given by the function f , defined as r = f (q) (8) where r is the combined posture of the mobile manipulator and q are the generalized coordinates of the mobile manipulator, defined as � � qb q= qm where qb and qm are the generalized coordinates of the mobile base and the manipulator arm respectively. It is important to note that the function f is not subject to the kinematic constraints. A method to find the direct kinematics of the manipulator arm and mobile base, and also allows combine them, are the homogeneous transformations [16]; specifically for the mobile manipulator it is defined as [10]: Tn0 = Tb0 Tnb where Tb0 is the homogeneous transformation which goes from a frame {b} fixed on the mobile base to a frame {0} fixed in the surface on which the mobile base moves, and Tnb is the homogeneous transformation which goes from a frame {n} fixed on the last link of the mobile manipulator to the frame {b}. In the reviewed literature there is not a standardized method to find the transformation Tb0 ; a possible method is modeling the mobile base as a solid body. It is important to remark that the forward kinematics does not take account of the non-holonomic constraints. The proposed method consists in obtaining the forward kinematics of the mobile base Tb0 , by initially assuming that the mobile base is stationary

Modeling and Control in Task-Space of a Mobile Manipulator with Cancellation of Factory-Installed … 413

manipulator of b DOF; for example, a differential traction mobile robot could be modeled as link connected to the surface with planar joint, which in turn could be modeled as two prismatic joint and a revolute joint; as a general case, every mobile robot, for example a flying vehicle, could be modeled as an equivalent 6 DOF stationary manipulator. Following this assumption, it is possible to obtain the forward kinematics of the whole mobile manipulator by considering it a unique kinematic chain, and the applying a standard modeling method for stationary robots, such as the Denavit–Hartenberg method. Also, following the last assumption, the same geometric method used to obtain the Jacobian Jb in stationary robots can be applied on mobile manipulators and, further, find the Jacobian of the whole mobile manipulator � � J(q) = Jb (q) Jm (q) with the geometric method, and (7) is reduced to the posture kinematic model of mobile manipulator r˙ = B(q)η

(9)

second-order differential equations [11] D(q)q¨ +C(q, q)q ˙ ˙ + g(q) = A(q)λ + S(q)τ A(q)T q˙ = 0

where D(q) ∈ Rn×n is the inertia matrix for the system, C(q, q) ˙ ∈ Rn×n is the Coriolis and cross-velocities matrix, g(q) ∈ Rn is a vector which represents the impact of gravity on the links, A(q) ∈ Rn×k is a matrix in which a set of k kinematic constrains are expressed, S(q) ∈ Rn×m in the input matrix, and τ ∈ Rm are the generalized forces that go into system, which is defined as � � τ τ= b (11) τm where τb and τm are the generalized forces on the mobile base and the manipulator respectively. Taking advantage of the relation (6), the explicit statement of the kinematic constraints in (10) could be eliminated; in order to achieve this, the equation (10) is pre-multiplied by S(q)T and it is then the transformation (4) is applied, thus the following expression is obtained [11]

where B(q) is the posture kinematic relation of the mobile manipulator, defined as

q˙ = S(q)η η˙ = −M(q)−1 m(q, η) +M(q)−1 S(q)T S(q)τ

B(q) = J(q)S(q) S(q) is the configuration kinematic relation for the whole mobile manipulator � � S(q) = Sb (q) I

where I is a identity matrix, that indicates which configuration velocities are identical to actuation velocities. The proposed methodology has many advantages, for example it uses the same methods as the stationary manipulators to obtain the forward kinematics and the kinematic models. Another advantage is that the existing computational tools for stationary robots could be used, for example [6]; then it is possible to obtain numerically the dynamic model.

(10)

(12)

where M(q) = S(q)T D(q)S(q) m(q, η) = S(q)T D(q)S˙(q)η . +S(q)T C(q, S(q)η)S(q)η T +S(q) g(q) Remark: there is a dimension reduction of the state in (10) compared with (12) due to the kinematic constraints. In an off-the-shelf robot, it is usual that comes with an installed control, such as a PD control. In this section, the assumption is made that the mobile base has a PD control, which has the form � � � � (13) τb = K1 ηbd − ηb + K2 η˙ bd − η˙ b

4 Dynamic Model of a Mobile Manipulator with Proportional–Derivative with proportional and derivative gain matrices K1 and K2 , which are programmable; and the Control The dynamic model of a mechanical system with non-holonomic constraints is defined by a set of n

manipulator has a PD regulator in the form � � τm = K3 qdm − qm − K4 q˙m

(14)

Computación y Sistemas Vol. 16 No.4, 2012 pp.409-419 ISSN 1405-5546

414 Gastón H. Salazar-Silva, Marco A. Moreno-Armendáriz, and Jaime Álvarez Gallegos

where the matrices K3 and K4 are proportional and derivative gains. Then (13) and (14) are applied to (12) and with the assumption that K2 is identical to zero, the result is a system that can be expressed as q˙ = S(q)η ˙ η = −M(q)−1 m(q, η) +M(q)−1 S(q)T S(q)Ku −M(q)−1 S(q)T S(q) (K p q + Kd η)

(15)

K p is expressed as � O , K3





O Kp = O

(17)

and Kd is defined as Kd =

K1 O

5 Control Design Manipulator

O . K4

for

(18)

the

the new system (20) can have any other desired control in an external loop. 5.2 Task-Space Control

where u ∈ Rm is the reference input to the system, K is a full rank matrix which is defined as � � K1 O K= , (16) O K3 �

where a(t) ∈ R4 is the acceleration reference for the system. Applying (19) to (15) results in the linear system q˙ = S(q)η (20) η˙ = a;

Mobile

In this section, a classical combination of two control loops in cascade is proposed [16]; the internal loop control uses an inverse dynamics compensator with PD cancellation; this will be analyzed first. Then an external control loop will be presente which is a robust resolution of acceleration control over the task space. 5.1 Inverse Dynamic Compensator with PD Cancellation As previously established, the mobile manipulator already has a PD controls. Then the internal control loop may be defined through the inverse dynamics of the mobile manipulator with a compensator to cancel the factory-installed PD control. The inverse dynamics compensator uses the expression (15) to find a suitable τ such that cancels the dynamics of the system and the PD control that was previously applied u = (S(q)T S(q))−1 K † (M(q)a + m(q, η) + K p q + Kd v) (19) Computación y Sistemas Vol. 16 No. 4, 2012 pp. 409-419 ISSN 1405-5546

For the external control loop, the resolution of acceleration control (RAC) is used. First, a measure of the error on task space is proposed, r˜, such that r˜(t) = rd (t) − r(t).

where rd (t) ∈ Rn is the desired posture. Then the control is proposed according to the following error dynamics r¨˜(t) + K1 r˙˜(t) + K0 r˜(t) = 0

(21)

where r˜˙ and r˜¨ are the first and second derivatives of the error with respect time. From (21), the following control law is obtained r¨(t) = r¨d (t) + K1 r˙˜(t) + K0 r˜(t),

(22)

which is a task-space PD control with the desired posture acceleration as feed-forward. However, the actuators of the mobile manipulator are not defined in task space, so it is required to transform the control (22) to the actuation space. To resolve the required acceleration on the actuators, the time derivative of (5) is used r¨ = B˙ (q)η + B(q)η˙ .

(23)

Then (22) in combination with (5) are used to obtain � � η˙ = B(q)† r¨d − B˙ (q, η)η˙ + K1 r˙˜ + K0 r˜ . (24)

A problem with the control (24) is that it needs the product B˙ (q)η; in the present section a method is proposed to estimate numerically the value of such expression. This method uses only numerical information about the values of B does not require its derivative, which can complex to obtain. First, it is required to solve (23) for B˙ η B˙ (q)η = r¨ − B(q)η˙ ;

(25)

Then, definitions of the derivatives r¨ and η˙ are applied d d B˙ (q)η = r˙ − B(q) η dt dt

Modeling and Control in Task-Space of a Mobile Manipulator with Cancellation of Factory-Installed … 415

and finally the expression (9) is used to replace the first term on the right d d B˙ (q)η = (B(q)η) − B(q) η. dt dt

(26)

The expression (26) can be simply approximated as the derivatives of vector signals.

6 Numerical Experiments and Results To test the proposed method, a mobile manipulator was modeled; it is integrated by a Pioneer 3DX mobile robot and a Cyton manipulator arm with 7 DOF. The Pioneer 3DX is a differential traction mobile robot and only two joints of the Cyton robot were considered, thus the mobile manipulator is modeled as a 5 DOF system; the other joints of the Cyton robot where considered fixed and were not modeled. To obtain the kinematic constrains it is assumed that the mobile manipulator is a unicycle without slipping; also the surface on which the mobile base moves is flat and horizontal. It is also assumed that the manipulator arm is a 2-joint planar robot, and its links are modeled like rods. The mobile manipulator was modeled with help of the computational algebra system ������, version 5.21.0 using Lisp SBCL 1.0.29.11. The model was also obtained numerically using the Matlab’s �������� ������� [6]; this toolbox is used for modeling stationary robot but it can be applied to the modeling of mobile manipulator.

� �

and a third revolute joint, as appears on Figure 3. From this description the Denavit–Hartenberg parameters can be obtained (Table 1). Table 1. The Denavit–Hartenberg parameters for the 5-DOF mobile manipulator. The angles are in radians and the distances in milimeters

i

α

1 2 3 4 5

−π/2 π/2 0 0 0

θ

a [mm] 0 0 0 150 168

0 −π/2 0 0 0

d [mm] 0 0 237 0 0

Kinematic pair prismatic prismatic revolute revolute revolute

6.1 Kinematic Model Following the assumption that the mobile manipulator could be modeled as a stationary manipulator, as shown in Figure 3, the configuration of the mobile manipulator, q(t) ∈ R5 , is defined as: ⎛ ⎞ d1 ⎜ d2 ⎟ ⎜ ⎟ ⎟ q=⎜ ⎜ θ3 ⎟ ⎝ θ4 ⎠ θ5

where d1 , d2 are the surface coordinates (x, y) of the mobile base, θ3 = φ is the orientation of the mobile base, and θ4 , θ5 are the joint variables of the manipulator arm. On the other hand, the kinematic constraint of the 5-DOF mobile manipulator is given by the matrix A(q) ∈ R5×1 and it is defined by the expresion ⎛ ⎞ sin q3 ⎜ − cos q3 ⎟ ⎜ ⎟ ⎟. 0 A(q) = ⎜ (27) ⎜ ⎟ ⎝ ⎠ 0 0 A possible configuration kinematic model that satisfy is the equation

Figure 3. Kinematic representation of mobile manipulator 5 DOF as a stationary manipulator for the purpose of modeling. The first three joints represent the mobile base

To obtain the forward kinematics, the mobile base is modeled as a 2-joint Cartesian manipulator

q˙ = S(q)η

(28)

where η ∈ R4 are actuation velocities, defined as: ⎛ ⎞ v ⎜ q˙3 ⎟ ⎟ η =⎜ ⎝ q˙4 ⎠ q˙5 Computación y Sistemas Vol. 16 No.4, 2012 pp.409-419 ISSN 1405-5546

416 Gastón H. Salazar-Silva, Marco A. Moreno-Armendáriz, and Jaime Álvarez Gallegos

1.5 Desired path Robot displacement 1

0.5 Axis Y

where v(t) is an scalar which describes the linear velocity of the mobile robot and the configuration kinematic model S(q) ∈ R5×4 is defined by ⎛ ⎞ cos q3 0 0 0 ⎜ sin q3 0 0 0 ⎟ ⎜ ⎟ 1 0 0 ⎟ S (q) = ⎜ (29) ⎜ 0 ⎟ ⎝ 0 0 1 0 ⎠ 0 0 0 1

0

−0.5

which satisfy the property of being an annihilator for (6.1).

−1

6.2 Dynamic Model The matrices D(q) and C(q, q) ˙ of the system (10) are obtained from the procedure presented in [16]. To calculate those matrices, some data about the robot link are needed; these data appears in Table 2; an important remark is that the links 1 and 2 are considered massless and therefore do not affect the dynamics.

−1.5

−1

−0.5

0 Axis X

0.5

1

1.5

Figure 4. The reference path and the motion of the robot

1 Desired path Robot displacement 0.5

i 3 4 5

Length [mm] 445 150 168

Wide [mm] 393 50 50

Height [mm] 237 50 50

Position on axis X [m]

Table 2. Link data from the mobile manipulator

Mass [kg] 9.0 0.1 0.1

0

−0.5

−1

−1.5

0

50

100

Time [s]

150

200

250

Figure 5. Trajectory tracking on axis X

6.3 Results The control described in the Section 5 was applied to a numerical model of the mobile manipulator. The reference is a circular trajectory in task space (Figure 4) and it is generated by the equations x(t) y(t)

= =

cos(α(t)) sin(α(t)).

(30)

where α is a function of time define by a third order polynomial; the velocities and accelerations are define by the first and second time derivatives of (30). It can be observed that the robot follows very well the proposed trajectory (Figure 4, 5 and 6). An important remark is that the motion is counterclockwise and the initial movements of the robot are in the other direction. The tracking error converges exponentially to zero and it is stable in the time frame of the Computación y Sistemas Vol. 16 No. 4, 2012 pp. 409-419 ISSN 1405-5546

simulation (Figure 7). On the other hand, the displacements of the joints are bounded (Figure 8), and it is noted that the second joint of the manipulator does not move and it is because the mobile manipulator is redundant. In order to establish the robustness of the control, another two sets of experiments were executed. The objective of the first set of experiments was to measure the behavior of the pose error if there are parameters variations; in order to accomplish this objective, the experiments were modeled using a 2-level factorial experiment design for the following group of parameters: the mobile-base height, d3 , the mass of the mobile base, m3 , the lengths of the first link and the second link length of the manipulator, a4 and a5 ; sixteen numeric experiments were executed, where fourteen experiments were successful and

Modeling and Control in Task-Space of a Mobile Manipulator with Cancellation of Factory-Installed … 417

1

7

Desired path Robot displacement

Displacement of joints [m,radians]

Position on axis Y [m]

0.5

0

−0.5

−1

−1.5

0

50

100

Time [s]

150

200

250

Displacement on axis X Displacement on axis Y Rotation of mobile robot Rotation of first joint of manipulator Rotation of second joint of manipulator

6 5 4 3 2 1 0 −1 −2 −3

0

50

100

Figure 6. Trajectory tracking on axis Y Error on axis X Error on axis Y

0.1

200

250

Table 3. RMS error of the numeric–experiments results for variations in parameters, noise in measurements and no variations nor noise

0.05 0 Cartesian position error [m]

150

Figure 8. Displacements of the joints

0.15

−0.05 −0.1 −0.15 −0.2 −0.25 −0.3 −0.35

Time [s]

0

50

100

Time [s]

150

200

250

Figure 7. Posture error graph for the mobile manipulator under the control

in two experiments the system was numerically rigid as indicated by the numerical plataform. The objective of the second set of experiments was to measure the behavior of the error when there is noise on the pose measurements; a standard error of 0.05% was assumed with an interval of confidence of 97%; sixteen experiments were performed, where thirteen experiment were successful and three experiments were numerically rigid. On the obtained data of each experiment the root mean square (RMS) error was calculated, then the average of RMS error and the standard deviation of the sample was calculated for each set of experiments (Table 3). The results of the experiments show that the system of mobile manipulator and control is robust.

7 Conclusions This paper shows a systematic approach to modeling mobile manipulators that transforms

Experiment set Variation in parameters Noise in measurements No variations nor noise

Mean 0.569

Std. Dev. of the sample 0.087

0.627

0.020

0.589

Not Apply

the problem to the modeling of a stationary manipulator stationary with non-holonomic kinematic constraints on the joints. Also, a task-space control was presented that consist in an internal compensator of the dynamics of the mobile manipulator and the factory installed PD control, and an external PD control with feed-forward of the posture acceleration and an estimate of the derivative of the posture kinematic model. Finally, three sets of numerical experiment are presented using the proposed control and the results show that the control is robust. In future work, it will develop a robust priority control in the task space for a mobile manipulator. Also, it will be developed a robot-aided manipulation system to test these controls.

Acknowledgments The authors appreciate the support of Mexican Government (SNI, SIP-IPN, COFAA-IPN, PIFI-IPN and CONACYT). Computación y Sistemas Vol. 16 No.4, 2012 pp.409-419 ISSN 1405-5546

418 Gastón H. Salazar-Silva, Marco A. Moreno-Armendáriz, and Jaime Álvarez Gallegos

References 1. Abeygunawardhana, P. K. W. & Murakami, T. (2009). Workspace control of two wheel mobile manipulator by resonance ratio control. In Proceedings of the 2009 IEEE/ASME International Conference on Advanced Intelligent Mechatronics. Singapure, 127012–1275. 2. Andaluz, V., Roberti, F., & Carelli, R. (2010). Adaptive control with redundancy resolution of mobile manipulators. In IECON 2010 - 36th Annual Conference on IEEE Industrial Electronics Society. Glendale, AZ, USA, 1436–1441. 3. Ata, A. A. (2010). Dynamic modelling and numerical simulation of a non-holonomic mobile manipulator. International Journal of Mechanics and Materials in Design, 6(3), 209–216. ISSN 1569-1713. 4. Bayle, B., Fourquet, J., & Renaud, M. (2003). Kinematic modelling of wheeled mobile manipulators. In 2003 IEEE International Conference on Robotics and Automation. Taipei, Taiwan, 69–74. 5. Campion, G., Bastin, G., & d’Andrea-Novel, B. (1996). Structural properties and classification of kinematic and dynamic models of wheeled mobile robots. IEEE Transactions on Robotics and Automation, 12(1), 47–62. ISSN 1042296X. 6. Corke, P. (1996). A robotics toolbox for MATLAB. IEEE Robot. Autom. Mag., 3(1), 24–32. ISSN 10709932. doi:10.1109/100.486658. 7. Joshi, J. & Desrochers, A. (1986). Modeling and control of a mobile robot subject to disturbances. In Proceedings. 1986 IEEE International Conference on Robotics and Automation. San Francisco, CA, USA, 1508–1513. 8. Khatib, O. (1999). Mobile manipulation: The robotic assistant. Robotics and Autonomous Systems, 26(2-3), 175–183. ISSN 09218890. 9. Korayem, M. H., Azimirad, V., Nikoobin, A., & Boroujeni, Z. (2010). Maximum load-carrying capacity of autonomous mobile manipulator in an environment with obstacle considering tip over stability. The International Journal of Advanced Manufacturing Technology, 46(5-8), 811–829. ISSN 0268-3768. 10. Li, Y. & Liu, Y. (2004). Control of a mobile modular manipulator moving on a slope. In Proceedings of the IEEE International Conference on Mechatronics, 2004. ICM ’04. Istanbul, Turkey, 135–140. 11. Luca, A. D. & Oriolo, G. (1995). Modeling and control of nonholonomic mechanical systems. In Kinematics and dynamics of multi-body systems. Springer-Verlag, Wien, New-York. ISBN 9783211827314. Computación y Sistemas Vol. 16 No. 4, 2012 pp. 409-419 ISSN 1405-5546

12. Luca, A. D., Oriolo, G., & Giordano, P. (2006). Kinematic modeling and redundancy resolution for nonholonomic mobile manipulators. In Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006. Orlando, FL, USA, 1867–1873. 13. Mazur, A. (2010). Trajectory tracking control in workspace-defined tasks for nonholonomic mobile manipulators. Robotica, 28(01), 57. ISSN 0263-5747. 14. Mazur, A. & Szakiel, D. (2009). On path following control of nonholonomic mobile manipulators. International Journal of Applied Mathematics and Computer Science, 19(4), 561–574. ISSN 1641-876X. 15. Padois, V., Fourquet, J., & Chiron, P. (2007). Kinematic and dynamic model-based control of wheeled mobile manipulators: a unified framework for reactive approaches. Robotica, 25(02), 157—173. ISSN 0263-5747. 16. Spong, M., Hutchinson, S., & Vidyasagar, M. (2006). Robot modeling and control. John Wiley & Sons, Hoboken NJ. ISBN 9780471649908. 17. Wang, Y., Lang, H., & de Silva, C. W. (2008). Visual servo control and parameter calibration for mobile multi-robot cooperative assembly tasks. In 2008 IEEE International Conference on Automation and Logistics. Qingdao, China, 635–639. 18. White, G. D., Bhatt, R. M., Tang, C. P., & Krovi, V. N. (2009). Experimental evaluation of dynamic redundancy resolution in a nonholonomic wheeled mobile manipulator. IEEE/ASME Transactions on Mechatronics, 14(3), 349–357. ISSN 1083-4435. 19. Yu, L., Cao, Q., & Xu, X. (2008). An approach of manipulator control for service-robot FISR-1 based on motion imitating. In 2008 IEEE International Conference on Industrial Technology. Chengdu, China, 1–5.

Modeling and Control in Task-Space of a Mobile Manipulator with Cancellation of Factory-Installed … 419

Gastón H. Salazar-Silva received the B.S.E.E. from the Instituto Tecnológico de Mexicali, Mexicali B.C., México in 1993 and the M.Sc. In Automatic Control from the Centro de Investigaciones Avanzadas del Instituto Politécnico Nacional (CINVESTAV-IPN), Mexico City, in 2002. From 1999 he is professor at the Unidad Profesional Interdisciplinaria en Biotecnología del IPN. His research interests includes Robotics, Artificial Intelligence and Machine Vision.

Marco A. Moreno-Armendáriz received the B.S. degree from La Salle University, Mexico in 1998 and the M.S. and Ph.D. degrees, both in Automatic Control, from CINVESTAV-IPN, México, in 1999 and 2003, respectively. From 2001 to 2006 he was chair professor at the Engineering School in La Salle University, Mexico. In April of 2006, he joined the Center for Research in Computing of the National Polytechnic Institute, Mexico, where he is currently the head of the Computer Science Department. His research interests include Neural Networks for identification and control, Computer Vision, Robotics, Pattern Recognition and the implementation in FPGAs of related algorithms.

Jaime Alvarez-Gallegos was born in Tampico, Mexico. He received the B.S. Degree in electronics engineering from the National Polytechnic Institute (IPN), Mexico City, Mexico, in 1973 and the M.Sc. and Ph.D. degrees in electrical engineering from the Centro de Investigación y Estudios Avanzados del Instituto Politécnico Nacional (CINVESTAV), in 1974 and 1978, respectively. He was the Head of the Department of Electrical Engineering, CINVESTAV (1992–1996), the Director of the School of Interdisciplinary Engineering and Advanced Technologies at IPN (1997–2000) and the Director of the Computing Research Center at IPN (2007–2009). He is currently the Head of the Secretary of Research and Graduate Studies at IPN. He was a Visiting Professor at the Imperial College of Science and Technology, London, U.K., in 1985–1986. His fields of interest are mechatronics, power electronics, optimization methods, and nonlinear control systems. Article received on 30/06/2011; accepted on 24/09/2012.

Computación y Sistemas Vol. 16 No.4, 2012 pp.409-419 ISSN 1405-5546

Congreso Anual 2010 de la Asociación de México de Control Automático. Puerto Vallarta, Jalisco, México.

1

Revisión del estado del arte sobre robots manipuladores móviles Gastón H. Salazar-Silva∗ , Jaime Álvarez Gallegos† y Marco A. Moreno-Armendáriz‡ ∗ Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas–IPN Av. Instituto Politécnico Nacional 2580, Col. La Laguna Ticoman, Delegación Gustavo A. Madero C.P. 07340, Ciudad de México, D.F., correo-e: [email protected], teléfono: 5729-6000 ext. 56525† Secretaría de Investigación y Posgrado–IPN ‡ Centro de Investigación en Computación–IPN

 Tipo de manipulador móvil     Tipo de tareas a realizar n    Cinemático   Tipo modelo matemático Dinámico Criterios Tipo de control     Tipo de planificación  de trayectoria   Simulación numérica    Tipo de validación Experimento físico

Resumen— En el presente trabajo se reporta una revisión de la literatura existente con respecto a los manipuladores móviles, limitando la investigación a resultados en el área de control donde el movimiento de los manipuladores móviles es simultáneo en la base móvil y el brazo manipulador; además sólo se consideran los manipuladores móviles que son impulsados por ruedas sin deslizamiento. Se clasifica a la literatura de acuerdo a los siguientes criterios: el tipo de manipulador móvil, el tipo de tareas que realizan los manipuladores móviles, el tipo de modelo matemático usado para describir el comportamiento de los manipuladores móviles, el tipo de control usado, por el tipo de planificación utilizado y el tipo de validación realizada.

Figura 1. Criterios para clasificar la literatura revisada.

en el presente trabajo. Ejemplos de este enfoque son Wang et al. (2008), que se concentra en el movimiento de la base móvil, y Joshi y Desrochers (1986) y Yu et al. (2008) que se concentran en el movimiento del brazo manipulador. Además, para los fines de esta revisión sólo se consideran los manipuladores móviles que son impulsados por ruedas sin deslizamiento. Los sistemas que utilicen otras técnicas de impulsión no están siendo considerados, tales como orugas (Stentz et al. 1999, Liu y Liu 2007). Bajo estas limitaciones, de los 153 artículos sujetos a revisión, sólo 27 se consideraron para ser clasificados en el presente trabajo de acuerdo con los criterios indicados en la Figura 1. Este trabajo de revisión se divide en siete secciones. En la sección II se presentan los resultados en la literatura clasificándolos de acuerdo al tipo de manipulador móvil, esto es de acuerdo a las restricciones cinemáticas que presentan su diseño mecánico. En la sección III se presentan los resultados existentes en base al tipo de tareas que realizan los manipuladores móviles. Aunque la tarea primordial de un manipulador móvil es manipular, pueden existir tareas complementarias a realizar al mismo tiempo. En la sección IV se clasifican los resultados de acuerdo al modelo matemático usado para describir el comportamiento de los manipuladores móviles. En general se consideran dos tipos de descripciones: cinemáticas y dinámicas. Un hecho importantes es que varios trabajos consideran inicialmente que sus manipuladores móviles tienen restricciones no holónomas y sin embargo no se consideran a la hora de realizar el modelo . En la sección V se presentan los tipos de controles usados en la literatura para gobernar a los manipuladores móviles.

Palabras clave: Robots móviles, robots manipuladores, manipuladores móviles.

I.

I NTRODUCCIÓN

Un robot manipulador móvil consiste en un robot manipulador montado sobre una base que es un robot móvil. Los manipuladores móviles tienen varias ventajas con respecto a los manipuladores estacionarios. Por ejemplo, un manipulador móvil tiene un espacio de trabajo de mayores dimensiones que el espacio de trabajo de un manipulador estacionario (Korayem et al. 2010, Liu y Liu 2009). En contraste con un manipulador estacionario que usualmente sólo tiene restricciones cinemáticas holónomas, los robots manipuladores móviles poseen restricciones cinemáticas no holónomas, lo cual presenta un reto ya que existe una relación entre las restricciones cinemáticas y la controlabilidad de un robot móvil (De Luca y Oriolo 1995). En el presente trabajo se reporta una revisión de la literatura existente con respecto a los manipuladores móviles, limitando la investigación a resultados en el área de control. No se consideran trabajos donde sólo se presentan plataformas de trabajo, como en Bouzouia y Rahiche (2009), ni se consideran trabajos donde solamente se estudia la cinemática o dinámica del manipulador móvil, como en Bayle et al. (2003). Por otra parte, para la investigación sólo se consideran resultados donde el movimiento de los manipuladores móviles es simultáneo en la base móvil y el brazo manipulador. Este esquema se denomina mover-y-manipular. Otro esquema posible es mover-después-manipular, el cual no es analizado 333

ISBN 978-607-95508-0-6

Congreso Anual 2010 de la Asociación de México de Control Automático. Puerto Vallarta, Jalisco, México.

Moosavian y Eslamy (2008), Tai y Murakami (2008) y Ge et al. (2008). Un caso a resaltar es el que aparece en Tai y Murakami (2008), donde la base móvil sólo tiene dos ruedas diferenciales y no cuenta con un apoyo, tal como podría ser una rueda castor. Este tipo de manipulador presenta problemas especiales e interesantes. Por otro lado, si bien el manipulador móvil es (nh, h), los autores lo modelan como si la base fuera del tipo holónoma, ya que sólo se desplaza en ese trabajo en un eje. Por otro lado, recientemente, ha aparecido el uso de manipuladores con restricciones no holónomas (Nakamura et al. 2001). Considerando al móvil también como un sistema no holónomo, esto es un manipulador móvil del tipo (nh, nh), se han desarrollado una serie de trabajos como Mazur y Szakiel (2009) y Mazur (2010). En la Tabla II se muestra en resumen la cantidad de trabajos que aparecen en la literatura revisada. Es importante notar que para el caso de móvil holónomo y manipulador no holónomo no se encontró ejemplos en la literatura revisada.

En la sección VI se exponen los resultados existentes en la literatura con respecto a la planificación de trayectorias de manipuladores holónomos. En la sección VII se clasifican los resultados de la literatura revisada por el tipo de validación realizada, esto es si los resultados sólo se simularon numéricamente o si se realizaron experimentos reales. Finalmente en la sección VIII se presentan las conclusiones del reporte. II.

T IPOS DE MANIPULADORES MÓVILES

Un manipulador móvil usualmente consta de dos subsistemas separados: el robot móvil y el robot manipulador. Ambos subsistemas se pueden dividir como holónomos, denotados h, o no holónomos, denotados nh, a partir de su diseño. Con base a esto, en Mazur y Szakiel (2009) se propone una clasificación de los manipuladores móviles en cuatro posibles casos, de acuerdo con las posibles restricciones a las dinámicas de la base móvil y el brazo manipulador, tal como aparece en la Tabla I. TABLA I T IPOS DE MANIPULADORES MÓVILES DE ACUERDO

TABLA II F RECUENCIA CON

QUE APARECEN LOS DIFERENTES TIPOS DE

MANIPULADORES MÓVILES EN LA LITERATURA REVISADA .

A SUS

CARACTERÍSTICAS MECÁNICAS .

Tipo de manipulador (h, h) (h, nh) (nh, h) (nh, nh)

2

Tipo de manipulador (h, h) (h, nh) (nh, h) (nh, nh)

Descripción Base holónoma y manipulador holónomo Base holónoma y manipulador no holónomo Base no holónoma y manipulador holónomo Base no holónoma y manipulador no holónomo

III.

Frecuencia ( %) 11.5 0 77.0 11.5

TAREAS QUE REALIZAN LOS MANIPULADORES MÓVILES

El primer caso se tiene que el robot móvil y el manipulador tienen restricciones holónomas; en este caso se clasifican como manipuladores móviles (h, h), es decir móvil holónomo y manipulador holónomo. Ejemplo es Xu et al. (2009), Xu et al. (2008) y Korayem et al. (2007). Un ejemplo de un robot (h, h) es un manipulador móvil cuya base móvil es omnidireccional y redundantemente actuada (Xu et al. 2008). En Korayem et al. (2007) se presenta un caso especial del tipo (h, h), ya que la base del manipulador móvil sólo se mueve sobre un eje y no sobre el plano, es decir sólo en línea recta. El mismo trabajo usa un brazo manipulador compuesto por dos eslabones flexibles. El caso mas trabajado en la literatura es el de móvil no holónomo y el manipulador holónomo, denotado (nh, h). Una explicación de este hecho es que las bases móviles actuadas más simples de construir son no holónomas y los brazos manipuladores usualmente son holónomos. Ejemplos de trabajos que utilizan este tipo de manipuladores son Hamner et al. (2010), Lee y Lee (2008), Fang et al. (2008), Liu y Liu (2009), Korayem et al. (2010), Mazur y Szakiel (2009), Abeygunawardhana y Murakami (2009), Boukattaya et al. (2009), Bu y Xu (2009), Bu y Zhang (2009), Ellekilde y Christensen (2009), Hong y Qing-xuan (2009), Li et al. (2009), White et al. (2009), Farkhatdinov et al. (2008), Fujii et al. (2007), Eslamy y Moosavian (2009),

La principal tarea de un manipulador móvil es la manipulación de objetos así como sujetarlos. Todos los trabajos revisados indican implícitamente esta tarea, pero no todos lo plantean como tarea a realizar. En particular, en Fang et al. (2008) se considera el problema de manipulación, mientras en Lee y Lee (2008) consideran el problema de sujeción. En Fujii et al. (2007) se estudian el problema de la manipulación cooperativa usando agarres no rígidos del objeto a manipular. Otra tarea fundamental es el ensamble de componentes, la cual es ejemplificada en el problema de insertar un perno en un orificio. En Hamner et al. (2010) se desarrolla dicha tarea usando control servo-visual y control de fuerza. En un manipulador móvil existe una interacción entre la base móvil y el brazo manipulador. El centro de masa del manipulador móvil cambia constantemente en función del desplazamiento del manipulador móvil lo cual puede producir oscilaciones mecánicas en el sistema. En Abeygunawardhana y Murakami (2009) se propone un control para el manipulador móvil de tal manera que se reduzca la oscilación del brazo manipulador. En Korayem et al. (2010) se estudia el problema de la estabilidad en el transporte de una carga y como controlar el manipulador móvil para mantener dicha estabilidad. En Tai y Murakami (2008) se tiene que la base del manipulador móvil sólo cuenta con 334

ISBN 978-607-95508-0-6

3

Congreso Anual 2010 de la Asociación de México de Control Automático. Puerto Vallarta, Jalisco, México.

dos ruedas en configuración diferencial y una de las tareas a realizar por el control es estabilizar la base, toman en cuenta los cambios que pudiera haber en el centro de gravedad a causa del manipulador. Por otro lado, que el manipulador móvil sea capaz de realizar una tarea mientras evade un obstáculo se propone en Liu y Liu (2009). En Farkhatdinov et al. (2008) estudian el problema de teleoperación bilateral. Se utilizan dos controles disociados, uno de posición para el brazo manipulador y uno de control de razón de movimiento para la base móvil. En ocasiones, un manipulador móvil requiere realizar más de una tarea a la vez, como por ejemplo en Boukattaya et al. (2009) donde se resuelve la redundancia en la dinámica del manipulador usando proyecciones y el espacio nulo, y utilizan un control difuso para cerrar el lazo. Otro ejemplo es Tai y Murakami (2008), donde la base móvil sólo tiene dos ruedas que operan de manera diferencial y no tiene ningún mecanismo para su apoyo; por lo tanto deben satisfacer al menos dos tareas al mismo tiempo, una de las cuales es estabilizar la base. IV.

deben efectuar simultáneamente. Ejemplos son Abeygunawardhana y Murakami (2009), Bu y Xu (2009), Bu y Zhang (2009), Tai y Murakami (2008), Ge et al. (2008), Li et al. (2009) y Fujii et al. (2007). Un caso especial es Tai y Murakami (2008), donde usan una base móvil con dos ruedas en una configuración diferencial y no cuentan con algún sistema de apoyo, como podría ser una rueda castor. El modelo planteado es dinámico pero no consideran las restricciones no holónomas, y consideran que los movimientos de la base móvil son despreciables, ya que su tarea principal es la estabilización de la base. Otro caso particular es modelar la manipulación de un objeto por medio de un conjunto de manipuladores móviles. En Li et al. (2009) se obtiene el modelo dinámico de un par de manipuladores móviles considerando las restricciones cinemáticas para describir una cadena cinemática cerrada entre los dos manipuladores móviles y un objeto que manipulan. En Fujii et al. (2007) usan un agarre no rígido para realizar la manipulación cooperativa; esto implica retardos e histéresis en la medición de las fuerzas que ocurren en la manipulación y que tienen efectos sobre el control. La última categoría son para manipuladores móviles del tipo (h, h) donde los modelos reportados son dinámicos. Por ejemplo, en Korayem et al. (2007), Xu et al. (2009) y Xu et al. (2008) se reporta el uso del modelo dinámico para un manipulador móvil omnidireccional. En particular Korayem et al. (2007) se reporta un manipulador móvil donde la base se mueve de manera unidireccional, es decir sólo en línea recta, y por lo tanto es del tipo (h, h). El brazo manipulador consiste en dos eslabones flexibles. El modelo usado es dinámico y considera la flexibilidad en los eslabones del brazo manipulador; se utilizó el método de elemento finito para modelar los eslabones.

C LASIFICACIÓN POR EL TIPO DE MODELO

En el control de manipuladores móviles se utilizan modelos cinemáticos y dinámicos. En el modelo cinemático, no interesa el efecto directo de las fuerzas en el comportamiento del manipulador móvil. En Bayle et al. (2003) se propone un método para analizar la cinemática en esta clase de robots. En Hamner et al. (2010), Yang y Brock (2010), Ellekilde y Christensen (2009) y Shu-ying et al. (2009) se reporta el uso de modelos cinemáticos para el control de manipuladores móviles. En cuanto al uso de modelos dinámicos en el control del manipulador móvil, permiten considerar el efecto de las fuerzas sobre el manipulador móvil así como determinar la inercia que existe en éste. En la literatura aparecen los siguientes trabajos que utilizan este tipo de modelo Mazur y Szakiel (2009), Mazur (2010), Liu y Liu (2009), Fang et al. (2008), Boukattaya et al. (2009), White et al. (2009), Farkhatdinov et al. (2008), Eslamy y Moosavian (2009) y Moosavian y Eslamy (2008). Casos particulares con este tipo de modelos son cuando consideran otros factores en el modelado, como en Eslamy y Moosavian (2009) donde no sólo realiza el modelo dinámico tomando en cuenta las restricciones no holónomas, sino que además considera que las ruedas tienen un sistema de suspensión. Otro caso es cuando se considera la carga en el modelo dinámico, como por ejemplo en Korayem et al. (2010). Por otro lado, una categoría importante de modelos para manipuladores móviles del tipo (nh, h) son cuando no se consideran las restricciones no holónomas en el modelo del sistema. El problema con este enfoque es que trasladan las restricciones cinemáticas a la generación de trayectorias, y por lo tanto dependen de que las trayectorias sean factibles para esta clase de manipuladores móviles. Este enfoque se utiliza mucho cuando se consideran que varias tareas de

TABLA III F RECUENCIA CON

QUE APARECEN LOS DIFERENTES TIPOS DE

MODELOS EN LA LITERATURA REVISADA .

Tipo de modelo Cinemático Dinámico de un manipulador (nh, h) considerando restricciones no holónomas Dinámico de un manipulador (nh, h) sin considerar restricciones no holónomas Dinámico de un manipulador (h, h)

Frecuencia ( %) 21.0 47.6 15.7 15.7

En la Tabla III se resume los tipos de modelos usados para control. Es importante notar que la mayoría de los trabajos revisados utilizan modelos dinámicos y que consideran las restricciones holónomas. V.

C LASIFICACIÓN POR TIPO DE CONTROL

En esta sección se consideran fundamentalmente dos criterios de clasificación: por objetivo de control y por tipo de control. Es importante notar que sólo se consideraron trabajos donde el control actúa de manera simultánea sobre la base y sobre el brazo manipulador. Esto no implica que 335

ISBN 978-607-95508-0-6

Congreso Anual 2010 de la Asociación de México de Control Automático. Puerto Vallarta, Jalisco, México.

del manipulador móvil y su aniquilador para eliminar la redundancia cinemática del manipulador móvil y poder desacoplar tareas y se cierra el lazo de control por medio de una retroalimentación lineal. Por otro lado, en Boukattaya et al. (2009) se utilizan este tipo de proyecciones sólo para resolver la redundancia en el manipulador móvil y utilizan un control difuso de posición para cerrar el lazo de control. Otro enfoque en el desacoplamiento de manipuladores móviles se reporta en Bu y Xu (2009) y Bu y Zhang (2009) donde usan compensación del par y una retroalimentación lineal. En otros casos se considera que el sistema es desacoplado dinámicamente, como se presenta en En Mazur y Szakiel (2009) y Mazur (2010) se usa un control del tipo backsteping, ya que consideran el modelo dinámico del manipulador móvil se puede desacoplar entre la base móvil y el brazo manipulador. En Farkhatdinov et al. (2008) utilizan dos controles disociados, uno de posición para el brazo manipulador y control de razón de movimiento para la base móvil. Otros esquemas de control usados son el óptimo y el adaptable. Por ejemplo, en Korayem et al. (2010) propone el uso de control óptimo para realizar el seguimiento de trayectorias. En cuanto al control adaptable, en Fang et al. (2008), Li et al. (2009) y Liu y Liu (2009) se usa; en particular Li et al. (2009) realiza control adaptable robusto centralizado de posición y fuerza para realizar la tarea de manipulación cooperativa con dos manipuladores móviles. En cuanto a Liu y Liu (2009) se usa un control adaptable robusto basado en redes neuronales. En Abeygunawardhana y Murakami (2009) usan el control por razón de resonancia para reducir las oscilaciones mecánicas que aparecen bajo ciertas condiciones en el manipulador móvil. En Ellekilde y Christensen (2009) proponen una extensión del método de campos potenciales llamado método de sistema dinámico. Usan un conjunto de ecuaciones diferenciales, estableciendo un comportamiento dinámico para definir la trayectoria del manipulador móvil. En Hong y Qing-xuan (2009), Shu-ying et al. (2009) y Liu y Liu (2009) se utilizan redes neuronales para modelar el sistema o para controlarlo. En Hong y Qing-xuan (2009) se modela la incertidumbre del manipulador móvil por medio de una red neuronal y el control se realiza por medio de modos deslizantes. En cuanto a usar control por medio de redes neuronales, en Shu-ying et al. (2009) realizan control jerárquico, el cual se aplica para priorizar el orden de las tareas a ejecutar. Por otro lado, en Liu y Liu (2009) utilizan un controlador adaptable robusto con redes neuronales. En Farkhatdinov et al. (2008) usan la propiedad de pasividad en el dominio del tiempo para desarrollar dos controles disociados, uno de posición para el brazo manipulador y un control de razón de movimiento para la base móvil. Además, en el maestro se tiene control de fuerza. En Fujii et al. (2007) se emplea un control líder–seguidor basado en compliancia en combinación con un estimador lineal, el cual se usa para determinar la trayectoria a seguir por parte del seguidor.

sólo se usa un control monolítico, sino puede existir un desacoplamiento del control. V-A.

Objetivo de control

El objetivo de control más estudiado en la literatura es el seguimiento de trayectorias. Esto se debe a que es la base para resolver varias de las tareas anteriormente descritas. Trabajos que indican este objetivo son Mazur y Szakiel (2009), Mazur (2010), Yang y Brock (2010), Korayem et al. (2010), Boukattaya et al. (2009), Bu y Xu (2009), Bu y Zhang (2009), Ellekilde y Christensen (2009), Hong y Qing-xuan (2009), Li et al. (2009), Shu-ying et al. (2009), Fujii et al. (2007), Eslamy y Moosavian (2009), Moosavian y Eslamy (2008), Xu et al. (2009), Ge et al. (2008), Xu et al. (2008), Korayem et al. (2007), White et al. (2009), Tai y Murakami (2008), Hamner et al. (2010) y Lee y Lee (2008). Por otro lado, usualmente existe redundancia cinemática en los manipuladores móviles. Este hecho se puede aprovechar para realizar seguimiento de trayectoria con desacoplamiento entra la tarea principal y posibles tareas con menor prioridad, tal como lo presentan White et al. (2009), Tai y Murakami (2008). En Hamner et al. (2010) y Lee y Lee (2008) usan información visual para seguir una trayectoria, es decir servo-visual. Por otro lado, la tarea puede ser descrita por medio de la fuerza necesaria para realizar una tarea, y por lo tanto hay que mantener una descripción variante en el tiempo de dicha fuerza, tal como se presenta en Hamner et al. (2010). Otro objetivo de control estudiado es el problema de regulación se reporta en Abeygunawardhana y Murakami (2009) para reducir la oscilación mecánica del manipulador móvil, y enTai y Murakami (2008) para estabilizar la base. Un problema relacionado con el seguimiento de trayectorias es el de mantener una formación de manipuladores móviles, tal como se reporta en Fang et al. (2008). TABLA IV F RECUENCIA CON

QUE APARECEN LOS DIFERENTES TIPOS DE

OBJETIVOS DE CONTROL EN LA LITERATURA REVISADA .

Tipo de validación Seguimiento de trayectoria Regulación

Frecuencia ( %) 88 12

En la tabla IV aparece con que frecuencia aparece en la literatura revisada cada uno de los objetivos de control. Es importante notar que la mayoría de los trabajos realizados hacen seguimiento de trayectorias. V-B.

4

Tipo de control

Un problema que se resuelve en la literatura reportada es el uso de controles para desacoplar la dinámica del sistema. Por ejemplo, el control por resolución de la razón de movimiento es usado por Hamner et al. (2010), Yang y Brock (2010) y White et al. (2009) con este fin. Este tipo de control usa la proyección sobre el espacio diestro 336

ISBN 978-607-95508-0-6

Congreso Anual 2010 de la Asociación de México de Control Automático. Puerto Vallarta, Jalisco, México.

En Eslamy y Moosavian (2009), Moosavian y Eslamy (2008) usan el control de Impedancia Múltiple. En Xu et al. (2009) y Xu et al. (2008) se usa modos deslizantes basados en redes neuronales robustas. En Tai y Murakami (2008) se usan un conjunto de controles combinados por del espacio nulo. Un control es para la estabilización de la base por medio de péndulo invertido y control del centro de gravedad. El otro control es para satisfacer la tarea a ejecutar. En Ge et al. (2008) el control propuesto es por medio de modos deslizantes y se descompone en dos partes: 1) el control de la base móvil es por medio de modos deslizantes, y 2) el control del manipulador es por medio de modos deslizantes del tipo terminal no singular. Korayem et al. (2007) Los autores usan un manipulador móvil donde la base móvil se mueve de manera unidireccional y el brazo manipulador consiste en dos eslabones flexibles. El control usado fue linealización por retroalimentación. VI.

(2010), Korayem et al. (2010), Lee y Lee (2008), Abeygunawardhana y Murakami (2009), White et al. (2009), Fujii et al. (2007), Tai y Murakami (2008). TABLA V F RECUENCIA CON

QUE APARECEN LOS DIFERENTES TIPOS DE

VALIDACIÓN EN LA LITERATURA REVISADA .

Tipo de validación Simulaciones numéricas Experimentos físicos

Frecuencia ( %) 69.5 30.5

En la Tabla V se presenta una estadística que indica de manera rápida que existen muy pocos resultados experimentales que sustenten las propuestas reportadas en la literatura revisada. VIII.

C ONCLUSIONES

En el presente trabajo se realizó un estudio del estado del arte de la literatura con respecto a manipuladores móviles. Se encontraron pocos trabajos que satisfagan las restricciones propuestas. Además se clasificó la literatura conforme a los criterios planteados en la Figura 1. De acuerdo con la literatura revisada, los modelos dinámicos con restricciones no holónomas son muy usados, pero usualmente no están aplicados a problemas donde requiere satisfacer más de una tarea. Para manejar los problemas con múltiples tareas se utilizan mas bien modelos cinemáticos o modelos dinámicos que no consideran las restricciones no holónomas. Por otro lado, los trabajos que presentan validación de resultados por vía experimental son pocos comparados con los resultados validados por medio de simulación numérica.

P LANIFICACIÓN DE TRAYECTORIA

En el caso de robots móviles, la planificación de la trayectoria es un problema importante, ya que las restricciones no holónomas de estos robots no permiten que cualquier trayectoria sea factible. De hecho, ciertos esquemas de control de manipuladores móviles asumen que la trayectoria es factible, como en Abeygunawardhana y Murakami (2009), Bu y Xu (2009), y Bu y Zhang (2009). Una clase de métodos que se usan para la generación de trayectorias es plantear las trayectorias por medio de movimientos sobre campos potenciales, como se reporta en Korayem et al. (2010), Liu y Liu (2009) y Yang y Brock (2010). De hecho, se han propuesto extensiones a estos métodos modelando la trayectoria deseada como un comportamiento dinámico y expresándolo como un conjunto de ecuaciones diferenciales Ellekilde y Christensen (2009). En Fujii et al. (2007) usan un estimador lineal para determinar, en un esquema líder–seguidor, la posición del líder. VII.

5

IX.

AGRADECIMIENTOS

Esta investigación cuenta con el apoyo del ICyT-DF por medio del proyecto PIFUTP08-135. Además los autores agradecen el apoyo del Gobierno Mexicano para realizar el presente trabajo, y en particular al CONACyT, al SNI y al Instituto Politécnico Nacional (SIP, COFAA, PIFI y COTEPABE).

C LASIFICACIÓN POR TIPOS DE EXPERIMENTOS

R EFERENCIAS

En la literatura se encontró dos tipos de experimentación, una donde sólo se realizan experimentos numéricos, y la otra donde los controles se prueban en sistemas físicos. La mayoría de los resultados encontrados en la literatura sólo se valida el control por medio de simulaciones numéricos, por ejemplo en Mazur (2010), Liu y Liu (2009), Fang et al. (2008), Boukattaya et al. (2009), Bu y Xu (2009), Bu y Zhang (2009), Ellekilde y Christensen (2009), Hong y Qing-xuan (2009), Li et al. (2009), Shu-ying et al. (2009), Farkhatdinov et al. (2008), Eslamy y Moosavian (2009), Moosavian y Eslamy (2008), Xu et al. (2009), Xu et al. (2008), Korayem et al. (2007). Por otro lado, realizar validaciones en sistemas físicos no ha sido muy trabajado y sólo hay pocos ejemplos comparados con la categoría anterior; por ejemplo Yang y Brock

Abeygunawardhana, P.K.W y Toshiyuki Murakami (2009). Workspace control of two wheel mobile manipulator by resonance ratio control. Proceedings of the 2009 IEEE/ASME International Conference on Advanced Intelligent Mechatronics pp. 1270–1275. Bayle, B., M. Renaud y J.-Y. Fourquet (2003). Nonholonomic mobile manipulators: Kinematics, velocities and redundancies. Journal of Intelligent and Robotic Systems 36(1), 45–63. Boukattaya, M., M. Jallouli y T. Damak (2009). Dynamic redundancy resolution for mobile manipulators using position fuzzy controller. En: Proceedings of the 6th International Multi-Conference on Systems, Signals and Devices. Bouzouia, B. y A. Rahiche (2009). Teleoperation system of the mobile manipulator robot robuter-ulm: Implementation issues. En: Proceeding of the XXII International Symposium on Information, Communication and Automation Technologies, 2009. (ICAT 2009).. Bosnia. Bu, C.-W. y L.-X. Zhang (2009). Robust compensation control of mobile manipulator service robot. En: Proceedings of the 2009 International Conference on Measuring Technology and Mechatronics Automation (ICMTMA 2009). Vol. 1. pp. 860–864.

337

ISBN 978-607-95508-0-6

Congreso Anual 2010 de la Asociación de México de Control Automático. Puerto Vallarta, Jalisco, México. Bu, Chi-wu y Ke-fei Xu (2009). Robust control of mobile manipulator service robot using torque compensation. En: Proceedings of the 2009 International Conference on Information Technology and Computer Science (ITCS 2009). Vol. 2. pp. 69–72. De Luca, A. y G. Oriolo (1995). Kinematics and Dynamics of Multi-Body Systems. Cap. Modelling and control of nonholonomic mechanical systems, pp. 277–342. Springer. Ellekilde, Lars-Peter y Henrik I. Christensen (2009). Control of mobile manipulator using the dynamical systems approach. En: Proceedings of the 2009 IEEE International Conference on Robotics and Automation. Kobe, Japan. pp. 1370–1376. Eslamy, Mahdy y S. Ali A. Moosavian (2009). Control of suspended wheeled mobile robots with multiple arms during object manipulation tasks. En: Proceedings of the 2009 IEEE International Conference on Robotics and Automation. Kobe, Japan. pp. 3730–3735. Fang, Mu, Weidong Chen y Zhijun Li (2008). Adaptive tracking control of coordinated nonholonomic mobile manipulators. En: Proceedings of the 17th World Congress The International Federation of Automatic Control. Vol. 17. Seoul, Korea. Farkhatdinov, Ildar, Jee-Hwan Ryu y Jury Poduraev (2008). A feasibility study of time-domain passivity approach for bilateral teleoperation of mobile manipulator. En: International Conference on Control, Automation and Systems 2008. COEX, Seoul, Korea. pp. 272–277. Fujii, Masakazu, Wataru Inamura, Hiroki Murakami, Kouji Tanaka y Kazuhiro Kosuge (2007). Cooperative control of multiple mobile robots transporting a single object with loose handling. En: Proceedings of the 2007 IEEE International Conference on Robotics and Biomimetics. Sanya, China. pp. 816–822. Ge, Weimin, Duofang Ye, Wenping Jiang y Xiaojie Sun (2008). Sliding mode control for trajectory tracking on mobile manipulators. En: IEEE Asia Pacific Conference on Circuits and Systems, 2008. APCCAS 2008. Macao. pp. 1834–1837. Hamner, Brad, Seth Koterba, Jane Shi, Reid Simmons y Sanjiv Singh (2010). An autonomous mobile manipulator for assembly tasks. Autonomous Robots 28(1), 131–149. Hong, Tang y Yang Qing-xuan (2009). Sliding mode control design of cleaning robot’s mobile manipulator used in large condenser based on neural networks. En: Proceedings of the 2009 IITA International Conference on Control, Automation and Systems Engineering. pp. 446–449. Joshi, J. y A. Desrochers (1986). Modeling and control of a mobile robot subject to disturbances. En: Proceedings of the 1986 IEEE International Conference on Robotics and Automation. pp. 1508– 1513. Korayem, M. H., S. Firouzy y A. Heidari (2007). Dynamic load carrying capacity of mobile-base flexible-link manipulators: feedback linearization control approach. En: IEEE International Conference on Robotics and Biomimetics, 2007. ROBIO 2007. Sanya. pp. 2172– 2177. Korayem, M. H., V. Azimirad, A. Nikoobin y Z. Boroujeni (2010). Maximum load-carrying capacity of autonomous mobile manipulator in an environment with obstacle considering tip over stability. International Journal of Advanced Manufacturing Technology 46(5-8), 811–829. Lee, H. J. y M. C. Lee (2008). Color-based visual servoing of a mobile manipulator with stereo vision. En: Proceedings of the 17th World Congress The International Federation of Automatic Control. Vol. 17. Seoul, Korea. Li, Zhijun, Pey Yuen Tao, Shuzhi Sam Ge, Martin Adams, y Wijerupage Sardha Wijesoma (2009). Robust adaptive control of cooperating mobile manipulators with relative motion. IEEE Trans. Syst., Man, Cybern. B 39(1), 103–116. Liu, Yugang y Guangjun Liu (2007). Kinematics and interaction analysis for tracked mobile manipulators. En: IEEE/RSJ International Conference on Intelligent Robots and Systems, 2007. IROS 2007. San Diego, CA, USA. pp. 267–272. Liu, Yugang y Guangjun Liu (2009). On multiple secondary task execution of redundant nonholonomic mobile manipulators. Journal of Intelligent and Robotic Systems: Theory and Applications 56(4), 365–388. Mazur, Alicja (2010). Trajectory tracking control in workspace-defined tasks for nonholonomic mobile manipulators. Robotica 28, 1–12. Mazur, Alicja y Dawid Szakiel (2009). On path following control of nonholonomic mobile manipulators. International Journal of Applied Mathematics and Computer Science 19(4), 561–574. Moosavian, S. A. A. y M. Eslamy (2008). Object manipulation by multiple arms of a wheeled mobile robotic system. En: 2008 IEEE Conference on Robotics, Automation and Mechatronics. Chengdu. pp. 1124– 1129.

6

Nakamura, Y., Woojin Chung y O. J. Sordalen (2001). Design and control of the nonholonomic manipulator. IEEE Transactions on Robotics and Automation 17(1), 48–59. Shu-ying, L., D. Ping, C.-J. Ding, M.-L. Zhang y Y.-F. Zhang (2009). The study on dynamic scheduling of mobile manipulator based on mas and neural network. pp. 1821–1826. Stentz, Anthony, John Bares, Sanjiv Singh y Patrick Rowe (1999). A robotic excavator for autonomous truck loading. Autonomous Robots 7(2), 175–186. Tai, H. y T. Murakami (2008). A control of two wheels driven redundant mobile manipulator using a monocular camera system. En: 15th International Conference on Mechatronics and Machine Vision in Practice, 2008 (M2VIP 2008). Auckland. pp. 368–373. Wang, Ying, Haoxiang Lang y C. W. de Silva (2008). Visual servo control and parameter calibration for mobile multi-robot cooperative assembly tasks. En: IEEE International Conference on Automation and Logistics, 2008. ICAL 2008. Qingdao. pp. 635–639. White, Glenn D., Rajankumar M. Bhatt, Chin Pei Tang y VenkatÑ. Krovi (2009). Experimental evaluation of dynamic redundancy resolution in a nonholonomic wheeled mobile manipulator. IEEE/ASME Transactions on Mechatronics 14(3), 349–357. Xu, Dong, Dongbin Zhao, Jianqiang Yi, Xiangmin Tan y Zonghai Chen (2008). Trajectory tracking control of omnidirecitonal wheeled mobile manipulators: Robust neural network based sliding mode approach. En: IEEE International Conference on Robotics and Automation, 2008. ICRA 2008. Pasadena, CA, USA. pp. 1653–1658. Xu, Dong, Dongbin Zhao, Jianqiang Yi y Xiangmin Tan (2009). Trajectory tracking control of omnidirectional wheeled mobile manipulators: Robust neural network-based sliding mode approach. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics 39(3), 788–799. Yang, Yuandong y Oliver Brock (2010). Elastic roadmaps-motion generation for autonomous mobile manipulation. Autonomous Robots 28(1), 113–130. Yu, L. B., Q. X. Cao y X. W. Xu (2008). An approach of manipulator control for service-robot fisr-1 based on motion imitating. En: IEEE International Conference on Industrial Technology, 2008. ICIT 2008. Chengdu. pp. 1–5.

338

ISBN 978-607-95508-0-6

3ER CONGRESO CISCE 2011

ARTICULO ACEPTADO POR REFEREO

Una metodología integral para el modelado cinemático de manipuladores móviles con ruedas Gastón H. Salazar-Silva∗ , Jaime Álvarez Gallegos† y Marco A. Moreno-Armendáriz‡ ∗ Unidad

Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas–IPN Av. Instituto Politécnico Nacional 2580, Col. La Laguna Ticoman, Delegación Gustavo A. Madero C.P. 07340, Ciudad de México, D.F., correo-e: [email protected], teléfono: 5729-6000 ext. 56525 † Secretaría de Investigación y Posgrado–IPN ‡ Centro de Investigación en Computación–IPN Resumen—El modelado de un manipulador móvil se ha atacado obteniendo por separado los modelos cinemáticos de la base y del brazo manipulador, y posteriormente conjuntando ambos modelos. El presente trabajo muestra un método sistemático de modelado de manipuladores móviles que transforma el problema al modelado de un manipulador estacionario con restricciones cinemáticas no holónomas en las articulaciones; se presenta además un ejemplo de la aplicación del método. Index Terms—Robot control, Mobile robots, Robots kinematics.

I.

I NTRODUCCIÓN

Un robot manipulador móvil consiste en un robot manipulador montado sobre una base, que a su vez es un robot móvil; un ejemplo particular es un brazo manipulador sobre un robot móvil de tracción diferencial. Los manipuladores móviles tienen varias ventajas con respecto a los manipuladores estacionarios, por ejemplo un manipulador móvil tiene un espacio de trabajo de mayor tamaño del que podría tener en la práctica un manipulador estacionario. Este tipo de robots puede realizar las tareas de locomoción y manipulación; anteriormente ambas tareas se han manejado como dos problemas independientes, por ejemplo en [1] se concentra en el movimiento de la base móvil, y [2], [3] que se concentran en el movimiento del brazo manipulador. Sin embargo, recientemente ha habido trabajos que empiezan a desempeñar ambas tareas simultáneamente, por ejemplo [4], [5], [6], [7], [8], [9], [10], [11], [12]. En cuanto al problema del modelado de un manipulador móvil, éste se sigue atacando como si fueran dos problemas independientes, obteniendo por separado los modelos cinemáticos de la base y del brazo manipulador, y posteriormente conjuntando ambos modelos [18]. Una razón de emplear este enfoque es que el movimiento de un manipulador móvil con ciertos tipos de locomoción, por ejemplo ruedas, esta sujeto a restricciones no holónomas a causa de como esta actuados. Debido a la utilidad de los manipuladores móviles, es importante poder disponer de modelos cinemáticos que permitan un rápido y fácil análisis del manipulador así como de la tarea; también es importante disponer de herramientas que construyan sobre el conocimiento ya existente y no tener que usar dos metodologías distintas para el modelado de cada parte del manipulador móvil.

El presente reporte muestra un método integral de modelado de manipuladores móviles con ruedas que permite aplicar las mismas herramientas usadas en el modelado de robots estacionarios y presentan a los manipuladores móviles como un caso particular de aquellos. Este método considera que la manipulador móvil es un robot estacionario con articulaciones que presentan restricciones no holónomas; este enfoque permite que se puedan usar las herramientas ya existentes para la obtención de los modelos cinemático y dinámico, por ejemplo los parámetros de Denavit–Hartenberg y los Jacobianos geométricos. En la literatura revisada, la metodología de modelado de los manipuladores móviles es obtener por separado los modelos cinemáticos de la plataforma móvil y del brazo manipulador, utilizando diferentes técnicas para cada caso. Un trabajo fundamental para el modelado de robots móviles es [13]; propone cuatro tipos de modelos para robots móviles con ruedas y su obtención; también presenta una clasificación de robots móviles con ruedas basados en su grado de movilidad y grado de maniobrabilidad. Un esquema de modelado cinemático de manipuladores móviles se presenta en [14], [15], [16], [10], [11], [17], donde se determina por separado la el modelo cinemático de la plataforma móvil y del brazo. En [18] se presenta un método para combinar el modelo cinemático de la base móvil con el del manipulador estacionario, pero se sigue modelando el móvil y brazo por métodos diferentes. Ejemplos especialmente interesantes son [10], [11], donde tanto el móvil como el brazo tienen restricciones no holónomas y sin embargo se modelan por diferentes medios. Una metodología general para el modelado dinámico de sistemas mecánicos no holónomos, y en particular de robots móviles se presenta en [19]. Usan como herramienta principal el método de Euler–Lagrange e incorporan las restricciones no holónomas por medio de multiplicadores de Lagrange; sin embargo, depende del modelo cinemático para cancelar las restricciones no holónomas. El modelo dinámico obtenido tiene el estado reducido a causa de las restricciones cinemáticas. El esquema del presente trabajo tiene la siguiente estructura: el proceso de modelado cinemático de manipuladores estacionarios y robots móviles se revisa en la sección II. El método de modelado de manipulador móviles conside103

3ER CONGRESO CISCE 2011

ARTICULO ACEPTADO POR REFEREO

rando que son simplemente manipuladores estacionarios con articulaciones que tiene restricciones cinemáticas se presenta en la sección III. Como demostración del método, se obtienen los modelos cinemático y dinámico de un manipulador móvil de 5 grados de libertad (gdl) en la sección IV, así como la implementación de un control por dinámica inversa y un control cinemático. II.

M ODELADO

Un modelo cinemático describe la relación que existe entre el movimiento de un sistema mecánico y las velocidades de los actuadores. En robótica móvil se utilizan dos modelos cinemáticos básicamente: el de postura y el de configuración [13]. El modelo cinemático de postura es la relación que existe entre las derivadas de la postura y las derivadas de las variables de los actuadores. En un manipulador estacionario donde las velocidades de los actuadores son iguales a las velocidades de los actuadores, el llamado Jacobiano se puede considerar el modelo cinemático de postura. En cuanto al modelo cinemático de configuración es la relación que existe entre las derivadas de la configuración y las derivadas de las variables de los actuadores. En el caso particular de manipuladores estacionarios, las variables de los actuadores coinciden usualmente con las variables de la configuración. A continuación se presenta las metodologías de modelado de brazos manipuladores, en la sub-sección II-A, y de robots móviles, en la sub-sección II-B. II-A.

Modelo cinemático de un manipulador estacionario

Para la obtención del modelo cinemático de un manipulador estacionario se requiere tener inicialmente su cinemática directa; ésta se define como la expresión que describe la relación que existe entre la postura y la configuración, usualmente en la forma rm = fm (q) (1) donde rm ∈ Rp es un vector compuesto por las variables de postura, q ∈ Rn es un vector con las variables articulares del robot y expresa la configuración de éste; p es la dimensión de la postura y n es la dimensión de la configuración, usualmente denominada grado de libertad (gdl). Una herramienta ampliamente socorrida para la obtención de la cinemática directa de un manipulador estacionario es la transformación homogénea [20], la cual se puede construir a partir de los parámetros de Denavit–Hartenberg, que describe características geométricas de los eslabones y articulaciones que componen el robot. En el caso de un manipulador estacionario con todas sus articulaciones actuadas independientemente, el modelo cinemático es simplemente la relación r˙m (t) = Jm (q)q˙m (t)

(2)

donde r˙m y q˙m son las derivadas con respecto al tiempo de las variables de postura y de configuración del manipulador respectivamente; la matriz Jm (q), denominada como Jacobiano,

se define como Jm (q) =

∂fm (q). ∂q

Una de las tantas aplicaciones del Jacobiano es la obtención del modelo dinámico de sistema mecánicos. Una forma de determinar el Jacobiano es usar el método geométrico; una ventaja este método es que no se requiere calcular explícitamente las derivadas de la cinemática, sino que se aprovecha la información obtenida de las transformaciones homogéneas [20]. II-B. Modelo cinemático de un robot móvil El modelo cinemático de un robot móvil con ruedas esta caracterizado por las restricciones al movimiento impuestas por las ruedas [19], [13]; es por esto que a primeramente se revisa brevemente el tema de las restricciones cinemáticas y posteriormente entra en el tema de los modelos cinemáticos. Una restricción cinemática es aquella que restringe el movimiento de alguna manera; las restricciones cinemáticas pueden ser holónomas y no holónomas. Un sistema mecánico se dice holónomo si existe un conjunto de k restricciones del movimiento de la forma hi (q) = 0, i = 1, . . . , k. Este tipo de restricciones son geométricas, ya que limitan en donde puede estar la configuración del sistema. Si el sistema mecánico esta limitado por restricciones del tipo ai (q, q) ˙ =0 se dice que el sistema es no holónomo. Un caso particular es cuando las restricciones tienen la forma llamada Pfaffiana, que es cuando las ecuaciones son lineales con respecto la velocidad: ai (q)q˙ = 0. En este caso particular, si además existen funciones hi (q), tal que ∂hi (q) = ai (q), ∂q entonces se dice que las restricciones son integrables y el sistema es holónomo; si no existen dichas hi (q) entonces el sistema es no holónomo. El modelo cinemático de un robot móvil se obtiene a partir del espacio nulo de las restricciones cinemáticas no holónomas del robot móvil. Se han propuesto dos tipos de modelos cinemáticos [13]. El primero de ellos establece una relación entre las derivadas de las variables de configuración y las derivadas de las variables de los actuadores. El segundo tipo de modelo solo considera la relación de las velocidades de las variables de postura con respecto a las velocidades de las variables de los actuadores; este modelo se llama modelo cinemático de postura. Este modelo es el utilizado en [19] cuando se estudia la dinámica de un robot móvil o de un manipulador móvil. 104

3ER CONGRESO CISCE 2011

ARTICULO ACEPTADO POR REFEREO

La postura de un robot móvil con ruedas sobre un piso plano queda completamente especificado por el vector   x rb :=  y  φ

donde x y y son las coordenadas en el plano del robot móvil y φ denota la orientación del robot con respecto al plano. En el caso de que el robot móvil tuviera ruedas orientables centradas, se debe extender la postura para incluir los ángulos de las ruedas. El modelo cinemático de postura para un robot móvil del tipo de tracción diferencial es de la forma [13] r˙b (t) = B(rb )η

(3)

donde η(t) ∈ Rn−h es el vector de velocidades de los actuadores, y B(q) ∈ Rn×(n−h) es una matriz cuyas columnas son una base del espacio nulo de las restricciones y esta definido como   cos φ 0 B(rb ) =  sin φ 0  . 0 1 Otro modelo cinemático de interés es el de configuración, que se define como q˙b (t) = Sb (q)η (4)

donde Sb (q) ∈ Rn×(n−h) es una matriz cuyas columnas también son una base del espacio nulo de las restricciones. Es importante notar que (3) y (4) no describen la dinámica del sistema [13]; Para el caso del robot con tracción diferencial es necesario contar con este modelo para el proceso de obtener el modelo dinámico [19]. También es importante notar que S(q) es un aniquilador de las restricciones cinemáticas; esto es que A(q)T Sb (q) = 0, (5) hecho que se aprovechará para la obtención del modelo dinámico III.

M ODELADO DE UN MANIPULADOR MÓVIL

El modelo cinemático de postura es útil para desarrollar leyes de control en el espacio de tarea y obtener el modelo dinámico por método de Euler–Lagrange. Un método para conjuntar los modelos cinemáticos de la base móvil y del manipulador es el llamado Jacobiano extendido propuesto en [18], donde se construye la siguiente relación     η r˙ = Jb (qb )Sb (qb ) Jm (qm ) (6) q˙m

donde r˙ es un vector que conjunta los movimiento de postura de la base móvil y el manipulador   r˙b r˙ = r˙m

y el Jacobiano de la base Jb , que se obtiene de manera independiente.

Entonces el modelado cinemático de un manipulador móvil depende de poder encontrar el Jacobiano J y esto a su vez depende de poder conjuntar de alguna manera la cinemática del manipulador y la base móvil. La cinemática de un manipulador móvil esta dada por la función (7)

r = f (qb , qm )

donde r es la postura del manipulador móvil qb y qm son las coordenadas generalizadas de la base móvil y del manipulador respectivamente, f es la cinemática del manipulador móvil, que no esta sujeta a las restricciones no holónomas. Un método para encontrar las cinemáticas directas del manipulador estacionario y la base móvil, además de que permite conjuntarlas, son las transformaciones homogéneas [20]; en particular para el caso del manipulador móvil se tiene que [15] Tn0 = Tb0 Tnb donde Tb0 es la transformación homogénea que va de un marco de referencia {b} en la plataforma móvil a un marco base de referencia {0} y Tnb es la transformación homogénea que va de un marco de referencia {n} en el ultimo eslabón del brazo manipulador al marco de referencia {b}. En la literatura no existe una forma estandarizada para encontrar la transformación Tb0 ; una forma posible es considerar el movimiento de la base móvil como un cuerpo rígido sobre el plano. Es importante notar que la cinemática directa no considera las restricciones no holónomas. En el presente trabajo se propone modelar la cinemática directa de la base móvil, Tb0 , suponiendo inicialmente que es un manipulador estacionario de b gdl del suficiente tamaño como para abarcar el espacio de trabajo; un ejemplo puede ser un manipulador cartesiano de dos ejes y una articulación de rotación perpendicular a los otros dos ejes, y en el caso general se usaría un sistema equivalente de 6 gdl, que puede usarse para modelar vehículos aéreos. A partir de esta suposición es posible obtener la cinemática directa de todo el manipulador móvil considerando que una sola cadena cinemática. Para obtener la cinemática directa de todo el manipulador móvil al simplemente modelar el manipulador móvil como una sola cadena cinemática, por ejemplo usando los parámetros de Denavit–Hartenberg. A partir de la suposición anterior, se puede obtener el Jacobiano Jb usando el mismo método que el usado para manipuladores estacionarios, y más aún encontrar el Jacobiano conjunto del manipulador móvil   J(q) = Jb (q) Jm (q) con el método geométrico, y (6) se reduce a el modelo cinemático de postura del manipulador móvil, esto es (8)

r˙ = J(q)S(q)η

donde S(q) es el modelo cinemático de configuración para todo el manipulador móvil, definido por   S(q) = Sb (q) I 105

3ER CONGRESO CISCE 2011

ARTICULO ACEPTADO POR REFEREO

1 0

donde I es una matriz identidad de las dimensiones adecuadas que indica en que articulaciones las velocidades articulares son iguales a las velocidades de actuación. En la figura 1 se visualiza el modelo cinemático de configuración S(q) como un mapeo del espacio de actuación al espacio de configuración, y el Jacobiano J(q) como un mapeo entre este último espacio y el espacio de postura. S(q)

1 0

1 0 0 1

J(q)

Espacio de actuacion

Espacio de articulacion

Espacio de postura

Figura 1. El Modelo cinemático de postura como composición de mapeos entre los espacios de actuación, de articulación y de postura.

El método propuesto presenta varia ventajas, como por ejemplo se utiliza un solo método para la obtención de la cinemática del obtener con la ayuda del Jacobiano básico, esto es no se requiere manipulador móvil. Otras ventajas son que el modelo cinemático se puede derivar explícitamente la cinemática y es posible usar directamente las herramientas computacionales ya existentes, como por ejemplo [21] IV.

E JEMPLO

Para probar la técnica de modelado se modelo un manipulador móvil consistente en un robot modelo Pioneer 3DX y un brazo manipulador modelo Cyton de 7 gdl. El Pioneer 3DX es un robot de tracción diferencial y en el Cyton se considerarán solo dos ejes, de tal manera que el manipulado móvil se considera de 5 gdl. Para el modelado se considera que la base móvil se puede reducir a un monociclo sin deslizamiento con la superficie sobre la que avanza; además, la superficie se considera plana y horizontal. El brazo manipulador se supone un sistema planar de dos articulaciones de rotación y los eslabones se consideran como varillas. El manipulador móvil se modeló de manera analítica con ayuda del paquete álgebra computacional Maxima. También se obtuvo un modelo numérico por medio del robotics toolbox de Matlab [21]; este paquete es para modelar robots estacionarios, pero usando la técnica propuesta se puede aplicar para el modelado de manipuladores móviles. Para obtener la cinemática directa, se considera que la base móvil puede modelarse como un robot cartesiano en dos ejes y un tercer eje rotacional, tal como aparece en la figura 2. A partir de esta descripción se obtienen los parámetros de Denavit–Hartenberg que aparecen en la tabla I. IV-A.

1 0

Modelo cinemático

Manteniendo la premisa de un robot estacionario, la configuración del manipulador móvil se denota por medio del vector q(t) ∈ R5 y, tal como se aprecia en la figura 2, queda

Figura 2. Disposición de un manipulador estacionario como modelo para obtener la cinemática directa de un manipulador móvil de 5 gdl. Los primeros tres ejes representan a la base móvil. Tabla I PARÁMETROS DE D ENAVIT–H ARTENBERG PARA EL MANIPULADOR MÓVIL DE 5 GDL . L OS ÁNGULOS ESTÁN EN RADIANES Y LAS DISTANCIAS EN MILÍMETROS . i 1 2 3 4 5

α −π/2 −π/2 +π/2 0 0

definida como

a [mm] 0 0 0 150 168

θ 0 −π/2 0 0 0



  q=  

d [mm] 0 0 237 0 0

d1 d2 θ3 θ4 θ5

tipo de par cinemático prismático prismático rotacional rotacional rotacional

     

donde d1 y d2 son las coordenadas (x, y) del móvil sobre el plano, θ3 = φ es la orientación del robot móvil, y por otro lado θ4 y θ5 son las variables articulares del brazo manipulador. En cuanto a la restricción cinemática del manipulador móvil de 5 gdl esta dada por la matriz A(q) ∈ R5×1 y se define por la expresión   sin q3  − cos q3    . 0 A(q) =  (9)     0 0

Dada esta restricción, un posible modelo cinemático de configuración del manipulador móvil esta dado por (10)

q˙ = S(q)η

donde η ∈ R4 son las velocidades de los actuadores esta definido como η = (v, q˙3 , q˙4 , q˙5 )T donde v(t) es un escalar que describe la velocidad lineal de la base móvil, y el modelo cinemático de configuración S(q) ∈ 106

3ER CONGRESO CISCE 2011

R5×4 esta definido por    S (q) =   

cos q3 sin q3 0 0 0

ARTICULO ACEPTADO POR REFEREO

 0 0 0 0 0 0   1 0 0   0 1 0  0 0 1

(11)

que satisface la propiedad de ser un aniquilador de (9). IV-B.

Modelo dinámico

El modelo dinámico de un sistema mecánico con restricciones no holónomas esta definido por un conjunto de n ecuaciones diferenciales de segundo orden de la forma [19] D(q)¨ q + C(q, q) ˙ q˙ + g(q) = A(q)λ + S(q)τ A(q)T q˙ = 0

(12)

donde D(q) ∈ Rn×n es la matriz de inercia del sistema, C(q, q) ˙ ∈ Rn×n es la matriz de las fuerza centrífuga y de Coriolis, g(q) ∈ Rn es un vector que representa la fuerza de gravedad sobre los eslabones, A(q) ∈ Rn×h representa una matriz donde se codifican m restricciones cinemáticas, S(q) ∈ Rm×n es la matriz de entrada, y τ ∈ Rm representa las fuerzas generalizadas que entran al sistema. El modelo cinemático de configuración del manipulador móvil. Aprovechando la relación (5), es posible eliminar la declaración explicita de la restricción en (12); para ello se premultiplica el (12) por H(q)T y se aplica posteriormente la transformación (3) se obtene la siguiente expresión [19] q˙ v˙

= S(q)η = −M (q)−1 m(q, η) + M (q)−1 S(q)T S(q)τ

(13)

donde M (q) = S(q)T D(q)S(q) ˙ m(q, η) = S(q)T D(q)S(q)η T +S(q) C(q, S(q)η)S(q)η + S(q)T g(q) La dimensión del estado en el sistema (13) es menor que en el sistema (12). Las matrices D(q) y C(q, q) ˙ del modelo (12) se obtuvieron a partir del procedimiento presentado en [20]. Para su cálculo se necesitó de diversas mediciones de los eslabones, cuyos valores aparecen en la tabla II; es importante notar que los eslabones 1 y 2 se consideran sin masa y por lo tanto no influyen en la dinámica. Tabla II D IMENSIONES DE LOS ESLABONES DEL MANIPULADOR MÓVIL DE 5 GDL ; LA UNIDAD DE LAS MEDICIONES DE LONGITUD SON METROS Y LA DE MASA SON KILOGRAMOS . S E CONSIDERA QUE LOS ESLABONES 1 Y 2 NO TIENEN MASA .

i 3 4 5

Longitud [m] 0.445 0.150 0.168

Ancho 0.393 0.050 0.050

Altura [m] 0.237 0.050 0.050

Masa [kg] 9.0 0.1 0.1

˙ para obtenerla El modelo alterno depende de la matriz S; se aprovecha la expresión [19]  m  X ∂si ˙ (q) S(q)η S(q)v = ηi ∂q i=1 donde si es la i-ésima columna de la matriz resultante para este manipulador móvil es  0 −η1 sin q3 0 0  0 η1 cos q3 0 0  ˙ 0 0 0 S(q) =  0  0 0 0 0 0 0 0 0

S(q). La matriz 

  .  

Esta matriz también se utiliza para el control por dinámica inversa que se implantará en la siguiente sección. IV-C.

Control

El control usado en este ejemplo son dos controles en cascada; el lazo de control interno es por dinámica inversa o par calculado; este control en conjunto con una retro sencilla permite seguir una referencia de velocidad sobre los actuadores. El lazo de control externo es un control por resolución de aceleración sobre las variables de configuración. El control por dinámica inversa usa la expresión 13 para encontrar las fuerzas generalizadas τ , tal que τ = (S(q)T S(q))−1 m(q, η) + (S(q)T S(q))−1 M a

(14)

donde la a(t) ∈ R4 es la referencia de la aceleración deseada en el sistema. A partir de (14) y planteando un esquema de retroalimentación dado por la ecuación η˜˙ + K η˜ = 0 donde η˜ es el error en la velocidad, definido como η˜ = η − η d ,

η d es la velocidad deseada y K es una matriz positiva diagonal. Entonces el control esta dado por η˙ = η˙ d + K η˜ Para el control a nivel cinemático se utilizó un control por resolución de aceleración [22]. primeramente se propone una medida del error cinemático de configuración q˜, tal que q˜(t) = q d (t) − q(t).

donde q d (t) ∈ Rn es la configuración deseada. El control se propone de acuerdo a la siguiente dinámica ¨q˜(t) + K1 q˜˙ (t) + K0 q˜(t) = 0 donde q˜˙ y ¨q˜ son la primera y la segunda derivadas de del error cinemático con respecto al tiempo. Resolviendo para q¨, se tiene que q¨ = q¨d + K1 q˜˙ + K0 q˜. (15) Por otro lado, la expresión (10) se puede resolver para η tal que η = S(q)† q. ˙ (16) 107

3ER CONGRESO CISCE 2011

ARTICULO ACEPTADO POR REFEREO

Aplicando (16) a (15) se obtiene la expresión ˙ η)η + K1 q˜˙ + K0 q˜). η˙ = S(q)† (¨ q d − S(q, Los controles en cascada se aplicaron a un modelo numérico del manipulador móvil. El resultado de una de las simulaciones se ve en la figura 3; la referencia aplicada al control es trayectoria generada por medio de una interpolación lineal entre dos configuraciones distintas; es importante indicar que la trayectoria no necesariamente satisface la restricción no holónoma. 0.25

0.2

x 0.15

y phi theta 1

0.1 Error

theta 2

0.05

0

−0.05

−0.1

0

1

2

3

4

5 Tiempo

6

7

8

9

10

Figura 3. Gráfico del error cinemático de configuración para los controles en cascada de resolución de aceleración y de dinámica inversa.

V.

C ONCLUSIÓN

El presente trabajo muestra un método sistemático de modelado de manipuladores móviles que transforma el problema al modelado de un manipulador estacionario con restricciones cinemáticas no holónomas en las articulaciones. Se presentó además un ejemplo de la aplicación del método. Como trabajo futuro esta el desarrollo de un control por prioridad de tareas en el espacio de postura para un manipulador móvil, y el desarrollo de un esquema de teleoperación con un maestro estacionario. R EFERENCIAS [1] Y. Wang, H. Lang, and C. W. de Silva, “Visual servo control and parameter calibration for mobile multi-robot cooperative assembly tasks,” in IEEE International Conference on Automation and Logistics, 2008. ICAL 2008, Qingdao, 1–3 Sep. 2008, pp. 635–639. [2] J. Joshi and A. Desrochers, “Modeling and control of a mobile robot subject to disturbances,” in Proceedings of the 1986 IEEE International Conference on Robotics and Automation, Apr. 1986, pp. 1508–1513. [3] L. B. Yu, Q. X. Cao, and X. W. Xu, “An approach of manipulator control for service-robot fisr-1 based on motion imitating,” in IEEE International Conference on Industrial Technology, 2008. ICIT 2008, Chengdu, 21–24 Apr. 2008, pp. 1–5. [4] W. Ge, D. Ye, W. Jiang, and X. Sun, “Sliding mode control for trajectory tracking on mobile manipulators,” in IEEE Asia Pacific Conference on Circuits and Systems, 2008. APCCAS 2008, Macao, 30 Nov.–3 Dec. 2008, pp. 1834–1837.

[5] H. J. Lee and M. C. Lee, “Color-based visual servoing of a mobile manipulator with stereo vision,” in Proceedings of the 17th World Congress The International Federation of Automatic Control, vol. 17, no. 1, Seoul, Korea, Jul. 6–11 2008. [Online]. Available: http://www. scopus.com/inward/record.url?eid=2-s2.0-70349408796&partnerID= 40&md5=4268d31131969e1b303880ae539709c7 [6] H. Tai and T. Murakami, “A control of two wheels driven redundant mobile manipulator using a monocular camera system,” in 15th International Conference on Mechatronics and Machine Vision in Practice, 2008 (M2VIP 2008), Auckland, 2–4 Dec. 2008, pp. 368–373. [7] C. Bu and K. Xu, “Robust control of mobile manipulator service robot using torque compensation,” in Proceedings of the 2009 International Conference on Information Technology and Computer Science (ITCS 2009), vol. 2, 2009, pp. 69–72. [Online]. Available: http://www.scopus. com/inward/record.url?eid=2-s2.0-70350764616&partnerID=40&md5= e3ba6646fca00a6da33240a2b369a051 [8] C.-W. Bu and L.-X. Zhang, “Robust compensation control of mobile manipulator service robot,” in Proceedings of the 2009 International Conference on Measuring Technology and Mechatronics Automation (ICMTMA 2009), vol. 1, 2009, pp. 860–864. [Online]. Available: http://www.scopus.com/ inward/record.url?eid=2-s2.0-70449447917&partnerID=40&md5= c2447186517807280878b46359bfff53 [9] T. Hong and Y. Qing-xuan, “Sliding mode control design of cleaning robot’s mobile manipulator used in large condenser based on neural networks,” in Proceedings of the 2009 IITA International Conference on Control, Automation and Systems Engineering, 2009, pp. 446–449. [Online]. Available: http://www. scopus.com/inward/record.url?eid=2-s2.0-70449365469&partnerID= 40&md5=07038b24093ade0132d3d242d2c04e9a [10] A. Mazur and D. Szakiel, “On path following control of nonholonomic mobile manipulators,” International Journal of Applied Mathematics and Computer Science, vol. 19, no. 4, pp. 561–574, Dec. 2009. [Online]. Available: http://www.scopus. com/inward/record.url?eid=2-s2.0-73949150270&partnerID=40&md5= 6b07d60e4ccf87654bf0726e09bc876e [11] A. Mazur, “Trajectory tracking control in workspace-defined tasks for nonholonomic mobile manipulators,” Robotica, vol. 28, pp. 1–12, 2010. [Online]. Available: http://www.scopus.com/ inward/record.url?eid=2-s2.0-64849101510&partnerID=40&md5= 572770d6be8a84f0f75df9b053bcf7ef [12] B. Hamner, S. Koterba, J. Shi, R. Simmons, and S. Singh, “An autonomous mobile manipulator for assembly tasks,” Autonomous Robots, vol. 28, no. 1, pp. 131– 149, 2010. [Online]. Available: http://www.scopus.com/ inward/record.url?eid=2-s2.0-73549116546&partnerID=40&md5= 6c580805ea36f887f13ae330f24be8e9 [13] G. Campion, G. Bastin, and B. Dandrea-Novel, “Structural properties and classification of kinematic and dynamic models of wheeled mobile robots,” IEEE Trans. Robot., vol. 12, no. 1, pp. 47–62, Feb. 1996. [14] B. Bayle, J.-Y. Fourquet, and M. Renaud, “Kinematic modelling of wheeled mobile manipulators,” in Robotics and Automation, 2003. Proceedings. ICRA ’03. IEEE International Conference on, 14–19 Sep. 2003, pp. 69–74. [15] Y. Li and Y. Liu, “Control of a mobile modular manipulator moving on a slope,” in Mechatronics, 2004. ICM ’04. Proceedings of the IEEE International Conference on, 3–5 Jun. 2004, pp. 135–140. [16] V. Padois, J.-Y. Fourquet, and P. Chiron, “Kinematic and dynamic modelbased control of wheeled mobile manipulators: a unified framework for reactive approaches,” Robotica, vol. 25, no. 2, pp. 157–173, 2007. [17] A. A. Ata, “Dynamic modelling and numerical simulation of a nonholonomic mobile manipulator,” International Journal of Mechanics and Materials in Design, vol. 6, no. 3, pp. 209–216, 2010. [18] A. D. Luca, G. Oriolo, and P. R. Giordano, “Kinematic modeling and redundancy resolution for nonholonomic mobile manipulators,” in Proceedings of the 2006 IEEE International Conference on Robotics and Automation, Orlando, Florida, USA, May 2006, pp. 1867–1873. [19] A. De Luca and G. Oriolo, Kinematics and Dynamics of Multi-Body Systems. Springer, 1995, ch. Modelling and control of nonholonomic mechanical systems, pp. 277–342. [20] M. W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and Control. Wiley, 2006. [21] P. Corke, “A robotics toolbox for MATLAB,” IEEE Robotics and Automation Magazine, vol. 3, no. 1, pp. 24–32, Mar. 1996.

108

Wheeled mobile manipulator modeling for task space control Gastón H. Salazar-Silva UPIITA, Instituto Politécnico Nacional, Av. IPN 2580, México, D.F., México [email protected]

Jaime Álvarez Gallegos Secretaría de Investigación y Posgrado, Instituto Politécnico Nacional, México, D.F., México

Marco A. Moreno-Armendáriz Centro de Investigación en Computación, Instituto Politécnico Nacional, México, D.F., México

Keywords:

Robot control, Mobile robots, Robots kinematics.

Abstract:

Mobile manipulators have attracted a lot attention lately because they have many advantages over stationary manipulator, such as larger a work space than a stationary manipulator could have in practice. However, the proposed methods in the state of the art to obtain the kinematic model of a mobile manipulator are based in modeling separately the mobile base and the manipulator arm, and later combining both models. This paper shows a systematic approach to obtain the kinematic model of mobile manipulators that transforms in the modeling problem of a stationary manipulator with non-holonomic kinematic constraints in the joints; it is also showed an example of the application of the method, where the kinematic and dynamic models are obtained with extensions of the same tools used in stationary robots.

1

Introduction

A mobile manipulator is a manipulator mounted on a mobile robot; an example is a manipulator arm mounted on a mobile robot with differential traction. Mobile manipulators have many advantages over stationary manipulator, such as a larger work space. Mobile manipulators can perform the tasks of locomotion and handling; those tasks have been handled as two separate problems, for example in (Wang et al., 2008) the focus is on movement of the mobile base and in (Joshi and Desrochers, 1986) the task is the motion of the manipulator arm. However, recently there are lot of attention to the performance of both tasks simultaneously, for example in (Mazur, 2010). The problem of kinematic modeling of a mobile manipulator has been attacked by obtaining separately the kinematic models of the base and arm manipulator, and then combining both models (De Luca et al., 2006). Due to the usefulness of mobile manipulators, it is important to have methods and tools that allow an easier analysis of the mobile manipulator. This paper shows an integrated approach to the kinematic modeling of wheeled mobile manipulators that apply the same tools used in modeling stationary robots. This method assumes that the mobile manipu-

lator is a stationary robot which have joints with nonholonomic constraints; this approach allows the use of existing tools to obtain the kinematic and dynamic models, for example the Denavit–Hartenberg parameters and geometric Jacobians. A kinematic modeling scheme for mobile manipulators is presented in (Bayle et al., 2003; Mazur, 2010) where the kinematic models for the mobile platform and the arm are determined separately. In (De Luca et al., 2006) a method is presented for combining the kinematic model of the mobile base with the stationary manipulator, but the mobile base and the manipulator are still modeled with different methods. Particularly interesting example is in (Mazur, 2010), where both the mobile base and the manipulator have nonholonomic constraints and yet are modeled by different methods. The outline of this paper is as follows: the kinematic modeling of mobile robots is reviewed in Section 2. The modeling method proposed in this report, modeling the mobile manipulator simply as stationary manipulators with joints that have kinematic constraints, is presented in Section 3. In Section 4 a control for task space is proposed. As an example of the method, in Section 5 the kinematic and dynamic models of a 5-degree of freedom (DOF) mobile manipula-

tor are obtained and the implementation of the control presented in Section 4 is done.

2

Kinematic model of mobile robot

A kinematic model describes the relationship between the motion of a mechanical system and the actuation velocities. The motion of a wheeled mobile robot is characterized by the constraints imposed by the wheels (Campion et al., 1996); in this section it is briefly reviewed the issues on kinematic constraints and the development of kinematics models. A set of k kinematic constraints restricts the motion of a mechanical system and can be expressed as ai (q, q) ˙ = 0, where q ∈ Rn

is the configuration variables vector, q˙ ∈ Rn is the configuration velocities vector and n is the size of the configuration vector, usually called degree of freedom (DOF), ai are scalar functions on q and q. ˙ If the function ai does not depend on q˙ then the system is called holonomic, otherwise it is said that the system is nonholonomic. There are two kinds of kinematic models as proposed in (Campion et al., 1996). The first is the posture kinematic model and is a relationship between the motion on the task space and the motion of the actuators; for a wheeled mobile robot with differential traction it can be expressed as (Campion et al., 1996) r˙b (t) = Bb (q)ηb

(1)

where r˙b (t) ∈ R p are the posture velocities on a task space of dimension p, ηb (t) ∈ Rn−k is the vector which contains the velocities of the actuators, and Bb (q) ∈ Rn×(n−k) is a matrix with its columns are a base of the null space of the nonholonomic constraints. On the other hand, the configuration kinematic model is the relationship between the velocities of the joints variables and the velocities of the actuators and it is defined as q˙b (t) = Sb (q)ηb

(2)

where Sb (q) ∈ Rn×(n−k) is a matrix with its columns are also a base of null space of the constraints. It is also important to note that S(q) is an annihilator of the kinematic constraints, such that T

A(q) Sb (q) = 0;

(3)

this fact can be used to simplify the dynamic model (De Luca and Oriolo, 1995).

3

Mobile manipulator modeling

The kinematics of a mobile manipulator is given by the function f , defined as r = f (q)

(4)

where r is the combined posture of the mobile manipulator and q are the combined generalized coordinates of the mobile base and the manipulator arm; Thus the kinematic modeling of a mobile manipulator depends on finding the Jacobian J, J=

∂ f (q) ∂q

(5)

and which depends in turn on combining the kinematics of the manipulator and the base mobile. A method to find the direct kinematics of the manipulator arm and mobile base, and also allows combine them, are the homogeneous transformations; specifically for the mobile manipulator it is defined as (Li and Liu, 2004): Tn0 = Tb0 Tnb where Tb0 is the homogeneous transformation which goes from a frame {b} fixed on the mobile base to a frame {0} fixed on surface on which the mobile base moves, and Tnb is the homogeneous transformation which goes from a frame {n} fixed on the last link of the mobile manipulator to the frame {b}; there is not a standardized method to find the transformation Tb0 . It is important to remark that Tb0 does not take account of the nonholonomic constraints. The proposed method is to obtain the forward kinematics of the mobile base Tb0 by assuming that the mobile base is stationary manipulator of b DOF and considering it a unique kinematic chain, and the applying a modeling method for stationary robots, such as the Denavit–Hartenberg method. Also it is possible to obtain the Jacobian J of the whole mobile manipulator from the same geometric method used in stationary robots and then is possible to obtain the posture kinematic model of mobile manipulator r˙ = B(q)η

(6)

where η is the vector of the actuation variables and is defined as  T η = ηTb q˙Tm , B(q) is the posture kinematic relation of the mobile manipulator, defined as B(q) = J(q)S(q) S(q) is the configuration kinematic relation for the whole mobile manipulator   S(q) = Sb (q) I

where I is a identity matrix, showing that the configuration velocities are identical to the actuation velocities. Some advantages of the proposed method is that uses the same methods and computational tools as the stationary manipulators to obtain the kinematic models.

1 0 0 1

Figure 1: Kinematic representation of a mobile manipulator 5 DOF.

4

Control in task space

r˜(t) = rd (t) − r(t).

where rd (t) ∈ Rn is the desired posture. The control is then proposed according to the following error dynamics r¨˜(t) + K1 r˙˜(t) + K0 r˜(t) = 0 (10) where r˜˙ and r˜¨ are the first and second derivatives of the error with respect time. Then (10) in combination with (2) are used to obtain   ˙ η)η˙ + K1 r˙˜ + K0 r˜ . η˙ = B(q)† r¨d − B(q, (11)

5

The control proposed in this paper follows the classical combination of two control loops in cascade; the internal loop control uses an inverse dynamics control. The external control loop is a resolution of acceleration control over the task space. The dynamic model of a mechanical system with non-holonomic constraints is defined by a set of n second-order differential equations D(q)q¨ +C(q, q) ˙ q˙ + g(q) = A(q)λ + S(q)τ A(q)T q˙ = 0

(7) where D(q) ∈ Rn×n is the inertia matrix for the system, C(q, q) ˙ ∈ Rn×n is the Coriolis and crossvelocities matrix, g(q) ∈ Rn is a vector which represents the impact of gravity on the links, A(q) ∈ Rn×k is a matrix in which k kinematics constrains are expressed, S(q) ∈ Rm×n in the input matrix, and τ ∈ Rm are the generalized forces that go into system. Taking advantage of (3), it is possible to eliminate the explicit statement of the kinematic constraint in (7) by applying (1), thus the following reduced order system is obtained (De Luca and Oriolo, 1995) q˙ = S(q)η  η˙ = −M(q)−1 m(q, η) + S(q)T S(q)τ

where a(t) ∈ R4 is the acceleration reference for the system. For the external control loop, the resolution of acceleration control (RAC) is used. Firstly, a measure of the error on task space is proposed, r˜, such that

(8)

where

M(q) = S(q)T D(q)S(q)  ˙ +C(q, Sη)Sη + g(q) . m(q, η) = S(q)T D(q)Sη

A control τ is proposed such that it cancels the dynamics in (8)

τ = (S(q)T S(q))−1 m(q, η) + (S(q)T S(q))−1 Ma (9)

Example

To test the proposed method, a mobile manipulator was modeled; it is integrated by a diferentialtraction Pioneer 3DX mobile robot and a Cyton manipulator arm with 7 DOF, but only two joint were considered, thus the mobile manipulator has 5 DOF. It is assumed that the mobile base is a unicycle without slipping and the surface on which the mobile base moves is flat and horizontal. The mobile manipulator was numerically modeled with the Matlab’s robotics toolbox (Corke, 1996). Table 1: The Denavit–Hartenberg parameters for the 5-DOF mobile manipulator.

i

α

1 2 3 4 5

−π/2 π/2 0 0 0

a [mm] 0 0 0 150 168

θ 0 −π/2 0 0 0

d [mm] 0 0 237 0 0

Kinematic pair prismatic prismatic revolute revolute revolute

The mobile manipulator was modeled as a stationary manipulator, as shown in Figure 1. The Denavit– Hartenberg parameters are showed on Table 1. The configuration of the mobile manipulator, q(t), is defined as:  T q = d1 d2 θ3 θ4 θ5

where d1 , d2 are the surface coordinates (x, y) of the mobile base, θ3 = φ is the orientation of the mobile base, and θ4 , θ5 are the joint variables of the manipulator arm.

On the other hand, the kinematic constraint of the 5-DOF mobile manipulator is given by the matrix A(q) ∈ R5×1 and it is defined by the expresion  T . (12) A(q) = sin q3 − cos q3 0 0 0

The actuators velocities, η ∈ R4 , are defined as: η = (v, q˙3 , q˙4 , q˙5 )T where v(t) is an scalar which describes the lineal velocity of the mobile robot, and configuration kinematic model S(q) ∈ R5×4 is defined by   cos q3 0 0 0  sin q3 0 0 0    1 0 0  (13) S (q) =  0  0 0 1 0  0 0 0 1 which satisfy the property of being an annihilator for (12). The parameters of (7) are obtained according to (Spong et al., 2006) and the data that appears in Table 2. Table 2: Link data for dynamic model from the 5-DOF mobile manipulator.

i

Length [mm] 445 150 168

3 4 5

Wide [mm] 393 50 50

Height [mm] 237 50 50

Mass [kg] 9.0 0.1 0.1

The control described in Section 4 was applied to a numerical model of the mobile manipulator. The result of the simulations are showed in Figure 2; the reference is a trajectory in task space generated by a linear interpolation between two points; it is important to note that the trajectory not necessarily satisfy the nonholonomic constraint. 0.25 Error on x Error on y

0.2 0.15

Error [m]

0.1 0.05 0 −0.05 −0.1 −0.15

0

1

2

3

4

5 Time [s]

6

7

8

9

10

Figure 2: Posture error graph for the mobile manipulator under the control, as described in Section 4.

6

Conclusions

This paper shows a systematic approach to modeling mobile manipulators that transforms the problem

to the modeling of a stationary manipulator stationary with non-holonomic kinematic constraints on the joints. It is also presented a control that uses an estimate of the derivative of the posture kinematic model. Finally, an example is presented using this method. In future work, it will develop a priority control in the task space for a mobile manipulator, and it will be develop a teleoperation scheme on the real system.

7

Acknowledgment

The authors appreciate the support of Mexican Government (SNI, SIP-IPN, COFAA-IPN, PIFI-IPN and CONACYT).

REFERENCES Bayle, B., Fourquet, J.-Y., and Renaud, M. (2003). Kinematic modelling of wheeled mobile manipulators. In Robotics and Automation, 2003. Proceedings. ICRA ’03. IEEE International Conference on, pages 69–74. Campion, G., Bastin, G., and Dandrea-Novel, B. (1996). Structural properties and classification of kinematic and dynamic models of wheeled mobile robots. IEEE Trans. Robot., 12(1):47–62. Corke, P. (1996). A robotics toolbox for MATLAB. IEEE Robotics and Automation Magazine, 3(1):24–32. De Luca, A. and Oriolo, G. (1995). Kinematics and Dynamics of Multi-Body Systems, chapter Modelling and control of nonholonomic mechanical systems, pages 277–342. Springer. De Luca, A., Oriolo, G., and Giordano, P. R. (2006). Kinematic modeling and redundancy resolution for nonholonomic mobile manipulators. In Proceedings of the 2006 IEEE International Conference on Robotics and Automation, pages 1867–1873, Orlando, Florida, USA. Joshi, J. and Desrochers, A. (1986). Modeling and control of a mobile robot subject to disturbances. In Proceedings of the 1986 IEEE International Conference on Robotics and Automation, pages 1508–1513. Li, Y. and Liu, Y. (2004). Control of a mobile modular manipulator moving on a slope. In Mechatronics, 2004. ICM ’04. Proceedings of the IEEE International Conference on, pages 135–140. Mazur, A. (2010). Trajectory tracking control in workspacedefined tasks for nonholonomic mobile manipulators. Robotica, 28:1–12. Spong, M. W., Hutchinson, S., and Vidyasagar, M. (2006). Robot Modeling and Control. Wiley. Wang, Y., Lang, H., and de Silva, C. W. (2008). Visual servo control and parameter calibration for mobile multirobot cooperative assembly tasks. In IEEE International Conference on Automation and Logistics, 2008. ICAL 2008, pages 635–639, Qingdao.

Proceedings of the IASTED International Conference Robotics (Robo 2011) November 7 - 9, 2011 Pittsburgh, USA

MODELING AND CONTROL OF A MOBILE MANIPULATOR WITH CANCELLATION OF FACTORY-INSTALLED REGULATOR Gastón H. Salazar-Silva UPIITA Instituto Politécnico Nacional IPN 2580, México, D.F., México [email protected]

Marco A. Moreno-Armendáriz Centro de Investigación en Computación Instituto Politécnico Nacional J.D. Bátiz s/n, México, D.F., México

ABSTRACT The introduction of mobile manipulators on unstructured environments brings many interesting research problems, such as their modeling and control. This paper shows a systematic approach to modeling mobile manipulators that transforms the problem to the modeling of a stationary manipulator with nonholonomic kinematic constraints on the joints. It is also presented a task-space control that cancels a factory-installed proportional–derivative (PD) control. Finally, a numerical experiment is presented using this method.

ing the maximum load-carrying capacity of the robot while it avoids obstacles.

On the other hand, the kinematic modeling problem is still handled as two separate problems, and the resulting models are then combined to obtain a model of the whole robot; these problem are solved using different techniques, for example in Bayle, Fourquet, and Renaud [9], in Li and Liu [10], in Padois, Fourquet, and Chiron [11], in Mazur and Szakiel [12], in Mazur [13] and in Ata [14]; to combine the kinematic model of the mobile base with the manipulator a method is presented in Luca, Oriolo, and Giordano [15], but the mobile base and the manipulator are still modeled with different methods; very interesting examples are in Mazur and Szakiel [12] and in Mazur [13], where both the mobile base and the manipulator have nonholonomic constraints and yet are modeled by different methods. A fundamental work for the modeling of mobile robots is in Campion, Bastin, and d’Andrea-Novel [16] where a classification for wheeled mobile robots is presented, based on their degree of mobility and degree of maneuverability, and four types of models are proposed.

KEY WORDS Robot control, mobile manipulators, robots kinematics.

1 Introduction The robots are coming out from the structured environments in factories and they begin to appear in places such as houses, offices and hospitals, where there is little control on the surroundings or not at all [1]; the mobile manipulators are a solution for these new work spaces. Basically, a mobile manipulator is a stationary manipulator mounted on a mobile robot so it may perform simultaneously the tasks of locomotion and manipulation; these capabilities give to the mobile manipulator the advantages over stationary manipulators of a bigger task space and a greater autonomy; a mobile manipulator has also disadvantages, such as the presence of nonholonomic kinematic constraints. Previously, the control of mobile manipulators focused on handling separately the tasks of locomotion and manipulation, for example in Wang, Lang, and Silva [2] the locomotion problem is the issue, or in Joshi and Desrochers [3] and in Yu, Cao, and Xu [4] where the manipulation was the control problem; now the control problem is handled as one problem; for example, in Andaluz, Roberti, and Carelli [5] and in Wang, Lang, and Silva [2], a kinematic control is developed; there are literature that presents results with the dynamic control of a mobile manipulator; for example in Abeygunawardhana and Murakami [6] a dynamic control is used to reduce the balancing oscillation; also, a dynamic redundancy resolution control is applied in White et al. [7] but the control is not robust; in Korayem et al. [8] a optimal dynamic control is developed to track a trajectory considerDOI: 10.2316/P.2011.752-072

Jaime Álvarez Gallegos Secretaría de Investigación y Posgrado Instituto Politécnico Nacional L.E. Erro s/n, México, D.F., México

The present paper shows a methodology for modeling and control of a mobile manipulator with a factoryinstalled PD control; the mobile manipulator is modeled as an stationary manipulator with kinematic constraints on the joints variables. The outline of this work is as follows: First a review on modeling techniques for stationary manipulators and mobile robots is presented (Section 2). After that, an integrated modeling technique for kinematic models of mobile manipulators is presented and applied to obtain a dynamic model (Section 3). To obtain a kinematic model the nonholonomic constraints are modeled as a mapping between the actuation space and the joint space, using the so called configuration kinematic model. Then, with the obtained kinematic and dynamic models, a task-space control is developed (Section 4) that also cancels the factoryinstalled PD control. Finally, the results of numerical simulations for the task-space control are showed assuming a 5degree of freedom (DOF) differential-traction mobile manipulator (Section 5).

353

2 Kinematic modeling techniques for stationary and mobile robots

where the constraint equations are linear with respect the joint velocities (6) ai (q)q˙ = 0.

In a stationary manipulator, a kinematic model describes the relation between the motion of a mechanical system and the motion of the joints. This model is conceptually obtained through the so called forward kinematics, which is the function that describes the relation between the posture of the final effector of the robot in task space and the value of the joint variables of the robot. The forward kinematics is usually expressed as rm (t) = fm (qm (t))

The kinematic model of a mobile robot can be obtained from the null space of the nonholonomic kinematic constraints of the robot. In mobile robots, there are two kinds of kinematic models [16, 18]. The first one establishes the relation of the motion of the posture of the final effector and the motion of the actuators. This model is called posture kinematic model and it may be used to produce the dynamic model of a mobile robot. This model is similar to kinematic model of a stationary manipulator. If the mobile robot has centered orientable wheels, the posture rb ∈ Rpb must be extended to include the angles of the wheels. The posture kinematic model of a wheeled mobile robot with differential traction can be expressed as [16]

(1)

where rm (t) ∈ Rpm is the posture variables vector, qm (t) ∈ Rnm is the joints displacement vector of the manipulator, pm is the dimension of the task space of the manipulator and nm is the dimension of qm , usually called degree of freedom (DOF). A widely used tool to obtain the forward kinematics of a stationary manipulator is the homogeneous transformation matrix [17]; these matrices are constructed with the help of the Denavit–Hartenberg parameters; these parameters describes the geometric characteristics of the links and joints of a robot. The kinematic model of a stationary manipulator with full-actuated independent joints is then obtained through the time derivative of (1) (2) r˙m (t) = Jm (qm )q˙m (t)

r˙b (t) = B(qb )ηb

where ηb (t) ∈ Rnb −k is the vector which contains the velocities of the actuators, qb ∈ Rnb is the configuration of the mobile base, nb and pb are the dimensions of the mobile base configuration and posture, and B(qb ) ∈ Rpb ×(nb −k) is a matrix with its columns are a base of the null space of the nonholonomic constraints; the posture kinematic model is useful in the computation of control laws in the task space; on the other hand, the configuration kinematic model is used to simplify the dynamic model of mobile robot. For example, the posture model of a wheeled mobile robot on a flat surface is completely specified by   x B(q) =  y  (8) φ

where r˙m ∈ Rpm are the posture velocities, q˙m ∈ Rnm are the joint velocities of the manipulator, and the matrix Jm (q) ∈ Rpm ×nm is the so called Jacobian and it is defined as ∂fm Jm (qm ) = (qm ). (3) ∂qm Another way to compute the Jacobian is the geometric method [17], that has the advantage of not requiring an explicit computation of the derivatives of the forward kinematic, as it uses numeric information from the homogeneous transformations. On the other hand, the motion of a wheeled mobile robot is characterized by the kinematic constraints imposed by the wheels [16, 18]. A kinematic constraint may be holonomic or nonholonomic. A mechanical system is said to be holonomic if there is a set of k constraints to the motion; these constraints may be expressed as hi (q) = 0, i = 1, . . . , k

(7)

where x and y are the coordinates on the plane on which the mobile robot moves and φ is the robot orientation on such plane. The second model describes a relation between the motion of the joint displacements and the motion of the actuators, called configuration kinematic model, and it is defined as (9) q˙b = Sb (qb )ηb where Sb (q) ∈ Rnb ×(nb −k) is a matrix with its columns belongs to the null space of the constraint matrix Ab . For example, in a differential-traction mobile robot the configuration kinematic model can be defined as   cos φ 0 (10) Sb (q) =  sin φ 0  . 0 1

(4)

where hi are scalar functions; such constraints are geometric and they limit where may be the system configuration. If the mechanical system is limited by constraints expressed as ˙ =0 (5) ai (q, q) then the system is called nonholonomic and these constraints limit how the mechanical system can move, but not restrict where the system can be. A special kind of nonholonomic constraint is the so the called Pfaffian form,

It is important to remark that Sb (q) is an annihilator of the kinematic constraints, such that Ab (qb )T Sb (qb ) = 0

354

(11)

where the matrix Ab (q) ∈ Rnb ×k defines the nonholonomic kinematic constraint Ab (q)q˙ = 0;

(12)

this fact could be used to simplify the dynamic model. It is important to remark that the expressions (9) and (7) describe the motion of a system in terms of the motion of the actuators; in these models, there is no information about the forces that generate the motion, so they do not describe the dynamics of the system; however, in some applications, it is enough to have a kinematic model for the development of a control law. Also, with wheeled mobile robot, it help to have the kinematic models in order to have a dynamic model; for example, the posture kinematic model can be used to obtain the dynamic model of the robot; on the other hand, in a nonholonomic wheeled mobile robot the kinematic constraints appear on the dynamic model and the configuration kinematic model is used to eliminate these constraints [18].

Figure 1. The posture kinematic model as a composition of mappings between the actuation space, the configuration space and task space.

The configuration kinematic model is a mapping between the actuation space, which is the set of all possible motions of the actuators, and the joint space (Figure 1); those motions are restricted by the kinematics constraints and the mapping is usually an identity matrix in a stationary manipulator. The Jacobian is a mapping between the joint space and the posture space; the motions described by the Jacobian are not restricted by the kinematic constraint. Finally, the posture kinematic model is the combination of the Jacobian and the configuration kinematic model. Thus the kinematic modeling of a mobile manipulator depends on finding the Jacobian J and this in turn depends on combining the kinematics of the manipulator and the base mobile. The forward kinematics of a mobile manipulator is given by the function f , defined as

3 Modeling of mobile manipulators as stationary manipulators 3.1 Kinematic modeling of mobile manipulators In this section it is introduced a method that assumes that the mobile manipulator is a stationary manipulator with nonholonomic kinematic constraints on the robot joint. As stated before, the kinematic models of mobile manipulators are developed by separately obtaining the kinematic models of the mobile base and the mounted manipulator, and then combining both models. One of such methods uses the so called extended Jacobian [15], which is defined as � � (13) r˙ = Jb (qb )Sb (qb ) Jm (qm ) η

r = f (q)

(17)

where r is the combined posture of the mobile manipulator and q are the generalized coordinates of the mobile manipulator, defined as � � qb (18) q= qm

where qb and qm are the generalized coordinates of the mobile base and the manipulator arm respectively. It is important to note that the function f is not subject to the kinematic constraints. A method to find the forward kinematics of the manipulator arm and mobile base, and also allows combine them, are the homogeneous transformations [17]; specifically for the mobile manipulator it is defined as [10]:

where r ∈ Rp is the posture of the mobile manipulator, with � � rb , (14) r= rm

Jb is the Jacobian of the base, which is obtained directly from the time derivative of (8), r˙ is a vector that combines the posture velocities of the mobile base and the manipulator arm � � r˙b , (15) r˙ = r˙m

Tn0 = Tb0 Tnb

(19)

where Tb0 is the homogeneous transformation which goes from a frame {b} fixed on the mobile base to a frame {0} fixed on surface on which the mobile base moves, and Tnb is the homogeneous transformation which goes from a frame {n} fixed on the last link of the mobile manipulator to the frame {b}. On the reviewed literature there is not a standard method to find the transformation Tb0 ; a possible method is modeling the mobile base as a rigid solid body. It is important to remark that the forward kinematics does not take account the nonholonomic constraints. In the present paper the method proposed is to obtain the forward kinematics of the mobile base Tb0 , by initially

and η ∈ Rm are the actuators velocities for the mobile manipulator and are defined as � � ηb (16) η= q˙m

where q˙m are the velocities of the mounted manipulator and which also correspond to the velocities of the actuators of the manipulator arm.

355

assuming that the mobile base is stationary manipulator of b DOF; for example, a differential traction mobile robot could be modeled as link connected to the surface with planar joint, which in turn could be modeled as two prismatic joint and a revolute joint; as a general case, every mobile robot, for example a flying vehicle, could be modeled as an equivalent 6 DOF stationary manipulator. Following this assumption, it is possible to obtain the forward kinematics of the whole mobile manipulator by considering it a single kinematic chain, and then applying a standard modeling method for stationary robots, such as the Denavit– Hartenberg method. Also following the last assumption, it could be possible to obtain the Jacobian Jb from the same geometric method used in stationary robots; even more, it is possible to find the Jacobian of the whole mobile manipulator � � (20) J(q) = Jb (qb ) Jm (qm )

Taking advantage of the relation (11), it is possible to eliminate the explicit statement of the kinematic constraint in (24) by pre-multiplying by S(q)T and then the transformation (7) is applied, thus the following expression is obtained [18] q˙ η˙

M (q) m(q, η)

where B(q) is the posture kinematic relation of the mobile manipulator, defined as

(27)

The matrices Kp , Kd ∈ R(n−k)×(n−k) are the proportional and derivatives gains respectively; it is assumed that there is knowledge of the time derivative of v or that the matrix Kd has elements equal to zero that corresponds to the parts of the time derivative of v that are unknown or not conform to the regulator form. By applying the control (27) to (25) a new system is obtained that can be expressed as

The dynamic model of a mechanical system with nonholonomic constraints is defined by a set of n second-order differential equations [18] A(q)λ + S(q)τ 0

(26)

where ηbd ∈ Rnb −k are the desired actuators velocities of d ∈ Rnm are the desired joints disthe mobile base and qm placements; on the other hand, v ∈ Rn−k is defined as � � ηb . (29) v= qm

Dynamic model of a mobile manipulator with a factory-installed proportional–derivative control

= =

S(q)T D(q)S(q) ˙ S(q)T D(q)S(q)η +S(q)T C(q, S(q)η)S(q)η +S(q)T g(q)

where u ∈ Rn−k are the desired inputs to the mobile manipulator and are defined as � d � ηb (28) u= d qm

(22)

where I is a identity matrix, that indicates which configuration velocities are identical to actuation velocities. The proposed methodology has many advantages, for example it uses the same methods as the stationary manipulators to obtain the forward kinematics and the kinematic models. Another advantage is that the existing computational tools for stationary robots could be used, for example in Corke [19]; then it is possible to obtain numerically the dynamic model.

D(q)¨ q + C(q, q) ˙ q˙ + g(q) A(q)T q˙

= =

τ = Kp (u − v) − Kd v˙

S(q) is the configuration kinematic relation for the whole mobile manipulator � � (23) S(q) = Sb (q) I

3.2

(25)

It is important to remark that the state dimension in (25) is less than in (24). In an off-the-shelf robot, it is usual that comes with an installed control, such as a PD control. In this paper it is assumed that the factory-installed PD control is expressed in the regulator form

(21)

B(q) = J(q)S(q)

S(q)η −M (q)−1 m(q, η) +M (q)−1 S(q)T S(q)τ

where

with the geometric method, and (13) is reduced to the posture kinematic model of mobile manipulator r˙ = B(q)η

= =

q˙ η˙

= S(q)η = −M (q)−1 m(q, η) +M (q)−1 S(q)T S(q)(Kp u − Kp v − Kd v). ˙ (30)

(24)

4

where D(q) ∈ Rn×n is the inertia matrix for the system, C(q, q) ˙ ∈ Rn×n is the Coriolis and cross-velocities matrix, g(q) ∈ Rn is a vector which represents the impact of gravity on the links, A(q) ∈ Rn×k is a matrix in which k kinematics constrains are expressed, S(q) ∈ Rm×n in the input matrix, and τ ∈ Rm are the generalized forces that go into system.

Robust Lyapunov-based control in task space of a mobile manipulator

The control proposed in this paper follows the classical combination of two control loops in cascade; the internal loop control uses an inverse dynamics control. The external control loop is a resolution of acceleration control over the task space.

356

4.1 Inverse dynamic compensator with factoryinstalled proportional–derivative cancellation

The equation (40) can be expressed as state-space equation ¯ + B(δ ¯ + B(q)�) e˙ = Ae

The inverse dynamics compensator uses the expression (30) to find a suitable τ such that it cancels the dynamics of the system and the PD control that was previously applied � �−1 � � ˆ (q)a + m(q, M ˆ η) u = Kp−1 S(q)T S(q) +v + Kp−1 Kd v˙ (31) where a(t) ∈ Rn−k is the acceleration reference for the ˆ and m system, M ˆ are the nominal values of the matrices M and m. Applying (31) to (30) results in the system q˙ η˙

= S(q)η = a+�

where e(t) is the state of the error, defined as � � r˜ e= , r˜˙ the matrix A¯ is constant and defined as � � 0 I , A¯ = −k0 I −k1 I

(32)

¯= B

(m ˆ − m);

(35)

.

¯ + B(q)�). V˙ = −eT Qe + 2eT P B(δ is

(36)

where r (t) ∈ R is the desired posture. The proposed control law is

5

(38)

(39)

Applying (39) to (37) the following error dynamic can be obtained ¨r˜ + k1 r˜˙ + k0 r˜ + δ + B(q)� = 0.



¯T

Pe −ρ(e) �B ¯ T P e� B 0

¯ T P e� �= 0 if �B ¯ if �B T P e� = 0

(49)

Numerical experiments and results

To test the proposed method, the model of a mobile manipulator was obtained; it is assumed that mobile manipulator is composed by a Pioneer 3DX mobile robot and a Cyton manipulator arm with 7 DOF. The Pioneer 3DX is a differential traction mobile robot and only two joint of the Cyton robot were considered, thus the mobile manipulator is modeled as a 5 DOF system. To obtain the kinematic constraints it is assumed that the mobile manipulator is a unicycle without slipping; also

and using (32) in (38) the result is ˙ + B(q)η˙ − B(q)�. ax = B(q)η

(48)

where ρ is a function of the error over the scalars, defined as � 1 � 2 γ1 �e� + γ2 �e� + γ3 , ρ(e) = (50) 1−α and α and γi are scalars.

(37)

where ax is the resulting acceleration on task space, r˜˙ is the time derivative of the error with respect time, k0 and k1 are some positive scalar constants and δ is a function to be defined. On the other hand, the relation between ax and a is given by the time derivative of (9) ˙ + B(q)a. ax = B(q)η

(46)

A control that can ensure that (48) is negative or zero

δ=

n

ax = r¨d + k1 r˜˙ + k0 r˜ + δ.

(45)

where P is definite-positive matrix, and (46) results in

For the external control loop, a robust task-space control is used [17]. Firstly, a measure of the error on task space is proposed r˜, such that r˜(t) = rd (t) − r(t)

(44)

Since k0 and k1 are chosen such that the matrix A¯ is Hurwitz, it is possible chose a positive-definite matrix Q such that (47) A¯T P + P A¯ = −Q,

Robust task-space control

d



¯ + 2eT P B(δ ¯ + B(q)�). V˙ = eT (A¯T P + P A)e

the new system (32) can have any other desired control in an external loop. 4.2

0 I

where P is a positive-definite matrix. The time derivative of (45) is

(34)

I is the identity matrix and m ˜ is m ˜ =M



V = eT P e

−1

(43)

To test the stability of (41) a candidate Lyapunov function is proposed

(33)

E is a matrix defined by ˆ − I, E = M −1 M

(42)

¯ is the input matrix B

where � is the uncertainty of the model and is defined as ˜ � = Ea + M −1 m,

(41)

(40)

357

the surface on which the mobile base moves is flat and horizontal. It is also assumed that the manipulator arm is a 2-joint planar robot, and its links are modeled like rods. The mobile manipulator was modeled with help of the computational algebra system Maxima, version 5.21.0 using Lisp SBCL 1.0.29.11. The model was also obtained numerically using the Matlab’s robotics toolbox [19]; this toolbox is for modeling stationary robot but it can be applied to the modeling of mobile manipulator. To obtain the forward kinematics, the mobile base is modeled as a 2-joint Cartesian manipulator and a third revolute joint. From this description the Denavit–Hartenberg parameters can be obtained.

where η ∈ R4 are actuation velocities, defined as:   v  q˙3   η=  q˙4  q˙5

where v(t) is an scalar which describes the lineal velocity of the mobile robot, and configuration kinematic model S(q) ∈ R5×4 is defined by   cos q3 0 0 0  sin q3 0 0 0    1 0 0  S (q) =  (55)  0   0 0 1 0  0 0 0 1

Table 1. The Denavit–Hartenberg parameters for the 5DOF mobile manipulator. The angles are in radians and the distances in millimeters. i

α

1 2 3 4 5

−π/2 π/2 0 0 0

a [mm] 0 0 0 150 168

θ 0 −π/2 0 0 0

d [mm] 0 0 237 0 0

(54)

which satisfy the property of being an annihilator for (52). 5.2

Kinematic pair prismatic prismatic revolute revolute revolute

Dynamic model

The matrices D(q) and C(q, q) ˙ of the system (24) are obtained through the procedure presented in Spong, Hutchinson, and Vidyasagar [17]; the data required to calculate those matrices appear on Table 1 and Table 2; it is important to remark that the links 1 and 2 are considered massless and therefore do not affect the dynamics. Table 2. Link data from the mobile manipulator.

5.1 Kinematic model

i

Following the assumption that a mobile manipulator could be modeled as a stationary manipulator, the configuration of the mobile manipulator, q(t) ∈ R5 , is defined as:   d1  d2     q= (51)  θ3   θ4  θ5

3 4 5

5.3

Length [mm] 445 150 168

Wide [mm] 393 50 50

Height [mm] 237 50 50

Mass [kg] 9.0 0.1 0.1

Results

The control described in the Section 4 was applied to a numerical model of the mobile manipulator. The reference is a circular trajectory in task space (Figure 2) and it is generated by the equations

where d1 , d2 are the surface coordinates (x, y) of the mobile base, θ3 = φ is the orientation of the mobile base, and θ4 , θ5 are the joint variables of the manipulator arm. On the other hand, the kinematic constraint of the 5DOF mobile manipulator is given by the matrix A(q) ∈ R5×1 and it is defined by the expression   sin q3  − cos q3    . 0 A(q) =  (52)     0 0

x(t) y(t)

= =

cos(α(t)) sin(α(t)).

(56)

where α is a function of time define by a third order polynomial; the velocities and accelerations are define by the first and second time derivatives of (56). It can be observed that the robot follows very well the proposed trajectory (Figure 2, 3 and 4). It is remarked that the motion is counterclockwise and the initial movements of the robot are in the other direction. The tracking error converges exponentially to zero and it is stable in the time frame of the simulation (Figure 5). On the other hand, the displacements of the joints are

A possible configuration kinematic model that satisfy (52) is the equation q˙ = S(q)η (53)

358

1

1.5

Reference path Mobile manipulator path

Reference path Mobile manipuator path

0.5

0 y axis m]

0.5

y axis [m]

1

0

−0.5

−0.5

−1

−1

−1.5

0

50

100

150

200

250

Time [s] −1.5 −1.5

−1

−0.5

0 x axis [m]

0.5

1

1.5

Figure 4. Trajectory tracking on axis y. Figure 2. The reference path and the motion of the robot. 0.15

Reference path Mobile manipulator path

0.8

0.05 0

0.4

−0.05 Error [m]

0.6

0.2 x axis [m]

x axis y axis

0.1

1

0

−0.1 −0.15

−0.2

−0.2

−0.4

−0.25

−0.6 −0.3

−0.8 −0.35

−1

0

50

100

150

200

0

50

100

150

200

250

Time [s]

250

Time [s]

Figure 5. Posture error graph for the mobile manipulator under the control.

Figure 3. Trajectory tracking on axis x.

bounded (Figure 6), and it is noted that the second joint of the manipulator does not move and it is because the mobile manipulator is redundant.

and an estimate of the derivative of the posture kinematic model. Finally, a numerical experiment is presented using the proposed control and the results are analyzed. In future work, it will develop a robust priority control in the task space for a mobile manipulator. Also, it will be developed a robot-aided manipulation system to test these controls.

6 Conclusion This paper shows a systematic approach to modeling mobile manipulators that transforms the problem to the modeling of a stationary manipulator stationary with nonholonomic kinematic constraints on the joints; when compared with previous methods, this approach allows to use the same tools as the stationary manipulator and it only requires extending some of the tools in order to handle the kinematic constraints; the same extended tools coul handle other cases that have Pfaffian kinematic constraints. It is also presented a task-space control that consist in an internal compensator of the dynamics of the mobile manipulator and the factory installed PD control, and an external PD control with feed-forward of the posture acceleration

Acknowledgement We thank the support of Mexican Government (SNI, SIP– IPN, COFAA–IPN, PIFI–IPN and CONACyT).

References [1]

359

O Khatib. “Mobile manipulation: The robotic assistant”. In: Robotics and Autonomous Systems 26.2-3 (Feb. 1999), pp. 175–183. ISSN: 09218890.

stability”. In: The International Journal of Advanced Manufacturing Technology 46.5-8 (Jan. 2010), pp. 811–829. ISSN: 0268-3768.

7

6

x [m] y [m] φ [radians] θ1 [radians]

5

θ [radians] 2

[9]

B. Bayle, J.-Y. Fourquet, and M. Renaud. “Kinematic modelling of wheeled mobile manipulators”. In: 2003 IEEE International Conference on Robotics and Automation. Taipei, Taiwan 2003, pp. 69–74.

[10]

Yangmin Li and Yugang Liu. “Control of a mobile modular manipulator moving on a slope”. In: Proceedings of the IEEE International Conference on Mechatronics, 2004. ICM ’04. Istanbul, Turkey 2004, pp. 135–140.

[11]

V. Padois, J.-Y. Fourquet, and P. Chiron. “Kinematic and dynamic model-based control of wheeled mobile manipulators: a unified framework for reactive approaches”. In: Robotica 25.02 (Feb. 2007), pp. 157–173. ISSN: 0263-5747.

[12]

Alicja Mazur and Dawid Szakiel. “On path following control of nonholonomic mobile manipulators”. In: International Journal of Applied Mathematics and Computer Science 19.4 (Dec. 2009), pp. 561–574. ISSN: 1641-876X.

[13]

Alicja Mazur. “Trajectory tracking control in workspace-defined tasks for nonholonomic mobile manipulators”. In: Robotica 28.01 (2010), p. 57. ISSN : 0263-5747.

[14]

Atef A. Ata. “Dynamic modelling and numerical simulation of a non-holonomic mobile manipulator”. In: International Journal of Mechanics and Materials in Design 6.3 (July 2010), pp. 209–216. ISSN : 1569-1713.

[15]

A. De Luca, G. Oriolo, and P.R. Giordano. “Kinematic modeling and redundancy resolution for nonholonomic mobile manipulators”. In: Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006. Orlando, FL, USA 2006, pp. 1867–1873.

[16]

G. Campion, G. Bastin, and B. d’Andrea-Novel. “Structural properties and classification of kinematic and dynamic models of wheeled mobile robots”. In: IEEE Transactions on Robotics and Automation 12.1 (Feb. 1996), pp. 47–62. ISSN: 1042296X.

[17]

Mark Spong, Seth Hutchinson, and M. Vidyasagar. Robot modeling and control. Hoboken NJ: John Wiley & Sons, 2006. ISBN: 9780471649908.

[18]

Alessandro De Luca and Giuseppe Oriolo. “Modeling and control of nonholonomic mechanical systems”. In: Kinematics and dynamics of multi-body systems. Wien ;;New York: Springer-Verlag, 1995. ISBN : 9783211827314.

[19]

P.I. Corke. “A robotics toolbox for MATLAB”. In: IEEE Robotics & Automation Magazine 3.1 (Mar. 1996), pp. 24–32. ISSN: 10709932. DOI: 10.1109 /100.486658.

Configuration

4

3

2

1

0

−1

−2

0

50

100

150

200

250

Time [s]

Figure 6. Displacements of the joints.

[2]

[3]

[4]

[5]

[6]

[7]

[8]

Ying Wang, Haoxiang Lang, and Clarence W. de Silva. “Visual servo control and parameter calibration for mobile multi-robot cooperative assembly tasks”. In: 2008 IEEE International Conference on Automation and Logistics. Qingdao, China 2008, pp. 635–639. J. Joshi and A. Desrochers. “Modeling and control of a mobile robot subject to disturbances”. In: Proceedings. 1986 IEEE International Conference on Robotics and Automation. San Francisco, CA, USA 1986, pp. 1508–1513. L.B. Yu, Q.X. Cao, and X.W. Xu. “An approach of manipulator control for service-robot FISR-1 based on motion imitating”. In: 2008 IEEE International Conference on Industrial Technology. Chengdu, China 2008, pp. 1–5. Victor Andaluz, Flavio Roberti, and Ricardo Carelli. “Adaptive control with redundancy resolution of mobile manipulators”. In: IECON 2010 - 36th Annual Conference on IEEE Industrial Electronics Society. Glendale, AZ, USA 2010, pp. 1436–1441. P K W Abeygunawardhana and Toshiyuki Murakami. “Workspace Control of Two Wheel Mobile Manipulator by Resonance Ratio Control”. In: Proceedings of the 2009 IEEE/ASME International Conference on Advanced Intelligent Mechatronics. Singapure 2009, pp. 127012–1275. Glenn D. White et al. “Experimental Evaluation of Dynamic Redundancy Resolution in a Nonholonomic Wheeled Mobile Manipulator”. In: IEEE/ASME Transactions on Mechatronics 14.3 (June 2009), pp. 349–357. ISSN: 1083-4435. M. H. Korayem et al. “Maximum load-carrying capacity of autonomous mobile manipulator in an environment with obstacle considering tip over

360

Modeling and control of a mobile manipulator in task space Gastón H. Salazar-Silva

Marco A. Moreno-Armendáriz

Jaime Álvarez Gallegos

UPIITA–IPN Av. IPN 2580 Col. La Laguna Ticoman C.P. 07340, México, D.F., correo-e: [email protected]

CIC–IPN Av. Juan de Dios Bátiz Esq. Miguel Othón de Mendizábal Col. Nueva Industrial Vallejo México, D.F.

SIP–IPN Edificio de la Secretaría Académica Av. Luis Errique Erro s/n. Col. Zacatenco México D.F.

Abstract— The present paper shows a systematic approach to modeling and control mobile manipulators that transforms the problem to the modeling of a stationary manipulator stationary with nonholonomic kinematic constraints on the joints. The task-space control consists in an internal compensator of the dynamics of the mobile manipulator and an external proportional–derivative (PD) control with feed-forward of the posture acceleration and an estimate of the derivative of the posture kinematic model. Finally, a numerical experiment is presented using the proposed control and the results are analyzed. Keywords: Mobile robots, manipulators, mobile manipulators.

I. I NTRODUCTION The robots are coming out from the structured environments in factories and they begin to appear in places such as houses, offices and hospitals, where there is little control on the surroundings or not at all (Khatib 1999); the mobile manipulators are a solution for these new workspaces. Basically, a mobile manipulator is a stationary manipulator mounted on a mobile robot so it may perform simultaneously the tasks of locomotion and manipulation; these capabilities give to the mobile manipulator the advantages over stationary manipulators of a bigger task space and a greater autonomy; a mobile manipulator has also disadvantages, such as the presence of nonholonomic kinematic constraints. Previously, the control of mobile manipulators focused on handling separately the tasks of locomotion and manipulation, for example in Wang et al. (2008) the locomotion task is the issue, or in Yu et al. (2008) where the manipulation task was the control problem; currently the control problem is to perform both tasks simultaneously, for example in Andaluz et al. (2010), where a kinematic control is developed; there are literature that presents results with the dynamic control of a mobile manipulator; in Korayem et al. (2010) an optimal dynamic control for a mobile manipulator is developed to track a trajectory that avoids obstacles while considering the maximum load-carrying capacity of the robot. On the other hand, the kinematic modeling of mobile manipulators is still treated as a three-step operation: the modeling of locomotion, the modeling of manipulation and

their combination in a global kinematic model; a technique to achieve this operation is in Luca et al. (2006), where the kinematic models of locomotion and manipualtion are combined through the so called extended Jacobian, but these models are still obtained by different techniques. The present paper shows a methodology for the modeling and the control of a mobile manipulator in task space; the mobile manipulator is modeled as an stationary manipulator with kinematic constraints on the joints variables. The outline of this work is as follows: first, a review is presented on modeling techniques for stationary manipulators and mobile robots(Section II). Then, an integrated modeling technique is proposed to obtain the kinematic model of mobile manipulators, transforming the nonholonomic constraints to a mapping between the actuation space and the joint space, using the so called configuration kinematic model (Section III). The resulting kinematic model is applied to obtain a dynamic model of the mobile manipulator (Section IV). Then, a task-space control is developed (Section V.) Finally, the results of numerical simulations for the task-space control are showed assuming a 5-degree of freedom (DOF) differential-traction mobile manipulator (Section VI). II. K INEMATIC MODELING TECHNIQUES FOR STATIONARY AND MOBILE ROBOTS

In wheeled mobile robots, the motion is determined by the kinematic constraints of the wheels. A mechanical system is said to be holonomic if there is a set of k constraints to the motion; these constraints may be expressed as hi (q) = 0, i = 1, . . . , k

(1)

where q(t) ∈ Rn is the generalized-coordinates vector of the mechanical system and hi (q) are scalar functions; such constraints are geometric and they limit where may be the system configuration. A mechanical system is called nonholonomic if its motion is limited by constraints expressed as ai (q, q) ˙ =0 (2) where q(t) ˙ ∈ Rn is the generalized-velocities vector and ai (q, q) ˙ are scalar functions; these constraints limit how the

mechanical system can move, but does not restrict where the system can be. In a stationary manipulator, the kinematic model describes the relationship between the posture motion of the robot and its joints motion. This model is conceptually obtained through the so called forward kinematics; the forward kinematics is usually expressed as

where the matrix Ab (q) ∈ Rnb ×k defines the nonholonomic kinematic constraint

(3)

The problem with the current methods of kinematic modeling of mobile manipulators is that they separate the modeling of the mobile base from the modeling of the manipulator arm. As a second step, the kinematic models of the mobile base and the manipulator are obtained; the kinematic model of the mobile base can be derived from the forward kinematics; on the other hand, the geometric Jacobian could be used in the kinematic model of the mobile manipulator. As a third step, these models are united through the extended Jacobian, which inserts the effects of the nonholonomic constraints in the model. The present Section shows these methods and introduces an integrated kinematic modeling technique for mobile manipulators which uses those tools already in use for manipulator arms, such as the Denavitt–Hartenberg parameters and the geometric Jacobian. As stated before, the forward kinematics of the mobile base and the manipulator arm are determined through different techniques; one way to determine the forward kinematics of a mobile manipulator is to use the homogeneous transformations Tn0 = Tb0 Tnb (11)

rm (t) = fm (qm (t))

where rm (t) ∈ Rpm is the posture variables vector, qm (t) ∈ Rnm is the joints displacement vector of the manipulator, pm is the dimension of the task space of the manipulator and nm is the dimension of qm , usually called degree of freedom (DOF). The kinematic model of a stationary manipulator with full-actuated independent joints is then obtained through the time derivative of (3) r˙m (t) = Jm (qm )q˙m (t)

(4)

where r˙m ∈ Rpm are the posture velocities, q˙m ∈ Rnm are the joint velocities of the manipulator, and the matrix Jm (q) ∈ Rpm ×nm is the so called Jacobian and it is defined as ∂fm (qm ). (5) Jm (qm ) = ∂qm In mobile robots, there are two kinds of kinematic models (Campion et al. 1996). The first one establishes the relation of the posture motion of the final effector and the actuators motion. The posture kinematic model of a wheeled mobile robot with differential traction can be expressed as r˙b (t) = B(qb )ηb

(6)

where ηb (t) ∈ Rnb −k is the vector which contains the velocities of the actuators, qb ∈ Rnb is the configuration of the mobile base, nb and pb are the dimensions of the mobile base configuration and posture, and B(qb ) ∈ Rpb ×(nb −k) is a matrix with its columns are a base of the null space of the nonholonomic constraints; the posture kinematic model is useful in the computation of control laws in the task space; on the other hand, the configuration kinematic model is used to simplify the dynamic model of mobile robot. The second model describes a relation between the motion of the joint displacements and the motion of the actuators, called configuration kinematic model, and it is defined as q˙b = Sb (qb )ηb (7) where Sb (q) ∈ Rnb ×(nb −k) is a matrix with its columns belongs to the null space of the constraint matrix Ab . For example, in a differential-traction mobile robot the configuration kinematic model can be defined as   cos φ 0 Sb (q) =  sin φ 0  . (8) 0 1

It is important to remark that Sb (q) is an annihilator of the kinematic constraints, such that Ab (qb )T Sb (qb ) = 0

(9)

Ab (q)q˙ = 0;

(10)

this fact could be used to simplify the dynamic model. III. K INEMATIC MODELING OF MOBILE MANIPULATORS

where the matrix Tb0 ∈ R4×4 is the homogeneous transformation of the mobile base that goes from a frame {b} fixed on the mobile base to a frame {0} fixed on the surface on which the mobile base moves, and the matrix Tnb ∈ R4×4 is the homogeneous transformation of the manipulator arm that goes from a frame {n} fixed on the last link of the mobile manipulator to the frame {b}. The equation (11) indicates how to combine the forward kinematics of both the mobile base and the manipulator arm but does not state how to calculate the required homogeneous transformations Tb0 and Tnb ; the homogeneous transformation of the mobile manipulator,Tnb , could be calculated through the Denavitt– Hartenberg method; on the other hand, there is not a standard method to find the homogeneous transformation of mobile base, Tb0 , on the reviewed literature. It is important to remark that the kinematic model of a mobile manipulator must take account of the relationship between the actuation variables and the configuration variables; Usually in a manipulator arm, the relation between the joint variables and the actuation variables is the identity, but in a system with nonholonomic constraints this is not the case. After obtaining the kinematic models, they are combined using, for example, the so called extended Jacobian (Luca et al. 2006), which is defined as   r˙ = Jb (qb )Sb (qb ) Jm (qm ) η (12)

then the transformation (6) is applied, thus the following expression is obtained q˙ η˙

= =

S(q)η −M (q)−1 m(q, η) +M (q)−1 S(q)T S(q)τ

(24)

about the values of B(q). First, the equation (31) is rewrote as ξ = −B(q)η˙ + r¨; (33) then, the definitions of r¨ and η˙ are applied to (33)

d d η + r˙ (34) dt dt and finally the expression (19) to the first term on the right ξ = −B(q)

where M (q) m(q, η)

= =

S(q)T D(q)S(q) ˙ S(q)T D(q)S(q)η T +S(q) C(q, S(q)η)S(q)η +S(q)T g(q)

(25)

It is important to remark that the state dimension in (24) is less than in (22). V. ROBUST LYAPUNOV- BASED CONTROL IN TASK SPACE OF A MOBILE MANIPULATOR

The proposed control in this paper is divided in two control loops in cascade. The internal loop control uses an inverse dynamics control. The external control loop is a resolution of acceleration control over the task space. The inverse dynamics compensator is based on the expression (22) to find a suitable τ such that it cancels the dynamics of a nominal system  −1  ˆ (q)a + m(q, τ = S(q)T S(q) M ˆ η) (26)

where a(t) ∈ Rn−k is the acceleration reference for the ˆ and m system, M ˆ are the nominal values of the matrices M and m. Applying (26) to (22) results in the system q˙ η˙

= =

S(q)η a + ǫd

(27)

where ǫd is the uncertainty of the dynamic model and is defined as ǫd = Ea + M −1 m, ˜ (28) E is a matrix defined by ˆ − I, E = M −1 M

(29)

I is the identity matrix and m ˜ is m ˜ = M −1 (m ˆ − m);

(30)

the new system (27) can have any other desired control in an external loop. The relation between the actuators accelerations and taskspace acceleration is given by the time derivative of (7) r¨ = B(q)η˙ + ξ

(31)

where ξ ∈ Rm is defined as

˙ ξ = B(q)η,

(32)

˙ and B(q) is the time derivative of B(q). A problem with ˙ (32) is to obtain explicitly B(q). In the present paper a method is proposed to estimate numerically the value of such expression, which uses only numerical information

d d η+ (B(q)η) . (35) dt dt An estimate of the expression (35) could be founded through Euler approximation of the derivative ξ = −B(q)

1 (36) ξˆ = (B(q(t)) − B(q(t − h)))η(t − h). h where h ∈ R is the sampling period. Then the equation (35) can expressed as ξ = ξˆ + ǫk (37) where ǫk is the approximation error and is in the order of o(h2 ). The resolved acceleration in the actuators is then defined as ˆ a = B(q)† (ax − ξ) (38) where ax ∈ Rn−k and (·)† denotes the pseudo-inverse. For the external control loop, a robust task-space control is used (Spong et al. 2006). Firstly, a measure of the error on task space is proposed r˜, such that r˜(t) = rd (t) − r(t)

(39)

ax = r¨d + k1 r˜˙ + k0 r˜ + δ

(40)

where rd (t) ∈ Rn is the desired posture. The proposed control law is where ax is the resulting acceleration on task space, r˜˙ is the time derivative of the error with respect time, k0 and k1 are some positive scalar constants; one possible definition of δ ∈ Rm is ( GT P e if kGT P ek = 6 0 −ρ(e) kG T P ek (41) δ= 0 if kGT P ek = 0

where ρ is a function of the error over the scalars, defined as  1  2 ρ(e) = γ1 kek + γ2 kek + γ3 , (42) 1−α and α and γi are scalars. The stability of the control is showed in Theorem 1. Theorem 1. The system (24) with the controls in cascade (26), (38) and (40) is stable if δ is defined as (41). Proof : Let be the system (24) with the controls in cascade (26), (38) and (40). From control (38) he following expression can be obtained ax = ξˆ + B(q)a

(43)

and substituting (27) and (37) in (43) the result is ax = ξ + B(q)η˙ − ǫ.

(44)

where ǫ is defined as ǫ = ǫk + B(q)ǫd .

(45)

Applying (44) to (40) the following error dynamic can be obtained ¨r˜ + k1 r˜˙ + k0 r˜ + δ + ǫ = 0. (46) The equation (46) can be expressed as state-space equation e˙ = F e + G(δ + ǫ) where e(t) is the state of the error, defined as   r˜ , e= r˜˙

the matrix F is constant and defined as   0 I F = , −k0 I −k1 I

G is the input matrix

G=



0 I



.

(47)

(48)

(49)

(50)

To test the stability of (47) a candidate Lyapunov function is proposed V = eT P e (51) where P is a positive-definite matrix. The time derivative of (51) is V˙ = eT (F T P + P F )e + 2eT P G(δ + ǫ).

(52)

Since k0 and k1 are chosen such that the matrix F is Hurwitz, it is possible chose a positive-definite matrix Q such that F T P + P F = −Q, (53)

where P is definite-positive matrix, and (52) results in V˙ = −eT Qe + 2eT P G(δ + ǫ).

(54)

A control that can ensure that (54) is negative or zero is (41). VI. N UMERICAL EXPERIMENTS AND RESULTS To test the proposed method, the model of a mobile manipulator was obtained; it is assumed that mobile manipulator is composed by a Pioneer 3DX mobile robot and a Cyton manipulator arm with 7 DOF. The Pioneer 3DX is a differential traction mobile robot and only two joint of the Cyton robot were considered, thus the mobile manipulator is modeled as a 5 DOF system. To obtain the kinematic constraints it is assumed that the mobile manipulator is a unicycle without slipping; also the surface on which the mobile base moves is flat and horizontal. It is also assumed that the manipulator arm is a 2-joint planar robot, and its links are modeled like rods. The model was obtained numerically using the Matlab’s robotics toolbox (Corke 1996). To obtain the forward kinematics, the mobile base is modeled as a 2-joint Cartesian manipulator and a third

TABLE I T HE D ENAVIT–H ARTENBERG PARAMETERS FOR THE 5-DOF MOBILE MANIPULATOR . T HE ANGLES ARE IN RADIANS AND THE DISTANCES IN MILLIMETERS .

i

α

1 2 3 4 5

−π/2 π/2 0 0 0

a [mm] 0 0 0 150 168

θ 0 −π/2 0 0 0

d [mm] 0 0 237 0 0

Kinematic pair prismatic prismatic revolute revolute revolute

revolute joint. From this description the Denavit–Hartenberg parameters can be obtained. Following the assumption that a mobile manipulator could be modeled as a stationary manipulator, the configuration of the mobile manipulator, q(t) ∈ R5 , is defined as:  T q = d 1 d 2 θ3 θ 4 θ 5 (55)

where d1 , d2 are the surface coordinates (x, y) of the mobile base, θ3 = φ is the orientation of the mobile base, and θ4 , θ5 are the joint variables of the manipulator arm. On the other hand, the kinematic constraint of the 5-DOF mobile manipulator is given by the matrix A(q) ∈ R5×1 and it is defined by the expression  T A(q) = sin q3 − cos q3 0 0 0 . (56)

A possible configuration kinematic model that satisfy (56) is the equation q˙ = S(q)η (57) where η ∈ R4 are actuation velocities, defined as:  T η = v q˙3 q˙4 q˙5

(58)

where v(t) is an scalar which describes the lineal velocity of the mobile robot, and configuration kinematic model S(q) ∈ R5×4 is defined by   cos q3 0 0 0  sin q3 0 0 0    1 0 0  S (q) =  (59)  0   0 0 1 0  0 0 0 1

which satisfy the property of being an annihilator for (56). The matrices D(q) and C(q, q) ˙ of the system (22) are obtained through the procedure presented in Spong et al. (2006); the data required to calculate those matrices appear on Table I and Table II. The control described in the Section V was applied to a numerical model of the mobile manipulator. The reference is a circular trajectory in task space (Figure 2). It is remarked that the motion is counterclockwise and the initial movements of the robot are in the other direction. The tracking error converges exponentially to zero and it is stable in the time frame of the simulation (Figure 3).

TABLE II L INK DATA FROM THE MOBILE MANIPULATOR .

0.15 x axis y axis

0.1

Length [mm] 445 150 168

3 4 5

Wide [mm] 393 50 50

Height [mm] 237 50 50

Mass [kg] 9.0 0.1 0.1

0.05 0 −0.05 Error [m]

i

−0.1 −0.15

1.5 −0.2

Reference path Mobile manipuator path

−0.25

1 −0.3 −0.35

0.5

0

50

100

150

200

250

y axis [m]

Time [s]

0

Fig. 3. Posture error graph for the mobile manipulator under the control. −0.5

−1

−1.5 −1.5

Fig. 2.

−1

−0.5

0 x axis [m]

0.5

1

1.5

The reference path and the motion of the robot.

VII. C ONCLUSIONS This paper shows a systematic approach to modeling mobile manipulators that transforms the problem to the modeling of a stationary manipulator stationary with nonholonomic kinematic constraints on the joints; when compared with previous methods, this approach allows to use the same tools as the stationary manipulator and it only requires extending some of the tools in order to handle the kinematic constraints. It is also presented a task-space control that consist in an internal compensator of the dynamics of the mobile manipulator and an external PD control with feed-forward of the posture acceleration and an estimate of the derivative of the posture kinematic model. Finally, a numerical experiment is presented using the proposed control and the results are analyzed. In future work, it will develop a robust priority control in the task space for a mobile manipulator. Also, it will be developed a robot-aided manipulation system to test these controls. ACKNOWLEDGEMENTS The authors appreciate the support of Mexican Government (SNI, SIP-IPN, COFAA-IPN, PIFI-IPN and CONACYT). R EFERENCIAS Andaluz, Victor, Flavio Roberti y Ricardo Carelli (2010). Adaptive control with redundancy resolution of mobile manipulators. En: IECON 2010 - 36th Annual Conference on IEEE Industrial Electronics Society. Glendale, AZ, USA. pp. 1436–1441.

Campion, G., G. Bastin y B. d’Andrea-Novel (1996). Structural properties and classification of kinematic and dynamic models of wheeled mobile robots. IEEE Transactions on Robotics and Automation 12(1), 47–62. Corke, P.I. (1996). A robotics toolbox for MATLAB. IEEE Robotics & Automation Magazine 3(1), 24–32. Khatib, O (1999). Mobile manipulation: The robotic assistant. Robotics and Autonomous Systems 26(2-3), 175–183. Korayem, M. H., V. Azimirad, A. Nikoobin y Z. Boroujeni (2010). Maximum load-carrying capacity of autonomous mobile manipulator in an environment with obstacle considering tip over stability. The International Journal of Advanced Manufacturing Technology 46(58), 811–829. Luca, A. De, G. Oriolo y P.R. Giordano (2006). Kinematic modeling and redundancy resolution for nonholonomic mobile manipulators. En: Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006.. Orlando, FL, USA. pp. 1867–1873. Spong, Mark, Seth Hutchinson y M. Vidyasagar (2006). Robot modeling and control. John Wiley & Sons. Hoboken NJ. Wang, Ying, Haoxiang Lang y Clarence W. de Silva (2008). Visual servo control and parameter calibration for mobile multi-robot cooperative assembly tasks. En: 2008 IEEE International Conference on Automation and Logistics. Qingdao, China. pp. 635–639. Yu, L.B., Q.X. Cao y X.W. Xu (2008). An approach of manipulator control for service-robot FISR-1 based on motion imitating. En: 2008 IEEE International Conference on Industrial Technology. Chengdu, China. pp. 1–5.

RISCE Revista Internacional de Sistemas Computacionales y Electrónicos Número 3, Volumen 3, Año 3. Mayo 2011 Artículos con arbitraje

!

27

RISCE Revista Internacional de Sistemas Computacionales y Electrónicos Número 3, Volumen 3, Año 3. Mayo 2011 Artículos con arbitraje

!

28

RISCE Revista Internacional de Sistemas Computacionales y Electrónicos Número 3, Volumen 3, Año 3. Mayo 2011 Artículos con arbitraje

!

29

RISCE Revista Internacional de Sistemas Computacionales y Electrónicos Número 3, Volumen 3, Año 3. Mayo 2011 Artículos con arbitraje

!

30

RISCE Revista Internacional de Sistemas Computacionales y Electrónicos Número 3, Volumen 3, Año 3. Mayo 2011 Artículos con arbitraje

!

31

RISCE Revista Internacional de Sistemas Computacionales y Electrónicos Número 3, Volumen 3, Año 3. Mayo 2011 Artículos con arbitraje

!

32

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.