Está en la página 1de 121

INSTITUTO POLITÉCNICO NACIONAL

CENTRO DE INVESTIGACIÓN Y DESARROLLO


DE TECNOLOGÍA DIGITAL

MAESTRÍA EN CIENCIAS EN SISTEMAS DIGITALES

“MODELADO, IDENTIFICACIÓN Y CONTROL DE UN ROBOT


MANIPULADOR DE DOS GRADOS DE LIBERTAD”

TESIS

QUE PARA OBTENER EL GRADO DE

MAESTRO EN CIENCIAS EN SISTEMAS DIGITALES

PRESENTA:

ING. ERNESTO ALONSO OROZCO MANRÍQUEZ

BAJO LA DIRECCIÓN DE:

DR. EDUARDO JAVIER MORENO VALENZUELA

NOVIEMBRE DE 2009 TIJUANA, B.C., MÉXICO


Dedicatoria
A toda mi familia, en especial a mis padres Velia Manrı́quez y Ricardo Orozco
Ortega por su cariño, comprensión y apoyo sin condiciones ni medida, que siempre me han
alentado a seguir adelante. A mi hermano, Ricardo, que aparte de ser un buen hermano
es un gran amigo.

A todos por su apoyo incondicional en todo momento para llegar a este momento
tan importante de mi vida y lograr otra meta más en mi carrera.

“La ciencia es la progresiva aproximación del hombre al mundo real”.


Max Plank.
Agradecimientos
A mi director de tesis, Dr. Javier Moreno Valenzuela, por sus enseñanzas, orien-
tación y el compartir sus conocimientos para el buen desarrollo de este trabajo.

A los integrantes de la comisión revisora de tesis por sus cuestionamientos y suge-


rencias que han sido de gran valı́a y que fueron parte importante para mejorar este trabajo.

A mis amigos y compañeros de CITEDI por todos esos momentos y experiencias


tan especiales que compartimos juntos.

Al Instituto Politécnico Nacional (IPN) y al Consejo Nacional de Ciencia y Tec-


nologı́a (CONACYT) por el apoyo económico brindado.
Modelado, Identificación y Control de un Robot Manipulador de Dos Grados
de Libertad

Resumen

Este trabajo de tesis aborda el problema de modelado, identificación y control de


un robot manipulador experimental de dos grados de libertad. Se considera la presencia de
motores de corriente directa como actuadores del robot. Ası́ mismo, se estudia el modelo
de regresión del robot para identificar los parámetros del modelo.
La identificación de los parámetros del robot es llevada a cabo usando el modelo
dinámico de regresión filtrado y los métodos de mı́nimos cuadrados, mı́nimos cuadrados
ponderado y mı́nimos cuadrados recursivo. Se presentan resultados experimentales de
estos procedimientos. Con el fin de validar la exactitud del modelo identificado, se ilustran
resultados experimentales y de simulación de controladores de seguimiento de trayectorias.
Finalmente, usando el modelo identificado se realizan experimentos de control de
seguimiento de trayectorias con el robot manipulador experimental utilizando diferentes
esquemas de control basados en modelo.

Palabras clave: Robot manipulador; motor de corriente directa; modelo de regresión;


filtro; identificación.
Modelling, Identification and Control of a Robot Manipulator of Two
Degrees-of-Freedom

Abstract

This thesis addresses the problem of modelling, identification and control of an


experimental robot manipulator of two degrees-of-freedom. The presence of direct current
motors as robot actuators is considered. The regression model of the robot is studied also.
Identification of the robot parameter is carried out by using the filtered regression
model of the robot and the methods of least squares, weighted least squares and recur-
sive least squares. Experimental results of the identification procedures are presented.
To validate the accuracy of the identified model, experimental and simulation results of
trajectory tracking control are illustrated.
Finally, by using the identified model, different trajectory tracking control me-
thods were implemented in experiment and numerical simulation.

Keywords: Robot manipulator; direct current motor; regression model; filter; identifica-
tion.
Contenido

Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Lista de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Lista de sı́mbolos y acrónimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

1. Introducción 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2. Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Contenido de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2. Identificación de Sistemas 7
2.1. Identificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Modelo de regresión lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Método de mı́nimos cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4. Método de mı́nimos cuadrados ponderado . . . . . . . . . . . . . . . . . . 12
2.5. Método de mı́nimos cuadrados recursivo . . . . . . . . . . . . . . . . . . . 12

3. Modelado del robot manipulador 16


3.1. Descripción de robot manipulador experimental . . . . . . . . . . . . . . . 16
3.2. Modelo dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1. Modelo dinámico del robot experimental . . . . . . . . . . . . . . . 19
3.2.2. Modelo del robot en su forma compacta . . . . . . . . . . . . . . . 23
3.3. Modelo dinámico de robots actuado por motores de C.D. . . . . . . . . . . 25
3.3.1. Modelo dinámico del robot experimental actuado por motores de
C.D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4. Parametrización del modelo dinámico . . . . . . . . . . . . . . . . . . . . . 30
3.4.1. Modelo dinámico de regresión del robot experimental . . . . . . . . 31

viii
Contenido ix

3.5. Modelo nominal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34


3.5.1. Modelo nominal del robot experimental conociendo la fricción . . . 35
3.6. Cinemática directa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6.1. Modelo cinemático directo del robot . . . . . . . . . . . . . . . . . . 38
3.7. Cinemática inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.7.1. Modelo cinemático inverso del robot . . . . . . . . . . . . . . . . . 40

4. Identificación del modelo dinámico del robot manipulador 44


4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2. Identificación de robots manipuladores . . . . . . . . . . . . . . . . . . . . 45
4.2.1. Procedimiento de identificación . . . . . . . . . . . . . . . . . . . . 46
4.2.2. Estimación de los parámetros de fricción . . . . . . . . . . . . . . . 46
4.2.3. Cálculo de las velocidades de las articulaciones y modelo dinámico
filtrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3. Identificación del modelo dinámico del robot . . . . . . . . . . . . . . . . . 50
4.3.1. Modelo dinámico filtrado del robot . . . . . . . . . . . . . . . . . . 50
4.3.2. Proceso de identificación del robot . . . . . . . . . . . . . . . . . . 53
4.3.3. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . 55
4.3.4. Validación del modelo identificado . . . . . . . . . . . . . . . . . . . 57
4.3.5. Identificación en lı́nea mediante mı́nimos cuadrados recursivo . . . . 62
4.4. Discusión de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5. Caso de estudio de identificación usando mı́nimos cuadrados recursivo 67


5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2. Identificación de los parámetros de fricción . . . . . . . . . . . . . . . . . . 68
5.2.1. Modelo del motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2.2. Aplicación del método a la identificación de un motor de C.D. . . . 71
5.2.3. Identificación del motor de la articulación 1 . . . . . . . . . . . . . 71
5.2.4. Identificación del motor de la articulación 2 . . . . . . . . . . . . . 72
5.3. Identificación del modelo dinámico del robot conociendo la fricción . . . . . 74
5.3.1. Modelo del robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.2. Algoritmo de identificación . . . . . . . . . . . . . . . . . . . . . . . 75
5.4. Validación de los parámetros estimados del robot . . . . . . . . . . . . . . 78
5.5. Discusión de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6. Control de robots basado en modelo 82


6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.2. Dinámica del robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.3. Control en el espacio operacional . . . . . . . . . . . . . . . . . . . . . . . 84
6.4. Trayectoria deseada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.5. Estrategias de control basadas en modelo . . . . . . . . . . . . . . . . . . . 86
6.5.1. Control PD con precompensación . . . . . . . . . . . . . . . . . . . 86
Contenido x

6.5.2. Controlador PD+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87


6.5.3. Controlador en el espacio operacional usando solo mediciones de
posición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.6. Evaluación del desempeño . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.7. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

7. Conclusiones y trabajo futuro 94


7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Referencias 96

A. Aproximación de la derivada temporal de una señal discreta 101

B. Trigonometrı́a 104
B.1. Función arco tangente de dos argumentos . . . . . . . . . . . . . . . . . . . 104
B.2. Ley de los cosenos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
B.3. Identidades trigonométricas . . . . . . . . . . . . . . . . . . . . . . . . . . 105
B.3.1. Identidades de ángulos dobles . . . . . . . . . . . . . . . . . . . . . 105

C. Filtro de posición 106


C.1. Diseño del filtro de posición . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Lista de Figuras

3.1. Robot manipulador experimental de dos grados de libertad accionado por


motores de corriente directa. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Diagrama de bloques del sistema experimental. . . . . . . . . . . . . . . . 17
3.3. Diagrama esquemático del robot manipulador de dos grados de libertad. . 19
3.4. Diagrama esquemático de un motor de corriente directa (C.D.) con imán
permanente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5. Diagrama a bloques de un robot y sus actuadores. . . . . . . . . . . . . . . 27
3.6. Respuesta de la función tanh(βx) con β = 50, β = 10 y β = 2. . . . . . . . 29
3.7. Diagrama de las dos posibles soluciones de la cinemática inversa para una
posición determinada denominadas −−“Codo arriba” y —“Codo abajo”. . 41
3.8. Diagrama esquemático del robot para obtener la solución de modelo ci-
nemático inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1. Diagrama esquemático de la implementación del proceso de identificación


del robot. El bloque con etiqueta ADC denota el algoritmo de diferencia-
ción central (4.1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2. Evolución temporal de la estimación de los parámetros θ̂1 − θ̂12 del modelo
dinámico del robot mediante mı́nimos cuadrados ...., mı́nimos cuadrados
ponderado — y mı́nimos cuadrados recursivo - - -. Las unidades de los
parámetros se listan en la tabla 4.1. . . . . . . . . . . . . . . . . . . . . . . 58
4.3. Voltaje de control de simulación y experimento utilizando controlador PD y
parámetros estimados de la identificación por mı́nimos cuadrados ponderado. 60
4.4. Error de posición de simulación y experimento utilizando controlador PD y
parámetros estimados de la identificación por mı́nimos cuadrados ponderado. 60
4.5. Voltaje de control de simulación y experimento utilizando controlador PD
con precompesación y parámetros estimados de la identificación por mı́ni-
mos cuadrados ponderado. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6. Error de posición de simulación y experimento utilizando controlador PD
con precompesación y parámetros estimados de la identificación por mı́ni-
mos cuadrados ponderado. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.7. Diagrama esquemático del método de identificación de mı́nimos cuadrados
recursivo, filtrado del modelo y estimación de velocidad por el filtro de Euler. 64

xi
Lista de Figuras xii

4.8. Evolución temporal de la estimación de los parámetros θ̂1 − θ̂12 del modelo
dinámico mediante mı́nimos cuadrados recursivo, filtrado del modelo y es-
timación de velocidad por el filtro de Euler. Las unidades de los parámetros
se listan en la tabla 4.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.1. Evolución temporal de la estimación de los parámetros J, ˆ fˆv , fˆs1 y fˆs2 del
modelo del motor de la articulación 1. . . . . . . . . . . . . . . . . . . . . . 73
5.2. Evolución temporal de la estimación de los parámetros J, ˆ fˆv ,fˆs1 y fˆs2 del
modelo del motor de la articulación 2. . . . . . . . . . . . . . . . . . . . . . 73
5.3. Diagrama del esquema de identificación de mı́nimos cuadrados recursivo
considerando la fricción del robot como conocida. . . . . . . . . . . . . . . 76
5.4. Evolución temporal de la estimación de los parámetros θˆ1 − θˆ6 del mode-
lo dinámico utilizando mı́nimos cuadrados recursivo y considerando como
conocida la fricción del robot. . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.5. Voltaje de control de simulación y experimento utilizando controlador PD
y parámetros estimados de la identificación conociendo la fricción. . . . . . 79
5.6. Error de posición de simulación y experimento utilizando controlador PD
y parámetros estimados de la identificación conociendo la fricción. . . . . . 79
5.7. Voltaje de control de simulación y experimento utilizando controlador PD
con precompensación y parámetros estimados de la identificación conocien-
do la fricción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.8. Error de posición de simulación y experimento utilizando controlador PD
con precompensación y parámetros estimados de la identificación conocien-
do la fricción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.1. Error de posición articular q1 (t) y q2 (t) del control PD con precompensanción. 90
6.2. Voltaje aplicado u1 (t) y u2 (t) del control PD con precompensación. . . . . 90
6.3. Error de posición articular q1 (t) y q2 (t) del control PD+. . . . . . . . . . . 91
6.4. Voltaje aplicado u1 (t) y u2 (t) del control PD+. . . . . . . . . . . . . . . . . 91
6.5. Error de posición angular q1 (t) y q2 (t) del controlador en el espacio opera-
cional usando solo mediciones de posición. . . . . . . . . . . . . . . . . . . 92
6.6. Voltaje aplicado u1 (t) y u2 (t) del controlador en el espacio operacional
usando solo mediciones de posición. . . . . . . . . . . . . . . . . . . . . . . 92
6.7. Comparación del valor L 2 obtenido para los tres esquemas de control, PD
con precompesación (PDp), PD+ y el controlador en el espacio operacional
usando solo mediciones de posición (Nuevo). . . . . . . . . . . . . . . . . . 93

A.1. Diagrama de Bode del operador diferencial d(s) = s y del filtro discreto
D(z −1 ) el cual aproxima d(s) en el dominio discreto. . . . . . . . . . . . . . 102

C.1. Interfaz gráfica de la herramienta de Matlab “fdatool” para el análisis y


diseño de filtros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Lista de Tablas

3.1. Parámetros fı́sicos del brazo robótico experimental. . . . . . . . . . . . . . 18

4.1. Parámetros estimados del modelo dinámico del robot mediante mı́nimos
cuadrados (MC), mı́nimos cuadrados ponderado (MCP) y mı́nimos cua-
drados recursivo (MCR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2. Parámetros estimados del robot utilizando el algoritmo de mı́nimos cua-
drados recursivo, filtrado del modelo y estimación de velocidad por el filtro
de Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.1. Parámetros estimados de lo motores de las articulaciones del robot median-


te mı́nimos cuadrados recursivo. . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2. Parámetros estimados θ̂1 -θ̂6 del robot utilizando mı́nimos cuadrados recur-
sivo considerando los parámetros de fricción θ̂7 -θ̂12 de las articulaciones
como conocidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

C.1. Valores de los coeficientes del filtro fp (z) obtenidos con la herramienta de
Matlab “fdatools”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

xiii
Lista de sı́mbolos y acrónimos

IR Números reales.
IR+ Números reales positivos.
Z Números enteros.
⊆ Subconjunto propio de.
q Vector de posisciones articulares del robot.
τ Torque.
u Voltaje.
θ Vector de parámetros.
Φ Matriz de regresión.
Ω Matriz de regresión del robot.
K Matriz de constantes de conversión de voltaje a torque.
Θ Espacio operacional del robot.
J(q) Jacobiano del robot.
I Matriz identidad.
λ Frecuencia de corte del filtro del modelo.
diag Matriz diagonal.
atan2 Arco tangente de dos argumentos.
Kg Kilogramo.
m Metro.
N Newton.
rad Radianes.
seg Segundos.
SCARA Selective Compliant Assembly Robot Arm - Brazo Robótico Capacitado
para Ensamblado Selectivo.
C.D. Corriente Directa.
CAD Computer Aided Design - Diseño Asistido por Computadora,
CAM Computer Aided Manufacturer - Fabricación Asistido por Computadora.
PD Proporcional Derivativo.
RMS Root Mean Square - Raı́z Media Cuadrática.
FIR Finite Impulse Response - Respuesta al Impulso Finita.

xiv
Capı́tulo 1

Introducción

1.1. Antecedentes
La implementación de esquemas de control avanzados basados en modelo ası́ como
una simulación realista del robot requieren de una buena determinación y exactitud del
modelo del robot. Para poder realizar el diseño de un controlador de movimiento preciso
de un robot manipulador es necesario formular un modelo que describa o se ajuste a la
dinámica del sistema. Los robots manipuladores pueden realizar movimientos rápidos y
exactos a través de esquemas de control de movimiento basados en modelo. El diseño de
controladores de robots avanzados y su desempeño dependen directamente de la exactitud
del modelo. Realizar simulaciones del robot sin el conocimiento de la dinámica exacta del
robot no provee una ejecución realista y llevarı́a a errores de diseño e implementación en
el controlador del robot.
Los parámetros del modelo que son proveı́dos por el fabricante son insuficientes,
inexactos y en algunos casos no provistos [1], [2]. La medición directa de los parámetros
fı́sicos en la mayorı́a de los casos no es posible debido a la complejidad de los mecanismos.
La identificación experimental del modelo del robot es una forma eficiente de obtener un
modelo aproximado del mismo e indicaciones sobre su exactitud y validez [1].
En la literatura han sido presentados diversas técnicas para la identificación de los

1
1.1. Antecedentes 2

parámetros del modelo dinámico de robots manipuladores. La estimación de los paráme-


tros del modelo dinámico es usualmente realizada mediante la aplicación de técnicas
basadas en mı́nimos cuadrados a las ecuaciones de movimiento o de energı́a del robot
manipulador. La validez de la estimación depende de la calidad de los datos de las señales
de entrada-salida y de la selección de la trayectoria de referencia la cual debe excitar
propiamente la dinámica del robot [3].
A continuación se presenta una revisión bibliográfica sobre el problema de la
identificación de robots manipuladores.
En [4] se presenta la evaluación experimental del algoritmo de identificación de
mı́nimos cuadrados recursivo con tres esquemas del modelo a identificar: modelo dinámico
de regresión filtrado, el modelo de energı́a de regresión filtrado y se propone realizar la
identificación con el modelo de potencia de regresión filtrado. En este artı́culo se considera
el filtrado de los modelos para evitar la estimación de la aceleración de las articulaciones.
En [5] se presenta un nuevo esquema de identificación de los parámetros del
modelo dinámico de robots manipuladores utilizando mı́nimos cuadrados ponderado y los
modelos dinámico y de potencia para la identificación.
En [1] se discuten los resultados experimentales de la identificación de robots desde
un punto de vista estadı́stico. Además presenta un nuevo enfoque en el diseño óptimo de
trayectorias de excitación de robots y formula la estimación de los parámetros del modelo
dinámico por el método de máxima probabilidad y mı́nimos cuadrados ponderado.
En [6] y [7] se detalla el desarrollo de la obtención de los algoritmos de identifica-
ción de mı́nimos cuadros, mı́nimo cuadrados recursivo y mı́nimos cuadrados ponderado.
En [8] se presenta la teorı́a sobre diversas técnicas de identificación y el uso
práctico de la implementación de las mismas.
En [9] se propone un procedimiento para la estimación de los parámetros del
modelo dinámico de un robot experimental. Se considera la dinámica de los actuadores
en el modelo del robot, donde los actuadores son motores de corriente directa (C.D.) y se
define el modelo del robot respecto al voltaje aplicado al robot.
1.1. Antecedentes 3

En [10] se presenta la evaluación experimental de la comparación de los métodos


de identificación de mı́nimos cuadrados ponderado y el filtro de Kalman extendido. En
ambos casos se utiliza el modelo dinámico como el modelo a identificar. Para la imple-
mentación de mı́nimos cuadrados ponderado se realiza el filtrado de la posición para la
obtención por diferenciación numérica de la velocidad y aceleración de las articulaciones
del robot.
En [11] se presenta la teorı́a en general sobre la identificación de robots mani-
puladores considerando todo el procedimiento de identificación: el modelo dinámico a
identificar, la selección de la trayectoria deseada, la adecuación de los datos para los
experimentos de identificación y la validación del modelo estimado.
En [12] se presentan el estudio de la parametrización del modelo dinámico de
robots manipuladores y las propiedades de linealidad de los parámetros dinámicos ası́ co-
mo y la obtención del modelo de regresión. Ası́ mismo se presenta el modelo del robot
considerando la dinámica de los actuadores que son motores de corriente directa.
En [13] el autor propone un procedimiento práctico de la identificación de pa-
rámetros del modelo dinámico de robots manipuladores. Se implementa el algoritmo de
mı́nimos cuadrados ponderado presentando diversas técnicas para facilitar la estimación
y principalmente presenta dos diferentes métodos para la estimación de la varianza.
En este trabajo de tesis se presenta la implementación de los algoritmos de iden-
tificación de mı́nimos cuadrados, mı́nimos cuadrados ponderado y de mı́nimos cuadrados
recursivo para la estimación de los parámetros del modelo dinámico de un robot manipu-
lador experimental. La diferencia con respecto a las referencias citadas es la estimación
de los parámetros del modelo dinámico filtrado del robot para evitar la estimación de la
aceleración de las articulaciones, como se implementó en [4], y la implementación del al-
goritmo de mı́nimos cuadrados ponderado proponiendo una nueva forma de ponderación
para realizar la estimación. Finalmente, se presenta la implementación de esquemas de
control de robots basados en modelo utilizando el modelo dinámico identificado del robot
experimental.
1.2. Objetivos de la tesis 4

1.2. Objetivos de la tesis

1.2.1. Objetivo General

Realizar un estudio sobre el modelado dinámico y cinemático, la identificación


de los parámetros dinámicos y el control basado en modelo de un robot manipulador
experimental de dos grados de libertad.

1.2.2. Objetivos Especı́ficos

Estudio bibliográfico sobre la obtención del modelo dinámico de un robot experi-


mental actuado por motores de corriente directa (C.D.).

Estudio y obtención para el robot experimental de su modelo cinemático directo y


cinemático inverso.

Estudio bibliográfico sobre los algoritmos de identificación de los parámetros del


modelo dinámico de robots manipuladores basados en técnicas de

• Mı́nimos cuadrados.

• Mı́nimos cuadrados ponderado.

• Mı́nimos cuadrados recursivo.

Identificación de los parámetros del modelo dinámico del robot manipulador expe-
rimental.

Estudio e implementación en el robot experimental de algoritmos de control de


movimiento basados en modelo.
1.3. Aportaciones 5

1.3. Aportaciones
El presente trabajo de tesis aborda la problemática de la obtención del modelo
dinámico de un robot manipulador experimental para la implementación de esquemas de
control basados en modelo, ası́ como para poder realizar simulaciones del robot realistas
para una evaluación de estos esquemas de control. Se consideran métodos de identificación
clásicos basados en mı́nimos cuadrados. Además se implementa el modelo dinámico filtra-
do para la estimación de los parámetros. Igualmente se presentan comparaciones de los
resultados experimentales de los algoritmos de identificación de mı́nimos cuadrados, mı́ni-
mos cuadrados ponderado y mı́nimos cuadrados recursivo utilizando el modelo dinámico
de regresión filtrado.
La principal aportación de este trabajo de tesis es la implementación del esquema
de identificación del modelo dinámico de regresión filtrado y el algoritmo de mı́nimos
cuadrados ponderado utilizando un nuevo método para la ponderación.

1.4. Contenido de la tesis


El presente trabajo de tesis se encuentra organizado de la siguiente forma:
El capı́tulo 2 presenta la teorı́a general sobre la identificación de sistemas. Ası́ mis-
mo, se detalla el desarrollo de los algoritmos de mı́nimos cuadrados, mı́nimos cuadrados
ponderado y mı́nimos cuadrados recursivo.
En el capı́tulo 3 se describe el robot manipulador experimental. Se detalla la
obtención del modelo dinámico del robot ası́ como la representación en su forma de regre-
sión útil para la identificación del modelo. Finalmente, se explica la obtención del modelo
cinemático del robot.
En el capı́tulo 4 se presenta la teorı́a y práctica referente a la identificación de ro-
bots manipuladores. Se presenta la implementación de la identificación del robot mediante
mı́nimos cuadrados ponderado y la validación del modelo dinámico estimado. Finalmente,
se presenta la estimación por mı́nimos cuadrados recursivo, con fines comparativos.
1.4. Contenido de la tesis 6

En el capı́tulo 5 se presenta un caso de estudio de la identificación del modelo


dinámico de robots manipuladores donde se identifica la fricción del robot en primera ins-
tancia. En este capı́tulo se presenta la implementación en linea del algoritmo de mı́nimos
cuadrados recursivo usando el modelo dinámico filtrado.
En el capı́tulo 6 se presentan los resultados obtenidos referentes a la aplicación
de diferentes esquemas de control basados en modelo. Particularmente, se implementaron
el controlador proporcional-derivativo (PD) con precompensación, el controlador PD+ y
un controlador nuevo propuesto en [14].
En el capı́tulo 7 se presentan las conclusiones de este trabajo de tesis, ası́ como
una breve discusión sobre el trabajo futuro.
Capı́tulo 2

Identificación de Sistemas

2.1. Identificación

Identificación es el proceso de encontrar las ecuaciones matemáticas que rigen el


comportamiento de un sistema, es decir, crear un modelo matemático del sistema fı́sico
real. Identificación es el enfoque experimental del modelado de sistemas [15]. Para conocer
el comportamiento de un sistema es necesario conocer su representación matemática.
En control es de utilidad para conocer el comportamiento y la dinámica del sistema lo
que lleva a obtener un mejor rendimiento del control. Ası́ mismo, es necesario conocer
su representación matemática para poder realizar simulaciones numéricas del sistema.
Esto permitirá saber cómo responderá el sistema ante determinadas entradas conocidas
y predecir ası́ la salida del sistema.
Es posible comparar ciertos aspectos del sistema fı́sico con su descripción matemá-
tica pero nunca se podrá establecer una relación exacta entre estos [8]. Con el modelado
siempre se obtienen aproximaciones del sistema real. Además es altamente improbable
que algún modelo contenga la estructura real del sistema. Lo que se espera del modelo
obtenido es que provea un nivel de aproximación aceptable el cual es medido mediante el
uso dedicado del modelo. Se podrá saber que tan suficientemente exacto es el modelo del
sistema a través de experimentación [7].

7
2.1. Identificación 8

Existen en la literatura diversos enfoques y técnicas para obtener el modelo de un


sistema determinado, como se explica en [6], [7], [8], [16]. Para casi todos los sistemas, las
señales de entrada y salida del sistema pueden ser obtenidas por medición y ser sujetas
a análisis para inferir un modelo. Este método es usualmente llamado identificación de
sistemas [7]. Identificación es el enfoque experimental del modelado de sistemas [15]. La
identificación de sistemas es un procedimiento de cuatro principales pasos [7], [8]:

1. Adquisición de los datos de entrada y salida del sistema. Los datos son obtenidos
durante un experimento especialmente diseñado para maximizar la información que
se pueda obtener. En general, es necesario el acondicionamiento de los datos como
el escalamiento, normalización y el filtrado para remover el ruido de las mediciones.

2. Seleccionar la estructura del modelo a identificar. Ésta es la más importante, y al


mismo tiempo, la más difı́cil del procedimiento de identificación. Aquı́ es donde un
conocimiento a priori, la ingenierı́a y la intuición deben ser combinadas con las
propiedades formales del modelo. Algunas veces se puede obtener un modelo con
parámetros fı́sicos desconocidos a partir de leyes fı́sicas básicas y otras relaciones
bien establecidas. En otros casos modelos lineales estándar pueden ser utilizados sin
ninguna referencia al sistema fı́sico.

3. Estimación de los parámetros del modelo a partir de los datos. Esto es, la identifica-
ción del modelo. La selección del método de estimación depende de la estructura del
modelo del sistema ası́ como de las propiedades de los datos. Con esto se llega a un
modelo en particular que mejor describa los datos de acuerdo a algún criterio esta-
blecido. Algunas técnicas de estimación serán discutidas en detalle en las siguientes
secciones.

4. Validación del modelo. Los métodos de validación del modelo dependen de las pro-
piedades deseadas del modelo. Usualmente se desean exactitud y una buena gene-
ralización del sistema. Pueden ser utilizadas pruebas estadı́sticas de predicción del
2.2. Modelo de regresión lineal 9

error. Las simulaciones proveen una herramienta útil para la validación del modelo.
La mayorı́a de las pruebas de validación están basadas en minimizar la diferencia
entre la salida medida y la salida simulada.

La decisión más importante en la identificación es cómo parametrizar las ca-


racterı́sticas y propiedades del sistema mediante un modelo determinado. Los modelos
lineales usualmente proveen un buen punto de partida en la selección de la estructura
del modelo del procedimiento de identificación. Dos formas de linealidad son importantes
en las estructuras de modelos parametrizados: la linealidad de la salida del modelo con
respecto a las entradas del modelo y la linealidad de la salida del modelo con respecto a
los parámetros del modelo [7]. El primero considera las capacidades de mapeo del modelo
mientras que el segundo afecta la estimación de los parámetros del modelo. Si al menos un
parámetro es nolineal, el modelo es de regresión no lineal [17]. En la literatura [6], [7], [8],
[16], [18] se presentan técnicas eficientes para la estimación de los parámetros utilizando
las muestras obtenidas de las entradas y las salidas del sistema. En las siguientes secciones
se presentarán algunos métodos para la estimación de los parámetros de un sistema con un
modelo de regresión lineal. Estos métodos asumen que se cuenta con datos muestreados
de las entradas y las salidas del sistema.

2.2. Modelo de regresión lineal


Considérese un sistema al que se le toman N mediciones discretas de tal modo
que puede ser descrito por sus entradas x ∈ IRm y salidas y ∈ IRn mediante un modelo de
regresión lineal de la forma [6], [7], [8],

y(k) = Φ(k)θ, (2.1)

donde k = 0, . . . , N − 1 es el instante discreto de muestreo en el tiempo t = kT , donde T


es el periodo de muestreo, y(k) ∈ IRn denota el vector de las n señales de salida medidas
del sistema, θ ∈ Rp es un vector de p parámetros constantes desconocidos del sistema que
2.3. Método de mı́nimos cuadrados 10

se define como
h iT
θ = θ1 . . . θp , (2.2)

y Φ(k) ∈ Rn×p se denota como la matriz de regresión cuyos elementos Φij (k) son funciones
de las entradas medidas x(k) ∈ IRm [7], [8]. Los elementos Φij (k) pueden ser una función
no lineal de las entradas x(k), pero éstos sólo son evaluados como un valor numérico [19].
Considerando que se tiene una estimación del vector de parámetros θ en el instante
de tiempo k denominado θ̂(k) y se tiene la matriz de regresión Φ(k) es posible realizar la
estimación de las salidas del sistema, esto es,

ŷ(k) = Φ(k)θ̂(k). (2.3)

Entonces el modelo del sistema puede ser reescrito como

y(k) = Φ(k)θ̂(k) + e(k), (2.4)

donde θ̂(k) ∈ IRp denota los parámetros estimados del sistema y e(k) ∈ IRn denota el
vector del error. Esto establece que el cálculo de θ̂(k), en sı́, depende del vector de salidas
y(k) y la matriz de regresión Φ(k) [7], [8].

2.3. Método de mı́nimos cuadrados


La presente sección detalla la obtención del metodo de mı́nimos cuadrados que
está inspirada en [6], [7], [8]. El método de mı́nimos cuadrados es esencial en ingenierı́a
de sistemas y control [7]. Considérese el sistema de la ecuación (2.4). Se asume que el
vector θ̂(k) es desconocido, pero se tienen datos disponibles obtenidos por muestreo de
las entradas y salidas del sistema en un intervalo de tiempo discreto de 0 ≤ k ≤ N − 1.
Nótese que los elementos de la matriz Φ(k) pueden ser funciones conocidas de la entrada
muestreada x(k). La estimación del vector desconocido θ̂(k) se realiza mediante el método
de mı́nimos cuadrados. Para que el modelo (2.4) represente fielmente el sistema éste debe
2.3. Método de mı́nimos cuadrados 11

tener un vector de parámetros θ̂(k) donde el error esperado sea


k
T
X 1
eT (i)e(i)

E e (k)e(k) =
i=0
2
k
X 1
= [y(i) − Φ(i)θ̂(k)]T [y(i) − Φ(i)θ̂(k)], (2.5)
i=0
2

tal que satisfaga el criterio de mı́nimos cuadrados

θ̂(k) = arg mı́n E eT (k)e(k) .



(2.6)
θ̂

Dado que E eT (k)e(k) es cuadrático en θ̂(k), se puede obtener el mı́nimo derivando la
ecuación (2.5) e igualando a cero el resultado, de tal forma que
k
∂  T X
ΦT (i)[y(i) − Φ(i)θ̂(k)] = 0 ∈ IRp ,

E e (k)e(k) = − (2.7)
∂θ i=0

de donde resulta que


k
X k
X
T
Φ(i) Φ(i)θ̂(k) = ΦT (i)y(i), (2.8)
i=0 i=0

de la cual es posible despejar θ̂(k)


" k #−1 k
X X
θ̂(k) = Φ(i)T Φ(i) ΦT (i)y(i). (2.9)
i=0 i=0

Definiendo la llamada matriz de covarianza del error P (k) ∈ IRp×p [6], [7], [8], como
" k #−1
X
P (k) = ΦT (i)Φ(i) , (2.10)
i=0

se tiene que la ecuación (2.9) se puede expresar como


k
X
θ̂(k) = P (k) ΦT (i)y(i). (2.11)
i=0

Esto se cumple si y sólo si la matriz de covarianza P (k) no es singular. Desde el punto


de vista del método, una señal constante de entrada no puede excitar toda la dinámica
del sistema. Para ser capaz de identificar los parámetros del modelo, la señal de entrada
debe fluctuar lo suficiente, esto es, tiene que ser una señal de excitación persistente [7].
2.4. Método de mı́nimos cuadrados ponderado 12

2.4. Método de mı́nimos cuadrados ponderado


En la ecuación (2.5), las muestras se toman sin un criterio de ponderación. Al-
gunas veces es útil considerar un criterio de ponderación para cada una de las muestras.
Algunas razones para esto son que las muestras de y(k) ∈ IRn pueden ser de diferente
fiabilidad : algunos datos pueden, por ejemplo, estar sujetos a más ruido y por lo tanto
tener menos peso en la identificación y, por otro lado, las muestras pueden ser de dife-
rente relevancia [8]. La ponderación consiste en multiplicar las muestras y(k) ∈ IRn y
Φ(k) ∈ IRn×p por valores numéricos con el fin de reforzar o minimizar su contribución en
el proceso del cálculo de θ̂(k). Considérese el sistema representado por la ecuación (2.4).
De forma general se puede definir una matriz de ponderación G(k) ∈ IRn×n la cual es no
singular para todo k. Por lo tanto, se tiene que la ponderación del modelo del sistema
(2.4) resulta en
G(k)y(k) = G(k)Φ(k)θ̂(k) + G(k)e(k). (2.12)

A partir de esta última expresión se deduce el método de mı́nimos cuadrados considerando


el error ponderado, de tal forma que,
" k #−1 k
X X
θ̂(k) = ΦT (i)GT (i)G(i)Φ(i) ΦT (i)GT (i)G(i)y(i). (2.13)
i=0 i=0

Nótese que si G(k) = I, siendo I la matriz identidad, entonces el método de mı́nimos


cuadrados ponderado (2.13) colapsa en el método de mı́nimos cuadrados (2.9). Ası́ mismo,
de (2.13) puede obtenerse la llamada matriz de covarianza del error P (k) ∈ IRp×p como
[6], [7], [8],
" k
#−1
X
P (k) = ΦT (i)GT (i)G(i)Φ(i) . (2.14)
i=0

2.5. Método de mı́nimos cuadrados recursivo


Considérese el caso donde las muestras de las entradas y salidas del sistema sólo
pueden obtenerse una a una. Además de que se desea actualizar la estimación de los
2.5. Método de mı́nimos cuadrados recursivo 13

parámetros cada que es obtenida una nueva muestra. Esto puede realizarse al añadir una
nueva muestra a la formulación del método de mı́nimos cuadrados. Para realizar esto se
formulará el método de mı́nimos cuadrados de forma recursiva que está inspirada en [6],
[7], [8]. Utilizando la ecuación (2.11) se puede definir la estimación de mı́nimos cuadrados
en un instante de muestreo k − 1 como
k−1
X
θ̂(k − 1) = P (k − 1) ΦT (i)y(i), (2.15)
i=0

donde k ≥ 1. Para obtener un algoritmo recursivo se considera en la estimación la mues-


tra obtenida en el instante de tiempo k de tal forma que la estimación θ̂ por mı́nimos
cuadrados resulta en
k
X
θ̂(k) = P (k) ΦT (i)y(i). (2.16)
i=0

Ası́ mismo, considerando la ecuación (2.10) se tiene que

k
X
−1
P (k) = ΦT (i)Φ(i),
i=0
k−1
X
= ΦT (i)Φ(i) + ΦT (k)Φ(k),
i=0
= P (k − 1)−1 + ΦT (k)Φ(k). (2.17)

De la ecuación (2.16) se tiene que


" k−1 #
X
θ̂(k) = P (k) ΦT (i)y(i) + ΦT (k)y(k) , (2.18)
i=0

y tomando en cuenta la ecuación (2.15), la ecuación (2.18) puede reescribirse como


h i
θ̂(k) = P (k) P (k − 1)−1 θ̂(k − 1) + ΦT (k)y(k) . (2.19)

Multiplicando (2.17) por θ̂(k − 1) y despejando P (k − 1)−1 θ̂(k − 1) resulta en

P (k − 1)−1 θ̂(k − 1) = P (k)−1 θ̂(k − 1) − ΦT (k)Φ(k)θ̂(k − 1), (2.20)


2.5. Método de mı́nimos cuadrados recursivo 14

y sustituyendo en la ecuación (2.19) se obtiene


h i
θ̂(k) = P (k) P (k)−1 θ̂(k − 1) + ΦT (k) y(k) − Φ(k)θ̂(k − 1) ,


= θ̂(k − 1) + P (k)ΦT (k) y(k) − Φ(k)θ̂(k − 1) .


 
(2.21)

Dado que se asume que P (k) es una matriz inversa, se utiliza el siguiente lema para
obtener su solución [6], [7].

Lema 2.5.1 Siendo A una matriz no singular de a × a, B una matriz no singular de b × b


y C una matriz de rango máximo de a × b, entonces la siguiente igualdad se cumple:

(A−1 + CB −1 C T )−1 = A − AC(B + C T AC)−1 C T A.

Prueba Por multiplicación directa se puede obtener que

A − AC(B + C T AC)−1 C T A A−1 + CB −1 C T = I


  

Para el caso de la ecuación (2.17) se selecciona P (k − 1) = A, Φ(k) = C, I = B,


siendo I la matriz identidad, se obtiene:

−1
P (k) = P (k − 1) − P (k − 1)ΦT (k) I + Φ(k)P (k − 1)ΦT (k)

Φ(k)P (k − 1). (2.22)

Sustituyendo la ecuación (2.22) en (2.21), y mediante algunas manipulaciones algebraicas,


es posible obtener

−1 
θ̂(k) = θ̂(k−1)+P (k−1)ΦT (k) I + Φ(k)P (k − 1)ΦT (k)
 
y(k)−Φ(k)θ̂(k−1) . (2.23)

Este método puede ser convenientemente representado si se define la matriz

−1
R(k) = P (k − 1)ΦT (k) I + Φ(k)P (k − 1)ΦT (k) ∈ IRp×n ,

(2.24)
2.5. Método de mı́nimos cuadrados recursivo 15

de tal forma que las ecuaciones que definen el algoritmo de identificación de mı́nimos
cuadrados recursivo son

−1
R(k) = P (k − 1)ΦT (k) I + Φ(k)P (k − 1)ΦT (k)

, (2.25)

P (k) = P (k − 1) − R(k)Φ(k)P (k − 1), (2.26)


h i
θ̂(k) = θ̂(k − 1) + R(k) y(k) − Φ(k)θ̂(k − 1) . (2.27)

Debido a que normalmente la matriz P (k)−1 de la ecuación (2.17) es singular


para k = 0, en la práctica el algoritmo se inicializa tomando [6]

1
P (0) = I. (2.28)
δ

Un valor tı́pico es δ = 0.001, esto es, 1/δ = 1000. Se puede observar de la ecuación (2.26)
que la influencia de este valor inicial decrece con el tiempo [6].
Capı́tulo 3

Modelado del robot manipulador

3.1. Descripción de robot manipulador experimental

El control y la simulación de robots requiere del desarrollo de diferentes modelos


matemáticos. Diferentes modelos, geométricos, cinemáticos y dinámicos, son necesarios
dependiendo de los objetivos, la importancia de la tarea a realizar y el funcionamiento
deseado.
El robot manipulador experimental es un robot manipulador tipo SCARA1 de dos
grados de libertad ya que sólo cuenta con las articulaciones rotacionales de movimiento en
el plano cartesiano x-y. En la figura 3.1 se presenta una fotografı́a del robot y una diagrama
del mismo. El sistema se encuentra integrado por dos eslabones que son impulsados por
motores eléctricos localizados en sus articulaciones, el primero en la base del robot y el
segundo en la unión de los dos eslabones. Éste es un robot de accionamiento directo, esto
es, los ejes de los motores están directamente conectados a los eslabones.
El motor de la articulación 1 es un motor de corriente directa (C.D.) Pittman
modelo 14207S008 y el motor de la articulación 2 es un motor de C.D. Pittman modelo
9236S009, los cuales están montados sobre una base de aluminio. Para realizar experi-
1
Por las siglas en ingles (Selective Compliant Assembly Robot Arm - Brazo Robótico Capacitado para
Ensamblado Selectivo).

16
3.1. Descripción de robot manipulador experimental 17

Figura 3.1: Robot manipulador experimental de dos grados de libertad accionado por
motores de corriente directa.

mentos en tiempo real, los motores son operados a través de una computadora personal,
un servo amplificador Advanced Motion Controls modelo 30A20AC, para el motor de la
articulación 1 y un servo amplificador Advanced Motion Controls modelo 16A20AC, para
el motor de la articulación 2. Para el procesamiento de los datos se utiliza una tarjeta de
adquisición de datos Sensoray 626, con la cual se leen las señales del codificador óptico
de cuadratura de los motores y se transfieren las señales de control a los servos ampli-
ficadores. En la figura 3.2 se muestra un diagrama de bloques del funcionamiento del
sistema experimental. Los experimentos son implementados con una cadencia de mues-
treo de 1kHz sobre el sistema operativo Windows XPr , Matlabr , Simulinkr y Real–Time
Windows Target.

Figura 3.2: Diagrama de bloques del sistema experimental.


3.2. Modelo dinámico 18

Descripción Notación Unidades


Longitud eslabón 1 l1 m
Longitud eslabón 2 l2 m
Distancia al centro de masa del eslabón 1 lc1 m
Distancia al centro de masa del eslabón 2 lc2 m
Masa eslabón 1 m1 kg
Masa eslabón 2 m2 kg
Inercia eslabón 1 respecto al centro de masa I1 kg-m2
Inercia eslabón 2 respecto al centro de masa I2 kg-m2

Tabla 3.1: Parámetros fı́sicos del brazo robótico experimental.

En la figura 3.3 se presenta un diagrama esquemático del robot manipulador


experimental. El robot consiste de dos eslabones rı́gidos de longitudes l1 y l2 , y la distancia
entre los ejes de giro y los centros de masa se denotan por lc1 y lc2 para los eslabones 1 y 2,
respectivamente. La masa de los eslabones se denotan como m1 y m2 y los momentos de
inercia de los eslabones con respecto al eje que pasa a través de sus respectivos centros de
masa y que es perpendicular al plano x-y son I1 e I2 , respectivamente. Los desplazamientos
del robot son en el plano cartesiano x-y como se muestra en la figura 3.3 y las uniones
tienen un movimiento rotacional denotados por q1 y q2 . Finalmente, los grados de libertad
están asociados a los ángulos q1 , que se mide del eje y hacia el eslabón 1, y q2 que se mide
a partir de la extensión del eslabón 1 hasta el eslabón 2, siendo ambos positivos en sentido
contrario al movimiento de las manecillas del reloj. En la tabla 3.1 se presentan en resumen
la descripción, notación y unidades de los parámetros fı́sicos del robot manipulador.

3.2. Modelo dinámico


Considérese un robot manipulador de n grados de libertad compuesto por es-
labones rı́gidos interconectados por uniones libres de fricción y elasticidad. La ecuación
dinámica que lo representa puede ser escrita como [12], [20],

M (q)q̈ + C(q, q̇)q̇ + g(q) = τ, (3.1)


3.2. Modelo dinámico 19

Figura 3.3: Diagrama esquemático del robot manipulador de dos grados de libertad.

donde q, q̇, q̈ ∈ IRn son los vectores de la posición, velocidad y aceleración articular,
respectivamente, M (q) es una matriz de n × n denominada matriz de inercia, la cual es
simétrica y definida positiva para todo q ∈ IRn , C(q, q̇) es una matriz de dimension n × n
denominada matriz de fuerzas centrı́fugas y de Coriolis, g(q) es un vector de dimensión
n de pares de fuerzas gravitacionales y τ es un vector de dimensión n llamado vector de
fuerzas externas o torques aplicados por los actuadores en las uniones.
Cada elemento de las matrices M (q), C(q, q̇) y el vector g(q) son una expresión
relativamente compleja de las posiciones q y velocidades q̇ articulares de las uniones del
robot manipulador [12].

3.2.1. Modelo dinámico del robot experimental

Considérese el diagrama esquemático de la figura 3.3 que describe la dinámica


del robot manipulador experimental. Las ecuaciones dinámicas que modelan el robot
manipulador se obtienen aplicando las ecuaciones de movimiento de Euler-Lagrange [12],
[20], [21]:  
d ∂L(q, q̇) ∂L(q, q̇)
− = τi , i = 1, 2, (3.2)
dt ∂ q̇i ∂qi
3.2. Modelo dinámico 20

donde L(q, q̇) es el lagrangiano el cual esta definido como

L(q, q̇) = K(q, q̇) + U(q) (3.3)

donde K(q, q̇) es la energı́a cinética del robot y U(q) es la energı́a potencial. La energı́a
cinética de este manipulador puede descomponerse en la suma de dos partes:

K(q, q̇) = K1 (q, q̇) + K2 (q, q̇) (3.4)

donde K1 (q, q̇) y K2 (q, q̇) son las energı́as cinéticas asociadas a las masas m1 y m2 respec-
tivamente.
Las coordenadas del centro de masa del eslabón 1 expresadas en el plano x-y son:
   
x l sen(q1 )
 1  =  c1 . (3.5)
y1 −lc1 cos(q1 )

El vector de velocidad v1 del centro de masa del eslabón 1 es entonces:


   
ẋ1 lc1 cos(q1 )q̇1
v1 =   =   , (3.6)
ẏ1 lc1 sen(q1 )q̇1

por lo tanto la velocidad al cuadrado v1T v1 del centro de masa resulta ser:

v1T v1 = lc1
2 2
q̇1 . (3.7)

Finalmente, la energı́a cinética correspondiente al movimiento del eslabón 1 se obtiene


como:

1 1
K1 (q, q̇) = m1 v1T v1 + I1 q̇12 ,
2 2
1 2 2 1 2
= m1 lc1 q̇1 + I1 q̇1 . (3.8)
2 2

Por otro lado, las coordenadas del centro de masa del eslabón 2 expresadas en el plano
x-y son:    
x l sen(q1 ) + lc2 sen(q1 + q2 )
 2 =  1 . (3.9)
y2 −lc1 cos(q1 ) − lc2 cos(q1 + q2 )
3.2. Modelo dinámico 21

El vector de velocidad v2 del centro de masa del eslabón 2 es en consecuencia:


   
ẋ2 l1 cos(q1 )q̇1 + lc2 cos(q1 + q2 )[q̇1 + q̇2 ]
v2 =   =   . (3.10)
ẏ2 l1 sen(q1 )q̇1 + lc2 sen(q1 + q2 )[q̇1 + q̇2 ]

Por lo tanto, usando las identidades trigonométricas del Apéndice B y reordenando térmi-
nos se obtiene finalmente la velocidad al cuadrado v2T v2 del centro de masa del eslabón
2:

v2T v2 = [l12 + lc2


2
+ 2l1 lc2 cos(q2 )]q̇12 + 2[lc2
2 2 2
+ l1 lc2 cos(q2 )]q̇1 q̇2 + lc2 q̇2 . (3.11)

Por lo tanto, la energı́a cinética del movimiento del eslabón 2 es:

1 T 1 h i2
K2 (q, q̇) = m2 v2 v2 + I2 q̇1 + q̇2 ,
2 2
1h i 1h i
= m2 l1 + m2 lc2 + 2m2 l1 lc2 cos(q2 ) + I2 q̇1 + m2 lc2 + I2 q̇22
2 2 2 2
2h i 2
2
+ m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 q̇1 q̇2 . (3.12)

Considerando (3.4), (3.8) y (3.12), se tiene que la energı́a cinética del robot es

1h 2
i
K(q, q̇) = m1 lc1 + m2 l12 + m2 lc2
2
+ 2m2 l1 lc2 cos(q2 ) + I1 + I2 q̇12
2
h
2
i 1h 2
i
+ m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 q̇1 q̇2 + m2 lc2 + I2 q̇22 . (3.13)
2

Dado que este robot se desplaza en el plano horizontal x-y, la energı́a potencial
es nula, esto es, U(q) = 0. A partir de la ecuación (3.3) y (3.13) y del hecho que U(q) = 0
se puede obtener el lagrangiano:

L(q, q̇) = K(q, q̇) + U(q),


1 2 1
= m1 [lc1 + m2 l12 ]q̇12 + m2 lc2 2
[q̇12 + 2q̇12 q̇22 + q̇2 ]
2 2
1 1
+ m2 l1 lc2 cos(q2 )[q̇12 + q̇1 q̇2 ] + I1 q̇12 + I2 [q̇1 + q̇2 ]2 . (3.14)
2 2

Para obtener el modelo dinámico del robot, de la ecuación (3.14) se desarrollan


3.2. Modelo dinámico 22

las siguientes expresiones:

∂L 2
= [m1 lc1 + m2 l12 + m2 lc2
2 2
]q̇1 + m2 lc2 q̇2 + 2m2 l1 lc2 cos(q2 )q̇1
∂ q̇1
+m2 l1 lc2 cos(q2 )q̇2 + I1 q̇1 + I2 [q̇1 + q̇2 ], (3.15)

 
d ∂L 2
= [m1 lc1 2
+ m2 l12 + m2 lc2 + 2m2 l1 lc2 cos(q2 )]q̈1 − 2m2 l1 lc2 sen(q2 )q̇1 q̇2
dt ∂ q̇1
2
+[m2 lc2 + m2 l1 lc2 cos(q2 )]q̈2 − m2 l1 lc2 sen(q2 )q̇22 + I1 q̈1 + I2 [q̈1 + q̈2 ],(3.16)

∂L
=0 , (3.17)
∂q1

∂L 2 2
= m2 lc2 q̇1 + m2 lc2 q̇2 + m2 l1 lc2 cos(q2 )q̇1 + I2 [q̇1 + q̇2 ], (3.18)
∂ q̇2

 
d ∂L 2 2
= m2 lc2 q̈1 + m2 lc2 q̈2 + m2 l1 lc2 cos(q2 )q̈1 − m2 l1 lc2 sen(q2 )q̇1 q̇2
dt ∂ q̇2
+I2 [q̈1 + q̈2 ], (3.19)

∂L
= −m2 l1 lc2 sen(q2 )[q̇12 + q̇1 q̇2 ]. (3.20)
∂q2

Finalmente, utilizando la definición de la ecuación (3.2) y las expresiones obteni-


das en las ecuaciones (3.15)-(3.20) se obtiene

2
τ1 = [m1 lc1 + m2 l12 + m2 lc2
2
+ 2m2 l1 lc2 cos(q2 ) + I1 + I2 ]q̈1 − 2m2 l1 lc2 sen(q2 )q̇1 q̇2
2
+[m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 ]q̈2 − m2 l1 lc2 sen(q2 )q̇22 , (3.21)
2 2
τ2 = [m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 ]q̈1 + [m2 lc2 + I2 ]q̈2 + m2 l1 lc2 sen(q2 )q̇12 , (3.22)

siendo τ1 y τ2 los pares emitidos por los actuadores que actúan en las articulaciones
1 y 2. Estas ecuaciones dinámicas del robot (3.21) y (3.22) constituyen dos ecuaciones
diferenciales no lineales.
3.2. Modelo dinámico 23

3.2.2. Modelo del robot en su forma compacta

Para los propósitos de control e identificación, es más práctico reescribir el modelo


dinámico del robot de las ecuaciones (3.21) y (3.22) en su forma compacta como se muestra
en la ecuación (3.1). Como se puede observar de la ecuación (3.1) la matriz M (q) multiplica
a el vector de aceleraciones q̈, por lo tanto, de las ecuaciones (3.21)-(3.22) se toman los
términos en los cuales se tiene el término q̈1 y q̈2 para obtener ası́ los elementos de la
matriz de inercia M (q) ∈ IR2×2 que está en función de la posición articular q. Una vez
realizado este reordenamiento de términos se obtiene que los elementos de la matriz M (q)
son:

2
M11 (q) = m1 lc1 + m2 l12 + m2 lc2
2
+ 2m2 l1 lc2 cos(q2 ) + I1 + I2 ,
2
M12 (q) = m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 , (3.23)
2
M21 (q) = m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 ,
2
M22 (q) = m2 lc2 + I2 .

La matriz C(q, q̇) ∈ IR2×2 llamada matriz centrı́fuga y de Coriolis puede no ser
única, pero el vector C(q, q̇)q̇ sı́ lo es [12]. Una manera de obtener C(q, q̇) es a través de
los coeficientes o sı́mbolos de Christoffel cijk (q) definidos como [11], [12], [21], [20]:
 
1 ∂Mkj (q) ∂Mki (q) ∂Mij (q)
cijk (q) = + − , (3.24)
2 ∂qi ∂qj ∂qk

donde Mij (q) denota el ij-ésimo elemento de la matriz de inercia M (q). De tal forma que
el kj-ésimo elemento de la matriz C(q, q̇) puede obtenerse de:
 T
c (q)
 1jk 
 
 c2jk (q) 
Ckj (q, q̇) = 
 ..  q̇.
 (3.25)
 . 
 
cnjk (q)

Por lo tanto se calculan los sı́mbolos de Chistoffel usando la ecuación (3.24) y los elementos
3.2. Modelo dinámico 24

de la matriz de inercia definidos en (3.23) con lo que se obtiene:


 
1 ∂M11 (q) ∂M11 (q) ∂M11 (q)
c111 (q) = + − = 0,
2 ∂q1 ∂q1 ∂q1
 
1 ∂M21 (q) ∂M21 (q) ∂M11 (q)
c112 (q) = + − = m2 l1 lc2 sen(q2 ),
2 ∂q1 ∂q1 ∂q2
 
1 ∂M12 (q) ∂M11 (q) ∂M12 (q)
c121 (q) = + − = −m2 l1 lc2 sen(q2 ),
2 ∂q1 ∂q2 ∂q1
 
1 ∂M22 (q) ∂M21 (q) ∂M12 (q)
c122 (q) = + − = 0,
2 ∂q1 ∂q2 ∂q2
 
1 ∂M11 (q) ∂M12 (q) ∂M21 (q)
c211 (q) = + − = −m2 l1 lc2 sen(q2 ), (3.26)
2 ∂q2 ∂q1 ∂q1
 
1 ∂M21 (q) ∂M22 (q) ∂M21 (q)
c212 (q) = + − = 0,
2 ∂q2 ∂q1 ∂q2
 
1 ∂M12 (q) ∂M12 (q) ∂M22 (q)
c221 (q) = + − = −m2 l1 lc2 sen(q2 ),
2 ∂q2 ∂q2 ∂q1
 
1 ∂M22 (q) ∂M22 (q) ∂M22 (q)
c222 (q) = + − = 0.
2 ∂q2 ∂q2 ∂q2

De tal forma que los elementos de la matriz centrı́fuga y de Coriolis C(q, q̇) se obtienen
utilizando la ecuación (3.25) y los resultados de (3.26) obteniendo ası́

C11 (q, q̇) = −m2 l1 lc2 sen(q2 )q̇2 ,

C12 (q, q̇) = −m2 l1 lc2 sen(q2 )[q̇1 + q̇2 ] , (3.27)

C21 (q, q̇) = m2 l1 lc2 sen(q2 )q̇1 ,

C22 (q, q̇) = 0 .

Como el robot se desplaza en el plano horizontal x-y, la energı́a potencial resulta


nula, esto es, U(q) = 0, y ya que g(q) = ∂U(q)/∂q, entonces g(q) = 0. Con lo cual el
modelo dinámico del robot experimental en su forma compacta es:

M (q)q̈ + C(q, q̇)q̇ = τ, (3.28)

donde los elementos de la matriz de inercia M (q) están definidos en (3.23) y los elementos
de la matriz centrifuga y de Coriolis están definidos en (3.27).
3.3. Modelo dinámico de robots actuado por motores de C.D. 25

Figura 3.4: Diagrama esquemático de un motor de corriente directa (C.D.) con imán
permanente.

3.3. Modelo dinámico de robots actuado por motores


de C.D.
Para la mayorı́a de los robots manipuladores el torque τ es desarrollado por ac-
tuadores electromecánicos como los motores de C.D., los cuales tienen su propia dinámica.
La fuerza desarrollada es el resultado de una dinámica de transformación de la entrada
del actuador [12]. Esta entrada puede ser corriente o voltaje en el caso de actuadores
electromecánicos como los motores de C.D.
Estos actuadores pueden ser modelados por ecuaciones diferenciales lineales de
segundo orden. El modelo dinámico que relaciona la entrada de voltaje u aplicado al motor
con la salida de torque o par aplicado τ desarrollada por el motor después del juego de
engranes es [12],
τ km
Jm q̈ + fv q̇ + fs (q̇) + = u, (3.29)
r2 r
donde q, q̇, q̈ ∈ IR denotan la posición, velocidad y aceleración angular del eje del motor,
u ∈ IR denota el voltaje de entrada del motor, τ ∈ IR denota el torque o par de fuerza
desarrollado por el motor, Jm es la inercia del eje del motor, fv es el coeficiente de fricción
viscosa, fs (q̇) es la función de fricción seca no lineal del motor, km es una constante de
conversión de voltaje a torque y r es la relación de reducción de engranes en el robot. En
la figura 3.4 se puede observar un diagrama esquemático del motor2 .
Considerando que en las n uniones del robot manipulador son utilizados motores
2
Diagrama inspirado de [12], página 83.
3.3. Modelo dinámico de robots actuado por motores de C.D. 26

C.D. puede obtener una representación [12]

J q̈ + Fv q̇ + fs (q̇) + Rτ = Ku, (3.30)

donde q, q̇, q̈ ∈ IRn son vectores que denotan la posición, velocidad y aceleración
angular de los ejes de los n motores, u ∈ IRn denota el vector de entradas de vol-
taje aplicados a los n motores, τ ∈ IRn denota el vector de pares desarrollados por
los n motores, J = diag{Jmi } ∈ IRn×n denota la matriz de inercias de los motores,
Fv = diag{fvi } ∈ IRn×n denota la matriz de coeficientes de fricción viscosa de los mo-
tores, fs (q̇) = [fs (q̇1 ), fs (q̇2 ), . . . , fs (q̇n )]T ∈ IRn denota el vector de fricción seca de los
n o
motores, R = diag r12 ∈ IRn×n denota matriz de reducción de engranes en las articula-
n i o
ciones, K = diag r1i kmi ∈ IRn×n denota la matriz de constantes de conversión de torque
a voltaje de los n motores y donde i = 1, 2, ..., n denota el i-ésimo motor. Despejando τ
de (3.30) se obtiene
1
τ= [Ku − J q̈ − Fv q̇ − fs (q̇)] , (3.31)
R
y sustituyendo τ de (3.31) en (3.1) puede obtenerse

K −1 [(RM (q) + J)q̈ + RC(q, q̇)q̇ + R g(q) + Fv q̇ + fs (q̇)] = u, (3.32)

siendo éste el modelo dinámico de un robot manipulador con motores de corriente directa
(C.D.) como actuadores. Esta ecuación puede considerarse como un sistema dinámico que
su entrada de voltaje es u ∈ IRn y sus salidas son q, q̇ ∈ IRn . En la figura 3.5 se presenta
un diagrama a bloques de un robot considerando sus actuadores3 .

3.3.1. Modelo dinámico del robot experimental actuado por mo-


tores de C.D.

Se asume que el robot es actuado por motores de corriente directa C.D. de imán
permanente. Además, para un robot de n grados de libertad existen n motores de C.D.
3
Diagrama inspirado en [12], página 84.
3.3. Modelo dinámico de robots actuado por motores de C.D. 27

Figura 3.5: Diagrama a bloques de un robot y sus actuadores.

que generan el torque para cada articulación del robot. Usualmente, los motores de C.D.
son operados por servo amplificadores en modo corriente lo cual hace que la corriente de
entrada del motor tienda a la corriente deseada en corto tiempo. En otras palabras, el
lazo de corriente de los servo amplificadores es configurado tal que la dinámica eléctrica
es menos dominante que la dinámica mecánica.
Los torques aplicados a las articulaciones están directamente relacionados a la
corriente de los motores de las articulaciones como

τ = Km i m , (3.33)

donde im ∈ IR2 es el vector de corriente de los motores de las articulaciones y Km ∈ IR2×2


es una matriz diagonal que contiene las constantes de torque de los motores. Utilizando
los servo amplificadores en modo corriente, se puede considerar que la corriente actual es
igual a la deseada, esto es,
im = id = Ksa u, (3.34)

donde id ∈ IR2 es el vector de corriente deseada de los motores, Ksa ∈ IR2×2 es una matriz
diagonal que contiene las ganancias de los servo amplificadores, las cuales son definidas
por el usuario, y u ∈ IR2 es el voltaje de entrada de los servo amplificadores.
De tal forma, que el torque de salida de los motores de C.D. esta dado por

τ = Km Ksa u = K u, (3.35)

donde los actuadores que son motores de C.D. pueden ser modelados como una fuente
ideal de torque.
3.3. Modelo dinámico de robots actuado por motores de C.D. 28

Para obtener el modelo dinámico del robot experimental actuado por motores, se
definen las matrices J, Fv , R, K ∈ IR2×2 y el vector fs (q̇) ∈ IR2 de la ecuación (3.30).
Particularmente, el robot experimental es de accionamiento directo, es decir, los ejes de
los motores están directamente conectados a los eslabones del robot, por lo que el valor
de la reducción de engranes es de r1 = 1 y r2 = 1 resultando en R = I siendo I ∈ IR2×2 la
matriz identidad. Por lo tanto, las matrices y vectores del modelo del robot experimental
son:

J = diag {Jm1 , Jm2 } , (3.36)

K = diag {km1 , km2 } , (3.37)

Fv = diag {fv1 , fv2 } , (3.38)


 
fs1 (q̇1 )
fs (q̇) =  , (3.39)
fs2 (q̇2 )

donde la función de fricción seca se define como una función de fricción seca suave asimétri-
ca tal que 
s1mi tanh(β q̇i ) si q̇i ≥ 0,
 f
fsi (q̇i ) = (3.40)
 f
s2mi tanh(β q̇i ) si q̇i < 0,

donde fs1mi , fs2mi > 0 ∈ IR son los coeficientes de fricción seca suave asimétrica, i = 1, 2
y β = 50 es un parámetro constante de la suavidad de la fricción seca. En la figura 3.6 se
muestran ejemplos de la respuesta de la función tanh(βx) para diferentes valores de β.
Tomando en cuenta que la inversa de la matriz K de la ecuación (3.37) se define
como
1
K −1 = adj(K), (3.41)
det(K)
que el determinante de K es det(K) = km1 km2 y que la adjunta de K es adj(K) =
diag{km2 , km1 }, además km1 > 0 y km2 > 0, entonces K −1 es
   
km2 1
0 0
K −1 =  km2 km1  =  km1  . (3.42)
km1 1
0 km2 km1
0 km2
3.3. Modelo dinámico de robots actuado por motores de C.D. 29

tanh(βx)

β = 50
−1 β = 10
β =2
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
x

Figura 3.6: Respuesta de la función tanh(βx) con β = 50, β = 10 y β = 2.

Del hecho que R = I ∈ IR2×2 y utilizando las definiciones (3.36)-(3.39) y (3.42) en el


modelo de la ecuación (3.32) se tiene que:

K −1 [(M (q) + J)q̈ + C(q, q̇)q̇ + Fv q̇ + fs (q̇)] = u. (3.43)

Convenientemente se puede reescribir la ecuación (3.43) de la siguiente forma:

M̄ (q)q̈ + C̄(q, q̇)q̇ + F̄v q̇ + f¯s (q̇) = u, (3.44)

donde

M̄ (q) = K −1 (M (q) + J), (3.45)

C̄(q, q̇) = K −1 C(q, q̇)q̇, (3.46)

F̄v = K −1 Fv , (3.47)

f¯s (q̇) = K −1 fs (q̇). (3.48)


3.4. Parametrización del modelo dinámico 30

3.4. Parametrización del modelo dinámico

En el modelo dinámico de un robot manipulador de n grados de libertad definido


en la ecuación (3.1), los elementos de la matriz de inercia M (q), la matriz de fuerzas
centrı́fugas y de Coriolis C(q, q̇) y el vector de fuerzas gravitacionales g(q), no dependen
solamente de la geometrı́a del robot, si no también, de los valores numéricos de los diversos
parámetros como los son las masas, inercias, distancias y centros de masa [12].
El modelo dinámico (3.1) puede ser reescrito como el producto de una función
vectorial Ψ ∈ IRn×p , la cual tiene términos no lineales de q, q̇, q̈ ∈ IRn , y el vector de
parámetros dinámicos θ ∈ IRp . Esta propiedad es llamada “linealidad de los parámetros”
o “parametrización lineal ” [12], que se define de la siguiente manera.

Linealidad en términos de los parámetros dinámicos Considérese las matrices


M (q), C(q, q̇) y el vector g(q) del modelo dinámico (3.1) para el cual se tienen las siguientes
propiedades:

Para todo v, w, z ∈ IRn :

M (q)v + C(q, z)w + g(q) = Ψ(q, v, w, z)θ + κ(q, v, w, z) , (3.49)

donde κ(q, v, w, z) es un vector de dimensión n, Ψ(q, v, w, z) es una matriz de dimen-


sión n × p y el vector θ ∈ IRp depende exclusivamente de los parámetros dinámicos
del manipulador y de su carga.

Si q, v, w, z ∈ Ln∞ entonces Ψ(q, v, w, z) ∈ L∞


n×m
.

Conviene resaltar que siempre es posible encontrar un vector θ ∈ IRp para el cual
κ(q, v, w, z) ≡ 0 ∈ IRn . Considerando esto y tomando v = q̈ y w = z = q̇, la ecuación
(3.1) puede escribirse entonces como:

M (q)q̈ + C(q, q̇)q̇ + g(q) = Y (q, q̇, q̈)θ , (3.50)


3.4. Parametrización del modelo dinámico 31

donde Y (q, q̇, q̈) = Ψ(q, v, w, z) ∈ IRn×p es una matriz de funciones conocidas de la dinámi-
ca del robot y θ ∈ IRp es un vector que contiene las p constantes dependientes de los
parámetros dinámicos. El valor de n indica el número de grados de libertad, mientras que
el valor entero p depende de la selección de los parámetros dinámicos del robot.
A partir de esta propiedad puede demostrarse que el modelo dinámico de robots
con motores de C.D. como actuadores descrito en (3.32) también cumple una relación de
linealidad en términos de los parámetros dinámicos del robot ası́ como de las constantes
de los actuadores. Para todo q, q̇, q̈ ∈ Rn se tiene:

K −1 [(RM (q) + J)q̈ + RC(q, q̇)q̇ + Rg(q) + Fv (q̇) + fs (q̇)] = Ω(q, q̇, q̈)θ, (3.51)

donde Ω(q, q̇, q̈) ∈ IRn×p es una matriz de funciones conocidas de la dinámica del robot
y los motores y θ ∈ IRp es un vector de constantes que dependen de los parámetros
dinámicos del robot y los actuadores.

3.4.1. Modelo dinámico de regresión del robot experimental

Expresando las matrices M̄ (q), C̄(q, q̇), F̄v y el vector f¯(q̇) de la ecuación (3.44) en
forma parametrizada y utilizando el modelo de fricción seca suave definido en la ecuación
(3.40) se tiene que el modelo del robot experimental puede expresarse como:
 
θ1 + 2θ2 cos(q2 ) θ3 + θ2 cos(q2 )
M̄ (q) =  , (3.52)
θ4 + θ5 cos(q2 ) θ6

 
−θ2 sen(q2 )q̇2 −θ2 sen(q2 )[q̇1 + q̇2 ]
C̄(q, q̇) =  , (3.53)
θ5 sen(q2 )q̇1 0

 
θ7 0
F̄v =  , (3.54)
0 θ10
3.4. Parametrización del modelo dinámico 32

  
 f¯s1 (q1 ) =
 θ tanh(β q̇ ),
8 1 q̇1 ≥ 0, 
  θ tanh(β q̇ ), 
 9 1 q̇1 < 0. 
¯
fs (q̇) = 



 (3.55)
 θ tanh(β q̇ ), q̇2 ≥ 0, 
 
11 2
f¯s2 (q2 ) =


 θ tanh(β q̇ ), q̇2 < 0.
12 2

donde β > 0 es un parámetro constante y los parámetros dinámicos de las matrices M̄ (q),
C̄(q, q̇), F̄v y el vector f¯s (q̇), cuyos valores dependen de los valores de los parámetros
dinámicos del robot y de los motores, son:

 
1 2 fv1
θ1 = m1 lc1
+ m2 [l12
+ 2
lc2 ] + I1 + I2 + J1 , θ7 = ,
km1 km1
1 fs1m1
θ2 = m2 l1 lc2 , θ8 = ,
km1   km1
1 2 fs2m1
θ3 = m2 lc2 + I2 , θ9 = , (3.56)
km1   km1
1 2 fv2
θ4 = m2 lc2 + I2 , θ10 = ,
km2 km2
1 fs1m2
θ5 = m2 l1 lc2 , θ11 = ,
km2   km2
1 2 fs2m2
θ6 = m2 lc2 + I2 + J2 , θ12 = ,
km2 km2

donde fs1m1 , fs2m1 > 0 ∈ IR denotan los coeficientes de fricción seca asimétrica del motor
de la articulación 1 y fs1m2 , fs2m2 > 0 ∈ IR denotan los coeficientes de fricción seca
asimétrica del motor de la articulación 2. Utilizando el modelo dinámico de la ecuación
(3.57) se obtiene que el modelo dinámico de regresión del robot con motores de C.D. como
actuadores es

u = Ω(q, q̇, q̈)θ, (3.57)

donde θ ∈ IR12 denota el vector el parámetros de la dinámica del robot y los motores

cuyos elementos están definidos en (3.56) y sus valores son desconocidos, u ∈ IR2 es el
vector de voltaje aplicado a los motores y Ω(q, q̇, q̈) ∈ IR2×12 es una matriz de funciones
3.4. Parametrización del modelo dinámico 33

conocidas de q, q̇, q̈ ∈ IR2 cuyos elementos son:


ω1,1 = q̈1 ,
ω2,1 = 0,
ω1,2 = cos(q2 )[2q̈1 + q̈2 ]
ω2,2 = 0,
− sen(q2 )q̇2 [2q̇1 + q̇2 ],
ω2,3 = 0,
ω1,3 = q̈2 ,
ω2,4 = q̈1 ,
ω1,4 = 0,
ω2,5 = cos(q2 )q̈1 + sen(q2 )q̇12 ,
ω1,5 = 0,
ω2,6 = q̈2 , (3.58)
ω1,6 = 0,
ω2,7 = 0,
ω1,7 = q̇1 ,
ω2,8 = 0,
 tanh(β q̇ ),
1 q̇1 ≥ 0,
ω1,8 = ω2,9 = 0,
 0, q̇1 < 0,
 ω2,10 = q̇2 ,
 0, q̇1 ≥ 0,
ω1,9 =  tanh(β q̇ ),
2 q̇2 ≥ 0,
 tanh(β q̇ ),
1 q̇1 < 0, ω2,11 =
 0, q̇2 < 0,
ω1,10 = 0, 
ω1,11 = 0,
 0, q̇2 ≥ 0,
ω2,12 =
 tanh(β q̇ ), q̇2 < 0.
ω1,12 = 0, 2

Modelo dinámico de regresión por articulación

El modelo de regresión obtenido para el robot de la sección anterior también


puede representarse como un conjunto de ecuaciones correspondientes a cada articulación
del robot. De tal forma que para el robot se tienen dos ecuaciones que pueden representarse
como
ui = Ωi (q, q̇, q̈)θai , (3.59)

donde i = 1, 2, denota la articulación. De tal forma el vector de parámetros de la articu-


lación 1, θa1 , se define como
h iT
θa1 = θ1 θ2 θ3 θ7 θ8 θ9 , (3.60)

y el vector de parámetros de la articulación 2, θa2 , es


h iT
θa2 = θ4 θ5 θ6 θ10 θ11 θ12 . (3.61)
3.5. Modelo nominal 34

Ası́ mismo, los elementos del vector de regresión de la articulación 1, Ω1 , son

ω11 = q̈1 ,
ω12 = cos(q2 )[2q̈1 + q̈2 ] − sen(q2 )q̇2 [2q̇1 + q̇2 ],
ω13 = q̈2 ,
ω14 = q̇1 , (3.62)

 tanh(β q̇ ),
1 q̇1 ≥ 0,
ω15 =
 0, q̇1 < 0,

 0, q̇1 ≥ 0,
ω16 = (3.63)
 tanh(β q̇ ), q̇1 < 0,
1

y los elementos del vector de regresión de la articulación 2, Ω2 , son

ω21 = q̈1 ,
ω22 = cos(q2 )q̈1 + sen(q2 )q̇12 ,
ω23 = q̈2 , (3.64)

ω24 = q̇2 ,
 tanh(β q̇ ),
2 q̇2 ≥ 0,
ω25 =
 0, q̇2 < 0,

 0, q̇2 ≥ 0,
ω26 =
 tanh(β q̇ ), q̇2 < 0.
2

3.5. Modelo nominal


Para cualquier robot el vector de parámetros dinámicos θ ∈ IRp no es único, ya
que depende de cómo los parámetros de interés son elegidos [12]. En ciertas ocasiones
puede ser útil separar de la dinámica (3.1) los términos para los cuales se conocen los
parámetros dinámicos o para los que son independientes. En tal caso, la parametrización
puede ser expresada como [12],

M (q)v + C(q, z)w + g(q) = Y (q, v, w, z)θ + M0 (q)v + C0 (q, z)w + g0 (q), (3.65)
3.5. Modelo nominal 35

de donde se puede identificar que el modelo nominal o parte nominal del modelo es

κ(q, v, w, z) = M0 (q)v + C0 (q, z)w + g0 (q), (3.66)

donde la matrices M0 (q), C0 (q, z) y el vector g0 (q) representan respectivamente parte de


las matrices M (q), C(q, q̇) y el vector g(q) que no dependen del vector de parámetros
dinámicos desconocidos.

3.5.1. Modelo nominal del robot experimental conociendo la


fricción

Se puede obtener el modelo nominal del robot con motores de C.D. utilizando el
modelo obtenido en la ecuación (3.44) de tal forma que

M̄ (q)q̈ + C̄(q, q̇)q̇ + F̄v q̇ + f¯s (q̇) = Ω(q, q̇, q̈)θ + M̄0 (q)q̈ + C̄0 (q, q̇)q̇ + F̄v0 q̇ + f¯s0 (q̇), (3.67)

donde las matrices M̄0 (q), C̄0 (q, q̇), F̄v0 y el vector f¯s0 (q̇) representan respectivamente
parte ya conocida de las matrices M̄ (q), C̄(q, q̇), F̄v y el vector f¯s (q̇) que no dependen del
vector de parámetros dinámicos desconocidos θ.
En este documento los parámetros que se consideran desconocidos son los de
inercia y los parámetros de fricción los que se consideran conocidos. Entonces, se tiene
que M̄0 (q)q̈ = 0, C̄0 (q, q̇)q̇ = 0, y

F̄v q̇ = F̄v0 q̇,


f¯s (q̇) = f¯s0 (q̇),

obteniéndose ası́
M̄ (q)q̈ + C̄(q, q̇)q̇ = Ω(q, q̇, q̈)θ, (3.68)

donde Ω ∈ R2×6 es una matriz de funciones conocidas de q, q̇ y q̈ ∈ IR2 y θ ∈ R6 es


un vector de parámetros desconocidos de la dinámica del robot y los motores. Igualmen-
te, definiendo la ecuación respecto al voltaje aplicado u y recordando que M̄0 (q)q̈ = 0,
3.5. Modelo nominal 36

C̄0 (q, q̇)q̇ = 0 se obtiene


u − F̄v0 q̇ − f¯s0 (q̇) = Ω(q, q̇, q̈)θ, (3.69)

y si se define un = u − F̄v0 q̇ − f¯s0 (q̇) puede definirse el modelo de regresión del robot de
la siguiente forma
un = Ω(q, q̇, q̈)θ, (3.70)

donde los elementos del vector θ ∈ IR6 son:


 
1 2
θ1 = m1 lc1
+ m2 [l12
+ 2
lc2 ] + I1 + I2 + J1 ,
km1
1
θ2 = m2 l1 lc2 ,
km1
 
1 2
θ3 = m2 lc2 + I2 , (3.71)
km1
 
1 2
θ4 = m2 lc2 + I2 ,
km2
1
θ5 = m2 l1 lc2 ,
km2
 
1 2
θ6 = m2 lc2 + I2 + J2 ,
km2

y los elementos de la matriz Ω(q, q̇, q̈) ∈ IR2×6 son:

ω11 = q̈1 , ω21 = 0,

ω12 = cos(q2 )[2q̈1 + q̈2 ] − sen(q2 )q̇2 [2q̇1 + q̇2 ], ω22 = 0,

ω13 = q̈2 , ω23 = 0,

ω14 = 0, ω24 = q̈1 , (3.72)

ω15 = 0, ω25 = cos(q2 )q̈1 + sen(q2 )q̇12 ,


ω16 = 0, ω26 = q̈2 .

Modelo nominal por articulación

Igualmente, el modelo nominal obtenido en esta sección puede representarse como


un conjunto de ecuaciones correspondientes a cada articulación del robot. De tal forma
3.5. Modelo nominal 37

que para el robot se tienen dos ecuaciones que pueden representarse como

uni = Ωi (q, q̇, q̈)θai , (3.73)

donde i = 1, 2 denota la articulación. De tal forma que el vector de parámetros de la


articulacı́ón 1, θa1 ∈ IR3 , se define como
h iT
θa1 = θ1 θ2 θ3 , (3.74)

y el vector de parámetros de la articualción 2, θa2 ∈ IR3 , es


h iT
θa2 = θ4 θ5 θ6 . (3.75)

Donde los elementos del vector de regresión de la articulación 1, Ω1 ∈ IR3 , son

ω11 = q̈1 ,
ω12 = cos(q2 )[2q̈1 + q̈2 ] − sen(q2 )q̇2 [2q̇1 + q̇2 ], (3.76)

ω13 = q̈2 ,

y los elementos del vector de regresión de la articulación 2, Ω2 ∈ IR3 , son

ω24 = q̈1 ,
ω25 = cos(q2 )q̈1 + sen(q2 )q̇12 , (3.77)

ω26 = q̈2 .

Este modelo (3.73) se divide en dos vectores de parámetros (3.74) y (3.75). Los pa-
rámetros obtenidos en estos dos vectores son los correspondientes a cada articulación. En
particular, este modelo de regresión del robot cuenta con la cualidad de que los vectores de
parámetros correspondientes a cada articulación son diferentes entre si, esto es, θa1 6= θa2 .
Esto es debido a la forma en que se agrupó los parámetros, resultando que, este modelo de
regresión puede ser representado como un conjunto de ecuaciones por cada articulación.
Por lo cual, se puede definir el vector de parámetros donde sus elementos son los vectores
de parámetros de cada articulación, esto es,
h iT
θ = θa1 θa2 ∈ IR13 .
T T (3.78)
3.6. Cinemática directa 38

3.6. Cinemática directa

Considérese un robot manipulador de n grados de libertad fijado a una superficie.


El problema de la cinemática directa es establecer la posición y orientación del efector final,
o de un marco de referencia fijo al final del último eslabón del robot, en términos de las
posiciones articulares respecto a una referencia base fija. Esta referencia es comúnmente
llamada “marco de referencia base” [12], [20], [21].
Este modelo, donde la posición y orientación del efector final dependen de las
posiciones articulares, se puede definir como [12], [20], [21],

X = h(q), (3.79)

donde q ∈ IRn son las posiciones articulares y h(q) : IRn → IRm es el mapeo del espacio
articular IRn al espacio operacional IRm . Especificamente se puede representar h(q) ∈ IR6
como  
ϕ(q)
X= , (3.80)
φ(q)

donde ϕ ∈ IR3 denota la posición del efector final en el espacio cartesiano de tres di-
mensiones y φ = [γ ϑ ψ] ∈ IR3 es el conjunto de los ángulos de Euler que describen la
orientación del efector final.

3.6.1. Modelo cinemático directo del robot

Para definir el modelo cinemático directo del robot manipulador experimental se


utilizando un marco de referencia base, al cual todos los objetos están referidos incluyendo
el robot. Esta referencia base es el sistema de coordenadas cartesianas de dos dimensiones
x-y en cuyo origen se encuentra ubicada la primera articulación del robot como se ilustra
en la figura 3.3. Por lo tanto las coordenadas cartesianas x-y definen la posición del
extremo del segundo eslabón con respecto al origen del sistema. La orientación del efector
final de este robot no se tomará en cuenta para la obtención de este modelo.
3.6. Cinemática directa 39

Las coordenadas cartesianas x-y que representan la posición del extremo del se-
gundo eslabón que dependen de las posiciones articulares rotacionales del robot se pueden
definir como  
x
  = ϕ(q), (3.81)
y

donde q ∈ IR2 y ϕ : IR2 → IR2 está definida como


   
x l1 sen(q1 ) + l2 sen(q1 + q2 )
ϕ(q) =   =  . (3.82)
y −l1 cos(q1 ) − l2 cos(q1 + q2 )

Para seguir un contorno a una velocidad constante o a una velocidad preestablecida es


necesario conocer la relación entre la velocidad del efector final y las velocidades de las
articulaciones. Por esto se obtiene la derivada temporal de la ecuación (3.82) resultando
en    
d ẋ l1 cos(q )q̇
1 1 + l2 cos(q 1 + q 2 )[q̇ 1 + q̇ 2 ]
ϕ(q) =   =  . (3.83)
dt ẏ l1 sen(q1 )q̇1 + l2 sen(q1 + q2 )[q̇1 + q̇2 ]
Igualmente se puede establecer la siguiente relación entre las velocidades cartesianas y
articulares  
d ∂
ϕ(q) = ϕ(q) q̇, (3.84)
dt ∂q
de donde se puede definir el Jacobiano del robot manipulador como

∂ϕ(q)
J(q) = , (3.85)
∂q

con lo cual se pude representar la relación de velocidad del efector final con respecto a las
velocidades de las articulaciones como
 

  = J(q)q̇, (3.86)

donde  
l1 cos q1 + l2 cos(q1 + q2 ) l2 cos(q1 + q2 )
J(q) =   (3.87)
l1 sen q1 + l2 sen(q1 + q2 ) l2 sen(q1 + q2 )
3.7. Cinemática inversa 40

es un elemento fundamental a determinar para cualquier manipulador. Claramente las


siguientes relaciones entre las aceleraciones también se mantienen
 

 
 = d
J(q) q̇ + J(q)q̈, (3.88)
ÿ dt

d
donde dt
J(q) es la derivada temporal del Jacobiano y puede obtenerse derivando la ecua-
ción (3.87), de tal forma que
 
d −l1 sen(q1 )q̇1 − l2 sen(q1 + q2 ) [q̇1 + q̇2 ] −l2 sen(q1 + q2 ) [q̇1 + q̇2 ]
J(q) =   . (3.89)
dt l1 cos(q1 )q̇1 + l2 cos(q1 + q2 ) [q̇1 + q̇2 ] l2 cos(q1 + q2 ) [q̇1 + q̇2 ]

3.7. Cinemática inversa


El problema de la cinemática inversa permite obtener la posición articular q en
términos de la posición y orientación del efector final referido al marco de referencia base,
lo cual pude representarse como [12], [20], [21],

q = h−1 (X). (3.90)

3.7.1. Modelo cinemático inverso del robot

El modelo cinemático inverso del robot manipulador experimental se representa


de la siguiente forma  
q
 1  = ϕ−1 (x, y), (3.91)
q2

donde ϕ−1 : Θ → IR2 y Θ ⊆ IR2 es el espacio operacional del robot manipulador.


Dado que las ecuaciones del modelo cinemático directo son no lineales puede ser
difı́cil encontrar una solución e incluso una solución única. Además puede ser que no haya
solución como por ejemplo cuando las coordenadas x-y están fuera del alcance del brazo.
Ası́ mismo, como se pude ver en la figura 3.7, si las coordenadas dadas están al alcance
del brazo del robot manipulador pueden existir dos soluciones las cuales son denominadas
3.7. Cinemática inversa 41

Figura 3.7: Diagrama de las dos posibles soluciones de la cinemática inversa para una
posición determinada denominadas −−“Codo arriba” y —“Codo abajo”.

configuraciones “codo arriba” y “codo abajo” o puede haber una única solución si el brazo
del robot esta completamente extendido para alcanzar las coordenadas x-y.
Considérese el diagrama de la figura 3.8(a). Utilizando la ley de los cosenos del
Apéndice B y el triangulo que se forma con los lados l1 , l2 y el lado a del origen al punto
(x, y) se puede obtener que
x2 + y 2 − l12 − l22
cos(q2 ) = = D, (3.92)
2l12 l22
de tal forma que
x2 + y 2 − l12 − l22
 
−1
q2 = cos . (3.93)
2l12 l22
Ası́ mismo, ya que q2 esta dado por la ecuación (3.92), ésta puede expresarse como

sen(q2 ) = ± 1 − D2 , (3.94)

por lo tanto, q2 esta dado por


 √ 
2
q2 = atan2 ± 1 − D , D . (3.95)
3.7. Cinemática inversa 42

(a) Posición articular q1 (b) Posición articular q2

Figura 3.8: Diagrama esquemático del robot para obtener la solución de modelo cinemático
inverso.

La ventaja de la ecuación (3.95) es que se pueden obtener las soluciones de “codo arriba”
y “codo abajo” seleccionando el signo negativo o positivo de la raı́z cuadrada, respectiva-
mente.

De la misma forma, basándose en el diagrama de la figura 3.8(b) y considerando


el ángulo σ que va del eje y al lado a, el ángulo γ que se forma del lado l1 al lado a y el
triángulo rectángulo que se obtiene con los lados l1 , la perpendicular al lado l1 y el lado
a se puede obtener que

   
x l2 sin(q2 )
q1 = σ − γ = atan2 − atan2 . (3.96)
−y l1 + l2 cos(q2 )

Nótese que el ángulo q1 depende de q2 lo cual tiene sentido fı́sicamente, ya que se tiene
un valor diferente para q1 dependiendo del valor que se obtenga para q2 .

Las velocidades y aceleraciones pueden ser obtenidas por medio de la cinemática


diferencial y sus derivadas temporales [20]. Esto es válido solo si el robot no cae en alguna
3.7. Cinemática inversa 43

singularidad, esto es, mientras el Jacobiano sea cuadrado y no singular. Por lo tanto,
   
q̇ ẋ
 1  = J −1 (q)   , (3.97)
q̇2 ẏ
  " #    
q̈ ẋ ẍ
 1  = −J −1 (q) d J(q) J −1 (q)   + J −1 (q)   , (3.98)
q̈2 dt ẏ ÿ

donde d
dt
[J(q)] se define en (3.89) y J −1 (q) denota la inversa de la matriz Jacobiano la
cual es

 
sen(q1 + q2 ) cos(q1 + q2 )


 l1 sen(q2 ) l1 sen(q2 ) 

J −1 (q) =  . (3.99)
 
 
 −l1 sen(q1 ) − l2 sen(q1 + q2 ) l1 cos(q1 ) + l2 cos(q1 + q2 ) 
l1 l2 sen(q2 ) l1 l2 sen(q2 )

Nótese que el término sen(q2 ) aparece en el denominador de todos los términos de


J −1 (q) y que para q2 = nπ, con n ∈ Z y q1 ∈ IR, le corresponde una configuración singular.
Fı́sicamente esas configuraciones representan que el segundo eslabón está completamente
extendido o doblado sobre el primer eslabón. Tı́picamente estas configuraciones singulares
son en las que el efector final del robot está localizado en el lı́mite fı́sico del espacio de
trabajo, esto es, el espacio fı́sico que el extremo del eslabón 2 puede alcanzar.
Capı́tulo 4

Identificación del modelo dinámico


del robot manipulador

4.1. Introducción
Los esquemas de control de robots estudiados en la literatura requieren un modelo
dinámico del robot. La presición, funcionamiento, estabilidad o robustez de estos contro-
ladores dependen, en gran medida, de que tan exactos son los parámetros que describen
el modelo dinámico [11].
Una gran parte de estos algoritmos de control de posición y movimiento asumen
que el modelo del robot se conoce con exactitud, o bien, todas las no linealidades impli-
cadas se conocen o son insignificantes. A la vez que son conocidos los parámetros fı́sicos
constantes como la inercia, masa, distancia al centro de masa y la masa de los diversos
objetos que pueden ser movidos por el efector final del robot manipulador [12].
La determinación de los parámetros dinámicos es útil para algunos esquemas de
control y crucial para otros. Además, estos valores de los parámetros son necesarios para
la simulación de las ecuaciones dinámicas.
En caso de que no se tenga tal información del sistema, es necesario realizar la
identificación de los parámetros desconocidos del modelo dinámico del robot.

44
4.2. Identificación de robots manipuladores 45

4.2. Identificación de robots manipuladores

Entre los diversos métodos de identificación, existen tres métodos principales para la
estimación de los parámetros del modelo de un robot [11]:

Experimentos fı́sicos. Se desensambla el robot separando cada eslabón y mediante


experimentos fı́sicos se pueden obtener los siguientes parámetros:

• La masa puede ser pesada directamente.

• Las coordenadas del centro de masa pueden ser estimadas mediante la deter-
minación de puntos de contrapeso del eslabón.

• Los elementos de la diagonal de la tensión de inercia podrı́an ser obtenidos por


movimientos pendulares.

Este método es muy tedioso y deberı́a ser realizado por el fabricante antes de en-
samblar el robot.

Usando modelos CAD1 /CAM2 . Los paquetes de software CAD/CAM proveen


herramientas para el cálculo de los parámetros de inercia de un modelo tridimen-
sional. Este método es propenso a errores debido a que es complicado, en general,
definir la geometrı́a de los eslabones con exactitud.

Identificación. Este enfoque esta basado en el análisis del comportamiento de


las entradas y salidas del robot y la estimación de los valores de los parámetros,
minimizando la diferencia entre una función de las variables reales del robot y su
modelo matemático. Este método ha sido extensamente usado y se ha encontrado
que es el mejor en términos de facilidad de experimentación y precisión de los valores
obtenidos.
1
Por sus siglas en ingles: Computer Aided Design - Diseño Asistido por Computadora
2
Por sus siglas en ingles: Computer Aided Manufacturer - Fabricación Asistida por Computadora
4.2. Identificación de robots manipuladores 46

En base a la propiedad de linealidad de los parámetros del modelo dinámico del


robot explicada en la sección 3.4 y los métodos de identificación de mı́nimos cuadrados
explicados en el capı́tulo 2, se lleva a encontrar la solución a un sistema de regresión lineal
para identificar los parámetros del modelo dinámico del robot.

4.2.1. Procedimiento de identificación

Varios esquemas han sido propuestos en la literatura para la identificación de


los parámetros dinámicos [6], [10], [11]. Estos esquemas tienen en común las siguientes
caracterı́sticas:

El uso de un modelo que es lineal en los parámetros dinámicos.

La determinación de sistemas lineales de ecuaciones aplicando el modelo de identifi-


cación a un número los suficientemente grande de muestras de las estradas y salidas
del robot.

La estimación de los valores de los parámetros usando técnicas de regresión lineal


(mı́nimos cuadrados).

4.2.2. Estimación de los parámetros de fricción

Los parámetros del modelo dinámico del robot correspondientes a la fricción son
linealmente independientes de los parámetros de inercia. Por lo tanto la identificación
de los parámetros del modelo dinámico del robot correspondientes a la fricción se puede
hacer en dos enfoques [11]:

Identificación global de los parámetros de inercia y fricción. En este enfoque, se


considera la estimación de los parámetros de la inercia junto con los de fricción.

Identificación por separado de los parámetros de fricción e inercia. En este enfoque,


se identifican inicialmente los parámetros de fricción usando una señal de entrada
4.2. Identificación de robots manipuladores 47

determinada en una sola articulación y ası́ sucesivamente para cada articulación.


Estos parámetros son entonces considerados como conocidos para la identificación
de los parámetros de inercia.

4.2.3. Cálculo de las velocidades de las articulaciones y modelo


dinámico filtrado

Los elementos de la matriz de regresión están en función de q, q̇, y q̈. Los robots
industriales están equipados comúnmente con sensores de posición de buena exactitud
aunque pueden contener ruido de alta frecuencia debido a errores de cuantización. Por
el contrario, los sensores de velocidad proveen información ruidosa, y los sensores de
aceleración no son utilizados en robots industriales. Debido a esto, las velocidades y ace-
leraciones articulares tienen que ser obtenidas por medio de diferenciación numérica de la
posición articular. Sin embargo, la derivada, y más aún la segunda derivada, de la posición
articular amplifican el ruido de cuantización, el cual a su vez es de alta frecuencia, debido
a que el proceso de diferenciación se comporta como un filtro pasa altas [11].

Cálculo de velocidad articular

Una solución para el cálculo de la velocidad articular es filtrar las datos obtenidos
de la posición articular para el proceso de identificación. Esto es realizado mediante un
filtro digital pasa bajas no causal de fase cero antes de calcular las derivadas, como fue
relizado en [2], [5], [10], [13].
Esto se realiza a través del siguiente procedimiento:

En primera instancia se diseña un filtro digital pasabajas fp (z) que filtre las altas
frecuencias del cuantizado de los codificadores ópticos de los motores y permita pasar
las bajas frecuencias de la trayectoria deseada. En el Apéndice C se presentan las
caracterı́sticas del diseño del filtro que se usó en los experimentos de identificación.
4.2. Identificación de robots manipuladores 48

Una vez obtenido el filtro, éste se implementa a través del esquema de filtrado de
fase cero denominado filtrado en ambas direcciones “Adelante-Atras” para evitar la
distorsión de las muestras de la posición articular. Para una explicación a detalle
de este esquema de filtrado de fase cero, consúltese [22]. Este esquema de filtrado
se implementa de manera sencilla mediante la función “filtfilt” de Matlab. Por lo
anterior, se filtra la posición articular q(k) implementando el filtro diseñado fp (z)
mediante la función de Matlab “filtfilt” para obtener la posición filtrada qf (k).

Finalmente, el cálculo de velocidad se realiza, como se propone en [5], [10], [11],


utilizando el algoritmo de diferenciación central para evitar el corrimiento de fase.
Esto es, la velocidad se obtiene con

qf (k + 1) − qf (k − 1)
q̇(k) = , (4.1)
2T

donde k denota el instante de muestreo, T [seg] es el periodo de muestreo y qf (k) ∈


IRn denota el vector de posiciones articulares filtrado usando la función “filtfilt” y
el filtro fp (z).

Modelo dinámico filtrado

Para evitar el cálculo de las aceleraciones articulares se puede utilizar un modelo


de identificación en el cual no estén presentes las aceleraciones articulares, como lo son
el modelo de energı́a [4], el modelo de potencia [4], [5], o utilizando un filtro estocástico
como el filtro de Kalman extendido [6], [8], [10]. Ası́ mismo, se puede obtener el modelo
dinámico filtrado como en [4], [9], [23]. En este modelo se utiliza un filtro pasa bajas
para evitar la medición o estimación de las aceleraciones articulares. Para el desarrollo de
este modelo filtrado se expande la ecuación (3.57) para aislar los elementos que están en
función de las aceleraciones articulares.
El modelo dinámico del robot obtenido en la ecuación (3.44) puede ser reescrito
4.2. Identificación de robots manipuladores 49

de la siguiente forma
   
d d
M̄ (q)q̇ − M̄ (q) q̇ + C̄(q, q̇)q̇ + F̄v q̇ + f¯s (q̇) = u. (4.2)
dt dt
donde ambas ecuaciones (3.44) y (4.2) son igualmente válidas. Ası́ mismo, considerando
la representación de la ecuación (4.2), el modelo de regresión (3.57) puede ser reescrito de
tal forma que se consideran por separado los elementos que son función de la aceleración
con lo que se puede escribir
 
d
Ωa (q, q̇) + Ωb (q, q̇) θ = u, (4.3)
dt
donde

Ωa (q, q̇)θ = M̄ (q)q̇, (4.4)


 
d
Ωb (q, q̇)θ = − M̄ (q) q̇ + C̄(q, q̇)q̇ + F̄v q̇ + f¯s (q̇). (4.5)
dt
Se obtendrá la versión filtrada de este modelo multiplicando (4.3) por el filtro
pasa bajas f (s) con lo cual se obtiene

[sf (s)Ωa (q, q̇) + f (s)Ωb (q, q̇)] θ = f (s)u. (4.6)

Finalmente la versión filtrada del modelo es

[Ωaf (q, q̇) + Ωbf (q, q̇)] θ = uf , (4.7)

donde, considerando
λ
f (s) = , (4.8)
s+λ
con λ denotando la frecuencia de corte del filtro, se tiene que
Z t 
uf (t) = uf (0) + λ [u(t) − uf (t)] dt , (4.9)
0
 Z t 
Ωaf (q(t), q̇(t)) = Ωaf (q(0), q̇(0)) + λ Ωa (q(t), q̇(t)) − Ωaf (q(t), q̇(t))dt , (4.10)
0

y finalmente
Z t 
Ωbf (q(t), q̇(t)) = Ωbf (q(0), q̇(0)) + λ [Ωb (q(t), q̇(t)) − Ωbf (q(t), q̇(t))] dt . (4.11)
0
4.3. Identificación del modelo dinámico del robot 50

De aquı́ que el modelo filtrado (4.7) se escribe como

uf = Ωf (q, q̇)θ, (4.12)

donde
Ωf (q, q̇) = Ωaf (q, q̇) + Ωbf (q, q̇) ∈ IRn×p . (4.13)

Por tanto, cualquier método de identificación que tome en cuenta el modelo fltrado (4.12)
no requiere la medición de la aceleración articular q̈ ∈ IRn . Todos los experimentos de
identificación considerados en esta tesis se basan en el modelo filtrado (4.12) usando las
condiciones iniciales

Ωaf (q(0), q̇(0)) = 0 ∈ IRn×p ,


Ωbf (q(0), q̇(0)) = 0 ∈ IRn×p ,
uf (0) = 0 ∈ IRn×p .

4.3. Identificación del modelo dinámico del robot

4.3.1. Modelo dinámico filtrado del robot

Para superar la necesidad de obtener la aceleración q̈ se aplica a la ecuación del


modelo dinámico definido en (3.59) el filtro pasa bajas f (s) definido en (4.8) obteniéndose
un modelo dinámico de regresión filtrado que puede ser escrito como

uf i = Ωf i (q, q̇)θai , (4.14)

donde

uf i = f (s)ui ,
Ωf i (q, q̇) = f (s)Ωi (q, q̇),

i = 1, 2 denota la articulación del robot, θai denota los parámetros presentes solamente
en la articulación i definidos como
h iT
θa1 = θ1 θ2 θ3 θ7 θ8 θ9 , (4.15)
4.3. Identificación del modelo dinámico del robot 51

y
h iT
θa2 = θ4 θ5 θ6 θ10 θ11 θ12 . (4.16)

Ası́ mismo, los elementos del vector Ωf 1 son

ωf 11 = sf (s)q̇1 ,
ωf 12 = sf (s) cos(q2 )[2q̇1 + q̇2 ],
ωf 13 = sf (s)q̇2 ,
ωf 14 = f (s)q̇1 , (4.17)

 tanh(β q̇ ),
1 q̇1 ≥ 0,
ωf 15 = f (s)
 0, q̇1 < 0,

 0, q̇1 ≥ 0,
ωf 16 = f (s)
 tanh(β q̇ ), q̇1 < 0,
1

y los elementos del vector Ωf 2 son

ωf 21 = sf (s)q̇1 ,
ωf 22 = sf (s) cos(q2 )q̇1 + f (s) sen(q2 )q̇1 [q̇1 + q̇2 ] ,
ωf 23 = sf (s)q̇2 ,
ωf 24 = f (s)q̇2 , (4.18)

 tanh(β q̇ ),
2 q̇2 ≥ 0,
ωf 25 = f (s)
 0, q̇2 < 0,

 0, q̇2 ≥ 0,
ωf 26 = f (s)
 tanh(β q̇ ), q̇2 < 0.
2

Como se mostró en la sección anterior, la implementación de las ecuaciones (4.17)


y (4.18) no requiere la medición de la aceleración q̈ ∈ IR2 .
El robot experimental es un sistema de entrada-salida de datos muestreados.
Entonces, para fines de experimentación los filtros
λ
f1 (s) = f (s) = , (4.19)
s+λ
λs
f2 (s) = sf (s) = , (4.20)
s+λ
4.3. Identificación del modelo dinámico del robot 52

son implementados en su forma discreta. Esta forma discreta es obtenida aplicando el


método de retención de orden cero. La función de transferencia de la retención de orden
cero es dada por [24]
(1 − e−sT )
G0 (s) = . (4.21)
s
Aplicando el método al filtro (4.19) se tiene que
 
λ
f¯1 (s) = G0 (s)f1 (s) = (1 − e −T s
) , (4.22)
s(s + λ)
y realizando la expansión en fracciones parciales se obtiene
 
1 1
f¯1 (s) = (1 − e )
−sT
− . (4.23)
s s+λ
Utilizando las relaciones [24]

e−kT s = z −k , (4.24)
1 z
= , (4.25)
s z−1
1 z
= , (4.26)
s+a z − e−aT
se obtiene que la representación discreta de (4.19) puede ser expresada por
 
 −1
 z z
fd1 (z) = 1 − z − , (4.27)
z − 1 z − e−λT
la cual puede ser reescrita como
1 − eλT
fd1 (z) = . (4.28)
z − e−λT
Ası́ mismo, aplicando las mismas ideas al filtro (4.20) se obtiene
   
λs 1
f¯2 (s) = G0 (s)sf (s) = (1 − e )
−T s −T
= λ(1 − e ) s
. (4.29)
s(s + λ) s+λ
Utilizando las relaciones (4.24) y (4.25), es posible obtener la representación discreta de
(4.20) como
 
z
fd2 (z) = λ 1 − z −1
 
,
z − e−λT
λ[z − 1]
= . (4.30)
z − e−λT
4.3. Identificación del modelo dinámico del robot 53

4.3.2. Proceso de identificación del robot

Los parámetros del vector θ son estimados como la solución por mı́nimos cuadra-
dos de un sistema lineal sobredeterminado el cual es obtenido por el muestreo del modelo
dinámico del robot a través de una trayectoria q(t), q̇(t) q̈(t). Considérese que se tiene N
muestras del vector de excitación de voltaje aplicado a los motores del robot u(k) ∈ IR2
y de las posiciones angulares de los ejes de los motores q(k) ∈ IR2 a un periodo de mues-
treo de T = 0.001 [seg]. El modelo a identificar del robot es el obtenido en la ecuación
(4.14) donde uf i ∈ IR denota los voltajes filtrados de cada articulación i y Ωf i (q, q̇) ∈ IR6
denota el vector de regresión filtrado de cada articulación i cuyos elementos son funciones
conocidas de q(k), q̇(k) y están definidos en las ecuaciones (4.17) y (4.18), y θai ∈ IR6
son los vectores de parámetros desconocidos de la dinámica de cada articulación i del
robot. Cabe recordar que, para el procedimiento de identificación, la velocidad angular
es estimada mediante la función “filtfilt” y el algoritmo de diferenciación central de la
ecuación (4.1).

Lazo de control para el procedimiento de identificación

Para una correcta ejecución del experimento de identificación, es necesario definir


una trayectoria deseada como referencia articular la cual debe de excitar toda la dinámica
para una mejor identificación de los parámetros del modelo del robot. Nótese que los
experimentos no pueden realizarse en lazo abierto debido a que no es un sistema estable,
por lo tanto, el procedimiento de identificación es realizado en lazo cerrado, que es lo se
busca con la implementación del controlador. El controlador utilizado es el controlador
proporcional-derivativo (PD) descrito por

˙
u(t) = Kp q̃ + Kv q̃, (4.31)

donde Kp , Kv son matrices definidas positivas cuyos valores son Kp = diag {5, 5} [Volt/rad]
y Kv = diag {0.25, 0.25} [Volt seg/rad],

q̃ = qd − q, (4.32)
4.3. Identificación del modelo dinámico del robot 54

Figura 4.1: Diagrama esquemático de la implementación del proceso de identificación del


robot. El bloque con etiqueta ADC denota el algoritmo de diferenciación central (4.1).

denota el error de posición articular,

q̃˙ = q̇d − q̇, (4.33)

denota el error de velocidad articular y qd denota la trayectoria deseada en el espacio


articular definida como  
sen (ω1 t)
qd (t) =   [rad], (4.34)
sen (π + ω2 t)

donde ω1 = 1.5π [rad/seg] y ω2 = 2π [rad/seg]. Cabe mencionar que para la imple-


mentación del controlador de trayectorias se realiza la estimación de velocidad por el
procedimiento explicado en al Apéndice A denominado filtro de Euler.
La identificación del modelo dinámico filtrado del robot es realizada por medio de
los tres algoritmos de identificación: mı́nimos cuadrados, mı́nimos cuadrados ponderado
y mı́nimos cuadrados recursivo. Se puede observar que el modelo dinámico de regresión
filtrado del robot (4.14) tiene la forma del modelo generalizado (2.1). De tal forma, se
considera que Φ(k) = Ωf i (q(k), q̇(k)) ∈ IR6 , y(k) = uf i (k) ∈ IR y θ̂ai (k) ∈ IR6 donde
k = 0, 1, · · · , N − 1 denota el tiempo discreto de muestreo.
En la figura 4.1 se presenta un diagrama esquemático sobre la implementación del
proceso de identificación del robot. El bloque con etiqueta ADC denota el algoritmo de
diferenciación central (4.1). Cabe hacer notar que en el diagrama se considera el algoritmo
4.3. Identificación del modelo dinámico del robot 55

de identificación como un bloque independiente de los otros procesos. Por lo cual, este
mismo representa la identificación por cualquiera de los tres algoritmo aquı́ presentados.

4.3.3. Resultados experimentales

Se seleccionó el parámetro de ancho de banda λ del filtro f (s) tal que rechace las
componentes de alta frecuencia resultantes de ruido mientras que se permite las compo-
nentes de baja frecuencia generadas por la entrada de voltaje. Como la frecuencia más alta
de la trayectoria deseada es de ω2 = 2π [rad/seg], entonces se seleccionó una frecuencia
de corte de λ = 20 [rad/seg] del filtro f (s) en las ecuaciones (4.19) y (4.20) para realizar
el filtrado del modelo dinámico.

Identificación del robot mediante mı́nimos cuadrados

En referencia a la expresión del modelo filtrado del robot (4.14) se considera la


estimación del vector de parámetros θai ∈ IR6 . Entonces, mediante la ecuación (2.9), se
tiene que la estimación por mı́nimos cuadrados de los parámetros del modelo dinámico
del robot es
" k
#−1 k
X X
θ̂ai (k) = ΩTfi (j)Ωf i (j) ΩTfi (j)uf i (j). (4.35)
j=0 j=0

Los resultados del algoritmo (4.35) son presentados en la tabla 4.1 que contiene los valores
numéricos obtenidos de los parámetros estimados en la última muestra del experimento.
Ası́ mismo, en la figura 4.2 se presenta la evolución temporal de la estimación de los
parámetros.

Identificación del robot mediante mı́nimos cuadrados ponderado

La estimación de los parámetros del modelo dinámico puede realizarse mediante


mı́nimos cuadrados ponderado, como se expresa en la ecuación (2.13), que en términos
4.3. Identificación del modelo dinámico del robot 56

del modelo del robot resulta en


" k #−1 k
X X
θ̂ai (k) = ΩTfi (j)gi (j)2 Ωf i (j) ΩTfi (j)gi (j)2 uf i (j). (4.36)
j=0 j=0

La obtención de gi (j)2 de la ecuación (4.36), donde gi (j)2 es el valor de pondera-


ción para cada articulación i de cada muestra j, puede realizarse bajo diversos criterios.
Uno de ellos puede consultarse en [5] donde se realiza una ponderación a través de la
estimación de la desviación estándar de cada una de las n ecuaciones que componen un
sistema. Otras formas para realizar la estimación de la desviación estándar han sido im-
plementadas en [2], [10]. Otra forma de realizar la ponderación es presentada en [8], donde
se considera una ponderación por cada una de las muestras obtenidas de tal forma que
cada muestra tiene una constante positiva de ponderación. En este documento se propone
el método de mı́nimos cuadrados ponderado, tal que se considera la matriz de ponderación
como un parámetro libre que se puede definir dependiendo de las caracterı́sticas del siste-
ma o cualquier otro criterio sobre la fiabilidad de las muestras obtenidas. Especı́ficamente,
en esta tesis se propone la ponderación
1
gi (j) = , (4.37)

u (j) − Ω (j)θ̂ + 

fi fi ai

donde i = 1, 2 denota la articulación del robot, uf i (k) ∈ IR denota el voltaje filtrado en el


instante de muestreo j, Ωf i (j) denota el vector de regresión filtrado de cada articulación,

y θ̂ai ∈ IR6 denota la estimación de los parámetros del robot por mı́nimos cuadrados dado
por
"N −1 #−1 N −1
X X

θ̂ai = ΩTfi (j)Ωf i (j) ΩTfi (j)uf i (j). (4.38)
j=0 j=0
donde N es el número total de muestras obtenidas. Cabe mencionar que es posible obtener

θ̂ai por algún otro método como la descomposición Q-R, como se propone en [10], ası́ como
utilizando información a priori de los parámetros del robot. Los resultados del algoritmo
de identificación (4.36) son presentados en la tabla 4.1 que contiene el valor numérico
de los parámetros en la última muestra del experimento, y la evolución temporal de la
estimación de los parámetros se muestra en la figura 4.2.
4.3. Identificación del modelo dinámico del robot 57

Identificación del robot mediante mı́nimos cuadrados recursivo

Para la implementación de este algoritmo de identificación se utilizan las ecua-


ciones definidas en (2.24)-(2.28) que, aplicadas a la identificación del robot, se pueden
expresar como

−1
Ri (k) = Pi (k − 1)ΩTfi (k) 1 + Ωf i (k)Pi (k − 1)ΩTfi (k)

, (4.39)

Pi (k) = Pi (k − 1) − Ri (k)Ωf i (k)Pi (k − 1), (4.40)


h i
θ̂ai (k) = θ̂ai (k − 1) + Ri (k) uf i (k) − Ωf i (k)θ̂ai (k − 1) , (4.41)

donde i = 1, 2, Ri (k) ∈ IR6 es el vector de ganancia del algoritmo, Pi (k) ∈ IR6×6 es


la matriz de covarianza y θ̂ai (k) ∈ IR6 es el vector de parámetros estimados, de cada
articulación i correspondientemente. Para la implementación de este algortimo de iden-
tificación se consideran las condiciones iniciales de θ̂ai (0) = 0 ∈ IR6 y P (0) = (1/100)I
con I ∈ IR6×6 la matriz identidad. Los resultados de la estimación por el algoritmo de
identificación (4.39)-(4.41) son presentados en la tabla 4.1 que contiene el valor numérico
de los parámetros en la última muestra del experimento, y en la figura 4.2 se presenta la
evolución temporal de la estimación de los parámetros.

4.3.4. Validación del modelo identificado

Para la validación del modelo identificado se siguió el criterio de realizar simula-


ciones del robot, como se menciona en la sección 2.1, y que es una estrategia implementada
en [1], [4], [23], [25], con el fin de comparar el comportamiento del robot observado en
experimento.
Se decidió tomar los valores de la estimación por mı́nimos cuadrados ponderado
dado que la evolución temporal de la estimación de θ̂ai (k) en la figura 4.2 se estabiliza en
menor tiempo que las estimaciones de mı́nimos cuadrados y mı́nimos cuadrados recursivo.
En otras palabras, usando el algoritmo de mı́nimos cuadrados ponderado el error entre
la salida estimada Ωf i (k)θ̂ai (k) y la salida actual uf (k) converge más rápido a cero que
4.3. Identificación del modelo dinámico del robot 58

Tabla 4.1: Parámetros estimados del modelo dinámico del robot mediante mı́nimos cuadra-
dos (MC), mı́nimos cuadrados ponderado (MCP) y mı́nimos cuadrados recursivo (MCR).
Parámetro Unidades MC MCP MCR
θ̂1 Kg-m-volt/[N-rad] 0.0480 0.0480 0.0481
θ̂2 Kg-m volt/[N-rad] 0.0038 0.0037 0.0038
θ̂3 Kg-m-volt/[N-rad] 0.0033 0.0033 0.0033
θ̂4 Kg-m-volt/[N-rad] 0.0157 0.0161 0.0157
θ̂5 Kg-m-volt/[N-rad] 0.0226 0.0220 0.0226
θ̂6 Kg-m-volt/[N-rad] 0.0166 0.0162 0.0166
θ̂7 Volt-seg/rad 0.0071 0.0070 0.0074
θ̂8 Volt 0.0570 0.0571 0.0555
θ̂9 Volt 0.0066 0.0067 0.0052
θ̂10 Volt-seg/rad 0.0066 0.0071 0.0070
θ̂11 Volt 0.0612 0.0554 0.0590
θ̂12 Volt 0.0136 0.0105 0.0116

θ̂1 x 10
−3 θ̂2 x 10
−3 θ̂3
0.049 6
4

0.048 4
2
2
0.047 0
θ̂4 θ̂5 θ̂6
0.02 0.04 0.03
0.02
0.01 0.02
0.01
0 0 0
θ̂7 θ̂8 θ̂9
0.02 0.1 0.04

0.02
0.01 0.05
0

0 0 −0.02
θ̂10 θ̂11 θ̂12
0.06
0.01 0.1 0.04
0.02
0.005 0.05 0
−0.02
0 0
0 10 20 0 10 20 0 10 20
Tiempo [seg] Tiempo [seg] Tiempo [seg]

Figura 4.2: Evolución temporal de la estimación de los parámetros θ̂1 − θ̂12 del modelo
dinámico del robot mediante mı́nimos cuadrados ...., mı́nimos cuadrados ponderado —
y mı́nimos cuadrados recursivo - - -. Las unidades de los parámetros se listan en la tabla
4.1.
4.3. Identificación del modelo dinámico del robot 59

con los otros métodos de estimación, aunque no se descarta que sean estimaciones del
modelo relativamente aceptables. Basándose en esta idea, el modelo obtenido por mı́nimos
cuadrados ponderado se considera como el modelo del robot experimental identificado.
Cabe mencionar que el robot experimental cuenta con sensores de posición de una
resolución de 2000 [pulsos/rev]. Por lo tanto, se tiene una resolución de 0.00314 [rad/pulso].
Debido a esto, en esta tesis, todas las simulaciones del robot son implementadas consi-
derando en la simulación de la dinámica del robot una cuantización con intervalos de
0.00314 [rad] para la lectura de la posición de las articulaciones del robot, lo cual permite
una simulación más realista del comportamiento del robot.
Para verificar la exactitud de la estimación de los parámetros del modelo dinámi-
co se siguieron dos enfoques. En el primero, se comparó la salida del control de voltaje
muestreado durante el experimento de identificación y se realizó la simulación del control
de seguimiento (4.31) utilizando los parámetros del modelo dinámico estimados por mı́ni-
mos cuadrados ponderado de la tabla 4.1 bajo las mismas condiciones del experimento.
Ası́ mismo se obtuvo el error de posición para observar el desempeño del controlador.
La comparación del experimento y la simulación se presentan en las figuras 4.3 y 4.4, en
donde se presentan los voltajes y errores de posición, respectivamente. Como se puede ob-
servar en la figura 4.3 el voltaje de control simulado y el obtenido en experimentación son
relativamente iguales, lo que implica que los parámetros son los suficientemente exactos.
En el segundo enfoque, se implementó un control de seguimiento de trayectorias
pero utilizando un controlador basado en modelo. Este controlador es el controlador PD
con precompensación definido en [26], el cual está descrito por

u = Kp q̃ + Kv q̃˙ + Ω(qd , q̇d , q̈d ) θ̂, (4.42)

donde Ω(qd , q̇d , q̈d ) ∈ IR2×12 es la matriz de regresión del robot evaluada en qd , q̇d y
q̈d ∈ IR2 , θ̂ ∈ IR12 es el vector de parámetros estimados del modelo dinámico del robot
mediante mı́nimos cuadrados ponderado de la tabla 4.1, Kp = diag{5, 5} [Volt/rad] y
Kv = diag{0.5, 0.5} [Volt seg/rad] son matrices positivas. Además, para esta validación
4.3. Identificación del modelo dinámico del robot 60

Voltaje de control
4

2
u1 [volt] 0

−2

−4
Exp. Sim.

2
u2 [volt]

−2

−4
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]

Figura 4.3: Voltaje de control de simulación y experimento utilizando controlador PD y


parámetros estimados de la identificación por mı́nimos cuadrados ponderado.

Error de posición

0.5
q̃1 [rad]

−0.5
Exp. Sim.

0.5
q̃2 [rad]

−0.5
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]

Figura 4.4: Error de posición de simulación y experimento utilizando controlador PD y


parámetros estimados de la identificación por mı́nimos cuadrados ponderado.
4.3. Identificación del modelo dinámico del robot 61

Voltaje de control
4

u1 [volt] 0

−2

−4
Exp. Sim.

2
u2 [volt]

−2

−4
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]

Figura 4.5: Voltaje de control de simulación y experimento utilizando controlador PD


con precompesación y parámetros estimados de la identificación por mı́nimos cuadrados
ponderado.

Error de posición

0.05
q̃1 [rad]

−0.05
Exp. Sim.

0.05
q̃2 [rad]

−0.05
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]

Figura 4.6: Error de posición de simulación y experimento utilizando controlador PD


con precompesación y parámetros estimados de la identificación por mı́nimos cuadrados
ponderado.
4.3. Identificación del modelo dinámico del robot 62

se utilizó una trayectoria deseada en el espacio articular definida como


 
sen(ω1 t)
qd (t) =   [rad], (4.43)
sen(ω2 t)

donde ω1 = ω2 = 1.5π [rad/seg].


Se realizó un experimento con el controlador (4.42) utilizando los parámetros del
modelo dinámico identificado en la parte de precompensación y a su vez en la simulación se
utilizaron los parámetros del modelo dinámico identificado tanto para representar el robot
como para la parte de precompesación. Las comparaciones del experimento y la simulación
pueden observarse en las figuras 4.5 y 4.6, donde se tiene el voltaje de control u(t) ∈ IR2
y el error de posición articular q̃(t) ∈ IR2 , respectivamente. Como se puede verificar en la
figura 4.5, el voltaje de control simulado y el obtenido en experimento son relativamente
similares. Con los resultados de simulación y experimentación del control PD y el control
PD con precompensación se puede concluir que los parámetros estimados por mı́nimos
cuadrados ponderado son los suficientemente exactos para realizar experimentos de control
basado en modelo.

4.3.5. Identificación en lı́nea mediante mı́nimos cuadrados re-


cursivo

Con el fin de realizar comparaciones con la estrategia de identificación del modelo


dinámico de un robot manipulador como es reportado en [4], se realizaron experimentos de
identificación en linea con el algoritmo de identificación de mı́nimos cuadrados recursivo,
filtrado del modelo dinámico y estimación de velocidad a través del filtro de Euler. Para
la aplicación de esta estrategia se presenta a continuación una breve explicación de la
aplicación del algoritmo a la identificación del robot.
Considérese que se realizan mediciones discretas de las posiciones articulares y
voltajes del robot de tal modo que el modelo del robot filtrado (4.14) puede ser expresado
4.3. Identificación del modelo dinámico del robot 63

de la forma
uf i (k) = Ωf i (q(k), q̇(k))θai (4.44)

donde uf i (k) ∈ IR es la señal del voltaje medida de cada articulación, Ωf i (q(k), q̇(k)) ∈ IRpi
es el vector de regresión cuyos elementos son funciones conocidas obtenidas a partir de
las mediciones de la posición y estimación de la velocidad articular del robot que están
definidos en la ecuaciones (4.17) y (4.18), θ̂ai ∈ IRpi es el vector de parámetros de cada
articulación, k = 0, 1, 2, . . . , N −1 denota el tiempo discreto de muestreo y pi es el número
de parámetros presentes en la ecuación de cada articulación donde p1 = p2 = 6.

Lazo de control de la identificación

Para la estimación de los parámetros del modelo dinámico del robot se utilizó un
lazo de control mediante el controlador de la ecuación (4.31) que es aplicado con los
mismos valores para las ganancias de control que en la estrategia de la sección anterior,
esto es, Kp = diag{5, 5} [Volt/rad] y Kv = diag{0.25, 0.25} [Volt seg/rad]. Ası́ mismo, se
utilizó también la misma trayectoria deseada definida en (4.34) donde las frecuencias son
de ω1 = 1.5π [rad/seg] y ω2 = 2π [rad/seg].

Resultados experimentales

De las ecuaciones (2.25)-(2.27) que definen el algoritmo de mı́nimos cuadrados


recursivo, y de la ecuación (4.44) que define el modelo entrada-salida filtrado del robot
en forma discreta, se obtienen las ecuaciones del algoritmo para la identificación de los
parámetros del modelo dinámico de regresión filtrado de cada articulación i las cuales son
−1
Ri (k) = Pi (k − 1)ΩTfi (k) 1 + Ωf i (k)Pi (k − 1)ΩTfi (k)

, (4.45)

Pi (k) = Pi (k − 1) − Ri (k)Ωf i (k)Pi (k − 1), (4.46)


h i
θ̂ai (k) = θ̂ai (k − 1) + Ri (k) uf i − Ωf i (k)θ̂ai (k − 1) , (4.47)

donde Ri (k) ∈ IR6 es el vector de ganancia del algoritmo, Pi (k) ∈ IR6×6 es la matriz de
covarianza, θ̂ai (k) ∈ IR6 es el vector de parámetros estimados del robot por cada articula-
4.4. Discusión de resultados 64

Figura 4.7: Diagrama esquemático del método de identificación de mı́nimos cuadrados


recursivo, filtrado del modelo y estimación de velocidad por el filtro de Euler.

ción. Para la implementación de este algoritmo de identificación se realizó la estimación


de la velocidad articular mediante el filtro de Euler. La velocidad estimada es retroali-
mentada al controlador de seguimiento y al proceso de filtrado del modelo dinámico y
finalmente se realiza la estimación de los parámetros de cada articulación. En la figura 4.7
se muestra un diagrama esquemático de la aplicación de esta estrategia de identificación.
Además, se utilizó la condición inicial del algoritmo de mı́nimos cuadrados recur-
sivo de θ̂ai (0) = 0 ∈ IR6 y P (0) = (1/1000)I con I ∈ IR6×6 la matriz identidad y una
frecuencia de corte λ = 20 [rad/seg] del filtro del modelo. El experimento de identificación
fue realizado durante un periodo de 20 segundos. La evolución temporal de la estimación
de los parámetros del modelo dinámico se puede observar en la figura 4.8 y el último valor
de cada parámetro estimado por el algoritmo son presentados en la tabla 4.2.

4.4. Discusión de resultados


Se puede observar, más notoriamente, en la tabla 4.2 y en la figura 4.8 que el
parámetro θ̂7 tiende a un valor negativo conforme el tiempo incrementa, lo cual lógica-
mente no es un valor aceptable. Cabe mencionar que se realizaron diversos experimen-
tos con este algoritmo donde se aplicó el filtro de Euler cambiando el orden del mismo.
Ası́ mismo, se aplicaron diferentes trayectorias buscando una mejor estimación o evolución
temporal de la estimación. Para ambos casos de prueba y experimentación, se obtuvieron
4.4. Discusión de resultados 65

Tabla 4.2: Parámetros estimados del robot utilizando el algoritmo de mı́nimos cuadrados
recursivo, filtrado del modelo y estimación de velocidad por el filtro de Euler.
Parámetro Unidades Estimación
θ̂1 Kg-m-volt/[N-rad] 0.0473
θ̂2 Kg-m-volt/[N-rad] 0.0039
θ̂3 Kg-m-volt/[N-rad] 0.0031
θ̂4 Kg-m-volt/[N-rad] 0.0166
θ̂5 Kg-m-volt/[N-rad] 0.0210
θ̂6 Kg-m-volt/[N-rad] 0.0159
θ̂7 Volt-seg/rad -0.0001
θ̂8 Volt 0.0649
θ̂9 Volt 0.0129
θ̂10 Volt-seg/rad 0.0007
θ̂11 Volt 0.0745
θ̂12 Volt 0.0237

θ̂1 x 10
−3 θ̂2 θ̂3
0.06 6
0.01

0.05 4
0.005
2
0.04 0

θ̂4 θ̂5 θ̂6


0.05
0.02
0.02
0.01

0 0 0

θ̂7 θ̂8 θ̂9


0.01 0.1 0.04

0.02
0 0.05
0

−0.01 0 −0.02

x 10
−3 θ̂10 θ̂11 θ̂12
5 0.06
0.1 0.04
0 0.02
0.05
0
−5 0 −0.02
0 10 20 0 10 20 0 10 20
Tiempo [seg] Tiempo [seg] Tiempo [seg]

Figura 4.8: Evolución temporal de la estimación de los parámetros θ̂1 − θ̂12 del modelo
dinámico mediante mı́nimos cuadrados recursivo, filtrado del modelo y estimación de
velocidad por el filtro de Euler. Las unidades de los parámetros se listan en la tabla 4.2.
4.4. Discusión de resultados 66

resultados en los que algunos parámetros tendı́an a valores negativos a medida que el
tiempo incrementaba. Más especı́ficamente, los parámetros correspondientes a la fricción
fueron los que presentaron dicho comportamiento. Una forma de implementar el método
de mı́nimos cuadrados recursivo es realizar la identificación, en primera instancia, de los
parámetros correspondientes a la fricción y posteriormente realizar la identificación de los
parámetros restantes considerando a los coeficientes de fricción, previamente identificados,
como conocidos. En el siguiente capı́tulo se presenta el caso de estudio de este esquema
de identificación.
En conclusión, los resultados obtenidos por el método de mı́nimos cuadrados re-
cursivo implementado en linea no resultan confiables para la estimación de los parámetros
del modelo dinámico del robot experimental. Por lo tanto, se considera que los parámetros
estimados mediante la estrategia de identificación de mı́nimos cuadrados ponderado y fil-
trado del modelo dinámico son lo suficientemente cercanos a los valores de los parámetros
reales, lo cual pudo ser demostrado por medio de las comparaciones entre experimento y
simulación de la sección 4.3.4.
Capı́tulo 5

Caso de estudio de identificación


usando mı́nimos cuadrados recursivo

5.1. Introducción
Como se pudo observar de los resultados obtenidos en el capı́tulo anterior, los
parámetros correspondientes a la fricción de cada articulación son los parámetros en los
cuales se tiene más incertidumbre. Además, los parámetros correspondientes a la fricción
son independientes entre si, esto es, los parámetros de fricción son caracterı́sticos de
cada articulación y son linealmente independientes de los parámetros de inercia, por lo
tanto, pueden ser estimados individualmente para cada articulación. Como se explica en
la sección 4.2.2 una de las estrategias presentada en la literatura es realizar la estimación
de los parámetros correspondientes a la fricción por separado de la estimación de los
parámetros correspondientes a la inercia. Una vez identificados los parámetros de fricción
estos se consideran como conocidos para realizar la estimación de los parámetros de inercia.
Este esquema de identificación es implementado utilizando el algoritmo de mı́ni-
mos cuadrados recursivo lo cual permitirá estudiar otro caso de estudio para la identifica-
ción por medio de este algoritmo y considerar otra estrategia de identificación buscando
mejores resultados en la identificación que los obtenidos en el capı́tulo anterior con res-

67
5.2. Identificación de los parámetros de fricción 68

pecto a la implementación en linea de la identificación por mı́nimos cuadrados recursivo,


filtrado del modelo dinámico y estimación de velocidad por el filtro de Euler. Cabe men-
cionar que la implementación de la estimación por mı́nimos cuadrados recursivo en linea
tiene la desventaja de no poder realizarse el filtrado de adelante y atrás de la posición
para la estimación de velocidad. Esto lleva a implementar la obtención de la estimación
de velocidad por medio del filtro de Euler. Lo anterior resulta en una velocidad estimada
más ruidosa que la que se puede obtener por los métodos fuera de linea, lo cual resulta
en una estimación menos confiable de los parámetros. Debido a esto, en este esquema de
identificación, se utiliza una señal de voltaje definida que es aplicada al robot para realizar
la estimación de los parámetros.
En este capı́tulo se presenta inicialmente la estimación de fricción para cada arti-
culación del robot, posteriormente se presenta la estimación de los parámetros de inercia
del robot considerando que los parámetros de fricción de cada articulación son conocidos.
Finalmente, la validación del modelo estimado es realizada por medio de experimentos y
simulaciones de control de seguimiento.

5.2. Identificación de los parámetros de fricción

Debido a que el robot experimental es de accionamiento directo, la fricción se


debe a los motores de C.D. Siendo ası́, se realizó la identificación del modelo dinámico de
cada motor.

5.2.1. Modelo del motor

El comportamiento de un motor en cuanto a la relación entre el voltaje aplicado


al mismo y la velocidad de giro de su eje puede representarse mediante una ecuación
diferencial [12], [27]:

J q̈ + fv q̇ + fs (q̇) = km u, (5.1)
5.2. Identificación de los parámetros de fricción 69

donde q̇ ∈ IR es la velocidad angular del eje del motor, km > 0 una constante de conversión
de voltaje a torque, u el voltaje aplicado al motor, J > 0 la inercia del eje del motor,
fv > 0 el coeficiente de fricción viscosa del eje del motor y fs (q̇) la función de fricción seca
del eje del motor definida por

f
s1 tanh(β q̇), q̇ ≥ 0,
fs (q̇) = (5.2)
f tanh(β q̇), q̇ < 0,
s2

donde fs1 > 0, fs2 > 0 son los coeficientes de fricción seca suave y β > 0 es un parámetro
fijo. La ecuación (5.1) se puede reescribir como

J¯q̈ + f¯v q̇ + f¯s (q̇) = u, (5.3)

donde la barra sobre las constantes denota la multiplicación por el inverso de la constante
−1
de conversión de voltaje a torque km .

Modelo del motor en su forma de regresión

Midiendo apropiadamente los estados de un sistema fı́sico, como el caso de un


motor de C.D. modelado por la ecuación (5.3), éste puede ser parametrizado linealmente
con respecto a sus parámetros constantes. Utilizando la definición de la fricción seca (5.2),
la ecuación (5.3) puede expresarse en su forma de regresión como

u = φT (q̇, q̈)θ, (5.4)

donde
h iT
φ(q̇, q̈) = q̈ q̇ f1 (q̇) f2 (q̇) ∈ IR4 (5.5)

es el vector de funciones conocidas de la velocidad y aceleración del motor donde se tiene


que 
 f¯ tanh(β q̇), q̇ ≥ 0,
s1
f1 (q̇) = (5.6)
 0, q̇ < 0,
y 
 0, q̇ ≥ 0,
f2 (q̇) = (5.7)
 f¯ tanh(β q̇), q̇ < 0.
s2
5.2. Identificación de los parámetros de fricción 70

Ası́ mismo, θ ∈ IR4 es el vector de parámetros constantes, esto es,

h iT
θ = J¯ f¯v f¯s1 f¯s2 . (5.8)

Filtrado del modelo del motor

La aceleración q̈ está presente en la ecuación (5.4). Por lo tanto, para realizar la


estimación del vector θ del modelo del motor es necesario la medición o estimación de la
aceleración q̈ ∈ IR. Para evitar esta situación, se plantea el filtrado el modelo dinámico de
regresión (5.4) del motor mediante el filtro pasabajas definido en la ecuación (4.8) para
la implementación del esquema de identificación. Este filtro se aplica en ambos lados del
modelo de regresión (5.4). Por lo tanto, el modelo dinámico de regresión filtrado del motor
puede ser escrito como

uf = φTf (q̇)θ, (5.9)

donde

uf = f (s)u, (5.10)

φf (q̇) = f (s)φ(q̈, q̇), (5.11)

donde el vector de regresión filtrado se puede expresar como

h iT
φTf (q̇) = f (s) sq̇ q̇ f1 (q̇) f2 (q̇) . (5.12)

Siguiendo la discusión de la sección 4.2.3, es posible demostrar que con la implementación


de las ecuaciones (5.10)-(5.11), la medición de la aceleración q̈ ∈ IR es evitada. Para fines
de experimentación, los filtros f1 (s) = f (s) y f2 (s) = sf (s) son implementados en su
1−e−T λ λ[z−1]
forma discreta como fd1 (z) = z−e−T λ
y fd2 (z) = z−e−λT
, respectivamente. Ver discusión
de la sección 4.3.1.
5.2. Identificación de los parámetros de fricción 71

5.2.2. Aplicación del método a la identificación de un motor de


C.D.

Usando la ecuación (5.9), y considerando que se realizan mediciones discretas de


la entrada de voltaje u(k), la posición angular q(k), y se realiza la estimación de velocidad
angular q̇(k) mediante al filtro de Euler, el modelo dinámico de regresión filtrado puede
expresarse de la forma
uf (k) = φTf (q̇(k))θ̂, (5.13)

donde uf (k) se obtiene de (5.10), φTf (q̇(k)) de (5.11) y k es el tiempo discreto. Es convenien-
te notar que la ecuación (5.13) tiene la estructura del modelo entrada-salida generalizado
(2.1).
De las ecuaciones (2.25)-(2.27), que definen el algoritmo de mı́nimos cuadrados
recursivo, y de la ecuación (5.13) que define el modelo entrada-salida del motor, se obtienen
las ecuaciones del algoritmo para la identificación de los parámetros del modelo dinámico
de regresión filtrado del motor las cuales son

−1
R(k)=P (k − 1)φf (q̇(k)) 1 + φTf (q̇(k))P (k − 1)φf (q̇(k))

, (5.14)

P (k)=P (k − 1) − R(k)φTf (q̇(k))P (k − 1), (5.15)


h i
T
θ̂(k)= θ̂(k − 1) + R(k) uf − φf (q̇(k))θ̂(k − 1) , (5.16)

donde θ̂(k) es el vector de parámetros estimados definido como


h iT
θ̂ = Jˆ fˆv fˆs1 fˆs2 , (5.17)

el cual denota la estimación de vector de parámetros [J¯ f¯v f¯s1 f¯s2 ]T .

5.2.3. Identificación del motor de la articulación 1

Para la implementación de la estimación de los parámetros del modelo del motor


de la primera articulación se empleo una señal senoidal de excitación de voltaje definida
5.2. Identificación de los parámetros de fricción 72

Tabla 5.1: Parámetros estimados de lo motores de las articulaciones del robot mediante
mı́nimos cuadrados recursivo.
Parámetro Unidades Motor 1 Motor 2
Jˆ Kg-m-volt/[N-rad] 0.0367 0.0167
fˆv Volt-seg/rad 0.0077 0.0033
fˆs1 Volt 0.0363 0.0738
fˆs2 Volt 0.0247 0.0098

como
u(t) = 0.7 sen(ω1 t) [volt], (5.18)

donde ω1 = 1.5π [rad/seg]. Además, se utilizó la condición inicial del algoritmo de mı́nimos
cuadrados recursivo P (0) = (1/0.001)I con I ∈ IR4×4 la matriz identidad. Ası́ mismo, un
valor de λ = 50 [rad/seg] de la frecuencia de corte del filtro (4.8) El experimento de
identificación fue realizado en un periodo de 30 segundos. La evolución temporal de la
estimación de los parámetros del modelo del motor de la articulación 1 se muestran en la
figura 5.1. Ası́ mismo, en la tabla 5.1 se presentan los valores de los parámetros estimados
arrojado el término del experimento de identificación.

5.2.4. Identificación del motor de la articulación 2

Para la estimación de los parámetros del motor de la segunda articulación se


empleó una señal senoidal de voltaje de

u(t) = 0.8 sen(ω2 t) [volt], (5.19)

donde ω2 = 2π [rad/seg]. Se realizó la identificación bajo las mismas condiciones que se


utilizaron en el motor 1, esto es P (0) = (1/0.001)I con I ∈ IR4×4 una matriz identidad
y un valor de λ = 50 [rad/seg] de frecuencia de corte del filtro. El experimento tuvo una
duración de 30 segundos. Los resultados del experimento de identificación son presentados
en la tabla 5.1 que contiene los valores de los parámetros estimados obtenidos al término
del experimento y en la figura 5.2 se presenta la evolución temporal de la estimación de
los parámetros estimados del modelo del motor 2.
5.2. Identificación de los parámetros de fricción 73

Jˆ fˆv
0.045 0.015

[Kg-m-volt/N-rad]

[Volt-seg/rad]
0.04 0.01

0.035 0.005

0.03 0

fˆs1 fˆs2
0.1

0.08 0.04

0.06
[Volt]

[Volt]
0.02
0.04

0.02 0

0
0 10 20 30 0 10 20 30
Tiempo [seg] Tiempo [seg]

ˆ fˆv , fˆs1 y fˆs2 del


Figura 5.1: Evolución temporal de la estimación de los parámetros J,
modelo del motor de la articulación 1.

Jˆ fˆv
0.02 0.01
[Kg-m-volt/N-rad]

0.008
[Volt-seg/rad]

0.018
0.006

0.004
0.016
0.002

0.014 0

fˆs1 fˆs2
0.06

0.1 0.04
[Volt]

[Volt]

0.02
0.05
0

0 −0.02
0 10 20 30 0 10 20 30
Tiempo [seg] Tiempo [seg]

ˆ fˆv ,fˆs1 y fˆs2 del


Figura 5.2: Evolución temporal de la estimación de los parámetros J,
modelo del motor de la articulación 2.
5.3. Identificación del modelo dinámico del robot conociendo la fricción 74

5.3. Identificación del modelo dinámico del robot co-


nociendo la fricción
En esta sección se presenta la identificación de los parámetros de inercia del robot
considerando los coeficientes de fricción como conocidos los cuales son los obtenidos para
cada uno de los dos motores de las articulaciones en la sección anterior.

5.3.1. Modelo del robot

Como se mencionó en la sección 4.2.2 la identificación puede llevarse a cabo,


primero, estimando los parámetros de fricción de los motores de C.D. de las articulaciones,
lo que se realizó en la sección 5.2.3. Segundo, para realizar la identificación del modelo
dinámico del robot se considera el modelo nominal del robot obtenido en la ecuación
(3.73). En este modelo se considera la dinámica de la fricción como conocida de tal forma
que se obtiene un modelo resultante con sólo la dinámica de inercia. Una vez identificados
los coeficientes de fricción, se procede a identificar los parámetros de inercia del robot, esto
es, parámetros θ1 -θ6 del modelo (3.73). Para obtener un modelo en el cual no esté presente
la aceleración articular q̈ se utiliza el modelo dinámico de regresión filtrado del modelo
nominal, el cual puede ser escrito como

uf i = Ωf i (q, q̇)θai , (5.20)

donde i = 1, 2, θai ∈ IR3 son los vector de parámetros a identificar del modelo del robot,

uf i = f (s)uni ∈ IR, (5.21)

es el voltaje filtrado de cada articulación, f (s) es el filtro pasabajas definido en la ecuación


(4.8) y
uni = ui − fˆvi q̇i − fs (q̇i ), (5.22)

con fˆvi los coeficientes de fricción estimados de los motores y fs (q̇i ) la función de fricción
seca definida en (5.2) evaluada para q̇1 con los coeficientes de fricción seca estimados del
5.3. Identificación del modelo dinámico del robot conociendo la fricción 75

motor 1 y para q̇2 con los coeficientes de fricción seca estimados del motor 2, los cuales se
encuentran listados en la tabla 5.1. Ası́ mismo,

Ωf i (q, q̇) = f (s)Ωi (q, q̇, q̈) ∈ IR3 , (5.23)

donde los elementos del vector de regresión filtrado Ωf 1 (q, q̇) de la articulación 1 son

ω11 = sf (s)q̇1 ,
ω12 = sf (s) cos(q2 )[2q̇1 + q̇2 ], (5.24)

ω13 = sf (s)q̇2 , (5.25)

y los elementos del vector de regresión filtrado Ωf 2 (q, q̇) de la articulación 2 son

ω21 = sf (s)q̇1 ,
ω21 = sf (s) cos(q2 )q̇1 + f (s) sen(q2 )q̇12 + f (s) sen(q2 )q̇1 q̇2 , (5.26)

ω23 = sf (s)q̇2 . (5.27)

5.3.2. Algoritmo de identificación

Con el modelo de regresión nominal del robot definido en la ecuación (5.20), y


considerando que se realizaron mediciones discretas de la entrada de voltaje ui (k) ∈ IR, la
posición articular q(k) ∈ IR2 y el uso del filtro de Euler para estimar la velocidad articular
q̇i (k) ∈ IR2 , es posible representar el modelo dinámico filtrado del robot en forma discreta
como
uf i (k) = Ωf i (q(k), q̇(k))θai , (5.28)

donde uf i (k) ∈ IR se obtiene de (5.21), Ωf i (q(k), q̇(k)) ∈ IR3 de (5.23) y k denota el tiempo
discreto. De tal forma que, de las ecuaciones (2.25)-(2.27), que definen el algoritmo de
mı́nimos cuadrados recursivo, y de la ecuación (5.28), que define el modelo entrada-salida
del robot, se obtienen las ecuaciones del algoritmo para la identificación de los parámetros
del modelo dinámico de regresión filtrado del robot. Estas ecuaciones resultantes son las
ya presentadas en las ecuaciones (4.39)-(4.41), definidas para la identificación del robot en
5.3. Identificación del modelo dinámico del robot conociendo la fricción 76

Figura 5.3: Diagrama del esquema de identificación de mı́nimos cuadrados recursivo con-
siderando la fricción del robot como conocida.

el capı́tulo anterior, salvo que, para la implementación de este esquema de identificación


se tiene que los vectores de regresión Ωf i ∈ IRpi y los vectores de parámetros θai ∈ IRpi
son de dimensiones tales que p1 = p2 = 3. Ası́ mismo, se utiliza una señal senoidal de
voltaje que se aplica a el robot definda como

 
sen(ω1 t)
u(t) =   [volt], (5.29)
sen(π + ω2 t)

donde ω1 = 2.4π [volt/seg] y ω2 = 6π [volt/seg]. En la figura 5.3 se presenta un diagrama


esquemático de la implementación de este proceso de identificación del robot. Para la
implementación de este algoritmo se utilizaron las condiciones iniciales de θ̂ai = 0 ∈ IR3
y Pi (0) = (1/0.001)I con I ∈ IR3×3 la matriz identidad y una frecuencia de corte λ = 50
[rad/seg] del filtro (4.8).

Los resultados de la evolución temporal de la estimación de los parámetros de


inercia del robot se pueden observar en la figura 5.4. Además, los valores numéricos de los
parámetros estimados arrojados al término del experimento de identificación, parámetros
θ̂1 − θ̂6 , son presentados en la tabla 5.2 ası́ como los parámetros correspondientes a la
fricción de las articulaciones del robot, parámetros θ̂7 − θ̂12 .
5.3. Identificación del modelo dinámico del robot conociendo la fricción 77

Tabla 5.2: Parámetros estimados θ̂1 -θ̂6 del robot utilizando mı́nimos cuadrados recursivo
considerando los parámetros de fricción θ̂7 -θ̂12 de las articulaciones como conocidos.
Parámetro Unidades Estimación
θ̂1 Kg-m-volt/[N-rad] 0.0465
θ̂2 Kg-m-volt/[N-rad] 0.0020
θ̂3 Kg-m-volt/[N-rad] 0.0024
θ̂4 Kg-m-volt/[N-rad] 0.0148
θ̂5 Kg-m-volt/[N-rad] 0.0123
θ̂6 Kg-m-volt/[N-rad] 0.0164
θ̂7 Volt-seg/rad 0.0077
θ̂8 Volt 0.0363
θ̂9 Volt 0.0247
θ̂10 Volt-seg/rad 0.0033
θ̂11 Volt 0.0738
θ̂12 Volt 0.0098

θ̂1 θ̂2
[Kg-m-volt/N-rad]
[Kg-m-volt/N-rad]

0.08 0.004
0.06 0.003
0.04 0.002
0.02 0.001
0 0

θ̂3 θ̂4
[Kg-m-volt/N-rad]

[Kg-m-volt/N-rad]

0.03
0.004
0.02

0.002
0.01

0 0

θ̂5 θ̂6
[Kg-m-volt/N-rad]

[Kg-m-volt/N-rad]

0.03
0.02
0.02

0.01
0.01

0 0
0 10 20 30 40 0 10 20 30 40
Tiempo [seg] Tiempo [seg]

Figura 5.4: Evolución temporal de la estimación de los parámetros θˆ1 − θˆ6 del modelo
dinámico utilizando mı́nimos cuadrados recursivo y considerando como conocida la fricción
del robot.
5.4. Validación de los parámetros estimados del robot 78

5.4. Validación de los parámetros estimados del ro-


bot

Igual que en la sección 4.3.4, se siguieron dos enfoques para realizar la validación
de la estimación de los parámetros del modelo del robot. En ambos enfoques se realiza-
ron experimentos y simulaciones de control de seguimiento de trayectorias definidas en el
espacio articular, cuya trayectoria deseada qd (t) está definida en la ecuación (4.43). En el
primero enfoque se implementa un control PD, el cual está definido en la ecuación (4.31),
donde el modelo identificado del robot es utilizado para la simulación de la dinámica del
robot. En el segundo enfoque, se implementa el controlador PD con precompensación. De
tal forma que, en el experimento se implementó la precompensación utilizando el mode-
lo estimado y en la simulación se utilizó el modelo estimado, tanto en la dinámica del
robot como en la precompensación del controlador. Este controlador está definido en la
ecuación (4.42). Para ambos controladores se utilizan las ganancias de control propor-
cional y derivativa con valores de Kp = diag {5, 5} [Volt/rad] y Kv = diag {0.25, 0.25},
respectivamente.
Para realizar la validación se comparan los voltajes de control muestreados de los
experimentos con los obtenidos por medio de simulación. Estas comparaciones se pueden
observar en las figuras 4.3 y 4.5. Ası́ mismo, en las figuras 4.4 y 4.6 se muestran los error
de posición articular para ambos controladores, tanto en simulación como en experimento.

5.5. Discusión de resultados

Se puede observar que los parámetros estimados a través de la estrategia de


identificar en primera instancia los parámetros de fricción no resultan parámetros con
valores negativos como los obtenidos en la sección 4.3.5, cuando se trataron de identificar
simultáneamente todos los parámetros. Por lo cual, para este robot fue conveniente iden-
tificar en primera instancia la fricción y luego los demás parámetros del robot. Como se
5.5. Discusión de resultados 79

Voltaje de control
4

u1 [volt] 0

−2
Exp. Sim.
−4

2
u2 [volt]

−2
Exp. Sim.
−4
0 2 4 6 8 10
Tiempo [seg]

Figura 5.5: Voltaje de control de simulación y experimento utilizando controlador PD y


parámetros estimados de la identificación conociendo la fricción.

Error de posición

0.5
q̃1 [rad]

−0.5
Exp. Sim.

0.5
q̃2 [rad]

−0.5
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]

Figura 5.6: Error de posición de simulación y experimento utilizando controlador PD y


parámetros estimados de la identificación conociendo la fricción.
5.5. Discusión de resultados 80

Voltaje de control
4

u1 [volt] 0

−2
Exp. Sim.
−4

2
u2 [volt]

−2
Exp. Sim.
−4
0 2 4 6 8 10
Tiempo [seg]

Figura 5.7: Voltaje de control de simulación y experimento utilizando controlador PD con


precompensación y parámetros estimados de la identificación conociendo la fricción.

Error de posición
0.3 Exp. Sim.
0.2
q̃1 [rad]

0.1

−0.1

Exp. Sim.
0.2
q̃2 [rad]

0.1

0 2 4 6 8 10
Tiempo [seg]

Figura 5.8: Error de posición de simulación y experimento utilizando controlador PD con


precompensación y parámetros estimados de la identificación conociendo la fricción.
5.5. Discusión de resultados 81

puede observar de los resultados para el controlador PD, los errores de posición y voltajes
de control obtenidos por simulación y experimento pueden considerarse muy similares.
Sin embargo, la comparación de los resultados de la simulación y experimento con el
controlador PD con precompesanción no resultan tan similares. Además, la desventaja
de la implementación de este esquema de identificación es el mayor número de experi-
mentos que se tienen que realizar. Especı́ficamente, se tienen que realizar experimentos
de identificación para estimar la fricción de cada motor y luego hacer un experimento de
identificación para estimar los parámetros asociados a la matriz de inercia y a la matriz de
Coriolis. Esto conlleva un mayor tiempo de procesamiento de datos. Además, el método
de identificación se vuelve más complicado conforme se tengan más grados de libertad en
el robot.
Capı́tulo 6

Control de robots basado en modelo

6.1. Introducción

Los modelos de los sistemas son una herramienta básica en el control moderno.
Contar con modelos explı́citos es una necesidad para varios de los métodos modernos de
control. Ası́ mismo, los modelos son requeridos para el diseño de nuevos controladores.
En el control no lineal el modelo juega un rol aún más importante [11].

En este capı́tulo se implementarán algunos esquemas de control basados en mo-


delo. Esta implementación es realizada para cumplir el objetivo de la implementación del
modelo del robot, esto es, una vez conocido el modelo del robot, se implementan diferen-
tes esquemas de control en el robot manipulador experimental. Esto permite simular y
experimentar con nuevos esquemas de control como en [14], [28], ası́ mismo, para futuros
trabajos de investigación es importante contar con una plataforma de experimentación.
Con dicho propósito, en este capı́tulo se presenta la evaluación experimental de diversos
enfoques de control bien conocidos que han sido implementados en el robot manipula-
dor experimental. Especı́ficamente, los controladores implementados son el controlador
PD con precompensación [26], el controlador PD+ [29], y un controlador en el espacio
operacional usando solo mediciones de posición propuesto en [14].

82
6.2. Dinámica del robot 83

6.2. Dinámica del robot


El modelo dinámico del robot manipulador experimental definido por la ecuación
(3.44), que por conveniencia se repite aquı́, es

M̄ (q)q̈ + C̄(q, q̇)q̇ + F̄v q̇ + f¯s (q) = u, (6.1)

donde u ∈ IR2 denota los voltajes aplicados a los motores de las articulaciones, el sı́mbolo
barra denota la multiplicación por la inversa de la matriz diagonal que contiene las cons-
tantes de conversión de voltaje a torque K −1 . Considerando la ecuación (6.1), ası́ como
los parámetros identificados por el algoritmo de mı́nimos cuadrados ponderado obtenidos
en el capı́tulo 4, es posible representar M̄ (q) = K −1 M (q) ∈ IR2×2 , donde M (q) denota la
matriz de inercia, como
 
θ1 + 2θ2 cos(q2 ) θ3 + θ2 cos(q2 )
M̄ (q) =  , (6.2)
θ4 + θ5 cos(q2 ) θ6

C̄(q, q̇) = K −1 C(q, q̇) ∈ IR2×2 , donde C(q, q̇) denota la matriz de fuerzas centrifugas y de
Coriolis, como  
−θ2 sen(q2 )q̇2 −θ2 sen(q2 )[q̇1 + q̇2 ]
C̄(q, q̇) =  , (6.3)
θ5 sen(q2 )q̇1 0
F̄v = K −1 Fv ∈ IR2×2 , donde Fv es la matriz diagonal de los coeficientes de fricción viscosa,
como  
θ7 0
F̄v =  , (6.4)
0 θ10
y f¯s (q) = K −1 fs (q) ∈ IR2 , donde fs (q) el vector de la fricción seca suave asimétrica, dada
por   
 θ tanh(β q̇ ), q̇ ≥ 0,
8 1 1
 f¯s (q1 ) = 
  θ tanh(β q̇ ), q̇ < 0. 
 9 1 1 
¯
fs (q̇) = 



 (6.5)
  θ tanh(β q̇ ), q̇ ≥ 0, 
11 2 2
f¯s (q2 ) =
 

 θ tanh(β q̇ ), q̇ < 0.
12 2 2
6.3. Control en el espacio operacional 84

donde la fricción seca suave es definida en la ecuación (3.40) y los parámetros θ1 -θ12 son
los parámetros estimados por mı́nimos cuadrados ponderado que se encuentran en la tabla
4.1.

6.3. Control en el espacio operacional


Considérese h(q) : IRn → IRm como el mapeo del espacio articular definido en IRn
a el espacio operacional definido en IRm . La posición y orientación y ∈ IRm del efector
final está dado por
y(t) = h(q(t)), (6.6)

como se explica en la sección 3.6. El objetivo de control de movimiento en el espacio


operacional es
lı́m [yd (t) − y(t)] = 0, (6.7)
t→∞

donde yd ∈ IRm es la posición deseada en el espacio operacional. En particular, para el


robot manipulador experimental se tiene que n = m = 2. Para la implementación de los
esquemas de control se utiliza una trayectoria deseada definida en el espacio operacional.
Cuando el movimiento deseado está definido en el espacio operacional, es posible seguir
uno de los siguientes esquemas para controlar el robot [11]: el primero es cuando la ley de
control se diseña en el espacio operacional y el segundo es donde la trayectoria deseada
definida en el espacio operacional se transforma en una trayectoria deseada en el espacio
articular, entonces se implementa la ley de control definida en el espacio articular. Para la
implementación de los esquemas de control presentados en este capı́tulo se optará por el
segundo esquema. Por lo cual, primero se obtiene por análisis matemático la trasformación
de la trayectoria deseada definida en el espacio operacional yd ∈ IR2 a una trayectoria
deseada en el espacio articular qd ∈ IR2 . Considerando lo anterior, el objetivo de control
de los controladores presentados en este capı́tulo es

lı́m q̃ = 0, (6.8)
t→∞
6.4. Trayectoria deseada 85

donde

q̃ = qd (t) − q(t) (6.9)

denota el vector de errores de las posiciones articulares. Nótese que si se garantiza el lı́mite
(6.8) también se garantiza el lı́mite (6.7).

6.4. Trayectoria deseada

La trayectoria a seguir para todos los esquemas de control definida en el espacio


operacional es
  
ydc1 + r0 sen vr00 t
yd (t) =    [m], (6.10)
ydc2 + r0 cos vr00 t

donde los parámetros yd1c = 0.15 [m] y yd2c = 0 [m] son las coordenadas del centro de un
circulo, r0 = 0.05 [m] es el radio del circulo y v0 = 0.3 [m/seg] es la velocidad tangencial
a la cual se debe trazar el circulo.

Dado que esta trayectoria está definida en el espacio operacional, mediante análisis
matemático se obtiene una trayectoria en el espacio articular. Para ello se usa el modelo
cinemático inverso del robot obtenido en la sección 3.7.1. De tal forma, la trayectoria
deseada en el espacio articular está definida como

    
yd1 l2 sin(qd2 )
atan2 −y − atan2
qd (t) =  d2
 2 2 2 l1 +l 2
2 cos(qd2 )  [rad], (6.11)
y +y −l −l
cos−1 d1 2ld21 l2 1 2

donde l1 = 0.15 [m] y l2 = 0.15 [m] son las longitudes de los eslabones del robot que se
obtuvieron por medición. A partir de la definición de la posición deseada de la ecuación
(6.11), la definición de la velocidad articular q̇ ∈ IR2 y aceleración articular q̈ ∈ IR2 , en
las ecuaciones (3.97) y (3.98), respectivamente, se obtiene la definición de la velocidad y
6.5. Estrategias de control basadas en modelo 86

aceleración deseadas que resultan en


 
ẏd1
q̇d (t) = J −1 (qd )   , (6.12)
ẏd2
   
ẏd1 ÿd1
 
d
q̈d (t) = −J −1 (qd ) J(qd ) J −1 (qd )   + J −1 (qd )   . (6.13)
dt ẏd2 ÿd2

d
donde dt
[J(qd )] es la derivada temporal del Jacobiano definido en la ecuación (3.89) y
J −1 (qd ) es el inverso del Jacobiano definido en la ecuación (3.99).

6.5. Estrategias de control basadas en modelo


En las siguientes subsecciones se presenta una breve descripción de las diferentes
estrategias de control implementadas en el robot experimental.
Para todos lo esquemas de control se considera q̃ definido en la ecuación (6.9) y

q̃˙ = q̇d (t) − q̇(t), (6.14)

como los vectores de errores de posición y velocidad articular, respectivamente. Ası́ mismo,
Kp , Kd ∈ IR2×2 son las matrices de las ganancias proporcional y derivativa, respectiva-
mente, las cuales son matrices simétricas positivas definidas.

6.5.1. Control PD con precompensación

El controlador PD con precompensación consiste de un controlador PD con la


retroalimentación de la dinámica del robot calculada en la trayectoria deseada qd . Este
controlador definido en [26] se implementa para el robot como

u = Kp q̃ + Kd q̃˙ + M̄ (qd )q̈d + C̄(qd , q̇d )q̇d + F̄v q̇d + f¯s (q̇d ), (6.15)

donde los valores de las ganancias de control son Kp = diag {5, 5} [Volt/rad] y Kv =
diag {0.5, 0.5} [Volt seg/rad]. Esta estrategia de control necesita el conocimiento del sis-
6.5. Estrategias de control basadas en modelo 87

tema dinámico a controlar y especı́ficamente de la estructura de la matrices M̄ (q), C̄(q, q̇)


y de sus parámetros del modelo del robot.
El término precompensación en el nombre del controlador es consecuencia del
hecho de que la ley de control usa la dinámica del robot evaluada explicitamente en el
movimiento deseado [12].

6.5.2. Controlador PD+

El controlador PD+ es uno de los controladores más sencillos que pueden aplicarse
en el control de movimiento de robots manipuladores, con una garantı́a formal para el
cumplimiento del objetivo de control en forma global [12].
El controlador PD+ propuesto en [29] puede ser implementado para el robot como

u = Kp q̃ + Kd q̃˙ + M̄ (q)q̈d + C̄(q, q̇)q̇d + F̄v q̇ + f¯s (q̇), (6.16)

donde Kp = diag {5, 5} [Volt/rad] y Kv = diag {0.5, 0.5} [Volt seg/rad].


Como puede verse, la implementación de este controlador requiere de la trayec-
toria deseada ası́ como de sus velocidades y aceleraciones deseadas. Además, debe de
conocerse la estructura de las matrices M̄ (q) y C̄(q, q̇) y retroalimentar la posición y velo-
cidad articular del robot para obtener estas matrices a diferencia del controlador PD con
precompensación en el cual se evalúan ambas matrices en función de la posición deseada.

6.5.3. Controlador en el espacio operacional usando solo medi-


ciones de posición

Considerando que la entrada de control es el torque τ ∈ IRn , el controlador pro-


puesto en [14] esta definido por

˙ + F (ωd ) ,
τ = M (q)ω̇d? + C(q, ωd )ωd + g(q) + Kv tanh(ξ) (6.17)

ξ˙ = ωd − ϑ (6.18)
6.5. Estrategias de control basadas en modelo 88

donde Kv de n × n es una matriz diagonal definida positiva, ϑ ∈ IRn es la salida de


un filtro de primer orden, la velocidad deseada ωd es la salida del ciclo secundario de
retroalimentación y ω̇d? es la señal llamada aceleración precompensada que sólo depende
del tiempo t ∈ IR+ y de la posición articular q ∈ IRn . La señal ϑ del controlador (6.17)-
(6.18) se obtiene del filtro de primer orden

ẋ = tanh(ωd − ϑ) − ωd , (6.19)

ϑ = ωd + Ax + Aq, (6.20)

donde A = diag {a1 , . . . , an }. Ası́ mismo, se propone en [14] el controlador del espacio
operacional
ωd (t, q) = J(q)† [ẏd (t) + B tanh(ỹ)] , (6.21)

con B ∈ IRm×m una matriz definida positiva, J(q)† la seudoinversa del jacobiano y

ỹ(t) = yd (t) − y(t), (6.22)

denota el error de posición en el espacio operacional. Por lo tanto, la señal ω̇d? se define
como
˙ ωd )† [ẏd (t) + K tanh(ỹ)] + J(q,
ω̇d? = J(q, ˙ ωd )† [ÿd (t)] , (6.23)

˙ q̇)† = d
J(q)† es la derivada de la Pseudo-inversa del Jacobiano.
 
donde J(q, dt

Aplicando este nuevo controlador al robot manipulador experimental se obtiene

u = M̄ (q)ω̇d? + C̄(q, ωd )ωd + F̄v ωd + f¯s (ωd ) + Kv tanh(ξ),


˙ (6.24)

que es la implementación del controlador de velocidad de las ecuaciones (6.17)-(6.18),


donde Kv = diag {0.4, 0.4} [Volt seg/rad]. Con éste, se implemento el filtro (6.19)-(6.20)
y el controlador del espacio operacional deseado de las ecuaciones (6.21)-(6.23) con las
ganancias A = diag {1000, 1000} [1/seg] y B = diag {10, 15} [1/seg]. La condición inicial
para el filtro (6.19)-(6.20) fue de x(0) = [−0.7303 − 1.6901]T [rad], lo que implica que
ϑ(0) = 0.
6.6. Evaluación del desempeño 89

6.6. Evaluación del desempeño


La evolución temporal del error de posición refleja el desempeño de los controlado-
res. Para la evaluación del desempeño de los controladores implementados se adoptará el
criterio del valor de la norma de L 2 del error de seguimiento. Este valor es la raı́z cuadráti-
ca media, esto es, el valor RMS del error de posición de seguimiento de trayectorias que
se define como s Z tf
1
L [q̃(t)] =
2
kq̃(t)k2 dt [rad/seg]. (6.25)
tf 0

Para fines de la evaluación experimental, la implementación discreta del criterio (6.25) es


v
u tf /T
u1 X
L 2 [q̃(kT )] = t kq̃(kT )k2 T [rad/seg], (6.26)
tf k=0
donde tf denota el tiempo final de experimentación y T es el periodo de muestreo. El con-
trolador con un mejor desempeño es entonces en el cual se obtenga el valor más pequeño
para L 2 , lo cual representa un error de seguimiento menor. Para realizar una compara-
ción más justa de los esquemas de control se implementarán todos los controladores con
una duración de 10 segundos y se obtendrá el valor L 2 de cada esquema de control en
estado estacionario, de tal forma que solo se considerarán los últimos 5 segundos de los
experimentos para cada esquema de control.

6.7. Resultados experimentales


Para todos los experimentos se utiliza la posición inicial definida en el espacio
articular de q(0) = [0.733 1.693] [rad]. Esta posición inicial es seleccionada de tal forma
que se obtenga un error de posición en el espacio operacional de ỹ(0) = 0.
En las figuras 6.2-6.6 son presentados la evolución temporal de los errores de
posición articular y los voltajes aplicados usando el controlador PD con precompensación,
el controlador PD+ y el controlador en el espacio operacional usando solo mediciones de
posición, respectivamente. Ası́ mismo, en la figura 6.7 se muestra la comparación numérica
del valor L 2 obtenido para cada esquema de control.
6.7. Resultados experimentales 90

Error de seguimiento

0.05
q̃1 [rad]
0

−0.05

0.05
q̃2 [rad]

−0.05
0 2 4 6 8 10
Tiempo [seg]

Figura 6.1: Error de posición articular q1 (t) y q2 (t) del control PD con precompensanción.

Voltaje aplicado
1.5
1
0.5
u1 [volt]

0
−0.5
−1
−1.5

1.5
1
0.5
u2 [volt]

0
−0.5
−1
−1.5
0 2 4 6 8 10
Tiempo [seg]

Figura 6.2: Voltaje aplicado u1 (t) y u2 (t) del control PD con precompensación.
6.7. Resultados experimentales 91

Error de seguimiento

0.05
q̃1 [rad]
0

−0.05

0.05
q̃2 [rad]

−0.05
0 2 4 6 8 10
Tiempo [seg]

Figura 6.3: Error de posición articular q1 (t) y q2 (t) del control PD+.

Voltaje aplicado
1.5
1
0.5
u1 [volt]

0
−0.5
−1
−1.5

1.5
1
0.5
u2 [volt]

0
−0.5
−1
−1.5
0 2 4 6 8 10
Tiempo [seg]

Figura 6.4: Voltaje aplicado u1 (t) y u2 (t) del control PD+.


6.7. Resultados experimentales 92

Error de seguimiento

0.05

q̃1 [rad]
0

−0.05

0.05
q̃2 [rad]

−0.05
0 2 4 6 8 10
Tiempo [seg]

Figura 6.5: Error de posición angular q1 (t) y q2 (t) del controlador en el espacio operacional
usando solo mediciones de posición.

Voltaje aplicado
1.5
1
0.5
u1 [volt]

0
−0.5
−1
−1.5

1.5
1
0.5
u2 [volt]

0
−0.5
−1
−1.5
0 2 4 6 8 10
Time [seg]

Figura 6.6: Voltaje aplicado u1 (t) y u2 (t) del controlador en el espacio operacional usando
solo mediciones de posición.
6.7. Resultados experimentales 93

0.5 0.4728
0.4375

0.4 0.3866
[rad]

0.3

0.2

0.1

0
PDp PD+ Nuevo

Figura 6.7: Comparación del valor L 2 obtenido para los tres esquemas de control, PD
con precompesación (PDp), PD+ y el controlador en el espacio operacional usando solo
mediciones de posición (Nuevo).

Como se puede observar, fue posible realizar experimentos con controladores ba-
sados en el modelo del robot experimental para el cual se han implementado experimentos
de identificación paramétrica. Además fue posible implementar nuevos esquemas de con-
trol, como se puede consultar en [14] y [28]. El trabajo realizado en este sentido permite
pensar en futuros trabajos de investigación sobre el tema de control de robots que puede
ser complementada con evaluaciones experimentales realizadas en el sistema experimental
identificado.
Capı́tulo 7

Conclusiones y trabajo futuro

7.1. Conclusiones

Este trabajo de tesis presentó la teorı́a general sobre los métodos de identificación
clásicos: mı́nimos cuadrados, mı́nimos cuadrados ponderado y mı́nimos cuadrados recur-
sivo. Se obtuvo el modelo dinámico del robot experimental considerando la dinámica de
los motores de corriente directa que son los actuadores del robot. Ası́ mismo, se obtuvo
el modelo dinámico de regresión del robot para realizar el procedimiento de identifica-
ción del robot. Se detalló el procedimiento de identificación del robot manipulador y la
implementación de los algoritmos de identificación. La estimación de los parámetros del
modelo dinámico del robot permitió la simulación de la dinámica del robot de manera más
realista, lo que llevo a la implementación de esquemas de control basados en modelo y que
al mismo tiempo permitirá el diseño e implementación de nuevos esquemas de control.
Los resultados experimentales arrojados en este trabajo de tesis permiten conside-
rar que la estimación de los parámetros del modelo dinámico de robots es muy susceptible
a una mala estimación de la velocidad de las articulaciones del robot o a una mala lectura
de la misma. Ası́ mismo, se concluye que bajo circunstancias iguales en la obtención de los
datos y su adecuación para la estimación, como el filtrado de posición para la estimación
de la velocidad, se obtienen mejores resultados mediante mı́nimos cuadrados ponderado.

94
7.2. Trabajo futuro 95

Aunque, para la realización de la identificación en lı́nea fue posible implementar el algo-


ritmo de mı́nimos cuadrados recursivo, éste, por su misma implementación en linea, es
más susceptible a el ruido presente en la estimación de la velocidad.
No obstante, la principal conclusión es que la estimación paramétrica resulta
bastante buena si se utiliza

la estimación de la velocidad vı́a el procedimiento de filtrado de adelante y atrás,

el filtrado del modelo dinámico para evitar la estimación de la aceleración y

la implementación del método de mı́nimos cuadrados ponderado, tal como se pro-


pone en la sección 4.3.3.

Estos procedimientos constituyen la principal contribución del presente documento de


tesis.

7.2. Trabajo futuro


En el presente trabajo de tesis se abordaron métodos de identificación clásicos
basados en mı́nimos cuadrados para la estimación de los parámetros del modelo dinámico
del robot. Posibles extensiones de este trabajo son:

Realizar estudios sobre la optimización de trayectorias y mejoras para la estimación


de velocidad ası́ como en el proceso de filtrado.

Implementar estos esquemas de identificación sobre sistemas más complejos, como


lo son los robots manipuladores actuados por motores de C.D. con dinámica que no
puede ser despreciada.

La implementación de métodos de identificación a través de técnicas de algoritmos


genéticos.
Referencias

[1] J. Swevers, C. Ganseman, D. B. Tükel, J. D. Schutter, y H. V. Brussel, “Optimal ro-


bot excitation and identification,” IEEE Trans. on Robotics and Automation, vol. 13,
no. 5, pp. 730–740, 1997.

[2] K. Radkhah, D. Kulic, y E. Croft, “Dynamic parameter identification for the CRS
A460 robot,” en memorias del IEEE/RSJ International Conference on Intelligent
Robots and Systems, San Diego, CA, EUA, Noviembre 2007, pp. 3842–3847.

[3] G. Calafiore, M. Indri, y B. Bona, “Robot dynamic calibration: Optimal excitation


trajectories and experimental estimation,” Journal of Robotic Systems, vol. 18, no. 2,
pp. 55–68, 2001.

[4] F. Reyes y R. Kelly, “Experimental evaluation of identification schemes on a direct


drive robot,” Robotica, vol. 15, pp. 563–571, 1997.

[5] M. Gautier, “Dynamic identification of robots with power model,” en memorias del
IEEE International Conference on Robotics and Automation, Alburquerque, New
Mexico, Abril 1997, pp. 1922–1927.

[6] I. Landau, R. Lozano, y M. M’Saad, Adaptive Control. Londres: Springer-Verlag,


1998.

[7] E. Ikonen y K. Najim, Advanced Process Identification and Control. Nueva York:
Marcel Dekker, Inc., 2002.

96
Referencias 97

[8] L. Ljung, System Identification: Theory for the User, 2da ed. Englewood Cliffs, NJ:
Prentice Hall, 1999.

[9] S. Chan y H. Chen, “An efficient algorithm for identification of SCARA robot
parameters including drive characteristics,” en memorias del 25th Annual Conference
of the IEEE Ind. Elect. Society, vol. 2, San Jose, CA, USA, Nov 1999, pp. 1014–1019.

[10] M. Gautier y P. Poignet, “Extended kalman filtering and weightes least square dy-
namic identification of robot,” Control Engineering Practice, vol. 9, pp. 1361–1372,
2001.

[11] W. Khalil y E. Dombre, Modeling, Identification and Control of Robots, 3ra ed. Bris-
tol, PA, USA: Taylor & Francis, Inc., 2002.

[12] R. Kelly, V. Santibáñez, y A. Lorı́a, Control of Robot Manipulators in Joint Space.


Springer-Verlag, Londres, 2005.

[13] L. M. Capisani, A. Ferrara, y L. Magnani, “MIMO identification with optimal expe-


riment design for rigid robot manipulators,” en memorias del IEEE/ASME Interna-
tional Conference on Advanced Intellegent Mechatronics, Zurich, Suecia, Septiembre
2007.

[14] J. Moreno-Valenzuela y E. Orozco-Manrı́quez, “A new operational space trajectory


tracking controller for manipualtors by using position measurenments,” en memorias
del 2009 American Control Conference, St. Louis, MO, USA, Junio 2009, pp. 2867–
2872.

[15] K. J. Åström y K. Wittenmark, Computer Controlled Systems: Theory and Design.


Prentice Hall Inc., Englewood Cliffs, New Jersey, 1990.

[16] S. Sastry y M. Bodson, Adaptive Control: Stability, Convergence, and Robustness.


Upper Saddle River, NJ, USA: Prentice Hall, 1989.
Referencias 98

[17] D. Ratkowsky, Nonlinear Regression Modeling: A Unified Practical Approach. Marcel


Dekker, Inc., New York, 1983.

[18] P. Albertos y A. Salas, Iterative Identification and Control: Advances in Theory and
Applications. Secaucus, NJ, USA: Springer-Verlag New York, 2002.

[19] J. M. Hollerbach, W. Khalil, y M. Gautier, “Model identification,” en Springer Hand-


book of Robotics, B. Siciliano y O. Khatib, Eds. Berlin, Heidelberg: Springer, 2008,
pp. 321–344.

[20] L. Sciavicco y B. Siciliano, Modelling and Control of Robot Manipulators, 2da ed.
Londres: Springer-Verlag, 2000.

[21] M. W. Spong, S. Hutchinson, y M. Vidyasagar, Robot Modelling and Control. New


York: Wiley, 2005.

[22] S. K. Mitra, Digital Signal Processing: A Computer-Based Approach, 2da ed.


McGraw-Hill Higher Education, 2001.

[23] G. Liu, Iagnemma, S. Dubowsky, y G. Morel, “A base force/torque sensor approach


to robot manipualtors inertial parameter estimation,” en memorias del IEEE Inter-
national Conference on Robotics and Automation, 1998.

[24] R. C. Dorf y R. H. Bishop, Modern Control Systems. Menlo Park, California:


Addison Wesley, 1998.

[25] A. Vivas, P. Poignet, F. Marquet, y F. P. M. Gautier, “Experimental dynamic identifi-


cation of a fully parallel robot,” en memorias del 2003 IEEE International Conference
on Robotics and Automation, vol. 3, Taipei, Taiwan, 2003, pp. 3278–3283.

[26] C. H. An, C. G. Atkeson, y J. M. Hollerbach, Model-based control of a robot mani-


pulator. Cambridge, MA, USA: MIT Press, 1988.

[27] K. Ogata, Ingenierı́a de Control Moderna, 4ta ed. Madrid: Pearson Educación, 2003.
Referencias 99

[28] J. Moreno-Valenzuela y E. Orozco-Manrı́quez, “A new approach to motion control of


robot torque-contrained manipulators by using time-scaling of reference trajectories,”
Journal of Mechanical Science and Technology, Aceptado para publicación.

[29] P. B. y P. R., “Globally asymptotically stable PD+ controller for robot manipula-
tors,” International Journal of Control, vol. 47, no. 6, pp. 1697–1712, 1988.

[30] K. J. Åström, Introduction to Stocastic Control Theory. Academic Press, NY, 1970.

[31] K. J. Åström y B. Wittenmark, Adaptive Control, 2da ed. Boston, MA, USA:
Addison-Wesley, 1995.

[32] O. Nelles, Nonlinear System Identification. Heidelberg, Berlin, Germany: Springer-


Verlag, 2001.

[33] J. C. Basilio y M. V. Moreira, “State-space parameter identification in a second


control laboratory,” IEEE Trans. on Education, vol. 47, no. 2, pp. 204–210, 2004.

[34] B. Bona y A. Curatella, “Identification of industrial robot parameters for advan-


ced model controllers design,” en IEEE International Conference on Robotics and
Automation, Barcelona, España, Abril 2005, pp. 1681–1686.

[35] G. C. Chiu y M. Tomizuka, “Contouring control of machine tool feed drive systems:
A task coordinate frame approach,” IEEE Trans. on Control Systems Technology,
vol. 9, no. 1, pp. 130–131, 2000.

[36] J. J. Craig, Introduction to Robotics, Mechanics and Control, 2da ed. Boston, MA:
Addison-Wesley, 1989.

[37] P. M. Embre y D. Daniele, C++ Algorithms for Digital Signal Processing, 2da ed.
Upper Saddle River, NJ, USA: Prentice Hall, 1998.

[38] G. F. Franklin, J. D. Poweel, y M. Workman, Digital Control of Dynamic Systems,


3ra ed. Boston, MA, USA: Addison-Wesley Longman Publishing, 1998.
Referencias 100

[39] H. K. Khalil, Nonlinear Systems, 2da ed. Upper Saddle River, NJ: Prentice-Hall,
1996.

[40] D. Kostić, B. Jager, y M. Steinbuch, “Modeling and identification for robot motion
control,” en Robotics and Automation Handbook, T. R. Kurfess, Ed. Boca Raton,
Florida: CRC Press, 2005, pp. 14.1–14.26.

[41] F. Reyes y R. Kelly, “Experimental evaluation of model-based controllers on a direct


drive robot arm,” Mechatronics, vol. 11, pp. 267–282, 2001.
Apéndice A

Aproximación de la derivada
temporal de una señal discreta

Sean p1 y p2 números naturales, esto es, p1 , p2 ∈ {1, 2, . . . ∞} y considere las


funciones

Q1 (z −1 ) = 1 + z −1 + z −2 + . . . + z −p1 , (A.1)

Q2 (z −1 ) = 1 + z −1 + z −2 + . . . + z −p2 . (A.2)

Defı́nase

Q1 (z −1 ) 1 h i
q̄(kT ) = q(kT ) = q(kT ) + q([k − 1]T ) + . . . + q([k − p1 ]T ) , (A.3)
p1 + 1 p1 + 1

donde q(kT ) es la posición angular muestreada a un periodo T y siendo k el número de


la muestra discreta. En la ecuación (A.3), q̄(kT ) es la posición angular promediada en las
últimas p1 + 1 muestras. La derivada temporal de la posición se obtiene a partir de la
posición promediada resultando en

q̄(kT ) − q̄([k − 1]T )


v(kT ) = ,
T
Q1 (z −1 ) − z −1 Q1 (z −1 ) 1 − z −(p1 +1)
   
= q(kT ) = q(kT ). (A.4)
[p1 + 1] T [p1 + 1] T

101
102

Diagrama de Bode
150
d(s)
100 D(z −1 )
Magnitud [dB]
50

−50

−100

−150

180
Fase [grad]

−180

−360

−540
1 2 3 4
10 10 10 10
Frecuencia [rad/seg]

Figura A.1: Diagrama de Bode del operador diferencial d(s) = s y del filtro discreto
D(z −1 ) el cual aproxima d(s) en el dominio discreto.

De la misma forma, se obtiene la velocidad promediada en las últimas p2 + 1


muestras, de tal manera que

Q2 (z −1 )
v̄(kT ) = v(kT ),
[p2 + 1]
Q2 (z −1 ) 1 − z −(p1 +1)
  
= q(kT ),
[p2 + 1] [p1 + 1] T
= D(z −1 )q(kT ). (A.5)

Para ejemplificar la obtención de la derivada obtenida por este medio, se compara


el diagrama de Bode de d(s) = s que denota la función de transferencia de la derivada,
con el filtro para la obtención de velocidad D(z −1 ) donde p1 = p2 = 4. De tal forma que
las ecuaciones (A.1)-(A.2) resultan en

Q1 (z −1 ) = 1 + z −1 + z −2 + +z −3 + +z −4 , (A.6)

Q2 (z −1 ) = 1 + z −1 + z −2 + +z −3 + +z −4 , (A.7)
103

y considerando la ecuación (A.5) para la obtención de la velocidad promediada se tiene


que
Q2 (z −1 ) 1 − z −5
  
−1
v̄(kT ) = D(z )q(kT ) = q(kT ). (A.8)
25 T
En la figura A.1 se puede observar el diagrama de Bode de la variable de Laplace
s y del filtro obtenido en la ecuación (A.8) con periodo de muestreo de T = 0.001 [seg].
Como se puede observar, el filtro resulta adecuado para la estimación de velocidad para
un determinado rango de frecuencias. Para la aplicación de este filtro es necesario que la
posición q(kT ) tenga un contenido de bajas frecuencias para obtener una estimación lo
suficientemente adecuada. Este método de obtención de la derivada es el utilizado en esta
tesis en todos los experimentos de control para los cuales es necesario la retroalimentación
de velocidad articular del robot experimental, esto es, se considera que

q̇(kT ) ≈ v̄(kT ), (A.9)

donde q̇(kT ) ∈ IRn es la velocidad angular de las n articulaciones del robot.


Apéndice B

Trigonometrı́a

B.1. Función arco tangente de dos argumentos

El dominio de la función tangente inversa es de (−π/2, π/2). Para expresar los


ángulos en rango completo es útil definir la llamada función arco tangente de dos argu-
mentos, atan2(x,y), la cual está definida, para todo x 6= 0, y 6= 0 y es igual a un ángulo
único ρ tal que
x y
cos(ρ) = 1 , sen(ρ) = 1 . (B.1)
(x2 + y 2 ) 2 (x2 + y 2 ) 2

Esta función usa el signo de x y y para determinar el cuadrante adecuado para el ángulo ρ.
Por ejemplo, atan2(1, −1) = − π4 , mientras que atan2(−1, 1) = + 3π
4
. Nótese que si x = 0
y y = 0 entonces la función es indefinida.

B.2. Ley de los cosenos

Si un triángulo tiene lados a, b, y c y ρ es el ángulo opuesto a el lado de longitud


c, entonces

c2 = a2 + b2 + 2ab cos(θ). (B.2)

104
B.3. Identidades trigonométricas 105

B.3. Identidades trigonométricas

cos(θ)2 + sen(θ)2 = 1 (B.3)

B.3.1. Identidades de ángulos dobles

sen(x ± y) = sen(x) cos(y) ± cos(x) sen(y) (B.4)

cos(x ± y) = cos(x) cos(y) ∓ sen(x) sen(y) (B.5)


tan(x) ± tan(y)
tan(x ± y) = . (B.6)
1 ∓ tan(x) tan(y)
Apéndice C

Filtro de posición

C.1. Diseño del filtro de posición

Para el filtrado de la posición articular del robot manipulador se diseña un filtro


pasabajas mediante la herramienta de Matlab “fdatool” para el análisis y diseño de filtros.
El diseño del filtro de posición fp (z) se realizó con las siguientes caracteı́rticas:

Tipo de respuesta: Filtro pasabajas.

Método de diseño: FIR - Windows.

Tipo de ventana: Nutall

Orden del filtro: 30.

Especificaciones de frecuencia normalizada, frecuencia de corte wc=0.07.

En la figura C.1 se presenta la interfaz gráfica de la herramienta de análisis y


diseño de filtros “fdatool” donde se encuentran capturados los datos referentes del filtro
fp (z) ası́ mismo, se muestra la respuesta en frecuencia del filtro fp (z) obtenido a través
de esta herramienta.

106
C.1. Diseño del filtro de posición 107

Tabla C.1: Valores de los coeficientes del filtro fp (z) obtenidos con la herramienta de
Matlab “fdatools”.
Coef. Valor Coef. Valor Coef. Valor
−6 −2
b0 −1.808 × 10 b11 6.150 × 10 b21 3.052 × 10−2
−6 −2
b1 2.733 × 10 b12 7.795 × 10 b22 1.896 × 10−2
b2 4.934 × 10−5 b13 9.210 × 10−2 b23 1.069 × 10−2
−4 −1
b3 2.558 × 10 b14 1.017 × 10 b24 5.386 × 10−3
b4 8.789 × 10−4 b15 1.051 × 10−1 b25 2.372 × 10−3
b5 2.372 × 10−3 b16 1.017 × 10−1 b26 8.789 × 10−4
−3 −2
b6 5.386 × 10 b17 9.210 × 10 b27 2.558 × 10−4
b7 1.069 × 10−2 b18 7.795 × 10−2 b28 4.934 × 10−5
b8 1.896 × 10−2 b19 6.150 × 10−2 b29 2.733 × 10−6
−2 −2
b9 3.052 × 10 b20 4.508 × 10 b30 −1.808 × 10−6
b10 4.508 × 10−2

Figura C.1: Interfaz gráfica de la herramienta de Matlab “fdatool” para el análisis y diseño
de filtros.

Especı́ficamente, el filtro diseñado esta dado por

fp (z) = b0 + b1 z −1 + b2 z −2 + . . . + b29 z −29 + b30 z −30 , (C.1)

donde los valores de los coeficientes se encuentran listados en la tabla C.1.

También podría gustarte