You are on page 1of 160

cenidet

Centro Nacional de Investigación y Desarrollo Tecnológico


Coordinación de mecatrónica

TESIS DE MAESTRÍA EN CIENCIAS

Controladores de Robots Rígidos: Un Análisis Comparativo entre las


Metodologías de Control Clásico, Adaptable y Robusto Basadas en el
Método de Lyapunov

presentada por

Josue Román Martínez Mireles


Ing. en Electrónica por el I. T. de San Luis Potosí

como requisito para la obtención del grado de:


Maestro en Ciencias en Ingeniería Mecatrónica

Director de tesis:
Dr. Gerardo Vicente Guerrero Ramírez

Co-Director de tesis:
Dr. Luis Gerardo Vela Valdés

Jurado:
Dr. Marco Antonio Oliver Salazar – Presidente
Dr. Carlos Daniel García Beltrán – Secretario
M.C. José Luis González Rubio Sandoval – Vocal
Dr. Gerardo Vicente Guerrero Ramírez – Vocal Suplente

Cuernavaca, Morelos, México. 18 de diciembre de 2006


Dedicatoria

Con amor a mis padres María Magdalena y Román


por infundar en mi la dedicación, constancia,
responsabilidad y el deseo de superación además de
brindarme su apoyo y su cariño en todos los
momentos de mi vida.

Con mucho cariño a mi hermano Luis Daniel, sabes


que siempre contarás conmigo. Te quiero mucho
rana.

A todos aquellos de los que me he alejado para


continuar mi formación.

Y con todo mi amor, a la mujer de mi vida Jazmin.


Le diste un nuevo sentido a mi vida, le doy gracias a
dios por haberte encontrado. Te amo, y recuerda:
Solo unas palabras…
Agradecimientos

A Jesús por estar ahí siempre que he necesitado de ti.

De una manera muy especial, a mis asesores el Dr. Gerardo


Vicente Guerrero Ramírez y el Dr. Luis Gerardo Vela Valdés por
haber compartido sus conocimientos y su amistad desinteresada.

A mis revisores, el Dr. Marco Antonio Oliver Salazar, el Dr.


Carlos Daniel García Beltrán y el MC. José Luis González Rubio
Sandoval, por sus correcciones que ayudaron a mejorar éste
proyecto de investigación.

A mis compañeros del CENIDET, pero sobre todo a Miguel,


Fernando, Rafael y Ángel, quienes fueron mi familia en
Cuernavaca.

A todos aquellos quienes, a pesar de estar lejos, me brindaban su


cariño y su amistad.

Al Centro Nacional de Investigación y Desarrollo Tecnológico


por brindar sus instalaciones y el apoyo institucional para el
desarrollo del presente proyecto de investigación.

Al Consejo del Sistema Nacional de Educación Tecnológica y a


la Dirección General de Educación Superior Tecnológica por el
apoyo económico otorgado para el desarrollo de este trabajo.
Resumen
Un robot manipulador industrial es una máquina manipuladora con varios
grados de libertad controlada automáticamente, reprogramable y de múltiples usos. Son
comúnmente empleados en tareas repetitivas y de precisión, así como en actividades
peligrosas para operadores humanos.

Las principales ventajas argumentadas para el uso de robots manipuladores en la


industria son la reducción de los costos de producción, el incremento de la precisión, la
calidad y la productividad, y una mayor flexibilidad comparada con la de las máquinas
especializadas.

Para realizar las actividades, el robot manipulador requiere de un sistema de


control que tenga el propósito de mantener un movimiento preestablecido del
manipulador a lo largo de una trayectoria deseada, la cual está sujeta a ciertos patrones
de posición, velocidad y aceleración, considerando las limitaciones físicas de los
dispositivos actuadores.

Es así como el objetivo del control en los robots manipuladores es maximizar la


precisión, la repetibilidad y la velocidad de ejecución simultáneamente en la medida de
lo posible, ya que pueden ser contradictorios entre sí. Se debe establecer un
compromiso según las necesidades prácticas de cada aplicación.

Las exigencias de la industria actual requieren que el robot manipulador cuente


con técnicas de control más avanzadas para cumplir con las necesidades de la industria.
Esas distintas técnicas requieren conocer las características que se presentan en la
operación del robot para que al implementarlas se tengan mejores resultados.

Con un análisis de la operación de robot rígido de tres grados de libertad con


articulaciones rotacionales al ser controlado por metodologías de control del tipo
clásico, robusto y adaptable, se establece una comparativa del desempeño que
presentan dichas técnicas.

Para realizar el análisis, primero se obtienen los modelos cinemáticos directo e


inverso del robot manipulador. Después, se obtiene el modelo dinámico por medio de la
metodología de Euler-Lagrange. Como un complemento al análisis del comportamiento
del robot manipulador se desarrolla el modelo dinámico del mismo con la metodología
de Hamilton.

El diseño de los controladores se realiza por medio de las metodologías de


diseño y rediseño de Lyapunov, incluyendo el análisis del acotamiento de las señales de
error y posición del robot manipulador.

El análisis comparativo se lleva a cabo por medio de simulación donde se


realizan cambios en las trayectorias a seguir, cambios en el nivel de incertidumbre,
cambios en la ubicación de la incertidumbre, cambios en el peso de la carga.
Abstract
An industrial manipulator robot is a manipulating machine with several degrees
of freedom, automatically controlled, reprogrammable for multiple uses. Commonly
they are used in repetitive tasks and precision tasks, as well as in dangerous activities
for human operators.

The main advantages for use of manipulator robots in the industry are the
reduction of the production costs, the increase of the precision, the quality and
productivity, and a greater flexibility than specialized machines.

In order to make the activities, the manipulator robot requires a control system
that has the intention to maintain a pre-established movement of the manipulator
throughout a wished trajectory, which is subject to certain patterns of position, speed
and acceleration, considering the physical limitations of the devices actuators.

It is as well as the objective of the control in manipulator robots is to maximize


the precision, the repeatability and the speed of execution simultaneously as far as
possible, since they can be contradictory. A commitment is due to establish according
to the practical necessities of each application.

The exigencies of the present industry require that the manipulator robot counts
with advanced control techniques in order to fulfill the necessities of the industry.
Those different techniques require to know the present characteristics in the robot
operation so that when are implemented those present better result.

With an analysis of the operation of rigid robot of three degrees of freedom with
rotational joints to be controlled by methodologies of robust control, adaptive control
and the classic control. A comparative of the performance that presents these
methodologies is established.

In order to make the analysis, first the kinematic direct and inverse models of
the manipulator robot are obtained. Later, the dynamic model by means of the
methodology of Euler-Lagrange is obtained. As a complement to the analysis of the
behavior of the manipulator robot is developed the dynamic model with the
methodology of Hamilton.

The controllers design is made trough the design and redesign methodologies of
Lyapunov, including the analysis of the bounds of error and position signals in the
manipulator robot.

The comparative analysis is made by means of simulation where changes are


made in the tracking trajectories, changes in the uncertainty level, changes in the
location of the uncertainty and changes in the load weight.
Controladores de robots rígidos: un análisis comparativo

Contenido
Contenido ................................................................................................................................ i
Lista de Figuras ..................................................................................................................... iv
Lista de Tablas....................................................................................................................... vi
Nomenclatura......................................................................................................................... vi
Abreviaturas y Acrónimos..................................................................................................... ix

Capítulo 1. Introducción ...................................................................................................... 1


1.1. Antecedentes................................................................................................................ 1
1.2. Planteamiento del problema ........................................................................................ 2
1.3. Justificación ................................................................................................................. 3
1.4. Objetivos...................................................................................................................... 3
1.4.1. Objetivo general ................................................................................................... 3
1.4.2. Objetivos particulares ........................................................................................... 3
1.5. Estado del arte ............................................................................................................. 3
1.6. Método de solución ..................................................................................................... 4
1.7. Metodología................................................................................................................. 4
1.8. Alcances ...................................................................................................................... 5
1.9. Estructura del documento. ........................................................................................... 5

Capítulo 2. Modelado Cinemático....................................................................................... 7


2.1. Introducción................................................................................................................. 7
2.2. Modelado cinemático directo. ..................................................................................... 8
2.2.1. Matrices de transformación homogénea............................................................... 8
2.2.2 Modelado cinemático directo del robot SCORBOT ER-V + .............................. 10
2.1.3. Modelado cinemático directo del robot PUMA ................................................. 11
2.3. Modelado Cinemático Inverso. ................................................................................. 13
2.3.1. Modelado cinemático inverso del robot SCORBOT ER-V+ ............................. 13
2.3.2. Modelado cinemático inverso del robot PUMA................................................. 15

Capítulo 3. Modelado Dinámico........................................................................................ 19


3.1. Modelado Dinámico con las ecuaciones de Euler-Lagrange..................................... 19
3.2. Modelado dinámico de robots manipuladores........................................................... 20
3.2.1. Modelado dinámico del robot SCORBOT ER-V+ usando la formulación de
Euler-Lagrange ............................................................................................................. 20
3.2.2. Modelado dinámico del robot PUMA usando la formulación de Euler-Lagrange
...................................................................................................................................... 27
3.3. Validación del modelo dinámico de cada Robot ....................................................... 35
3.3.1. Validación del modelo del robot SCORBOT ER-V+ ........................................ 35
3.3.1. Validación del modelo del robot PUMA............................................................ 35
3.5. Propiedades del modelo dinámico de un robot manipulador de n gdl....................... 36
3.5.1. Linealidad en los parámetros dinámicos ............................................................ 36
( )
3.5.2. Matriz de inercia M q .................................................................................. 37

-i-
Contenido

3.5.3. Matriz centrífuga y de Coriolis C ( q, q ) .......................................................... 38


3.5.4. Vector de gravedad g ( q ) ................................................................................ 39
3.5.5. Dinámica Residual ( ) ............................................................................. 39
h q, q
3.6. Modelado Dinámico por medio de la formulación de Hamilton............................... 40
3.6.1. Modelado dinámico por la metodología de Hamilton ........................................ 41
3.6.2. Comparación del modelo dinámico del robot SCORBOT ER-V+ obtenido por la
metodología de Hamilton con el modelo dinámico obtenido por medio de la
metodología de Euler-Lagrange. .................................................................................. 43

Capítulo 4. Control de Movimiento .................................................................................. 45


4.1. Introducción............................................................................................................... 45
4.2. Fundamentos Matemáticos de la teoría de Lyapunov. .............................................. 46
4.2.1. Conceptos Básicos.............................................................................................. 46
4.2.1.1. Punto de Equilibrio.......................................................................................... 46
4.2.1.2. Estabilidad en el sentido de Lyapunov ............................................................ 46
4.2.1.3. Estabilidad asintótica global............................................................................ 47
4.2.1.4. Estabilidad exponencial global........................................................................ 47
4.2.2. Método directo de Lyapunov.............................................................................. 47
Definición 4.1. Función candidata de Lyapunov ......................................................... 47
Definición 4.2 Función de Lyapunov ........................................................................... 47
Teorema 4.1 Estabilidad .............................................................................................. 47
Teorema 4.2 Estabilidad asintótica global .................................................................. 47
Teorema 4.3 LaSalle..................................................................................................... 48
4.3. Diseño de los controladores de movimiento ............................................................. 48
4.3.1. Controlador PID. ................................................................................................ 49
4.3.2. Controlador PD por dinámica Inversa................................................................ 52
4.3.3. Controlador Robusto. ......................................................................................... 53
4.3.4. Controlador adaptable. ....................................................................................... 56

Capítulo 5. Control de seguimiento de trayectoria.......................................................... 59


5.1. Error combinado de seguimiento............................................................................... 59
5.2. Diseño de los controladores de seguimiento de trayectoria ...................................... 60
5.2.1. Controlador PD más compensación ................................................................... 60
5.2.2. Controlador Robusto. ......................................................................................... 61
5.2.3. Controlador adaptable ........................................................................................ 63
5.2.4. Controlador PID de seguimiento ....................................................................... 64

Capítulo 6. Sintonización de los controladores ................................................................ 69


6.1. Introducción............................................................................................................... 69
6.2. Fundamentos de optimización ................................................................................... 70
6.2.1. Definición del problema de optimización .......................................................... 70
6.2.2. Definición del mínimo de una función ............................................................... 71
6.3. Algoritmos Genéticos ................................................................................................ 71
6.3.1. Componentes básicos de un algoritmo genético. ............................................... 72

- ii -
Controladores de robots rígidos: un análisis comparativo

6.3.2. Operadores básicos ............................................................................................. 73


6.3.3. Parámetros de los operadores. Influencia en el proceso de optimización. ......... 74
6.3.4. Optimización multiobjetivo con algoritmos genéticos....................................... 74
6.4. Índices de desempeño................................................................................................ 74
6.5. Sintonización de los controladores ............................................................................ 75
6.5. Resultados de la sintonización................................................................................... 77
6.5.1. Constantes para el robot SCORBOT ER-V+ ..................................................... 77
6.5.2. Constantes para el robot PUMA......................................................................... 77

Capítulo 7. Pruebas y resultados....................................................................................... 79


7.1. Descripción de las pruebas ........................................................................................ 79
7.1.1. Primer conjunto de pruebas ................................................................................ 79
7.1.2. Segundo conjunto de pruebas ............................................................................. 80
7.2. Resultados de las pruebas .......................................................................................... 80
7.2.1. Resultados para el robot SCORBOT ER-V+ ..................................................... 80
7.2. Análisis de los controladores..................................................................................... 96

Capítulo 8. Conclusiones y comentarios........................................................................... 97


8.1. Aportaciones.............................................................................................................. 97
8.2. Conclusiones.............................................................................................................. 98
8.3. Trabajos a futuro...................................................................................................... 101

Bibliografía........................................................................................................................ 103

Apéndice A. Características de los robots manipuladores .......................................... 105


A.1. Robot SCORBOT ER-V+ ...................................................................................... 105
A.2. Robot PUMA .......................................................................................................... 107

Apéndice B. Algoritmo de Denavit-Hartenberg ............................................................ 109

Apéndice C. Señales de referencia .................................................................................. 111


C.1. Señal Escalón .......................................................................................................... 111
C.2. Señal Senoidal......................................................................................................... 113
C.3. Señal Polinomial ..................................................................................................... 114
C.4. Señal Compuesta..................................................................................................... 116
C.5. Señal LSPB ............................................................................................................. 118

Apéndice D. Resultados de las pruebas del robot PUMA............................................. 121


D.1. Resultados del primer conjunto de pruebas. ........................................................... 121
D.2. Resultados del segundo conjunto de pruebas. ........................................................ 134

Apéndice E. Uso de los modelos de simulación.............................................................. 139


E.1. Modelo de simulación de la cinemática del robot manipulador ............................. 139
E.1.1. Simulación de la cinemática directa................................................................. 140
E.1.2. Simulación de la cinemática inversa ................................................................ 141
E.2. Modelo de simulación de la dinámica del robot manipulador ................................ 141

- iii -
Contenido

Lista de Figuras
Figura 2.1. Resultado de la aplicación de las operaciones de la matriz de transformación
homogénea.............................................................................................................................. 9
Figura 2.2. Esquema de bloques cinemáticos del robot SCORBOT ER-V+ ....................... 10
Figura 2.3. Esquema de bloques cinemáticos del robot PUMA........................................... 12
Figura 2.3. Vista superior del robot SCORBOT ER-V+...................................................... 14
Figura 2.4. Vista lateral del robot SCORBOT ER-V+ ......................................................... 14
Figura 2.5. Vista superior del robot PUMA en configuración brazo derecho...................... 15
Figura 2.6. Vista superior del robot PUMA en configuración brazo izquierdo ................... 15
Figura 2.7. Vista lateral del robot PUMA en la configuración de brazo derecho ................ 16
Figura 2.8. Vista lateral del robot PUMA en la configuración de brazo izquierdo.............. 17
Figura 3.1. Esquema del movimiento del robot manipulador SCORBOT ER-V+ .............. 21
Figura 3.2. Esquema del movimiento del robot manipulador PUMA.................................. 27
Figura 7.1. Coordenada articular presentada por los controladores en la prueba 1.............. 81
Figura 7.2. Velocidad articular presentada por los controladores en la prueba 1................. 82
Figura 7.3. Par articular presentado por los controladores en la prueba 1 ........................... 82
Figura 7.4. Error de posición presentado por los controladores en la prueba 1 ................... 83
Figura 7.5. Error de velocidad presentado por los controladores en la prueba 1 ................. 83
Figura 7.6. Coordenada articular presentada por los controladores en la prueba 2.............. 84
Figura 7.7. Velocidad articular presentada por los controladores en la prueba 2................. 85
Figura 7.8. Par articular presentado por los controladores en la prueba 2 ........................... 85
Figura 7.9. Error de posición presentado por los controladores en la prueba 2 ................... 86
Figura 7.10. Error de velocidad presentado por los controladores en la prueba 2 ............... 86
Figura 7.11. Coordenada articular presentada por los controladores en la prueba 3............ 87
Figura 7.12. Velocidad articular presentada por los controladores en la prueba 3............... 88
Figura 7.13. Par articular presentado por los controladores en la prueba 3 ......................... 88
Figura 7.14. Error de posición presentado por los controladores en la prueba 3 ................. 89
Figura 7.15. Error de velocidad presentado por los controladores en la prueba 3 ............... 89
Figura 7.16. Coordenada articular presentada por los controladores en la prueba 4............ 90
Figura 7.17. Velocidad articular presentada por los controladores en la prueba 4............... 91
Figura 7.18. Par articular presentado por los controladores en la prueba 4 ......................... 91
Figura 7.19. Error de posición presentado por los controladores en la prueba 4 ................. 92
Figura 7.20. Error de velocidad presentado por los controladores en la prueba 4 ............... 92
Figura 7.21. Relación de cambio en los valores de los índices de desempeño presentados
por los controladores en la prueba A .................................................................................... 93
Figura 7.22. Relación de cambio en los valores de los índices de desempeño presentados
por los controladores en la prueba B .................................................................................... 94
Figura 7.23. Relación de cambio en los valores de los índices de desempeño presentados
por los controladores en la prueba C .................................................................................... 95
Figura 7.23. Relación de cambio en los valores de los índices de desempeño presentados
por los controladores en la prueba D .................................................................................... 96
Figura A.1. Robot SCORBOT ER-V + [Abdala 2003]...................................................... 106
Figura A.2. Espacio de trabajo del robot manipulador SCORBOT ER-V + [Abdala 2003]
............................................................................................................................................ 107
Figura A.3. Robot PUMA[Jiménez 2005].......................................................................... 108

- iv -
Controladores de robots rígidos: un análisis comparativo

Figura A.4. Espacio de trabajo del robot manipulador PUMA [Jiménez 2005] ................ 108
Figura B.1.- Parámetros de Denavit-Hartenberg para una articulación rotatoria [Barrientos
1999]................................................................................................................................... 110
Figura C.1.- Posición articular a seguir de la señal escalón ............................................... 112
Figura C.2.- Velocidad articular a seguir de la señal escalón............................................. 112
Figura C.3.- Aceleración articular a seguir de la señal escalón.......................................... 113
Figura C.4.- Posición articular a seguir de la señal senoidal.............................................. 113
Figura C.5.- Velocidad articular a seguir de la señal senoidal ........................................... 114
Figura C.6.- Aceleración articular a seguir de la señal senoidal ........................................ 114
Figura C.7.- Posición articular a seguir de la señal polinomial.......................................... 115
Figura C.8.- Velocidad articular a seguir de la señal polinomial ....................................... 115
Figura C.9.- Aceleración articular a seguir de la señal polinomial .................................... 116
Figura C.13.- Posición articular a seguir de la señal compuesta ........................................ 117
Figura C.14.- Velocidad articular a seguir de la señal compuesta ..................................... 118
Figura C.15.- Aceleración articular a seguir de la señal compuesta................................... 118
Figura C.16.- Posición articular a seguir de la señal LSPB................................................ 119
Figura C.17.- Velocidad articular a seguir de la señal LSPB ............................................. 120
Figura C.18.- Aceleración articular a seguir de la señal LSPB .......................................... 120
Figura D.1. Coordenada articular presentada por los controladores en la prueba 1........... 122
Figura D.2. Velocidad articular presentada por los controladores en la prueba 1.............. 123
Figura D.3. Par articular presentado por los controladores en la prueba 1......................... 123
Figura D.4. Error de posición presentado por los controladores en la prueba 1 ................ 124
Figura D.5. Error de velocidad presentado por los controladores en la prueba 1 .............. 124
Figura D.6. Coordenada articular presentada por los controladores en la prueba 2........... 125
Figura D.7. Velocidad articular presentada por los controladores en la prueba 2.............. 126
Figura D.8. Par articular presentado por los controladores en la prueba 2......................... 126
Figura D.9. Error de posición presentado por los controladores en la prueba 2 ................ 127
Figura D.10. Error de velocidad presentado por los controladores en la prueba 2 ............ 127
Figura D.11. Coordenada articular presentada por los controladores en la prueba 3......... 128
Figura D.12. Velocidad articular presentada por los controladores en la prueba 3............ 129
Figura D.13. Par articular presentado por los controladores en la prueba 3....................... 129
Figura D.14. Error de posición presentado por los controladores en la prueba 3 .............. 130
Figura D.15. Error de velocidad presentado por los controladores en la prueba 3 ............ 130
Figura D.16. Coordenada articular presentada por los controladores en la prueba 4......... 131
Figura D.17. Velocidad articular presentada por los controladores en la prueba 4............ 132
Figura D.18. Par articular presentado por los controladores en la prueba 4....................... 132
Figura D.19. Error de posición presentado por los controladores en la prueba 4 .............. 133
Figura D.20. Error de velocidad presentado por los controladores en la prueba 4 ............ 133
Figura D.21. Relación de cambio en los valores de los índices de desempeño presentados
por los controladores en la prueba A .................................................................................. 134
Figura D.22. Relación de cambio en los valores de los índices de desempeño presentados
por los controladores en la prueba B .................................................................................. 135
Figura D.23. Relación de cambio en los valores de los índices de desempeño presentados
por los controladores en la prueba C .................................................................................. 136
Figura D.24. Relación de cambio en los valores de los índices de desempeño presentados
por los controladores en la prueba D .................................................................................. 137
Figura E.1.- Menú principal del modelo de simulación de la cinemática .......................... 139

-v-
Contenido

Figura E.2.- Menús de selección del robot manipulador.................................................... 140


Figura E.3.- Modelo de simulación de la cinemática directa del robot SCORBOT ER-V+
............................................................................................................................................ 140
Figura E.4.- Ventana de introducción de parámetros para la simulación de la cinemática
directa del robot SCORBOT ER-V+.................................................................................. 140
Figura E.5.- Modelo de simulación de la cinemática inversa del robot SCORBOT ER-V+
............................................................................................................................................ 141
Figura E.6.- Modelo de simulación de la dinámica del robot SCORBOT ER-V+ ............ 142
Figura E.7.- Ventana de introducción de parámetros para la simulación de la dinámica del
robot SCORBOT ER-V+.................................................................................................... 142

Lista de Tablas
Tabla 2.1. Parámetros DH del robot SCORBOT ER-V+ ..................................................... 10
Tabla 2.2. Parámetros DH del robot PUMA “Gorgorito” .................................................... 12
Tabla 7.1. Índices de desempeño presentados por cada controlador en la prueba 1 ............ 80
Tabla 7.2. Índices de desempeño presentados por cada controlador en la prueba 2 ............ 84
Tabla 7.3. Índices de desempeño presentados por cada controlador la prueba 3 ................. 87
Tabla 7.4. Índices de desempeño presentados por cada controlador en la prueba 4 ............ 90
Tabla D.1. Índices de desempeño presentados por cada controlador en la prueba 1 ......... 122
Tabla D.2. Índices de desempeño presentados por cada controlador en la prueba 2 ......... 125
Tabla D.3 Índices de desempeño presentados por cada controlador la prueba 3 ............... 128
Tabla D.4. Índices de desempeño presentados por cada controlador en la prueba 4 ......... 131

Nomenclatura
Símbolos del modelado
θi I-ésima coordenada articular.
zi I-ésimo eje coordenado z.
di Desplazamiento entre los ejes z adyacentes al i-ésimo eslabón.
ai Desplazamiento entre los ejes x adyacentes al i-ésimo eslabón.
αi Giro alrededor del eje x para que coincidan los ejes zi −1 y zi .
R ( eje, θ ) Operador de rotación de un ángulo θ alrededor del eje cartesiano.
T ( x, y , z ) Operador de traslación de las distancias x,y,z en cada uno de los ejes
cartesianos.
i −1
Ai Matriz de transformación del i-ésimo eslabón.
T Matriz de transformación de la cadena cinemática.
n Vector normal para completar el sistema de ejes coordenados del efector
final.
o Vector de orientación del efector final.
a Vector de acercamiento del efector final.
p Vector de posición del efector final.
px Coordenada en el eje x de la posición del efector final.

- vi -
Controladores de robots rígidos: un análisis comparativo

py Coordenada en el eje y de la posición del efector final.


pz Coordenada en el eje x de la posición del efector final.
li Longitud del i-ésimo eslabón
α Ángulo auxiliar en la obtención del modelo cinemático inverso.
β Ángulo auxiliar en la obtención del modelo cinemático inverso.
γ Ángulo auxiliar en la obtención del modelo cinemático inverso.
ϕ Ángulo auxiliar en la obtención del modelo cinemático inverso.
r Proyección sobre el plano x-y de la posición del efector final.
s Diagonal de la posición del efector final.
q Coordenada generalizada.
K i ( q, q ) Energía cinética del i-ésimo esabón.
K ( q, q ) Energía cinética total de la cadena cinemática.
Ui ( q ) Energía potencial del i-ésimo eslabón.
U (q) Energía potencial total de la cadena cinemática.
L ( q, q ) Lagrangiano del robot manipulador.
Fi ( q ) Función de disipación del i-ésimo eslabón.
F (q) Función de disipación total de la cadena cinemática.
τi Par articular de la i-ésima articulación.
mi Masa del i-ésimo eslabón.
m Masa del elemento de análisis.
qd Posición articular deseada.
qd Velocidad articular deseada.
qd Aceleración articular deseada.
p Momento generalizado.
pi i-ésimo momento generalizado.
K ( p) Energía cinética total, expresada en función del momento generalizado.
U ( p) Energía potencial total, expresada en función del momento generalizado.
H ( q, p ) Hamiltoniano del sistema.

Símbolos del diseño de controladores


ui I-ésima señal de control.
V ( x) Función candidata a Lyapunov
V ( x) Derivada de la función candidata a Lyapunov.
q Error de posición articular.
q Error de velocidad articular.
q Error de aceleración articular.

- vii -
Contenido

Kp Matriz de ganancias de la acción proporcional.


Kv Matriz de ganancias de la acción derivativa.
Ki Matriz de ganancias de la acción integral.
τ Vector de pares articulares.
τˆ Vector de compensadores para la técnica de control por dinámica inversa.
M0 (q) Matriz de inercias con valores nominales.
C0 ( q, q ) Matriz de fuerzas centrífugas y de coriolis con valores nominales.
g0 ( q ) Vector de pares gravitacionales con valores nominales.
C ( q, q ) Error en el valor de las matrices de fuerzas centrífugas y de coriolis.
g (q) Error en el valor del par gravitacional.
η ( q, q, a ) Incertidumbre en los parámetros.
ρ ( x, t ) Cota máxima de la incertidumbre en los parámetros.
M̂ ( q ) Matriz de inercias con valores estimados.
Cˆ ( q, q ) Matriz de fuerzas centrífugas y de coriolis con valores estimados.
ĝ ( q ) Vector de pares gravitacionales con valores estimados.
M (q) Error en el valor de las matrices de inercias.
Y ( q, q, q ) Regresor lineal del sistema.
θ Vector de parámetros seleccionados para la representación dinámica con
regresor.
θˆ Vector de parámetros estimados.
s Error combinado de seguimiento.
Λ Matriz de ganancias de ponderación del error de posición.
Ks Matriz de ganancias proporcionales.
θ0 Vector de parámetros nominales.
Γ Matriz de ganancias de control de la actualización de parámetros.
(
w t , q, q, ∫ q ) Vector de perturbación externa.

Símbolos de los resultados


PD p Leyenda que distingue la línea del control PD por dinámica inversa.
Rp Leyenda que distingue la línea del control robusto de posición.
Ap Leyenda que distingue la línea del control adaptable de posición.
PID p Leyenda que distingue la línea del control PID de posición.
PDs Leyenda que distingue la línea del control PD de seguimiento de trayectoria.
Rs Leyenda que distingue la línea del control robusto de seguimiento de
trayectoria.

- viii -
Controladores de robots rígidos: un análisis comparativo

As Leyenda que distingue la línea del control adaptable de seguimiento de


trayectoria.
PIDs Leyenda que distingue la línea del control PID de seguimiento de
trayectoria.

Abreviaturas y Acrónimos
CE Índice del esfuerzo de control
CENIDET Centro Nacional de Investación y Desarrollo Tecnológico
FIR Federación Internacional de Robótica
gdl Grados de libertad
ISE Índice de la integral del error cuadrático
IAE Índice de la integral del valor absoluto del error
ITAE Índice de la integral del valor absoluto del error ponderado en el tiempo
LSPB Linear Segments with Parabolic Blends
ONU Organización de las Naciones Unidas
PD Proporcional-Derivativo
PID Proporcional-Integral-Derivativo
PUMA Programable Universal Manipulator for Assembly

- ix -
Contenido

Hoja en Blanco

-x-
Controladores de robots rígidos: un análisis comparativo

Capítulo 1

Introducción
En éste primer capítulo se presentan los antecedentes del proyecto de investigación,
los objetivos y la justificación del proyecto.

Enseguida, se presenta la revisión del estado del arte, para mostrar después, el
método de desarrollo del proyecto, así como la metodología que se siguió. En la parte final
del capítulo se encuentra una descripción de la estructura de este documento.

1.1. Antecedentes
Un robot manipulador industrial es una máquina manipuladora con varios grados de
libertad controlada automáticamente, reprogramable y de múltiples usos, puede estar en un
lugar fijo o móvil para su empleo en aplicaciones industriales (es muy común considerar
que los robots manipuladores están fijos a una estructura, si no lo están se consideran
robots móviles). En estas aplicaciones, los robots manipuladores son comúnmente
empleados en tareas repetitivas y de precisión, así como en actividades peligrosas para
operadores humanos.

Las principales ventajas argumentadas para el uso de robots manipuladores en la


industria son la reducción de los costos de producción, el incremento de la precisión, la

-1-
Capítulo 1. Introducción

calidad y la productividad, y una mayor flexibilidad comparada con la de las máquinas


especializadas. Las proyecciones realizadas a corto plazo mantienen a la aplicación de
ensamble como la principal actividad consumidora de robots manipuladores.

De acuerdo con datos publicados conjuntamente por la Organización de las


Naciones Unidas (ONU) y la Federación Internacional de Robótica (FIR) [UNECE 2005],
el total de robots manipuladores industriales en operaciones en el mundo en 2005 superó
las 857 000 unidades. La evolución por año desde el año 1996 hasta el año 2005 se
muestra en la Figura 2.1. De esta información se aprecia un crecimiento promedio de 3.5%
en la población de robots manipuladores industriales en operaciones de aproximadamente
unas 20 000 unidades anuales durante los últimos años.
Robots Manipuladores Industriales

1996 645.129
684.961
1998 703.912
723.612
Año

2000 749.742
756.498
2002 770.105
800.772
2004 847.764

0 200 400 600 800 1000


Miles de Unidades

Figura 2.1: Parque de robots industriales operativos en el mundo de 1996 a 2005 [UNECE 2005]

1.2. Planteamiento del problema


El propósito de un sistema de control de robots es mantener un movimiento
preestablecido del manipulador a lo largo de una trayectoria deseada, la cual está sujeta a
ciertos patrones de posición, velocidad y aceleración, considerando las limitaciones físicas
de los dispositivos actuadores.

Es así como el objetivo del control en los robots manipuladores es maximizar


simultáneamente la precisión, la repetibilidad y la velocidad de ejecución en la medida de
lo posible, ya que pueden ser contradictorios entre sí. Se debe establecer un compromiso
según las necesidades prácticas de cada aplicación.

A lo largo del tiempo, la ingeniería de control ha desarrollado diferentes técnicas


para implementar el control, las cuales, al implementarlas en un sistema físico, presentan
ventajas y desventajas propias, con lo que para una aplicación puede ser buena una
metodología y en otra no.

Con base en lo anterior, se requiere realizar un análisis para determinar ¿cuáles


son las ventajas y desventajas que existen al aplicar diferentes metodologías de control a
un robot manipulador?

-2-
Controladores de robots rígidos: un análisis comparativo

1.3. Justificación
Debido a las exigencias de calidad y rapidez en los sistemas de producción, se está
introduciendo una gran variedad de avances tecnológicos en las plantas industriales.

En la actualidad se ha generalizado el uso de los robots manipuladores en muchas


aplicaciones que requieren movimientos repetitivos sencillos. Pero es en la industria
automotriz, que fue pionera en el uso de robots, donde más se utilizan. Los tipos principales
de aplicación son: soldadura de puntos, pintura “spray”, manipulación de partes de
carrocería, chasis y motor.

Como se conoce, las capacidades de un robot manipulador están determinadas por la


precisión del movimiento, la capacidad de carga, el grado de manipulación del elemento
final, los sensores, el número de grados de libertad (gdl) y la sofisticación y confiabilidad
del controlador.

Las exigencias de la industria actual requieren que el robot manipulador cuente con
técnicas de control más avanzadas para cumplir con las necesidades de la industria. Esas
distintas técnicas requieren conocer las características de la operación del robot para que al
implementarlas se tengan mejores resultados.

1.4. Objetivos

1.4.1. Objetivo general


Analizar las características de los controladores adaptables y robusto dentro las
funciones de control inteligente, por medio de un análisis de la operación de un robot
rígido controlado por tres tipos de controladores: tipo PID, adaptable y robusto.

1.4.2. Objetivos particulares


• Obtener un modelo matemático que represente fidedignamente al robot rígido de
3 gdl con articulaciones rotacionales.
• Desarrollar controladores para el robot rígido de 3 gdl de los tipos PID,
adaptable y robusto.
• Crear un modelo de simulación con el cual evaluar el desempeño de los
controladores PID, adaptable y robusto.
• Realizar un análisis conciso que entregue los resultados del comportamiento de
la operación de los tres tipos de controladores.

1.5. Estado del arte


El desarrollo de los controladores para robots manipuladores, ha tenido la siguiente
evolución: primero surgieron los controladores tradicionales (PD, PID), su desarrollo se
puede observar en [Arimoto 1981] y en [Kelly 2003]. Después aparecieron los
controladores del tipo adaptable, en [Ortega 1989] y en [Slotine1988] se pueden revisar sus
principales características. Finalmente, aparecieron los controladores del tipo robusto,
como se documenta en [Sotirov 1992], [Slotine 1985] y [Lu 1989].

Entre los estudios sobre el desempeño de los controladores, en el artículo de [Yao

-3-
Capítulo 1. Introducción

1994] reporta cómo se obtienen diseños de controladores del tipo robusto y adaptable, por
medio de simulaciones se realiza una comparación de su desempeño. A partir del análisis
determina que los controladores del tipo adaptable presentan un mejor seguimiento de
trayectoria que los controladores de tipo robusto.

En [Loizidis 1995] se realiza la comparativa entre un controlador de modos


deslizantes y un controlador PD, los resultados obtenidos muestran que el controlador de
modos deslizantes presenta un mejor desempeño que el controlador PD.

En [Erlic 1991] se realiza la comparación de controladores del tipo PD, adaptable y


robusto, llegando al resultado de que el controlador del tipo adaptable presenta un mejor
desempeño, sin embargo, el diseño de los controladores se realiza sobre modelos diferentes
del robot, se utiliza una sola trayectoria.

Como se puede observar en los tres trabajos anteriores, es en [Erlic 1991] es donde
se realiza la comparativa más completa, sin embargo solamente se presenta el seguimiento
de una trayectoria. En los otros dos, solamente se prueban dos de los tres tipos principales
de controlador.

1.6. Método de solución


Por medio de un análisis de la operación de un robot rígido de tres grados de
libertad con articulaciones rotacionales al ser controlado por metodologías de control del
tipo clásico, robusto y adaptable, se establece una comparativa del desempeño que
presentan dichas técnicas.

El análisis comparativo se lleva a cabo en el seguimiento de diferentes trayectorias,


cambios en el nivel de incertidumbre en el valor de los parámetros, en la ubicación de la
incertidumbre (en el valor de las masas o inercias), cambios en el peso de la carga. Para el
análisis se utilizan índices de desempeño normalizados, como lo son:

• Índice de la integral del error cuadrático (ISE).


• Índice de la integral del valor absoluto del error (IAE).
• Índice de la integral del valor absoluto del error ponderado en el tiempo (ITAE).
• Índice del esfuerzo de control (CE).

1.7. Metodología
La metodología de trabajo con la cual se desarrolló el presente proyecto de
investigación es la siguiente:

1. Modelado matemático del robot a estudiar.


2. Análisis de la operación en lazo abierto.
3. Diseño de los controladores.
4. Simulación del sistema controlado.
5. Análisis de la operación de lazo cerrado.
6. Comparación de resultados.
7. Observaciones y conclusiones.

-4-
Controladores de robots rígidos: un análisis comparativo

1.8. Alcances
Los alcances de este proyecto de investigación, fueron:

• Obtención del modelo matemático del robot rígido de 3 gdl que se va a


estudiar con el método de modelado energético de Euler-Lagrange.
• Obtención de los controladores a partir de las técnicas de control
anteriormente referidas.
• Creación de programas en Matlab para simulación.

1.9. Estructura del documento.


En este primer capítulo se muestran los antecedentes del proyecto de investigación,
los objetivos, justificación. Además, se presenta la metodología que se sigue para el
desarrollo del presente proyecto de investigación.

En los capítulos dos y tres, se muestra respectivamente el desarrollo de los modelos


cinemático y dinámico. Estos modelos matemáticos, se usan para describir el
comportamiento espacial y dinámico que presenta el robot manipulador.

En el capítulo cuatro, se revisan los fundamentos de la teoría de estabilidad de


Lyapunov, que forma la base para el desarrollo de los controladores del presente proyecto.
Además, se muestra el diseño de los controladores de movimiento.

En el capítulo cinco, se encuentra el diseño de los controladores de seguimiento de


trayectoria, estos controladores tienen el objetivo de seguir una posición y una velocidad
deseadas.

Dentro del capítulo seis, se presenta el procedimiento que se sigue para la


sintonización de los controladores, en primer lugar se revisan los fundamentos de los
algoritmos genéticos y después se muestra como se realizó la sintonización de los
controladores.

Los dos conjuntos de pruebas realizados y los resultados que se obtuvieon se


muestran en detalle en el capítulo siete. En el capítulo ocho se ven los comentarios y
conclusiones finales del presente proyecto de investigación.

La información complementaria, se encuentra integrada en el conjunto de apéndices,


los cuales están ubicados en las últimas páginas del presente documento.

-5-
Capítulo 1. Introducción

Hoja en Blanco

-6-
Controladores de robots rígidos: un análisis comparativo

Capítulo 2

Modelado Cinemático
En el presente capítulo se presenta el concepto de cinemática y los principales
problemas que busca resolver.

En primer lugar se revisan las diferentes metodologías que se han desarrollado para
resolver el problema cinemático directo y poder obtener el modelo cinemático directo de un
robot manipulador.

Después se aborda la resolución del problema cinemático inverso y así obtener el


modelo cinemático inverso de los robots manipuladores que son el objeto de estudio del
presente documento de investigación.

En la última sección se muestran los modelos de simulación de la cinemática directa


e inversa, además se presentan los resultados de la validación de los modelos cinemáticos
obtenidos en el presente capítulo.

2.1. Introducción
La cinemática estudia el movimiento del robot con respecto a un sistema de
referencia seleccionado. El estudio que realiza la cinemática se interesa por la descripción
analítica del movimiento espacial del robot, y en particular las relaciones existentes entre la

-7-
Capítulo 2. Modelado Cinemático

posición y orientación del extremo final y los valores que toman sus coordenadas
articulares.

La cinemática busca resolver dos problemas fundamentales:


1. El problema cinemático directo: que busca conocer la posición y orientación
del extremo final del robot conociendo los valores de las coordenadas
articulares y los parámetros estructurales del robot.
2. El problema cinemático inverso: el cual consiste en la búsqueda de los
valores que deben de tomar las coordenadas articulares, conociendo los
parámetros estructurales del robot, para alcanzar una posición y orientación
deseadas del extremo final del robot manipulador.

2.2. Modelado cinemático directo.


Para obtener el modelo cinemático se cuenta con diferentes métodos, como lo son:
• Método geométrico: con este método se buscan tantas relaciones como sean
necesarias con las cuales se pueda obtener las ubicación y la orientación del
efector final.
• Matrices de transformación homogéneas: por medio de matrices se representan
las rotaciones y desplazamientos que existen a lo largo de la cadena cinemática
completa.
• Método de cuaterniones: en este método las rotaciones y desplazamientos
existentes en la cadena cinemática son representados por los cuaterniones.
• Método de ángulos de Euler: se usa la herramienta matemática de los ángulos de
Euler, lo cuales permiten realizar la conversión de coordenadas de un sistema de
referencia a otro, en éste método las rotaciones y desplazamientos existentes en
la cadena cinemática son representados por medio de los ángulos de Euler.

Se abordará el método de las matrices de transformación homogénea debido a las


siguientes razones:

1. Representa un método sistemático para obtener el modelo cinemático directo de


cualquier robot manipulador.
2. Desde un punto de vista computacional es fácil de implementar, sin embargo se
sacrifica el costo computacional que representa las multiplicaciones de matrices.
3. A partir de un mismo desarrollo es posible determinar la posición y orientación
del efector final.

2.2.1. Matrices de transformación homogénea.


Las matrices de transformación homogénea son una herramienta para representar las
rotaciones y desplazamientos que existen entre los sistemas de referencia adyacentes a un
eslabón del robot manipulador [Barrientos 1999].

Para la aplicación de este método es necesario obtener los parámetros de Denavit-


Hartenberg para cada uno de los eslabones del robot manipulador y en el apéndice B se
puede encontrar el método de obtención de estos parámetros. Las operaciones que se

-8-
Controladores de robots rígidos: un análisis comparativo

enlistan a continuación son aplicadas al sistema de referencia inicial del eslabón y son las
operaciones que componen a una matriz de transformación homogénea:

1. Rotación de un ángulo θi , alrededor del eje zi −1 .


2. Traslación de una distancia di , a lo largo del eje zi −1 .
3. Traslación de una distancia ai , a lo largo del eje xi .
4. Rotación de un ángulo α i , alrededor del eje xi .

Figura 2.1. Resultado de la aplicación de las operaciones de la matriz de transformación homogénea.

Como el producto de matrices no es conmutativo las operaciones deben de ser


aplicadas en el orden que se indica en la parte superior, de modo que se tiene:
i −1
Ai = R ( z , θ i ) T ( 0, 0, di ) T ( ai , 0, 0 ) R ( x, α i ) (2.2.1)

Desarrollando cada una de las operaciones de la matriz (2.2.1), la matriz de


transformación homogénea es:
⎡Cosθ i −Cosα i Senθi Senα i Senθ i ai Cosθ i ⎤
⎢ Senθ Cosα i Cosθ i − Senα i Cosθ i ai Senθ i ⎥⎥
i −1
Ai = ⎢ i
(2.2.2)
⎢ 0 Senα i Cosα i di ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦

Para obtener la matriz de transformación general a lo largo de todo el robot


manipulador se requiere multiplicar la matriz de cada eslabón en forma sucesiva:
T = 0 A1 1 A2 .... n −1 An (2.2.3)

La definición de la matriz (2.2.3) es:


⎡n o a p ⎤
T =⎢ ⎥ (2.2.4)
⎣0 0 0 1⎦

Donde los vectores n,o,a,p ∈ 3 , o es el vector de orientación del efector final, a


es el vector de dirección de acercamiento del efector final, n es el vector que completa el
sistema tridimensional junto con los vectores o y a , p es el vector de la posición del
efector final. El número 1 es un factor de escalamiento que en aplicaciones de robótica que
incluyen aplicaciones de visión puede tomar otro valor.

-9-
Capítulo 2. Modelado Cinemático

2.2.2 Modelado cinemático directo del robot SCORBOT ER-V +


En el apéndice A, se puede encontrar las características de éste robot. Siguiendo el
algoritmo de Denavit-Hartenberg (DH) (ver Apéndice B), se pueden obtener los parámetros
del robot manipulador SCORBOT ER-V+. El esquema de bloques que muestra los sistemas
de referencia adyacentes a cada eslabón se puede ver en la figura 2.2.

Figura 2.2. Esquema de bloques cinemáticos del robot SCORBOT ER-V+

Los valores de los parámetros DH del robot SCORBOT ER-V+ se muestran a


continuación:
Tabla 2.1. Parámetros DH del robot SCORBOT ER-V+
Eslabón θ i di ai αi
1 θ1 l1 (0.364 m) 0 90°
2 θ2 0 l2 (0.22 m) 0
3 θ3 0 l3 (0.22 m) 0

Con los parámetros de la tabla anterior, se obtienen las matrices de transformación


para cada eslabón:
⎡C1 0 S1 0 ⎤
⎢ S 0 −C 0 ⎥
• Eslabón 1. 0
A1 = ⎢ 1 1 ⎥ (2.2.5)
⎢ 0 1 0 l1 ⎥
⎢ ⎥
⎣ 0 0 0 1⎦
⎡C2 − S 2 0 l2 C2 ⎤
⎢S C2 0 l2 S 2 ⎥⎥
• Eslabón 2. 1
A2 = ⎢ 2 (2.2.6)
⎢0 0 1 0 ⎥
⎢ ⎥
⎣0 0 0 1 ⎦
⎡C3 − S3 0 l3C3 ⎤
⎢S C3 0 l3 S3 ⎥⎥
• Eslabón 3. 2
A3 = ⎢ 3 (2.2.7)
⎢0 0 1 0 ⎥
⎢ ⎥
⎣0 0 0 1 ⎦

- 10 -
Controladores de robots rígidos: un análisis comparativo

Donde Ci = Cosθi y Si = Senθi .

Con las matrices (2.2.5), (2.2.6) y (2.2.7), se puede obtener la matriz de


transformación total del robot manipulador por medio de la ecuación (2.2.3):
T = 0 A1 1 A2 2 A3 (2.2.8)

Substituyendo las matrices de los eslabones del manipulador SCORBOT ER-V+ en


la ecuación anterior se tiene:
⎡C1 0 S1 0 ⎤ ⎡C2 − S2 0 l2 C2 ⎤ ⎡C3 − S3 0 l3C3 ⎤
⎢ S 0 −C 0 ⎥ ⎢ S C2 0 l2 S2 ⎥⎥ ⎢⎢ S3 C3 0 l3 S3 ⎥⎥
T =⎢ 1 1 ⎥⎢ 2 (2.2.9)
⎢ 0 1 0 l1 ⎥ ⎢ 0 0 1 0 ⎥⎢ 0 0 1 0 ⎥
⎢ ⎥⎢ ⎥⎢ ⎥
⎣ 0 0 0 1⎦ ⎣ 0 0 0 1 ⎦⎣ 0 0 0 1 ⎦

Desarrollando:
⎡C1C2 −C1 S2 S1 l2 C1C2 ⎤ ⎡C3 − S3 0 l3C3 ⎤
⎢S C − S1 S2 −C1 l2 S1C2 ⎥⎥ ⎢⎢ S3 C3 0 l3 S3 ⎥⎥
T =⎢ 1 2 (2.2.10)
⎢ S2 C2 0 l2 S2 + l1 ⎥ ⎢ 0 0 1 0 ⎥
⎢ ⎥⎢ ⎥
⎣ 0 0 0 1 ⎦⎣ 0 0 0 1 ⎦
⎡C1C2 C3 − C1 S2 S3 −C1C2 S3 − C1 S2 C3 S1 l3C1C2 C3 − l3C1 S 2 S3 + l2 C1C2 ⎤
⎢S C C −S S S − S1C2 S3 − S1 S 2 C3 −C1 l3 S1C2 C3 − l3 S1 S2 S3 + l2 S1C2 ⎥⎥
T =⎢ 1 2 3 1 2 3 (2.2.11)
⎢ S 2 C3 + C2 S3 − S 2 S3 + C2 C3 0 l3 S 2 C3 + l3C2 S3 + l2 S 2 + l1 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦

Comparando la matriz (2.2.11), con la matriz (2.2.4), se observa que las


coordenadas del efector final estarán dadas por:
px = l3C1C2 C3 − l3C1 S2 S3 + l2 C1C2 (2.2.12)
p y = l3 S1C2 C3 − l3 S1 S 2 S3 + l2 S1C2 (2.2.13)
pz = l3 S 2 C3 + l3C2 S3 + l2 S 2 + l1 (2.2.14)
Donde las ecuaciones anteriores, forman el modelo cinemático directo del robot
manipulador SCORBOT ER-V+.

2.1.3. Modelado cinemático directo del robot PUMA


Como primer paso, se sigue el algoritmo DH partiendo del esquema de la figura 2.3,
con el cual se obtienen los parámetros del robot manipulador PUMA. La tabla 2.2 muestra
el conjunto de parámetros del robot PUMA.

- 11 -
Capítulo 2. Modelado Cinemático

Figura 2.3. Esquema de bloques cinemáticos del robot PUMA

Tabla 2.2. Parámetros DH del robot PUMA “Gorgorito”


Eslabón θ i di ai αi
1 θ1 l1 (0.33 m) 0 90°
2 θ2 d 2 (0.10 m) l2 (0.15 m) 0
3 θ3 d3 (0.06 m) l3 (0.15 m) 0

Con los parámetros de la tabla 2.2, se obtienen las matrices de transformación para
cada eslabón:
⎡C1 0 S1 0⎤
⎢ S 0 −C 0 ⎥⎥
• Eslabón 1. 0 A1 = ⎢ 1 1
(2.2.15)
⎢0 1 0 h⎥
⎢ ⎥
⎣0 0 0 1⎦
⎡ C2 − S2 0 a2 C2 ⎤
⎢S C2 0 a2 S2 ⎥⎥
• Eslabón 2. 1 A2 = ⎢ 2 (2.2.16)
⎢0 0 1 d2 ⎥
⎢ ⎥
⎣0 0 0 1 ⎦
⎡C3 − S3 0 a3C3 ⎤
⎢S C3 0 a3 S3 ⎥⎥
• Eslabón 3. 2 A3 = ⎢ 3 (2.2.17)
⎢0 0 1 d3 ⎥
⎢ ⎥
⎣0 0 0 1 ⎦

Donde Ci = Cosθi y Si = Senθi . Substituyendo las matrices de los eslabones del


manipulador PUMA en la ecuación (2.2.8), se obtiene:
⎡C1 0 S1 0 ⎤ ⎡C2 − S2 0 l2 C2 ⎤ ⎡C3 − S3 0 l3C3 ⎤
⎢ S 0 −C 0 ⎥ ⎢ S C2 0 l2 S2 ⎥⎥ ⎢⎢ S3 C3 0 l3 S3 ⎥⎥
T =⎢ 1 1 ⎥⎢ 2 (2.2.18)
⎢ 0 1 0 l1 ⎥ ⎢ 0 0 1 d2 ⎥ ⎢ 0 0 1 d3 ⎥
⎢ ⎥⎢ ⎥⎢ ⎥
⎣ 0 0 0 1⎦ ⎣ 0 0 0 1 ⎦⎣ 0 0 0 1 ⎦

- 12 -
Controladores de robots rígidos: un análisis comparativo

Desarrollando:
⎡C1C2 −C1 S 2 S1 l2 C1C2 + S1d 2 ⎤ ⎡C3 − S3 0 l3C3 ⎤
⎢S C − S1 S2 −C1 l2 S1C2 − C1d 2 ⎥⎥ ⎢⎢ S3 C3 0 l3 S3 ⎥⎥
T =⎢ 1 2 (2.2.19)
⎢ S2 C2 0 l2 S 2 + h ⎥ ⎢ 0 0 1 d3 ⎥
⎢ ⎥⎢ ⎥
⎣ 0 0 0 1 ⎦⎣ 0 0 0 1 ⎦
⎡C1C2 C3 − C1 S 2 S3 −C1C2 S3 − C1 S2 C3 S1 l3C1C2 C3 − l3C1 S2 S3 + l2 C1C2 + S1d3 + S1d 2 ⎤
⎢S C C −S S S − S1C2 S3 − S1 S 2 C3 −C1 l3 S1C2 C3 − l3 S1 S2 S3 + l2 S1C2 − C1d3 − C1d 2 ⎥⎥
T =⎢ 1 2 3 1 2 3 (2.2.20)
⎢ S 2 C3 + C2 S3 − S2 S3 + C2 C3 0 l3 S 2 C3 + l3C2 S3 + l2 S 2 + l1 ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
Donde las coordenadas del efector final estarán dadas por:
px = l3C1C2 C3 − l3C1 S 2 S3 + l2 C1C2 + S1d3 + S1d 2 (2.2.21)
p y = l3 S1C2 C3 − l3 S1 S2 S3 + l2 S1C2 − C1d3 − C1d 2 (2.2.22)
pz = −l3 S2 C3 − l3C2 S3 + l2 S2 + l1 (2.2.23)

Donde las ecuaciones anteriores forman el modelo cinemático directo del robot
manipulador PUMA.

2.3. Modelado Cinemático Inverso.


El problema cinemático inverso consiste en obtener los valores de las coordenadas
articulares para llegar a un punto determinado, para ello existen diferentes métodos, entre
los cuales se encuentran:

• Método geométrico: por medio de la geometría, se deben de buscar tantas


relaciones como sean necesarias para definir los valores de las coordenadas
articulares a partir de la ubicación deseada del efector final.
• Método de las matrices de transformación inversa: a partir de las matrices de
transformación de toda la cadena cinemática y de cada uno de los eslabones del
robot manipulador se obtienen relaciones que definan los valores de las
coordenadas articulares a partir de la ubicación deseada del efector final.
• Método de desacoplo cinemático: consiste en separar el problema de la posición
y de la orientación del efector final y después resolver el problema cinemático
inverso con alguno de los dos métodos anteriores.

Se seleccionó el método geométrico debido a la facilidad de aplicación cuando se


trabaja con el problema de la posición del efector final. A continuación se obtienen los
modelos cinemáticos inversos de los robots manipuladores SCORBOT ER-V+ y PUMA.

2.3.1. Modelado cinemático inverso del robot SCORBOT ER-V+


Para aplicar el método geométrico, se presenta el siguiente esquema, el cual es la
vista superior del manipulador, donde se relaciona la primera coordenada articular con el
punto de destino.

- 13 -
Capítulo 2. Modelado Cinemático

Figura 2.3. Vista superior del robot SCORBOT ER-V+

De la figura 2.3, se pueden obtener fácilmente la siguiente relación:


⎛ Py ⎞
θ1 = arctg ⎜ ⎟ (2.3.1)
⎝ Px ⎠
A continuación se muestra un esquema de la vista lateral del robot SCORBOT ER-
V+, de donde se obtendrán las ecuaciones que determinan los valores de las otras dos
coordenadas articulares.

Figura 2.4. Vista lateral del robot SCORBOT ER-V+


De la figura 2.4, por ley de cosenos: r 2 + ( Pz − l1 )2 = l22 + l32 − 2l2l3cosθ3 (2.3.2)
r 2 + ( Pz − l1 ) − l22 − l32
2

Despejando cosθ3 , se tiene: cosθ3 = − (2.3.3)


2l2 l3
Por identidad trigonométrica sen 2θ3 + cos 2θ3 = 1 (2.3.4)
Despejando senθ3 : senθ3 = ± 1 − cos 2θ3 (2.3.5)
Dividiendo ambos lados de la ecuación (2.3.5) por cosθ3 :
± 1 − cos 2θ3
tgθ 3 = (2.3.6)
cosθ 3
De la ecuación anterior, fácilmente se llega a:
⎛ ± 1 − cos 2θ ⎞
θ 3 = arctg ⎜ 3
⎟ (2.3.7)
⎜ cosθ 3 ⎟
⎝ ⎠
r 2 + ( Pz − l1 ) − l22 − l32
2

Donde, como ya se definió previamente cosθ3 = − .


2l2 l3
Regresando a la figura 2, se ve que: θ 2 = β − α (2.3.8)
⎛ ⎞
⎛ Pz ⎞ ⎜ Pz ⎟
β = arctg ⎜ ⎟ = arctg (2.3.9)
⎝ r ⎠ ⎜ P + P2
2 ⎟
⎝ x y ⎠
⎛ P2 + P2 + P − l 2 + l 2 − l 2 ⎞
( z 1) 2 3
α = arccos ⎜ ⎟
x y
⎜⎜ ⎟⎟
(2.3.10)
⎝ 2l2 Px + Py + ( Pz − l1 )
2 2 2

- 14 -
Controladores de robots rígidos: un análisis comparativo

Sustituyendo las ecuaciones (2.3.9) y (2.3.10) en la ecuación (2.3.8), se obtiene:


⎛ ⎞ ⎛ P2 + P2 + P − l 2 + l 2 − l 2 ⎞
Pz ⎟ − arccos ⎜ x ( z 1) 2 3 ⎟
θ 2 = arctg ⎜
y
⎜⎜ ⎟⎟
(2.3.11)
⎜ P2 + P2 ⎟
⎝ 2l2 Px + Py + ( Pz − l1 )
2 2 2
⎝ x y ⎠ ⎠

Las ecuaciones (2.3.1), (2.3.11) y (2.3.7) forman el modelo cinemático inverso del
robot manipulador SCORBOT ER-V+

2.3.2. Modelado cinemático inverso del robot PUMA


Como primer paso se obtienen los esquemas superior y lateral del robot
manipulador, para aplicar el método geométrico para obtener el modelo cinemático inverso.

El esquema para el robot PUMA, en la configuración de brazo derecho es:

Figura 2.5. Vista superior del robot PUMA en configuración brazo derecho

De la figura 2.5, se tiene que:


r 2 = Px2 + Py2 (2.3.12)
θ1 = ϕ + γ (2.3.13)
⎛ Py ⎞
ϕ = arctg ⎜ ⎟ (2.3.14)
⎝ Px ⎠
⎛ ⎞ d ⎛ d ⎞
γ = arctg ⎜⎜ ⎟ = arctg ⎜ ⎟ (2.3.15)
2 ⎟ ⎜ ⎟
⎝ r −d ⎠ ⎝ Px + Py − d
2 2 2 2

Sustituyendo las ecuaciones (2.3.14) y (2.3.15) en la ecuación (2.3.13) se obtiene:
⎛ Py ⎞ ⎛ d ⎞
θ1i = arctg ⎜ ⎟ + arctg ⎜ ⎟ (2.3.16)
⎜ ⎟
⎝ Px ⎠ ⎝ Px + Py − d
2 2 2

Para la configuración de brazo izquierdo el esquema superior para el robot PUMA


es:

Figura 2.6. Vista superior del robot PUMA en configuración brazo izquierdo

- 15 -
Capítulo 2. Modelado Cinemático

De la figura 2.6, se observa que:


r 2 = Px2 + Py2 (2.3.17)
θ1 − 180° = ϕ − γ (2.3.18)
⎛ Py ⎞
ϕ = arctg ⎜ ⎟ (2.3.19)
⎝ Px ⎠
⎛ ⎞
d ⎛ d ⎞
γ = arctg ⎜⎜ ⎟ = arctg ⎜ ⎟ (2.3.20)
2 ⎟ ⎜ P + P2 − d 2 ⎟
⎝ r −d ⎠
2 2
⎝ x y ⎠

Sustituyendo las ecuaciones (2.3.19) y (2.3.20) en la ecuación (2.3.18) se obtiene:


⎛ Py ⎞ ⎛ d ⎞
θ1d = 180 + arctg ⎜ ⎟ − arctg ⎜ ⎟ (2.3.21)
⎜ ⎟
⎝ Px ⎠ ⎝ Px + Py − d
2 2 2

El esquema de la vista lateral del robot PUMA, de donde se obtendrán las


ecuaciones que determinan los valores de las otras dos coordenadas articulares en la
configuración de brazo derecho se muestra a continuación:

Figura 2.7. Vista lateral del robot PUMA en la configuración de brazo derecho

De la figura 2.7, por ley de cosenos: r 2 + s 2 = l22 + l32 − 2l2l3cosθ3 (2.3.22)


r + s −l −l
2 2 2 2
Despejando cosθ3 , se tiene: cosθ3 = − 2 3
(2.3.23)
2l2 l3
r 2 + ( Pz − l1 ) − l22 − l32
2

Sustituyendo s, cosθ3 = − (2.3.24)


2l2 l3
Por identidad trigonométrica sen 2θ3 + cos 2θ3 = 1 (2.3.25)
Despejando senθ3 : senθ3 = ± 1 − cos θ3 2
(2.3.26)
Dividiendo ambos lados de la ecuación (2.3.5) por cosθ3 :
± 1 − cos 2θ3
tgθ 3 = (2.3.27)
cosθ 3
⎛ ± 1 − cos 2θ ⎞
De la ecuación anterior, fácilmente se llega a: θ3 = arctg ⎜ 3
⎟ (2.3.28)
⎜ cosθ 3 ⎟
⎝ ⎠
r 2 + ( Pz − l1 ) − l22 − l32
2

Donde, como ya se definió previamente: cosθ3 = − .


2l2 l3

- 16 -
Controladores de robots rígidos: un análisis comparativo

Regresando a la figura 2.5, se ve que: θ 2 = β − α (2.3.29)


⎛ Pz − d1⎞
β = arctg ⎜ ⎟ (2.3.30)
⎜ P2 + P2 − d 2 ⎟
⎝ x y ⎠
⎛ P2 + P2 + P − l 2 + l 2 − l 2 ⎞
( z 1) 2 3
α = arccos ⎜ ⎟
x y
⎜⎜ ⎟⎟
(2.3.31)
⎝ 2l2 Px + Py + ( Pz − l1 )
2 2 2

Sustituyendo las ecuaciones (2.3.30) y (2.3.31) en la ecuación(2.3.29), se obtiene:


⎛ ⎞ ⎛ P 2 + P 2 + ( P − l )2 + l 2 − l 2 ⎞
Pz − d1⎟ − arccos ⎜ x ⎟
θ 2 = arctg ⎜
y z 1 2 3

⎜⎜ ⎟⎟
(2.3.32)
⎜ P2 + P2 − d 2 ⎟
⎝ 2l2 Px + Py + ( Pz − l1 )
2 2 2
⎝ x y ⎠ ⎠

Para la configuración de brazo izquierdo, el esquema de la vista lateral del robot


PUMA se modifica a la figura 2.6, de donde se obtienen las coordenadas articulares 2 y 3
para la configuración brazo izquierdo:

Figura 2.8. Vista lateral del robot PUMA en la configuración de brazo izquierdo

De la figura 2.8, por ley de cosenos: r 2 + s 2 = l22 + l32 + 2l2l3cosθ3 (2.3.33)


r + s −l −l
2 2 2 2
Despejando cosθ3 , se tiene: cosθ3 = 2 3
(2.3.34)
2l2 l3
r 2 + ( Pz − l1 ) − l22 − l32
2

Sustituyendo s, cosθ3 = − (2.3.35)


2l2 l3
Por identidad trigonométrica sen 2θ3 + cos 2θ3 = 1 (2.3.36)
Despejando senθ3 : senθ3 = ± 1 − cos θ3 2
(2.3.37)
Dividiendo ambos lados de la ecuación (2.3.37) por cosθ3 :
± 1 − cos 2θ3
tgθ 3 = (2.3.38)
cosθ 3
⎛ ± 1 − cos 2θ ⎞
De la ecuación anterior, fácilmente se llega a: θ3 = arctg ⎜ 3
⎟ (2.3.39)
⎜ cosθ 3 ⎟
⎝ ⎠
r 2 + ( Pz − l1 ) − l22 − l32
2

Donde, como ya se definió previamente: cosθ3 = − .


2l2 l3

- 17 -
Capítulo 2. Modelado Cinemático

La diferencia del cálculo de θ3 radica en que, para la configuración brazo derecho-


codo arriba tiene el signo negativo para el resultado de la raíz cuadrada y la configuración
brazo derecho-codo abajo tiene el signo positivo para el resultado de la raíz cuadrada.

Regresando a la figura 2.8, se ve que: θ 2 = 180° − ( β − α ) (2.3.40)


⎛ Pz − l1 ⎞
β = arctg ⎜ ⎟ (2.3.41)
⎜ P2 + P2 − d 2 ⎟
⎝ x y ⎠
⎛ P2 + P2 + P − l 2 + l 2 − l 2 ⎞
( z 1) 2 3
α = arccos ⎜ x y ⎟ (2.3.42)
⎜⎜ ⎟⎟
⎝ 2l2 Px + Py + ( Pz − l1 )
2 2 2

Sustituyendo las ecuaciones (2.3.41) y (2.3.42) en la ecuación (2.3.40), se obtiene:


⎛ ⎞ ⎛ P2 + P2 + P − l 2 + l 2 − l 2 ⎞
Pz − l1 ⎟ + arccos ⎜ x ( z 1) 2 3 ⎟
θ 2 = 180° − arctg ⎜ y
(2.3.43)
⎜ ⎟ ⎜ ⎟⎟
⎝ 2l2 Px + Py + ( Pz − l1 )
⎝ Px + Py − d
2 2 2
⎠ ⎜ 2 2 2

Para la configuración codo arriba, solamente se debe de cambiar el signo del último
término de la ecuación anterior. Las ecuaciones (2.3.16), (2.3.32), (2.3.28), (2.3.21),
(2.3.39) y (2.3.43) forman el modelo cinemático inverso del robot manipulador PUMA,
para las 4 configuraciones brazo derecho-codo abajo, brazo derecho-codo arriba, brazo
izquierdo-codo abajo y brazo izquierdo-codo arriba.

- 18 -
Controladores de robots rígidos: un análisis comparativo

Capítulo 3

Modelado Dinámico
A lo largo de este capítulo se revisan las herramientas para el modelado dinámico de
un robot manipulador. La primera parte se centra en el modelado dinámico por medio de la
formulación Euler-Lagrange. En la segunda parte se obtiene el modelo dinámico de los
robots manipuladores por medio de la formulación de Hamilton. Al final del capítulo por
medio de comparación se validan los modelos dinámicos obtenidos.

3.1. Modelado Dinámico con las ecuaciones de Euler-Lagrange.


Para obtener el modelo dinámico de un sistema usando la formulación de Euler-
Lagrange, se requiere seguir los siguientes pasos:

1. Se obtiene la energía cinética total del sistema:


K ( q, q ) = K1 ( q, q ) + K 2 ( q, q ) + + K i ( q, q ) (3.1.1)

2. Se desarrolla la energía potencial total del sistema:


U ( q ) = U1 ( q ) + U 2 ( q ) + + Ui ( q ) (3.1.2)

3. Se obtiene el Lagrangiano del sistema, el cual está definido por:

- 19 -
Capítulo 3. Modelado Dinámico

L ( q, q ) = K ( q, q ) − U ( q ) (3.1.3)

4. Se desarrolla la ecuación de disipación, la cual debe de incluir un término de


disipación para cada coordenada articular:
F = F1 ( q1 ) + F2 ( q2 ) + + Fi ( qi ) (3.1.4)

5. Se desarrolla la ecuación de movimiento de Euler-Lagrange.


d ⎛ ∂L ⎞ ∂L ∂F
⎜ ⎟− + = τi i = 1, 2,… , n (3.1.5)
dt ⎝ ∂qi ⎠ ∂qi ∂qi

Las n ecuaciones dinámicas obtenidas representan el modelo dinámico del sistema


[Kelly 2003].

3.2. Modelado dinámico de robots manipuladores.


Para obtener el modelo dinámico de un robot manipulador por medio de las
ecuaciones de Euler-Lagrange es necesario seguir los pasos enunciados en la sección
anterior.

1. La ecuación de la energía cinética para un eslabón del robot:


1 1
K i ( q, q ) = mi v 2 + I i q 2 (3.2.1)
2 2

En la ecuación anterior el primer elemento corresponde a la energía cinética


traslacional y el segundo elemento está definido por la energía cinética rotacional.

• La ecuación de la energía potencial para cada eslabón es la siguiente:


U i ( q ) = mi ghi (3.2.2)

3.2.1. Modelado dinámico del robot SCORBOT ER-V+ usando la formulación


de Euler-Lagrange
Como preparación previa para obtener las ecuaciones de la energía cinética y
energía potencial se presenta la figura 3.1, donde se muestran las relaciones de los
movimientos y las coordenadas articulares.

Se van a obtener las ecuaciones de las energías cinéticas y potenciales para cada uno
de los eslabones del robot manipulador:

Eslabón 1:
1
• Energía Cinética. K1 = I1θ12 (3.2.3)
2
• Energía Potencial. U1 = m1 gh (3.2.4)

- 20 -
Controladores de robots rígidos: un análisis comparativo

θ3

θ2

θ1

Figura 3.1. Esquema del movimiento del robot manipulador SCORBOT ER-V+

Eslabón 2:
• Energía Cinética. K2 =
1
2
1
(
m2 v2 2 + I 2 θ12 + θ 2 2
2
) (3.2.5)
Se requiere obtener la expresión de la velocidad, para ello se sabe que:
v2 2 = x22 + y22 + z22 (3.2.6)
x2 = lc 2 cos θ 2 cos θ1 (3.2.7)
y2 = lc 2 cos θ 2 sen θ1 (3.2.8)
z2 = h + lc 2 sen θ 2 (3.2.9)

Derivando con respecto al tiempo cada una de las coordenadas anteriores:


x2 = −lc 2 sen θ 2 cos θ1θ 2 − lc 2 cos θ 2 sen θ1θ1 (3.2.10)
y2 = −lc 2 sen θ 2 sen θ1θ 2 + lc 2 cos θ 2 cos θ1θ1 (3.2.11)
z2 = lc 2 cos θ 2θ 2 (3.2.12)

Sustituyendo las ecuaciones (3.2.10) a (3.2.12) en la ecuación (3.2.6):


( ) + ( −l )
2 2
v2 2 = −lc 2 sen θ 2 cos θ1θ 2 − lc 2 cos θ 2 sen θ1θ1 c2 sen θ 2 sen θ1θ 2 + lc 2 cos θ 2 cos θ1θ1
(3.2.13)
+ (l )
2
c 2 cos θ 2θ 2

Desarrollando y reduciendo la identidad sen 2 θ + cos 2 θ = 1 :


v2 2 = lc 2 2θ 2 2 + lc 2 2 cos 2 θ 2θ12 (3.2.14)

Con lo que la ecuación de la energía cinética es:


1 1
(
K 2 = m2 ⎡⎣lc 2 2θ 2 2 + lc 2 2 cos 2 θ 2θ12 ⎤⎦ + I 2 θ12 + θ 2 2
2 2
) (3.2.15)

• Energía Potencial. U 2 = m2 g ( h + lc 2 senθ 2 ) (3.2.16)

Eslabón 3:

- 21 -
Capítulo 3. Modelado Dinámico


1 1
(
m3 v32 + I 3 ⎡θ12 + θ 2 + θ 3 ⎤ )
2
Energía Cinética. K3 = (3.2.17)
2 2 ⎣⎢ ⎦⎥
Para obtener la velocidad:
v32 = x32 + y32 + z32 (3.2.18)
x3 = l2 cos θ 2 cos θ1 + lc 3 cos (θ 2 + θ3 ) cos θ1 (3.2.19)
y3 = l2 cos θ 2 sen θ1 + lc 3 cos (θ 2 + θ 3 ) sen θ1 (3.2.20)
z3 = h + l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) (3.2.21)

Derivando con respecto al tiempo cada una de las coordenadas anteriores:


( )
x3 = −l2 sen θ 2 cos θ1θ 2 − l2 cos θ 2 sen θ1θ1 − lc 3 sen (θ 2 + θ 3 ) cos θ1 θ 2 + θ 3 − lc 3 cos (θ 2 + θ 3 ) sen θ1θ1 (3.2.22)
y3 = −l2 sen θ 2 sen θ1θ 2 + l2 cos θ 2 cos θ1θ1 − lc 3 sen (θ 2 + θ 3 ) sen θ (θ1 2 +θ ) + l
3 c3 cos (θ 2 + θ 3 ) cos θ1θ1 (3.2.23)
z3 = l2 cos θ 2θ 2 + lc 3 cos (θ 2 + θ3 ) θ 2 + θ 3 ( ) (3.2.24)

Sustituyendo las ecuaciones (3.2.22) a (3.2.24) en la ecuación(3.2.18):


= ( −l2 sen θ 2 cos θ1θ 2 − l2 cos θ 2 sen θ1θ1 − lc 3 sen (θ 2 + θ 3 ) cos θ1 (θ 2 + θ 3 ) − lc 3 cos (θ 2 + θ 3 ) sen θ1θ1 )
2
2
v3

( ( )
+ −l2 sen θ 2 sen θ1θ 2 + l2 cos θ 2 cos θ1θ1 − lc 3 sen (θ 2 + θ 3 ) sen θ1 θ 2 + θ 3 + lc 3 cos (θ 2 + θ 3 ) cos θ1θ1 )
2
(3.2.25)
+ ( l cos θ θ (
+ lc 3 cos (θ 2 + θ 3 ) θ 2 + θ 3 ))
2
2 2 2

Desarrollando los trinomios al cuadrado, reduciendo con las identidades


sen 2 θ + cos 2 θ = 1 y cos (α − β ) = cos α cos β + senα senβ :
v32 = lc 32θ 2 2 + lc 32θ 32 + 2lc 32θ 2θ 3 + 2l2 lc 3 cos (θ 2 ) cos (θ 2 + θ 3 )θ12 + l2 2θ 2 2 + lc 3 2 cos 2 (θ 2 + θ 3 )θ12
(3.2.26)
+ l2 2 cos 2 (θ 2 ) θ12 + 2l2 lc 3 cos (θ3 )θ 2 θ 2 + θ 3 ( )
Con lo que la ecuación de la energía cinética es:
1 1 1
K 3 = m3lc 32θ 2 2 + m3lc 32θ32 + m3lc 32θ 2θ 3 + m3l2lc 3 cos (θ 2 ) cos (θ 2 + θ 3 )θ12 + m3l2 2θ 2 2
2 2 2 (3.2.27)
(
+ m3lc 3 cos (θ 2 + θ3 ) θ1 + m3l2 cos (θ 2 ) θ1 + m3l2 lc 3 cos (θ 3 )θ 2 θ 2 + θ 3 + I 3 ⎡θ12 + θ 2 + θ 3 ⎤
1 1 1
) ( )
2
2 2 2 2 2 2

2 2 2 ⎣⎢ ⎦⎥

• Energía Potencial. U 3 = m3 g ( h + l2 senθ 2 + lc 3 sen (θ 2 + θ3 ) ) (3.2.28)

Masa del Efector Final:


1
• Energía Cinética. K4 = m f v4 2 (3.2.29)
2
La velocidad de la masa del efector final está determinada por:
v4 = x4 + y4 2 + z4 2
2 2
(3.2.30)
x4 = l2 cos θ 2 cos θ1 + l3 cos (θ 2 + θ 3 ) cos θ1 (3.2.31)
y4 = l2 cos θ 2 sen θ1 + l3 cos (θ 2 + θ 3 ) sen θ1 (3.2.32)
z4 = h + l2 sen θ 2 + l3 sen (θ 2 + θ 3 ) (3.2.33)

Derivando con respecto al tiempo cada una de las coordenadas anteriores:

- 22 -
Controladores de robots rígidos: un análisis comparativo

( )
x4 = −l2 sen θ 2 cos θ1θ 2 − l2 cos θ 2 sen θ1θ1 − l3 sen (θ 2 + θ 3 ) cos θ1 θ 2 + θ 3 − l3 cos (θ 2 + θ 3 ) sen θ1θ1 (3.2.34)
y4 = −l2 sen θ 2 sen θ1θ 2 + l2 cos θ 2 cos θ1θ1 − l3 sen (θ 2 + θ 3 ) sen θ (θ
1 2 +θ ) + l
3 3 cos (θ 2 + θ 3 ) cos θ1θ1 (3.2.35)
(
z4 = l2 cos θ 2θ 2 + l3 cos (θ 2 + θ 3 ) θ 2 + θ 3 ) (3.2.36)

Sustituyendo las ecuaciones (3.2.34) a (3.2.36) en la ecuación(3.2.30):


( ( )
v4 = −l2 sen θ 2 cos θ1θ 2 − l2 cos θ 2 sen θ1θ1 − l3 sen (θ 2 + θ 3 ) cos θ1 θ 2 + θ 3 − l3 cos (θ 2 + θ 3 ) sen θ1θ1 )
2
2

+ ( −l sen θ sen θ θ + l cos θ cos θ θ − l sen (θ ) sen θ (θ )+l cos (θ 2 + θ ) cos θ θ )


2
2 2 1 2 2 2 1 1 3 2 + θ3 1 2 + θ3 3 3 1 1
(3.2.37)
+ ( l cos θ θ + l cos (θ + θ ) (θ + θ ) )
2
2 2 2 3 2 3 2 3

Desarrollando los trinomios al cuadrado, reduciendo con las identidades


sen θ + cos 2 θ = 1 y cos (α − β ) = cos α cos β + senα senβ :
2

v4 2 = l32θ 2 2 + lc 32θ 32 + 2l32θ 2θ 3 + 2l2 l3 cos (θ 2 ) cos (θ 2 + θ 3 )θ12 + l2 2θ 2 2 + l32 cos 2 (θ 2 + θ 3 )θ12
(3.2.38)
(
+ l2 2 cos 2 (θ 2 ) θ12 + 2l2 l3 cos (θ3 ) θ 2 θ 2 + θ 3 )
Con lo que la ecuación de la energía cinética es:
1 1 1
K 4 = m f l32θ 2 2 + m f l32θ 32 + m f l32θ 2θ3 + m f l2 l3 cos (θ 2 ) cos (θ 2 + θ 3 )θ12 + m f l2 2θ 2 2
2 2 2 (3.2.39)
1
2
2 2 1
+ m f l3 cos (θ 2 + θ 3 ) θ1 + m f l2 cos (θ 2 )θ1 + m f l2 l3 cos (θ 3 )θ 2 θ 2 + θ 3
2

2
2 2 2
( )

• Energía Potencial. U 4 = m f g ( h + l2 senθ 2 + l3 sen (θ 2 + θ3 ) ) (3.2.40)

Después de obtener las expresiones de las energías cinética y potencial de cada uno
de los eslabones del robot manipulador, se debe obtener la energía cinética total del robot
manipulador:
K = K1 + K 2 + K 3 + K 4 (3.2.41)
K=
1
2
1 1
( 1
) 1
I1θ12 + m2 ⎡⎣lc 2 2θ 2 2 + lc 2 2 cos 2 θ 2θ12 ⎤⎦ + I 2 θ12 + θ 2 2 + m3lc 32θ 2 2 + m3lc 32θ 32 + m3lc 32θ 2θ 3
2 2 2 2
1 1 1
+ m3l2 lc 3 cos (θ 2 ) cos (θ 2 + θ 3 ) θ12 + m3l2 2θ 2 2 + m3lc 32 cos 2 (θ 2 + θ 3 )θ12 + m3l2 2 cos 2 (θ 2 )θ12
2 2 2

( ) ( )
+ m3l2 lc 3 cos (θ 3 ) θ 2 θ 2 + θ 3 + I 3 θ1 + θ 2 + θ3 ⎤ + m f l3 θ 2 + m f l3 θ 32 + m f l32θ 2θ 3
1 ⎡ 2 1 1
2
2 2 2
(3.2.42)
2 ⎣⎢ ⎦⎥ 2 2
1 1 1
+ m f l2 l3 cos (θ 2 ) cos (θ 2 + θ3 )θ12 + m f l2 2θ 2 2 + m f l32 cos 2 (θ 2 + θ 3 )θ12 + m f l2 2 cos 2 (θ 2 )θ12
2 2 2
(
+ m f l2 l3 cos (θ3 ) θ 2 θ 2 + θ3 )
La energía potencial total del robot manipulador es:
U = U1 + U 2 + U 3 + U 4 (3.2.43)
U = m1 gh + m2 g ( h + lc 2 senθ 2 ) + m3 g ( h + l2 senθ 2 + lc 3 sen (θ 2 + θ 3 ) )
(3.2.44)
+ m f g ( h + l2 senθ 2 + l3 sen (θ 2 + θ 3 ) )

- 23 -
Capítulo 3. Modelado Dinámico

El Lagrangiano del sistema es:


1 1
2
1
2
( 1
2
) 1
L = I1θ12 + m2 ⎡⎣lc 2 2θ 2 2 + lc 2 2 cos 2 θ 2θ12 ⎤⎦ + I 2 θ12 + θ 2 2 + m3lc 32θ 2 2 + m3lc 32θ 32 + m3lc 32θ 2θ 3
2 2
1 1 1
+ m3l2 lc 3 cos (θ 2 ) cos (θ 2 + θ 3 )θ1 + m3l2 θ 2 + m3lc 3 cos (θ 2 + θ 3 )θ1 + m3l2 2 cos 2 (θ 2 )θ12
2 2 2 2 2 2

2 2 2

( ) ( )
+ m3l2 lc 3 cos (θ3 ) θ 2 θ 2 + θ 3 + I 3 ⎡θ12 + θ 2 + θ3 ⎤ + m f l32θ 2 2 + m f l32θ 32 + m f l32θ 2θ 3
1 1 1
2

2 ⎢⎣ ⎥⎦ 2 2 (3.2.45)
1 1 1
+ m f l2 l3 cos (θ 2 ) cos (θ 2 + θ 3 ) θ12 + m f l2 2θ 2 2 + m f l32 cos 2 (θ 2 + θ 3 )θ12 + m f l2 2 cos 2 (θ 2 )θ12
2 2 2
( )
+ m f l2 l3 cos (θ3 ) θ 2 θ 2 + θ 3 − m1 gh − m2 g ( h + lc 2 senθ 2 ) − m3 g ( h + l2 senθ 2 + lc 3 sen (θ 2 + θ 3 ) )
− m f g ( h + l2 senθ 2 + l3 sen (θ 2 + θ3 ) )

Se desarrolla la ecuación de disipación:


1 1 1
F = β1θ12 + β 2θ 2 2 + β 3θ 32 (3.2.46)
2 2 2

Ahora se desarrollan los elementos de las ecuaciones de movimiento de Lagrange:


∂L
= I1θ1 + m2 lc 2 2 cos 2 θ 2θ1 + I 2θ1 + 2m3l2 lc 3 cos θ 2 cos (θ 2 + θ 3 )θ1 + m3lc 3 2 cos 2 (θ 2 + θ 3 )θ1 + I 3 aθ1
∂θ1
+ m3l2 2 cos 2 (θ 2 ) θ1 + m f l2 2 cos 2 (θ 2 ) θ1 + 2m f l2 l3 cos (θ 2 ) cos (θ 2 + θ 3 )θ1 + m f l32 cos 2 (θ 2 + θ 3 )θ1
d ⎛ ∂L ⎞

dt ⎝ ∂θ1 ⎠
2 2
(
⎟ = I1θ1 + m2 lc 2 cos θ 2θ1 − 2 cos θ 2 sen θ 2θ1θ 2 + I 2θ1 + I 3θ1 )
( ( )
+2m3l2 lc 3 − sen θ 2 cos (θ 2 + θ3 ) θ1θ 2 − cos θ 2 sen (θ 2 + θ 3 )θ1 θ 2 + θ 3 + cos θ 2 cos (θ 2 + θ 3 )θ1 )
( ( )
+ m3lc 32 −2sen (θ 2 + θ 3 ) cos (θ 2 + θ 3 )θ1 θ 2 + θ 3 + cos 2 (θ 2 + θ 3 )θ1 )
( ) (
+ m3l2 −2sen θ 2 cos θ 2θ1θ 2 + cos (θ 2 )θ1 + m f l2 −2sen θ 2 cos θ 2θ1θ 2 + cos 2 (θ 2 )θ1
2 2 2
)
( ( )
+2m f l2 l3 − sen θ 2 cos (θ 2 + θ 3 ) θ1θ 2 − cos θ 2 sen (θ 2 + θ 3 )θ1 θ 2 + θ 3 + cos θ 2 cos (θ 2 + θ 3 )θ1 )
( ( )
+ m f l32 −2sen (θ 2 + θ 3 ) cos (θ 2 + θ3 )θ1 θ 2 + θ 3 + cos 2 (θ 2 + θ 3 )θ1 )
∂L
=0
∂θ1
∂F
= β1θ1
∂θ1
∂L
= m2 lc 2 2θ 2 + I 2θ 2 + m3lc 32θ 2 + m3lc 32θ 3 + m3l2 2θ 2 + 2m3l2 lc 3 cos (θ3 )θ 2 + m3l2 lc 3 cos (θ 3 )θ 3
∂θ 2
( )
+ I 3 θ 2 + θ 3 + m f l32θ 2 + m f l32θ 2 + m f l2 2θ 2 + 2m f l2 l3 cos (θ3 )θ 2 + m f l2 l3 cos (θ 3 )θ 3
d ⎛ ∂L ⎞
⎟ = m2 lc 2 θ 2 + I 2θ 2 + m3lc 3 θ 2 + m3lc 3 θ 3 + m3l2 θ 2 − 2m3l2 lc 3 sen (θ3 )θ 2θ 3 + m f l3 θ 2 + m f l3 θ 2
2 2 2 2 2 2

dt ⎝ ∂θ 2 ⎠
( )
− m3l2 lc 3 sen (θ 3 ) θ 32 + m3l2 lc 3 cos (θ 3 )θ3 + I 3 θ 2 + θ 3 + 2m3l2 lc 3 cos (θ3 )θ 2 − m f l2 l3 sen (θ 3 )θ 32
− 2m f l2 l3 sen (θ3 ) θ 2θ3 + 2m f l2 l3 cos (θ 3 )θ 2 + m f l2 θ 2 + m f l2 l3 cos (θ 3 )θ 3
2

- 24 -
Controladores de robots rígidos: un análisis comparativo

∂L
= − m2 lc 2 2 cos θ 2 sen θ 2θ12 − m3l2 lc 3θ12 ( sen (θ 2 ) cos (θ 2 + θ 3 ) + cos (θ 2 ) sen (θ 2 + θ 3 ) ) − m2 glc 2 cos θ 2
∂θ 2
− 2m3lc 3 2 cos (θ 2 + θ 3 ) sen (θ 2 + θ 3 )θ12 − m3l2 2 cos (θ 2 ) sen (θ 2 )θ12 − m f l2 l3θ12 sen (θ 2 ) cos (θ 2 + θ 3 )
− m f l2 l3θ12 cos (θ 2 ) sen (θ 2 + θ 3 ) − m f l32 cos (θ 2 + θ 3 ) sen (θ 2 + θ 3 )θ12 − m f l2 2 cos (θ 2 ) sen (θ 2 )θ12
− m3 gl2 cos θ 2 − m3 glc 3 cos (θ 2 + θ 3 ) − m f gl2 cos θ 2 − m f gl3 cos (θ 2 + θ 3 )
∂F
= β 2θ 2
∂θ 2
∂L
∂θ 3
( )
= m3lc 32θ3 + m3lc 32θ 2 + m3l2 lc 3 cos (θ 3 )θ 2 + I 3 θ 2 + θ 3 + m f l32θ 3 + m f l32θ 2 + m f l2 l3 cos (θ 3 )θ 2

d ⎛ ∂L ⎞

dt ⎝ ∂θ 3 ⎠
2 2
( ) (
⎟ = m3lc 3 θ 3 + m3lc 3 θ 2 + m3l2 lc 3 − sen (θ 3 ) θ 2θ 3 + cos (θ 3 )θ 2 + I 3 θ 2 + θ 3 + m f l3 θ 3
2
)
(
+ m f l32θ 2 + m f l2 l3 − sen (θ 3 ) θ 2θ 3 + cos (θ 3 )θ 2 )
∂L
= −m3l2 lc 3 cos (θ 2 ) sen (θ 2 + θ3 )θ12 − m3lc 32 cos (θ 2 + θ3 ) sen (θ 2 + θ 3 )θ12 − m3 glc 3 cos (θ 2 + θ 3 )
∂θ 3
( )
− m3l2 lc 3 sen (θ 3 ) θ 2 θ 2 + θ 3 − m f l2 l3 cos (θ 2 ) sen (θ 2 + θ 3 )θ12 − m f gl3 cos (θ 2 + θ 3 )

(
− m f l3 cos (θ 2 + θ 3 ) sen (θ 2 + θ3 )θ12 − m f l2 l3 sen (θ 3 )θ 2 θ 2 + θ 3
2
)
∂F
= β3θ 3
∂θ3

Ahora si se puede formar la ecuación de Euler-Lagrange:


I1θ1 + I 2θ1 + I 3θ1 + m2 lc 2 2 cos 2 θ 2θ − 2m2 lc 2 2 cos θ 2 sen θ 2θ1θ 2 − 2m3l2 lc 3 sen θ 2 cos (θ 2 + θ 3 )θ1θ 2
( )
−2m3l2 lc 3 cos θ 2 sen (θ 2 + θ3 ) θ1 θ 2 + θ 3 + 2m3l2 lc 3 cos θ 2 cos (θ 2 + θ 3 )θ1 + m3lc 32 cos 2 (θ 2 + θ 3 )θ1

( )
−2m3lc 32 sen (θ 2 + θ3 ) cos (θ 2 + θ3 )θ1 θ 2 + θ 3 − 2m3l2 2 sen θ 2 cos θ 2θ1θ 2 + m3l2 2 cos 2 (θ 2 )θ1
(3.2.47)
(
−2m f l2 l3 sen θ 2 cos (θ 2 + θ 3 )θ1θ 2 − 2m f l2 l3 cos θ 2 sen (θ 2 + θ 3 )θ1 θ 2 + θ 3 )
(
+2m f l2 l3 cos θ 2 cos (θ 2 + θ 3 )θ1 − 2m f l32 sen (θ 2 + θ 3 ) cos (θ 2 + θ 3 )θ1 θ 2 + θ 3 )
+ m f l32 cos 2 (θ 2 + θ 3 )θ1 − 2m f l2 2 sen θ 2 cos θ 2θ1θ 2 + m f l2 2 cos 2 (θ 2 ) θ1 + β1θ1 = τ 1

m2 lc 2 2θ 2 + I 2θ 2 + m3lc 32θ 2 + m3lc 32θ 3 + m3l2 2θ 2 − 2m3l2 lc 3 sen (θ 3 )θ 2θ 3 + 2m3l2 lc 3 cos (θ 3 )θ 2 + m f l3 2θ 2

( )
−m3l2 lc 3 sen (θ 3 )θ 32 + m3l2 lc 3 cos (θ 3 )θ 3 + I 3 θ 2 + θ 3 − 2m f l2 l3 sen (θ 3 )θ 2θ 3 + 2m f l2 l3 cos (θ 3 )θ 2
+ m f l3 2θ 2 + m f l2 2θ 2 + m f l2 2 cos (θ 2 ) sen (θ 2 )θ12 + m2 glc 2 cos θ 2 + m3 gl2 cos θ 2 + m3 glc 3 cos (θ 2 + θ 3 )
−m f l2 l3 sen (θ 3 ) θ32 + m f l2 l3 cos (θ 3 )θ 3 + m2 lc 2 2 cos θ 2 sen θ 2θ12 + m3l2 lc 3 sen (θ 2 ) cos (θ 2 + θ 3 )θ12 (3.2.48)
+ m3l2 lc 3 cos (θ 2 ) sen (θ 2 + θ3 )θ + 2m3lc 3 cos (θ 2 + θ 3 ) sen (θ 2 + θ 3 )θ + m3l2 cos (θ 2 ) sen (θ 2 ) θ
1
2 2
1
2 2
1
2

+ m f l2 l3 sen (θ 2 ) cos (θ 2 + θ3 )θ12 + m f l2l3 cos (θ 2 ) sen (θ 2 + θ 3 )θ12 + m f l32 cos (θ 2 + θ 3 ) sen (θ 2 + θ 3 )θ12
+ m f gl2 cos θ 2 + m f gl3 cos (θ 2 + θ 3 ) + β 2θ 2 = τ 2

- 25 -
Capítulo 3. Modelado Dinámico

( )
m3lc 32θ 3 + m3lc 32θ 2 − m3l2 lc 3 sen (θ 3 )θ 2θ 3 + m3l2 lc 3 cos (θ 3 )θ 2 + I 3 θ 2 + θ 3 − m f l2 l3 sen (θ 3 )θ 2θ 3
+ m3l2 lc 3 cos (θ 2 ) sen (θ 2 + θ 3 ) θ + m3lc 3 cos (θ 2 + θ3 ) sen (θ 2 + θ 3 )θ + m f l2 l3 cos (θ 3 )θ 2 + m f l32θ 3
1
2 2
1
2

(3.2.49)
( )
+ m f l32θ 2 + m3l2 lc 3 sen (θ 3 )θ 2 θ 2 + θ 3 + m f l2 l3 cos (θ 2 ) sen (θ 2 + θ3 )θ12 + m3 glc 3 cos (θ 2 + θ 3 )

( )
+ m f l32 cos (θ 2 + θ 3 ) sen (θ 2 + θ 3 )θ12 + m f l2 l3 sen (θ 3 )θ 2 θ 2 + θ 3 + m f gl3 cos (θ 2 + θ 3 ) + β 3θ 3 = τ 3

Las ecuaciones (3.2.47), (3.2.48) y (3.2.49) forman el modelo dinámico del robot
manipulador SCORBOT ER-V +, definiendo qi = θi , qi = θi y qi = θi , además, también s
realiza la siguiente definición de matrices:
⎡ M 11 ( q ) M 12 ( q ) M 13 ( q ) ⎤
⎢ ⎥
M ( q ) = ⎢ M 21 ( q ) M 22 ( q ) M 23 ( q ) ⎥
⎢⎣ M 31 ( q ) M 32 ( q ) M 33 ( q ) ⎥⎦
M 11 ( q ) = m2 lc 2 2 cos 2 q2 + 2m3l2 lc 3 cos θ 2 cos ( q2 + q3 ) + m3lc 32 cos 2 ( q2 + q3 ) + m3l2 2 cos 2 q2 + m f l2 2 cos 2 q2
+2m f l2 l3 cos q2 cos ( q2 + q3 ) + m f l32 cos 2 ( q2 + q3 ) + I1 + I 2 + I 3
M 12 ( q ) = 0
M 13 ( q ) = 0
M 21 ( q ) = 0
M 22 ( q ) = m2 lc 2 2 + I 2 + m3lc 32 + m3l2 2 + 2m3l2 lc 3 cos q3 + I 3 + m f l32 + m f l2 2 + 2m f l2 l3 cos q3
M 23 ( q ) = m3lc 32 + m3l2 lc 3 cos q3 + I 3 + m f l32 + m f l2 l3 cos q3
M 31 ( q ) = 0
M 32 ( q ) = m3lc 32 + m3l2 lc 3 cos q3 + m f l32 + m f l2 l3 cos q3 + I 3
M 33 ( q ) = m3lc 3 2 + m f l32 + I 3
⎡ C11 ( q, q ) C12 ( q, q ) C13 ( q, q ) ⎤
⎢ ⎥
C ( q, q ) = ⎢C21 ( q, q ) C22 ( q, q ) C23 ( q, q ) ⎥
⎢⎣C31 ( q, q ) C32 ( q, q ) C33 ( q, q ) ⎥⎦

C11 ( q, q ) = −m2 lc 2 2 cos q2 sen q2 q2 − m3l2 lc 3 sen q2 cos ( q2 + q3 ) q2 − m3l2 lc 3 cos q2 sen ( q2 + q3 )( q2 + q3 )
−m3lc 32 sen ( q2 + q3 ) cos ( q2 + q3 )( q2 + q3 ) − m3l2 2 sen q2 cos q2 q2 − m f l2 l3 sen q2 cos ( q2 + q3 ) q1q2
−m f l2 l3 cos q2 sen ( q2 + q3 )( q2 + q3 ) − m f l32 sen ( q2 + q3 ) cos ( q2 + q3 )( q2 + q3 ) − m f l2 2 sen q2 cos q2 q2
C12 ( q, q ) = −m2 lc 2 2 cos q2 sen q2 q1 − m3l2 lc 3 sen q2 cos ( q2 + q3 ) q1 − m3l2 lc 3 cos q2 sen ( q2 + q3 ) q1
−m3lc 32 sen ( q2 + q3 ) cos ( q2 + q3 ) q1 − m f l32 sen ( q2 + q3 ) cos ( q2 + q3 ) q1 − m3l2 2 sen q2 cos q2 q1
−m f l2 l3 cos q2 sen ( q2 + q3 ) q1 − m f l2 2 sen q2 cos q2 q1 − m f l2 l3 sen q2 cos ( q2 + q3 ) q1
C13 ( q, q ) = − m3l2 lc 3 cos q2 sen ( q2 + q3 ) q1 − m3lc 32 sen ( q2 + q3 ) cos ( q2 + q3 ) q1 − m f l2 l3 cos q2 sen ( q2 + q3 ) q1
−m f l32 sen ( q2 + q3 ) cos ( q2 + q3 ) q1
C21 ( q, q ) = −m2 lc 2 2 cos q2 sen q2 q1 − m3l2 lc 3 sen q2 cos ( q2 + q3 ) q1 − m3l2 lc 3 cos q2 sen ( q2 + q3 ) q1
−m3lc 32 cos ( q2 + q3 ) sen ( q2 + q3 ) q1 − m3l2 2 cos q2 sen ( q2 ) q1 − m f l2 l3 sen q2 cos ( q2 + q3 ) q1
−m f l2 l3 cos q2 sen ( q2 + q3 ) q1 − m f l32 cos ( q2 + q3 ) sen ( q2 + q3 ) q1 − m f l2 2 cos q2 sen q2 q1
C22 ( q, q ) = − m3l2 lc 3 sen q3 q3 − m f l2 l3 sen q3 q3
C23 ( q, q ) = − m3l2 lc 3 sen q3 q2 − m3l2 lc 3 sen q3 q3 − m f l2 l3 sen q3 q2 − m f l2 l3 sen q3 q3

- 26 -
Controladores de robots rígidos: un análisis comparativo

C31 ( q, q ) = m3l2 lc 3 cos q2 sen ( q2 + q3 ) q1 + m3lc 32 cos ( q2 + q3 ) sen ( q2 + q3 ) q1 + m f l2 l3 cos q2 sen ( q2 + q3 ) q1


+ m f l32 cos ( q2 + q3 ) sen ( q2 + q3 ) q1
C32 ( q, q ) = m3l2 lc 3 sen q3 ( q2 + q3 ) + m f l2 l3 sen q3 ( q2 + q3 )
C33 ( q, q ) = − m3l2 lc 3 sen q3 q2 − m f l2 l3 sen q3 q2

B ( q ) = ⎡⎣ B1 ( q ) B2 ( q ) B3 ( q ) ⎤⎦
T

B1 ( q ) = β1q1
B2 ( q ) = β 2 q2
B3 ( q ) = β 3 q3

g ( q ) = ⎡⎣ g1 ( q ) g 2 ( q ) g3 ( q ) ⎤⎦
T

g1 ( q ) = 0
g 2 ( q ) = m2 glc 2 cos q2 + m3 gl2 cos q2 + m3 glc 3 cos ( q2 + q3 ) + m f gl2 cos q2 + m f gl3 cos ( q2 + q3 )
g3 ( q ) = m3 glc 3 cos ( q2 + q3 ) + m f gl3 cos ( q2 + q3 )

Con los elementos ya definidos, el modelo dinámico del robot SCORBOT ER-V+
se escribe con la siguiente forma matricial (ecuación (3.5.1)):
M ( q ) q + C ( q, q ) q + B ( q ) + g ( q ) = τ (3.2.50)

3.2.2. Modelado dinámico del robot PUMA usando la formulación de Euler-


Lagrange
Se van a obtener las ecuaciones de las energías cinéticas y potenciales para cada uno
de los eslabones del robot manipulador, las relaciones existentes entre el movimiento del
eslabón y las coordenadas articulares se obtienen partiendo de la figura 3.2.

θ3

θ2

θ1

Figura 3.2. Esquema del movimiento del robot manipulador PUMA

Eslabón 1:
1 1
• Energía Cinética. K1 = m1lc12θ12 + I1θ12 (3.2.51)
2 2
• Energía Potencial. U1 = m1 gh (3.2.52)

- 27 -
Capítulo 3. Modelado Dinámico

Eslabón 2:
• Energía Cinética. K2 =
1
2
1
(
m2 v2 2 + I 2 θ12 + θ 2 2
2
) (3.2.53)
Primero, se obtiene la expresión de la velocidad:
v2 = x + y22 + z22
2 2
2 (3.2.54)
x2 = d1 sen θ1 − lc 2 cos (θ 2 + φ ) cos θ1 (3.2.55)
y2 = −d1 cos θ1 − lc 2 cos (θ 2 + φ ) sen θ1 (3.2.56)
z2 = h − lc 2 sen (θ 2 + φ ) (3.2.57)

Derivando con respecto al tiempo cada una de las coordenadas anteriores:


x2 = d1 cos θ1θ1 + lc 2 sen (θ 2 + φ ) cos θ1θ 2 + lc 2 cos (θ 2 + φ ) sen θ1θ1 (3.2.58)
y2 = d1 sen θ1θ1 + lc 2 sen (θ 2 + φ ) sen θ1θ 2 − lc 2 cos (θ 2 + φ ) cos θ1θ1 (3.2.59)
z2 = −lc 2 cos (θ 2 + φ ) θ 2 (3.2.60)

Sustituyendo las ecuaciones (3.2.58) a (3.2.60) en la ecuación (3.2.54):


(
v2 2 = d1 cos θ1 + lc 2 sen (θ 2 + φ ) cos θ1θ 2 + lc 2 cos (θ 2 + φ ) sen θ1θ1 )
2

+ ( d sen θ + l sen (θ + φ ) sen θ1θ 2 − lc 2 cos (θ + φ ) cos θ θ )


2
1 1 c2 2 2 1 1 (3.2.61)
+ ( −l cos (θ + φ ) θ )
2
c2 2 2

Desarrollando los binomios al cuadrado y reduciendo con la


identidad sen 2 θ + cos 2 θ = 1 :
v2 2 = d12θ12 + lc 2 2 cos 2 (θ 2 + φ ) θ12 + lc 2 2θ 2 2 + 2d1lc 2 sen (θ 2 + φ )θ1θ 2 (3.2.62)

Con lo que la ecuación de la energía cinética es:


1 1
(
K 2 = m2 ⎡⎣ d12θ12 + lc 2 2 cos 2 (θ 2 + φ ) θ12 + lc 2 2θ 2 2 + 2d1lc 2 sen (θ 2 + φ )θ1θ 2 ⎤⎦ + I 2 θ12 + θ 2 2
2 2
) (3.2.63)

• Energía Potencial. U 2 = m2 g ( h − lc 2 sen (θ 2 + φ ) ) (3.2.64)

Eslabón 3:

1 1
(
m3 v32 + I 3 ⎡θ12 + θ 2 + θ 3 ⎤ )
2
Energía Cinética. K3 = (3.2.65)
2 2 ⎢
⎣ ⎦⎥
Para obtener la velocidad:
v3 = x3 + y32 + z32
2 2
(3.2.66)
x3 = ( d1 + d 2 ) sen θ1 + l2 cos θ 2 cos θ1 + lc 3 cos (θ 2 + θ 3 ) cos θ1 (3.2.67)
y3 = − ( d1 + d 2 ) cos θ1 + l2 cos θ 2 sen θ1 + lc 3 cos (θ 2 + θ 3 ) sen θ1 (3.2.68)
z3 = h + l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) (3.2.69)

- 28 -
Controladores de robots rígidos: un análisis comparativo

Derivando con respecto al tiempo cada una de las coordenadas anteriores:


x3 = ( d1 + d 2 ) cos θ1θ1 − l2 sen θ 2 cos θ1θ 2 − l2 cos θ 2 sen θ1θ1 − lc 3 sen (θ 2 + θ 3 ) cos θ1 θ 2 + θ 3 ( ) (3.2.70)
− lc 3 cos (θ 2 + θ 3 ) sen θ1θ1
y3 = ( d1 + d 2 ) sen θ1θ1 − l2 sen θ 2 sen θ1θ 2 + l2 cos θ 2 cos θ1θ1 − lc 3 sen (θ 2 + θ 3 ) sen θ1 θ 2 + θ 3 ( ) (3.2.71)
+ lc 3 cos (θ 2 + θ3 ) cos θ1θ1
z3 = l2 cos θ 2θ 2 + lc 3 cos (θ 2 + θ3 ) θ 2 + θ 3 ( ) (3.2.72)

Sustituyendo las ecuaciones (3.2.70) a (3.2.72) en la ecuación (3.2.66):


= ( −l2 sen θ 2 cos θ1θ 2 − l2 cos θ 2 sen θ1θ1 − lc 3 sen (θ 2 + θ 3 ) cos θ1 (θ 2 + θ 3 ) − lc 3 cos (θ 2 + θ 3 ) sen θ1θ1 )
2
2
v3

( ( )
+ −l2 sen θ 2 sen θ1θ 2 + l2 cos θ 2 cos θ1θ1 − lc 3 sen (θ 2 + θ3 ) sen θ1 θ 2 + θ 3 + lc 3 cos (θ 2 + θ 3 ) cos θ1θ1 )
2
(3.2.73)
+ ( l cos θ θ (
+ lc 3 cos (θ 2 + θ 3 ) θ 2 + θ 3 ))
2
2 2 2

Desarrollando los trinomios al cuadrado, reduciendo con las identidades


sen θ + cos 2 θ = 1 y cos (α − β ) = cos α cos β + senα senβ :
2

v32 = ( d1 + d 2 ) θ12 + θ12 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) + l2 2θ 2 2 + 2l2 lc 3 cos θ 3θ 2 θ 2 + θ 3 ( )


2 2

(3.2.74)
( ) − 2θ1θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) ) − 2lc 3 sen (θ 2 + θ 3 )θ1θ 3 ( d1 + d 2 )
2
+ lc 32 θ 2 + θ 3

Con lo que la ecuación de la energía cinética es:


( )
1 ⎢( d1 + d 2 ) θ1 + θ1 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) + lc 3 θ 2 + θ 3 + 2l2 lc 3 cos θ 3θ 2 θ 2 + θ 3
⎡ ( )⎤⎥
2 2 2
2 2 2

K 3 = m3
2 ⎢ + l 2θ 2 − 2θ θ ( d + d ) ( l sen θ + l sen (θ + θ ) ) − 2l sen (θ + θ )θ θ ( d + d ) ⎥ (3.2.75)
⎣ 2 2 1 2 1 2 2 2 c3 2 3 c3 2 3 1 3 1 2 ⎦
+ I 3 θ1 + θ 2 + θ 3 ⎤
1 ⎡ 2
( )
2

2 ⎣⎢ ⎦⎥

• Energía Potencial. U 3 = m3 g ( h + l2 senθ 2 + lc 3 sen (θ 2 + θ3 ) ) (3.2.76)

Masa del Efector Final:


1
• Energía Cinética. K4 = m f v4 2 (3.2.77)
2
Se requiere obtener la expresión de la velocidad, para ello se sabe que:
v4 2 = x4 2 + y4 2 + z4 2 (3.2.78)
x4 = ( d1 + d 2 ) sen θ1 + l2 cos θ 2 cos θ1 + l3 cos (θ 2 + θ 3 ) cos θ1 (3.2.79)
y4 = − ( d1 + d 2 ) cos θ1 + l2 cos θ 2 sen θ1 + l3 cos (θ 2 + θ3 ) sen θ1 (3.2.80)
z4 = h + l2 sen θ 2 + l3 sen (θ 2 + θ 3 ) (3.2.81)

Derivando con respecto al tiempo cada una de las coordenadas anteriores:


x4 = ( d1 + d 2 ) cos θ1θ1 − l2 sen θ 2 cos θ1θ 2 − l2 cos θ 2 sen θ1θ1 − l3 sen (θ 2 + θ 3 ) cos θ1 θ 2 + θ 3 ( ) (3.2.82)
− l3 cos (θ 2 + θ 3 ) sen θ1θ1

- 29 -
Capítulo 3. Modelado Dinámico

y4 = ( d1 + d 2 ) sen θ1θ1 − l2 sen θ 2 sen θ1θ 2 + l2 cos θ 2 cos θ1θ1 − l3 sen (θ 2 + θ 3 ) sen θ1 θ 2 + θ 3 ( ) (3.2.83)
+ l3 cos (θ 2 + θ3 ) cos θ1θ1
z4 = l2 cos θ 2θ 2 + l3 cos (θ 2 + θ 3 ) θ 2 + θ 3 ( ) (3.2.84)

Sustituyendo las ecuaciones (3.2.82) a (3.2.84) en la ecuación(3.2.78):


( ( )
v4 2 = −l2 sen θ 2 cos θ1θ 2 − l2 cos θ 2 sen θ1θ1 − l3 sen (θ 2 + θ 3 ) cos θ1 θ 2 + θ 3 − l3 cos (θ 2 + θ 3 ) sen θ1θ1 )
2

+ ( −l sen θ sen θ θ + l cos θ cos θ θ − l sen (θ ) sen θ (θ )+l cos (θ 2 + θ ) cos θ θ )


2
2 2 1 2 2 2 1 1 3 2 + θ3 1 2 + θ3 3 3 1 1
(3.2.85)
+ ( l cos θ θ + l cos (θ + θ ) (θ + θ ) )
2
2 2 2 3 2 3 2 3

Desarrollando los trinomios al cuadrado, reduciendo con las identidades


sen θ + cos 2 θ = 1 y cos (α − β ) = cos α cos β + senα senβ :
2

v4 2 = ( d1 + d 2 ) θ12 + θ12 ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) + l2 2θ 2 2 + 2l2 l3 cos θ 3θ 2 θ 2 + θ 3 ( )


2 2

(3.2.86)
( ) − 2θ1θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + l3 sen (θ 2 + θ 3 ) ) − 2l3 sen (θ 2 + θ 3 )θ1θ 3 ( d1 + d 2 )
2
+ l32 θ 2 + θ 3

Con lo que la ecuación de la energía cinética es:


1
⎡( d + d )2 θ 2 + θ 2 ( l cos θ + l cos (θ + θ ) )2 + l 2 θ + θ 2 + 2l l cos θ θ θ + θ
K4 = m f ⎢
1 2 1 1 2 2 3 2 3 3 2 3 2 3( 3 2 )
2 3 ( )⎤⎥ (3.2.87)
⎣ + l2 θ 2 − 2θ1θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + l3 sen (θ 2 + θ 3 ) ) − 2l3 sen (θ 2 + θ 3 )θ1θ 3 ( d1 + d 2 )
2 ⎢ 2 2 ⎥

• Energía Potencial. U 4 = m f g ( h + l2 senθ 2 + l3 sen (θ 2 + θ3 ) ) (3.2.88)

A lo largo de todo el manipulador la energía cinética está dada por:


K = K1 + K 2 + K 3 + K 4 (3.2.89)
1
2
1
2
1
2
1
2
1
2
1
K = m1lc12θ12 + I1θ12 + m2 d12θ12 + m2 lc 2 2θ 2 2 + m2 lc 2 2 cos 2 (θ 2 + φ )θ12 + I 2 θ12 + θ 2 2
2
( )
+ m2 d1lc 2 sen (θ 2 + φ ) θ1θ 2 + m3θ12 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) + m3lc 3 2 θ 2 + θ 3
1 1
( )
2 2

2 2
+ m3 ( d1 + d 2 ) θ12 − m3lc 3 sen (θ 2 + θ3 )θ1θ 3 ( d1 + d 2 ) + I 3 ⎡θ12 + θ 2 + θ3 ⎤
1 1
( )
2 2

2 2 ⎢
⎣ ⎦⎥

( 1
2
)
+ m3l2 lc 3 cos θ 3θ 2 θ 2 + θ3 + m3l2 2θ 2 2 − m3θ1θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) ) (3.2.90)

+ m f ( d1 + d 2 ) θ12 + m f θ12 ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) + m f l32 θ 2 + θ 3


1 1 1
( )
2 2 2

2 2 2

( )
+ m f l2 l3 cos θ 3θ 2 θ 2 + θ 3 + m f l2 2θ 2 2 − m f θ1θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + l3 sen (θ 2 + θ 3 ) )
1
2
− m f l3 sen (θ 2 + θ 3 ) θ1θ 3 ( d1 + d 2 )

La energía potencial es:


U = U1 + U 2 + U 3 + U 4 (3.2.91)
U = m1 gh + m2 g ( h − lc 2 sen (θ 2 + φ ) ) + m3 g ( h + l2 senθ 2 + lc 3 sen (θ 2 + θ3 ) )
(3.2.92)
+ m f g ( h + l2 senθ 2 + l3 sen (θ 2 + θ 3 ) )

- 30 -
Controladores de robots rígidos: un análisis comparativo

El Lagrangiano del sistema es:


1 1 1 1 1 1
L = m1lc12θ12 + I1θ12 + m2 d12θ12 + m2 lc 2 2θ 2 2 + m2 lc 2 2 cos 2 (θ 2 + φ )θ12 + m3 ( d1 + d 2 ) θ12
2

2 2 2 2 2 2
+ m2 d1lc 2 sen (θ 2 + φ ) θ1θ 2 + m3θ1 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) + m3l2 lc 3 cos θ 3θ 2 θ 2 + θ 3
1
( )
2 2

( ) ( )
+ m3lc 32 θ 2 + θ 3 + I 2 θ12 + θ 2 2 + m3l2 2θ 2 2 − m3θ1θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) )
1 1 1
2

2 2 2

( )
− m3lc 3 sen (θ 2 + θ 3 ) θ1θ 3 ( d1 + d 2 ) + I 3 θ1 + θ 2 + θ 3 ⎤ + m f θ12 ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) )
1 ⎡ 2 1
2 2

⎢ ⎥
(3.2.93)
2 ⎣ ⎦ 2
1
( ) ( )
+ m f l32 θ 2 + θ3 + m f l2 l3 cos θ 3θ 2 θ 2 + θ 3 + m f l2 2θ 2 2 − m1 gh − m2 g ( h − lc 2 sen (θ 2 + φ ) )
1
2

2 2
− m f θ1θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + l3 sen (θ 2 + θ3 ) ) − m f l3 sen (θ 2 + θ3 )θ1θ 3 ( d1 + d 2 )

− m3 g ( h + l2 senθ 2 + lc 3 sen (θ 2 + θ 3 ) ) − m f g ( h + l2 senθ 2 + l3 sen (θ 2 + θ 3 ) ) + m f ( d1 + d 2 ) θ12


1 2

Se desarrolla la ecuación de disipación:


1 1 1
F = β1θ12 + β 2θ 2 2 + β 3θ 32 (3.2.94)
2 2 2

Ahora se van a desarrollar los elementos de las ecuaciones de movimiento de


Lagrange:
∂L
= m1lc12θ1 + I1θ1 + m2 d12θ1 + m2 lc 2 2 cos 2 (θ 2 + φ )θ1 + m2 dlc 2 sen (θ 2 + φ )θ 2 + m3 ( d1 + d 2 ) θ1
2

∂θ1
+ I 2θ1 + m3θ1 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) + I 3θ1 − m3θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) )
2

− m3lc 3θ3 sen (θ 2 + θ3 )( d1 + d 2 ) + m f ( d1 + d 2 ) θ1 + m f θ1 ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) )


2 2

− m f θ 2 ( d1 + d 2 ) ( l2 sen θ 2 + l3 sen (θ 2 + θ3 ) ) − m f l3θ 3 sen (θ 2 + θ 3 )( d1 + d 2 )


d ⎛ ∂L ⎞
⎟ = m1lc1 θ1 + I1θ1 + m2 d1 θ1 + m2 lc 2 cos (θ 2 + φ )θ1 − 2m2 lc 2 cos (θ 2 + φ ) sen (θ 2 + φ )θ 2θ1
2 2 2 2 2

dt ⎝ ∂θ1 ⎠
+ m2 dlc 2 sen (θ 2 + φ )θ 2 + m2 dlc 2 cos (θ 2 + φ )θ 2 2 + m3θ1 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) )
2

( (
− 2m3θ1 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) l2 sen θ 2θ 2 + lc 3 sen (θ 2 + θ 3 ) θ 2 + θ 3 )) + I θ 3 1 + I 2θ1
− m3 ( d1 + d 2 ) l2 sen θ 2θ 2 − m3 ( d1 + d 2 ) lc 3 sen (θ 2 + θ 3 )θ 2 − m3lc 3θ3 sen (θ 2 + θ 3 )( d1 + d 2 )

( )
− m3 ( d1 + d 2 ) l2 cos θ 2θ 2θ 2 − m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ 3 ) θ 2 + θ 3 θ 2 + m3 ( d1 + d 2 ) θ1
2

( )
− m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ3 ) θ 2 + θ 3 θ 3 + m f ( d1 + d 2 ) θ1 − m f ( d1 + d 2 ) l2 sen θ 2θ 2
2

+ m f θ1 ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) − m f l3θ 3 cos (θ 2 + θ 3 )( d1 + d 2 ) θ 2 + θ 3 ( )


2

( (
− 2m f θ1 ( l2 cos θ 2 + l3 cos (θ 2 + θ3 ) ) l2 sen θ 2θ 2 + l3 sen (θ 2 + θ 3 ) θ 2 + θ 3 ))
− m f ( d1 + d 2 ) l3 sen (θ 2 + θ 3 )θ 2 − m f l3θ 3 sen (θ 2 + θ 3 )( d1 + d 2 )

(
− m f ( d1 + d 2 ) l2 cos θ 2θ 2 2 − m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 ) θ 2 + θ3 θ 2 )
∂L
=0
∂θ1

- 31 -
Capítulo 3. Modelado Dinámico

∂F
= β1θ1
∂θ1
∂L
∂θ 2
( )
= m2 lc 2 2θ 2 + m2 dlc 2 sen (θ 2 + φ )θ1 + I 2θ 2 + m3lc 32 θ 2 + θ 3 + 2m3l2 lc 3 cos θ 3θ 2 + m3l2 lc 3 cos θ 3θ 3

( )
+ m3l2 2θ 2 + I 3 θ 2 + θ 3 − m3θ1 ( d1 + d 2 ) ( l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) ) + m f l32 θ 2 + θ 3( )
+ 2m f l2 l3 cos θ 3θ 2 + m f l2 l3 cos θ3θ 3 + m f l2 θ 2 − m f θ1 ( d1 + d 2 ) ( l2 sen θ 2 + l3 sen (θ 2 + θ3 ) )
2

d ⎛ ∂L ⎞
⎜ ⎟ = m2 lc 2 θ 2 + m2 dlc 2 sen (θ 2 + φ )θ1 + m2 dlc 2 cos (θ 2 + φ )θ1θ 2 + m3l2 θ 2 + m3lc 3 θ 2 + θ 3
dt ⎝ ∂θ 2
2 2 2
( )

+ 2m3l2 lc 3 cos θ3θ 2 − 2m3l2 lc 3 sen θ 3θ 2θ3 − m3 ( d1 + d 2 ) l2 cos θ 2θ1θ 2 + m3l2 lc 3 cos θ 3θ 3 + I 2θ 2
− m3l2 lc 3 sen θ3θ32 − m3 ( d1 + d 2 ) l2 sen θ 2θ1 − m3 ( d1 + d 2 ) lc 3 sen (θ 2 + θ 3 )θ1 + I 3 θ 2 + θ 3( )
( )
− m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ 3 ) θ1 θ 2 + θ 3 + 2m f l2 l3 cos θ 3θ 2 − 2m f l2 l3 sen θ 3θ 2θ 3 + m f l3 2
(θ 2 + θ3 )
+ m f l2 l3 cos θ 3θ 3 − m f l2 l3 sen θ3θ 3 + m f l2 θ 2 − m f ( d1 + d 2 ) l2 sen θ 2θ1 − m f ( d1 + d 2 ) l2 cos θ 2θ1θ 2
2 2

(
− m f ( d1 + d 2 ) l3 sen (θ 2 + θ 3 ) θ1 − m f ( d1 + d 2 ) l3 cos (θ 2 + θ3 )θ1 θ 2 + θ 3 )
∂L
= − m2 lc 2 2 cos (θ 2 + φ ) sen (θ 2 + φ )θ12 + m2 dlc 2 cos (θ 2 + φ )θ1θ 2 − m3 ( d1 + d 2 ) l2 cos θ 2θ1θ 2
∂θ 2
− m3θ12 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ3 ) ) ( l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) ) − m f ( d1 + d 2 ) l2 cos θ 2θ1θ 2
− m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ3 )θ1θ 2 − m3lc 3 cos (θ 2 + θ 3 )( d1 + d 2 )θ1θ 3 + m2 glc 2 cos (θ 2 + φ )
− m f θ12 ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) ( l2 sen θ 2 + l3 sen (θ 2 + θ 3 ) ) − m3 gl2 cos θ 2 − m f gl2 cos θ 2
− m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1θ 2 − m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1θ 3 − m3 glc 3 cos (θ 2 + θ 3 )
− m f gl3 cos (θ 2 + θ 3 )
∂F
= β 2θ 2
∂θ 2
∂L
∂θ 3
( )
= m3lc 32 θ 2 + θ 3 − m3 ( d1 + d 2 ) lc 3 sen (θ 2 + θ3 )θ1 + m3l2 lc 3 cos θ 3θ 2 + I 3 θ 2 + θ 3 ( )
( )
+ m f l32 θ 2 + θ3 + m f l2 l3 cos θ3θ 2 − m f ( d1 + d 2 ) l3 sen (θ 2 + θ 3 )θ1
d ⎛ ∂L ⎞

dt ⎝ ∂θ 3 ⎠
2
( )
⎟ = m3lc 3 θ 2 + θ 3 + m3l2 lc 3 cos θ 3θ 2 − m3l2 lc 3 sen θ 3θ 2θ 3 − m3 ( d1 + d 2 ) lc 3 sen (θ 2 + θ 3 )θ1

( ) ( ) ( )
− m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ3 )θ1 θ 2 + θ 3 + I 3 θ 2 + θ 3 + m f l32 θ 2 + θ 3 + m f l2 l3 cos θ 3θ 2
− m f l2 l3 sen θ 3θ 2θ 3 − m f ( d1 + d 2 ) l3 sen (θ 2 + θ 3 ) θ1 − m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1 θ 2 + θ 3( )
∂L
∂θ 3
(
= −m3θ12 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) ( lc 3 sen (θ 2 + θ 3 ) ) − m3l2 lc 3 sen θ 3θ 2 θ 2 + θ 3 )
− m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ 3 ) θ1θ 2 − m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ 3 )θ1θ 3 − m3 glc 3 cos (θ 2 + θ 3 )
(
− m f ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) l3 sen (θ 2 + θ3 )θ12 − m f l2 l3 sen θ 3θ 2 θ 2 + θ 3 )
− m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1θ 2 − m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1θ 3 − m f gl3 cos (θ 2 + θ 3 )
∂F
= β3θ 3
∂θ3

- 32 -
Controladores de robots rígidos: un análisis comparativo

Ahora si se puede formar la ecuación de Euler-Lagrange:


m l θ + I1θ1 + I 2θ1 + I 3θ1 + m2 d12θ1 + m2 lc 2 2 cos 2 (θ 2 + φ )θ1 + m3 ( d1 + d 2 ) θ1 + m f ( d1 + d 2 ) θ1
2 2 2
1 c1 1

+ m3 ( l2 cos θ 2 + lc 3 cos (θ 2 + θ3 ) ) θ1 + m f ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) θ1 − m3 ( d1 + d 2 ) l2 sen θ 2θ 2


2 2

−m3 ( d1 + d 2 ) lc 3 sen (θ 2 + θ 3 ) θ 2 + m2 dlc 2 sen (θ 2 + φ )θ 2 − m f ( d1 + d 2 ) l2 sen θ 2θ 2


−m f ( d1 + d 2 ) l3 sen (θ 2 + θ3 ) θ 2 − m3lc 3 sen (θ 2 + θ 3 )( d1 + d 2 )θ 3 − 2 ( m3 + m f ) l2 2 cos θ 2 sen θ 2θ1θ 2
−m f l3 sen (θ 2 + θ 3 )( d1 + d 2 ) θ 3 − 2m2 lc 2 2 cos (θ 2 + φ ) sen (θ 2 + φ )θ1θ 2 + m2 d1lc 2 cos (θ 2 + φ )θ 2 2
(3.2.95)
−2 ( m3lc 3 + m f l3 ) l2 cos θ 2 sen (θ 2 + θ3 ) θ1θ 2 − 2 ( m3lc 3 + m f l3 ) l2 cos (θ 2 + θ 3 ) sen θ 2θ1θ 2
+2 ( m3lc 32 + m f l32 ) cos (θ 2 + θ 3 ) sen (θ 2 + θ3 )θ1θ 2 − 2 ( m3lc 3 + m f l3 ) l2 cos θ 2 sen (θ 2 + θ 3 )θ1θ 3
−2 ( m3lc 32 + m f l32 ) cos (θ 2 + θ 3 ) sen (θ 2 + θ3 )θ1θ 3 − 2 ( m3lc 3 + m f l3 ) ( d1 + d 2 ) cos (θ 2 + θ 3 )θ 2θ 3
− ( m3 + m f )(d 1 + d 2 ) l2 cos θ 2θ 2 2 − ( m3lc 3 + m f l3 ) ( d1 + d 2 ) cos (θ 2 + θ 3 ) θ 2 2
− ( m3lc 3 + m f l3 ) ( d1 + d 2 ) cos (θ 2 + θ 3 )θ 32 + β1θ1 = τ 1

( )
m2 lc 2 2θ 2 + m2 dlc 2 sen (θ 2 + φ )θ1 + cos (θ 2 + φ )θ1θ 2 + m3l2 2θ 2 + I 2θ 2 + m3lc 32 θ 2 + θ 3 ( )
−2m3l2 lc 3 sen θ 3θ 2θ3 + m3l2 lc 3 cos θ3θ3 − m3l2 lc 3 sen θ3θ3 − m3 ( d1 + d 2 ) l2 sen θ 2θ1 + 2m f l2 l3 cos θ 3θ 2
2

−m3 ( d1 + d 2 ) l2 cos θ 2θ1θ 2 − m3 ( d1 + d 2 ) lc 3 sen (θ 2 + θ3 ) θ1 − m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ3 )θ1 θ 2 + θ 3 ( )


( ) ( )
+ I 3 θ 2 + θ3 + m f l3 θ 2 + θ3 − m f ( d1 + d 2 ) l2 sen θ 2θ1 − m f ( d1 + d 2 ) l2 cos θ 2θ1θ 2 + m3 gl2 cos θ 2
2

+ m f l2 l3 cos θ 3θ3 − m f l2 l3 sen θ 3θ 32 + m f l2 2θ 2 − m2 lc 2 2 cos (θ 2 + φ ) sen (θ 2 + φ )θ12 − 2m f l2 l3 sen θ 3θ 2θ3

( )
−m f ( d1 + d 2 ) l3 sen (θ 2 + θ 3 ) θ1 − m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1 θ 2 + θ 3 + 2m3l2 lc 3 cos θ 3θ 2 (3.2.96)
−m θ3 1
2
(l 2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) ( l2 sen θ 2 + lc 3 sen (θ 2 + θ 3 ) ) − m2 dlc 2 cos (θ 2 + φ )θ1θ 2
−m3θ1θ 2 ( d1 + d 2 ) ( l2 cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) + m3lc 3 cos (θ 2 + θ 3 )θ1θ 3 ( d1 + d 2 ) + m f gl2 cos θ 2
−m f θ12 ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) ( l2 sen θ 2 + l3 sen (θ 2 + θ 3 ) ) − m2 glc 2 cos (θ 2 + φ )
−m f θ1θ 2 ( d1 + d 2 ) ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) + m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1θ 3
+ m3 glc 3 cos (θ 2 + θ3 ) + m f gl3 cos (θ 2 + θ 3 ) + β 2θ 2 = τ 2

( ) ( )
m3lc 32 θ 2 + θ 3 + m3l2 lc 3 cos θ 3θ 2 − m3l2 lc 3 sen θ 3θ 2θ 3 + I 3 θ 2 + θ 3 − m3 ( d1 + d 2 ) lc 3 sen (θ 2 + θ 3 )θ1

( )
−m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ3 )θ1 θ 2 + θ3 + m f ( l2 cos θ 2 + l3 cos (θ 2 + θ 3 ) ) l3 sen (θ 2 + θ 3 )θ12

(
−m f ( d1 + d 2 ) l3 sen (θ 2 + θ3 )θ1 − m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1 θ 2 + θ 3 + m f l32 θ 2 + θ 3 ) ( )
+m θ3 1
2
(l 2 ( )
cos θ 2 + lc 3 cos (θ 2 + θ 3 ) ) ( lc 3 sen (θ 2 + θ 3 ) ) + m3l2 lc 3 sen θ 3θ 2 θ 2 + θ 3 + m f l2 l3 cos θ 3θ 2 (3.2.97)
+ m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ 3 ) θ1θ 2 + m3 ( d1 + d 2 ) lc 3 cos (θ 2 + θ 3 )θ1θ 3 − m f l2 l3 sen θ 3θ 2θ 3

( )
+ m f l2 l3 sen θ 3θ 2 θ 2 + θ3 + m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 ) θ1θ 2 + m f ( d1 + d 2 ) l3 cos (θ 2 + θ 3 )θ1θ 3
+ m3 glc 3 cos (θ 2 + θ 3 ) + m f gl3 cos (θ 2 + θ 3 ) + β 3θ 3 = τ 3

Las ecuaciones (3.2.95), (3.2.96) y (3.2.97) forman el modelo dinámico del robot
manipulador PUMA, para escribir las ecuaciones anteriores en la forma matricial (3.2.50),
la definición de las matrices es la siguiente:

- 33 -
Capítulo 3. Modelado Dinámico

M 11 ( q ) = m1lc12 + I1 + I 2 + I 3 + m2 d12 + m2 lc 2 2 cos 2 ( q2 + φ ) + ( m3 + m f )(d + d2 )


2
1

+ m3 ( l2 cos q2 + lc 3 cos ( q2 + q3 ) ) + m f ( l2 cos q2 + l3 cos ( q2 + q3 ) )


2 2

M 12 ( q ) = − m3 ( d1 + d 2 ) ( l2 sen q2 + lc 3 sen ( q2 + q3 ) ) + m2 dlc 2 sen ( q2 + φ )


− m f ( d1 + d 2 ) ( l2 sen q2 + l3 sen ( q2 + q3 ) )
M 13 ( q ) = −m3lc 3 sen ( q2 + q3 )( d1 + d 2 ) − m f l3 sen ( q2 + q3 )( d1 + d 2 )
M 21 ( q ) = m2 dlc 2 sen ( q2 + φ ) − ( m3 + m f )(d 1 + d 2 ) l2 sen q2 − m3 ( d1 + d 2 ) lc 3 sen ( q2 + q3 )
− m f ( d1 + d 2 ) l3 sen ( q2 + q3 )
M 22 ( q ) = m2 lc 2 2 + m3l2 2 + I 2 + m3lc 32 + 2m3l2 lc 3 cos q3 + I 3 + m f l32 + 2m f l2 l3 cos q3 + m f l2 2
M 23 ( q ) = m3lc 32 + m3l2 lc 3 cos q3 + I 3 + m f l32 + m f l2 l3 cos q3
M 31 ( q ) = − m3 ( d1 + d 2 ) lc 3 sen ( q2 + q3 ) − m f ( d1 + d 2 ) l3 sen ( q2 + q3 )
M 32 ( q ) = m3lc 32 + m3l2 lc 3 cos q3 + I 3 + m f l32 + m f l2 l3 cos q3
M 33 ( q ) = m3lc 32 + m f l32 + I 3
⎡ M 11 ( q ) M 12 ( q ) M 13 ( q ) ⎤
⎢ ⎥
M ( q ) = ⎢ M 21 ( q ) M 22 ( q ) M 23 ( q ) ⎥
⎢⎣ M 31 ( q ) M 32 ( q ) M 33 ( q ) ⎥⎦
C11 ( q, q ) = −q2 m2 lc 2 2 cos (12 + φ ) sen ( q2 + φ ) − q2 ( m3 + m f ) l2 2 cos q2 sen q2 − q2 ( m3lc 3 + m f l3 ) l2 cos q2 sen ( q2 + q3 )
− q2 ( m3lc 3 + m f l3 ) l2 cos ( q2 + q3 ) sen q2 − q2 ( m3lc 32 + m f l32 ) cos ( q2 + q3 ) sen ( q2 + q3 )
− q3 ( m3lc 3 + m f l3 ) l2 cos q2 sen ( q2 + q3 ) − q3 ( m3lc 32 + m f l32 ) cos ( q2 + q3 ) sen ( q2 + q3 )
C12 ( q, q ) = −q1m2 lc 2 2 cos ( q2 + φ ) sen ( q2 + φ ) − q1 ( m3 + m f ) l2 2 cos q2 sen q2 − q1 ( m3lc 3 + m f l3 ) l2 cos q2 sen ( q2 + q3 )
− q1 ( m3lc 3 + m f l3 ) l2 cos ( q2 + q3 ) sen q2 − q1 ( m3lc 32 + m f l32 ) cos ( q2 + q3 ) sen ( q2 + q3 )
− q3 ( m3lc 3 + m f l3 ) ( d1 + d 2 ) cos ( q2 + q3 ) − ( m3 + m f )(d1 + d 2 ) l2 cos q2 q2
− m2 d1lc 2 cos ( q2 + φ ) q2 − ( m3lc 3 + m f l3 ) ( d1 + d 2 ) cos ( q2 + q3 ) q2

C13 ( q, q ) = − q1 ( m3lc 3 + m f l3 ) l2 cos q2 sen ( q2 + q3 ) − q1 ( m3lc 32 + m f l32 ) cos q (θ 2 + q3 ) sen ( q2 + q3 )


− q2 ( m3lc 3 + m f l3 ) ( d1 + d 2 ) cos ( q2 + q3 ) − ( m3lc 3 + m f l3 ) ( d1 + d 2 ) cos ( q2 + q3 ) q3
C21 ( q, q ) = −m2 lc 2 2 cos ( q2 + φ ) sen ( q2 + φ ) q1 − m3 q1 ( l2 cos q2 + lc 3 cos ( q2 + q3 ) ) ( l2 sen q2 + lc 3 sen ( q2 + q3 ) )
− m f q1 ( l2 cos q2 + l3 cos ( q2 + q3 ) ) ( l2 sen q2 + l3 sen ( q2 + q3 ) )
C22 ( q, q ) = − m3l2 lc 3 sen q3 q3 − m f l2 l3 sen q3 q3
C23 ( q, q ) = − m3l2 lc 3 sen q3 ( q2 + q3 ) − m f l2 l3 sen q3 ( q2 + q3 )
C31 ( q, q ) = m3 q12 ( l2 cos q2 + lc 3 cos ( q2 + q3 ) ) ( lc 3 sen ( q2 + q3 ) ) + m f ( l2 cos q2 + l3 cos ( q2 + q3 ) ) l3 sen ( q2 + q3 ) q12
C32 ( q, q ) = m3l2 lc 3 sen q3 q2 ( q2 + q3 ) + m f l2 l3 sen q3 q2 ( q2 + q3 )
C33 ( q, q ) = −m3l2 lc 3 sen q3 q2 q3 − m f l2 l3 sen q3 q2 q3
⎡ C11 ( q, q ) C12 ( q, q ) C13 ( q, q ) ⎤
⎢ ⎥
C ( q, q ) = ⎢C21 ( q, q ) C22 ( q, q ) C23 ( q, q ) ⎥
⎢⎣C31 ( q, q ) C32 ( q, q ) C33 ( q, q ) ⎥⎦
B1 ( q ) = β1q1
B2 ( q ) = β 2 q2

- 34 -
Controladores de robots rígidos: un análisis comparativo

B3 ( q ) = β 3 q3
B ( q ) = ⎡⎣ B1 ( q ) B2 ( q ) B3 ( q ) ⎤⎦
T

g1 ( q ) = 0
g 2 ( q ) = −m2 glc 2 cos ( q2 + φ ) + m3 g ( l2 cos q2 + lc 3 cos ( q2 + q3 ) ) + m f g ( l2 cos q2 + l3 cos ( q2 + q3 ) )
g3 ( q ) = m3 glc 3 cos ( q2 + q3 ) + m f gl3 cos ( q2 + q3 )
g ( q ) = ⎡⎣ g1 ( q ) g 2 ( q ) g3 ( q ) ⎤⎦
T

3.3. Validación del modelo dinámico de cada Robot


Para comprobar que el modelado dinámico es correcto, se va a comparar el modelo
dinámico de cada robot manipulador, con el modelo que se obtiene por el programa que se
encuentra en capítulo IX del libro [Iñigo 2004], generalizando este programa a un
movimiento en las 3 coordenadas articulares, el listado se muestra en el apéndice C.

3.3.1. Validación del modelo del robot SCORBOT ER-V+


Las gráficas de la respuesta del sistema y la diferencia entre las respuestas de los
modelos se muestran a continuación:
-20
x 10
-5
Torques articulares para seguir la trayectoria deseada x 10 Diferencia entre las respuestas de los modelos
5 4

2
Tao1,Nm

0
Tao1,Nm

0
-5 -2

-10 -4
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
-15
x 10
20 4

2
10
Tao2,Nm
Tao2,Nm

0
0
-2

-10 -4
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
-15
10 x 10
2
5 1
Tao3,Nm

Tao3,Nm

0 0

-5 -1

-10 -2
0 20 40 60 80 100 120 140 160 180 200 0 20 40 60 80 100 120 140 160 180 200
Tiempo (seg) Tiempo (seg)

a) Respuestas del sistema b) Diferencias entre las respuestas de los modelos.


Figura 3.3. Gráficas del programa de validación del modelo dinámico del robot SCORBOT ER-V+

Como se ve en la figura 3.3 b) los errores son prácticamente 0. Con lo que se


comprueba que ambos modelos son iguales.

3.3.1. Validación del modelo del robot PUMA


Las gráficas de la respuesta del sistema y la diferencia entre las respuestas de los
modelos se muestran en la figura 3.4.

- 35 -
Capítulo 3. Modelado Dinámico

-21
-6
Torques articulares para seguir la trayectoria deseada x 10 Diferencia entre las respuestas de los modelos
x 10
0 2

-2 1

Tao1,Nm
Tao1,Nm

0
-4
-1
-6
-2
-8 0 20 40 60 80 100 120 140 160 180 200
0 20 40 60 80 100 120 140 160 180 200
-15
x 10
8 3

6 2

Tao2,Nm
Tao2,Nm

1
4
0
2
-1
0 0 20 40 60 80 100 120 140 160 180 200
0 20 40 60 80 100 120 140 160 180 200
-15
x 10
4 2

Tao3,Nm
2
Tao3,Nm

0
0

-1
-2 0 20 40 60 80 100 120 140 160 180 200
0 20 40 60 80 100 120 140 160 180 200
Tiempo (seg)
Tiempo (seg)

a) Respuestas del sistema b) Diferencias entre las respuestas de los modelos.


Figura 3.4. Gráficas del programa de validación del modelo dinámico del robot PUMA

Como se ve en la figura 3.4 b) los errores son prácticamente 0. Con lo que se


comprueba que ambos modelos son iguales.

3.5. Propiedades del modelo dinámico de un robot manipulador de n gdl


Las propiedades que se presentan en la estructura de la representación dinámica del
robot manipulador son muy utilizadas en el diseño de controladores, cada una de las
matrices de la ecuación dinámica del manipulador cuenta con propiedades notables, así
como la representación general.
M ( q ) q + C ( q, q ) q + g ( g ) = τ (3.5.1)

3.5.1. Linealidad en los parámetros dinámicos


Propiedad 3.1. La ecuación dinámica (3.5.1) es no lineal respecto del vector de estado
T
⎡⎣ qT qT ⎤⎦ , sin embargo cuenta con la propiedad de expresarse en términos lineales de los
parámetros estáticos del robot manipulador, por ejemplo: masas e inercias.

Considérense las matrices M ( q ) , C ( q, q ) y el vector g ( g ) del modelo dinámico,


se cuenta con la siguiente propiedad:

Para todo u, v, w ∈ n
, se tiene:

M ( q ) q + C ( q , q ) q + g ( g ) = Φ ( q , u , v, w ) θ + k ( q , u , v , w ) (3.5.2)

Donde k ( q, u , v, w ) es un vector de n×1 , Φ ( q, u , v, w ) es una matriz de n × m y


θ∈ m
depende exclusivamente de los parámetros estáticos del robot manipulador y de su
carga.

- 36 -
Controladores de robots rígidos: un análisis comparativo

Es conveniente resaltar que siempre es posible encontrar un vector θ ∈ m para el


cual k ( q, u , v, w ) ≡ 0 ∈ m . Considerando esto y tomando u = q y v = w = q , la ecuación
(3.5.2) se puede escribir:

Y ( q, q, q ) θ = M ( q ) q + C ( q, q ) q + g ( g ) = τ (3.5.3)

Donde Y ( q, q, q ) = Φ ( q, q, q, q ) es una matriz de n × m y θ es un vector de m ×1


que contiene las m constantes dependientes de los parámetros dinámicos y depende de la
selección de parámetros del robot.

3.5.2. Matriz de inercia M (q)


La matriz de inercia M ( q ) es una matriz simétrica definida positiva de n × n cuyos
elementos son funciones únicamente de q, la cual, satisface las siguientes propiedades:

Propiedad 3.2. Existe una constante real positiva tal que:


M (q) ≥ α I ∀q ∈ n (3.5.4)
Donde I denota la matriz identidad de dimensión n. La matriz M ( q )
−1
existe y es
definida positiva.

Las siguientes 3 propiedades existen en robots provistos únicamente de


articulaciones rotatorias:

Propiedad 3.3. Existe una constante β > 0 tal que:


λMax {M ( q )} ≤ β ∀q ∈ n (3.5.5)

Una manera sencilla de calcular β está dada por:

β ≥ n ⎡ max M ij ( q ) ⎤ (3.5.6)
⎢⎣ i , j ,q ⎥⎦

Donde M ij ( q ) denota al ij-ésimo elemento de la matriz M ( q ) .

Propiedad 3.4. Existe una constante k M > 0 tal que:


M ( x ) z − M ( y ) z ≤ kM x − y z (3.5.7)

Para todo vector x, y, z ∈ n


. Una manera sencilla de determinar kM es:
⎡ ∂M ij ( q ) ⎤
k M ≥ n 2 ⎢ max ⎥ (3.5.8)
⎣⎢
i , j ,k ,q ∂qk ⎦⎥

- 37 -
Capítulo 3. Modelado Dinámico

Propiedad 3.5. Existe una constante k 'M > 0 tal que:


M ( x ) y ≤ k 'M y ∀x, y ∈ n
(3.5.9)

3.5.3. Matriz centrífuga y de Coriolis C ( q, q ) .


La matriz centrífuga y de Coriolis C ( q, q ) es una matriz simétrica definida positiva
de n × n cuyos elementos son funciones de q y q , y satisface las siguientes propiedades:

Propiedad 3.6. La matriz C ( q, q ) puede no ser única, pero el vector C ( q, q ) q es único.


Propiedad 3.7. C ( q, 0 ) = 0 para todo vector q ∈ n
.
Propiedad 3.8. El vector C ( q, x ) y puede expresarse de la forma:
⎡ xT C1 ( q ) y ⎤
⎢ T ⎥
x C2 ( q ) y ⎥
C ( q, x ) y = ⎢ (3.5.10)
⎢ ⎥
⎢ T ⎥
⎣⎢ x Cn ( q ) y ⎦⎥
Donde Ck ( q ) son matrices simétricas de dimensión n para todo k=1,2,…,n. De
hecho el ij-ésimo elemento Ckij ( q ) de la matriz Ck ( q ) corresponde al símbolo de
Christoffel.

Las siguientes propiedades existen en robots provistos únicamente de articulaciones


rotatorias:

Propiedad 3.9. Existe una constante kC1 > 0 tal que:


C ( q, x ) y ≤ kC1 x y (3.5.11)
Para todo q, x, y ∈ n
.

Propiedad 3.10. Existen constantes kC1 > 0 y kC2 > 0 tales que:
C ( x, z ) w − C ( y, v ) w ≤ kC1 z − v w + kC2 x − y w z (3.5.12)
n
Para todo vector v, x, y, z , w∈ .

Propiedad 3.11. La matriz C ( q, q ) está relacionada con la matriz de inercia M ( q ) por la


expresión:
⎡1 ⎤
xT ⎢ M ( q ) − C ( q , q ) ⎥ x = 0 ∀q, q, x ∈ n
(3.5.13)
⎣2 ⎦

- 38 -
Controladores de robots rígidos: un análisis comparativo

3.5.4. Vector de gravedad g (q)


El vector de pares gravitacionales g ( q ) de n ×1 depende sólo de las posiciones
articulares q. El vector g ( q ) esta acotado si q lo está también. Adicionalmente g ( q )
satisface las siguientes propiedades:

Propiedad 3.12. El vector g ( q ) y el vector de velocidad q pueden relacionarse mediante:

∫ g (q) qdt = u ( q (T ) ) − u ( q ( 0 ) )
T T
(3.5.14)
0

Para todo T ∈ + .

Las siguientes propiedades existen en robots provistos únicamente de articulaciones


rotatorias:

Propiedad 3.13. Existe una constante finita ku tal que:

∫ g (q) qdt +u ( q ( 0 ) ) ≥ ku
T T
(3.5.15)
0

Para todo T ∈ + y donde ku = min q {u ( q )} .

Propiedad 3.14. El vector g ( q ) es Lipschutz, existe una constante k g ≥ 0 tal que:


g ( x ) − g ( y ) ≤ kg x − y (3.5.16)
Para todo x, y ∈ n
. Una forma sencilla de calcular k g es como:
⎡ ∂g ( q ) ⎤
k g ≥ n ⎢ max i ⎥ (3.5.17)
⎢⎣ i , j ,q ∂q j ⎥⎦

Además, k g satisface:
∂g ( q ) ⎧ ∂g ( q ) ⎫
kg ≥ ≥ λMax ⎨ ⎬ (3.5.18)
∂q ⎩ ∂q ⎭

Propiedad 3.15. Existe una constante k ' tal que:


g (q) ≤ k ' (3.5.19)
Para todo q ∈ n

3.5.5. Dinámica Residual ( )


h q, q
Asociada a cada modelo dinámico de robots existe una función denominada
dinámica residual de notable importancia para el estudio de la estabilidad de controladores
( )
de robots. La dinámica residual h q, q se define de la siguiente manera:

- 39 -
Capítulo 3. Modelado Dinámico

( ) ( )
h q, q = ⎡⎣ M ( qd ) − M ( qd − q ) ⎤⎦ qd + ⎡⎣C ( qd , qd ) − C qd − q, qd − q ⎤⎦ qd
(3.5.20)
+ g ( qd ) − g ( qd − q )

Propiedad 3.16. Existen constantes kh1 , kh2 > 0 tales que la norma de la dinámica residual
cumple con:
( )
h q, q ≤ kh1 q + kh2 f ( q ) (3.5.21)
Para todo q, q ∈ n
, donde f ( q ) es la función tangente hiperbólica definida como:
⎡ tanh ( x1 ) ⎤
⎢ ⎥
f ( x) = ⎢ ⎥ (3.5.22)
⎢⎣ tanh ( xn ) ⎥⎦

Si se desea leer más sobre las propiedades del modelo dinámico de un robot
manipulador de articulacione rotatorias se puede consultar [Kelly 2003]

3.6. Modelado Dinámico por medio de la formulación de Hamilton


El modelado de un sistema mecánico a partir de las ecuaciones de Hamilton se basa
en la energía cinética del sistema en función de las variables físicas naturales
(desplazamiento y momento).

Para obtener el modelo dinámico de un sistema por medio de la formulación de


Hamilton es necesario obtener la expresión del Hamiltoniano del sistema y enseguida
desarrollar las ecuaciones de Hamilton. Los pasos a seguir s muestran a continuación.

Se debe de obtener la expresión de la energía cinética del sistema en función del


momento articular.
1 2
K ( p) = p (3.6.1)
2I

En la ecuación (3.6.1) la variable I representa la inercia total del sistema. Como


siguiente paso, se debe obtener la expresión de la energía potencial del sistema en función
de la coordenada articular.
U ( q ) = mgh (3.6.2)

El Hamiltoniano del sistema se define como la suma de la energía cinética y la


energía potencial.
H ( q, p ) = K ( p ) + U ( q ) (3.6.3)

Por último se desarrollan las ecuaciones de movimiento de Hamilton.


∂H ( q, p )
qi = (3.6.4)
∂pi
∂H ( q, p )
pi = − + ui (3.6.5)
∂qi

- 40 -
Controladores de robots rígidos: un análisis comparativo

Se pueden desarrollar las ecuaciones de Hamilton a partir de la formulación de


Euler-Lagrange como se observa en [Scherpen 2001], para ello se sabe que:
∂L
pi = = M ( q ) qi (3.6.6)
∂qi

La expresión del Hamiltoniano del sistema se vuelve:


1 T −1
H ( q, p ) = p M p +U (q) (3.6.7)
2

Se debe de tener en cuenta que por medio de las formulaciones de Euler-Lagrange


y Hamilton se obtienen modelos dinámicos diferentes de un mismo sistema, pero dichos
modelos son equivalentes.

3.6.1. Modelado dinámico por la metodología de Hamilton


Para realizar el modelado dinámico del robot SCORBOT ER-V+ por medio de las
ecuaciones de Hamilton se va a partir del desarrollo de la formulación de Euler-Lagrange,
siguiendo el procedimiento mostrado en la sección anterior.

Como primer paso se obtienen la inversa de la matriz de inercias. Definiendo los


siguientes elementos:
a1 = m3 lc 32 + m f l32 + I 3
a2 = m3 lc 3 2 + m3 l2 lc 3 cos ( q3 ) + I 3 + m f l3 2 + m f l2 l3 cos ( q3 )
a3 = m2 lc 2 2 + I 2 + m3 lc 32 + m3 l2 2 + 2 m3 l2 lc 3 cos ( q3 ) + I 3 + m f l32 + m f l2 2 + 2 m f l2 l3 cos ( q3 )
b1 = I1 + m2 lc 2 2 ( cos ( q2 ) ) + 2 m3 l2 lc 3 cos ( q2 ) cos ( q2 + q3 ) + m3 lc 32 ( cos ( q2 + q3 ) ) + m3 l2 2 ( cos ( q2 ) )
2 2 2

+ 2 m f l2 l3 cos ( q2 ) cos ( q2 + q3 ) + m f l32 ( cos ( q2 + q3 ) ) + m f l2 2 ( cos ( q2 ) ) + I 2 + I 3


2 2

b2 = I 2 m f l32 + m32 l2 2 lc 32 + m f l2 2 I 3 + m2 lc 2 2 I 3 + m3 l2 2 I 3 + I 2 m3 lc 3 2 + m f 2 l2 2 l32 + I 2 I 3 + m2 lc 2 2 m3 lc 3 2 + m2 lc 2 2 m f l3 2

+ m3 l2 2 m f l32 + m f l2 2 m3 lc 32 − m3 2 l2 2 lc 3 2 ( cos ( q3 ) ) − m f 2 l2 2 l32 ( cos ( q3 ) ) − 2 m3 l2 2 lc 3 ( cos ( q3 ) ) m f l3


2 2 2

La inversa de la matriz de inercias es:


⎡1 ⎤
⎢ 0 0 ⎥
⎢ b1 ⎥
⎢ a1 a2 a2 ⎥
M −1 ( q ) = ⎢ 0 − − ⎥ (3.6.8)
⎢ b2 b2 b2 ⎥
⎢ a2 a3 ⎥
⎢0 − ⎥
⎣⎢ b2 b2 ⎦⎥

Con la matriz anterior, se puede obtener el Hamiltoneano del robot SCORBOT ER-
V+ aplicando la ecuación (3.6.7). Con el Hamiltoneano del robot se desarrollan las
ecuaciones (3.6.4) y(3.6.5). Para escribir el modelo dinámico primero se redefinen los
siguientes elementos:
a1 = p2 m3 lc 32 + p2 m f l32 + p2 I 3 − p3 m3 lc 32 − p3 m3 l2 lc 3 cos ( q3 ) − p3 I 3 − p3 m f l32 − p3 m f l2 l3 cos ( q3 )

- 41 -
Capítulo 3. Modelado Dinámico

a2 = − p2 m3 lc 32 − p2 m3 l2 lc 3 cos ( q3 ) − p2 I 3 − p2 m f l3 2 − p2 m f l2 l3 cos ( q3 ) + p3 m2 lc 2 2 + p3 I 2
+ p3 m3 lc 32 + p3 m3 l2 2 + 2 p3 m3 l2 lc 3 cos ( q3 ) + p3 I 3 + p3 m f l3 2 + p3 m f l2 2 + 2 p3 m f l2 l3 cos ( q3 )
⎛ −2 m2 lc 2 2 cos ( q2 ) sin ( q2 ) − 2 m3 l2 lc 3 sin ( q2 ) cos ( q2 + q3 ) − 2 m3 l2 lc 3 cos ( q2 ) sin ( q2 + q3 ) ⎞
⎜ ⎟
a3 = p12 ⎜ −2 m3 lc 32 cos ( q2 + q3 ) sin ( q2 + q3 ) − 2 m3 l2 2 cos ( q2 ) sin ( q2 ) − 2 m f l2 l3 sin ( q2 ) cos ( q2 + q3 ) ⎟
⎜ ⎟
⎜ −2 m f l2 l3 cos ( q2 ) sin ( q2 + q3 ) − 2 m f l32 cos ( q2 + q3 ) sin ( q2 + q3 ) − 2 m f l2 2 cos ( q2 ) sin ( q2 ) ⎟
⎝ ⎠
⎛ −2 m3 l2 lc 3 cos ( q2 ) sin ( q2 + q3 ) − 2 m3 lc 32 cos ( q2 + q3 ) sin ( q2 + q3 ) ⎞
a4 = p12 ⎜
⎜ −2 m l l cos ( q ) sin ( q + q ) − 2 m l 2 cos ( q + q ) sin ( q + q ) ⎟⎟
⎝ f 2 3 2 2 3 f 3 2 3 2 3 ⎠
⎛ 2 m 2 l 2 l 2 cos ( q3 ) sin ( q3 ) + 2 m f 2 l2 2 l32 cos ( q3 ) sin ( q3 ) ⎞
a5 = p2 ( m3 lc 32 + m f l32 + I 3 ) ⎜ 3 2 2c 3 ⎟⎟
⎜ +4 m l l cos ( q ) m l sin ( q )
⎝ 3 2 c3 3 f 3 3 ⎠
a6 = p3 ( −m3 l2 lc 3 sin ( q3 ) − m f l2 l3 sin ( q3 ) )
⎛ m3 lc 32 + m3 l2 lc 3 cos ( q3 ) + I 3 + m f l32 ⎞ ⎛ 2 m32 l2 2 lc 32 cos ( q3 ) sin ( q3 ) + 2 m f 2 l2 2 l32 cos ( q3 ) sin ( q3 ) ⎞
a7 = p3 ⎜ ⎟⎜ ⎟⎟
⎜ + m l l cos ( q ) ⎟ ⎜ +4 m3 l2 2 lc 3 cos ( q3 ) m f l3 sin ( q3 )
⎝ f 2 3 3 ⎠⎝ ⎠
a8 = p2 ( −m3 l2 lc 3 sin ( q3 ) − m f l2 l3 sin ( q3 ) )
⎛ m3 lc 32 + m3 l2 lc 3 cos ( q3 ) + I 3 + m f l32 ⎞ ⎛ 2 m32 l2 2 lc 32 cos ( q3 ) sin ( q3 ) + 2 m f 2 l2 2 l32 cos ( q3 ) sin ( q3 ) ⎞
a9 = p2 ⎜ ⎟⎜ ⎟⎟
⎜ + m l l cos ( q ) ⎟ ⎜ +4 m3 l2 2 lc 3 cos ( q3 ) m f l3 sin ( q3 )
⎝ f 2 3 3 ⎠⎝ ⎠
a10 = p3 ( −2 m3 l2 lc 3 sin ( q3 ) − 2 m f l2 l3 sin ( q3 ) )
⎛ m2 lc 2 2 + I 2 + m3 lc 32 + m3 l2 2 ⎞
⎜ ⎟ ⎛ 2 m 2 l 2 l 2 cos ( q3 ) sin ( q3 ) + 2 m f 2 l2 2 l32 cos ( q3 ) sin ( q3 ) ⎞
a11 = p3 ⎜ +2 m3 l2 lc 3 cos ( q3 ) + I 3 + m f l3 ⎟ ⎜ 3 2 2c 3
2
⎟⎟

⎜ ⎟ ⎝ +4 m3 l2 lc 3 cos ( q3 ) m f l3 sin ( q3 ) ⎠
⎝ + m f l2 + 2 m f l2 l3 cos ( q3 )
2

b1 = I1 + m2 lc 2 2 ( cos ( q2 ) ) + 2 m3 l2 lc 3 cos ( q2 ) cos ( q2 + q3 ) + m3 lc 32 ( cos ( q2 + q3 ) ) + m3 l2 2 ( cos ( q2 ) )
2 2 2

+ 2 m f l2 l3 cos ( q2 ) cos ( q2 + q3 ) + m f l32 ( cos ( q2 + q3 ) ) + m f l2 2 ( cos ( q2 ) ) + I 2 + I 3


2 2

b2 = I 2 m f l32 + m32 l2 2 lc 32 + m f l2 2 I 3 + m2 lc 2 2 I 3 + m3 l2 2 I 3 + I 2 m3 lc 32 + m f 2 l2 2 l32 + I 2 I 3 + m2 lc 2 2 m3 lc 32 + m2 lc 2 2 m f l32


+ m3 l2 2 m f l32 + m f l2 2 m3 lc 32 − m32 l2 2 lc 32 ( cos ( q3 ) ) − m f 2 l2 2 l32 ( cos ( q3 ) ) − 2m3 l2 2 lc 3 ( cos ( q3 ) ) m f l3
2 2 2

Con los elementos definidos anteriormente se puede construir las ecuaciones del
modelo dinámico del robot SCORBOT ER-V+ por medio de la formulación de Hamilton.
p1
q1 =
b1
a
q2 = 1
b2
a2
q3 = (3.6.9)
b2
p1 = τ 1
1 a3
p2 = + τ 2 − m2 lc 2 g cos ( q2 ) − m3 g ( l2 cos ( q2 ) + lc 3 cos ( q2 + q3) ) − m f g ( l2 cos ( q2 ) + l3 cos ( q2 + q3 ) )
2 b12
1 a4 1 ⎛ a5 a6 a7 ⎞ 1 ⎛ a8 − a10 a9 − a11 ⎞
p3 = − ⎜− − + ⎟ p2 − ⎜ − + ⎟ p3 + τ 3
2 b12 2 ⎝ b12 b2 b2 2 ⎠ 2⎝ b2 b2 2 ⎠
− m3 glc 3 cos ( q2 + q3 ) − m f gl3 cos ( q2 + q3 )

- 42 -
Controladores de robots rígidos: un análisis comparativo

Como se puede observar en la ecuación (3.6.9), aunque el modelo del robot


SCORBOT ER-V+ se forma de tres ecuaciones de primer grado es mucho más complejo
que el modelo obtenido por medio de la formulación de Euler-Lagrange.

Debido a la complejidad que presenta el modelo dinámico del robot PUMA, al ser
obtenido por la formulación de Hamilton, no se detalla este modelo. Sin embargo, el
modelo es completamente equivalente al modelo de Euler-Lagrange.

3.6.2. Comparación del modelo dinámico del robot SCORBOT ER-V+ obtenido
por la metodología de Hamilton con el modelo dinámico obtenido por medio de
la metodología de Euler-Lagrange.
Para la comparación se observó la diferencia en la evolución de las posiciones y
velocidades articulares al tener como entrada:
τ = [ 0.01 0.1 0.1]

La gráfica de los resultados son las siguientes:


Diferencia en las posiciones articulares del robot SCORBOT ER-V+
0.1
% Δθ1

% Δθ2
0.05
% Δθ3
% Δθ (rad)

-0.05

-0.1
0 0.5 1 1.5 2 2.5 3 3.5 4
% Δθ´1

% Δθ´2
Diferencia en las velocidades articulares del robot SCORBOT ER-V+
0.05 % Δθ´3
% Δθ´ (rad/s)

-0.05
0 0.5 1 1.5 2 2.5 3 3.5 4
tiempo (s)

Figura 3.6. Diferencias en porcentajes que existen en la comparación entre los modelos obtenidos por
las metodologías de Euler-Lagrange y Hamilton

En la gráfica de porcentajes existen discontinuidades debido a que en dichos puntos


las posiciones y velocidades articulares valen 0.

- 43 -
Capítulo 3. Modelado Dinámico

Hoja en Blanco

- 44 -
Controladores de robots rígidos: un análisis comparativo

Capítulo 4

Control de Movimiento
Al comienzo de este capítulo se presentan los diferentes objetivos que busca
alcanzar el control de robots manipuladores, después se estudian los fundamentos de la
teoría de Lyapunov.

Una vez estudiados los fundamentos de la teoría de Lyapunov se procederá al


diseño de los controladores de posición, incluyendo el análisis del acotamiento de las
señales. Después de realizar el diseño de los controladores se muestra una simulación de la
respuesta del robot al ser controlado por cada uno de los controladores diseñados.

4.1. Introducción
Los controladores de robots manipuladores pueden ser clasificados a partir del
objetivo de control que busquen alcanzar:

1. Control de posición. El objetivo del control de posición es lograr que el robot


manipulador alcance una posición deseada, esta posición es constante en el tiempo
( q ( t ) = 0 ).

- 45 -
Capítulo 4. Control de Movimiento

2. Control de movimiento. El objetivo del control de posición es lograr que el robot


manipulador alcance una posición deseada, esta posición es variante en el tiempo
( q (t ) ≠ 0 )
3. Control de trayectoria. El objetivo del control de trayectoria es lograr que el robot
manipulador alcance una posición y velocidad deseadas.

4.2. Fundamentos Matemáticos de la teoría de Lyapunov.


La teoría de estabilidad de Lyapunov tiene como principal objetivo estudiar el
comportamiento de sistemas dinámicos que son descritos por ecuaciones diferenciales de la
forma:
x (t ) = f (t, x (t )) , x ( 0) ∈ n (4.2.1)

En la ecuación (4.2.1) el vector x ( t ) ∈ n


se refiere al estado del sistema y
x ( 0) ∈ n
es la condición inicial o estado inicial. La función f ( t , x ( t ) ) es una función
contínua en t y x ( t ) , y se supone es tal que:
• La ecuación (4.2.1) tiene una solución única en el intervalo [0, ∞ ) correspondiente a
cada condición inicial del sistema.
• Si x ( t ) es la solución de (4.2.1) correspondiente a la condición inicial x ( 0 ) ,
entonces x ( t ) depende de una forma contínua del estado inicial x ( 0 ) .

Si la función f ( t , x ( t ) ) no depende explícitamente del tiempo se denomina


autónoma.

4.2.1. Conceptos Básicos


4.2.1.1. Punto de Equilibrio
Un vector constante xe ∈ n
es un equilibrio o estado de equilibrio del sistema
(4.2.1) si:
f ( t , xe ) = 0 ∀t ≥ 0 (4.2.2)

4.2.1.2. Estabilidad en el sentido de Lyapunov


El origen x = 0 ∈ n es un equilibrio estable (en el sentido de Lyapunov) de la
ecuación (4.2.1) si para cada número ε > 0 se puede encontrar un número δ > 0 , tal que:
x (0) < δ ⇒ x (t ) < ε ∀t ≥ 0 (4.2.3)

Si el punto de equilibrio a analizar no se encuentra en el origen, se requiere aplicar


un cambio de coordenadas y trasladarlo al origen y así realizar el análisis de estabilidad.

- 46 -
Controladores de robots rígidos: un análisis comparativo

4.2.1.3. Estabilidad asintótica global


El origen x = 0 ∈ n es un equilibrio asintóticamente estable en forma global de la
ecuación (4.2.1) si:
• El origen es estable.
• El origen es atractivo globalmente, es decir,
x ( t ) → 0 cuando t → ∞, ∀x ( 0 ) ∈ n (4.2.4)

4.2.1.4. Estabilidad exponencial global


El origen x = 0 ∈ n es un equilibrio exponencialmente estable en forma global de
la ecuación (4.2.1) si existen constantes positivas α y β tales que:
x ( t ) < α x ( 0 ) e− β t , ∀t ≥ 0, ∀x ( 0 ) ∈ n
(4.2.5)

4.2.2. Método directo de Lyapunov


Con los conceptos preliminares anteriores, ahora se pueden presentar las
definiciones y teoremas fundamentales de la teoría de Lyapunov.

Definición 4.1. Función candidata de Lyapunov


Una función V ( t , x ) es una función candidata de Lyapunov para el equilibrio
x = 0 ∈ n de la ecuación (4.2.1) si:
• V ( t , x ) es una función definida positiva localmente.
• V ( t , x ) es continuamente diferenciable.

Definición 4.2 Función de Lyapunov


Una función candidata de Lyapunov V ( t , x ) para el sistema (4.2.1), es una función de
Lyapunov si su derivada a lo largo de las trayectorias de (4.2.1) satisface:
V ( t , x ) ≤ 0, ∀t ≥ 0 (4.2.6)

Teorema 4.1 Estabilidad


El origen x = 0 ∈ n es un estado de equilibrio estable de la ecuación (4.2.1), si existe
una función candidata de Lyapunov V ( t , x ) tal que su derivada temporal satisfaga:
V ( t , x ) ≤ 0, ∀t ≥ 0 (4.2.7)

Teorema 4.2 Estabilidad asintótica global


El origen x = 0 ∈ n es un estado de equilibrio asintóticamente estable en forma global
de la ecuación (4.2.1), si existe una función candidata de Lyapunov V ( t , x ) , radialmente
desacotada, tal que su derivada temporal satisfaga:
• V ( t , 0 ) = 0, ∀t ≥ 0 (4.2.8)

- 47 -
Capítulo 4. Control de Movimiento

• V ( t , x ) < 0, ∀t ≥ 0, ∀x ≠ 0 ∈ n
(4.2.9)

Teorema 4.3 LaSalle


Considérese la ecuación diferencial autónoma x = f ( x ) . Cuyo origen x = 0 ∈ n
es
un equilibrio. Supóngase que una función candidata de Lyapunov V ( t , x ) , radialmente
desacotada, tal que:
V ( t , x ) ≤ 0, ∀t ≥ 0 (4.2.10)

Defínase el conjunto Ω como Ω = { x ∈ n


: V ( x ) = 0} .
Si x ( 0 ) = 0 es la única condición inicial en Ω para la cual x ( t ) ∈ Ω para t ≥ 0 ,
entonces el origen x = 0 ∈ n
es un equilibrio asintóticamente estable en forma global.

4.3. Diseño de los controladores de movimiento


En esta sección se presenta el diseño de los controladores de movimiento, para cada
controlador se realiza el análisis de estabilidad y el análisis del acotamiento de las señales.

Para realizar el estudio de estabilidad se siguen dos metodologías diferentes, las


cuales se detallan a continuación a partir de la secuencia de pasos a seguir:

Metodología 1. Cuando ya se conoce el controlador y está enfocada al análisis de


estabilidad:
1. Establecer la ecuación dinámica del sistema.
2. Establecer la ecuación dinámica deseada.
3. Obtener la ecuación dinámica del error.
4. Desarrollar la ecuación dinámica del error de lazo cerrado (incluyendo la
ecuación del controlador).
5. Proponer una función candidata a Lyapunov que incluya a todos los estados de
la ecuación dinámica del error.
6. Derivar la función de Lyapunov y evaluar a lo largo de la trayectoria.
7. Si la derivada de la función es definida negativa, el sistema en lazo cerrado es
estable.

Metodología 2.Cuando se realiza el diseño de un controlador que asegure la


estabilidad del sistema.
1. Establecer la ecuación dinámica del sistema.
2. Establecer la ecuación dinámica deseada.
3. Obtener la ecuación dinámica del error.
4. Proponer una función candidata a Lyapunov que incluya a todos los estados de
la ecuación dinámica del error.
5. Derivar la función de Lyapunov y evaluar a lo largo de la trayectoria.
6. Forzar a que la derivada de la función sea definida negativa, al hacerlo se
obtiene la ecuación del controlador.

- 48 -
Controladores de robots rígidos: un análisis comparativo

4.3.1. Controlador PID.


Como se ve en [Kelly 2003] para que el sistema tenga equilibrio en el origen y
pueda realizarse el análisis de estabilidad por el método de Lyapunov se debe tener una
posición deseada constante, considerando esto, el desarrollo para el análisis se muestra a
continuación.

La ecuación dinámica del error.


M ( q ) q + C ( q, q ) q − B ( q ) − g ( q ) = −τ (4.2.11)

Donde:
M (q) Es la matriz de inercias.
C ( q, q ) Es la matriz de fuerzas centrífugas y de Coriolis.
B (q) Es el vector de disipación.
g (q) Es el vector de fuerzas de gravedad.
τ Es el vector de pares articulares de entrada.
q = qd − q
q = qd − q
q = qd − q

La ecuación dinámica de lazo cerrado.


M ( q ) q + C ( q , q ) q − B ( q ) − g ( q ) = − k P q − k v q − ki ξ
(4.2.12)
ξ =q
Escribiendo la ecuación (4.2.12) en notación matricial se tiene:
⎡ξ ⎤ ⎡ q ⎤
⎢ ⎥ ⎢ ⎥
x = ⎢q ⎥ = ⎢ q ⎥ (4.2.13)
⎢ q ⎥ ⎢ M q −1 ⎡ −k q − k q − k ξ − C q, q q + B q + g q ⎤ ⎥
⎣ ⎦ ⎢⎣ ( ) ⎣ P v i ( ) ( ) ( ) ⎦ ⎥⎦

En la ecuación (4.2.13) el punto de equilibrio es:


xe = ⎡⎣ − ki −1 ⎡⎣ B ( q ) + g ( q ) ⎤⎦ 0 0 ⎤⎦
T
(4.2.14)

Para analizar la estabilidad del sistema de la ecuación (4.2.13), trasladamos el punto


de equilibrio (4.2.14) al origen, con lo que se tiene:
⎡z⎤ ⎡ q ⎤
⎢q⎥ = ⎢ −

⎢ ⎥ ⎢ q ⎥ (4.2.15)
⎢⎣ q ⎥⎦ ⎢ − M ( q )−1 ⎡ −k q + k q − k z + C ( q, q ) q ⎤ ⎥
⎢⎣ ⎣ P v i ⎦ ⎥⎦

Por interés de estudio, para obtener los márgenes de ganancia, se va a aplicar el


siguiente cambio de variable:
⎡ y ⎤ ⎡α I I 0⎤ ⎡ z ⎤
⎢q ⎥ = ⎢ 0 I 0 ⎥⎥ ⎢⎢ q ⎥⎥ (4.2.16)
⎢ ⎥ ⎢
⎢⎣ q ⎥⎦ ⎢⎣ 0 0 I ⎥⎦ ⎢⎣ q ⎥⎦

- 49 -
Capítulo 4. Control de Movimiento

En la ecuación (4.2.16) la restricción para la determinación de la constante es:


λmin {M ( q )} λmin {kv } λmax {ki }
>α > (4.2.17)
λmax {M ( q )}
2
λmin {k p } − k g

Con lo que la ecuación (4.2.15) se vuelve:


⎡ ⎤
⎢ ⎥
⎡ y⎤ ⎢ αq −q ⎥
⎢q ⎥ = ⎢ (4.2.18)
− q ⎥
⎢ ⎥ ⎢ ⎥
⎣⎢ q ⎦⎥ ⎢ −1 ⎡ ⎛ 1 ⎞ 1 ⎤⎥
⎢ − M ( q ) − k −
⎢ ⎜ P α i⎟
k q + k q − k y + C ( q , q ) q ⎥⎥
α
v i
⎣ ⎣ ⎝ ⎠ ⎦⎦

Para el análisis de la estabilidad la función candidata a Lyapunov propuesta es la


ecuación (4.2.19). Cuando se selecciona una ecuación candidata ésta debe de incluir al
menos un elemento de cada estado del sistema que se esta analizando.
⎡1 ⎤
⎡ y⎤
T
⎢ α ki 0 0 ⎥ ⎡ y⎤
⎢ ⎥ ⎛ 1 ⎞
( 2
)
V q, q, y = ⎢⎢ q ⎥⎥
1
⎢ 0 α kv −α M ( q ) ⎥ ⎢⎢ q ⎥⎥ + qT
1
2
⎜ k P − ki ⎟ q
⎝ α ⎠
(4.2.19)
⎢⎣ q ⎥⎦ ⎢ 0 −α M ( q ) M ( q ) ⎥ ⎢⎣ q ⎥⎦
⎢ ⎥
⎣ ⎦

Una variante de la ecuación (4.2.19) se puede encontrar en [Kelly 2003]. Derivando


la ecuación (4.2.19) y evaluando a lo largo de la trayectoria:
V ( q , q , y ) = − q T ( α k P − ki ) q − q T ( k v − α M ( q ) ) q − q T α C ( q , q ) q
T
(4.2.20)

De las propiedades de las matrices simétricas y definidas positivas se prueba que los
dos primeros términos de la ecuación (4.2.20) satisfacen las siguientes desigualdades:
−qT ( kv − α M ) q ≤ − ⎡⎣λmin {kv } − αλmax {M }⎤⎦ q
2
(4.2.21)
−qT (α k p − ki ) q ≤ − ⎡⎣αλmin {k p } − λmax {ki }⎤⎦ q
2
(4.2.22)

De la propiedad C ( x, y ) z ≥ kC1 y z se presenta:


−α qT C ( q, q ) q ≤ α kC1 q q
T 2
(4.2.23)

Con lo que la derivada de la ecuación de Lyapunov satisface:


T
⎡ q ⎤ ⎡Q11 0 ⎤⎡ q ⎤
V ( q, q, y ) ≤ − ⎢ ⎥ ⎢ ⎢ ⎥ (4.2.24)
⎣q⎦ ⎣ 0 Q22 ( q ) ⎥⎦ ⎣ q ⎦

En la ecuación (4.2.24) se tiene:


Q11 = αλmin {k p } − λmax {ki } (4.2.25)
Q22 ( q ) = λmin {kv } − α ⎡⎣λmax {M } + kC1 q ⎤⎦ (4.2.26)

De las ecuaciones (4.2.25) y (4.2.26) se tiene que:

- 50 -
Controladores de robots rígidos: un análisis comparativo

λmax {ki }
α> (4.2.27)
λmin {k p }
λmin {kv }
>α (4.2.28)
λmax {M } + kC1 q

Cumpliendo las desigualdades (4.2.27) y (4.2.28) la derivada de la función


candidata de Lyapunov es semidefinida positiva. De los desarrollos de la presente sección
surgen las siguientes condiciones para la sintonía del controlador PID:
λmax {ki } > λmin {ki } > 0 (4.2.29)
λmax {k p } > λmin {k p } > 0 (4.2.30)
λmax {ki } λmax 2 {M }
λmax {kv } > λmin {kv } > (4.2.31)
λmin {k p } λmin {M }

Acotamiento de las señales


Partiendo de la ecuación (4.2.24) se ve que:
0 ≤ V ( q, q, y ) < V ( q ( 0 ) , q ( 0 ) , y ( 0 ) ) (4.2.32)

Con lo que:
1 T⎛ 1 ⎞
( )
V q (0) , q ( 0) , y ( 0) > q ⎜ α k v + k P − ki ⎟ q − q T α M ( q ) q
2 ⎝ α ⎠
(4.2.33)

( ) 1
V q ( 0 ) , q ( 0 ) , y ( 0 ) > q T M ( q ) q − qT α M ( q ) q
2
(4.2.34)

Sacando la norma
1 2⎛ ⎞
( )
V q (0) , q ( 0) , y (0) >
2
q ⎜ αλmin { KV } + λmin { K P } − λmin { K I } ⎟ − αλmin {M ( q )} q q

1
α ⎠
(4.2.35)

( )
V q ( 0 ) , q ( 0 ) , y ( 0 ) > q λmin {M ( q )} − qT α M ( q ) q − αλmin {M ( q )} q q
1 2
2
(4.2.36)

Agrupando para formar una ecuación cuadrática:


1 2⎛ ⎞
2 ⎝ α ⎠
(
0 > q ⎜ αλmin { KV } + λmin { K P } − λmin { K I } ⎟ − αλmin {M ( q )} q q − V q ( 0 ) , q ( 0 ) , y ( 0 )
1
) (4.2.37)
1 2
2
(
0 > q λmin {M ( q )} − αλmin {M ( q )} q q − V q ( 0 ) , q ( 0 ) , y ( 0 ) ) (4.2.38)

La cota del error de posición es:


⎛ ⎞
αλmin {M ( q )} q + ( q αλ {M ( q )}) 1
(
+ 2 ⎜ αλmin { KV } + λmin { K P } − λmin { K I } ⎟ V q ( 0 ) , q ( 0 ) , y ( 0 ) )
2
min
⎝ α ⎠ (4.2.39)
q ≤
⎛ 1 ⎞
⎜ αλmin { KV } + λmin { K P } − λmin { K I } ⎟
⎝ α ⎠

Como qd está acotado, entonces q también está acotado.

- 51 -
Capítulo 4. Control de Movimiento

La cota de la velocidad es:


αλmin {M ( q )} q + ( q αλ {M ( q )}) (
+ 2λmin {M ( q )}V q ( 0 ) , q ( 0 ) , y ( 0 ) )
2

q ≤
min
(4.2.40)
λmin {M ( q )}

Con esta cota, se tienen las cotas de las señales de posición y velocidad y de la señal
de error.

4.3.2. Controlador PD por dinámica Inversa.


La ecuación (4.2.41) es la ecuación del controlador por dinámica inversa [Barrientos
1999].
τ = M ( q ) τˆ + C ( q, q ) q + B ( q ) + g ( q ) (4.2.41)

En la ecuación anterior la variable τˆ es el compensador para controlar el sistema.


Por lo general es deseado que este compensador tenga una forma lineal. Se sabe que la
ecuación de lazo abierto del robot manipulador es:
M ( q ) q + C ( q, q ) q + B ( q ) + g ( q ) = τ (4.2.42)

Proponiendo un compensador con la forma de un controlador PD ( qd + K v q + K p q ), la


ecuación del controlador por dinámica inversa se muestra en la ecuación (4.2.43).
τ = M ( q ) ⎡⎣ qd + K v q + K p q ⎤⎦ + C ( q, q ) q + B ( q ) + g ( q ) (4.2.43)

Escribiendo la ecuación anterior de lazo cerrado en notación matricial se tiene:


⎡q ⎤ ⎡ 0 I ⎤ ⎡q ⎤
x=⎢ ⎥=⎢ (4.2.44)
⎣q ⎦ ⎣− K p − K v ⎥⎦ ⎢⎣ q ⎥⎦

En la ecuación anterior el punto de equilibrio es xe = [ 0 0] . Para el análisis de la


T

estabilidad la ecuación candidata a Lyapunov propuesta es:


T
1 ⎡q ⎤ ⎡ K p 0⎤ ⎡ q ⎤
V ( q, q ) = (4.2.45)
2 ⎢⎣ q ⎥⎦ ⎢⎣ 0 I ⎥⎦ ⎢⎣ q ⎥⎦

Derivando (4.2.45) y evaluando a lo largo de la trayectoria:


V ( q, q ) = −qT K v q (4.2.46)

Con lo que la derivada de la ecuación de Lyapunov siempre es semidefinida


negativa lo que prueba que el sistema es estable. Para probar la estabilidad global se debe
de aplicar el teorema de La Salle. Definiendo el conjunto Ω como:
Ω = { x ∈ n : V ( x ) = 0} (4.2.47)

En el conjunto Ω se tienen los elementos:


Ω = { x1 = q ∈ , x2 = q = 0 ∈ } (4.2.48)

- 52 -
Controladores de robots rígidos: un análisis comparativo

De la ecuación (4.2.48) se tiene que x2 ( t ) = 0 por lo tanto su derivada es x2 ( t ) = 0 .


Para que la derivada de la segunda variable de estado sea cero se debe tener K p x1 ( t ) = 0 y
como K p es simétrica y definida positiva la única solución válida es que x1 ( t ) = 0 .

Por lo tanto, los elementos del conjunto Ω son Ω = { x1 = 0, x2 = 0} , con lo cual se


prueba la estabilidad asintótica global.

Análisis del acotamiento de las señales


Como la derivada de la función de Lyapunov es definida negativa, se tiene:
0 ≤ V ( q, q ) < V ( q ( 0 ) , q ( 0 ) ) (4.2.49)

Con lo que:
(
V q (0) , q ( 0) > )1 T
2
q KP q (4.2.50)

( )1
V q ( 0 ) , q ( 0 ) > q T KV q
2
(4.2.51)

Sacando la norma a las ecuaciones anteriores:


(
V q ( 0) , q ( 0) > )1 2
2
q λmin { K P } (4.2.52)

( )1 2
V q ( 0 ) , q ( 0 ) > q λmin { I }
2
(4.2.53)

La cota del error de posición es:


q ≤
(
2V q ( 0 ) , q ( 0 ) ) (4.2.54)
λmin {K P }

La cota del error de velocidad es:


q ≤
(
2V q ( 0 ) , q ( 0 ) ) (4.2.55)
λmin { I }

Como las señales qd y qd están acotadas, y los errores de posición y velocidad


también lo están, la posición y velocidad reales se encuentran acotadas.

4.3.3. Controlador Robusto.


El controlador robusto contrarresta el efecto de las incertidumbres paramétricas en
el modelado. Como primer paso, partiendo de la ecuación (4.2.41) para el control por
dinámica inversa y considerando la incertidumbre en los parámetros se tiene:
τ = M 0 ( q ) a + C0 ( q, q ) q + B0 ( q ) + g 0 ( q ) (4.2.56)

Donde los elementos M 0 ( q ) , C0 ( q, q ) , B0 ( q ) y g0 ( q ) se encuentran definidos con


parámetros nominales .

Seleccionando el compensador lineal PD ( a = qd + KV q + K P q ) , sustituyéndolo en la


ecuación anterior y desarrollando la ecuación de lazo cerrado, se llega a:

- 53 -
Capítulo 4. Control de Movimiento

M ( q ) q + C ( q, q ) q + B ( q ) + g ( q ) = M 0 ( q ) a + C0 ( q, q ) q + B0 ( q ) + g 0 ( q ) (4.2.57)

Despejando la aceleración.
q = M (q)
−1
{M 0 ( q ) a + ⎡⎣C0 ( q, q ) − C ( q, q )⎤⎦ q + ⎡⎣ B0 ( q ) − B ( q )⎤⎦ ⎡⎣ g0 ( q ) − g ( q )⎤⎦} (4.2.58)

Definiendo:
C ( q, q ) = C0 ( q, q ) − C ( q, q ) (4.2.59)
B ( q ) = B0 ( q ) − B ( q ) (4.2.60)
g ( q ) = g0 ( q ) − g ( q ) (4.2.61)

Sustituyendo las ecuaciones (4.2.59) y (4.2.61) en la ecuación (4.2.58).


q = M (q)
−1
{M 0 ( q ) a + C ( q, q ) q + B ( q ) + g ( q )} (4.2.62)

Desarrollando y sumando y restando a.


⎣ { }
q = a + ⎡ M ( q ) M 0 ( q ) − I a + M ( q ) C ( q , q ) q + M −1 ( q ) B ( q ) + M ( q ) g ( q ) ⎤
−1 −1 −1


(4.2.63)

Definiendo la incertidumbre en los parámetros.


{ −1
}
η ( q, q, a ) = M ( q ) M 0 ( q ) − I a + M ( q ) C ( q, q ) q + M ( q ) g ( q )
−1 −1
(4.2.64)

La ecuación (4.2.63) se vuelve:


q = a + η ( q, q, a ) (4.2.65)

Si no existiera incertidumbre, η ( q, q, a ) = 0 la ley de control sería a = qd + KV q + K P q ,


pero cuando η ( q, q, a ) ≠ 0 se requiere agregar un término a la ley de control que contrarreste
el efecto de la incertidumbre y la ley de control se vuelve a = qd − KV q − K P q + Δa .

Para el caso nominal (η ( q, q, a ) = 0 ) el controlador PD por par computado es


suficiente.

Para el caso donde se presenta la incertidumbre, la ecuación dinámica del error es:
q + KV q + K P q = Δ a + η ( q , q , a ) (4.2.66)

Pasando al espacio de estados.


x = Ax + B ⎡⎣ Δa + η ( q, q, a ) ⎤⎦ (4.2.67)

En la ecuación (4.2.67) se tiene:


⎡ 0 I ⎤
A=⎢ (4.2.68)
⎣− K P − KV ⎥⎦
⎡0 ⎤
B=⎢ ⎥ (4.2.69)
⎣I ⎦

- 54 -
Controladores de robots rígidos: un análisis comparativo

Para llevar a cabo el análisis de Lyapunov, se sabe que sólo existe una matriz P que
cumple con la ecuación de Lyapunov.
AT P + PA = −Q (4.2.70)

Proponiendo la función candidata Lyapunov:


V ( x ) = xT Px (4.2.71)

Derivando (4.2.71) y evaluando a lo largo de la trayectoria.


V ( x ) = − xT Qx + 2 xT PB ⎡⎣ Δa + η ( q, q, a ) ⎤⎦ (4.2.72)

En la ecuación (4.2.72) el primer término es semidefinido negativo, pero se tiene


que analizar el signo del segundo término. Suponiendo que la incertidumbre está acotada
η ( q, q, a ) ≤ ρ ( x, t ) . Haciendo w = BT Px , por lo tanto wT = xT PB . Sustituyendo en la
ecuación (4.2.72).
xT PB ( Δa + η ( q, q, a ) ) = wT ( Δa + η ( q, q, a ) ) (4.2.73)

Considerando el término de control adicional:


⎧ w
⎪ − ρ ( x, t ) w si w ≠0
. Δa = ⎨ (4.2.74)
⎪0 si w =0

Si w = 0 se tiene V ( x ) = − xT Qx ≤ 0 , el sistema es estable.

Si w ≠ 0 se tiene la ecuación (4.2.75).


V ( x ) = − xT Qx + 2 ⎡⎣ − ρ ( x, t ) w + wT η ( q, q, a ) ⎤⎦ (4.2.75)

Analizando el interior de los corchetes de la ecuación (4.2.75).


(
− ρ ( x, t ) w + wT η ( q, q, a ) ≤ w − ρ ( x, t ) + η ( q, q, a ) ) (4.2.76)

Usando la suposición de acotamiento η ( q, q, a ) ≤ ρ ( x, t ) .


( − ρ ( x, t ) + η ( q , q, a ) ) ≤ 0 (4.2.77)

En función de la ecuación (4.2.77) resulta


(
V ( x ) ≤ − xT Qx + 2 w − ρ ( x, t ) + η ( q, q, a ) ≤ 0 ) (4.2.78)

Con lo que se ve que el sistema es estable, sin embargo, no es posible concluir que
exista la estabilidad asintótica global.

Acotamiento de las señales


Partiendo de:
( ) (
0 ≤ V q, q < V q ( 0 ) , q ( 0 ) ) (4.2.79)

- 55 -
Capítulo 4. Control de Movimiento

Con lo que:
(
V q (0) , q ( 0) >) 1 T
2
1 +
q Pq
1 T
2
q ( P2 + P3 ) q (4.2.80)

( ) 1 1
V q ( 0 ) , q ( 0 ) > qT P4 q + qT ( P2 + P3 ) q
2 2
(4.2.81)

Sacando la norma a las ecuaciones anteriores:


(
V q (0) , q ( 0) >) 1 2
2
1
q λmin { P1 } + q q λmin { P2 + P3 }
2
(4.2.82)

( ) 1 2 1
V q ( 0 ) , q ( 0 ) > q λmin { P4 } + q q λmin { P2 + P3 }
2 2
(4.2.83)

Agrupando para formar una ecuación cuadrática:


1 2 1
(
0 > q λmin { P1} + q q λmin { P2 + P3 } − V q ( 0 ) , q ( 0 )
2 2
) (4.2.84)
1 2 1
(
0 > q λmin { P4 } + q q λmin { P2 + P3 } − V q ( 0 ) , q ( 0 )
2 2
) (4.2.85)

La cota del error de posición es:


2
⎛1 ⎞

1
2 ⎝2 ⎠
(
q λmin { P2 + P3 } + ⎜ q λmin { P2 + P3 } ⎟ + 2λmin { P1}V q ( 0 ) , q ( 0 ) )
q ≤ (4.2.86)
λmin { P1}

La cota del error de velocidad es:


2
⎛1 ⎞

1
2 ⎝2 ⎠
(
q λmin { P2 + P3 } + ⎜ q λmin { P2 + P3 } ⎟ + 2λmin { P4 }V q ( 0 ) , q ( 0 ) )
q ≤ (4.2.87)
λmin { P4 }

Como las señales qd y qd están acotadas, y los errores de posición y velocidad


también lo están, la posición y velocidad reales se encuentran acotadas.

4.3.4. Controlador adaptable.


Para el diseño del controlador adaptable, primero se propone un controlador con los
parámetros estimados.
τ = Mˆ ( q ) a + Cˆ ( q, q ) q + gˆ ( q ) (4.2.88)

Para la ecuación (4.2.88), de igual forma que en el controlador robusto, se


selecciona un compensador lineal PD con lo que a = qd − K P q − KV q . Tomando en cuenta la
parametrización lineal en los parámetros de la representación matricial –ecuación (4.2.89)–.
M ( q ) q + C ( q, q ) q + g ( q ) = Y ( q, q, q ) θ (4.2.89)
M ( q ) q + C ( q, q ) q + gˆ ( q ) = Y ( q, q, q ) θ
ˆ ˆ ˆ (4.2.90)

La definición del error en los parámetros se muestra a continuación.


M ( q ) = Mˆ ( q ) − M ( q ) (4.2.91)

- 56 -
Controladores de robots rígidos: un análisis comparativo

C ( q, q ) = Cˆ ( q, q ) − C ( q, q ) (4.2.92)
g ( q ) = gˆ ( q ) − g ( q ) (4.2.93)
θ = θˆ − θ (4.2.94)

Desarrollando la ecuación de lazo cerrado.


Mˆ ( q )( q − a ) = M ( q ) q + C ( q, q ) q + g ( q ) = Y ( q, q, q ) θ (4.2.95)
( q − a ) = Mˆ Y ( q, q, q ) θ = Φθ
−1
(4.2.96)

La ecuación dinámica del error.


q + KV q + K P q = Φ θ (4.2.97)

Pasando al espacio de estados.


x = Ax + BΦθ (4.2.98)

En la ecuación (4.2.98) se tiene:


⎡ 0 I ⎤
A=⎢ (4.2.99)
⎣− K P − KV ⎥⎦
⎡0 ⎤
B=⎢ ⎥ (4.2.100)
⎣I ⎦

Para llevar a cabo el análisis de Lyapunov, se sabe que sólo existe una matriz P que
cumple con la ecuación de Lyapunov (ecuación (4.2.70)). Proponiendo la función candidata
Lyapunov:
V ( x, θ ) = xT Px + θ T Γθ (4.2.101)

Derivando (4.2.71) y evaluando a lo largo de la trayectoria.


( )
V x, θ = − xT Qx + 2θ T ⎡⎢ΦT BT Px + Γθ ⎤⎥
⎣ ⎦
(4.2.102)

Para que la ecuación sea semidefinida negativa se requiere:


Φ B Px + Γθ = 0
T T
(4.2.103)

Con lo que la ecuación (4.2.102) se vuelve V ( x, θ ) = − xT Qx ≤ 0 .

De la ecuación (4.2.103) surge la ley de actualización de parámetros.


θ = −Γ ΦT BT Px−1
(4.2.104)

Nótese que si x → 0 y θ → cte con t → ∞ hay convergencia global.

Acotamiento de las señales


Partiendo de:
( ) (
0 ≤ V q, q, θ < V q ( 0 ) , q ( 0 ) , θ ( 0 ) ) (4.2.105)

- 57 -
Capítulo 4. Control de Movimiento

Con lo que:
(
V q ( 0 ) , q ( 0 ) ,θ ( 0 ) > )
1 T
2
1 +
q Pq
1 T
2
q ( P2 + P3 ) q (4.2.106)

( )
1 1
V q ( 0 ) , q ( 0 ) ,θ ( 0 ) > qT P4 q + qT ( P2 + P3 ) q
2 2
(4.2.107)

( )
1 T
V q ( 0 ) , q ( 0 ) , θ ( 0 ) > θ Γθ
2
(4.2.108)

Sacando la norma a las ecuaciones anteriores:


(
V q ( 0 ) , q ( 0 ) ,θ ( 0 ) > ) 1 2
2
1
q λmin { P1} + q q λmin { P2 + P3 }
2
(4.2.109)

(
V q ( 0 ) , q ( 0 ) ,θ ( 0 ) ) 1 2 1
> q λmin { P4 } + q q λmin { P2 + P3 }
2 2
(4.2.110)

(
V q ( 0 ) , q ( 0 ) ,θ ( 0 ) ) 1 2
> θ λmin {Γ}
2
(4.2.111)

Agrupando para formar una ecuación cuadrática:


1 2 1
(
0 > q λmin { P1 } + q q λmin { P2 + P3 } − V q ( 0 ) , q ( 0 ) ,θ ( 0 )
2 2
) (4.2.112)
1 2 1
(
0 > q λmin { P4 } + q q λmin { P2 + P3 } − V q ( 0 ) , q ( 0 ) ,θ ( 0 )
2 2
) (4.2.113)

La cota del error de posición es:


2
⎛1 ⎞

1
2 ⎝2 ⎠
(
q λmin { P2 + P3 } + ⎜ q λmin { P2 + P3 } ⎟ + 2λmin { P1}V q ( 0 ) , q ( 0 ) ,θ ( 0 ) )
q ≤ (4.2.114)
λmin { P1}

La cota del error de velocidad es:


2
⎛1 ⎞

1
2 ⎝2 ⎠
(
q λmin { P2 + P3 } + ⎜ q λmin { P2 + P3 } ⎟ + 2λmin { P4 }V q ( 0 ) , q ( 0 ) ,θ ( 0 ) )
q ≤ (4.2.115)
λmin { P4 }

La cota de los parámetros:


θ ≤
(
2V q ( 0 ) , q ( 0 ) ,θ ( 0 ) ) (4.2.116)
λmin {Γ}

Como las señales qd y qd están acotadas, y los errores de posición y velocidad


también lo están, la posición y velocidad se encuentran acotadas.

- 58 -
Controladores de robots rígidos: un análisis comparativo

Capítulo 5

Control de seguimiento de trayectoria


En este capítulo se muestran los diseños de los controladores de seguimiento de
trayectoria. Que consiste en seguir un conjunto de posiciones y velocidades deseadas.

Al principio del capítulo se estudia el error combinado de seguimiento, este error es


una pieza clave en el diseño de un controlador de seguimiento de trayectoria. Después, se
realizan los diseños de cada uno de los controladores de seguimiento de trayectoria.

5.1. Error combinado de seguimiento


Para realizar el control de seguimiento de trayectoria se define el error combinado
de seguimiento como [Slotine 1998]:
s = q + Λq = qd − q + Λq = q − qr (5.1.1)

Donde el vector qr = qd − Λq es llamado vector de velocidad de referencia. La


ecuación anterior puede ser considerada como una ecuación diferencial en q de primer
orden, donde si s → 0 cuando t → ∞ también q → 0 y q → 0 . De igual forma si s está
acotada, también q y q lo estarán.

- 59 -
Capítulo 5. Control de seguimiento de trayectoria

5.2. Diseño de los controladores de seguimiento de trayectoria


5.2.1. Controlador PD más compensación
Se sabe que la ecuación de lazo abierto del robot manipulador es la ecuación.
M ( q ) q + C ( q, q ) q + B ( q ) + g ( q ) = τ (5.2.1)

Restando ⎡⎣ M ( q ) qr + C ( q, q ) qr ⎤⎦ a ambos lados de la ecuación.


⎡⎣ M ( q ) q + C ( q, q ) q + g ( q ) = τ ⎤⎦ ± ⎡⎣ M ( q ) qr + C ( q, q ) qr ⎤⎦ (5.2.2)

Agrupando y combinando términos:


M ( q ) s + C ( q, q ) s = τ − ⎡⎣ M ( q ) qr + C ( q, q ) qr + g ( q ) ⎤⎦ (5.2.3)
M ( q ) s + C ( q, q ) s = τ − Y ( q, q, qr , qr , qr ) θ (5.2.4)

Donde θ es el vector de parámetros del sistema.

Para el análisis de la estabilidad la ecuación candidata de Lyapunov propuesta es:


1
V ( s ) = sT M ( q ) s (5.2.5)
2

La derivada de la ecuación de Lyapunov es:


1 T
V ( s ) = sT M ( q ) s + s M (q) s (5.2.6)
2

Evaluando a lo largo de la trayectoria y reduciendo.


V ( s ) = sT ⎡⎣τ − Y ( q, q, qr , qr , qr ) θ ⎤⎦ (5.2.7)

Para lograr que el sistema sea estable y que el error de seguimiento sea cero la
derivada de la ecuación de Lyapunov debe ser menor que cero, y para lograrlo se propone
− K S s = τ − Y ( q, q, qr , qr , qr ) θ , sustituyendo en la ecuación (5.2.7).
V ( s ) = − sT K S s (5.2.8)

Con la ecuación (5.2.8) se ve que el sistema es asintóticamente estable y el error


combinado de seguimiento tiende a cero. La ecuación del controlador es:
τ = Y ( q , q , qr , q r , q r ) θ − K S s (5.2.9)

Acotamiento de las señales


Como la ecuación (5.2.8) es definida negativa, se parte de:
0 ≤ V ( s ) < V ( s ( 0)) (5.2.10)

Con lo que:
V ( s ( 0)) >
1 T
s M (q) s (5.2.11)
2

- 60 -
Controladores de robots rígidos: un análisis comparativo

Sacando la norma:
V ( s ( 0)) > s λmin {M ( q )}
1 2 (5.2.12)
2

La cota del error de seguimiento de trayectoria es:


2V ( s ( 0 ) )
s ≤ (5.2.13)
λmin {M ( q )}

A partir de la ecuación anterior, y lo comentado en la sección 5.1, los errores de


posición y de velocidad están acotados y, como las señales qd y qd están acotadas la
posición y velocidad se encuentran acotadas.

5.2.2. Controlador Robusto.


Como primer paso, y partiendo del caso anterior, en el que se considera que se
conocen todos los parámetros, por lo que le llamaremos “caso nominal” (sistema y
controlador nominales), ahora se considera que no se conocen con precisión los parámetros,
es decir, existe incertidumbre paramétrica. Es una práctica común basarse en la ley de
control nominal y determinar términos de control adicionales para enfrentar los efectos de
las incertidumbres.

De la ecuación de control nominal (PD más compensación) y considerando


parámetros nominales:
τ = Y ( q, q, qr , qr , qr ) θ 0 − K S s (5.2.14)

Donde θ 0 es el vector de parámetros nominales si el vector de parámetros reales


está denotado como θ .

Sumando un término al controlador nominal para contrarrestar la incertidumbre en


los parámetros, se obtendría la siguiente ley de control para el caso real que considera la
incertidumbre en los parámetros:
τ = Y ( q , q , qr , qr , q r ) θ 0 − K S s + ω (5.2.15)

Sustituyendo la ecuación (5.2.15) en la ecuación del robot manipulador para obtener


la ecuación de lazo cerrado:
M ( q ) q + C ( q , q ) q + g ( q ) = Y ( q , q , q r , qr , q r ) θ 0 − K S s + ω (5.2.16)
M ( q ) q + C ( q, q ) q + g ( q ) = ⎡⎣ M 0 ( q ) qr + C0 ( q, q ) qr + g 0 ( q ) ⎤⎦ − K S s + ω (5.2.17)

Donde M ( q ) , C ( q, q ) , g ( q ) están definidos con los parámetros reales y M 0 ,


C0 ( q, q ) , g 0 ( q ) están definidos con parámetros nominales.

Restando ⎡⎣ M ( q ) qr + C ( q, q ) qr ⎤⎦ a ambos lados de la ecuación (4.2.42).


M ( q ) s + C ( q, q ) s = ⎡⎣ M 0 ( q ) qr + C0 ( q, q ) qr + g 0 ( q ) ⎤⎦ − K S s + ω
(5.2.18)
− ⎡⎣ M ( q ) qr + C ( q, q ) qr ⎤⎦ − g ( q )

- 61 -
Capítulo 5. Control de seguimiento de trayectoria

Definiendo:
M (q) = M0 (q) − M (q) (5.2.19)
C ( q, q ) = C0 ( q, q ) − C ( q, q ) (5.2.20)
g ( q ) = g0 ( q ) − g ( q ) (5.2.21)
θ = θ0 − θ (5.2.22)

Agrupando términos.
M ( q ) s + C ( q, q ) s = − K S s + ω + ⎡⎣( M 0 ( q ) − M ( q ) ) qr + ( C0 ( q, q ) − C ( q, q ) ) qr + ( g 0 ( q ) − g ( q ) ) ⎤⎦ (5.2.23)
M ( q ) s + C ( q , q ) s = − K S s + ω + Y ( q , q , q r , q r , qr ) θ (5.2.24)

Proponiendo la función candidata de Lyapunov como se muestra en la ecuación


(4.2.71).
1 T
V (s) = s M (q) s (5.2.25)
2

Derivando la ecuación anterior y evaluando a lo largo de la trayectoria.


V ( s ) = sT ⎡⎣ − K S s + ω + Y ( q, q, qr , qr , qr ) θ ⎤⎦ (5.2.26)

En la ecuación anterior el primer término (el que contiene la constante proporcional)


es semidefinido negativo, pero se tiene que analizar el signo del segundo término.
Suponiendo que la incertidumbre esta acotada θ − θ 0 ≤ ρ . Haciendo ω = Y ( q, q, qr , qr , qr ) χ .
Sustituyendo en la ecuación (5.2.26).
V ( s ) = − sT K S s + sT Y ( q, q, qr , qr , qr ) (θ + χ ) (5.2.27)

Para que el segundo término sea cero, y en consecuencia el sistema sea


asintóticamente estable, se propone:
χ =−
(Y s )
T

ρ2 ε >0 (5.2.28)
sT Y ρ + ε

Para el caso cuando el segundo término de V ( s ) no sea cero, el sistema sigue siendo
estable, pero se necesita sT K S s ≥ ε , con lo que el error combinado de seguimiento tiene por
cota:
ε
s ≤ (5.2.29)
λmin { K S }

Acotamiento de las señales


En la ecuación (5.2.29) se presenta la cota del error combinado de seguimiento, por
lo que no es necesario hacer el análisis que se viene haciendo con anterioridad. Los errores
de posición y de velocidad están acotados y, como las señales qd y qd están acotadas la
posición y velocidad se encuentran acotadas.

- 62 -
Controladores de robots rígidos: un análisis comparativo

5.2.3. Controlador adaptable


Para el diseño del controlador adaptable, es práctica común basarse en la ley de
control nominal y en lugar de los parámetros reales usar los estimados, por lo que se tiene
que diseñar una ley de estimación de parámetros (es decir, se tiene que diseñar un
observador).

Primero se propone un controlador con los parámetros estimados.


τ = Mˆ ( q ) qr + Cˆ ( q, q ) qr + gˆ ( q ) − K S s (5.2.30)

Tomando en cuenta la parametrización lineal de la representación matricial la


ecuación anterior se puede representar como:
τ = Y ( q, q, qr , qr , qr ) θˆ − K S s (5.2.31)

La definición del error en los parámetros se muestra a continuación.


M ( q ) = Mˆ ( q ) − M ( q ) (5.2.32)
C ( q, q ) = Cˆ ( q, q ) − C ( q, q ) (5.2.33)
g ( q ) = gˆ ( q ) − g ( q ) (5.2.34)
θ = θˆ − θ (5.2.35)

Desarrollando la ecuación de lazo cerrado.


M ( q ) q + C ( q, q ) q + g ( q ) = Mˆ ( q ) q + Cˆ ( q, q ) q + gˆ ( q ) − K S s (5.2.36)

Restando ⎡⎣ M ( q ) qr + C ( q, q ) qr ⎤⎦ a ambos lados de la ecuación.


M ( q ) s + C ( q, q ) s = ⎡⎣ Mˆ ( q ) qr + Cˆ ( q, q ) qr + gˆ ( q ) ⎤⎦ − K S s + ω − ⎡⎣ M ( q ) qr + C ( q, q ) qr ⎤⎦ − g ( q ) (5.2.37)
Agrupando y combinando términos:
( ) ( )
M ( q ) s + C ( q, q ) s = − K S s + ⎡ Mˆ ( q ) − M ( q ) qr + Cˆ ( q, q ) − C ( q, q ) qr + ( gˆ ( q ) − g ( q ) ) ⎤
⎣ ⎦
(5.2.38)
M ( q ) s + C ( q, q ) s = − K S s + Y0 ( q, q, qr , qr , qr ) θ (5.2.39)

Proponiendo la siguiente función candidata Lyapunov.


1 T 1
V (s) = s M ( q ) s + θ T Γ −1θ (5.2.40)
2 2

Donde Γ es diagonal y Γ > 0 .

Derivando (5.2.40) y evaluando a lo largo de la trayectoria.


V ( s ) = − sT K S s + θ T ⎡⎢Y T ( q, q, qr , qr , qr ) s + Γ −1θ ⎤⎥ (5.2.41)
⎣ ⎦

Para que la ecuación anterior sea semidefinida negativa se requiere:


θ = −ΓY T ( q, q, qr , qr , qr ) s (5.2.42)

Con lo que la ecuación (4.2.102) se vuelve V ( s ) = − sT K S s .

- 63 -
Capítulo 5. Control de seguimiento de trayectoria

Los parámetros no varían o lo hacen muy lento, con lo que se considera θ = cte ,
θ = 0 , por consiguiente, la ecuación (4.2.103) se vuelve la ley de actualización de
parámetros que se muestra en la ecuación (5.2.43).
θˆ = −ΓY T ( q, q, qr , qr , qr ) s (5.2.43)

El sistema es asintóticamente estable, debido a que la derivada de la función


candidata de Lyapunov es definida negativa para todo valor que pueda tener el error
combinado de seguimiento.
V ( s ) = − sT K S s (5.2.44)

Acotamiento de las señales


Partiendo de:
( ) (
0 ≤ V s, θ < V s ( 0 ) , θ ( 0 ) ) (5.2.45)

Con lo que:
( )
V s ( 0 ) ,θ ( 0 ) >
1 T
2
s M (q) s (5.2.46)

( )1
V q ( 0 ) , q ( 0 ) , θ ( 0 ) > θ T Γθ
2
(5.2.47)

Sacando la norma a las ecuaciones anteriores:


( )
V s ( 0 ) ,θ ( 0 ) >
1 2
2
s λmin {M ( q )} (5.2.48)

( )1 2
V q ( 0 ) , q ( 0 ) , θ ( 0 ) > θ λmin {Γ}
2
(5.2.49)

La cota del error combinado de seguimiento de trayectoria es:


s ≤
(
2V s ( 0 ) ,θ ( 0 ) ) (5.2.50)
λmin {M ( q )}

La cota de los parámetros:


θ ≤
(
2V s ( 0 ) ,θ ( 0 ) ) (5.2.51)
λmin {Γ}

Teniendo la cota del error combinado de seguimiento de trayectoria, se sabe que los
errores de posición y de velocidad están acotados y, como las señales qd y qd están
acotadas la posición y velocidad se encuentran acotadas.

5.2.4. Controlador PID de seguimiento


Recientemente, se ha probado el control PID inverso óptimo en [Choi 2001A], con
algunas restricciones para las ganancias. La ecuación del robot manipulador es:
M ( q ) q + C ( q, q ) q + g ( q ) + d ( t ) = τ (5.2.52)

- 64 -
Controladores de robots rígidos: un análisis comparativo

Donde d(t) es el vector de las perturbaciones externas. Para el caso de seguimiento


de una trayectoria se define s = q + K P q + K I ∫ q , la perturbación extendida puede ser definida
incluyendo la perturbación externa de la siguiente forma:
( ) ( ) ( )
w t , q, q, ∫ q = M ( q ) qd + K P q + K I q + C ( q, q ) qd + K P q + K I ∫ q + q ( q ) + d ( t ) (5.2.53)

En la ecuación anterior KP y KI son matrices constantes y definidas positivas y


M ( q ) = Mˆ ( q ) − M ( q ) . Si la perturbación extendida definida en (5.2.53) es utilizada en la
ecuación (5.2.52) se puede reescribir la ecuación de lazo cerrado de la siguiente forma:
M ( q ) s + C ( q, q ) s = w ( t , q, q, ∫ q ) + τ (5.2.54)

Definiendo el vector de estado x = ⎡⎢( ∫ q )


T
qT ⎤
T
qT , la representación en espacio de
⎣ ⎥⎦
estados de la ecuación anterior esta dada por:
x = A ( x , t ) x + B ( x, t ) w + B ( x, t ) u (5.2.55)

Donde:
⎡ 0 I 0 ⎤

A ( x, t ) = ⎢ 0 0 I ⎥ (5.2.56)

⎣⎢ M CK I M −1C − K P ⎦⎥
−i −i
M CK P − K I
⎡ 0 ⎤
B ( x, t ) = ⎢⎢ 0 ⎥⎥ (5.2.57)
⎢⎣ M −1 ⎥⎦

Para un índice de desempeño general H ∞ que tiene la siguiente forma:


( )
PI t , q, q, ∫ q = lim ⎡ 2V ( x ( t ) , t ) + ∫ ( xT Q ( x ) x + τ T R ( x ) τ − γ 2 wT w ) dτ ⎤
t


(5.2.58)
t →∞ ⎣ 0 ⎦⎥

1
La matriz de Lyapunov en V ( x, t ) = xT P ( x, t ) x tiene la siguiente forma [Choi
2
2001A]:
⎡ K I MK I + K I K P K K I MK P + K I K KI M ⎤
P ( x, t ) = ⎢⎢ K P MK I + K I K K P MK P + K P K K P M ⎥⎥ (5.2.59)
⎣⎢ MK I MK P M ⎦⎥

La función Hamilton-Jacobi para la función de costo (5.2.58) sujeta a (5.2.55) se


encuentra como sigue:
1 (5.2.60)
HIJ = P + AT P + PA − PBR −1 BT P + 2 PBBT P + Q = 0
γ

También, las matrices Q ( x ) y R ( x ) son obtenidas como matrices diagonales


constantes definidas de la siguiente manera:

- 65 -
Capítulo 5. Control de seguimiento de trayectoria

⎡KI 2 K 0 0⎤
⎢ ⎥
Q ( x) = ⎢ 0 (K P
2
− 2K I ) K 0⎥ (5.2.61)
⎢ ⎥
⎢⎣ 0 0 K ⎥⎦
−1
⎛ 1 ⎞
R ( x) = ⎜ K + 2 I⎟ (5.2.62)
⎝ γ ⎠

Con la función HIJ, las matrices Q ( x ) y R ( x ) , el control PID inverso óptimo para
la ecuación de costo (5.2.58) se puede alcanzar en [Choi 2001A]. Para la prueba de
estabilidad, se obtiene la derivada de la ecuación de Lyapunov:
V = Vt + Vx Ax + Vx Bu + Vx Bw (5.2.63)
x ( P + AT P + PA ) x − xT PBR −1 BT Px + xT PBw
1 T
V= (5.2.64)
2

u = −τ . Si reacomodamos la ecuación anterior usando (5.2.60) y la


Donde
1 2
desigualdad de Youg xT PBw ≤ 2 xT PB + γ 2 w 2 , la ecuación (5.2.64) toma la siguiente
γ
forma:
V ≤ − xT ( Q + PBKBT P ) x + γ 2 w
1 2
(5.2.65)
2

Seleccionando una γ que permita − xT ( Q + PBKBT P ) x + γ 2 w 2 ≤ 0 se obtiene que el


1
2
controlador es estable.

La ecuación del controlador esta dada por:


τ = R BT Px−1
(5.2.66)
⎛ ⎞
τ =⎜K +

1
γ2 ⎠
(
I ⎟ q + KPq + KI ∫ q ) (5.2.67)

Donde K , K P , K I > 0 , K P 2 > K I y γ > 0 .

Acotamiento de las señales


Partiendo de:
0 ≤V ( ∫ q, q , q ) < V ( ∫ q ( 0 ) , q ( 0 ) , q ( 0 ) ) (5.2.68)

Con lo que:
V ( ∫ q ( 0) , q ( 0) , q ( 0) ) > 12 q P q + 12 q
T
5
T
( P6 + P8 ) q (5.2.69)

V ( ∫ q ( 0) , q ( 0) , q ( 0)) > q P q + q
1 1
T
9
T
( P6 + P8 ) q (5.2.70)
2 2

Sacando la norma a las ecuaciones anteriores:


V ( ∫ q ( 0) , q ( 0) , q ( 0) ) > 12 q 2
λmin { P5 } +
1
2
q q λmin { P6 + P8 } (5.2.71)

- 66 -
Controladores de robots rígidos: un análisis comparativo

( ∫ q ( 0) , q ( 0) , q ( 0) ) > 12 q λmin { P9 } +
1
q q λmin { P6 + P8 }
2
V (5.2.72)
2

Agrupando para formar una ecuación cuadrática:


1 2 1
0 > q λmin { P5 } + q q λmin { P6 + P8 } − V
2 2
( ∫ q ( 0) , q ( 0) , q ( 0)) (5.2.73)
1 2 1
0 > q λmin { P9 } + q q λmin { P6 + P8 } − V
2 2
( ∫ q ( 0) , q ( 0) , q (0)) (5.2.74)

La cota del error de posición es:


( ∫ q ( 0) , q ( 0) , q ( 0))
2
1 ⎛1 ⎞
− q λmin { P6 + P8 } + ⎜ q λmin { P6 + P8 } ⎟ + 2λmin { P5 }V
2 ⎝2 ⎠ (5.2.75)
q ≤
λmin { P5 }

La cota del error de velocidad es:


( ∫ q ( 0) , q ( 0) , q ( 0))
2
1 ⎛1 ⎞
− q λmin { P6 + P8 } + ⎜ q λmin { P6 + P8 } ⎟ + 2λmin { P9 }V
2 ⎝2 ⎠ (5.2.76)
q ≤
λmin { P9 }

Como las señales qd y qd están acotadas, y los errores de posición y velocidad


también lo están, la posición y velocidad se encuentran acotadas.

- 67 -
Capítulo 5. Control de seguimiento de trayectoria

Hoja en Blanco

- 68 -
Controladores de robots rígidos: un análisis comparativo

Capítulo 6

Sintonización de los controladores


En este capítulo se van a revisar las herramientas para la sintonización de los
controladores (de movimiento y seguimiento de trayectoria), así como el procedimiento que
se sigue para llevar a cabo la sintonización.

Al comienzo de este capítulo se revisan fundamentos para llevar a cabo la


optimización de una función, con dichos fundamentos se puede implementar la
sintonización de los controladores.

Continuando dentro del capítulo se encuentran los conceptos de los algoritmos


genéticos, y los índices de error de un sistema controlado. Ya definiendo los elementos
anteriores se muestra el procedimiento que se sigue para la sintonización de los
controladores, además de mostrar las constantes obtenidas para los controladores.

6.1. Introducción
Generalmente por medio de la técnica de diseño de controladores de Lyapunov, al
asegurar la estabilidad del sistema en lazo cerrado se obtiene un acotamiento para los
valores de las constantes del controlador. Sin embargo, nos deja un margen muy amplio
para la selección de las constantes (por lo regular, que sean definidas positivas),

- 69 -
Capítulo 6. Sintonización de los controladores

permitiendo que la sintonización del controlador se haga de una forma trivial (selección de
constantes arbitraria).

Para evitar una selección arbitraria, se manejan dos posibilidades: la primera recurre
a la realización de un proceso iterativo de prueba y error, el cual se evalúa hasta encontrar
el comportamiento deseado por parte del sistema en lazo cerrado y la segunda trata de la
minimización de una función que sea medida del comportamiento del sistema (como los
índices de desempeño). Para encontrar el mínimo de una función se utilizan las técnicas de
optimización.

6.2. Fundamentos de optimización

6.2.1. Definición del problema de optimización


Un problema de optimización consiste en lo siguiente [Astolfi 2005]:

Encontrar un vector x = [ x1 , x2 ,… , xn ] , que minimice f ( x ) sujeto a las restricciones:


g j ( x ) ≤ 0, j = 1, 2,… , m y li ( x ) ≤ 0, i = 1, 2,… , p .

La variable x es llamada vector de diseño, f ( x ) es la función objetivo, g j ( x ) son


las desigualdades de restricción y li ( x ) son las ecuaciones de restricción. El número de
variables n y el número de restricciones p+m no necesitan estar relacionados. Si p+m=0 el
problema es llamado problema de optimización sin restricciones.

Vector de diseño. Cualquier sistema está descrito por un conjunto de cantidades,


algunas de las cuales son vistas como variables durante el proceso de diseño, y algunas
otras son parámetros preasignados e impuestos por el ambiente. Todas las cantidades que
pueden ser tratadas como variables son llamadas variables de diseño o de decisión, y son
agrupadas en el vector de diseño.

Restricciones de diseño. En la práctica, las restricciones de diseño no pueden ser


escogidas arbitrariamente, pero tienen que satisfacer ciertos requerimientos. Las
restricciones de diseño pueden representar limitaciones en el desempeño o comportamiento
del sistema o limitaciones físicas.

Función objetivo. El procedimiento de diseño clásico busca alcanzar un criterio


aceptable que satisfaga las restricciones. En general existen diferentes diseños aceptables y
el propósito de la optimización es buscar el mejor diseño posible. Entonces, se ha
seleccionado un criterio para la comparación entre diferentes diseños. Este criterio, cuando
se expresa en función de las variables de diseño, se conoce como función objetivo. La
función objetivo se especifica de forma general en consideraciones físicas o económicas.
Sin embargo, la selección de una función objetivo no es trivial, porque el diseño óptimo
respecto a un criterio puede ser inaceptable con respecto a otro criterio. Típicamente existe
un compromiso entre el desempeño y el costo, o el desempeño y la confiabilidad, por lo
tanto la selección de la función objetivo es una de las decisiones más importantes en el
proceso de diseño.

- 70 -
Controladores de robots rígidos: un análisis comparativo

6.2.2. Definición del mínimo de una función


Considerando el problema de optimización definido en la sección anterior, se tienen
las siguientes definiciones:

Definición 6.1. Una bola abierta con centro en x∗ y radio θ > 0 es el conjunto
{
B ( x∗ , θ ) = x ∈ n
| x − x∗ < θ }
Definición 6.2. Un punto x* ∈ X es un mínimo local restringido si existe θ > 0 tal que
f ( y ) ≥ f ( x∗ ) , ∀y ∈ X ∩ B ( x∗ , θ ) (6.1.1)

Definición 6.3. Un punto x* ∈ X es un mínimo global restringido si


f ( y ) ≥ f ( x∗ ) , ∀y ∈ X (6.1.2)
Si la desigualdad (6.1.1) o (6.1.2) mantiene en un sentido estricto el signo para toda

y ≠ x , entonces se dice que el mínimo es estricto.

6.3. Algoritmos Genéticos


Los algoritmos genéticos forman parte de la Computación Evolutiva [Bäck 1992],
que constituye una familia de modelos computacionales inspirados en la evolución natural.

Los algoritmos genéticos constituyen el paradigma más completo de los que


presenta la Computación Evolutiva. Una característica importante es el poco conocimiento
específico que requieren del problema al que se aplican, para su funcionamiento. Permiten
resolver problemas con poco esfuerzo computacional, especialmente en los casos en que
otros métodos fallan o suponen unos requerimientos computacionales excesivos.

Los algoritmos genéticos utilizan una población de individuos, la cual evoluciona al


ser sometidos dichos individuos a una serie de transformaciones mediante determinados
operadores. Se emulan los procesos de selección natural y de reproducción presentes en la
naturaleza, siendo los individuos más fuertes los que sobreviven y procrean a lo largo de la
ejecución del algoritmo.

Los algoritmos genéticos son considerados usualmente como optimizadores de


funciones, aunque el rango de problemas en los cuales han sido y están siendo aplicados es
bastante amplio.

Existen muchos métodos de optimización que han sido desarrollados en


investigación matemática y operativa. Entonces, ¿qué papel realizan los algoritmos
genéticos como herramientas de optimización?. Los algoritmos genéticos se suelen
describir como métodos de búsqueda global [Bäck 1991], que no hacen uso de información
del gradiente, con lo cual no se necesita mucha información acerca de la estructura ni de las
funciones que definen al sistema.

De este modo, las funciones no diferenciables así como las funciones con múltiples
óptimos locales constituyen clases de problemas a los cuales se les puede aplicar
especialmente los algoritmos genéticos. Los algoritmos genéticos, además de realizar pocas

- 71 -
Capítulo 6. Sintonización de los controladores

suposiciones sobre el problema que está siendo resuelto, constituyen un método robusto y
muy general. Sin embargo, si existe un buen método de optimización especializado para un
problema concreto, entonces el algoritmo genético puede no ser la mejor herramienta de
optimización para dicha aplicación.

Las características diferenciadoras generales entre los métodos tradicionales de


optimización y los algoritmos genéticos son:

1- Los algoritmos genéticos trabajan con una codificación de las soluciones, en vez de
con las soluciones.
2- Realizan una búsqueda utilizando una población de posibles soluciones, en vez de
buscar una única solución. Así se obtiene, generalmente, un conjunto de soluciones
viables para el problema en estudio.
3- Utilizan una función objetivo (función de evaluación), en vez de utilizar gradientes
u otros datos suplementarios. Esto permite resolver problemas con poco
conocimiento específico.
4- Utilizan reglas probabilísticas de transición, en vez de reglas determinísticas. Los
operadores que actúan durante la ejecución de un algoritmo genético se aplican con
una determinada probabilidad.

6.3.1. Componentes básicos de un algoritmo genético.


Normalmente existen solamente dos componentes principales, en la mayoría de los
algoritmos genéticos, que son dependientes del problema: la codificación del mismo y la
función de evaluación.

Sea un problema de optimización donde se deben obtener los valores de un conjunto


de variables que hagan máximo un objetivo, o minimicen un costo o una medida de error.
Sería deseable poder contemplar un problema de estas características como una caja negra
con una serie de señales de control representando diferentes parámetros. La única salida de
la caja negra es el valor obtenido mediante la evaluación de una función, dando idea de la
bondad de una combinación de parámetros que resuelve el problema de optimización
(combinación que constituye una posible solución del problema).

El objetivo que se desea alcanzar es el de ajustar los diversos parámetros (actuando


sobre las constantes mencionadas anteriormente) con el fin de optimizar la salida de la caja
negra. En términos más tradicionales, se desea minimizar (o maximizar) una cierta función
F(x1,x2,...,xM).

La primera suposición que típicamente se suele hacer es que las variables que
representan parámetros pueden codificarse o representarse mediante cadenas de bits.

Esto significa que las variables se discretizan a priori y que el rango de


discretización corresponde a alguna potencia de 2. Cada una de las cadenas se denomina
individuo, denominándose a su estructura como genotipo, y a su contenido como fenotipo.

- 72 -
Controladores de robots rígidos: un análisis comparativo

Desde el momento en que un algoritmo genético trabaja con una población de


soluciones potenciales, incurre en el coste computacional de evaluar esa población.

6.3.2. Operadores básicos


Los operadores básicos que se aplican para la obtención de la población siguiente, a
partir de la población intermedia, son la reproducción, el cruce y la mutación. Otros
operadores pueden ser utilizados en la implementación de un algoritmo genético, pero los
que aquí se van a describir son los que determinan las características fundamentales en el
funcionamiento de estos algoritmos.

Operador reproducción.
Reproducción es un operador que básicamente realiza copias de soluciones un
determinado número de veces de acuerdo con sus aptitudes. Así, a mayor valor de aptitud
son copiadas más veces.

Operador cruce.
Cuando se ha llevado a cabo el muestreo y la reproducción, la construcción de la
población intermedia está completa y se procede a realizar la mezcla de soluciones. Para
este proceso se aplica el operador cruce (crossover en la bibliografía) a parejas de
individuos seleccionadas con una probabilidad que puede denominarse pc.

La mezcla se lleva a cabo seleccionando aleatoriamente un punto de las cadenas e


intercambiando los trozos que quedan a derecha e izquierda de dicho punto. El cruce es un
operador que realiza una búsqueda de soluciones no aleatoria, ya que este operador parte de
la información existente para obtener nuevas soluciones e intentar mejorar las soluciones
que se han obtenido hasta entonces.

Operador mutación.
Tras la aplicación del operador cruce, puede aplicarse un operador de mutación.
Para cada bit en la población, existe una determinada probabilidad (pm) de que sea mutado.

La mutación añade un carácter aleatorio a la búsqueda de soluciones que realizan


los algoritmos genéticos y es necesario para evitar que, tras unas pocas generaciones, todas
las soluciones sean muy similares entre sí, lo cual puede producir un estancamiento del
algoritmo genético en algún mínimo (o máximo) local del problema que se desea resolver.

En el caso de los algoritmos genéticos, al no aplicar mutación, se alcanzan


soluciones que no son capaces de evolucionar y mejorar al pasar de una generación a otra.
Se produciría una convergencia prematura y se alcanzaría, en algunos casos, una solución
que podría encontrarse relativamente lejos del óptimo global.

Todos los bits de todas las cadenas poseen la misma probabilidad de sufrir una
mutación.

- 73 -
Capítulo 6. Sintonización de los controladores

6.3.3. Parámetros de los operadores. Influencia en el proceso de optimización.


Una tasa de cruce de valor muy elevado vuelve lento el desarrollo del algoritmo.
Además, da lugar a una búsqueda dirigida por parte del algoritmo genético, ya que son las
soluciones con mayor aptitud las que poseen más probabilidad de ser utilizadas para formar
otras nuevas al aplicar el operador cruce.

Una tasa de mutación elevada produce una búsqueda aleatoria en la que a partir de
unas determinadas soluciones se obtienen otras que surgen de la modificación de algunos
bits de las primeras.

Por estos motivos, es preciso calibrar de forma adecuada estos dos parámetros para
evitar que la convergencia hacia una solución sea excesivamente rápida (tasa de cruce
demasiado elevada) o que no converja (tasa de mutación excesivamente grande).

Durante los procesos de cruce y mutación, algunas cadenas son reemplazadas por
otras nuevas, ya que la población total suele permanecer constante a lo largo de las
generaciones. Por ello, debe de establecerse algún criterio de selección que determine las
cadenas que han de ser suprimidas.

Tras completar el proceso de muestreo (reproducción), cruce y mutación, ha


transcurrido una generación en la ejecución de un algoritmo genético.

6.3.4. Optimización multiobjetivo con algoritmos genéticos.


En un problema de optimización es posible que la función objetivo corresponda a un
determinado parámetro que se desea minimizar o maximizar. En estos casos los algoritmos
genéticos suelen obtener buenos resultados utilizando una determinada función de
evaluación (función objetivo), llevando a cabo una optimización monobjetivo, donde se
desea minimizar o maximizar un único objetivo. Pero en otras ocasiones se desean obtener
soluciones, para un determinado problema, de forma que se minimicen dos o más objetivos
simultáneamente, siendo difícil el combinar en una única función objetivo todos los
parámetros que se desean minimizar o maximizar simultáneamente. En este caso se debe
realizar un diseño multiobjetivo.

Este tipo de problema ha sido estudiado utilizando técnicas tradicionales de


optimización y de búsqueda de soluciones. En la última década los algoritmos genéticos se
han aplicado para resolverlos.

En optimización monobjetivo se busca la mejor solución (la que presenta el mayor o


menor valor de su función objetivo). En optimización multiobjetivo la noción de
optimalidad no es obvia, ya que se debe realizar un planteamiento que respete las
diferencias existentes entre los objetivos involucrados en el proceso de optimización.

6.4. Índices de desempeño


Como función objetivo para implementar la optimización se seleccionaron los
siguientes índices de desempeño, la mayoría de los índices nos muestran una medida sobre
el error presente en el sistema, sin embargo, también se cuenta con un índice de error con el

- 74 -
Controladores de robots rígidos: un análisis comparativo

cual se puede medir el esfuerzo de control, a continuación se muestra la definición de los


índices de desempeño.

• El Índice de la Integral del Error Cuadrático (ISE por sus siglas en inglés)
remueve las componentes negativas del error. El ISE discrimina entre sistemas
sobre amortiguados y sub-amortiguados. La ecuación que define al ISE es
[Griffin 2003]:
ISE = ∫ e 2 ( t ) dt
t

• El Índice de la Integral del Error Absoluto (IAE por sus siglas en inglés)
remueve las componentes negativas del error. El IAE es bueno para estudios de
simulación. La ecuación que define al IAE es [Griffin 2003]:
IAE = ∫ e ( t ) dt
t

• El Índice de la Integral de la multiplicación del Tiempo por el Error Absoluto


(ITAE por sus siglas en inglés) remueve las componentes negativas del error. El
ITAE pondera el error con el tiempo para enfatizar los errores que ocurren en el
estado estable. La ecuación que define al ITAE es [Griffin 2003]:
ITAE = ∫ t e ( t ) dt
t

• El Índice de la Integral del Esfuerzo de Control (CE por sus siglas en inglés). El
CE obtiene el total del esfuerzo realizado por el controlador para que el sistema
pueda alcanzar a la referencia. La ecuación que define al CE es:
1 t 2
n ∫0
CE = τ dt

6.5. Sintonización de los controladores


Para realizar la sintonización de los controladores se seleccionó la técnica de
optimización de la implementación de algoritmos genéticos, debido a que no requieren de
información acerca del gradiente además de que esta técnica es considerada robusta en su
aplicación y muy general.

La sintonización de un controlador por medio de la aplicación de algoritmos


genéticos requiere que se tenga una señal de referencia, para este proyecto se seleccionó el
escalón unitario.

Para seleccionar el índice de desempeño a utilizar como función de minimización,


se sintonizó el controlador de seguimiento PD más compensación por medio de la
optimización de los índices de desempeño ISE, IAE, ITAE, CE y combinaciones como
0.5*ITAE+0.5*CE y 0.7*ITAE+0.3*CE (los pesos relativos se seleccionaron de acuerdo a
las magnitudes que presentan los índices de desempeño).

- 75 -
Capítulo 6. Sintonización de los controladores

Posicion articular 2
1.2

0.8
Sint IAE
Sint ITAE
Sint ISE
0.6
Sint CE
θ2 (rad)

Sint ITAE-CE-0.5
Sint ITAE-CE-0.7
0.4

0.2

-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo (s)

Figura 6.1. Respuesta del controlador PD mas compensación en la coordenada articular 2

La figura 6.1 muestra el comportamiento de la coordenada articular 2, solamente se


muestra una coordenada para obtener simplicidad en la figura. Se observa (como era de
esperarse) que los conjuntos de constantes con una mejor respuesta son los obtenidos con
las minimizaciones de los índices IAE, ISE, ITAE. El conjunto de constantes que presentan
una peor respuesta son los obtenidos con la minimización del esfuerzo de control.
Tabla 6.1. Índices de desempeño de cada conjunto de constantes con una entrada escalón
Minimización\Indice IAE ITAE ISE CE
de \ .
IAE 0.0300 12.5280 0.03000 4.2069x1010
ITAE 0.0397 12.5274 0.03497 1.6976x1011
ISE 0.0300 12.5250 0.03000 4.7419 x1012
CE 3.6095 37.5657 2.13045 71.2477
0.5 ITAE + 0.5 CE 1.2704 37.5156 0.84310 49.3344
0.7 ITAE + 0.3 CE 1.2607 37.5118 0.84374 49.4790

En la tabla 6.1 vemos que los conjuntos sintonizados para la minimización del error
(IAE, ISE, ITAE) presentan los mejores valores de los índices de error (en conjunto) pero
requieren un esfuerzo de control muy elevado, que en la práctica significa que se van a
estar exigiendo pares de control muy elevados a los motores del robot manipulador. Se
observa que la mejor combinación entre respuesta y esfuerzo de control se obtiene con la
minimización de índices combinados.

A partir de la figura 6.1 y de la tabla 6.1 se selecciono el índice 0.7 ITAE + 0.3 CE
para la sintonización de los controladores, debido a que se desea que la ley de control que
no requiera esfuerzos de control muy elevados. Se toma en cuenta el compromiso que
existe entre el error y el esfuerzo de control.

- 76 -
Controladores de robots rígidos: un análisis comparativo

6.5. Resultados de la sintonización

6.5.1. Constantes para el robot SCORBOT ER-V+


Después de realizar el procedimiento de sintonización de cada uno de los
controladores para el robot SCORBOT ER-V+, los valores obtenidos son:
• Control PID.
K p = diag{4.88,10.89,13.75}, KV = diag {2.32, 2.23, 3.09} , K I = diag {1.09,1.88, 2.28}
• Control PD por dinámica inversa.
K p = diag{5.23, 5.35, 5.27}, KV = diag {3.18, 3.20, 3.26}
• Control Robusto de movimiento.
K p = diag{4.56, 4.78, 4.63}, KV = diag {3.25, 3.04, 3.10} , ε = 1.46
• Control Adaptable de movimiento.
K p = diag{2.29,1.95, 2.28}, KV = diag {2.18,1.93, 2.19}
• Control PID de seguimiento de trayectoria.
K p = diag{4.87, 6.24, 6.43}, KV = diag {1.78,1.98,1.86} , K I = diag {1.43,1.62,1.53} ,
K = diag{4.71, 4.75, 4.68}, γ = 1.89
• Control PD más compensación.
K p = diag{3.06, 2.32, 2.73}, Λ = diag {2.43, 2.87, 2.23}
• Control Robusto de seguimiento de trayectoria.
K p = diag{1,1.25, 2}, Λ = diag {7.97, 6.1, 4.12} , ε = 1.189
• Control Adaptable de seguimiento de trayectoria.
K p = diag{2.76, 2.72, 2.68}, Λ = diag {3.87, 3.84, 3.8}

6.5.2. Constantes para el robot PUMA


Después de realizar el procedimiento de sintonización de cada uno de los
controladores para el robot PUMA, los valores obtenidos son:
• Control PID.
K p = diag{2.87, 4.76,3.87}, KV = diag {1.23, 0.89,1.56} , K I = diag {0.69,1.26, 2.68}
• Control PD por dinámica inversa.
K p = diag{8.02,8.09, 7.89}, KV = diag {5.86,5.91, 6.01}
• Control Robusto de movimiento.
K p = diag{7.69, 7.73, 7.59}, KV = diag {5.54, 6.01,5.83} , ε = 0.65
• Control Adaptable de movimiento.
K p = diag{3.72,3.98,3.70}, KV = diag {2.87,3.30, 2.74}
• Control PID de seguimiento de trayectoria.
K p = diag{2.58,3.22, 2.90}, KV = diag {1,1,1} , K I = diag {0.73, 0.91,1.23} ,
K = diag{7.62, 7.99,8.21}, γ = 0.89
• Control PD más compensación.
K p = diag{1.29,1.39,1.35}, Λ = diag {2.68,2.79, 2.85}
• Control Robusto de seguimiento de trayectoria.
K p = diag{1.34,1.27,1.30}, Λ = diag {2.93, 2.74, 2.64} , ε = 0.75

- 77 -
Capítulo 6. Sintonización de los controladores

• Control Adaptable de seguimiento de trayectoria.


K p = diag{1.35,1.28,1.40}, Λ = diag {2.75, 2.69, 2.80}

- 78 -
Controladores de robots rígidos: un análisis comparativo

Capítulo 7

Pruebas y resultados
En este capítulo encontramos la descripción de las pruebas realizadas al conjunto
controlador-robot. Se explican los objetivos que busca alcanzar cada prueba, así como
también se detalla el desarrollo de la prueba. En la parte final del capítulo se muestran los
resultados de las pruebas seleccionadas. Dentro de los resultados se muestran gráficas y el
detalle de los valores de los índices de error resultantes de cada prueba.

7.1. Descripción de las pruebas


Se realizaron 2 conjuntos de pruebas, el primer conjunto busca observar como se
modifica la respuesta ante cambios en la posición deseada o cambios en los parámetros del
sistema. El segundo conjunto de pruebas busca observar los efectos que provocan los
cambios en la carga, la incertidumbre en las masas de los elementos y en los momentos de
inercia, cambios en las señales de referencia. Todas las pruebas se realizan durante 5
segundos.

7.1.1. Primer conjunto de pruebas


Este conjunto de pruebas tiene el objetivo de observar la respuesta al cambiar las
condiciones de la incertidumbre en los parámetros y de la posición deseada a seguir.

- 79 -
Capítulo 7. Pruebas y resultados

Prueba 1. Se busca alcanzar una posición constante, para la prueba se considera


que se tiene un conocimiento perfecto de los parámetros del robot
manipulador.
Prueba 2. Se sigue una posición variante en el tiempo, considerando que no existe
incertidumbre en los parámetros del robot manipulador.
Prueba 3. La posición que se desea alcanzar es constante, esta prueba se realiza
considerando que se tiene una incertidumbre del 25% en el valor de los
parámetros del robot manipulador.
Prueba 4. En esta prueba la posición es variante en el tiempo, y para la realización
de la prueba se considera que se tiene una incertidumbre del 25% en el
valor de los parámetros del robot manipulador.

7.1.2. Segundo conjunto de pruebas


El objetivo de este conjunto de pruebas es el de observar los efectos en las
respuestas de los controladores al presentarse cambios en la carga, incertidumbre en las
masas y las inercias, respuestas con diferentes señales de referencia.

Prueba A. Durante esta prueba se siguen diferentes posiciones deseadas. En primer


lugar se sigue una señal escalón, seguida por una señal senoidal, la
tercera señal es una señal polinomial y la última señal es una señal
compuesta.
Prueba B. En esta prueba se incrementan los niveles de incertidumbre en el valor
de los parámetros. Se comienza considerando un conocimiento exacto en
el valor de los parámetros, después de incertidumbre del 10% y al final
una incertidumbre del 25%. En todos los casos, la señal a seguir es una
señal escalón.
Prueba C. Para esta prueba primero se considera que la incertidumbre existe sólo
en el valor de las masas de los eslabones y después la incertidumbre
solamente se encuentra solo en el valor de las inercias. La señal a seguir
es una señal escalón.
Prueba D. En el desarrollo de esta prueba, se realizan cambios en la masa de carga.
Primero se duplica el valor de la masa de carga y después se elimina la
misma. Para las pruebas, se tiene como objetivo el seguir una señal
escalón.

7.2. Resultados de las pruebas

7.2.1. Resultados para el robot SCORBOT ER-V+

7.2.1.1. Resultados del primer conjunto de pruebas.


Prueba 1
Como se detalló en la sección anterior, para esta prueba se sigue una señal escalón,
considerando que se tiene un conocimiento exacto en el valor que presentan los parámetros
del robot manipulador. La tabla 7.1 muestra los valores de los índices de desempeño
presentados por los controladores.

Tabla 7.1. Índices de desempeño presentados por cada controlador en la prueba 1

- 80 -
Controladores de robots rígidos: un análisis comparativo

Controlador \ Índice IAE ITAE ISE CE


PD por dinámica inversa 2.1036 1.13049 1.3808 52.3863
Robusto de posición 2.2599 1.26814 1.4933 53.8039
Adaptable de posición 3.2856 2.6898 2.1689 68.5234
PID de posición 1.9317 2.2972 0.8901 48.7936
PD de seguimiento 1.5754 0.6819 0.9260 50.0339
Robusto de seguimiento 1.0412 0.2553 0.6854 50.6892
Adaptable de seguimiento 1.0469 0.6819 0.4901 147.3780
PID de seguimiento 1.5662 1.9412 0.6028 73.0585

En la figura 7.1 se observa que el controlador adaptable de posición presenta la peor


respuesta debido al retraso de tiempo que presenta la señal, en cambio el controlador de
seguimiento robusto presenta la mejor respuesta, tomando en cuenta que presenta el mejor
tiempo de establecimiento sin tener un sobretiro.
Coordenada articular 2
1.2

0.8

0.6
θ2 (rad)

0.4
qd
PDP
RP
0.2
AP
PIDP
PDS
0
RS
AS
PIDS
-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.1. Coordenada articular presentada por los controladores en la prueba 1

A partir de los datos mostrados en la tabla 7.1 se ve que el controlador de posición


adaptable es el controlador más ineficiente pues presenta el esfuerzo de control más
elevado presentando el peor funcionamiento (índices de error más elevados). De forma
global se ve que los controladores de seguimiento presentan una mejor respuesta. Se
destaca el controlador de posición PID pues realiza el menor esfuerzo de control y sus
índices de error no son de los más elevados. El controlador que presenta la mejor respuesta
entre los ocho controladores es el controlador robusto de seguimiento.

- 81 -
Capítulo 7. Pruebas y resultados

Velocidad articular 2
5
q´d
PDP
RP
4 AP
PIDP
PDS
RS
3
AS
PIDS
θ2´ (rad/s)

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.2. Velocidad articular presentada por los controladores en la prueba 1

τ articular 2
80
PDP
RP
70 AP
PIDP

60 PDS
RS
AS
50
PIDS

40
τ2 (Nm)

30

20

10

-10
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.3. Par articular presentado por los controladores en la prueba 1

En la figura 7.2 se observa que el controlador que presenta el impulso más grande es el
controlador adaptable de seguimiento de trayectoria, el controlador adaptable de
movimiento presenta la señal con un tiempo de asentamiento más elevado.

En la figura 7.3 claramente podemos ver que el controlador adaptable de seguimiento


de trayectoria presenta el esfuerzo de control más elevado. Todos los controladores
mantienen un esfuerzo de control bajo al encontrarse en el estado estable.

- 82 -
Controladores de robots rígidos: un análisis comparativo

Error de posición articular 2


1.2
PDP
RP
AP
1
PIDP
PDS
RS
0.8
AS
PIDS

0.6
qtilde (rad)

0.4

0.2

-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.4. Error de posición presentado por los controladores en la prueba 1

Error de velocidad articular 2


1

-1
q´tilde (rad/s)

-2

PDP
-3
RP
AP
PIDP

-4 PDS
RS
AS
PIDS
-5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.5. Error de velocidad presentado por los controladores en la prueba 1

En las figura 7.4 se observa que el controlador adaptable de movimiento presenta el


error más elevado y en la figura 7.5, como era de esperarse el controlador adaptable de
seguimiento de trayectoria presenta el error de velocidad más elevado.

- 83 -
Capítulo 7. Pruebas y resultados

Prueba 2
La tabla siguiente nos muestra los valores de los índices de desempeño presentados
por cada controlador durante la prueba 2.

Tabla 7.2. Índices de desempeño presentados por cada controlador en la prueba 2


Controlador \ Índice IAE ITAE ISE CE
PD por dinámica inversa 0.0984 0.0568 0.0033 1625.1292
Robusto de posición 0.1061 0.0634 0.0036 1624.9580
Adaptable de posición 0.1665 0.1760 0.0053 1622.9667
PID de posición 6.2028 17.1395 5.7373 1861.0778
PD de seguimiento 0.0746 0.0372 0.0022 1625.5795
Robusto de seguimiento 0.0516 0.0155 0.0018 1633.2945
Adaptable de seguimiento 0.0465 0.0134 0.0015 1625.1147
PID de seguimiento 1.6269 4.3309 0.3740 1729.3045

En la figura 7.6 vemos que los controladores PID para el control de posición y el
control de seguimiento de trayectoria presentan la peor respuesta, en cambio todos los
demás controladores presentan una respuesta muy similar y cercana a la referencia.
Coordenada articular 2
5
qd
PDP
RP
4
AP
PIDP
PDS
3
RS
AS
PIDS
2
θ2 (rad)

-1

-2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.6. Coordenada articular presentada por los controladores en la prueba 2

Los datos en la tabla 7.2 confirman lo que se ve en la gráfica, los controladores PID
(de posición y de seguimiento de trayectoria), los demás controladores presentan índices de
error muy pequeños, destacándose los controladores adaptable y robusto de seguimiento. El
menor esfuerzo de control lo presenta el control PD por dinámica inversa y el mejor
desempeño global lo presenta el controlador PD de seguimiento.

En la figura 7.7, se nota fácilmente que el controlador que presenta una velocidad
mucho más lejana que la deseada es el controlador PID de posición, seguido por el
controlar PID de seguimiento de trayectoria.

- 84 -
Controladores de robots rígidos: un análisis comparativo

Velocidad articular 2
25
q´d
PDP
20 RP
AP

15 PIDP
PDS
RS
10
AS
PIDS
5
θ2´ (rad/s)

-5

-10

-15

-20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.7. Velocidad articular presentada por los controladores en la prueba 2

En la figura 7.8 se ve que todos los controladores generan señales de control muy
similares, es de destacar que el controlador PID de posición presenta un retraso
considerable, comparándolo con los demás controladores.
τ articular 2
30
PDP
RP
AP
20 PIDP
PDS
RS
AS
10
PIDS
τ2 (Nm)

-10

-20

-30
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.8. Par articular presentado por los controladores en la prueba 2

Las gráficas 7.9 y 7.10 muestran los errores de posición y velocidad


respectivamente. En ambas figuras se observa que los controladores PID (de posición y de
seguimiento de trayectoria) son los que presentan los errores más grandes.

- 85 -
Capítulo 7. Pruebas y resultados

Error de posición articular 2


2
PDP
RP
AP
1.5
PIDP
PDS
RS
1
AS
PIDS

0.5
qtilde (rad)

-0.5

-1

-1.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.9. Error de posición presentado por los controladores en la prueba 2

Error de velocidad articular 2


15

10

5
q´tilde (rad/s)

PDP
-5
RP
AP
PIDP

-10 PDS
RS
AS
PIDS
-15
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.10. Error de velocidad presentado por los controladores en la prueba 2

Prueba 3
Esta prueba es similar a la prueba uno al buscar alcanzar una posición constante,
pero para esta prueba se considera una incertidumbre del 25% en el valor de los parámetros.
La figura 7.9 nos muestra la evolución de la coordenada articular 2, a partir de la operación
bajo cada uno de los controladores. La tabla 7.3 nos muestra los valores de los índices de
desempeño para cada controlador.

- 86 -
Controladores de robots rígidos: un análisis comparativo

Tabla 7.3. Índices de desempeño presentados por cada controlador la prueba 3


Controlador \ Índice IAE ITAE ISE CE
PD por dinámica inversa 12.0751 28.8150 17.3513 261.0881
Robusto de posición 11.7034 27.5218 17.2295 314.5690
Adaptable de posición 14.2254 34.5021 24.250 177.6163
PID de posición 2.6022 3.5304 1.2339 94.9850
PD de seguimiento 2.4056 2.5097 1.2302 108.3698
Robusto de seguimiento 0.7180 0.4567 0.3609 492.0254
Adaptable de seguimiento 1.0426 0.6122 0.5214 239.3378
PID de seguimiento 1.6593 2.0757 0.6520 111.1672

A partir de los datos que se muestran en la tabla anterior se observa claramente que
los controladores robusto y adaptable de seguimiento de trayectoria son los que presentan
un error más pequeño. Además, el controlador adaptable de seguimiento de trayectoria es el
controlador que presenta el menor esfuerzo de control.

En la figura 7.11 se observa que los controladores PID y adaptable de posición son
los que tienen la respuesta más retardada ante la entrada escalón. Además se ve que los
controladores PD y robusto de posición son los que se pierden mucho.

Coordenada articular 2
1.2

0.8

0.6
θ2 (rad)

0.4
qd
PDP
RP
0.2
AP
PIDP
PDS
0
RS
AS
PIDS
-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.11. Coordenada articular presentada por los controladores en la prueba 3

En la figura 7.12, se puede ver que el controlador PD de posición tiene el impulso


más elevado aunque estabiliza mucho más rápido la velocidad. Los controladores robusto y
adaptable de posición son los controladores que presentan las oscilaciones en la velocidad
articular.

- 87 -
Capítulo 7. Pruebas y resultados

Velocidad articular 2
6
q´d
PDP

5 RP
AP
PIDP
4 PDS
RS
AS
3
PIDS
θ2´ (rad/s)

-1

-2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.12. Velocidad articular presentada por los controladores en la prueba 3

En la figura siguiente se ve que los controladores robusto y adaptable de


seguimiento de trayectoria tienen los pares de control con un impulso inicial más elevado,
sin embargo ambos controladores tienen pares de control muy pequeños en estado estable.
τ articular 2
100
PDP
RP
AP
80
PIDP
PDS
RS
60
AS
PIDS

40
τ2 (Nm)

20

-20

-40
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.13. Par articular presentado por los controladores en la prueba 3

En la figura siguiente se confirma lo que se mostró en la figura 7.11 que el


controlador con el error de posición más pequeño es el controlador robusto de seguimiento
de trayectoria. Sin embargo, los controladores adaptable y PID de seguimiento de

- 88 -
Controladores de robots rígidos: un análisis comparativo

trayectoria presentan errores pequeños con tiempos de establecimiento más elevados en


comparación con el controlador robusto anteriormente mencionado.

Error de posición articular 2


1.2
PDP
RP
AP
1
PIDP
PDS
RS
0.8
AS
PIDS

0.6
qtilde (rad)

0.4

0.2

-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.14. Error de posición presentado por los controladores en la prueba 3

En la figura 7.15 vemos que los controladores robusto y adaptable de seguimiento


de trayectoria presentan los menores tiempos de establecimiento a cambio de tener los
impulsos más elevados. El controlador adaptable de posición presenta la peor respuesta en
la velocidad articular.
Error de velocidad articular 2
2

-1
q´tilde (rad/s)

-2

-3 PDP
RP
AP
-4
PIDP
PDS
-5 RS
AS
PIDS
-6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.15. Error de velocidad presentado por los controladores en la prueba 3

- 89 -
Capítulo 7. Pruebas y resultados

Prueba 4
Como se detalló anteriormente esta prueba consiste en seguir una posición deseada
variante en el tiempo y se consideró una incertidumbre de 25% en el valor de los
parámetros. La tabla 7.4 muestra los valores de los índices de desempeño presentados por
cada controlador durante la prueba 4.
Tabla 7.4. Índices de desempeño presentados por cada controlador en la prueba 4
Controlador \ Índice IAE ITAE ISE CE
PD por dinámica inversa 10.9896 28.7784 18.3306 1591.1821
Robusto de posición 12.5721 32.9004 22.4274 1584.4939
Adaptable de posición 17.4917 53.3577 42.1542 1168.0896
PID de posición 8.2381 22.9578 10.2035 3174.8750
PD de seguimiento 1.9174 4.9479 0.5147 2526.7905
Robusto de seguimiento 0.0398 0.0146 0.0014 5957.7290
Adaptable de seguimiento 0.0666 0.0390 0.0021 2889.0795
PID de seguimiento 2.1667 5.7921 0.6716 3077.9425

Analizando los datos mostrados en la tabla 7.4 se observa que todos los
controladores de posición presentan errores bastante elevados. Los controladores de
seguimiento de trayectoria presentan índices de error más pequeños. Se destaca el
controlador adaptable de seguimiento de trayectoria pues presenta índices de error muy
pequeños con un esfuerzo de control de mediana magnitud.

En la siguiente figura, se puede observar la evolución que presenta la coordenada


articular número 2, se confirman las observaciones que se presentan en la tabla 7.4, los
controladores con un mejor seguimiento de la posición son los controladores robusto y
adaptable de seguimiento de trayectoria.
Coordenada articular 2
5

1
θ2 (rad)

0
qd
PDP
-1
RP
AP
-2 PIDP
PDS
RS
-3
AS
PIDS
-4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.16. Coordenada articular presentada por los controladores en la prueba 4

En la figura 7.17 se muestra el comportamiento que presenta la velocidad articular,


sal igual que en la figura 7.16, se ve que los controladores que presentan una mejor

- 90 -
Controladores de robots rígidos: un análisis comparativo

respuesta en el seguimiento de la velocidad, son los controladores de seguimiento de


trayectoria. Esta situación se presenta debido al objetivo de control con el cual fue diseñado
cada controlador.
Velocidad articular 2
25
q´d
PDP
20 RP
AP

15 PIDP
PDS
RS
10
AS
PIDS
5
θ2´ (rad/s)

-5

-10

-15

-20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.17. Velocidad articular presentada por los controladores en la prueba 4

En la siguiente figura, se muestran los pares de control de los controladores son muy
similares. Se destaca la forma del par de control del controlador robusto de seguimiento de
trayectoria el cual presenta oscilaciones elevadas a lo largo del tiempo.

τ articular 2
80
PDP
RP

60 AP
PIDP
PDS

40 RS
AS
PIDS

20
τ2 (Nm)

-20

-40

-60
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.18. Par articular presentado por los controladores en la prueba 4

- 91 -
Capítulo 7. Pruebas y resultados

En las figuras siguientes se confirma lo que se mostró en las figuras 7.16 y 7.17, los
controladores que se pueden sobreponer al incremento en la incertidumbre en los
parámetros, son los controladores adaptable y robusto de seguimiento de trayectoria, los
cuales logran el seguimiento de la posición y velocidad deseadas.
Error de posición articular 2
4
PDP
RP

3 AP
PIDP
PDS
2
RS
AS
PIDS
1
qtilde (rad)

-1

-2

-3

-4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.19. Error de posición presentado por los controladores en la prueba 4

Error de velocidad articular 2


15
PDP
RP
AP
10 PIDP
PDS
RS
AS
5
PIDS
q´tilde (rad/s)

-5

-10

-15
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura 7.20. Error de velocidad presentado por los controladores en la prueba 4

A lo largo de las pruebas vemos que los controladores de seguimiento presentan una
mejor respuesta a las dos posiciones deseadas (escalón unitario y posición variante en el
tiempo). El controlador que mejor responde al cambio en los parámetros el controlador

- 92 -
Controladores de robots rígidos: un análisis comparativo

adaptable de seguimiento, pues sus índices de error son pequeños y realiza el menor
esfuerzo de control.

7.2.1.2. Resultados del segundo conjunto de pruebas.


Los resultados de estas pruebas se muestran en un conjunto de gráficas que
contienen la relación que guardan los valores de los índices de desempeño para el caso de
prueba y los valores de los índices de desempeño para el caso nominal.

Prueba A.
En esta prueba se realizan cambios en la trayectoria a seguir. El caso nominal es el
seguimiento de una señal escalón y se considera un conocimiento perfecto del valor de los
parámetros. Las señales a seguir durante esta prueba se muestran en el apéndice E.

Índice IAE Índice ITAE


4
10
3.5

3 8
Porcentaje (%/100)

Porcentaje (%/100)
2.5
6
2
PDp
1.5 4
Rp
1
Ap 2
0.5 PIDp
0 PDs 0
Escalon Senoidal Polinomial Kelly LSPB Escalon Senoidal Polinomial Kelly LSPB
Señal Rs Señal
As
Índice ISE PIDs Índice CE
10 40

35
8
30
Porcentaje (%/100)

Porcentaje (%/100)

6 25

20
4 15

10
2
5

0 0
Escalon Senoidal Polinomial Kelly LSPB Escalon Senoidal Polinomial Kelly LSPB
Señal Señal
Figura 7.21. Relación de cambio en los valores de los índices de desempeño presentados por los
controladores en la prueba A

En la figura anterior se observa que el controlador adaptable de seguimiento de


trayectoria presenta el mejor comportamiento en los valores de los índices de error, sin
embargo, para una señal polinomial presenta un elevado esfuerzo de control.

Al variar las señales de referencia a seguir, y en función a los cambios que existen
en los índices de error se observa que la señal polinomial, es la señal que más se les
complica a los controladores. A partir de los cambios en el índice CE se ve que la señal de
Kelly requiere un esfuerzo de control más elevado para poder seguirla.

- 93 -
Capítulo 7. Pruebas y resultados

Prueba B.
En esta prueba se realizan cambios en el nivel de la incertidumbre para probar como
se modifica la respuesta de los controladores. Esta prueba tiene como objetivo observar que
controlador tiene la posibilidad de ser robusto a los cambios en los parámetros del robot
manipulador.

En la figura 7.22 se observa que los controladores PD, robusto y adaptable de


posición no pueden mantener una buena respuesta a la salida del sistema. Además, el
incrementar la incertidumbre en el valor de los parámetros del sistema, el índice del
esfuerzo de control que realizan los controladores se incrementa demasiado.

En ésta prueba se destacan los controladores adaptable y PID de seguimiento de


trayectoria, pues en base al comportamiento de los índices de error ambos pueden manejar
el incremento en el nivel de incertidumbre en el valor de los parámetros.

Índice IAE Índice ITAE


6
25

5
20
Porcentaje (%/100)

Porcentaje (%/100)

4
15
3
PDp 10
2 Rp
Ap 5
1
PIDp
0 PDs 0
0% 10% 25% 0% 10% 25%
Prcentaje de incertidumbre Rs Prcentaje de incertidumbre
As
Índice ISE PIDs Índice CE
700
12
600
10
Porcentaje (%/100)

Porcentaje (%/100)

500
8
400
6
300
4
200
2 100

0 0
0% 10% 25% 0% 10% 25%
Prcentaje de incertidumbre Prcentaje de incertidumbre
Figura 7.22. Relación de cambio en los valores de los índices de desempeño presentados por los
controladores en la prueba B

Prueba C.
En esta prueba se realizan cambios en la ubicación de la incertidumbre, con el fin de
distinguir que conjunto de parámetros tiene un mayor efecto en el comportamiento del
sistema. Los parámetros están divididos en el conjunto de masas y el conjunto de inercias.
En ambos conjuntos se maneja un nivel de incertidumbre del 25%. Como en las pruebas
anteriores, se compara el comportamiento de cada caso contra el caso de prueba nominal.

- 94 -
Controladores de robots rígidos: un análisis comparativo

En la figura 7.23 se ve claramente que es mucho mayor el efecto de las masas en


comparación con el efecto de las inercias, esto nos indica que cuando se diseñe un
controlador se debe de tratar de conocer lo más exacto posible las masas de cada uno de los
eslabones del sistema.
Índice IAE Índice ITAE
6
25

5
20
Porcentaje (%/100)

Porcentaje (%/100)
4
15
3
PDp 10
2 Rp
Ap 5
1
PIDp
0 PDs 0
0% Masas Inercias 0% Masas Inercias
Ubicación de la Incertidumbre Rs Ubicación de la Incertidumbre
As
Índice ISE PIDs Índice CE
10
12

10 8
Porcentaje (%/100)

Porcentaje (%/100)

8 6

6
4
4
2
2

0 0
0% Masas Inercias 0% Masas Inercias
Ubicación de la Incertidumbre Ubicación de la Incertidumbre
Figura 7.23. Relación de cambio en los valores de los índices de desempeño presentados por los
controladores en la prueba C

Prueba D.
Para esta prueba, se realizan cambios en la masa de carga. Esta prueba surge a partir
del uso del robot manipulador para el transporte de piezas, donde su masa de carga va a
estar variando constantemente hasta el grado de llegar a desaparecer.

En esta prueba se compara la respuesta del controlador en el caso nominal con el


caso donde se duplica el valor de la masa de carga y el caso donde se elimina la masa de
carga.

En la figura 7.24 se observa que es mayor el efecto de duplicar la carga que el efecto
de eliminar la carga. Para algunos controladores es benéfico y se tiene un mejor control del
sistema. Los controladores que se ven gravemente afectados por los cambios en la masa de
carga son los controladores PD, robusto y adaptable de seguimiento de trayectoria.

A partir de la revisión de la evolución del conjunto de índices de desempeño se llega


a la conclusión que los controladores PID y adaptable de seguimiento presentan el mejor
comportamiento a lo largo de la prueba.

- 95 -
Capítulo 7. Pruebas y resultados

Índice IAE Índice ITAE


6
20
5
Porcentaje (%/100)

Porcentaje (%/100)
4 15

3
10
PDp
2 Rp
Ap 5
1
PIDp
0 PDs 0
Nominal Duplicada Sin Carga Nominal Duplicada Sin Carga
Carga Rs Carga
As
Índice ISE PIDs Índice CE
9
10 8
7
8
Porcentaje (%/100)

Porcentaje (%/100)
6

6 5
4
4
3
2
2
1
0 0
Nominal Duplicada Sin Carga Nominal Duplicada Sin Carga
Carga Carga
Figura 7.23. Relación de cambio en los valores de los índices de desempeño presentados por los
controladores en la prueba D

7.2. Análisis de los controladores.


A lo largo de las pruebas se ve claramente que el controlador que presenta el mejor
desempeño es el controlador de adaptable de seguimiento de trayectoria, pues presenta los
índices de error pequeños con los esfuerzos de control del rango de los más pequeños.

El controlador PID de seguimiento de trayectoria presenta la propiedad de robustez


ante los cambios en los valores de los parámetros, sacrificando un poco el consumo de
esfuerzos de control de mediano tamaño.

El controlador robusto de seguimiento de trayectoria presenta en varias ocasiones


los índices de error más pequeños, sin embargo, presenta los esfuerzos de control más
elevados en la mayoría de las pruebas.

- 96 -
Controladores de robots rígidos: un análisis comparativo

Capítulo 8

Conclusiones y comentarios
En este capítulo se presentan las conclusiones y comentarios finales del presente
proyecto de investigación, se desarrollan las conclusiones de una forma particular, y a final
se muestra una conclusión global del proyecto.

En un comienzo se parte de las aportaciones y los trabajos que se proponen para


realizar a futuro y complementan el proyecto de investigación y se termina con las
conclusiones del proyecto de investigación.

8.1. Aportaciones
A continuación se listan las principales aportaciones de este tema de investigación:

Se determinaron de las características de operación que presenta un robot rígido de


3 gdl con articulaciones giratorias al ser controlado con las metodologías de control
adaptable, robusto y “clásico”, otorgando los fundamentos teóricos para seleccionar un
controlador a ser llevado a la práctica.

- 97 -
Capítulo 8. Conclusiones y comentarios

Se van a poder utilizar los modelos creados en SIMULINK® para probar otros
controladores, pues dichos modelos van a ser generales con la capacidad de cambiar sus
parámetros.

Se obtuvieron los momentos de inercia para cada uno de los eslabones del robot
SCORBOT ER-V+, así como la ubicación del centro de masa para cada eslabón.

Se muestra una guía para realizar el diseño de un controlador no lineal por medio de
la metodología de Lyapunov.

8.2. Conclusiones
Las conclusiones que se obtienen del proyecto de investigación son las siguientes:

1. Modelado Cinemático.
a. La utilidad del modelado cinemático radica en la conversión de un
sistema cartesiano a un sistema articular, puesto que las tareas que se
realizan con el robot manipulador son especificadas dentro de un sistema
cartesiano y el diseño de los controladores aquí presentado se realiza con
un espacio articular.

b. El uso de las matrices de transformación y los parámetros de Denavit-


Hartenberg para la implementación del modelo de simulación de la
cinemática directa, permite que el modelo sea general y se pueda aplicar
para un robot de n gdl, sin importar la configuración que presente.

c. Para la solución del problema cinemático inverso en robots


manipuladores de 3 gdl, el método geométrico presenta una excelente
opción, debido a que en cadenas cinemáticas de pocos eslabones las
relaciones geométricas son fáciles de analizar.

2. Modelado Dinámico.
a. Ante la variedad de metodologías para el desarrollo de un modelo
dinámico de robots, la elección de una metodología en especial radica en
la complejidad del procedimiento a realizar, puesto que las
representaciones son equivalentes. La metodología de Euler-Lagrange es
la más utilizada debido a su sencillez, al gran conocimiento que se tiene
de esta metodología y a la representación dinámica obtenida, la cual es
de utilidad puesto que presenta propiedades útiles para el diseño de
controladores por medio de la metodología de Lyapunov.

b. El desarrollo del modelo dinámico de un robot manipulador que cuenta


con 3 o más gdl y que no cuente con una configuración planar, por
medio de la metodología de Newton-Euler, presenta una gran
complejidad debido a la evaluación de las operaciones de las matrices
simbólicas.

- 98 -
Controladores de robots rígidos: un análisis comparativo

c. El modelo obtenido por la metodología de Newton-Euler es el que


menos costo computacional tiene para su evaluación.

d. Para el desarrollo del modelo dinámico de un robot manipulador por


medio de la metodología de Hamilton no es necesario que se obtenga el
Lagrangiano del sistema como un primer paso. Solamente se requiere
que se obtenga la matriz de inercias, la cual se encuentra en la expresión
de la energía cinética del robot manipulador.

e. El modelo dinámico obtenido por medio de la metodología de Hamilton,


es de menor orden en comparación con el modelo dinámico obtenido por
medio de la metodología de Euler-Lagrange, sin embargo, la extensión
de sus expresiones es mucho mayor, lo que complica su evaluación.

f. La simulación del modelo dinámico obtenido por medio de la


metodología de Euler-Lagrange cerrada presenta una mayor exactitud
que el obtenido por la metodología de Euler-Lagrange iterativa, además
de una mayor velocidad en la evaluación.

g. El modelo de simulación dinámica del robot SCORBOT ER-V+


desarrollado durante el presente proyecto de investigación sirve para
simular cualquier robot angular que cuente con sus centros de masa en el
eje central del eslabón.

3. Diseño de controladores
a. Las técnicas de diseño y rediseño de controladores de Lyapunov
presentan una opción fácil de entender y desarrollar, los conceptos son
claros y sencillos.

b. En el área de robótica las funciones cuadráticas presentan una gran


utilidad en la aplicación de las técnicas Lyapunov.

c. Los controladores obtenidos por las técnicas de Lyapunov presentan un


amplio margen en la selección de las constantes del controlador, lo que
complica un poco la sintonización del mismo, para la sintonización se
pueden utilizar técnicas de optimización para encontrar el conjunto de
constantes para la estructura del controlador.

d. Los procedimientos de diseño de controladores aquí presentados son


aplicables a modelos dinámicos obtenidos por la metodología de Euler-
Lagrange, no exclusivamente para el diseño de controladores de robots.

e. Las ecuaciones cuadráticas representan una buena opción a fungir como


ecuación de Lyapunov debido a que durante el diseño de los
controladores se pueden utilizar las propiedades del modelo dinámico
del robot manipulador y así facilitar el procedimiento de diseño.

- 99 -
Capítulo 8. Conclusiones y comentarios

f. El procedimiento de diseño del controlador nos sirve como base para


poder determinar el acotamiento que presentan las señales del sistema.

g. Se presentó un procedimiento sistemático para el diseño de los


controladores, el cual puede ser seguido para el diseño de controladores
de sistemas Euler-Lagrange por medio de la metodología de Lyapunov.

h. Los algoritmos genéticos representan una opción genérica para la


sintonización de los controladores debido a que no requieren que se les
especifique la naturaleza de las señales con las cuales se está trabajando.

i. Debido a las herramientas computacionales se facilita la sintonización de


los controladores diseñados por medio de la metodología de Lyapunov,
ya sea por métodos de tanteo o por medios de optimización.

j. Los algoritmos genéticos pueden llegar a ser implementados como un


método de sintonización en línea, y así obtener el funcionamiento
óptimo del sistema.

4. Respuesta de los controladores


a. Los controladores de posición son mucho más sensibles a los cambios de
los parámetros del sistema en comparación con los controladores de
seguimiento de trayectoria.

b. Es mucho más crítico el conocer los valores exactos de las masas de los
eslabones que los valores de los momentos de inercia de los eslabones.

c. El implementar una tarea de transporte de piezas por unidad no afecta


(en forma global) al controlador, solamente se requiere diseñar el
controlador pensando en el caso de la carga máxima a transportar.

d. Con base en las prestaciones (errores y esfuerzos de control) que


presenta el controlador adaptable de seguimiento, éste se vuelve la
opción a implementar para una aplicación que exija la mayor precisión.

e. El controlador PID de seguimiento de trayectoria presenta un


comportamiento de robustez ante los cambios en el parámetro del
sistema.

5. Resultados del Proyecto de Investigación

Se superaron con creces las expectativas formadas al comienzo de este proyecto de


investigación. Los resultados se pueden enumerar así:

1. Se obtuvieron los modelos cinemáticos de los robots manipuladores.

- 100 -
Controladores de robots rígidos: un análisis comparativo

2. Se desarrollaron los modelos dinámicos de los robots manipuladores.


3. Se diseñaron 4 controladores con el objetivo de control de posición.
4. Se diseñaron 4 controladores con el objetivo de control de seguimiento
de trayectoria.
5. Se aplicaron los algoritmos genéticos para la sintonización de los
controladores
6. Se desarrollaron modelos de simulación generales, donde fácilmente
pueden ser cambiados los parámetros del sistema.
7. Se realizó un análisis comparativo entre las metodologías de control
clásica, adaptable y robusto.
8. Se escribieron dos artículos: “Control de seguimiento de robots
manipuladores: un estudio comparativo” y “Modelado del robot
SCORBOT ER-V+”. Éste último se presentó en el congreso AMCA
2006.

8.3. Trabajos a futuro


A continuación se enlistan los trabajos que se proponen para ser realizados a futuro:

1. Validación de los modelos dinámicos respecto a los robots reales.

2. Evaluación práctica de los controladores.

3. Integración del control de posición y orientación en un solo objetivo.

4. Probar otros medios de sintonización.

5. La evaluación de técnicas de control que incluyan el aprendizaje.

6. Análisis de requerimientos específicos de hardware para la implementación de


los controladores.

7. Desarrollar un programa que pueda llevar a cabo la sintonización de la totalidad


del conjunto de variables de los controladores adaptables.

8. Implementar la sintonización en línea de los controladores por medio de


algoritmos genéticos, aplicado a un robot manipulador.

9. Análisis de sistemas de control inteligente

- 101 -
Capítulo 8. Conclusiones y comentarios

Hoja en Blanco

- 102 -
Controladores de robots rígidos: un análisis comparativo

Bibliografía
[Abdala 2003] Salomón Abdala Castillo y Raúl Ñeco Caberta. “Caracterización de
un robot manipulador articulado”, Coordinación de Mecatrónica,
CENIDET, México, Junio del 2003.

[Arimoto 1981] Takegaki, Morikazu and Arimoto, Suguru “A New Feedback Method
for Dynamic Control of Manipulator,” Journal of Dynamic Systems,
Measurement and Control, June 1981.

[Astolfi 2005] Astolfi, A. “Optimization An Introduction”, Estados Unidos,


Octubre del 2005.

[Bäck 1991] Bäck, T. and F. Hoffmeister, “Global Optimization by Means of


Evolutionary Algorithms”, Random Search as a Method for
Adaptation and Optimization of Complex Systems”, Krasnoyarsk
Space Technology University, USSR, Marzo de 1991.

[Bäck 1992] Bäck, T. and H.P. Schwefel, “Evolutionary Algorithms: Some Very
Old Strategies for Optimization and Adaptation”, Proceedings of the
2nd International Workshop on Software Engineering, Artificial
Intelligence and Expert Systems for High Energy and Nuclear
Physics, La Londe-Les-Maures, Francia, Enero de 1992.

[Barrientos 1999] Antonio Barrientos, Luis Felipe Peñín, Carlos Balaguer, Rafael
Aracil. “Fundamentos de Robótica”, McGrawHill, España, 1999.

[Erlic 1991] Mile Erlic and W.S. Lu, “A Comparative Evaluation of Adaptive,
Robust and Classical Feedback Controllers used in Unconstrained
Trajectory Tracking for Robot Manipulators”, University of
Victoria, 1991.

[Griffin 2003] Ian Griffin, “On - line PID Controller Tuning using Genetic
Algorithms”, PhD Thesis, Universidad de la ciudad de Dublin. 2003.

[Iñigo 2004] Rafael Iñigo Madrigay, Enric Vidal Idiarte. “Robots Industriales
Manipuladores”, Alfaomega, España, 2004.

[Jiménez 2005] David Jiménez Villalobos y Juan Carlos Ramírez de la Cruz.


“Construcción de un brazo robótico de tres gdl y su control mediante
el núcleo híbrido de transición de estados”, Tesis de maestría,
Coordinación de mecatrónica, CENIDET, México, Febrero del 2005.

- 103 -
Capítulo 8. Conclusiones y comentarios

[Kelly 2003] Rafael Kelly, Victor Santibáñez. “Control de Movimiento de Robots


Manipuladores”, Pearson Educación, 2003

[Loizidis 1995] Ianais Loizidis and Zoe Doulgeri, “Performance of two kinds of non-
linear Robust Controllers for robot manipulators-a comparative
study”, Proceedings of the IEEE International Symposium on
Industrial Electronics, Atenas, Grecia, Julio de 1995

[Lu 1989] Lu, W.-S and Erlic, M., “Robust Motion Control of Manipulators:
Design and Experimental Evaluation,” Canadian Conference on
Electrical & Computer Engineering, Montreal, PQ, September, 1989

[Martinez 2005] Josué Martínez. “1er Reporte de Avance de Tesis”. CENIDET.


Departamento de Mecatrónica. Reporte Interno. Mexico. 2005.

[Martínez 2006] Josué Martínez. “2º Reporte de Avance de Tesis”. Cenidet.


Departamento de Mecatrónica. Reporte Interno. Mexico. 2005.

[Ortega 1989] R. Ortega and M. W. Spong, “Adaptive motion control of rigid


robots: a tutorial,” Automatica, vol. 25, no. 6, pp. 877-888, 1989

[Popovic 1999] Dobrivoje Popovic, Ljubo Vlacic. “Mechatronics in engineering


desing and product development”. Marcell Dekker. USA. 1999.

[Scherpen 2001] J.M.A. Scherpen, "Motion equations and models of


electromechanical systems". Parte 2 de las notas del curso modelado
de la Universidad de Delft. 2001.

[Slotine 1985] J. J. E. Slotine, “The robust control of robot manipulators,” Int. J.


Robotics Research, vol. 4, pp. 49-63, 1985.

[Slotine 1988] J. J. E. Slotine and W. Li, “Adaptive manipulator control: a


casestudy,” IEEE Trans. on Automatic Control, vol. 33, no. 11,
1988.

[Sotirov 1992] Z. Sotirov, “A Nonlinear Robust Controller for Robot


Manipulators,” Procedings of the IEEE Control, Robotics and
Automation, pp.2134-2139, Mayo de 1992.

[UNECE 2005] Comsión Económica para Europa de la Organización de las Naciones


Unidas (UNECE), Federación Internacional de Robótica (FIR),
“World Robotics 2005”, 2005.

[Yao 1994] B. Yao and M. Tomizuka, “Comparative experiments of robust and


adaptive control with new robust adaptive controllers for robot
manipulators,” Proceedings of the 33rd Conference on Decision and
Control, pp. 1290-1295,1994.

- 104 -
Controladores de robots rígidos: un análisis comparativo

Apéndice A

Características de los robots manipuladores


En este apéndice se muestran las características de los robots manipuladores que son
objeto de estudio de éste proyecto de investigación, como lo son: los valores de los
parámetros del robot manipulador, el espacio de trabajo y forma de programación.

A.1. Robot SCORBOT ER-V+


El robot SCORBOT ER-V+ es un robot comercial fabricado por ESHED
ROBOTEC, una marca de fabricación de sistemas de automatización industrial. Las
principales características de éste robot manipulador son las siguientes:

• Programación rígida. La programación de los movimientos de este robot se


realiza por el lenguaje ACL. Este lenguaje sólo permite implementar un
controlador con la estructura PID.
• Aplicación en la celda de manufactura. La principal aplicación de este robot se
encuentra en las celdas de manufactura integrada por computadora (CIM) y los
sistemas de manufactura flexible (FMS).

- 105 -
Apéndice A. Características de los robots manipuladores

• Parámetros estimados. No se cuenta con los valores de diseño de los parámetros


estructurales del robot manipulador, para conocer su valor se realizó un trabajo
de caracterización, el detalle se encuentra en [Abdala 2003].
• Requiere del diseño de la interfaz de control. El robot cuenta con un sistema de
control rígido, que cuenta con el sistema de programación ACL. Con estas
características no se puede implementar diferentes esquemas de control o un
seguimiento de un conjunto mayor de posiciones deseadas.

Figura A.1. Robot SCORBOT ER-V + [Abdala 2003]

El robot SCORBOT ER-V+ cuenta con los siguientes parámetros físicos:

• Masa de la base (eslabón 1) = 7.1402 kg


• Masa del brazo (eslabón 2) = 2.2483 kg
• Masa del antebrazo (eslabón 3) = 0.9888 kg
• Altura de la base = 36.4 cm
• Longitud del brazo = 22 cm
• Longitud del antebrazo = 22 cm
• Momento de inercia de la base = 0.04624 kg*m2
• Momento de inercia del brazo = 0.025495 kg*m2
• Momento de inercia del antebrazo = 0.03616 kg*m2
• Distancia entre el centro de masa del eslabón 1 y su eje de giro= 0 cm
• Distancia entre el centro de masa del eslabón 2 y su eje de giro= 5.2 cm
• Distancia entre el centro de masa del eslabón 3 y su eje de giro= 13.76 cm

El espacio de trabajo del robot manipulador se muestra en la figura A.2.

- 106 -
Controladores de robots rígidos: un análisis comparativo

a) Vista Superior b) Vista Lateral


Figura A.2. Espacio de trabajo del robot manipulador SCORBOT ER-V + [Abdala 2003]

A.2. Robot PUMA


El robot PUMA fue construido por dos alumnos del CENIDET, el objetivo de este
robot es fungir como plataforma de prueba de la metodología de control denominada
núcleo híbrido de transición de estados (NHTE). Este robot cuenta con las siguientes
características:

• Interfaz de conexión. Cada articulación cuenta con una tarjeta de control


independiente, la cual establece una comunicación con la computadora por
medio del puerto paralelo.
• Flexibilidad de programación. El sistema se encuentra trabajando con un
programa desarrollado en lenguaje C, sin embargo, el programa de control
puede ser elaborado con cualquier lenguaje de programación que tenga la
capacidad de acceder al puerto paralelo de la computadora.
• Diseñado para el análisis del NHTE. El objetivo principal es fungir como
plataforma de pruebas de la metodología de control NHTE. En este
momento sólo se pueden probar controles con el objetivo de seguir una
posición deseada.

En la figura A.3 se muestra al robot PUMA. El robot PUMA cuenta con los
siguientes parámetros estructurales:

• Masa del eslabón 1=2.010 kg


• Masa del eslabón 2=2.450 kg
• Masa del eslabón 3=0.675 kg
• Longitud del eslabón 1 = 35 cm
• Longitud del eslabón 2 =15 cm
• Longitud del eslabón 3 =15 cm
• Distancia entre el centro de masa del eslabón 1 y su eje de giro= 0.3 cm
• Distancia entre el centro de masa del eslabón 2 y su eje de giro= 2.4 cm
• Distancia entre el centro de masa del eslabón 3 y su eje de giro= 3.4 cm

- 107 -
Apéndice A. Características de los robots manipuladores

• Momento de inercia del eslabón 1 = 1.13x10-3 kgm2


• Momento de inercia del eslabón 2 = 20.48x10-3 kgm2
• Momento de inercia del eslabón 3 = 2.02x10-3 kgm2
• Ángulo para la ubicación del centro de masa 2 respecto a q2 en el plano
xy=0.3938 rad

Figura A.3. Robot PUMA[Jiménez 2005]

La siguiente figura muestra el espacio de trabajo del robot PUMA:

a) Vista Superior b) Vista Lateral


Figura A.4. Espacio de trabajo del robot manipulador PUMA [Jiménez 2005]

- 108 -
Controladores de robots rígidos: un análisis comparativo

Apéndice B

Algoritmo de Denavit-Hartenberg
Este algoritmo se usa para obtener los parámetros que definen la transformaciones
de sistemas de regencia que existen a lo largo de una cadena cinemática. El algoritmo de
Denavit-Hartenberg de 14 pasos, los cuales son:

1. Numerar los eslabones comenzando por 1 (para el primer eslabón móvil) y


acabando en n (para el eslabón final de la cadena cinemática). Se asigna el número 0
a la base.
2. Numerar cada articulación comenzando por 1 (correspondiendo al 1er grado de
libertad) y terminando en n.
3. Localizar el eje de cada articulación. Si es rotativa el eje será su propio eje de giro.
Si es prismática, será el eje a lo largo del cual se produce el desplazamiento.
4. Para i de 0 a n-1 situar el eje zi sobre el eje de la articulación i+1.
5. Situar el origen del sistema de la base {So } en cualquier punto del eje zo . Los ejes
xo y yo se situarán formando un sistema dextrógiro con zo .

- 109 -
Apéndice B. Algoritmo de Denavit-Hartenberg

6. Para i de 1 a n-1, situar el sistema {Si } en la intersección del eje zi con la línea
normal común a zi −1 y zi . Si ambos se cortasen se situaría {Si } en el punto de corte.
Si fuesen paralelos {Si } se situaría en la articulación i+1.
7. Situar xi en la línea normal común a zi −1 y zi .
8. Situar yi de modo que forme un sistema dextrógiro con xi y zi .
9. Situar el sistema {Sn } en el extremo del robot de modo que zn coincida con la
dirección de zn −1 y xn sea normal a zn −1 y zn .
10. Obtener θ i como el ángulo que hay que girar en torno a zi −1 para que xi −1 y xi
queden paralelos.
11. Obtener di como la distancia medida a lo largo de zi −1 que habría que desplazar
{Si −1} para que xi −1 y xi quedasen alineados.
12. Obtener ai como la distancia medida a lo largo de xi que habría que desplazar el
nuevo {Si −1} para que su origen coincidiese con {Si } .
13. Obtener α i como el ángulo que haría que girar en torno a xi para que el nuevo {Si −1}
para que su origen coincidiese totalmente con {Si } .

En la siguiente figura se muestra los parámetros de Denavit-Hartenberg para una


articulación rotatoria:

Figura B.1.- Parámetros de Denavit-Hartenberg para una articulación rotatoria [Barrientos 1999]

- 110 -
Controladores de robots rígidos: un análisis comparativo

Apéndice C

Señales de referencia
En este apéndice se muestra el conjunto de señales (posiciones, velocidades y
aceleraciones) que se utilizan como referencia para las pruebas que se aplican a los
controladores.

C.1. Señal Escalón


Esta señal se usa como prueba de una forma general cuando se analiza el desempeño
de los controladores. La amplitud de la señal es de un radian. La figura C.1 muestra la
posición articular a seguir, la figura C.2 presenta la velocidad articular a seguir y la figura
C.3 muestra la aceleración articular.

- 111 -
Apéndice C. Señales de referencia

Posición articular de la señal Escalón


2
q1
q2
1.8
q3

1.6

1.4

1.2
Posición (rad)

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.1.- Posición articular a seguir de la señal escalón

Velocidad articular de la señal Escalón


1
q´1
q´2
0.8
q´3

0.6

0.4

0.2
Velocidad (rad/s)

-0.2

-0.4

-0.6

-0.8

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)
Figura C.2.- Velocidad articular a seguir de la señal escalón

- 112 -
Controladores de robots rígidos: un análisis comparativo

Aceleración articular de la señal Escalón


1
q´´1
q´´2
0.8
q´´3

0.6

0.4

0.2
Aceleración (rad/s 2)

-0.2

-0.4

-0.6

-0.8

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.3.- Aceleración articular a seguir de la señal escalón

C.2. Señal Senoidal


La señales a seguir tienen las siguientes ecuaciones q ( t ) = sen ( t ) , q ( t ) = cos ( t ) y
q ( t ) = −sen ( t ) . La amplitud de la señal es de un radian. La figura C.4 muestra la posición
articular a seguir, la figura C.5 presenta la velocidad articular a seguir y la figura C.6
muestra la aceleración articular.
Posición articular de la señal Senoidal
1
q1
q2
0.8
q3

0.6

0.4

0.2
Posición (rad)

-0.2

-0.4

-0.6

-0.8

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.4.- Posición articular a seguir de la señal senoidal

- 113 -
Apéndice C. Señales de referencia

Velocidad articular de la señal Senoidal


1
q´1
q´2
0.8
q´3

0.6

0.4

0.2
Velocidad (rad/s)

-0.2

-0.4

-0.6

-0.8

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.5.- Velocidad articular a seguir de la señal senoidal

Aceleración articular de la señal Senoidal


1

0.8

0.6

0.4

0.2
Aceleración (rad/s 2)

-0.2

-0.4

-0.6

q´´1
-0.8
q´´2
q´´3
-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.6.- Aceleración articular a seguir de la señal senoidal

C.3. Señal Polinomial


Esta señal está basada en la señal de prueba de [Elric 1999]. Las señales a seguir
tienen las siguientes ecuaciones:
⎡ −4.01 + 1.75t 2 − 1.01t 3 + 0.202t 4 − 0.0134t 5 ⎤
⎢ ⎥
q ( t ) = ⎢ 1.57 + 1.35t 2 − 0.75t 3 + 0.143t 4 − 0.009t 5 ⎥
⎢ 1.57 + 1.35t 2 − 0.75t 3 + 0.143t 4 − 0.009t 5 ⎥
⎣ ⎦

- 114 -
Controladores de robots rígidos: un análisis comparativo

⎡ 3.5t − 3.03t 2 + 0.808t 3 − 0.067t 4 ⎤


⎢ ⎥
q ( t ) = ⎢ 2.7t − 2.25t 2 + 0.572t 3 − 0.045t 4 ⎥
⎢ 2.7t − 2.25t 2 + 0.572t 3 − 0.045t 4 ⎥
⎣ ⎦
⎡3.5 − 6.06t + 2.424t 2 − 0.268t 3 ⎤
⎢ ⎥
q ( t ) = ⎢ 2.7 − 4.5t + 1.716t 2 − 0.18t 3 ⎥
⎢ 2.7 − 4.5t + 1.716t 2 − 0.18t 3 ⎥
⎣ ⎦

Las señales a seguir se muestran en las figuras C.10 (posición), C.11 (velocidad) y
C.12 (aceleración).
Posición articular de la señal Polinomial
4

1
Posición (rad)

-1

-2

-3

-4 q1
q2
q3
-5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.7.- Posición articular a seguir de la señal polinomial


Velocidad articular de la señal Polinomial
1.4
q´1
q´2
1.2 q´3

0.8
Velocidad (rad/s)

0.6

0.4

0.2

-0.2

-0.4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.8.- Velocidad articular a seguir de la señal polinomial

- 115 -
Apéndice C. Señales de referencia

Aceleración articular de la señal Polinomial


5

3
Aceleración (rad/s 2)

-1
q´´1
q´´2
q´´3
-2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.9.- Aceleración articular a seguir de la señal polinomial

C.4. Señal Compuesta


Ésta señal está basada en la señal de prueba de [Kelly 2003]. Las señales a seguir
tienen las siguientes ecuaciones:
⎡ π π⎛ ( −2t 3 ) ⎞ + π ⎛1 − e( −2t 3 ) ⎞ sen 15t ⎤
+
⎢ 45 4 ⎝ ⎜ 1 − e ⎟ ⎜ ⎟ ( ) ⎥
⎠ 18 ⎝ ⎠
⎢ ⎥
⎢ π π⎛ ( −1.8t 3 ) ⎞ 25π ⎛ ( −1.8t 3 ) ⎞ ⎥
q (t ) = + 1− e ⎟+ ⎜1 − e ⎟ sen ( 5t ) ⎥
⎢ 90 3 ⎜⎝ ⎠ 36 ⎝ ⎠
⎢ ⎥
⎢ π + π ⎛⎜1 − e( −1.8t ) ⎞⎟ + 25π ⎛⎜1 − e( −1.8t ) ⎞⎟ sen ( 5t ) ⎥
3 3

⎢⎣ 90 3 ⎝ ⎠ 36 ⎝ ⎠ ⎥⎦
⎡ 3 ( −2t 3 ) 2 1 ( −2t 3 ) 5 ⎛ ( −2t 3 ) ⎞ cos 15t ⎤
⎢ 2 π e t + π e sen (15 t ) t 2
+ π ⎜ 1 − e ⎟ ( ) ⎥
3 6 ⎝ ⎠
⎢ ⎥
⎢ 9 ( −1.8t 3 ) 2 15 ( −1.8t 3 ) 125 ⎛ ( −1.8t 3 ) ⎞ ⎥
q (t ) = π e t + πe sen ( 5t ) t +
2
π ⎜1 − e ⎟ cos ( 5t ) ⎥
⎢5 4 36 ⎝ ⎠
⎢ ⎥
⎢ 9 π e( − )t 2 + 15 π e( ) sen 5t t 2 + 125 π ⎛1 − e( −1.8t 3 ) ⎞ cos 5t ⎥

( ) ( )⎥
3 3
1.8 t 1.8 t
⎜ ⎟
⎢⎣ 5 4 36 ⎝ ⎠ ⎦

- 116 -
Controladores de robots rígidos: un análisis comparativo

⎡ ⎤
⎢⎛ −9π e −2t t 4 − 2π e( ) sen (15t ) t 4 + 10π t 2 e( ) cos (15t ) + 3π e( )t... ⎞ ⎥
3 −2 t 3 −2 t 3 −2 t 3

⎢⎜ ⎟⎥

⎢ + 2 π e( −2t ) sen 15t t − 25 π ⎛ 1 − e( −2t ) ⎞ sin 15t ⎟⎥
( ) ( )
3 3


⎢⎝ 3 ⎜ ⎟ ⎟⎥
2 ⎝ ⎠ ⎠
⎢ ⎥
⎢ ⎛ − 243 π e −1.8t 3 t 4 − 81 π e( −1.8t 3 ) sen 5t t 4 + 75 π t 2e( −1.8t 3 ) cos 5t ... ⎞ ⎥
⎢ ⎜ 25 ( ) ( ) ⎟ ⎥
q (t ) = ⎢ ⎜
4 2
⎟ ⎥
⎢ ⎜ + 18 π e( −1.8t )t + 15 π e( −2t ) sen ( 5t ) t − 625 π ⎜⎛1 − e( −2t ) ⎟⎞ sin ( 5t ) ⎟ ⎥
3 3 3

⎢ ⎝⎜ 5 2 36 ⎝ ⎠

⎠ ⎥
⎢ ⎥
⎢ ⎛ − 243 π e −1.8t 3 t 4 − 81 π e( −1.8t ) sen ( 5t ) t 4 + 75 π t 2e( −1.8t ) cos ( 5t ) ... ⎞ ⎥
3 3

⎢ ⎜ 25 4 2 ⎟ ⎥
⎢ ⎜ ⎟ ⎥
⎜ 18 ( −1.8t 3 ) 15 ( −2 t 3 )
sen ( 5t ) t −
625 ⎛ ( −2 t 3 ) ⎞ ⎟
⎢ ⎜+ πe t + πe π ⎜1 − e ⎟ sin ( 5t ) ⎟ ⎥
⎣⎢ ⎝ 5 2 36 ⎝ ⎠ ⎠ ⎦⎥

Las señales a seguir se muestran en las figuras C.13 (posición), C.14 (velocidad) y
C.15 (aceleración).
Posición articular de la señal Compuesta
3.5
q1
q2
3
q3

2.5

1.5
Posición (rad)

0.5

-0.5

-1

-1.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.13.- Posición articular a seguir de la señal compuesta

- 117 -
Apéndice C. Señales de referencia

Velocidad articular de la señal Compuesta


15

10

5
Velocidad (rad/s)

-5

-10
q´1
q´2
q´3
-15
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.14.- Velocidad articular a seguir de la señal compuesta

Aceleración articular de la señal Compuesta


60

40

20
Aceleración (rad/s 2)

-20

-40
q´´1
q´´2
q´´3
-60
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.15.- Aceleración articular a seguir de la señal compuesta

C.5. Señal LSPB


Por las características de velocidad y aceleración, ésta señal es implementada para
las aplicaciones de transporte de piezas. Las señales a seguir tienen las siguientes
ecuaciones:

- 118 -
Controladores de robots rígidos: un análisis comparativo

⎧ a
⎪ q0 + sgn t 2 t ≤τ
2

⎪ q − sgn v + sgn vt τ < t ≤ T −τ

q (t ) = ⎨
0
2a
⎪ ⎛ aT 2 a ⎞
⎪q1 + sgn ⎜ + aTt − t 2 ⎟ T − τ < t ≤ T
⎪ ⎝ 2 2 ⎠
⎪ t >T
⎩ q1
⎧ at t ≤τ
⎪ τ < t ≤ T −τ
⎪ v
q (t ) = ⎨
⎪v − a ( t − T + τ ) T − τ < t ≤ T
⎪⎩ 0 t >T
⎧a t ≤τ
⎪ 0 τ < t ≤ T −τ

q (t ) = ⎨
⎪−a T − τ < t ≤ T
⎪⎩ 0 t >T

Las señales a seguir se muestran en las figuras C.16 (posición), C.17 (velocidad) y
C.18 (aceleración).
Posición articular de la señal LSPB
1

0.9

0.8

0.7

0.6
Posición (rad)

0.5

0.4

0.3

0.2

q1
0.1
q2
q3
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.16.- Posición articular a seguir de la señal LSPB

- 119 -
Apéndice C. Señales de referencia

Velocidad articular de la señal LSPB


0.8
q´1
q´2

0.7 q´3

0.6

0.5
Velocidad (rad/s)

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.17.- Velocidad articular a seguir de la señal LSPB

Aceleración articular de la señal LSPB


0.8
q´´1
q´´2

0.6 q´´3

0.4

0.2
Aceleración (rad/s 2)

-0.2

-0.4

-0.6

-0.8
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura C.18.- Aceleración articular a seguir de la señal LSPB

- 120 -
Controladores de robots rígidos: un análisis comparativo

Apéndice D

Resultados de las pruebas del robot PUMA


A continuación se muestran los resultados que se obtuvieron al realizar las pruebas
de los controladores con el robot PUMA.

D.1. Resultados del primer conjunto de pruebas.


Prueba 1
Las pruebas realizadas con el robot PUMA son idénticas a las realizadas en el robot
SCORBOT ER-V+, buscando observar como se comportan el sistema en lazo cerrado con
la integración de las no linealidades inherentes al robot PUMA. La tabla 7.5 muestra los
valores de los índices de desempeño presentados por los controladores.

En la figura D.1 se observa que el controlador PID de seguimiento de trayectoria


presenta la peor respuesta debido al tiempo de establecimiento y al margen de error que
presenta en la gráfica. La mejor respuesta la entregan los controladores robusto y adaptable
de seguimiento de trayectoria.

- 121 -
Apéndice E. Resultados de las pruebas del robot PUMA

Tabla D.1. Índices de desempeño presentados por cada controlador en la prueba 1


Controlador \ Índice IAE ITAE ISE CE
PD por dinámica inversa 2.2231 1.2694 1.3663 12.884
Robusto de posición 2.2697 1.3240 1.3954 6.1118
Adaptable de posición 2.5324 1.5525 1.6792 6.4435
PID de posición 2.0521 2.4558 0.8822 5.7534
PD de seguimiento 1.3013 0.4840 0.7464 5.5266
Robusto de seguimiento 1.2563 0.4601 0.7092 5.7846
Adaptable de seguimiento 1.3128 0.4928 0.7522 5.6277
PID de seguimiento 1.8604 2.5670 0.6720 13.6477

Coordenada articular 2
1.2

0.8

0.6
θ2 (rad)

0.4
qd
PDP
0.2 RP
AP
PIDP
PDS
0
RS
AS
PIDS
-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.1. Coordenada articular presentada por los controladores en la prueba 1

A partir de los datos mostrados en la tabla D.1 se destaca que los controladores PD,
robusto y adaptable de seguimiento de trayectoria presentan los índices de error más
pequeños. Además, el controlador PD de seguimiento de trayectoria presenta el esfuerzo de
control más elevado. De forma global se ve que los controladores de seguimiento presentan
una mejor respuesta.

En la figura D.2 se observa que el controlador que presenta el impulso más grande
es el controlador PID de seguimiento de trayectoria, el controlador adaptable de
movimiento presenta la señal con un tiempo de asentamiento más elevado.

En la figura D.3 claramente se ve que el controlador robusto de seguimiento de


trayectoria presenta la reacción más rápida junto con el impulso más elevado.

- 122 -
Controladores de robots rígidos: un análisis comparativo

Velocidad articular 2
3
q´d
PDP
RP
2.5
AP
PIDP
PDS
2 RS
AS
PIDS

1.5
θ2´ (rad/s)

0.5

-0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.2. Velocidad articular presentada por los controladores en la prueba 1

τ articular 2
30
PDP
RP
AP
PIDP
25
PDS
RS
AS
20 PIDS
τ2 (Nm)

15

10

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.3. Par articular presentado por los controladores en la prueba 1

- 123 -
Apéndice E. Resultados de las pruebas del robot PUMA

Error de posición articular 2


1.2
PDP
RP
AP
1
PIDP
PDS
RS
0.8 AS
PIDS

0.6
qtilde (rad)

0.4

0.2

-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.4. Error de posición presentado por los controladores en la prueba 1

Error de velocidad articular 2


0.5

-0.5

-1
q´tilde (rad/s)

-1.5

PDP

-2 RP
AP
PIDP
PDS
-2.5
RS
AS
PIDS
-3
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.5. Error de velocidad presentado por los controladores en la prueba 1

En las figura D.4 se observa que el controlador adaptable de movimiento presenta el


error más elevado y en la figura D.5, como era de esperarse el controlador PID de
seguimiento de trayectoria presenta el error de velocidad más elevado.

Prueba 2
La tabla D.2 muestra los valores de los índices de desempeño presentados por cada
controlador durante la prueba 2.

- 124 -
Controladores de robots rígidos: un análisis comparativo

Tabla D.2. Índices de desempeño presentados por cada controlador en la prueba 2


Controlador \ Índice IAE ITAE ISE CE
PD por dinámica inversa 0.1033 0.0626 0.0032 156.4974
Robusto de posición 0.1044 0.0633 0.00331 135.5322
Adaptable de posición 8.3634 31.1982 16.2436 94.3537
PID de posición 3.8518 10.3655 1.9940 128.9990
PD de seguimiento 1.0774 2.9839 0.2686 139.1322
Robusto de seguimiento 0.5369 1.4134 0.0594 140.1428
Adaptable de seguimiento 1.0180 2.8090 0.2380 102.4627
PID de seguimiento 0.8678 2.0141 0.0924 144.1614

En la figura D.6 se ve que los controladores PID para el control de posición y el


control adaptable de movimiento presentan la peor respuesta, en cambio todos los demás
controladores presentan una respuesta muy similar y cercana a la referencia.

Coordenada articular 2
4
qd
PDP
RP

3 AP
PIDP
PDS
RS
2 AS
PIDS
θ2 (rad)

-1

-2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.6. Coordenada articular presentada por los controladores en la prueba 2

Los datos en la tabla D.2 confirman lo que se ve en la gráfica, los controladores PID
de posición y adaptable de movimiento presentan el mayor error, los demás controladores
presentan índices de error muy pequeños.

En la figura D.7, se nota fácilmente que el controlador que presenta una velocidad
mucho más lejana que la deseada es el controlador PID de posición.

En la figura D.8 se ve que todos los controladores generan señales de control muy
similares en la forma de la señal, la señal del controlador adaptable de movimiento es la
que más se aleja del conjunto de pares de control de los demás controladores.

- 125 -
Apéndice E. Resultados de las pruebas del robot PUMA

Velocidad articular 2
20
q´d
PDP
RP
15
AP
PIDP
PDS
10 RS
AS
PIDS

5
θ2´ (rad/s)

-5

-10

-15
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.7. Velocidad articular presentada por los controladores en la prueba 2

τ articular 2
10
PDP
RP
8 AP
PIDP
PDS
6
RS
AS
4 PIDS

2
τ2 (Nm)

-2

-4

-6

-8
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.8. Par articular presentado por los controladores en la prueba 2

Las gráficas D.9 y D.10 muestran los errores de posición y velocidad


respectivamente. En ambas figuras se observa que los controladores PID de posición y
adaptable de movimiento son los que presentan los errores más grandes.

- 126 -
Controladores de robots rígidos: un análisis comparativo

Error de posición articular 2


1
PDP
RP
0.8 AP
PIDP
0.6 PDS
RS

0.4 AS
PIDS

0.2
qtilde (rad)

-0.2

-0.4

-0.6

-0.8

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.9. Error de posición presentado por los controladores en la prueba 2

Error de velocidad articular 2


10

2
q´tilde (rad/s)

-2

PDP
-4 RP
AP
-6 PIDP
PDS
RS
-8
AS
PIDS
-10
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.10. Error de velocidad presentado por los controladores en la prueba 2

Prueba 3
La figura D.11 muestra la evolución de la coordenada articular 2, a partir de la
operación bajo cada uno de los controladores. La tabla D.3 nos muestra los valores de los
índices de desempeño para cada controlador.

- 127 -
Apéndice E. Resultados de las pruebas del robot PUMA

Tabla D.3 Índices de desempeño presentados por cada controlador la prueba 3


Controlador \ Índice IAE ITAE ISE CE
PD por dinámica inversa 12.4353 30.2405 17.7114 74.6187
Robusto de posición 12.6860 30.9215 17.9267 45.4414
Adaptable de posición 7.9913 19.5212 6.1926 1.9898
PID de posición 2.5721 3.4953 1.1318 10.7707
PD de seguimiento 1.7257 1.4358 0.8727 9.9061
Robusto de seguimiento 1.1984 0.6631 0.5877 20.2524
Adaptable de seguimiento 1.3817 0.5290 0.8122 6.5184
PID de seguimiento 2.0117 2.8345 0.7493 19.6833

A partir de los datos que se muestran en la tabla anterior se observa claramente que
los controladores robusto y adaptable de seguimiento de trayectoria son los que presentan
un error más pequeño. Además, el controlador adaptable de seguimiento de trayectoria es el
controlador que presenta el menor esfuerzo de control.

En la figura D.11 se observa que los controladores de posición son los que presentan
la peor respuesta.
Coordenada articular 2
1.6
qd
PDP
1.4 RP
AP
PIDP
1.2
PDS
RS
1 AS
PIDS

0.8
θ2 (rad)

0.6

0.4

0.2

-0.2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.11. Coordenada articular presentada por los controladores en la prueba 3

En la figura D.12, se puede ver que el controlador PD de posición y el controlador


robusto de movimiento tienen un impulso más pequeño.

- 128 -
Controladores de robots rígidos: un análisis comparativo

Velocidad articular 2
3.5
q´d
PDP
3 RP
AP
PIDP
2.5
PDS
RS
2 AS
PIDS

1.5
θ2´ (rad/s)

0.5

-0.5

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.12. Velocidad articular presentada por los controladores en la prueba 3

En la figura D.13 se ve que los controladores robusto y PID de seguimiento de


trayectoria tienen los pares de control con un impulso inicial más elevado, sin embargo
ambos controladores tienen pares de control muy pequeños en estado estable.

τ articular 2
30
PDP
RP
AP
25
PIDP
PDS
RS
20 AS
PIDS

15
τ2 (Nm)

10

-5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.13. Par articular presentado por los controladores en la prueba 3

En la figura siguiente se confirma lo que se mostró en la figura D.14, el controlador


con el error de posición más pequeño es el controlador adaptable de seguimiento de
trayectoria.

- 129 -
Apéndice E. Resultados de las pruebas del robot PUMA

Error de posición articular 2


1.2 PDP
RP
AP
1
PIDP
PDS
0.8 RS
AS
PIDS
0.6

0.4
qtilde (rad)

0.2

-0.2

-0.4

-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.14. Error de posición presentado por los controladores en la prueba 3

En la figura D.15 vemos que los controladores PD y robusto de movimiento


presentan los menores impulsos. Los tiempos de establecimiento más grandes los presentan
los controladores PID y adaptable de seguimiento de trayectoria.
Error de velocidad articular 2
1

0.5

-0.5

-1
q´tilde (rad/s)

-1.5

-2 PDP
RP
AP
-2.5
PIDP
PDS
-3 RS
AS
PIDS
-3.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.15. Error de velocidad presentado por los controladores en la prueba 3

Prueba 4
La tabla D.4 muestra los valores de los índices de desempeño presentados por cada
controlador durante la prueba 4.

- 130 -
Controladores de robots rígidos: un análisis comparativo

Tabla D.4. Índices de desempeño presentados por cada controlador en la prueba 4


Controlador \ Índice IAE ITAE ISE CE
PD por dinámica inversa 6.6092 17.5369 5.6638 218.7652
Robusto de posición 6.6596 17.6761 5.7384 174.0156
Adaptable de posición 22.5530 79.3801 92.6874 253.3681
PID de posición 5.1626 14.0045 3.5382 220.6016
PD de seguimiento 1.8191 4.8897 0.3777 213.6917
Robusto de seguimiento 0.0601 0.0351 0.0016 1799.2806
Adaptable de seguimiento 1.3764 3.8535 0.4008 115.5138
PID de seguimiento 1.1409 2.6629 0.1623 255.1341

Analizando los datos mostrados en la tabla D.4 se observa que todos los
controladores de posición presentan errores bastante elevados, donde el controlador
adaptable de posición presenta el mayor error durante la prueba. El controlador adaptable
de seguimiento presenta el esfuerzo de control más pequeño.

En la figura D.16, se puede observar la evolución que presenta la coordenada


articular número 2, se confirman las observaciones que se presentan en la tabla D.4, los
controladores con un mejor seguimiento de la posición son los controladores robusto, PID y
adaptable de seguimiento de trayectoria.
Coordenada articular 2
8
qd
PDP
7 RP
AP
6 PIDP
PDS

5 RS
AS
PIDS
4
θ2 (rad)

-1

-2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.16. Coordenada articular presentada por los controladores en la prueba 4

En la figura D.17 se muestra el comportamiento que presenta la velocidad articular,


al igual que en la figura D.16, se ve que los controladores que presentan una mejor
respuesta en el seguimiento de la velocidad, son los controladores de seguimiento de
trayectoria.

- 131 -
Apéndice E. Resultados de las pruebas del robot PUMA

Velocidad articular 2
25
q´d
PDP
20 RP
AP
15 PIDP
PDS

10 RS
AS
PIDS
5
θ2´ (rad/s)

-5

-10

-15

-20

-25
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.17. Velocidad articular presentada por los controladores en la prueba 4

En la figura D.18, se muestran los pares de control de los controladores son muy
similares. Se destaca la forma del par de control del controlador robusto de seguimiento de
trayectoria el cual presenta oscilaciones elevadas a lo largo del tiempo.
τ articular 2
100

80

60

40

20
τ2 (Nm)

-20 PDP
RP
AP
-40
PIDP
PDS
-60 RS
AS
PIDS
-80
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.18. Par articular presentado por los controladores en la prueba 4

En las figuras siguientes se confirma lo que se mostró en las figuras D.16 y D.17,
los controladores que se pueden sobreponer al incremento en la incertidumbre en los

- 132 -
Controladores de robots rígidos: un análisis comparativo

parámetros, son los controladores adaptable, PID y robusto de seguimiento de trayectoria,


los cuales logran el seguimiento de la posición y velocidad deseadas.
Error de posición articular 2
2

-1
qtilde (rad)

-2

PDP

-3 RP
AP
PIDP
PDS
-4
RS
AS
PIDS
-5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.19. Error de posición presentado por los controladores en la prueba 4

Error de velocidad articular 2


15

10

5
q´tilde (rad/s)

-5 PDP
RP
AP
PIDP
-10 PDS
RS
AS
PIDS
-15
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tiempo (s)

Figura D.20. Error de velocidad presentado por los controladores en la prueba 4

A lo largo de las pruebas vemos que los controladores de seguimiento presentan una
mejor respuesta a las dos posiciones deseadas (escalón unitario y posición variante en el
tiempo). El controlador que mejor responde al cambio en los parámetros el controlador
adaptable de seguimiento, pues sus índices de error son pequeños y realiza el menor
esfuerzo de control.

- 133 -
Apéndice E. Resultados de las pruebas del robot PUMA

D.2. Resultados del segundo conjunto de pruebas.


Prueba A.
En esta prueba se realizan cambios en la trayectoria a seguir. El caso nominal es el
seguimiento de una señal escalón y se considera un conocimiento perfecto del valor de los
parámetros. Las señales a seguir durante esta prueba se muestran en el apéndice E.

Índice IAE Índice ITAE


4 20
3.5

3 15
Porcentaje (%/100)

Porcentaje (%/100)
2.5

2 10
PDp
1.5
Rp
1 5
Ap
0.5 PIDp
0 PDs 0
Escalon Senoidal Polinomial Kelly LSPB Escalon Senoidal Polinomial Kelly LSPB
Señal Rs Señal
As
Índice ISE PIDs Índice CE
10 40

35
8
30
Porcentaje (%/100)

Porcentaje (%/100)

6 25

20
4 15

10
2
5

0 0
Escalon Senoidal Polinomial Kelly LSPB Escalon Senoidal Polinomial Kelly LSPB
Señal Señal

Figura D.21. Relación de cambio en los valores de los índices de desempeño presentados por los
controladores en la prueba A

En la figura anterior se observa que el controlador adaptable de seguimiento de


trayectoria presenta el mejor comportamiento en los valores de los índices de error.

Al variar las señales de referencia a seguir, y en función a los cambios que existen
en los índices de error se observa que la señal polinomial, es la señal que más se les
complica a los controladores. A partir de los cambios en el índice CE se ve que la señal de
Kelly requiere un esfuerzo recontrol más elevado para poder seguirla.

Prueba B.
En esta prueba se realizan cambios en el nivel de la incertidumbre para probar como
se modifica la respuesta de los controladores. Esta prueba tiene como objetivo observar que
controlador tiene la posibilidad de ser robusto a los cambios en los parámetros del robot
manipulador.

En la figura D.22 se observa que los controladores PD, robusto y adaptable de


posición no pueden mantener una buena respuesta a la salida del sistema. Además, el
incrementar la incertidumbre en el valor de los parámetros del sistema, el índice del
esfuerzo de control que realizan los controladores se incrementa demasiado.

- 134 -
Controladores de robots rígidos: un análisis comparativo

En esta prueba se destacan los controladores adaptable y PID de seguimiento de


trayectoria, pues en base al comportamiento de los índices de error ambos pueden manejar
el incremento en el nivel de incertidumbre en el valor de los parámetros.

Índice IAE Índice ITAE


6
25

5
20
Porcentaje (%/100)

Porcentaje (%/100)
4
15
3
PDp 10
2 Rp
Ap 5
1
PIDp
0 PDs 0
0% 10% 25% 0% 10% 25%
Prcentaje de incertidumbre Rs Prcentaje de incertidumbre
As
Índice ISE PIDs Índice CE

12 50

10
40
Porcentaje (%/100)

Porcentaje (%/100)
8
30
6
20
4

2 10

0 0
0% 10% 25% 0% 10% 25%
Prcentaje de incertidumbre Prcentaje de incertidumbre

Figura D.22. Relación de cambio en los valores de los índices de desempeño presentados por los
controladores en la prueba B

Prueba C.
En esta prueba se realizan cambios en la ubicación de la incertidumbre, con el fin de
distinguir que conjunto de parámetros tiene un mayor efecto en el comportamiento del
sistema. Los parámetros están divididos en el conjunto de masas y el conjunto de inercias.
En ambos conjuntos se maneja un nivel de incertidumbre del 25%. Como en las pruebas
anteriores, se compara el comportamiento de cada caso contra el caso de prueba nominal.

En la figura D.23 se ve claramente que es mucho mayor el efecto de las masas en


comparación con el efecto de las inercias, esto nos indica que cuando se diseñe un
controlador se debe de tratar de conocer lo más exacto posible las masas de cada uno de los
eslabones del sistema.

- 135 -
Apéndice E. Resultados de las pruebas del robot PUMA

Índice IAE Índice ITAE


6
25

5
20

Porcentaje (%/100)

Porcentaje (%/100)
4
15
3
PDp 10
2 Rp
Ap 5
1
PIDp
0 PDs 0
0% Masas Inercias 0% Masas Inercias
Ubicación de la Incertidumbre Rs Ubicación de la Incertidumbre
As
Índice ISE PIDs Índice CE
10
12

10 8
Porcentaje (%/100)

Porcentaje (%/100)
8 6

6
4
4
2
2

0 0
0% Masas Inercias 0% Masas Inercias
Ubicación de la Incertidumbre Ubicación de la Incertidumbre

Figura D.23. Relación de cambio en los valores de los índices de desempeño presentados por los
controladores en la prueba C

Prueba D.
Para esta prueba, se realizan cambios en la masa de carga. Esta prueba surge a partir
del uso del robot manipulador para el transporte de piezas, donde su masa de carga va a
estar variando constantemente hasta el grado de llegar a desaparecer.

En esta prueba se compara la respuesta del controlador en el caso nominal con el


caso donde se duplica el valor de la masa de carga y el caso donde se elimina la masa de
carga.

En la figura D.24 se observa que es mayor el efecto de duplicar la carga que el


efecto de eliminar la carga. Para algunos controladores es benéfico y se tiene un mejor
control del sistema. Los controladores que se ven gravemente afectados por los cambios en
la masa de carga son los controladores PD, PID y adaptable de posición.

A partir de la revisión de la evolución del conjunto de índices de desempeño se llega


a la conclusión que los controladores PID y adaptable de seguimiento presentan el mejor
comportamiento a lo largo de la prueba.

- 136 -
Controladores de robots rígidos: un análisis comparativo

Índice IAE Índice ITAE


30
160
25 140

Porcentaje (%/100)

Porcentaje (%/100)
120
20
100
15 80
PDp
10 60
Rp
Ap 40
5
PIDp 20
0 PDs 0
Nominal Duplicada Sin Carga Nominal Duplicada Sin Carga
Carga Rs Carga
As
Índice ISE PIDs Índice CE
20
12

15 10
Porcentaje (%/100)

Porcentaje (%/100)
8
10
6

4
5
2

0 0
Nominal Duplicada Sin Carga Nominal Duplicada Sin Carga
Carga Carga

Figura D.24. Relación de cambio en los valores de los índices de desempeño presentados por los
controladores en la prueba D

- 137 -
Apéndice E. Resultados de las pruebas del robot PUMA

Hoja en Blanco

- 138 -
Controladores de robots rígidos: un análisis comparativo

Apéndice E

Uso de los modelos de simulación


A continuación se va a describir el método de uso de los modelos de simulación
desarrollados. En primer lugar se va a describir la forma de uso del modelo de simulación
de la cinemática del robot manipulador. Enseguida se describen los pasos necesarios para el
uso de los modelos de simulación de la dinámica del robot manipulador.

E.1. Modelo de simulación de la cinemática del robot manipulador


Este modelo se encuentra desarrollado en SIMULINK® 6.4, el archivo lleva por
nombre cinematica.mdl. Ésta compuesto por un menú a base de subsistemas, para acceder a
cada una de las opciones se debe de dar doble click en la opción seleccionada, en la
siguiente figura se muestra el menú principal del modelo.

Cinemática Cinemática
Directa Inversa
Figura E.1.- Menú principal del modelo de simulación de la cinemática

- 139 -
Apéndice F. Uso de los modelos de simulación

Según la cinemática seleccionada se va a abrir una ventana con otro menú para
seleccionar el robot manipulador, como se muestra en la figura E.2.

Cinematica Cinematica
Directa del Directa Cinematica Cinematica
SCORBOT ER-V+ del PUMA Inversa del Inversa del
SCORBOT ER-V+ PUMA

a) Menú de cinemática directa b) Menú de cinemática inversa


Figura E.2.- Menús de selección del robot manipulador

E.1.1. Simulación de la cinemática directa


Los modelos de simulación de la cinemática directa son muy similares, sólo
cambian las funciones de definición del robot, en la figura E.3 se puede observar el
contenido del modelo. El bloque requiere a la entrada el valor de las coordenadas
articulares (en grados) y entrega a la salida la ubicación del efector final (en metros), en un
vector de 3x1.

0.066342543105869
50

Theta 1 Theta 1 Px

0.079063964088255
100 Theta 2 Punto

Theta 2 Theta 3 Py

-50 Cinemática Directa 0.74918748314886


SCORBOT ER-V+
Theta 3 Pz
Los angulos deben intruducirse en grados

Figura E.3.- Modelo de simulación de la cinemática directa del robot SCORBOT ER-V+

Figura E.4.- Ventana de introducción de parámetros para la simulación de la cinemática directa del
robot SCORBOT ER-V+

Para la introducción de los parámetros del robot, se debe dar doble click en el
subsistema del modelo y se abre la ventana de introducción de parámetros (figura E.4).

- 140 -
Controladores de robots rígidos: un análisis comparativo

Estos modelos tienen la capacidad de obtener la ubicación del efector final para un punto, o
para un conjunto de valores variantes en el tiempo.

E.1.2. Simulación de la cinemática inversa


Los modelos de simulación de la cinemática inversa son muy similares, sólo
cambian las funciones de definición del robot y el vector de resultados puesto que en el
caso del robot SCORBOT ER-V+ se obtienen dos posibles configuraciones y en el caso del
robot PUMA se obtienen 4 configuraciones. En la figura D.5 se observa el contenido del
modelo. El bloque requiere a la entrada el valor de la ubicación del efector final (en metros)
y devuelve el valor de las coordenadas articulares (en grados).

50
50
0.066342543105869 50
Px
Px

0.079063964088255 Py Punto Codo Arriba


Py
Pz 50
0.74918748314886 100
Cinemática Inversa
Pz
SCORBOT ER-V+ -50

Codo Abajo
Las coordenadas en metros
Figura E.5.- Modelo de simulación de la cinemática inversa del robot SCORBOT ER-V+

Al igual que en el modelo de la cinemática directa, para la introducción de los


parámetros del robot, se debe dar doble click en el subsistema del modelo y se abre la
ventana de introducción de parámetros (similar a la mostrada en la figura E.4, sólo cambia
el nombre de la ventana).

E.2. Modelo de simulación de la dinámica del robot manipulador


Este modelo, al igual que el modelo de simulación de la cinemática del robot
manipulador, se encuentra desarrollado en SIMULINK® 6.4. El bloque que realiza la
simulación de la dinámica del robot manipulador lleva por nombre el nombre del robot
manipulador que representa.

Para su uso es necesario introducir en el bloque, los pares articulares que generan
los motores del robot manipulador, y a la salida se obtiene la evolución que presentan las
posiciones y velocidades articulares. En la figura E.6 se muestra la forma de conexión del
modelo de simulación.

De una forma muy similar a los modelos de la cinemática, para cambiar los
parámetros del robot manipulador es necesario darle doble click al bloque de simulación y
se accede a la venta de introducción de parámetros (figura E.7).

- 141 -
Apéndice F. Uso de los modelos de simulación

Tao1 q1,q1_punto
Tao1 q1
q1_punto
q2
Tao2
q2_punto
q3
Tao2 Tao3 q3_punto q2,q2_punto

Dinamica
Scorbot
Tao3
q3,q3_punto

Figura E.6.- Modelo de simulación de la dinámica del robot SCORBOT ER-V+

Figura E.7.- Ventana de introducción de parámetros para la simulación de la dinámica del robot
SCORBOT ER-V+

- 142 -

You might also like