modelado, identificación y control de un robot manipulador de dos
TRANSCRIPT
INSTITUTO POLITECNICO NACIONAL
CENTRO DE INVESTIGACION Y DESARROLLO
DE TECNOLOGIA DIGITAL
MAESTRIA EN CIENCIAS EN SISTEMAS DIGITALES
“MODELADO, IDENTIFICACION 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 MANRIQUEZ
BAJO LA DIRECCION DE:
DR. EDUARDO JAVIER MORENO VALENZUELA
NOVIEMBRE DE 2009 TIJUANA, B.C., MEXICO
Dedicatoria
A toda mi familia, en especial a mis padres Velia Manrıquez y Ricardo Orozco
Ortega por su carino, comprension 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 mas en mi carrera.
“La ciencia es la progresiva aproximacion del hombre al mundo real”.
Max Plank.
Agradecimientos
A mi director de tesis, Dr. Javier Moreno Valenzuela, por sus ensenanzas, orien-
tacion y el compartir sus conocimientos para el buen desarrollo de este trabajo.
A los integrantes de la comision 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 companeros de CITEDI por todos esos momentos y experiencias
tan especiales que compartimos juntos.
Al Instituto Politecnico Nacional (IPN) y al Consejo Nacional de Ciencia y Tec-
nologıa (CONACYT) por el apoyo economico brindado.
Modelado, Identificacion y Control de un Robot Manipulador de Dos Grados
de Libertad
Resumen
Este trabajo de tesis aborda el problema de modelado, identificacion 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 regresion del robot para identificar los parametros del modelo.
La identificacion de los parametros del robot es llevada a cabo usando el modelo
dinamico de regresion filtrado y los metodos 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 simulacion 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 regresion;
filtro; identificacion.
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viAbstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiContenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiiLista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiLista de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiLista de sımbolos y acronimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
1. Introduccion 11.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Objetivos de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2.2. Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4. Contenido de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Identificacion de Sistemas 72.1. Identificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2. Modelo de regresion lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3. Metodo de mınimos cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . 102.4. Metodo de mınimos cuadrados ponderado . . . . . . . . . . . . . . . . . . 122.5. Metodo de mınimos cuadrados recursivo . . . . . . . . . . . . . . . . . . . 12
3. Modelado del robot manipulador 163.1. Descripcion de robot manipulador experimental . . . . . . . . . . . . . . . 163.2. Modelo dinamico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1. Modelo dinamico del robot experimental . . . . . . . . . . . . . . . 193.2.2. Modelo del robot en su forma compacta . . . . . . . . . . . . . . . 23
3.3. Modelo dinamico de robots actuado por motores de C.D. . . . . . . . . . . 253.3.1. Modelo dinamico del robot experimental actuado por motores de
C.D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.4. Parametrizacion del modelo dinamico . . . . . . . . . . . . . . . . . . . . . 30
3.4.1. Modelo dinamico de regresion del robot experimental . . . . . . . . 31
viii
Contenido ix
3.5. Modelo nominal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.5.1. Modelo nominal del robot experimental conociendo la friccion . . . 35
3.6. Cinematica directa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.6.1. Modelo cinematico directo del robot . . . . . . . . . . . . . . . . . . 38
3.7. Cinematica inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.7.1. Modelo cinematico inverso del robot . . . . . . . . . . . . . . . . . 40
4. Identificacion del modelo dinamico del robot manipulador 444.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.2. Identificacion de robots manipuladores . . . . . . . . . . . . . . . . . . . . 45
4.2.1. Procedimiento de identificacion . . . . . . . . . . . . . . . . . . . . 464.2.2. Estimacion de los parametros de friccion . . . . . . . . . . . . . . . 464.2.3. Calculo de las velocidades de las articulaciones y modelo dinamico
filtrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.3. Identificacion del modelo dinamico del robot . . . . . . . . . . . . . . . . . 50
4.3.1. Modelo dinamico filtrado del robot . . . . . . . . . . . . . . . . . . 504.3.2. Proceso de identificacion del robot . . . . . . . . . . . . . . . . . . 534.3.3. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . 554.3.4. Validacion del modelo identificado . . . . . . . . . . . . . . . . . . . 574.3.5. Identificacion en lınea mediante mınimos cuadrados recursivo . . . . 62
4.4. Discusion de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5. Caso de estudio de identificacion usando mınimos cuadrados recursivo 675.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.2. Identificacion de los parametros de friccion . . . . . . . . . . . . . . . . . . 68
5.2.1. Modelo del motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.2.2. Aplicacion del metodo a la identificacion de un motor de C.D. . . . 715.2.3. Identificacion del motor de la articulacion 1 . . . . . . . . . . . . . 715.2.4. Identificacion del motor de la articulacion 2 . . . . . . . . . . . . . 72
5.3. Identificacion del modelo dinamico del robot conociendo la friccion . . . . . 745.3.1. Modelo del robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.3.2. Algoritmo de identificacion . . . . . . . . . . . . . . . . . . . . . . . 75
5.4. Validacion de los parametros estimados del robot . . . . . . . . . . . . . . 785.5. Discusion de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6. Control de robots basado en modelo 826.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.2. Dinamica del robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836.3. Control en el espacio operacional . . . . . . . . . . . . . . . . . . . . . . . 846.4. Trayectoria deseada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856.5. Estrategias de control basadas en modelo . . . . . . . . . . . . . . . . . . . 86
6.5.1. Control PD con precompensacion . . . . . . . . . . . . . . . . . . . 86
Contenido x
6.5.2. Controlador PD+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876.5.3. Controlador en el espacio operacional usando solo mediciones de
posicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876.6. Evaluacion del desempeno . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.7. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7. Conclusiones y trabajo futuro 947.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Referencias 96
A. Aproximacion de la derivada temporal de una senal discreta 101
B. Trigonometrıa 104B.1. Funcion arco tangente de dos argumentos . . . . . . . . . . . . . . . . . . . 104B.2. Ley de los cosenos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104B.3. Identidades trigonometricas . . . . . . . . . . . . . . . . . . . . . . . . . . 105
B.3.1. Identidades de angulos dobles . . . . . . . . . . . . . . . . . . . . . 105
C. Filtro de posicion 106C.1. Diseno del filtro de posicion . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Lista de Figuras
3.1. Robot manipulador experimental de dos grados de libertad accionado pormotores de corriente directa. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2. Diagrama de bloques del sistema experimental. . . . . . . . . . . . . . . . 173.3. Diagrama esquematico del robot manipulador de dos grados de libertad. . 193.4. Diagrama esquematico de un motor de corriente directa (C.D.) con iman
permanente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.5. Diagrama a bloques de un robot y sus actuadores. . . . . . . . . . . . . . . 273.6. Respuesta de la funcion tanh(βx) con β = 50, β = 10 y β = 2. . . . . . . . 293.7. Diagrama de las dos posibles soluciones de la cinematica inversa para una
posicion determinada denominadas −−“Codo arriba” y —“Codo abajo”. . 413.8. Diagrama esquematico del robot para obtener la solucion de modelo ci-
nematico inverso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1. Diagrama esquematico de la implementacion del proceso de identificaciondel robot. El bloque con etiqueta ADC denota el algoritmo de diferencia-cion central (4.1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2. Evolucion temporal de la estimacion de los parametros θ1− θ12 del modelodinamico del robot mediante mınimos cuadrados ...., mınimos cuadradosponderado — y mınimos cuadrados recursivo - - -. Las unidades de losparametros se listan en la tabla 4.1. . . . . . . . . . . . . . . . . . . . . . . 58
4.3. Voltaje de control de simulacion y experimento utilizando controlador PD yparametros estimados de la identificacion por mınimos cuadrados ponderado. 60
4.4. Error de posicion de simulacion y experimento utilizando controlador PD yparametros estimados de la identificacion por mınimos cuadrados ponderado. 60
4.5. Voltaje de control de simulacion y experimento utilizando controlador PDcon precompesacion y parametros estimados de la identificacion por mıni-mos cuadrados ponderado. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6. Error de posicion de simulacion y experimento utilizando controlador PDcon precompesacion y parametros estimados de la identificacion por mıni-mos cuadrados ponderado. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.7. Diagrama esquematico del metodo de identificacion de mınimos cuadradosrecursivo, filtrado del modelo y estimacion de velocidad por el filtro de Euler. 64
xi
Lista de Figuras xii
4.8. Evolucion temporal de la estimacion de los parametros θ1− θ12 del modelodinamico mediante mınimos cuadrados recursivo, filtrado del modelo y es-timacion de velocidad por el filtro de Euler. Las unidades de los parametrosse listan en la tabla 4.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1. Evolucion temporal de la estimacion de los parametros J , fv, fs1 y fs2 delmodelo del motor de la articulacion 1. . . . . . . . . . . . . . . . . . . . . . 73
5.2. Evolucion temporal de la estimacion de los parametros J , fv,fs1 y fs2 delmodelo del motor de la articulacion 2. . . . . . . . . . . . . . . . . . . . . . 73
5.3. Diagrama del esquema de identificacion de mınimos cuadrados recursivoconsiderando la friccion del robot como conocida. . . . . . . . . . . . . . . 76
5.4. Evolucion temporal de la estimacion de los parametros θ1 − θ6 del mode-lo dinamico utilizando mınimos cuadrados recursivo y considerando comoconocida la friccion del robot. . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.5. Voltaje de control de simulacion y experimento utilizando controlador PDy parametros estimados de la identificacion conociendo la friccion. . . . . . 79
5.6. Error de posicion de simulacion y experimento utilizando controlador PDy parametros estimados de la identificacion conociendo la friccion. . . . . . 79
5.7. Voltaje de control de simulacion y experimento utilizando controlador PDcon precompensacion y parametros estimados de la identificacion conocien-do la friccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.8. Error de posicion de simulacion y experimento utilizando controlador PDcon precompensacion y parametros estimados de la identificacion conocien-do la friccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.1. Error de posicion articular q1(t) y q2(t) del control PD con precompensancion. 906.2. Voltaje aplicado u1(t) y u2(t) del control PD con precompensacion. . . . . 906.3. Error de posicion articular q1(t) y q2(t) del control PD+. . . . . . . . . . . 916.4. Voltaje aplicado u1(t) y u2(t) del control PD+. . . . . . . . . . . . . . . . . 916.5. Error de posicion angular q1(t) y q2(t) del controlador en el espacio opera-
cional usando solo mediciones de posicion. . . . . . . . . . . . . . . . . . . 926.6. Voltaje aplicado u1(t) y u2(t) del controlador en el espacio operacional
usando solo mediciones de posicion. . . . . . . . . . . . . . . . . . . . . . . 926.7. Comparacion del valor L 2 obtenido para los tres esquemas de control, PD
con precompesacion (PDp), PD+ y el controlador en el espacio operacionalusando solo mediciones de posicion (Nuevo). . . . . . . . . . . . . . . . . . 93
A.1. Diagrama de Bode del operador diferencial d(s) = s y del filtro discretoD(z−1) el cual aproxima d(s) en el dominio discreto. . . . . . . . . . . . . . 102
C.1. Interfaz grafica de la herramienta de Matlab “fdatool” para el analisis ydiseno de filtros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Lista de Tablas
3.1. Parametros fısicos del brazo robotico experimental. . . . . . . . . . . . . . 18
4.1. Parametros estimados del modelo dinamico del robot mediante mınimoscuadrados (MC), mınimos cuadrados ponderado (MCP) y mınimos cua-drados recursivo (MCR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2. Parametros estimados del robot utilizando el algoritmo de mınimos cua-drados recursivo, filtrado del modelo y estimacion de velocidad por el filtrode Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1. Parametros estimados de lo motores de las articulaciones del robot median-te mınimos cuadrados recursivo. . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2. Parametros estimados θ1-θ6 del robot utilizando mınimos cuadrados recur-sivo considerando los parametros de friccion θ7-θ12 de las articulacionescomo conocidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
C.1. Valores de los coeficientes del filtro fp(z) obtenidos con la herramienta deMatlab “fdatools”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
xiii
Lista de sımbolos y acronimos
IR Numeros reales.IR+ Numeros reales positivos.Z Numeros enteros.⊆ Subconjunto propio de.q Vector de posisciones articulares del robot.τ Torque.u Voltaje.θ Vector de parametros.Φ Matriz de regresion.Ω Matriz de regresion del robot.K Matriz de constantes de conversion 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 Robotico Capacitado
para Ensamblado Selectivo.C.D. Corriente Directa.CAD Computer Aided Design - Diseno Asistido por Computadora,CAM Computer Aided Manufacturer - Fabricacion Asistido por Computadora.PD Proporcional Derivativo.RMS Root Mean Square - Raız Media Cuadratica.FIR Finite Impulse Response - Respuesta al Impulso Finita.
xiv
Capıtulo 1
Introduccion
1.1. Antecedentes
La implementacion de esquemas de control avanzados basados en modelo ası como
una simulacion realista del robot requieren de una buena determinacion y exactitud del
modelo del robot. Para poder realizar el diseno de un controlador de movimiento preciso
de un robot manipulador es necesario formular un modelo que describa o se ajuste a la
dinamica del sistema. Los robots manipuladores pueden realizar movimientos rapidos y
exactos a traves de esquemas de control de movimiento basados en modelo. El diseno de
controladores de robots avanzados y su desempeno dependen directamente de la exactitud
del modelo. Realizar simulaciones del robot sin el conocimiento de la dinamica exacta del
robot no provee una ejecucion realista y llevarıa a errores de diseno e implementacion en
el controlador del robot.
Los parametros del modelo que son proveıdos por el fabricante son insuficientes,
inexactos y en algunos casos no provistos [1], [2]. La medicion directa de los parametros
fısicos en la mayorıa de los casos no es posible debido a la complejidad de los mecanismos.
La identificacion 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 tecnicas para la identificacion de los
1
1.1. Antecedentes 2
parametros del modelo dinamico de robots manipuladores. La estimacion de los parame-
tros del modelo dinamico es usualmente realizada mediante la aplicacion de tecnicas
basadas en mınimos cuadrados a las ecuaciones de movimiento o de energıa del robot
manipulador. La validez de la estimacion depende de la calidad de los datos de las senales
de entrada-salida y de la seleccion de la trayectoria de referencia la cual debe excitar
propiamente la dinamica del robot [3].
A continuacion se presenta una revision bibliografica sobre el problema de la
identificacion de robots manipuladores.
En [4] se presenta la evaluacion experimental del algoritmo de identificacion de
mınimos cuadrados recursivo con tres esquemas del modelo a identificar: modelo dinamico
de regresion filtrado, el modelo de energıa de regresion filtrado y se propone realizar la
identificacion con el modelo de potencia de regresion filtrado. En este artıculo se considera
el filtrado de los modelos para evitar la estimacion de la aceleracion de las articulaciones.
En [5] se presenta un nuevo esquema de identificacion de los parametros del
modelo dinamico de robots manipuladores utilizando mınimos cuadrados ponderado y los
modelos dinamico y de potencia para la identificacion.
En [1] se discuten los resultados experimentales de la identificacion de robots desde
un punto de vista estadıstico. Ademas presenta un nuevo enfoque en el diseno optimo de
trayectorias de excitacion de robots y formula la estimacion de los parametros del modelo
dinamico por el metodo de maxima probabilidad y mınimos cuadrados ponderado.
En [6] y [7] se detalla el desarrollo de la obtencion de los algoritmos de identifica-
cion de mınimos cuadros, mınimo cuadrados recursivo y mınimos cuadrados ponderado.
En [8] se presenta la teorıa sobre diversas tecnicas de identificacion y el uso
practico de la implementacion de las mismas.
En [9] se propone un procedimiento para la estimacion de los parametros del
modelo dinamico de un robot experimental. Se considera la dinamica 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 evaluacion experimental de la comparacion de los metodos
de identificacion de mınimos cuadrados ponderado y el filtro de Kalman extendido. En
ambos casos se utiliza el modelo dinamico como el modelo a identificar. Para la imple-
mentacion de mınimos cuadrados ponderado se realiza el filtrado de la posicion para la
obtencion por diferenciacion numerica de la velocidad y aceleracion de las articulaciones
del robot.
En [11] se presenta la teorıa en general sobre la identificacion de robots mani-
puladores considerando todo el procedimiento de identificacion: el modelo dinamico a
identificar, la seleccion de la trayectoria deseada, la adecuacion de los datos para los
experimentos de identificacion y la validacion del modelo estimado.
En [12] se presentan el estudio de la parametrizacion del modelo dinamico de
robots manipuladores y las propiedades de linealidad de los parametros dinamicos ası co-
mo y la obtencion del modelo de regresion. Ası mismo se presenta el modelo del robot
considerando la dinamica de los actuadores que son motores de corriente directa.
En [13] el autor propone un procedimiento practico de la identificacion de pa-
rametros del modelo dinamico de robots manipuladores. Se implementa el algoritmo de
mınimos cuadrados ponderado presentando diversas tecnicas para facilitar la estimacion
y principalmente presenta dos diferentes metodos para la estimacion de la varianza.
En este trabajo de tesis se presenta la implementacion de los algoritmos de iden-
tificacion de mınimos cuadrados, mınimos cuadrados ponderado y de mınimos cuadrados
recursivo para la estimacion de los parametros del modelo dinamico de un robot manipu-
lador experimental. La diferencia con respecto a las referencias citadas es la estimacion
de los parametros del modelo dinamico filtrado del robot para evitar la estimacion de la
aceleracion de las articulaciones, como se implemento en [4], y la implementacion del al-
goritmo de mınimos cuadrados ponderado proponiendo una nueva forma de ponderacion
para realizar la estimacion. Finalmente, se presenta la implementacion de esquemas de
control de robots basados en modelo utilizando el modelo dinamico 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 dinamico y cinematico, la identificacion
de los parametros dinamicos y el control basado en modelo de un robot manipulador
experimental de dos grados de libertad.
1.2.2. Objetivos Especıficos
Estudio bibliografico sobre la obtencion del modelo dinamico de un robot experi-
mental actuado por motores de corriente directa (C.D.).
Estudio y obtencion para el robot experimental de su modelo cinematico directo y
cinematico inverso.
Estudio bibliografico sobre los algoritmos de identificacion de los parametros del
modelo dinamico de robots manipuladores basados en tecnicas de
• Mınimos cuadrados.
• Mınimos cuadrados ponderado.
• Mınimos cuadrados recursivo.
Identificacion de los parametros del modelo dinamico del robot manipulador expe-
rimental.
Estudio e implementacion 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 problematica de la obtencion del modelo
dinamico de un robot manipulador experimental para la implementacion de esquemas de
control basados en modelo, ası como para poder realizar simulaciones del robot realistas
para una evaluacion de estos esquemas de control. Se consideran metodos de identificacion
clasicos basados en mınimos cuadrados. Ademas se implementa el modelo dinamico filtra-
do para la estimacion de los parametros. Igualmente se presentan comparaciones de los
resultados experimentales de los algoritmos de identificacion de mınimos cuadrados, mıni-
mos cuadrados ponderado y mınimos cuadrados recursivo utilizando el modelo dinamico
de regresion filtrado.
La principal aportacion de este trabajo de tesis es la implementacion del esquema
de identificacion del modelo dinamico de regresion filtrado y el algoritmo de mınimos
cuadrados ponderado utilizando un nuevo metodo para la ponderacion.
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 identificacion 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
obtencion del modelo dinamico del robot ası como la representacion en su forma de regre-
sion util para la identificacion del modelo. Finalmente, se explica la obtencion del modelo
cinematico del robot.
En el capıtulo 4 se presenta la teorıa y practica referente a la identificacion de ro-
bots manipuladores. Se presenta la implementacion de la identificacion del robot mediante
mınimos cuadrados ponderado y la validacion del modelo dinamico estimado. Finalmente,
se presenta la estimacion 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 identificacion del modelo
dinamico de robots manipuladores donde se identifica la friccion del robot en primera ins-
tancia. En este capıtulo se presenta la implementacion en linea del algoritmo de mınimos
cuadrados recursivo usando el modelo dinamico filtrado.
En el capıtulo 6 se presentan los resultados obtenidos referentes a la aplicacion
de diferentes esquemas de control basados en modelo. Particularmente, se implementaron
el controlador proporcional-derivativo (PD) con precompensacion, 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 discusion sobre el trabajo futuro.
Capıtulo 2
Identificacion de Sistemas
2.1. Identificacion
Identificacion es el proceso de encontrar las ecuaciones matematicas que rigen el
comportamiento de un sistema, es decir, crear un modelo matematico del sistema fısico
real. Identificacion es el enfoque experimental del modelado de sistemas [15]. Para conocer
el comportamiento de un sistema es necesario conocer su representacion matematica.
En control es de utilidad para conocer el comportamiento y la dinamica del sistema lo
que lleva a obtener un mejor rendimiento del control. Ası mismo, es necesario conocer
su representacion matematica para poder realizar simulaciones numericas del sistema.
Esto permitira saber como respondera el sistema ante determinadas entradas conocidas
y predecir ası la salida del sistema.
Es posible comparar ciertos aspectos del sistema fısico con su descripcion matema-
tica pero nunca se podra establecer una relacion exacta entre estos [8]. Con el modelado
siempre se obtienen aproximaciones del sistema real. Ademas es altamente improbable
que algun modelo contenga la estructura real del sistema. Lo que se espera del modelo
obtenido es que provea un nivel de aproximacion aceptable el cual es medido mediante el
uso dedicado del modelo. Se podra saber que tan suficientemente exacto es el modelo del
sistema a traves de experimentacion [7].
7
2.1. Identificacion 8
Existen en la literatura diversos enfoques y tecnicas para obtener el modelo de un
sistema determinado, como se explica en [6], [7], [8], [16]. Para casi todos los sistemas, las
senales de entrada y salida del sistema pueden ser obtenidas por medicion y ser sujetas
a analisis para inferir un modelo. Este metodo es usualmente llamado identificacion de
sistemas [7]. Identificacion es el enfoque experimental del modelado de sistemas [15]. La
identificacion de sistemas es un procedimiento de cuatro principales pasos [7], [8]:
1. Adquisicion de los datos de entrada y salida del sistema. Los datos son obtenidos
durante un experimento especialmente disenado para maximizar la informacion que
se pueda obtener. En general, es necesario el acondicionamiento de los datos como
el escalamiento, normalizacion y el filtrado para remover el ruido de las mediciones.
2. Seleccionar la estructura del modelo a identificar. Esta es la mas importante, y al
mismo tiempo, la mas difıcil del procedimiento de identificacion. Aquı es donde un
conocimiento a priori, la ingenierıa y la intuicion deben ser combinadas con las
propiedades formales del modelo. Algunas veces se puede obtener un modelo con
parametros fısicos desconocidos a partir de leyes fısicas basicas y otras relaciones
bien establecidas. En otros casos modelos lineales estandar pueden ser utilizados sin
ninguna referencia al sistema fısico.
3. Estimacion de los parametros del modelo a partir de los datos. Esto es, la identifica-
cion del modelo. La seleccion del metodo de estimacion 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 algun criterio esta-
blecido. Algunas tecnicas de estimacion seran discutidas en detalle en las siguientes
secciones.
4. Validacion del modelo. Los metodos de validacion del modelo dependen de las pro-
piedades deseadas del modelo. Usualmente se desean exactitud y una buena gene-
ralizacion del sistema. Pueden ser utilizadas pruebas estadısticas de prediccion del
2.2. Modelo de regresion lineal 9
error. Las simulaciones proveen una herramienta util para la validacion del modelo.
La mayorıa de las pruebas de validacion estan basadas en minimizar la diferencia
entre la salida medida y la salida simulada.
La decision mas importante en la identificacion es como 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 seleccion de la estructura
del modelo del procedimiento de identificacion. 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 parametros del modelo [7]. El primero considera las capacidades de mapeo del modelo
mientras que el segundo afecta la estimacion de los parametros del modelo. Si al menos un
parametro es nolineal, el modelo es de regresion no lineal [17]. En la literatura [6], [7], [8],
[16], [18] se presentan tecnicas eficientes para la estimacion de los parametros utilizando
las muestras obtenidas de las entradas y las salidas del sistema. En las siguientes secciones
se presentaran algunos metodos para la estimacion de los parametros de un sistema con un
modelo de regresion lineal. Estos metodos asumen que se cuenta con datos muestreados
de las entradas y las salidas del sistema.
2.2. Modelo de regresion lineal
Considerese 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
regresion 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 senales de salida medidas
del sistema, θ ∈ Rp es un vector de p parametros constantes desconocidos del sistema que
2.3. Metodo de mınimos cuadrados 10
se define como
θ =[θ1 . . . θp
]T, (2.2)
y Φ(k) ∈ Rn×p se denota como la matriz de regresion cuyos elementos Φij(k) son funciones
de las entradas medidas x(k) ∈ IRm [7], [8]. Los elementos Φij(k) pueden ser una funcion
no lineal de las entradas x(k), pero estos solo son evaluados como un valor numerico [19].
Considerando que se tiene una estimacion del vector de parametros θ en el instante
de tiempo k denominado θ(k) y se tiene la matriz de regresion Φ(k) es posible realizar la
estimacion de las salidas del sistema, esto es,
y(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 parametros estimados del sistema y e(k) ∈ IRn denota el
vector del error. Esto establece que el calculo de θ(k), en sı, depende del vector de salidas
y(k) y la matriz de regresion Φ(k) [7], [8].
2.3. Metodo de mınimos cuadrados
La presente seccion detalla la obtencion del metodo de mınimos cuadrados que
esta inspirada en [6], [7], [8]. El metodo de mınimos cuadrados es esencial en ingenierıa
de sistemas y control [7]. Considerese el sistema de la ecuacion (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.
Notese que los elementos de la matriz Φ(k) pueden ser funciones conocidas de la entrada
muestreada x(k). La estimacion del vector desconocido θ(k) se realiza mediante el metodo
de mınimos cuadrados. Para que el modelo (2.4) represente fielmente el sistema este debe
2.3. Metodo de mınimos cuadrados 11
tener un vector de parametros θ(k) donde el error esperado sea
EeT (k)e(k)
=
k∑i=0
1
2eT (i)e(i)
=k∑i=0
1
2[y(i)− Φ(i)θ(k)]T [y(i)− Φ(i)θ(k)], (2.5)
tal que satisfaga el criterio de mınimos cuadrados
θ(k) = arg mınθEeT (k)e(k)
. (2.6)
Dado que EeT (k)e(k)
es cuadratico en θ(k), se puede obtener el mınimo derivando la
ecuacion (2.5) e igualando a cero el resultado, de tal forma que
∂
∂θEeT (k)e(k)
= −
k∑i=0
ΦT (i)[y(i)− Φ(i)θ(k)] = 0 ∈ IRp, (2.7)
de donde resulta quek∑i=0
Φ(i)TΦ(i)θ(k) =k∑i=0
ΦT (i)y(i), (2.8)
de la cual es posible despejar θ(k)
θ(k) =
[k∑i=0
Φ(i)TΦ(i)
]−1 k∑i=0
ΦT (i)y(i). (2.9)
Definiendo la llamada matriz de covarianza del error P (k) ∈ IRp×p [6], [7], [8], como
P (k) =
[k∑i=0
ΦT (i)Φ(i)
]−1
, (2.10)
se tiene que la ecuacion (2.9) se puede expresar como
θ(k) = P (k)k∑i=0
ΦT (i)y(i). (2.11)
Esto se cumple si y solo si la matriz de covarianza P (k) no es singular. Desde el punto
de vista del metodo, una senal constante de entrada no puede excitar toda la dinamica
del sistema. Para ser capaz de identificar los parametros del modelo, la senal de entrada
debe fluctuar lo suficiente, esto es, tiene que ser una senal de excitacion persistente [7].
2.4. Metodo de mınimos cuadrados ponderado 12
2.4. Metodo de mınimos cuadrados ponderado
En la ecuacion (2.5), las muestras se toman sin un criterio de ponderacion. Al-
gunas veces es util considerar un criterio de ponderacion 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 mas ruido y por lo tanto
tener menos peso en la identificacion y, por otro lado, las muestras pueden ser de dife-
rente relevancia [8]. La ponderacion consiste en multiplicar las muestras y(k) ∈ IRn y
Φ(k) ∈ IRn×p por valores numericos con el fin de reforzar o minimizar su contribucion en
el proceso del calculo de θ(k). Considerese el sistema representado por la ecuacion (2.4).
De forma general se puede definir una matriz de ponderacion G(k) ∈ IRn×n la cual es no
singular para todo k. Por lo tanto, se tiene que la ponderacion 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 ultima expresion se deduce el metodo de mınimos cuadrados considerando
el error ponderado, de tal forma que,
θ(k) =
[k∑i=0
ΦT (i)GT (i)G(i)Φ(i)
]−1 k∑i=0
ΦT (i)GT (i)G(i)y(i). (2.13)
Notese que si G(k) = I, siendo I la matriz identidad, entonces el metodo de mınimos
cuadrados ponderado (2.13) colapsa en el metodo 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],
P (k) =
[k∑i=0
ΦT (i)GT (i)G(i)Φ(i)
]−1
. (2.14)
2.5. Metodo de mınimos cuadrados recursivo
Considerese el caso donde las muestras de las entradas y salidas del sistema solo
pueden obtenerse una a una. Ademas de que se desea actualizar la estimacion de los
2.5. Metodo de mınimos cuadrados recursivo 13
parametros cada que es obtenida una nueva muestra. Esto puede realizarse al anadir una
nueva muestra a la formulacion del metodo de mınimos cuadrados. Para realizar esto se
formulara el metodo de mınimos cuadrados de forma recursiva que esta inspirada en [6],
[7], [8]. Utilizando la ecuacion (2.11) se puede definir la estimacion de mınimos cuadrados
en un instante de muestreo k − 1 como
θ(k − 1) = P (k − 1)k−1∑i=0
ΦT (i)y(i), (2.15)
donde k ≥ 1. Para obtener un algoritmo recursivo se considera en la estimacion la mues-
tra obtenida en el instante de tiempo k de tal forma que la estimacion θ por mınimos
cuadrados resulta en
θ(k) = P (k)k∑i=0
ΦT (i)y(i). (2.16)
Ası mismo, considerando la ecuacion (2.10) se tiene que
P (k)−1 =k∑i=0
ΦT (i)Φ(i),
=k−1∑i=0
ΦT (i)Φ(i) + ΦT (k)Φ(k),
= P (k − 1)−1 + ΦT (k)Φ(k). (2.17)
De la ecuacion (2.16) se tiene que
θ(k) = P (k)
[k−1∑i=0
ΦT (i)y(i) + ΦT (k)y(k)
], (2.18)
y tomando en cuenta la ecuacion (2.15), la ecuacion (2.18) puede reescribirse como
θ(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. Metodo de mınimos cuadrados recursivo 14
y sustituyendo en la ecuacion (2.19) se obtiene
θ(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 solucion [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 maximo de a× b, entonces la siguiente igualdad se cumple:
(A−1 + CB−1CT )−1 = A− AC(B + CTAC)−1CTA.
Prueba Por multiplicacion directa se puede obtener que
[A− AC(B + CTAC)−1CTA
] [A−1 + CB−1CT
]= I
Para el caso de la ecuacion (2.17) se selecciona P (k − 1) = A, Φ(k) = C, I = B,
siendo I la matriz identidad, se obtiene:
P (k) = P (k − 1)− P (k − 1)ΦT (k)[I + Φ(k)P (k − 1)ΦT (k)
]−1Φ(k)P (k − 1). (2.22)
Sustituyendo la ecuacion (2.22) en (2.21), y mediante algunas manipulaciones algebraicas,
es posible obtener
θ(k) = θ(k−1)+P (k−1)ΦT (k)[I + Φ(k)P (k − 1)ΦT (k)
]−1 [y(k)−Φ(k)θ(k−1)
]. (2.23)
Este metodo puede ser convenientemente representado si se define la matriz
R(k) = P (k − 1)ΦT (k)[I + Φ(k)P (k − 1)ΦT (k)
]−1 ∈ IRp×n, (2.24)
2.5. Metodo de mınimos cuadrados recursivo 15
de tal forma que las ecuaciones que definen el algoritmo de identificacion de mınimos
cuadrados recursivo son
R(k) = P (k − 1)ΦT (k)[I + Φ(k)P (k − 1)ΦT (k)
]−1, (2.25)
P (k) = P (k − 1)−R(k)Φ(k)P (k − 1), (2.26)
θ(k) = θ(k − 1) +R(k)[y(k)− Φ(k)θ(k − 1)
]. (2.27)
Debido a que normalmente la matriz P (k)−1 de la ecuacion (2.17) es singular
para k = 0, en la practica el algoritmo se inicializa tomando [6]
P (0) =1
δI. (2.28)
Un valor tıpico es δ = 0.001, esto es, 1/δ = 1000. Se puede observar de la ecuacion (2.26)
que la influencia de este valor inicial decrece con el tiempo [6].
Capıtulo 3
Modelado del robot manipulador
3.1. Descripcion de robot manipulador experimental
El control y la simulacion de robots requiere del desarrollo de diferentes modelos
matematicos. Diferentes modelos, geometricos, cinematicos y dinamicos, 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 solo 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 electricos localizados en sus articulaciones, el primero en la base del robot y el
segundo en la union de los dos eslabones. Este es un robot de accionamiento directo, esto
es, los ejes de los motores estan directamente conectados a los eslabones.
El motor de la articulacion 1 es un motor de corriente directa (C.D.) Pittman
modelo 14207S008 y el motor de la articulacion 2 es un motor de C.D. Pittman modelo
9236S009, los cuales estan montados sobre una base de aluminio. Para realizar experi-
1Por las siglas en ingles (Selective Compliant Assembly Robot Arm - Brazo Robotico Capacitado paraEnsamblado Selectivo).
16
3.1. Descripcion de robot manipulador experimental 17
Figura 3.1: Robot manipulador experimental de dos grados de libertad accionado pormotores de corriente directa.
mentos en tiempo real, los motores son operados a traves de una computadora personal,
un servo amplificador Advanced Motion Controls modelo 30A20AC, para el motor de la
articulacion 1 y un servo amplificador Advanced Motion Controls modelo 16A20AC, para
el motor de la articulacion 2. Para el procesamiento de los datos se utiliza una tarjeta de
adquisicion de datos Sensoray 626, con la cual se leen las senales del codificador optico
de cuadratura de los motores y se transfieren las senales 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 dinamico 18
Descripcion Notacion Unidades
Longitud eslabon 1 l1 mLongitud eslabon 2 l2 mDistancia al centro de masa del eslabon 1 lc1 mDistancia al centro de masa del eslabon 2 lc2 mMasa eslabon 1 m1 kgMasa eslabon 2 m2 kgInercia eslabon 1 respecto al centro de masa I1 kg-m2
Inercia eslabon 2 respecto al centro de masa I2 kg-m2
Tabla 3.1: Parametros fısicos del brazo robotico experimental.
En la figura 3.3 se presenta un diagrama esquematico 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 traves 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
estan asociados a los angulos q1, que se mide del eje y hacia el eslabon 1, y q2 que se mide
a partir de la extension del eslabon 1 hasta el eslabon 2, siendo ambos positivos en sentido
contrario al movimiento de las manecillas del reloj. En la tabla 3.1 se presentan en resumen
la descripcion, notacion y unidades de los parametros fısicos del robot manipulador.
3.2. Modelo dinamico
Considerese un robot manipulador de n grados de libertad compuesto por es-
labones rıgidos interconectados por uniones libres de friccion y elasticidad. La ecuacion
dinamica que lo representa puede ser escrita como [12], [20],
M(q)q + C(q, q)q + g(q) = τ, (3.1)
3.2. Modelo dinamico 19
Figura 3.3: Diagrama esquematico del robot manipulador de dos grados de libertad.
donde q, q, q ∈ IRn son los vectores de la posicion, velocidad y aceleracion articular,
respectivamente, M(q) es una matriz de n × n denominada matriz de inercia, la cual es
simetrica 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 dimension
n de pares de fuerzas gravitacionales y τ es un vector de dimension 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 expresion
relativamente compleja de las posiciones q y velocidades q articulares de las uniones del
robot manipulador [12].
3.2.1. Modelo dinamico del robot experimental
Considerese el diagrama esquematico de la figura 3.3 que describe la dinamica
del robot manipulador experimental. Las ecuaciones dinamicas que modelan el robot
manipulador se obtienen aplicando las ecuaciones de movimiento de Euler-Lagrange [12],
[20], [21]:d
dt
[∂L(q, q)
∂qi
]− ∂L(q, q)
∂qi= τi , i = 1, 2, (3.2)
3.2. Modelo dinamico 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 cinetica del robot y U(q) es la energıa potencial. La energıa
cinetica 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 cineticas asociadas a las masas m1 y m2 respec-
tivamente.
Las coordenadas del centro de masa del eslabon 1 expresadas en el plano x-y son:x1
y1
=
lc1 sen(q1)
−lc1 cos(q1)
. (3.5)
El vector de velocidad v1 del centro de masa del eslabon 1 es entonces:
v1 =
x1
y1
=
lc1 cos(q1)q1
lc1 sen(q1)q1
, (3.6)
por lo tanto la velocidad al cuadrado vT1 v1 del centro de masa resulta ser:
vT1 v1 = l2c1q21 . (3.7)
Finalmente, la energıa cinetica correspondiente al movimiento del eslabon 1 se obtiene
como:
K1(q, q) =1
2m1v
T1 v1 +
1
2I1q
21 ,
=1
2m1l
2c1q
21 +
1
2I1q
21 . (3.8)
Por otro lado, las coordenadas del centro de masa del eslabon 2 expresadas en el plano
x-y son: x2
y2
=
l1 sen(q1) + lc2 sen(q1 + q2)
−lc1 cos(q1)− lc2 cos(q1 + q2)
. (3.9)
3.2. Modelo dinamico 21
El vector de velocidad v2 del centro de masa del eslabon 2 es en consecuencia:
v2 =
x2
y2
=
l1 cos(q1)q1 + lc2 cos(q1 + q2)[q1 + q2]
l1 sen(q1)q1 + lc2 sen(q1 + q2)[q1 + q2]
. (3.10)
Por lo tanto, usando las identidades trigonometricas del Apendice B y reordenando termi-
nos se obtiene finalmente la velocidad al cuadrado vT2 v2 del centro de masa del eslabon
2:
vT2 v2 = [l21 + l2c2 + 2l1lc2 cos(q2)]q21 + 2[l2c2 + l1lc2 cos(q2)]q1q2 + l2c2q
22. (3.11)
Por lo tanto, la energıa cinetica del movimiento del eslabon 2 es:
K2(q, q) =1
2m2v
T2 v2 +
1
2I2
[q1 + q2
]2,
=1
2
[m2l
21 +m2l
2c2 + 2m2l1lc2 cos(q2) + I2
]q21 +
1
2
[m2l
2c2 + I2
]q22
+[m2l
2c2 +m2l1lc2 cos(q2) + I2
]q1q2. (3.12)
Considerando (3.4), (3.8) y (3.12), se tiene que la energıa cinetica del robot es
K(q, q) =1
2
[m1l
2c1 +m2l
21 +m2l
2c2 + 2m2l1lc2 cos(q2) + I1 + I2
]q21
+[m2l
2c2 +m2l1lc2 cos(q2) + I2
]q1q2 +
1
2
[m2l
2c2 + I2
]q22. (3.13)
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 ecuacion (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
2m1[l
2c1 +m2l
21]q2
1 +1
2m2l
2c2[q
21 + 2q2
1 q22 + q2]
+ m2l1lc2 cos(q2)[q21 + q1q2] +
1
2I1q
21 +
1
2I2[q1 + q2]
2 . (3.14)
Para obtener el modelo dinamico del robot, de la ecuacion (3.14) se desarrollan
3.2. Modelo dinamico 22
las siguientes expresiones:
∂L∂q1
= [m1l2c1 +m2l
21 +m2l
2c2]q1 +m2l
2c2q2 + 2m2l1lc2 cos(q2)q1
+m2l1lc2 cos(q2)q2 + I1q1 + I2[q1 + q2], (3.15)
d
dt
[∂L∂q1
]= [m1l
2c1 +m2l
21 +m2l
2c2 + 2m2l1lc2 cos(q2)]q1 − 2m2l1lc2 sen(q2)q1q2
+[m2l2c2 +m2l1lc2 cos(q2)]q2 −m2l1lc2 sen(q2)q
22 + I1q1 + I2[q1 + q2],(3.16)
∂L∂q1
= 0 , (3.17)
∂L∂q2
=m2l2c2q1 +m2l
2c2q2 +m2l1lc2 cos(q2)q1 + I2[q1 + q2], (3.18)
d
dt
[∂L∂q2
]=m2l
2c2q1 +m2l
2c2q2 +m2l1lc2 cos(q2)q1 −m2l1lc2 sen(q2)q1q2
+I2[q1 + q2], (3.19)
∂L∂q2
=−m2l1lc2 sen(q2)[q21 + q1q2]. (3.20)
Finalmente, utilizando la definicion de la ecuacion (3.2) y las expresiones obteni-
das en las ecuaciones (3.15)-(3.20) se obtiene
τ1 = [m1l2c1 +m2l
21 +m2l
2c2 + 2m2l1lc2 cos(q2) + I1 + I2]q1 − 2m2l1lc2 sen(q2)q1q2
+[m2l2c2 +m2l1lc2 cos(q2) + I2]q2 −m2l1lc2 sen(q2)q
22, (3.21)
τ2 = [m2l2c2 +m2l1lc2 cos(q2) + I2]q1 + [m2l
2c2 + I2]q2 + m2l1lc2 sen(q2)q
21 , (3.22)
siendo τ1 y τ2 los pares emitidos por los actuadores que actuan en las articulaciones
1 y 2. Estas ecuaciones dinamicas del robot (3.21) y (3.22) constituyen dos ecuaciones
diferenciales no lineales.
3.2. Modelo dinamico 23
3.2.2. Modelo del robot en su forma compacta
Para los propositos de control e identificacion, es mas practico reescribir el modelo
dinamico del robot de las ecuaciones (3.21) y (3.22) en su forma compacta como se muestra
en la ecuacion (3.1). Como se puede observar de la ecuacion (3.1) la matrizM(q) multiplica
a el vector de aceleraciones q, por lo tanto, de las ecuaciones (3.21)-(3.22) se toman los
terminos en los cuales se tiene el termino q1 y q2 para obtener ası los elementos de la
matriz de inercia M(q) ∈ IR2×2 que esta en funcion de la posicion articular q. Una vez
realizado este reordenamiento de terminos se obtiene que los elementos de la matriz M(q)
son:
M11(q) = m1l2c1 +m2l
21 +m2l
2c2 + 2m2l1lc2 cos(q2) + I1 + I2,
M12(q) = m2l2c2 +m2l1lc2 cos(q2) + I2, (3.23)
M21(q) = m2l2c2 +m2l1lc2 cos(q2) + I2,
M22(q) = m2l2c2 + I2.
La matriz C(q, q) ∈ IR2×2 llamada matriz centrıfuga y de Coriolis puede no ser
unica, pero el vector C(q, q)q sı lo es [12]. Una manera de obtener C(q, q) es a traves de
los coeficientes o sımbolos de Christoffel cijk(q) definidos como [11], [12], [21], [20]:
cijk(q) =1
2
[∂Mkj(q)
∂qi+∂Mki(q)
∂qj− ∂Mij(q)
∂qk
], (3.24)
donde Mij(q) denota el ij-esimo elemento de la matriz de inercia M(q). De tal forma que
el kj-esimo elemento de la matriz C(q, q) puede obtenerse de:
Ckj(q, q) =
c1jk(q)
c2jk(q)...
cnjk(q)
T
q. (3.25)
Por lo tanto se calculan los sımbolos de Chistoffel usando la ecuacion (3.24) y los elementos
3.2. Modelo dinamico 24
de la matriz de inercia definidos en (3.23) con lo que se obtiene:
c111(q) =1
2
[∂M11(q)
∂q1+∂M11(q)
∂q1− ∂M11(q)
∂q1
]= 0,
c112(q) =1
2
[∂M21(q)
∂q1+∂M21(q)
∂q1− ∂M11(q)
∂q2
]= m2l1lc2 sen(q2),
c121(q) =1
2
[∂M12(q)
∂q1+∂M11(q)
∂q2− ∂M12(q)
∂q1
]= −m2l1lc2 sen(q2),
c122(q) =1
2
[∂M22(q)
∂q1+∂M21(q)
∂q2− ∂M12(q)
∂q2
]= 0,
c211(q) =1
2
[∂M11(q)
∂q2+∂M12(q)
∂q1− ∂M21(q)
∂q1
]= −m2l1lc2 sen(q2), (3.26)
c212(q) =1
2
[∂M21(q)
∂q2+∂M22(q)
∂q1− ∂M21(q)
∂q2
]= 0,
c221(q) =1
2
[∂M12(q)
∂q2+∂M12(q)
∂q2− ∂M22(q)
∂q1
]= −m2l1lc2 sen(q2),
c222(q) =1
2
[∂M22(q)
∂q2+∂M22(q)
∂q2− ∂M22(q)
∂q2
]= 0.
De tal forma que los elementos de la matriz centrıfuga y de Coriolis C(q, q) se obtienen
utilizando la ecuacion (3.25) y los resultados de (3.26) obteniendo ası
C11(q, q) = −m2l1lc2 sen(q2)q2 ,
C12(q, q) = −m2l1lc2 sen(q2)[q1 + q2] , (3.27)
C21(q, q) = m2l1lc2 sen(q2)q1 ,
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 dinamico 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) estan definidos en (3.23) y los elementos
de la matriz centrifuga y de Coriolis estan definidos en (3.27).
3.3. Modelo dinamico de robots actuado por motores de C.D. 25
Figura 3.4: Diagrama esquematico de un motor de corriente directa (C.D.) con imanpermanente.
3.3. Modelo dinamico de robots actuado por motores
de C.D.
Para la mayorıa de los robots manipuladores el torque τ es desarrollado por ac-
tuadores electromecanicos como los motores de C.D., los cuales tienen su propia dinamica.
La fuerza desarrollada es el resultado de una dinamica de transformacion de la entrada
del actuador [12]. Esta entrada puede ser corriente o voltaje en el caso de actuadores
electromecanicos como los motores de C.D.
Estos actuadores pueden ser modelados por ecuaciones diferenciales lineales de
segundo orden. El modelo dinamico que relaciona la entrada de voltaje u aplicado al motor
con la salida de torque o par aplicado τ desarrollada por el motor despues del juego de
engranes es [12],
Jmq + fv q + fs(q) +τ
r2=kmru, (3.29)
donde q, q, q ∈ IR denotan la posicion, velocidad y aceleracion 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 friccion
viscosa, fs(q) es la funcion de friccion seca no lineal del motor, km es una constante de
conversion de voltaje a torque y r es la relacion de reduccion de engranes en el robot. En
la figura 3.4 se puede observar un diagrama esquematico del motor2.
Considerando que en las n uniones del robot manipulador son utilizados motores
2Diagrama inspirado de [12], pagina 83.
3.3. Modelo dinamico de robots actuado por motores de C.D. 26
C.D. puede obtener una representacion [12]
Jq + Fv q + fs(q) +Rτ = Ku, (3.30)
donde q, q, q ∈ IRn son vectores que denotan la posicion, velocidad y aceleracion
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 = diagJmi ∈ IRn×n denota la matriz de inercias de los motores,
Fv = diagfvi ∈ IRn×n denota la matriz de coeficientes de friccion viscosa de los mo-
tores, fs(q) = [fs(q1), fs(q2), . . . , fs(qn)]T ∈ IRn denota el vector de friccion seca de los
motores, R = diag
1r2i
∈ IRn×n denota matriz de reduccion de engranes en las articula-
ciones, K = diag
1rikmi
∈ IRn×n denota la matriz de constantes de conversion de torque
a voltaje de los n motores y donde i = 1, 2, ..., n denota el i-esimo motor. Despejando τ
de (3.30) se obtiene
τ =1
R[Ku− Jq − Fv q − fs(q)] , (3.31)
y sustituyendo τ de (3.31) en (3.1) puede obtenerse
K−1 [(RM(q) + J)q +RC(q, q)q +Rg(q) + Fv q + fs(q)] = u, (3.32)
siendo este el modelo dinamico de un robot manipulador con motores de corriente directa
(C.D.) como actuadores. Esta ecuacion puede considerarse como un sistema dinamico 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 dinamico 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 iman
permanente. Ademas, para un robot de n grados de libertad existen n motores de C.D.
3Diagrama inspirado en [12], pagina 84.
3.3. Modelo dinamico 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 articulacion 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 dinamica electrica
es menos dominante que la dinamica mecanica.
Los torques aplicados a las articulaciones estan directamente relacionados a la
corriente de los motores de las articulaciones como
τ = Kmim, (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 = Ksau, (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
τ = KmKsau = 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 dinamico de robots actuado por motores de C.D. 28
Para obtener el modelo dinamico del robot experimental actuado por motores, se
definen las matrices J , Fv, R, K ∈ IR2×2 y el vector fs(q) ∈ IR2 de la ecuacion (3.30).
Particularmente, el robot experimental es de accionamiento directo, es decir, los ejes de
los motores estan directamente conectados a los eslabones del robot, por lo que el valor
de la reduccion 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)
fs(q) =
fs1(q1)fs2(q2)
, (3.39)
donde la funcion de friccion seca se define como una funcion de friccion seca suave asimetri-
ca tal que
fsi(qi) =
fs1mi tanh(β qi) si qi ≥ 0,
fs2mi tanh(β qi) si qi < 0,(3.40)
donde fs1mi, fs2mi > 0 ∈ IR son los coeficientes de friccion seca suave asimetrica, i = 1, 2
y β = 50 es un parametro constante de la suavidad de la friccion seca. En la figura 3.6 se
muestran ejemplos de la respuesta de la funcion tanh(βx) para diferentes valores de β.
Tomando en cuenta que la inversa de la matriz K de la ecuacion (3.37) se define
como
K−1 =1
det(K)adj(K), (3.41)
que el determinante de K es det(K) = km1km2 y que la adjunta de K es adj(K) =
diagkm2, km1, ademas km1 > 0 y km2 > 0, entonces K−1 es
K−1 =
km2
km2km10
0 km1
km2km1
=
1km1
0
0 1km2
. (3.42)
3.3. Modelo dinamico de robots actuado por motores de C.D. 29
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
−1
0
1
x
tanh
(βx)
β = 50β = 10β = 2
Figura 3.6: Respuesta de la funcion 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 ecuacion (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 ecuacion (3.43) de la siguiente forma:
M(q)q + C(q, q)q + Fv q + fs(q) = u, (3.44)
donde
M(q) = K−1(M(q) + J), (3.45)
C(q, q) = K−1C(q, q)q, (3.46)
Fv = K−1Fv, (3.47)
fs(q) = K−1fs(q). (3.48)
3.4. Parametrizacion del modelo dinamico 30
3.4. Parametrizacion del modelo dinamico
En el modelo dinamico de un robot manipulador de n grados de libertad definido
en la ecuacion (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 tambien, de los valores numericos de los diversos
parametros como los son las masas, inercias, distancias y centros de masa [12].
El modelo dinamico (3.1) puede ser reescrito como el producto de una funcion
vectorial Ψ ∈ IRn×p, la cual tiene terminos no lineales de q, q, q ∈ IRn, y el vector de
parametros dinamicos θ ∈ IRp. Esta propiedad es llamada “linealidad de los parametros”
o “parametrizacion lineal” [12], que se define de la siguiente manera.
Linealidad en terminos de los parametros dinamicos Considerese las matrices
M(q), C(q, q) y el vector g(q) del modelo dinamico (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 dimension n, Ψ(q, v, w, z) es una matriz de dimen-
sion n× p y el vector θ ∈ IRp depende exclusivamente de los parametros dinamicos
del manipulador y de su carga.
Si q, v, w, z ∈ Ln∞ entonces Ψ(q, v, w, z) ∈ Ln×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 ecuacion
(3.1) puede escribirse entonces como:
M(q)q + C(q, q)q + g(q) = Y (q, q, q)θ , (3.50)
3.4. Parametrizacion del modelo dinamico 31
donde Y (q, q, q) = Ψ(q, v, w, z) ∈ IRn×p es una matriz de funciones conocidas de la dinami-
ca del robot y θ ∈ IRp es un vector que contiene las p constantes dependientes de los
parametros dinamicos. El valor de n indica el numero de grados de libertad, mientras que
el valor entero p depende de la seleccion de los parametros dinamicos del robot.
A partir de esta propiedad puede demostrarse que el modelo dinamico de robots
con motores de C.D. como actuadores descrito en (3.32) tambien cumple una relacion de
linealidad en terminos de los parametros dinamicos 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 dinamica del robot
y los motores y θ ∈ IRp es un vector de constantes que dependen de los parametros
dinamicos del robot y los actuadores.
3.4.1. Modelo dinamico de regresion del robot experimental
Expresando las matrices M(q), C(q, q), Fv y el vector f(q) de la ecuacion (3.44) en
forma parametrizada y utilizando el modelo de friccion seca suave definido en la ecuacion
(3.40) se tiene que el modelo del robot experimental puede expresarse como:
M(q) =
θ1 + 2θ2 cos(q2) θ3 + θ2 cos(q2)
θ4 + θ5 cos(q2) θ6
, (3.52)
C(q, q) =
−θ2 sen(q2)q2 −θ2 sen(q2)[q1 + q2]
θ5 sen(q2)q1 0
, (3.53)
Fv =
θ7 0
0 θ10
, (3.54)
3.4. Parametrizacion del modelo dinamico 32
fs(q) =
fs1(q1) =
θ8 tanh(βq1), q1 ≥ 0,
θ9 tanh(βq1), q1 < 0.
fs2(q2) =
θ11 tanh(βq2), q2 ≥ 0,
θ12 tanh(βq2), q2 < 0.
(3.55)
donde β > 0 es un parametro constante y los parametros dinamicos de las matrices M(q),
C(q, q), Fv y el vector fs(q), cuyos valores dependen de los valores de los parametros
dinamicos del robot y de los motores, son:
θ1 =1
km1
[m1l
2c1 +m2[l
21 + l2c2] + I1 + I2 + J1
],
θ2 =1
km1
m2l1lc2,
θ3 =1
km1
[m2l
2c2 + I2
],
θ4 =1
km2
[m2l
2c2 + I2
],
θ5 =1
km2
m2l1lc2,
θ6 =1
km2
[m2l
2c2 + I2 + J2
],
θ7 =fv1km1
,
θ8 =fs1m1
km1
,
θ9 =fs2m1
km1
, (3.56)
θ10 =fv2km2
,
θ11 =fs1m2
km2
,
θ12 =fs2m2
km2
,
donde fs1m1, fs2m1 > 0 ∈ IR denotan los coeficientes de friccion seca asimetrica del motor
de la articulacion 1 y fs1m2, fs2m2 > 0 ∈ IR denotan los coeficientes de friccion seca
asimetrica del motor de la articulacion 2. Utilizando el modelo dinamico de la ecuacion
(3.57) se obtiene que el modelo dinamico de regresion del robot con motores de C.D. como
actuadores es
u = Ω(q, q, q)θ, (3.57)
donde θ ∈ IR12 denota el vector el parametros de la dinamica del robot y los motores
cuyos elementos estan 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. Parametrizacion del modelo dinamico 33
conocidas de q, q, q ∈ IR2 cuyos elementos son:
ω1,1 = q1,
ω1,2 = cos(q2)[2q1 + q2]
− sen(q2)q2[2q1 + q2],
ω1,3 = q2,
ω1,4 = 0,
ω1,5 = 0,
ω1,6 = 0,
ω1,7 = q1,
ω1,8 =
tanh(βq1), q1 ≥ 0,
0, q1 < 0,
ω1,9 =
0, q1 ≥ 0,
tanh(βq1), q1 < 0,
ω1,10 = 0,
ω1,11 = 0,
ω1,12 = 0,
ω2,1 = 0,
ω2,2 = 0,
ω2,3 = 0,
ω2,4 = q1,
ω2,5 = cos(q2)q1 + sen(q2)q21,
ω2,6 = q2, (3.58)
ω2,7 = 0,
ω2,8 = 0,
ω2,9 = 0,
ω2,10 = q2,
ω2,11 =
tanh(βq2), q2 ≥ 0,
0, q2 < 0,
ω2,12 =
0, q2 ≥ 0,
tanh(βq2), q2 < 0.
Modelo dinamico de regresion por articulacion
El modelo de regresion obtenido para el robot de la seccion anterior tambien
puede representarse como un conjunto de ecuaciones correspondientes a cada articulacion
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 articulacion. De tal forma el vector de parametros de la articu-
lacion 1, θa1, se define como
θa1 =[θ1 θ2 θ3 θ7 θ8 θ9
]T, (3.60)
y el vector de parametros de la articulacion 2, θa2, es
θa2 =[θ4 θ5 θ6 θ10 θ11 θ12
]T. (3.61)
3.5. Modelo nominal 34
Ası mismo, los elementos del vector de regresion de la articulacion 1, Ω1, son
ω11 = q1,
ω12 = cos(q2)[2q1 + q2]− sen(q2)q2[2q1 + q2],
ω13 = q2,
ω14 = q1, (3.62)
ω15 =
tanh(βq1), q1 ≥ 0,
0, q1 < 0,
ω16 =
0, q1 ≥ 0,
tanh(βq1), q1 < 0,(3.63)
y los elementos del vector de regresion de la articulacion 2, Ω2, son
ω21 = q1,
ω22 = cos(q2)q1 + sen(q2)q21,
ω23 = q2, (3.64)
ω24 = q2,
ω25 =
tanh(βq2), q2 ≥ 0,
0, q2 < 0,
ω26 =
0, q2 ≥ 0,
tanh(βq2), q2 < 0.
3.5. Modelo nominal
Para cualquier robot el vector de parametros dinamicos θ ∈ IRp no es unico, ya
que depende de como los parametros de interes son elegidos [12]. En ciertas ocasiones
puede ser util separar de la dinamica (3.1) los terminos para los cuales se conocen los
parametros dinamicos o para los que son independientes. En tal caso, la parametrizacion
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 parametros
dinamicos desconocidos.
3.5.1. Modelo nominal del robot experimental conociendo la
friccion
Se puede obtener el modelo nominal del robot con motores de C.D. utilizando el
modelo obtenido en la ecuacion (3.44) de tal forma que
M(q)q+ C(q, q)q+ Fv q+ fs(q) = Ω(q, q, q)θ+ M0(q)q+ C0(q, q)q+ Fv0q+ fs0(q), (3.67)
donde las matrices M0(q), C0(q, q), Fv0 y el vector fs0(q) representan respectivamente
parte ya conocida de las matrices M(q), C(q, q), Fv y el vector fs(q) que no dependen del
vector de parametros dinamicos desconocidos θ.
En este documento los parametros que se consideran desconocidos son los de
inercia y los parametros de friccion los que se consideran conocidos. Entonces, se tiene
que M0(q)q = 0, C0(q, q)q = 0, y
Fv q = Fv0q,
fs(q) = fs0(q),
obteniendose 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 parametros desconocidos de la dinamica del robot y los motores. Igualmen-
te, definiendo la ecuacion respecto al voltaje aplicado u y recordando que M0(q)q = 0,
3.5. Modelo nominal 36
C0(q, q)q = 0 se obtiene
u− Fv0q − fs0(q) = Ω(q, q, q)θ, (3.69)
y si se define un = u − Fv0q − fs0(q) puede definirse el modelo de regresion del robot de
la siguiente forma
un = Ω(q, q, q)θ, (3.70)
donde los elementos del vector θ ∈ IR6 son:
θ1 =1
km1
[m1l
2c1 +m2[l
21 + l2c2] + I1 + I2 + J1
],
θ2 =1
km1
m2l1lc2,
θ3 =1
km1
[m2l
2c2 + I2
], (3.71)
θ4 =1
km2
[m2l
2c2 + I2
],
θ5 =1
km2
m2l1lc2,
θ6 =1
km2
[m2l
2c2 + I2 + J2
],
y los elementos de la matriz Ω(q, q, q) ∈ IR2×6 son:
ω11 = q1,
ω12 = cos(q2)[2q1 + q2]− sen(q2)q2[2q1 + q2],
ω13 = q2,
ω14 = 0,
ω15 = 0,
ω16 = 0,
ω21 = 0,
ω22 = 0,
ω23 = 0,
ω24 = q1, (3.72)
ω25 = cos(q2)q1 + sen(q2)q21,
ω26 = q2.
Modelo nominal por articulacion
Igualmente, el modelo nominal obtenido en esta seccion puede representarse como
un conjunto de ecuaciones correspondientes a cada articulacion 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 articulacion. De tal forma que el vector de parametros de la
articulacıon 1, θa1 ∈ IR3, se define como
θa1 =[θ1 θ2 θ3
]T, (3.74)
y el vector de parametros de la articualcion 2, θa2 ∈ IR3, es
θa2 =[θ4 θ5 θ6
]T. (3.75)
Donde los elementos del vector de regresion de la articulacion 1, Ω1 ∈ IR3, son
ω11 = q1,
ω12 = cos(q2)[2q1 + q2]− sen(q2)q2[2q1 + q2], (3.76)
ω13 = q2,
y los elementos del vector de regresion de la articulacion 2, Ω2 ∈ IR3, son
ω24 = q1,
ω25 = cos(q2)q1 + sen(q2)q21, (3.77)
ω26 = q2.
Este modelo (3.73) se divide en dos vectores de parametros (3.74) y (3.75). Los pa-
rametros obtenidos en estos dos vectores son los correspondientes a cada articulacion. En
particular, este modelo de regresion del robot cuenta con la cualidad de que los vectores de
parametros correspondientes a cada articulacion son diferentes entre si, esto es, θa1 6= θa2.
Esto es debido a la forma en que se agrupo los parametros, resultando que, este modelo de
regresion puede ser representado como un conjunto de ecuaciones por cada articulacion.
Por lo cual, se puede definir el vector de parametros donde sus elementos son los vectores
de parametros de cada articulacion, esto es,
θ =[θTa1 θ
Ta2
]T∈ IR13. (3.78)
3.6. Cinematica directa 38
3.6. Cinematica directa
Considerese un robot manipulador de n grados de libertad fijado a una superficie.
El problema de la cinematica directa es establecer la posicion y orientacion del efector final,
o de un marco de referencia fijo al final del ultimo eslabon del robot, en terminos de las
posiciones articulares respecto a una referencia base fija. Esta referencia es comunmente
llamada “marco de referencia base” [12], [20], [21].
Este modelo, donde la posicion y orientacion 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
X =
ϕ(q)
φ(q)
, (3.80)
donde ϕ ∈ IR3 denota la posicion del efector final en el espacio cartesiano de tres di-
mensiones y φ = [γ ϑ ψ] ∈ IR3 es el conjunto de los angulos de Euler que describen la
orientacion del efector final.
3.6.1. Modelo cinematico directo del robot
Para definir el modelo cinematico directo del robot manipulador experimental se
utilizando un marco de referencia base, al cual todos los objetos estan 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 articulacion del robot como se ilustra
en la figura 3.3. Por lo tanto las coordenadas cartesianas x-y definen la posicion del
extremo del segundo eslabon con respecto al origen del sistema. La orientacion del efector
final de este robot no se tomara en cuenta para la obtencion de este modelo.
3.6. Cinematica directa 39
Las coordenadas cartesianas x-y que representan la posicion del extremo del se-
gundo eslabon que dependen de las posiciones articulares rotacionales del robot se pueden
definir como xy
= ϕ(q), (3.81)
donde q ∈ IR2 y ϕ : IR2 → IR2 esta definida como
ϕ(q) =
xy
=
l1 sen(q1) + l2 sen(q1 + q2)
−l1 cos(q1)− l2 cos(q1 + q2)
. (3.82)
Para seguir un contorno a una velocidad constante o a una velocidad preestablecida es
necesario conocer la relacion entre la velocidad del efector final y las velocidades de las
articulaciones. Por esto se obtiene la derivada temporal de la ecuacion (3.82) resultando
en
d
dtϕ(q) =
xy
=
l1 cos(q1)q1 + l2 cos(q1 + q2)[q1 + q2]
l1 sen(q1)q1 + l2 sen(q1 + q2)[q1 + q2]
. (3.83)
Igualmente se puede establecer la siguiente relacion entre las velocidades cartesianas y
articularesd
dtϕ(q) =
[∂
∂qϕ(q)
]q, (3.84)
de donde se puede definir el Jacobiano del robot manipulador como
J(q) =∂ϕ(q)
∂q, (3.85)
con lo cual se pude representar la relacion de velocidad del efector final con respecto a las
velocidades de las articulaciones comoxy
= J(q)q, (3.86)
donde
J(q) =
l1 cos q1 + l2 cos(q1 + q2) l2 cos(q1 + q2)
l1 sen q1 + l2 sen(q1 + q2) l2 sen(q1 + q2)
(3.87)
3.7. Cinematica inversa 40
es un elemento fundamental a determinar para cualquier manipulador. Claramente las
siguientes relaciones entre las aceleraciones tambien se mantienenxy
=
[d
dtJ(q)
]q + J(q)q, (3.88)
donde ddtJ(q) es la derivada temporal del Jacobiano y puede obtenerse derivando la ecua-
cion (3.87), de tal forma que
d
dtJ(q) =
−l1 sen(q1)q1 − l2 sen(q1 + q2) [q1 + q2] −l2 sen(q1 + q2) [q1 + q2]
l1 cos(q1)q1 + l2 cos(q1 + q2) [q1 + q2] l2 cos(q1 + q2) [q1 + q2]
. (3.89)
3.7. Cinematica inversa
El problema de la cinematica inversa permite obtener la posicion articular q en
terminos de la posicion y orientacion 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 cinematico inverso del robot
El modelo cinematico inverso del robot manipulador experimental se representa
de la siguiente forma q1q2
= ϕ−1(x, y), (3.91)
donde ϕ−1 : Θ→ IR2 y Θ ⊆ IR2 es el espacio operacional del robot manipulador.
Dado que las ecuaciones del modelo cinematico directo son no lineales puede ser
difıcil encontrar una solucion e incluso una solucion unica. Ademas puede ser que no haya
solucion como por ejemplo cuando las coordenadas x-y estan fuera del alcance del brazo.
Ası mismo, como se pude ver en la figura 3.7, si las coordenadas dadas estan al alcance
del brazo del robot manipulador pueden existir dos soluciones las cuales son denominadas
3.7. Cinematica inversa 41
Figura 3.7: Diagrama de las dos posibles soluciones de la cinematica inversa para unaposicion determinada denominadas −−“Codo arriba” y —“Codo abajo”.
configuraciones “codo arriba” y “codo abajo” o puede haber una unica solucion si el brazo
del robot esta completamente extendido para alcanzar las coordenadas x-y.
Considerese el diagrama de la figura 3.8(a). Utilizando la ley de los cosenos del
Apendice 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
cos(q2) =x2 + y2 − l21 − l22
2l21l22
= D, (3.92)
de tal forma que
q2 = cos−1
(x2 + y2 − l21 − l22
2l21l22
). (3.93)
Ası mismo, ya que q2 esta dado por la ecuacion (3.92), esta puede expresarse como
sen(q2) = ±√
1−D2, (3.94)
por lo tanto, q2 esta dado por
q2 = atan2(±√
1−D2, D). (3.95)
3.7. Cinematica inversa 42
(a) Posicion articular q1 (b) Posicion articular q2
Figura 3.8: Diagrama esquematico del robot para obtener la solucion de modelo cinematicoinverso.
La ventaja de la ecuacion (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, basandose en el diagrama de la figura 3.8(b) y considerando
el angulo σ que va del eje y al lado a, el angulo γ que se forma del lado l1 al lado a y el
triangulo rectangulo que se obtiene con los lados l1, la perpendicular al lado l1 y el lado
a se puede obtener que
q1 = σ − γ = atan2
(x
−y
)− atan2
(l2 sin(q2)
l1 + l2 cos(q2)
). (3.96)
Notese que el angulo 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 cinematica
diferencial y sus derivadas temporales [20]. Esto es valido solo si el robot no cae en alguna
3.7. Cinematica inversa 43
singularidad, esto es, mientras el Jacobiano sea cuadrado y no singular. Por lo tanto,q1q2
= J−1(q)
xy
, (3.97)
q1q2
= −J−1(q)
[d
dtJ(q)
]J−1(q)
xy
+ J−1(q)
xy
, (3.98)
donde ddt
[J(q)] se define en (3.89) y J−1(q) denota la inversa de la matriz Jacobiano la
cual es
J−1(q) =
sen(q1 + q2)
l1 sen(q2)−cos(q1 + q2)
l1 sen(q2)
−l1 sen(q1)− l2 sen(q1 + q2)
l1l2 sen(q2)
l1 cos(q1) + l2 cos(q1 + q2)
l1l2 sen(q2)
. (3.99)
Notese que el termino sen(q2) aparece en el denominador de todos los terminos de
J−1(q) y que para q2 = nπ, con n ∈ Z y q1 ∈ IR, le corresponde una configuracion singular.
Fısicamente esas configuraciones representan que el segundo eslabon esta completamente
extendido o doblado sobre el primer eslabon. Tıpicamente estas configuraciones singulares
son en las que el efector final del robot esta localizado en el lımite fısico del espacio de
trabajo, esto es, el espacio fısico que el extremo del eslabon 2 puede alcanzar.
Capıtulo 4
Identificacion del modelo dinamico
del robot manipulador
4.1. Introduccion
Los esquemas de control de robots estudiados en la literatura requieren un modelo
dinamico del robot. La presicion, funcionamiento, estabilidad o robustez de estos contro-
ladores dependen, en gran medida, de que tan exactos son los parametros que describen
el modelo dinamico [11].
Una gran parte de estos algoritmos de control de posicion 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 parametros 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 determinacion de los parametros dinamicos es util para algunos esquemas de
control y crucial para otros. Ademas, estos valores de los parametros son necesarios para
la simulacion de las ecuaciones dinamicas.
En caso de que no se tenga tal informacion del sistema, es necesario realizar la
identificacion de los parametros desconocidos del modelo dinamico del robot.
44
4.2. Identificacion de robots manipuladores 45
4.2. Identificacion de robots manipuladores
Entre los diversos metodos de identificacion, existen tres metodos principales para la
estimacion de los parametros del modelo de un robot [11]:
Experimentos fısicos. Se desensambla el robot separando cada eslabon y mediante
experimentos fısicos se pueden obtener los siguientes parametros:
• La masa puede ser pesada directamente.
• Las coordenadas del centro de masa pueden ser estimadas mediante la deter-
minacion de puntos de contrapeso del eslabon.
• Los elementos de la diagonal de la tension de inercia podrıan ser obtenidos por
movimientos pendulares.
Este metodo 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 calculo de los parametros de inercia de un modelo tridimen-
sional. Este metodo es propenso a errores debido a que es complicado, en general,
definir la geometrıa de los eslabones con exactitud.
Identificacion. Este enfoque esta basado en el analisis del comportamiento de
las entradas y salidas del robot y la estimacion de los valores de los parametros,
minimizando la diferencia entre una funcion de las variables reales del robot y su
modelo matematico. Este metodo ha sido extensamente usado y se ha encontrado
que es el mejor en terminos de facilidad de experimentacion y precision de los valores
obtenidos.
1Por sus siglas en ingles: Computer Aided Design - Diseno Asistido por Computadora2Por sus siglas en ingles: Computer Aided Manufacturer - Fabricacion Asistida por Computadora
4.2. Identificacion de robots manipuladores 46
En base a la propiedad de linealidad de los parametros del modelo dinamico del
robot explicada en la seccion 3.4 y los metodos de identificacion de mınimos cuadrados
explicados en el capıtulo 2, se lleva a encontrar la solucion a un sistema de regresion lineal
para identificar los parametros del modelo dinamico del robot.
4.2.1. Procedimiento de identificacion
Varios esquemas han sido propuestos en la literatura para la identificacion de
los parametros dinamicos [6], [10], [11]. Estos esquemas tienen en comun las siguientes
caracterısticas:
El uso de un modelo que es lineal en los parametros dinamicos.
La determinacion de sistemas lineales de ecuaciones aplicando el modelo de identifi-
cacion a un numero los suficientemente grande de muestras de las estradas y salidas
del robot.
La estimacion de los valores de los parametros usando tecnicas de regresion lineal
(mınimos cuadrados).
4.2.2. Estimacion de los parametros de friccion
Los parametros del modelo dinamico del robot correspondientes a la friccion son
linealmente independientes de los parametros de inercia. Por lo tanto la identificacion
de los parametros del modelo dinamico del robot correspondientes a la friccion se puede
hacer en dos enfoques [11]:
Identificacion global de los parametros de inercia y friccion. En este enfoque, se
considera la estimacion de los parametros de la inercia junto con los de friccion.
Identificacion por separado de los parametros de friccion e inercia. En este enfoque,
se identifican inicialmente los parametros de friccion usando una senal de entrada
4.2. Identificacion de robots manipuladores 47
determinada en una sola articulacion y ası sucesivamente para cada articulacion.
Estos parametros son entonces considerados como conocidos para la identificacion
de los parametros de inercia.
4.2.3. Calculo de las velocidades de las articulaciones y modelo
dinamico filtrado
Los elementos de la matriz de regresion estan en funcion de q, q, y q. Los robots
industriales estan equipados comunmente con sensores de posicion de buena exactitud
aunque pueden contener ruido de alta frecuencia debido a errores de cuantizacion. Por
el contrario, los sensores de velocidad proveen informacion ruidosa, y los sensores de
aceleracion no son utilizados en robots industriales. Debido a esto, las velocidades y ace-
leraciones articulares tienen que ser obtenidas por medio de diferenciacion numerica de la
posicion articular. Sin embargo, la derivada, y mas aun la segunda derivada, de la posicion
articular amplifican el ruido de cuantizacion, el cual a su vez es de alta frecuencia, debido
a que el proceso de diferenciacion se comporta como un filtro pasa altas [11].
Calculo de velocidad articular
Una solucion para el calculo de la velocidad articular es filtrar las datos obtenidos
de la posicion articular para el proceso de identificacion. 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 traves del siguiente procedimiento:
En primera instancia se disena un filtro digital pasabajas fp(z) que filtre las altas
frecuencias del cuantizado de los codificadores opticos de los motores y permita pasar
las bajas frecuencias de la trayectoria deseada. En el Apendice C se presentan las
caracterısticas del diseno del filtro que se uso en los experimentos de identificacion.
4.2. Identificacion de robots manipuladores 48
Una vez obtenido el filtro, este se implementa a traves del esquema de filtrado de
fase cero denominado filtrado en ambas direcciones “Adelante-Atras” para evitar la
distorsion de las muestras de la posicion articular. Para una explicacion a detalle
de este esquema de filtrado de fase cero, consultese [22]. Este esquema de filtrado
se implementa de manera sencilla mediante la funcion “filtfilt” de Matlab. Por lo
anterior, se filtra la posicion articular q(k) implementando el filtro disenado fp(z)
mediante la funcion de Matlab “filtfilt” para obtener la posicion filtrada qf (k).
Finalmente, el calculo de velocidad se realiza, como se propone en [5], [10], [11],
utilizando el algoritmo de diferenciacion central para evitar el corrimiento de fase.
Esto es, la velocidad se obtiene con
q(k) =qf (k + 1)− qf (k − 1)
2T, (4.1)
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 funcion “filtfilt” y
el filtro fp(z).
Modelo dinamico filtrado
Para evitar el calculo de las aceleraciones articulares se puede utilizar un modelo
de identificacion en el cual no esten presentes las aceleraciones articulares, como lo son
el modelo de energıa [4], el modelo de potencia [4], [5], o utilizando un filtro estocastico
como el filtro de Kalman extendido [6], [8], [10]. Ası mismo, se puede obtener el modelo
dinamico filtrado como en [4], [9], [23]. En este modelo se utiliza un filtro pasa bajas
para evitar la medicion o estimacion de las aceleraciones articulares. Para el desarrollo de
este modelo filtrado se expande la ecuacion (3.57) para aislar los elementos que estan en
funcion de las aceleraciones articulares.
El modelo dinamico del robot obtenido en la ecuacion (3.44) puede ser reescrito
4.2. Identificacion de robots manipuladores 49
de la siguiente forma
d
dt
[M(q)q
]−[d
dtM(q)
]q + C(q, q)q + Fv q + fs(q) = u. (4.2)
donde ambas ecuaciones (3.44) y (4.2) son igualmente validas. Ası mismo, considerando
la representacion de la ecuacion (4.2), el modelo de regresion (3.57) puede ser reescrito de
tal forma que se consideran por separado los elementos que son funcion de la aceleracion
con lo que se puede escribir [d
dtΩa(q, q) + Ωb(q, q)
]θ = u, (4.3)
donde
Ωa(q, q)θ = M(q)q, (4.4)
Ωb(q, q)θ = −[d
dtM(q)
]q + C(q, q)q + Fv q + fs(q). (4.5)
Se obtendra la version 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 version filtrada del modelo es
[Ωaf (q, q) + Ωbf (q, q)] θ = uf , (4.7)
donde, considerando
f(s) =λ
s+ λ, (4.8)
con λ denotando la frecuencia de corte del filtro, se tiene que
uf (t) = uf (0) + λ
[∫ t
0
[u(t)− uf (t)] dt], (4.9)
Ωaf (q(t), q(t)) = Ωaf (q(0), q(0)) + λ
[Ωa(q(t), q(t))−
∫ t
0
Ωaf (q(t), q(t))dt
], (4.10)
y finalmente
Ωbf (q(t), q(t)) = Ωbf (q(0), q(0)) + λ
[∫ t
0
[Ωb(q(t), q(t))− Ωbf (q(t), q(t))] dt
]. (4.11)
4.3. Identificacion del modelo dinamico 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 metodo de identificacion que tome en cuenta el modelo fltrado (4.12)
no requiere la medicion de la aceleracion articular q ∈ IRn. Todos los experimentos de
identificacion 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. Identificacion del modelo dinamico del robot
4.3.1. Modelo dinamico filtrado del robot
Para superar la necesidad de obtener la aceleracion q se aplica a la ecuacion del
modelo dinamico definido en (3.59) el filtro pasa bajas f(s) definido en (4.8) obteniendose
un modelo dinamico de regresion filtrado que puede ser escrito como
ufi = Ωfi(q, q)θai, (4.14)
donde
ufi = f(s)ui,
Ωfi(q, q) = f(s)Ωi(q, q),
i = 1, 2 denota la articulacion del robot, θai denota los parametros presentes solamente
en la articulacion i definidos como
θa1 =[θ1 θ2 θ3 θ7 θ8 θ9
]T, (4.15)
4.3. Identificacion del modelo dinamico del robot 51
y
θa2 =[θ4 θ5 θ6 θ10 θ11 θ12
]T. (4.16)
Ası mismo, los elementos del vector Ωf1 son
ωf11 = sf(s)q1,
ωf12 = sf(s) cos(q2)[2q1 + q2],
ωf13 = sf(s)q2,
ωf14 = f(s)q1, (4.17)
ωf15 = f(s)
tanh(βq1), q1 ≥ 0,
0, q1 < 0,
ωf16 = f(s)
0, q1 ≥ 0,
tanh(βq1), q1 < 0,
y los elementos del vector Ωf2 son
ωf21 = sf(s)q1,
ωf22 = sf(s) cos(q2)q1 + f(s) sen(q2)q1 [q1 + q2] ,
ωf23 = sf(s)q2,
ωf24 = f(s)q2, (4.18)
ωf25 = f(s)
tanh(βq2), q2 ≥ 0,
0, q2 < 0,
ωf26 = f(s)
0, q2 ≥ 0,
tanh(βq2), q2 < 0.
Como se mostro en la seccion anterior, la implementacion de las ecuaciones (4.17)
y (4.18) no requiere la medicion de la aceleracion q ∈ IR2.
El robot experimental es un sistema de entrada-salida de datos muestreados.
Entonces, para fines de experimentacion los filtros
f1(s) = f(s) =λ
s+ λ, (4.19)
f2(s) = sf(s) =λs
s+ λ, (4.20)
4.3. Identificacion del modelo dinamico del robot 52
son implementados en su forma discreta. Esta forma discreta es obtenida aplicando el
metodo de retencion de orden cero. La funcion de transferencia de la retencion de orden
cero es dada por [24]
G0(s) =(1− e−sT )
s. (4.21)
Aplicando el metodo al filtro (4.19) se tiene que
f1(s) = G0(s)f1(s) = (1− e−Ts)(
λ
s(s+ λ)
), (4.22)
y realizando la expansion en fracciones parciales se obtiene
f1(s) = (1− e−sT )
(1
s− 1
s+ λ
). (4.23)
Utilizando las relaciones [24]
e−kTs = z−k, (4.24)
1
s=
z
z − 1, (4.25)
1
s+ a=
z
z − e−aT, (4.26)
se obtiene que la representacion discreta de (4.19) puede ser expresada por
fd1(z) =[1− z−1
] [ z
z − 1− z
z − e−λT
], (4.27)
la cual puede ser reescrita como
fd1(z) =1− eλT
z − e−λT. (4.28)
Ası mismo, aplicando las mismas ideas al filtro (4.20) se obtiene
f2(s) = G0(s)sf(s) = (1− e−Ts)(
λs
s(s+ λ)
)= λ(1− e−Ts)
(1
s+ λ
). (4.29)
Utilizando las relaciones (4.24) y (4.25), es posible obtener la representacion discreta de
(4.20) como
fd2(z) = λ[1− z−1
] [ z
z − e−λT
],
=λ[z − 1]
z − e−λT. (4.30)
4.3. Identificacion del modelo dinamico del robot 53
4.3.2. Proceso de identificacion del robot
Los parametros del vector θ son estimados como la solucion por mınimos cuadra-
dos de un sistema lineal sobredeterminado el cual es obtenido por el muestreo del modelo
dinamico del robot a traves de una trayectoria q(t), q(t) q(t). Considerese que se tiene N
muestras del vector de excitacion 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 ecuacion
(4.14) donde ufi ∈ IR denota los voltajes filtrados de cada articulacion i y Ωfi(q, q) ∈ IR6
denota el vector de regresion filtrado de cada articulacion i cuyos elementos son funciones
conocidas de q(k), q(k) y estan definidos en las ecuaciones (4.17) y (4.18), y θai ∈ IR6
son los vectores de parametros desconocidos de la dinamica de cada articulacion i del
robot. Cabe recordar que, para el procedimiento de identificacion, la velocidad angular
es estimada mediante la funcion “filtfilt” y el algoritmo de diferenciacion central de la
ecuacion (4.1).
Lazo de control para el procedimiento de identificacion
Para una correcta ejecucion del experimento de identificacion, es necesario definir
una trayectoria deseada como referencia articular la cual debe de excitar toda la dinamica
para una mejor identificacion de los parametros del modelo del robot. Notese que los
experimentos no pueden realizarse en lazo abierto debido a que no es un sistema estable,
por lo tanto, el procedimiento de identificacion es realizado en lazo cerrado, que es lo se
busca con la implementacion del controlador. El controlador utilizado es el controlador
proporcional-derivativo (PD) descrito por
u(t) = Kpq +Kv˙q, (4.31)
dondeKp,Kv son matrices definidas positivas cuyos valores sonKp = diag 5, 5 [Volt/rad]
y Kv = diag 0.25, 0.25 [Volt seg/rad],
q = qd − q, (4.32)
4.3. Identificacion del modelo dinamico del robot 54
Figura 4.1: Diagrama esquematico de la implementacion del proceso de identificacion delrobot. El bloque con etiqueta ADC denota el algoritmo de diferenciacion central (4.1).
denota el error de posicion articular,
˙q = qd − q, (4.33)
denota el error de velocidad articular y qd denota la trayectoria deseada en el espacio
articular definida como
qd(t) =
sen (ω1 t)
sen (π + ω2 t)
[rad], (4.34)
donde ω1 = 1.5π [rad/seg] y ω2 = 2π [rad/seg]. Cabe mencionar que para la imple-
mentacion del controlador de trayectorias se realiza la estimacion de velocidad por el
procedimiento explicado en al Apendice A denominado filtro de Euler.
La identificacion del modelo dinamico filtrado del robot es realizada por medio de
los tres algoritmos de identificacion: mınimos cuadrados, mınimos cuadrados ponderado
y mınimos cuadrados recursivo. Se puede observar que el modelo dinamico de regresion
filtrado del robot (4.14) tiene la forma del modelo generalizado (2.1). De tal forma, se
considera que Φ(k) = Ωfi(q(k), q(k)) ∈ IR6, y(k) = ufi(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 esquematico sobre la implementacion del
proceso de identificacion del robot. El bloque con etiqueta ADC denota el algoritmo de
diferenciacion central (4.1). Cabe hacer notar que en el diagrama se considera el algoritmo
4.3. Identificacion del modelo dinamico del robot 55
de identificacion como un bloque independiente de los otros procesos. Por lo cual, este
mismo representa la identificacion por cualquiera de los tres algoritmo aquı presentados.
4.3.3. Resultados experimentales
Se selecciono el parametro 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 mas alta
de la trayectoria deseada es de ω2 = 2π [rad/seg], entonces se selecciono 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 dinamico.
Identificacion del robot mediante mınimos cuadrados
En referencia a la expresion del modelo filtrado del robot (4.14) se considera la
estimacion del vector de parametros θai ∈ IR6. Entonces, mediante la ecuacion (2.9), se
tiene que la estimacion por mınimos cuadrados de los parametros del modelo dinamico
del robot es
θai(k) =
[k∑j=0
ΩTfi(j)Ωfi(j)
]−1 k∑j=0
ΩTfi(j)ufi(j). (4.35)
Los resultados del algoritmo (4.35) son presentados en la tabla 4.1 que contiene los valores
numericos obtenidos de los parametros estimados en la ultima muestra del experimento.
Ası mismo, en la figura 4.2 se presenta la evolucion temporal de la estimacion de los
parametros.
Identificacion del robot mediante mınimos cuadrados ponderado
La estimacion de los parametros del modelo dinamico puede realizarse mediante
mınimos cuadrados ponderado, como se expresa en la ecuacion (2.13), que en terminos
4.3. Identificacion del modelo dinamico del robot 56
del modelo del robot resulta en
θai(k) =
[k∑j=0
ΩTfi(j)gi(j)
2Ωfi(j)
]−1 k∑j=0
ΩTfi(j)gi(j)
2ufi(j). (4.36)
La obtencion de gi(j)2 de la ecuacion (4.36), donde gi(j)
2 es el valor de pondera-
cion para cada articulacion i de cada muestra j, puede realizarse bajo diversos criterios.
Uno de ellos puede consultarse en [5] donde se realiza una ponderacion a traves de la
estimacion de la desviacion estandar de cada una de las n ecuaciones que componen un
sistema. Otras formas para realizar la estimacion de la desviacion estandar han sido im-
plementadas en [2], [10]. Otra forma de realizar la ponderacion es presentada en [8], donde
se considera una ponderacion por cada una de las muestras obtenidas de tal forma que
cada muestra tiene una constante positiva de ponderacion. En este documento se propone
el metodo de mınimos cuadrados ponderado, tal que se considera la matriz de ponderacion
como un parametro 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 ponderacion
gi(j) =1∥∥∥ufi(j)− Ωfi(j)θ∗ai
∥∥∥+ ε, (4.37)
donde i = 1, 2 denota la articulacion del robot, ufi(k) ∈ IR denota el voltaje filtrado en el
instante de muestreo j, Ωfi(j) denota el vector de regresion filtrado de cada articulacion,
y θ∗ai ∈ IR6 denota la estimacion de los parametros del robot por mınimos cuadrados dado
por
θ∗ai =
[N−1∑j=0
ΩTfi(j)Ωfi(j)
]−1 N−1∑j=0
ΩTfi(j)ufi(j). (4.38)
donde N es el numero total de muestras obtenidas. Cabe mencionar que es posible obtener
θ∗ai por algun otro metodo como la descomposicion Q-R, como se propone en [10], ası como
utilizando informacion a priori de los parametros del robot. Los resultados del algoritmo
de identificacion (4.36) son presentados en la tabla 4.1 que contiene el valor numerico
de los parametros en la ultima muestra del experimento, y la evolucion temporal de la
estimacion de los parametros se muestra en la figura 4.2.
4.3. Identificacion del modelo dinamico del robot 57
Identificacion del robot mediante mınimos cuadrados recursivo
Para la implementacion de este algoritmo de identificacion se utilizan las ecua-
ciones definidas en (2.24)-(2.28) que, aplicadas a la identificacion del robot, se pueden
expresar como
Ri(k) = Pi(k − 1)ΩTfi(k)
[1 + Ωfi(k)Pi(k − 1)ΩT
fi(k)]−1
, (4.39)
Pi(k) = Pi(k − 1)−Ri(k)Ωfi(k)Pi(k − 1), (4.40)
θai(k) = θai(k − 1) +Ri(k)[ufi(k)− Ωfi(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 parametros estimados, de cada
articulacion i correspondientemente. Para la implementacion de este algortimo de iden-
tificacion 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 estimacion por el algoritmo de
identificacion (4.39)-(4.41) son presentados en la tabla 4.1 que contiene el valor numerico
de los parametros en la ultima muestra del experimento, y en la figura 4.2 se presenta la
evolucion temporal de la estimacion de los parametros.
4.3.4. Validacion del modelo identificado
Para la validacion del modelo identificado se siguio el criterio de realizar simula-
ciones del robot, como se menciona en la seccion 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 decidio tomar los valores de la estimacion por mınimos cuadrados ponderado
dado que la evolucion temporal de la estimacion 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 Ωfi(k)θai(k) y la salida actual uf (k) converge mas rapido a cero que
4.3. Identificacion del modelo dinamico del robot 58
Tabla 4.1: Parametros estimados del modelo dinamico del robot mediante mınimos cuadra-dos (MC), mınimos cuadrados ponderado (MCP) y mınimos cuadrados recursivo (MCR).
Parametro 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
0.047
0.048
0.049θ1
2
4
6x 10
−3 θ2
0
2
4
x 10−3 θ3
0
0.01
0.02
θ4
0
0.02
0.04
θ5
0
0.01
0.02
0.03
θ6
0
0.01
0.02θ7
0
0.05
0.1θ8
−0.02
0
0.02
0.04θ9
0 10 200
0.005
0.01
θ10
Tiempo [seg]0 10 20
0
0.05
0.1
θ11
Tiempo [seg]0 10 20
−0.02
0
0.02
0.04
0.06θ12
Tiempo [seg]
Figura 4.2: Evolucion temporal de la estimacion de los parametros θ1 − θ12 del modelodinamico del robot mediante mınimos cuadrados ...., mınimos cuadrados ponderado —y mınimos cuadrados recursivo - - -. Las unidades de los parametros se listan en la tabla4.1.
4.3. Identificacion del modelo dinamico del robot 59
con los otros metodos de estimacion, aunque no se descarta que sean estimaciones del
modelo relativamente aceptables. Basandose 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 posicion de una
resolucion de 2000 [pulsos/rev]. Por lo tanto, se tiene una resolucion de 0.00314 [rad/pulso].
Debido a esto, en esta tesis, todas las simulaciones del robot son implementadas consi-
derando en la simulacion de la dinamica del robot una cuantizacion con intervalos de
0.00314 [rad] para la lectura de la posicion de las articulaciones del robot, lo cual permite
una simulacion mas realista del comportamiento del robot.
Para verificar la exactitud de la estimacion de los parametros del modelo dinami-
co se siguieron dos enfoques. En el primero, se comparo la salida del control de voltaje
muestreado durante el experimento de identificacion y se realizo la simulacion del control
de seguimiento (4.31) utilizando los parametros del modelo dinamico 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 posicion para observar el desempeno del controlador.
La comparacion del experimento y la simulacion se presentan en las figuras 4.3 y 4.4, en
donde se presentan los voltajes y errores de posicion, respectivamente. Como se puede ob-
servar en la figura 4.3 el voltaje de control simulado y el obtenido en experimentacion son
relativamente iguales, lo que implica que los parametros son los suficientemente exactos.
En el segundo enfoque, se implemento un control de seguimiento de trayectorias
pero utilizando un controlador basado en modelo. Este controlador es el controlador PD
con precompensacion definido en [26], el cual esta descrito por
u = Kpq +Kv˙q + Ω(qd, qd, qd) θ, (4.42)
donde Ω(qd, qd, qd) ∈ IR2×12 es la matriz de regresion del robot evaluada en qd, qd y
qd ∈ IR2, θ ∈ IR12 es el vector de parametros estimados del modelo dinamico del robot
mediante mınimos cuadrados ponderado de la tabla 4.1, Kp = diag5, 5 [Volt/rad] y
Kv = diag0.5, 0.5 [Volt seg/rad] son matrices positivas. Ademas, para esta validacion
4.3. Identificacion del modelo dinamico del robot 60
−4
−2
0
2
4
Voltaje de control
u1
[vol
t]
Exp. Sim.
0 2 4 6 8 10−4
−2
0
2
4
Tiempo [seg]
u2
[vol
t]
Exp. Sim.
Figura 4.3: Voltaje de control de simulacion y experimento utilizando controlador PD yparametros estimados de la identificacion por mınimos cuadrados ponderado.
−0.5
0
0.5
Error de posicion
q 1[rad
]
Exp. Sim.
0 2 4 6 8 10
−0.5
0
0.5
Tiempo [seg]
q 2[rad
]
Exp. Sim.
Figura 4.4: Error de posicion de simulacion y experimento utilizando controlador PD yparametros estimados de la identificacion por mınimos cuadrados ponderado.
4.3. Identificacion del modelo dinamico del robot 61
−4
−2
0
2
4
Voltaje de control
u1
[vol
t]
Exp. Sim.
0 2 4 6 8 10−4
−2
0
2
4
Tiempo [seg]
u2
[vol
t]
Exp. Sim.
Figura 4.5: Voltaje de control de simulacion y experimento utilizando controlador PDcon precompesacion y parametros estimados de la identificacion por mınimos cuadradosponderado.
−0.05
0
0.05
Error de posicion
q 1[rad
]
Exp. Sim.
0 2 4 6 8 10
−0.05
0
0.05
Tiempo [seg]
q 2[rad
]
Exp. Sim.
Figura 4.6: Error de posicion de simulacion y experimento utilizando controlador PDcon precompesacion y parametros estimados de la identificacion por mınimos cuadradosponderado.
4.3. Identificacion del modelo dinamico del robot 62
se utilizo una trayectoria deseada en el espacio articular definida como
qd(t) =
sen(ω1t)
sen(ω2t)
[rad], (4.43)
donde ω1 = ω2 = 1.5π [rad/seg].
Se realizo un experimento con el controlador (4.42) utilizando los parametros del
modelo dinamico identificado en la parte de precompensacion y a su vez en la simulacion se
utilizaron los parametros del modelo dinamico identificado tanto para representar el robot
como para la parte de precompesacion. Las comparaciones del experimento y la simulacion
pueden observarse en las figuras 4.5 y 4.6, donde se tiene el voltaje de control u(t) ∈ IR2
y el error de posicion 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 simulacion y experimentacion del control PD y el control
PD con precompensacion se puede concluir que los parametros estimados por mınimos
cuadrados ponderado son los suficientemente exactos para realizar experimentos de control
basado en modelo.
4.3.5. Identificacion en lınea mediante mınimos cuadrados re-
cursivo
Con el fin de realizar comparaciones con la estrategia de identificacion del modelo
dinamico de un robot manipulador como es reportado en [4], se realizaron experimentos de
identificacion en linea con el algoritmo de identificacion de mınimos cuadrados recursivo,
filtrado del modelo dinamico y estimacion de velocidad a traves del filtro de Euler. Para
la aplicacion de esta estrategia se presenta a continuacion una breve explicacion de la
aplicacion del algoritmo a la identificacion del robot.
Considerese 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. Identificacion del modelo dinamico del robot 63
de la forma
ufi(k) = Ωfi(q(k), q(k))θai (4.44)
donde ufi(k) ∈ IR es la senal del voltaje medida de cada articulacion, Ωfi(q(k), q(k)) ∈ IRpi
es el vector de regresion cuyos elementos son funciones conocidas obtenidas a partir de
las mediciones de la posicion y estimacion de la velocidad articular del robot que estan
definidos en la ecuaciones (4.17) y (4.18), θai ∈ IRpi es el vector de parametros de cada
articulacion, k = 0, 1, 2, . . . , N−1 denota el tiempo discreto de muestreo y pi es el numero
de parametros presentes en la ecuacion de cada articulacion donde p1 = p2 = 6.
Lazo de control de la identificacion
Para la estimacion de los parametros del modelo dinamico del robot se utilizo un
lazo de control mediante el controlador de la ecuacion (4.31) que es aplicado con los
mismos valores para las ganancias de control que en la estrategia de la seccion anterior,
esto es, Kp = diag5, 5 [Volt/rad] y Kv = diag0.25, 0.25 [Volt seg/rad]. Ası mismo, se
utilizo tambien 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 ecuacion (4.44) que define el modelo entrada-salida filtrado del robot
en forma discreta, se obtienen las ecuaciones del algoritmo para la identificacion de los
parametros del modelo dinamico de regresion filtrado de cada articulacion i las cuales son
Ri(k) = Pi(k − 1)ΩTfi(k)
[1 + Ωfi(k)Pi(k − 1)ΩT
fi(k)]−1
, (4.45)
Pi(k) = Pi(k − 1)−Ri(k)Ωfi(k)Pi(k − 1), (4.46)
θai(k) = θai(k − 1) +Ri(k)[ufi − Ωfi(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 parametros estimados del robot por cada articula-
4.4. Discusion de resultados 64
Figura 4.7: Diagrama esquematico del metodo de identificacion de mınimos cuadradosrecursivo, filtrado del modelo y estimacion de velocidad por el filtro de Euler.
cion. Para la implementacion de este algoritmo de identificacion se realizo la estimacion
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 dinamico y
finalmente se realiza la estimacion de los parametros de cada articulacion. En la figura 4.7
se muestra un diagrama esquematico de la aplicacion de esta estrategia de identificacion.
Ademas, se utilizo la condicion 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 identificacion
fue realizado durante un periodo de 20 segundos. La evolucion temporal de la estimacion
de los parametros del modelo dinamico se puede observar en la figura 4.8 y el ultimo valor
de cada parametro estimado por el algoritmo son presentados en la tabla 4.2.
4.4. Discusion de resultados
Se puede observar, mas notoriamente, en la tabla 4.2 y en la figura 4.8 que el
parametro θ7 tiende a un valor negativo conforme el tiempo incrementa, lo cual logica-
mente no es un valor aceptable. Cabe mencionar que se realizaron diversos experimen-
tos con este algoritmo donde se aplico el filtro de Euler cambiando el orden del mismo.
Ası mismo, se aplicaron diferentes trayectorias buscando una mejor estimacion o evolucion
temporal de la estimacion. Para ambos casos de prueba y experimentacion, se obtuvieron
4.4. Discusion de resultados 65
Tabla 4.2: Parametros estimados del robot utilizando el algoritmo de mınimos cuadradosrecursivo, filtrado del modelo y estimacion de velocidad por el filtro de Euler.
Parametro Unidades Estimacion
θ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
0.04
0.05
0.06θ1
2
4
6x 10
−3 θ2
0
0.005
0.01
θ3
0
0.01
0.02
θ4
0
0.05θ5
0
0.02
θ6
−0.01
0
0.01θ7
0
0.05
0.1θ8
−0.02
0
0.02
0.04θ9
0 10 20−5
0
5x 10
−3 θ10
Tiempo [seg]0 10 20
0
0.05
0.1
θ11
Tiempo [seg]0 10 20
−0.02
0
0.02
0.040.06
θ12
Tiempo [seg]
Figura 4.8: Evolucion temporal de la estimacion de los parametros θ1 − θ12 del modelodinamico mediante mınimos cuadrados recursivo, filtrado del modelo y estimacion develocidad por el filtro de Euler. Las unidades de los parametros se listan en la tabla 4.2.
4.4. Discusion de resultados 66
resultados en los que algunos parametros tendıan a valores negativos a medida que el
tiempo incrementaba. Mas especıficamente, los parametros correspondientes a la friccion
fueron los que presentaron dicho comportamiento. Una forma de implementar el metodo
de mınimos cuadrados recursivo es realizar la identificacion, en primera instancia, de los
parametros correspondientes a la friccion y posteriormente realizar la identificacion de los
parametros restantes considerando a los coeficientes de friccion, previamente identificados,
como conocidos. En el siguiente capıtulo se presenta el caso de estudio de este esquema
de identificacion.
En conclusion, los resultados obtenidos por el metodo de mınimos cuadrados re-
cursivo implementado en linea no resultan confiables para la estimacion de los parametros
del modelo dinamico del robot experimental. Por lo tanto, se considera que los parametros
estimados mediante la estrategia de identificacion de mınimos cuadrados ponderado y fil-
trado del modelo dinamico son lo suficientemente cercanos a los valores de los parametros
reales, lo cual pudo ser demostrado por medio de las comparaciones entre experimento y
simulacion de la seccion 4.3.4.
Capıtulo 5
Caso de estudio de identificacion
usando mınimos cuadrados recursivo
5.1. Introduccion
Como se pudo observar de los resultados obtenidos en el capıtulo anterior, los
parametros correspondientes a la friccion de cada articulacion son los parametros en los
cuales se tiene mas incertidumbre. Ademas, los parametros correspondientes a la friccion
son independientes entre si, esto es, los parametros de friccion son caracterısticos de
cada articulacion y son linealmente independientes de los parametros de inercia, por lo
tanto, pueden ser estimados individualmente para cada articulacion. Como se explica en
la seccion 4.2.2 una de las estrategias presentada en la literatura es realizar la estimacion
de los parametros correspondientes a la friccion por separado de la estimacion de los
parametros correspondientes a la inercia. Una vez identificados los parametros de friccion
estos se consideran como conocidos para realizar la estimacion de los parametros de inercia.
Este esquema de identificacion es implementado utilizando el algoritmo de mıni-
mos cuadrados recursivo lo cual permitira estudiar otro caso de estudio para la identifica-
cion por medio de este algoritmo y considerar otra estrategia de identificacion buscando
mejores resultados en la identificacion que los obtenidos en el capıtulo anterior con res-
67
5.2. Identificacion de los parametros de friccion 68
pecto a la implementacion en linea de la identificacion por mınimos cuadrados recursivo,
filtrado del modelo dinamico y estimacion de velocidad por el filtro de Euler. Cabe men-
cionar que la implementacion de la estimacion por mınimos cuadrados recursivo en linea
tiene la desventaja de no poder realizarse el filtrado de adelante y atras de la posicion
para la estimacion de velocidad. Esto lleva a implementar la obtencion de la estimacion
de velocidad por medio del filtro de Euler. Lo anterior resulta en una velocidad estimada
mas ruidosa que la que se puede obtener por los metodos fuera de linea, lo cual resulta
en una estimacion menos confiable de los parametros. Debido a esto, en este esquema de
identificacion, se utiliza una senal de voltaje definida que es aplicada al robot para realizar
la estimacion de los parametros.
En este capıtulo se presenta inicialmente la estimacion de friccion para cada arti-
culacion del robot, posteriormente se presenta la estimacion de los parametros de inercia
del robot considerando que los parametros de friccion de cada articulacion son conocidos.
Finalmente, la validacion del modelo estimado es realizada por medio de experimentos y
simulaciones de control de seguimiento.
5.2. Identificacion de los parametros de friccion
Debido a que el robot experimental es de accionamiento directo, la friccion se
debe a los motores de C.D. Siendo ası, se realizo la identificacion del modelo dinamico de
cada motor.
5.2.1. Modelo del motor
El comportamiento de un motor en cuanto a la relacion entre el voltaje aplicado
al mismo y la velocidad de giro de su eje puede representarse mediante una ecuacion
diferencial [12], [27]:
Jq + fv q + fs(q) = km u, (5.1)
5.2. Identificacion de los parametros de friccion 69
donde q ∈ IR es la velocidad angular del eje del motor, km > 0 una constante de conversion
de voltaje a torque, u el voltaje aplicado al motor, J > 0 la inercia del eje del motor,
fv > 0 el coeficiente de friccion viscosa del eje del motor y fs(q) la funcion de friccion seca
del eje del motor definida por
fs(q) =
fs1 tanh(β q), q ≥ 0,
fs2 tanh(β q), q < 0,(5.2)
donde fs1 > 0, fs2 > 0 son los coeficientes de friccion seca suave y β > 0 es un parametro
fijo. La ecuacion (5.1) se puede reescribir como
J q + fv q + fs(q) = u, (5.3)
donde la barra sobre las constantes denota la multiplicacion por el inverso de la constante
de conversion de voltaje a torque k−1m .
Modelo del motor en su forma de regresion
Midiendo apropiadamente los estados de un sistema fısico, como el caso de un
motor de C.D. modelado por la ecuacion (5.3), este puede ser parametrizado linealmente
con respecto a sus parametros constantes. Utilizando la definicion de la friccion seca (5.2),
la ecuacion (5.3) puede expresarse en su forma de regresion como
u = φT (q, q)θ, (5.4)
donde
φ(q, q) =[q q f1(q) f2(q)
]T∈ IR4 (5.5)
es el vector de funciones conocidas de la velocidad y aceleracion del motor donde se tiene
que
f1(q) =
fs1 tanh(βq), q ≥ 0,
0, q < 0,(5.6)
y
f2(q) =
0, q ≥ 0,
fs2 tanh(βq), q < 0.(5.7)
5.2. Identificacion de los parametros de friccion 70
Ası mismo, θ ∈ IR4 es el vector de parametros constantes, esto es,
θ =[J fv fs1 fs2
]T. (5.8)
Filtrado del modelo del motor
La aceleracion q esta presente en la ecuacion (5.4). Por lo tanto, para realizar la
estimacion del vector θ del modelo del motor es necesario la medicion o estimacion de la
aceleracion q ∈ IR. Para evitar esta situacion, se plantea el filtrado el modelo dinamico de
regresion (5.4) del motor mediante el filtro pasabajas definido en la ecuacion (4.8) para
la implementacion del esquema de identificacion. Este filtro se aplica en ambos lados del
modelo de regresion (5.4). Por lo tanto, el modelo dinamico de regresion 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 regresion filtrado se puede expresar como
φTf (q) = f(s)[sq q f1(q) f2(q)
]T. (5.12)
Siguiendo la discusion de la seccion 4.2.3, es posible demostrar que con la implementacion
de las ecuaciones (5.10)-(5.11), la medicion de la aceleracion q ∈ IR es evitada. Para fines
de experimentacion, los filtros f1(s) = f(s) y f2(s) = sf(s) son implementados en su
forma discreta como fd1(z) = 1−e−Tλz−e−Tλ y fd2(z) = λ[z−1]
z−e−λT , respectivamente. Ver discusion
de la seccion 4.3.1.
5.2. Identificacion de los parametros de friccion 71
5.2.2. Aplicacion del metodo a la identificacion de un motor de
C.D.
Usando la ecuacion (5.9), y considerando que se realizan mediciones discretas de
la entrada de voltaje u(k), la posicion angular q(k), y se realiza la estimacion de velocidad
angular q(k) mediante al filtro de Euler, el modelo dinamico de regresion 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 ecuacion (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 ecuacion (5.13) que define el modelo entrada-salida del motor, se obtienen
las ecuaciones del algoritmo para la identificacion de los parametros del modelo dinamico
de regresion filtrado del motor las cuales son
R(k)=P (k − 1)φf (q(k))[1 + φTf (q(k))P (k − 1)φf (q(k))
]−1, (5.14)
P (k)=P (k − 1)−R(k)φTf (q(k))P (k − 1), (5.15)
θ(k)= θ(k − 1) +R(k)[uf − φTf (q(k))θ(k − 1)
], (5.16)
donde θ(k) es el vector de parametros estimados definido como
θ =[J fv fs1 fs2
]T, (5.17)
el cual denota la estimacion de vector de parametros [J fv fs1 fs2]T .
5.2.3. Identificacion del motor de la articulacion 1
Para la implementacion de la estimacion de los parametros del modelo del motor
de la primera articulacion se empleo una senal senoidal de excitacion de voltaje definida
5.2. Identificacion de los parametros de friccion 72
Tabla 5.1: Parametros estimados de lo motores de las articulaciones del robot mediantemınimos cuadrados recursivo.
Parametro Unidades Motor 1 Motor 2
J Kg-m-volt/[N-rad] 0.0367 0.0167
fv Volt-seg/rad 0.0077 0.0033
fs1 Volt 0.0363 0.0738
fs2 Volt 0.0247 0.0098
como
u(t) = 0.7 sen(ω1 t) [volt], (5.18)
donde ω1 = 1.5π [rad/seg]. Ademas, se utilizo la condicion 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
identificacion fue realizado en un periodo de 30 segundos. La evolucion temporal de la
estimacion de los parametros del modelo del motor de la articulacion 1 se muestran en la
figura 5.1. Ası mismo, en la tabla 5.1 se presentan los valores de los parametros estimados
arrojado el termino del experimento de identificacion.
5.2.4. Identificacion del motor de la articulacion 2
Para la estimacion de los parametros del motor de la segunda articulacion se
empleo una senal senoidal de voltaje de
u(t) = 0.8 sen(ω2 t) [volt], (5.19)
donde ω2 = 2π [rad/seg]. Se realizo la identificacion 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
duracion de 30 segundos. Los resultados del experimento de identificacion son presentados
en la tabla 5.1 que contiene los valores de los parametros estimados obtenidos al termino
del experimento y en la figura 5.2 se presenta la evolucion temporal de la estimacion de
los parametros estimados del modelo del motor 2.
5.2. Identificacion de los parametros de friccion 73
0.03
0.035
0.04
0.045J
[Kg-
m-v
olt/
N-r
ad]
0
0.005
0.01
0.015fv
[Vol
t-se
g/ra
d]
0 10 20 300
0.02
0.04
0.06
0.08
0.1fs1
Tiempo [seg]
[Vol
t]
0 10 20 30
0
0.02
0.04
fs2
Tiempo [seg]
[Vol
t]
Figura 5.1: Evolucion temporal de la estimacion de los parametros J , fv, fs1 y fs2 delmodelo del motor de la articulacion 1.
0.014
0.016
0.018
0.02J
[Kg-
m-v
olt/
N-r
ad]
0
0.002
0.004
0.006
0.008
0.01fv
[Vol
t-se
g/ra
d]
0 10 20 300
0.05
0.1
fs1
Tiempo [seg]
[Vol
t]
0 10 20 30−0.02
0
0.02
0.04
0.06fs2
Tiempo [seg]
[Vol
t]
Figura 5.2: Evolucion temporal de la estimacion de los parametros J , fv,fs1 y fs2 delmodelo del motor de la articulacion 2.
5.3. Identificacion del modelo dinamico del robot conociendo la friccion 74
5.3. Identificacion del modelo dinamico del robot co-
nociendo la friccion
En esta seccion se presenta la identificacion de los parametros de inercia del robot
considerando los coeficientes de friccion como conocidos los cuales son los obtenidos para
cada uno de los dos motores de las articulaciones en la seccion anterior.
5.3.1. Modelo del robot
Como se menciono en la seccion 4.2.2 la identificacion puede llevarse a cabo,
primero, estimando los parametros de friccion de los motores de C.D. de las articulaciones,
lo que se realizo en la seccion 5.2.3. Segundo, para realizar la identificacion del modelo
dinamico del robot se considera el modelo nominal del robot obtenido en la ecuacion
(3.73). En este modelo se considera la dinamica de la friccion como conocida de tal forma
que se obtiene un modelo resultante con solo la dinamica de inercia. Una vez identificados
los coeficientes de friccion, se procede a identificar los parametros de inercia del robot, esto
es, parametros θ1-θ6 del modelo (3.73). Para obtener un modelo en el cual no este presente
la aceleracion articular q se utiliza el modelo dinamico de regresion filtrado del modelo
nominal, el cual puede ser escrito como
ufi = Ωfi(q, q)θai, (5.20)
donde i = 1, 2, θai ∈ IR3 son los vector de parametros a identificar del modelo del robot,
ufi = f(s)uni ∈ IR, (5.21)
es el voltaje filtrado de cada articulacion, f(s) es el filtro pasabajas definido en la ecuacion
(4.8) y
uni = ui − fviqi − fs(qi), (5.22)
con fvi los coeficientes de friccion estimados de los motores y fs(qi) la funcion de friccion
seca definida en (5.2) evaluada para q1 con los coeficientes de friccion seca estimados del
5.3. Identificacion del modelo dinamico del robot conociendo la friccion 75
motor 1 y para q2 con los coeficientes de friccion seca estimados del motor 2, los cuales se
encuentran listados en la tabla 5.1. Ası mismo,
Ωfi(q, q) = f(s)Ωi(q, q, q) ∈ IR3, (5.23)
donde los elementos del vector de regresion filtrado Ωf1(q, q) de la articulacion 1 son
ω11 = sf(s)q1,
ω12 = sf(s) cos(q2)[2q1 + q2], (5.24)
ω13 = sf(s)q2, (5.25)
y los elementos del vector de regresion filtrado Ωf2(q, q) de la articulacion 2 son
ω21 = sf(s)q1,
ω21 = sf(s) cos(q2)q1 + f(s) sen(q2)q21 + f(s) sen(q2)q1q2, (5.26)
ω23 = sf(s)q2. (5.27)
5.3.2. Algoritmo de identificacion
Con el modelo de regresion nominal del robot definido en la ecuacion (5.20), y
considerando que se realizaron mediciones discretas de la entrada de voltaje ui(k) ∈ IR, la
posicion articular q(k) ∈ IR2 y el uso del filtro de Euler para estimar la velocidad articular
qi(k) ∈ IR2, es posible representar el modelo dinamico filtrado del robot en forma discreta
como
ufi(k) = Ωfi(q(k), q(k))θai, (5.28)
donde ufi(k) ∈ IR se obtiene de (5.21), Ωfi(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 ecuacion (5.28), que define el modelo entrada-salida
del robot, se obtienen las ecuaciones del algoritmo para la identificacion de los parametros
del modelo dinamico de regresion filtrado del robot. Estas ecuaciones resultantes son las
ya presentadas en las ecuaciones (4.39)-(4.41), definidas para la identificacion del robot en
5.3. Identificacion del modelo dinamico del robot conociendo la friccion 76
Figura 5.3: Diagrama del esquema de identificacion de mınimos cuadrados recursivo con-siderando la friccion del robot como conocida.
el capıtulo anterior, salvo que, para la implementacion de este esquema de identificacion
se tiene que los vectores de regresion Ωfi ∈ IRpi y los vectores de parametros θai ∈ IRpi
son de dimensiones tales que p1 = p2 = 3. Ası mismo, se utiliza una senal senoidal de
voltaje que se aplica a el robot definda como
u(t) =
sen(ω1 t)
sen(π + ω2 t)
[volt], (5.29)
donde ω1 = 2.4π [volt/seg] y ω2 = 6π [volt/seg]. En la figura 5.3 se presenta un diagrama
esquematico de la implementacion de este proceso de identificacion del robot. Para la
implementacion 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 evolucion temporal de la estimacion de los parametros de
inercia del robot se pueden observar en la figura 5.4. Ademas, los valores numericos de los
parametros estimados arrojados al termino del experimento de identificacion, parametros
θ1 − θ6, son presentados en la tabla 5.2 ası como los parametros correspondientes a la
friccion de las articulaciones del robot, parametros θ7 − θ12.
5.3. Identificacion del modelo dinamico del robot conociendo la friccion 77
Tabla 5.2: Parametros estimados θ1-θ6 del robot utilizando mınimos cuadrados recursivoconsiderando los parametros de friccion θ7-θ12 de las articulaciones como conocidos.
Parametro Unidades Estimacion
θ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
0
0.02
0.04
0.06
0.08θ1
[Kg-
m-v
olt/
N-r
ad]
0
0.001
0.002
0.003
0.004θ2
[Kg-
m-v
olt/
N-r
ad]
0
0.002
0.004
θ3
[Kg-
m-v
olt/
N-r
ad]
0
0.01
0.02
0.03θ4
[Kg-
m-v
olt/
N-r
ad]
0 10 20 30 400
0.01
0.02
θ5
[Kg-
m-v
olt/
N-r
ad]
Tiempo [seg]0 10 20 30 40
0
0.01
0.02
0.03θ6
[Kg-
m-v
olt/
N-r
ad]
Tiempo [seg]
Figura 5.4: Evolucion temporal de la estimacion de los parametros θ1 − θ6 del modelodinamico utilizando mınimos cuadrados recursivo y considerando como conocida la fricciondel robot.
5.4. Validacion de los parametros estimados del robot 78
5.4. Validacion de los parametros estimados del ro-
bot
Igual que en la seccion 4.3.4, se siguieron dos enfoques para realizar la validacion
de la estimacion de los parametros 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) esta definida en la ecuacion (4.43). En el
primero enfoque se implementa un control PD, el cual esta definido en la ecuacion (4.31),
donde el modelo identificado del robot es utilizado para la simulacion de la dinamica del
robot. En el segundo enfoque, se implementa el controlador PD con precompensacion. De
tal forma que, en el experimento se implemento la precompensacion utilizando el mode-
lo estimado y en la simulacion se utilizo el modelo estimado, tanto en la dinamica del
robot como en la precompensacion del controlador. Este controlador esta definido en la
ecuacion (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 validacion se comparan los voltajes de control muestreados de los
experimentos con los obtenidos por medio de simulacion. 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 posicion articular para ambos controladores, tanto en simulacion como en experimento.
5.5. Discusion de resultados
Se puede observar que los parametros estimados a traves de la estrategia de
identificar en primera instancia los parametros de friccion no resultan parametros con
valores negativos como los obtenidos en la seccion 4.3.5, cuando se trataron de identificar
simultaneamente todos los parametros. Por lo cual, para este robot fue conveniente iden-
tificar en primera instancia la friccion y luego los demas parametros del robot. Como se
5.5. Discusion de resultados 79
−4
−2
0
2
4Voltaje de control
u1
[vol
t]
Exp. Sim.
0 2 4 6 8 10−4
−2
0
2
4
u2
[vol
t]
Tiempo [seg]
Exp. Sim.
Figura 5.5: Voltaje de control de simulacion y experimento utilizando controlador PD yparametros estimados de la identificacion conociendo la friccion.
−0.5
0
0.5
Error de posicion
q 1[rad
]
Exp. Sim.
0 2 4 6 8 10
−0.5
0
0.5
q 2[rad
]
Tiempo [seg]
Exp. Sim.
Figura 5.6: Error de posicion de simulacion y experimento utilizando controlador PD yparametros estimados de la identificacion conociendo la friccion.
5.5. Discusion de resultados 80
−4
−2
0
2
4Voltaje de control
u1
[vol
t]
Exp. Sim.
0 2 4 6 8 10−4
−2
0
2
4
u2
[vol
t]
Tiempo [seg]
Exp. Sim.
Figura 5.7: Voltaje de control de simulacion y experimento utilizando controlador PD conprecompensacion y parametros estimados de la identificacion conociendo la friccion.
−0.1
0
0.1
0.2
0.3
Error de posicion
q 1[rad
]
Exp. Sim.
0 2 4 6 8 10
0
0.1
0.2
q 2[rad
]
Tiempo [seg]
Exp. Sim.
Figura 5.8: Error de posicion de simulacion y experimento utilizando controlador PD conprecompensacion y parametros estimados de la identificacion conociendo la friccion.
5.5. Discusion de resultados 81
puede observar de los resultados para el controlador PD, los errores de posicion y voltajes
de control obtenidos por simulacion y experimento pueden considerarse muy similares.
Sin embargo, la comparacion de los resultados de la simulacion y experimento con el
controlador PD con precompesancion no resultan tan similares. Ademas, la desventaja
de la implementacion de este esquema de identificacion es el mayor numero de experi-
mentos que se tienen que realizar. Especıficamente, se tienen que realizar experimentos
de identificacion para estimar la friccion de cada motor y luego hacer un experimento de
identificacion para estimar los parametros asociados a la matriz de inercia y a la matriz de
Coriolis. Esto conlleva un mayor tiempo de procesamiento de datos. Ademas, el metodo
de identificacion se vuelve mas complicado conforme se tengan mas grados de libertad en
el robot.
Capıtulo 6
Control de robots basado en modelo
6.1. Introduccion
Los modelos de los sistemas son una herramienta basica en el control moderno.
Contar con modelos explıcitos es una necesidad para varios de los metodos modernos de
control. Ası mismo, los modelos son requeridos para el diseno de nuevos controladores.
En el control no lineal el modelo juega un rol aun mas importante [11].
En este capıtulo se implementaran algunos esquemas de control basados en mo-
delo. Esta implementacion es realizada para cumplir el objetivo de la implementacion 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 investigacion es importante contar con una plataforma de experimentacion.
Con dicho proposito, en este capıtulo se presenta la evaluacion 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 precompensacion [26], el controlador PD+ [29], y un controlador en el espacio
operacional usando solo mediciones de posicion propuesto en [14].
82
6.2. Dinamica del robot 83
6.2. Dinamica del robot
El modelo dinamico del robot manipulador experimental definido por la ecuacion
(3.44), que por conveniencia se repite aquı, es
M(q)q + C(q, q)q + Fv q + fs(q) = u, (6.1)
donde u ∈ IR2 denota los voltajes aplicados a los motores de las articulaciones, el sımbolo
barra denota la multiplicacion por la inversa de la matriz diagonal que contiene las cons-
tantes de conversion de voltaje a torque K−1. Considerando la ecuacion (6.1), ası como
los parametros identificados por el algoritmo de mınimos cuadrados ponderado obtenidos
en el capıtulo 4, es posible representar M(q) = K−1M(q) ∈ IR2×2, donde M(q) denota la
matriz de inercia, como
M(q) =
θ1 + 2θ2 cos(q2) θ3 + θ2 cos(q2)
θ4 + θ5 cos(q2) θ6
, (6.2)
C(q, q) = K−1C(q, q) ∈ IR2×2, donde C(q, q) denota la matriz de fuerzas centrifugas y de
Coriolis, como
C(q, q) =
−θ2 sen(q2)q2 −θ2 sen(q2)[q1 + q2]
θ5 sen(q2)q1 0
, (6.3)
Fv = K−1Fv ∈ IR2×2, donde Fv es la matriz diagonal de los coeficientes de friccion viscosa,
como
Fv =
θ7 0
0 θ10
, (6.4)
y fs(q) = K−1fs(q) ∈ IR2, donde fs(q) el vector de la friccion seca suave asimetrica, dada
por
fs (q) =
fs(q1) =
θ8 tanh(βq1), q1 ≥ 0,
θ9 tanh(βq1), q1 < 0.
fs(q2) =
θ11 tanh(βq2), q2 ≥ 0,
θ12 tanh(βq2), q2 < 0.
(6.5)
6.3. Control en el espacio operacional 84
donde la friccion seca suave es definida en la ecuacion (3.40) y los parametros θ1-θ12 son
los parametros estimados por mınimos cuadrados ponderado que se encuentran en la tabla
4.1.
6.3. Control en el espacio operacional
Considerese h(q) : IRn → IRm como el mapeo del espacio articular definido en IRn
a el espacio operacional definido en IRm. La posicion y orientacion y ∈ IRm del efector
final esta dado por
y(t) = h(q(t)), (6.6)
como se explica en la seccion 3.6. El objetivo de control de movimiento en el espacio
operacional es
lımt→∞
[yd(t)− y(t)] = 0, (6.7)
donde yd ∈ IRm es la posicion deseada en el espacio operacional. En particular, para el
robot manipulador experimental se tiene que n = m = 2. Para la implementacion de los
esquemas de control se utiliza una trayectoria deseada definida en el espacio operacional.
Cuando el movimiento deseado esta 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 disena 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
implementacion de los esquemas de control presentados en este capıtulo se optara por el
segundo esquema. Por lo cual, primero se obtiene por analisis matematico la trasformacion
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ımt→∞
q = 0, (6.8)
6.4. Trayectoria deseada 85
donde
q = qd(t)− q(t) (6.9)
denota el vector de errores de las posiciones articulares. Notese que si se garantiza el lımite
(6.8) tambien 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
yd(t) =
ydc1 + r0 sen(v0r0t)
ydc2 + r0 cos(v0r0t) [m], (6.10)
donde los parametros 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 esta definida en el espacio operacional, mediante analisis
matematico se obtiene una trayectoria en el espacio articular. Para ello se usa el modelo
cinematico inverso del robot obtenido en la seccion 3.7.1. De tal forma, la trayectoria
deseada en el espacio articular esta definida como
qd(t) =
atan2(
yd1−yd2
)− atan2
(l2 sin(qd2)
l1+l2 cos(qd2)
)cos−1
(y2d1+y2d2−l
21−l22
2l1l2
) [rad], (6.11)
donde l1 = 0.15 [m] y l2 = 0.15 [m] son las longitudes de los eslabones del robot que se
obtuvieron por medicion. A partir de la definicion de la posicion deseada de la ecuacion
(6.11), la definicion de la velocidad articular q ∈ IR2 y aceleracion articular q ∈ IR2, en
las ecuaciones (3.97) y (3.98), respectivamente, se obtiene la definicion de la velocidad y
6.5. Estrategias de control basadas en modelo 86
aceleracion deseadas que resultan en
qd(t) = J−1(qd)
yd1yd2
, (6.12)
qd(t) = −J−1(qd)
[d
dtJ(qd)
]J−1(qd)
yd1yd2
+ J−1(qd)
yd1yd2
. (6.13)
donde ddt
[J(qd)] es la derivada temporal del Jacobiano definido en la ecuacion (3.89) y
J−1(qd) es el inverso del Jacobiano definido en la ecuacion (3.99).
6.5. Estrategias de control basadas en modelo
En las siguientes subsecciones se presenta una breve descripcion de las diferentes
estrategias de control implementadas en el robot experimental.
Para todos lo esquemas de control se considera q definido en la ecuacion (6.9) y
˙q = qd(t)− q(t), (6.14)
como los vectores de errores de posicion 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 simetricas positivas definidas.
6.5.1. Control PD con precompensacion
El controlador PD con precompensacion consiste de un controlador PD con la
retroalimentacion de la dinamica del robot calculada en la trayectoria deseada qd. Este
controlador definido en [26] se implementa para el robot como
u = Kpq +Kd˙q + M(qd)qd + C(qd, qd)qd + Fv qd + fs(qd), (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 dinamico a controlar y especıficamente de la estructura de la matrices M(q), C(q, q)
y de sus parametros del modelo del robot.
El termino precompensacion en el nombre del controlador es consecuencia del
hecho de que la ley de control usa la dinamica del robot evaluada explicitamente en el
movimiento deseado [12].
6.5.2. Controlador PD+
El controlador PD+ es uno de los controladores mas 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 = Kpq +Kd˙q + M(q)qd + C(q, q)qd + Fv q + fs(q), (6.16)
donde Kp = diag 5, 5 [Volt/rad] y Kv = diag 0.5, 0.5 [Volt seg/rad].
Como puede verse, la implementacion de este controlador requiere de la trayec-
toria deseada ası como de sus velocidades y aceleraciones deseadas. Ademas, debe de
conocerse la estructura de las matrices M(q) y C(q, q) y retroalimentar la posicion y velo-
cidad articular del robot para obtener estas matrices a diferencia del controlador PD con
precompensacion en el cual se evaluan ambas matrices en funcion de la posicion deseada.
6.5.3. Controlador en el espacio operacional usando solo medi-
ciones de posicion
Considerando que la entrada de control es el torque τ ∈ IRn, el controlador pro-
puesto en [14] esta definido por
τ = M(q)ω?d + C(q, ωd)ωd + g(q) +Kv tanh(ξ) + F (ωd) , (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
retroalimentacion y ω?d es la senal llamada aceleracion precompensada que solo depende
del tiempo t ∈ IR+ y de la posicion articular q ∈ IRn. La senal ϑ del controlador (6.17)-
(6.18) se obtiene del filtro de primer orden
x = 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)† [yd(t) +B tanh(y)] , (6.21)
con B ∈ IRm×m una matriz definida positiva, J(q)† la seudoinversa del jacobiano y
y(t) = yd(t)− y(t), (6.22)
denota el error de posicion en el espacio operacional. Por lo tanto, la senal ω?d se define
como
ω?d = J(q, ωd)† [yd(t) +K tanh(y)] + J(q, ωd)
† [yd(t)] , (6.23)
donde J(q, q)† = ddt
[J(q)†
]es la derivada de la Pseudo-inversa del Jacobiano.
Aplicando este nuevo controlador al robot manipulador experimental se obtiene
u = M(q)ω?d + C(q, ωd)ωd + Fvωd + fs(ωd) +Kv tanh(ξ), (6.24)
que es la implementacion del controlador de velocidad de las ecuaciones (6.17)-(6.18),
donde Kv = diag 0.4, 0.4 [Volt seg/rad]. Con este, 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 condicion 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. Evaluacion del desempeno 89
6.6. Evaluacion del desempeno
La evolucion temporal del error de posicion refleja el desempeno de los controlado-
res. Para la evaluacion del desempeno de los controladores implementados se adoptara el
criterio del valor de la norma de L 2 del error de seguimiento. Este valor es la raız cuadrati-
ca media, esto es, el valor RMS del error de posicion de seguimiento de trayectorias que
se define como
L 2[q(t)] =
√1
tf
∫ tf
0
‖q(t)‖2 dt [rad/seg]. (6.25)
Para fines de la evaluacion experimental, la implementacion discreta del criterio (6.25) es
L 2[q(kT )] =
√√√√ 1
tf
tf/T∑k=0
‖q(kT )‖2 T [rad/seg], (6.26)
donde tf denota el tiempo final de experimentacion y T es el periodo de muestreo. El con-
trolador con un mejor desempeno es entonces en el cual se obtenga el valor mas pequeno
para L 2, lo cual representa un error de seguimiento menor. Para realizar una compara-
cion mas justa de los esquemas de control se implementaran todos los controladores con
una duracion de 10 segundos y se obtendra el valor L 2 de cada esquema de control en
estado estacionario, de tal forma que solo se consideraran los ultimos 5 segundos de los
experimentos para cada esquema de control.
6.7. Resultados experimentales
Para todos los experimentos se utiliza la posicion inicial definida en el espacio
articular de q(0) = [0.733 1.693] [rad]. Esta posicion inicial es seleccionada de tal forma
que se obtenga un error de posicion en el espacio operacional de y(0) = 0.
En las figuras 6.2-6.6 son presentados la evolucion temporal de los errores de
posicion articular y los voltajes aplicados usando el controlador PD con precompensacion,
el controlador PD+ y el controlador en el espacio operacional usando solo mediciones de
posicion, respectivamente. Ası mismo, en la figura 6.7 se muestra la comparacion numerica
del valor L 2 obtenido para cada esquema de control.
6.7. Resultados experimentales 90
−0.05
0
0.05
Error de seguimiento
q 1[rad
]
0 2 4 6 8 10−0.05
0
0.05
q 2[rad
]
Tiempo [seg]
Figura 6.1: Error de posicion articular q1(t) y q2(t) del control PD con precompensancion.
−1.5
−1
−0.5
0
0.5
1
1.5Voltaje aplicado
u1
[vol
t]
0 2 4 6 8 10−1.5
−1
−0.5
0
0.5
1
1.5
Tiempo [seg]
u2
[vol
t]
Figura 6.2: Voltaje aplicado u1(t) y u2(t) del control PD con precompensacion.
6.7. Resultados experimentales 91
−0.05
0
0.05
Error de seguimiento
q 1[rad
]
0 2 4 6 8 10−0.05
0
0.05
q 2[rad
]
Tiempo [seg]
Figura 6.3: Error de posicion articular q1(t) y q2(t) del control PD+.
−1.5
−1
−0.5
0
0.5
1
1.5Voltaje aplicado
u1
[vol
t]
0 2 4 6 8 10−1.5
−1
−0.5
0
0.5
1
1.5
Tiempo [seg]
u2
[vol
t]
Figura 6.4: Voltaje aplicado u1(t) y u2(t) del control PD+.
6.7. Resultados experimentales 92
−0.05
0
0.05
Error de seguimiento
q 1[rad
]
0 2 4 6 8 10−0.05
0
0.05
q 2[rad
]
Tiempo [seg]
Figura 6.5: Error de posicion angular q1(t) y q2(t) del controlador en el espacio operacionalusando solo mediciones de posicion.
−1.5
−1
−0.5
0
0.5
1
1.5Voltaje aplicado
u1
[vol
t]
0 2 4 6 8 10−1.5
−1
−0.5
0
0.5
1
1.5
Time [seg]
u2
[vol
t]
Figura 6.6: Voltaje aplicado u1(t) y u2(t) del controlador en el espacio operacional usandosolo mediciones de posicion.
6.7. Resultados experimentales 93
PDp PD+ Nuevo0
0.1
0.2
0.3
0.4
0.5
[rad
]
0.4728
0.4375
0.3866
Figura 6.7: Comparacion del valor L 2 obtenido para los tres esquemas de control, PDcon precompesacion (PDp), PD+ y el controlador en el espacio operacional usando solomediciones de posicion (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 identificacion parametrica. Ademas 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 investigacion 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 presento la teorıa general sobre los metodos de identificacion
clasicos: mınimos cuadrados, mınimos cuadrados ponderado y mınimos cuadrados recur-
sivo. Se obtuvo el modelo dinamico del robot experimental considerando la dinamica de
los motores de corriente directa que son los actuadores del robot. Ası mismo, se obtuvo
el modelo dinamico de regresion del robot para realizar el procedimiento de identifica-
cion del robot. Se detallo el procedimiento de identificacion del robot manipulador y la
implementacion de los algoritmos de identificacion. La estimacion de los parametros del
modelo dinamico del robot permitio la simulacion de la dinamica del robot de manera mas
realista, lo que llevo a la implementacion de esquemas de control basados en modelo y que
al mismo tiempo permitira el diseno e implementacion de nuevos esquemas de control.
Los resultados experimentales arrojados en este trabajo de tesis permiten conside-
rar que la estimacion de los parametros del modelo dinamico de robots es muy susceptible
a una mala estimacion 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 obtencion de los
datos y su adecuacion para la estimacion, como el filtrado de posicion para la estimacion
de la velocidad, se obtienen mejores resultados mediante mınimos cuadrados ponderado.
94
7.2. Trabajo futuro 95
Aunque, para la realizacion de la identificacion en lınea fue posible implementar el algo-
ritmo de mınimos cuadrados recursivo, este, por su misma implementacion en linea, es
mas susceptible a el ruido presente en la estimacion de la velocidad.
No obstante, la principal conclusion es que la estimacion parametrica resulta
bastante buena si se utiliza
la estimacion de la velocidad vıa el procedimiento de filtrado de adelante y atras,
el filtrado del modelo dinamico para evitar la estimacion de la aceleracion y
la implementacion del metodo de mınimos cuadrados ponderado, tal como se pro-
pone en la seccion 4.3.3.
Estos procedimientos constituyen la principal contribucion del presente documento de
tesis.
7.2. Trabajo futuro
En el presente trabajo de tesis se abordaron metodos de identificacion clasicos
basados en mınimos cuadrados para la estimacion de los parametros del modelo dinamico
del robot. Posibles extensiones de este trabajo son:
Realizar estudios sobre la optimizacion de trayectorias y mejoras para la estimacion
de velocidad ası como en el proceso de filtrado.
Implementar estos esquemas de identificacion sobre sistemas mas complejos, como
lo son los robots manipuladores actuados por motores de C.D. con dinamica que no
puede ser despreciada.
La implementacion de metodos de identificacion a traves de tecnicas de algoritmos
geneticos.
Referencias
[1] J. Swevers, C. Ganseman, D. B. Tukel, 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. Santibanez, 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. Astrom 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 Educacion, 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 publicacion.
[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. Astrom, Introduction to Stocastic Control Theory. Academic Press, NY, 1970.
[31] K. J. Astrom 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, Espana, 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. Kostic, 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.
Apendice A
Aproximacion de la derivada
temporal de una senal discreta
Sean p1 y p2 numeros 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
q(kT ) =Q1(z
−1)
p1 + 1q(kT ) =
1
p1 + 1
[q(kT ) + q([k − 1]T ) + . . .+ q([k − p1]T )
], (A.3)
donde q(kT ) es la posicion angular muestreada a un periodo T y siendo k el numero de
la muestra discreta. En la ecuacion (A.3), q(kT ) es la posicion angular promediada en las
ultimas p1 + 1 muestras. La derivada temporal de la posicion se obtiene a partir de la
posicion promediada resultando en
v(kT ) =q(kT )− q([k − 1]T )
T,
=
[Q1(z
−1)− z−1Q1(z−1)
[p1 + 1]T
]q(kT ) =
[1− z−(p1+1)
[p1 + 1]T
]q(kT ). (A.4)
101
102
−150
−100
−50
0
50
100
150
Mag
nitu
d [d
B]
Diagrama de Bode
101
102
103
104
−540
−360
−180
0
180
Fas
e [g
rad]
Frecuencia [rad/seg]
d(s)D(z−1)
Figura A.1: Diagrama de Bode del operador diferencial d(s) = s y del filtro discretoD(z−1) el cual aproxima d(s) en el dominio discreto.
De la misma forma, se obtiene la velocidad promediada en las ultimas p2 + 1
muestras, de tal manera que
v(kT ) =Q2(z
−1)
[p2 + 1]v(kT ),
=
[Q2(z
−1)
[p2 + 1]
] [1− z−(p1+1)
[p1 + 1]T
]q(kT ),
= D(z−1)q(kT ). (A.5)
Para ejemplificar la obtencion de la derivada obtenida por este medio, se compara
el diagrama de Bode de d(s) = s que denota la funcion de transferencia de la derivada,
con el filtro para la obtencion 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 ecuacion (A.5) para la obtencion de la velocidad promediada se tiene
que
v(kT ) = D(z−1)q(kT ) =
[Q2(z
−1)
25
] [1− z−5
T
]q(kT ). (A.8)
En la figura A.1 se puede observar el diagrama de Bode de la variable de Laplace
s y del filtro obtenido en la ecuacion (A.8) con periodo de muestreo de T = 0.001 [seg].
Como se puede observar, el filtro resulta adecuado para la estimacion de velocidad para
un determinado rango de frecuencias. Para la aplicacion de este filtro es necesario que la
posicion q(kT ) tenga un contenido de bajas frecuencias para obtener una estimacion lo
suficientemente adecuada. Este metodo de obtencion de la derivada es el utilizado en esta
tesis en todos los experimentos de control para los cuales es necesario la retroalimentacion
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.
Apendice B
Trigonometrıa
B.1. Funcion arco tangente de dos argumentos
El dominio de la funcion tangente inversa es de (−π/2, π/2). Para expresar los
angulos en rango completo es util definir la llamada funcion arco tangente de dos argu-
mentos, atan2(x,y), la cual esta definida, para todo x 6= 0, y 6= 0 y es igual a un angulo
unico ρ tal que
cos(ρ) =x
(x2 + y2)12
, sen(ρ) =y
(x2 + y2)12
. (B.1)
Esta funcion usa el signo de x y y para determinar el cuadrante adecuado para el angulo ρ.
Por ejemplo, atan2(1,−1) = −π4, mientras que atan2(−1, 1) = +3π
4. Notese que si x = 0
y y = 0 entonces la funcion es indefinida.
B.2. Ley de los cosenos
Si un triangulo tiene lados a, b, y c y ρ es el angulo opuesto a el lado de longitud
c, entonces
c2 = a2 + b2 + 2ab cos(θ). (B.2)
104
B.3. Identidades trigonometricas 105
B.3. Identidades trigonometricas
cos(θ)2 + sen(θ)2 = 1 (B.3)
B.3.1. Identidades de angulos 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± y) =tan(x)± tan(y)
1∓ tan(x) tan(y). (B.6)
Apendice C
Filtro de posicion
C.1. Diseno del filtro de posicion
Para el filtrado de la posicion articular del robot manipulador se disena un filtro
pasabajas mediante la herramienta de Matlab “fdatool” para el analisis y diseno de filtros.
El diseno del filtro de posicion fp(z) se realizo con las siguientes caracteırticas:
Tipo de respuesta: Filtro pasabajas.
Metodo de diseno: 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 grafica de la herramienta de analisis y
diseno 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 traves
de esta herramienta.
106
C.1. Diseno del filtro de posicion 107
Tabla C.1: Valores de los coeficientes del filtro fp(z) obtenidos con la herramienta deMatlab “fdatools”.
Coef. Valor Coef. Valor Coef. Valor
b0 −1.808× 10−6 b11 6.150× 10−2 b21 3.052× 10−2
b1 2.733× 10−6 b12 7.795× 10−2 b22 1.896× 10−2
b2 4.934× 10−5 b13 9.210× 10−2 b23 1.069× 10−2
b3 2.558× 10−4 b14 1.017× 10−1 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
b6 5.386× 10−3 b17 9.210× 10−2 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
b9 3.052× 10−2 b20 4.508× 10−2 b30 −1.808× 10−6
b10 4.508× 10−2
Figura C.1: Interfaz grafica de la herramienta de Matlab “fdatool” para el analisis y disenode filtros.
Especıficamente, el filtro disenado esta dado por
fp(z) = b0 + b1z−1 + b2z
−2 + . . .+ b29z−29 + b30z
−30, (C.1)
donde los valores de los coeficientes se encuentran listados en la tabla C.1.