Tesis de Un Brazo de Robot

121
INSTITUTO POLIT ´ ECNICO NACIONAL CENTRO DE INVESTIGACI ´ ON Y DESARROLLO DE TECNOLOG ´ IA DIGITAL MAESTR ´ IA EN CIENCIAS EN SISTEMAS DIGITALES “MODELADO, IDENTIFICACI ´ ON Y CONTROL DE UN ROBOT MANIPULADOR DE DOS GRADOS DE LIBERTAD” TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN SISTEMAS DIGITALES PRESENTA: ING. ERNESTO ALONSO OROZCO MANR ´ IQUEZ BAJO LA DIRECCI ´ ON DE: DR. EDUARDO JAVIER MORENO VALENZUELA NOVIEMBRE DE 2009 TIJUANA, B.C., M ´ EXICO

Transcript of Tesis de Un Brazo de Robot

Page 1: Tesis de Un Brazo de Robot

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

Page 2: Tesis de Un Brazo de Robot
Page 3: Tesis de Un Brazo de Robot
Page 4: Tesis de Un Brazo de Robot

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.

Page 5: Tesis de Un Brazo de Robot

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.

Page 6: Tesis de Un Brazo de Robot

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.

Page 7: Tesis de Un Brazo de Robot

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.

Page 8: Tesis de Un Brazo de Robot

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

Page 9: Tesis de Un Brazo de Robot

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

Page 10: Tesis de Un Brazo de Robot

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

Page 11: Tesis de Un Brazo de Robot

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

Page 12: Tesis de Un Brazo de Robot

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

Page 13: Tesis de Un Brazo de Robot

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

Page 14: Tesis de Un Brazo de Robot

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

Page 15: Tesis de Un Brazo de Robot

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

Page 16: Tesis de Un Brazo de Robot

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.

Page 17: Tesis de Un Brazo de 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.

Page 18: Tesis de Un Brazo de Robot

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.

Page 19: Tesis de Un Brazo de Robot

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.

Page 20: Tesis de Un Brazo de Robot

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.

Page 21: Tesis de Un Brazo de Robot

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

Page 22: Tesis de Un Brazo de Robot

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

Page 23: Tesis de Un Brazo de Robot

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

Page 24: Tesis de Un Brazo de Robot

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

Page 25: Tesis de Un Brazo de Robot

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].

Page 26: Tesis de Un Brazo de Robot

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

Page 27: Tesis de Un Brazo de Robot

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)

Page 28: Tesis de Un Brazo de Robot

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)

Page 29: Tesis de Un Brazo de Robot

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].

Page 30: Tesis de Un Brazo de Robot

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

Page 31: Tesis de Un Brazo de Robot

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.

Page 32: Tesis de Un Brazo de Robot

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)

Page 33: Tesis de Un Brazo de Robot

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)

Page 34: Tesis de Un Brazo de Robot

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)

Page 35: Tesis de Un Brazo de Robot

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

Page 36: Tesis de Un Brazo de Robot

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.

Page 37: Tesis de Un Brazo de Robot

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

Page 38: Tesis de Un Brazo de Robot

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).

Page 39: Tesis de Un Brazo de Robot

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.

Page 40: Tesis de Un Brazo de Robot

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.

Page 41: Tesis de Un Brazo de Robot

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.

Page 42: Tesis de Un Brazo de Robot

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)

Page 43: Tesis de Un Brazo de Robot

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)

Page 44: Tesis de Un Brazo de Robot

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)

Page 45: Tesis de Un Brazo de Robot

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)

Page 46: Tesis de Un Brazo de Robot

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

Page 47: Tesis de Un Brazo de Robot

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)

Page 48: Tesis de Un Brazo de Robot

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)

Page 49: Tesis de Un Brazo de Robot

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,

Page 50: Tesis de Un Brazo de Robot

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

Page 51: Tesis de Un Brazo de Robot

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)

Page 52: Tesis de Un Brazo de Robot

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.

Page 53: Tesis de Un Brazo de Robot

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)

Page 54: Tesis de Un Brazo de Robot

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

Page 55: Tesis de Un Brazo de Robot

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)

Page 56: Tesis de Un Brazo de Robot

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

Page 57: Tesis de Un Brazo de Robot

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.

Page 58: Tesis de Un Brazo de Robot

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

Page 59: Tesis de Un Brazo de Robot

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

Page 60: Tesis de Un Brazo de Robot

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

Page 61: Tesis de Un Brazo de Robot

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.

Page 62: Tesis de Un Brazo de Robot

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

Page 63: Tesis de Un Brazo de Robot

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)

Page 64: Tesis de Un Brazo de Robot

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)

Page 65: Tesis de Un Brazo de Robot

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)

Page 66: Tesis de Un Brazo de Robot

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)

Page 67: Tesis de Un Brazo de Robot

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)

Page 68: Tesis de Un Brazo de Robot

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

Page 69: Tesis de Un Brazo de Robot

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

Page 70: Tesis de Un Brazo de Robot

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.

Page 71: Tesis de Un Brazo de Robot

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

Page 72: Tesis de Un Brazo de Robot

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.

Page 73: Tesis de Un Brazo de Robot

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

Page 74: Tesis de Un Brazo de Robot

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.

Page 75: Tesis de Un Brazo de Robot

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.

Page 76: Tesis de Un Brazo de Robot

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

Page 77: Tesis de Un Brazo de Robot

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-

Page 78: Tesis de Un Brazo de Robot

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

Page 79: Tesis de Un Brazo de Robot

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.

Page 80: Tesis de Un Brazo de Robot

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.

Page 81: Tesis de Un Brazo de Robot

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

Page 82: Tesis de Un Brazo de Robot

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)

Page 83: Tesis de Un Brazo de Robot

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)

Page 84: Tesis de Un Brazo de Robot

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.

Page 85: Tesis de Un Brazo de Robot

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

Page 86: Tesis de Un Brazo de Robot

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.

Page 87: Tesis de Un Brazo de Robot

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.

Page 88: Tesis de Un Brazo de Robot

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

Page 89: Tesis de Un Brazo de Robot

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

Page 90: Tesis de Un Brazo de Robot

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.

Page 91: Tesis de Un Brazo de Robot

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.

Page 92: Tesis de Un Brazo de 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

Page 93: Tesis de Un Brazo de Robot

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.

Page 94: Tesis de Un Brazo de Robot

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.

Page 95: Tesis de Un Brazo de Robot

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.

Page 96: Tesis de Un Brazo de 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

Page 97: Tesis de Un Brazo de Robot

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)

Page 98: Tesis de Un Brazo de Robot

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)

Page 99: Tesis de Un Brazo de Robot

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

Page 100: Tesis de Un Brazo de Robot

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-

Page 101: Tesis de Un Brazo de Robot

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)

Page 102: Tesis de Un Brazo de Robot

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.

Page 103: Tesis de Un Brazo de Robot

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.

Page 104: Tesis de Un Brazo de Robot

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.

Page 105: Tesis de Un Brazo de Robot

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+.

Page 106: Tesis de Un Brazo de Robot

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.

Page 107: Tesis de Un Brazo de Robot

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.

Page 108: Tesis de Un Brazo de Robot

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

Page 109: Tesis de Un Brazo de Robot

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.

Page 110: Tesis de Un Brazo de Robot

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

Page 111: Tesis de Un Brazo de Robot

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.

Page 112: Tesis de Un Brazo de Robot

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.

Page 113: Tesis de Un Brazo de Robot

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.

Page 114: Tesis de Un Brazo de Robot

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.

Page 115: Tesis de Un Brazo de Robot

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

Page 116: Tesis de Un Brazo de Robot

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)

Page 117: Tesis de Un Brazo de Robot

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.

Page 118: Tesis de Un Brazo de 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

Page 119: Tesis de Un Brazo de Robot

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)

Page 120: Tesis de Un Brazo de Robot

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

Page 121: Tesis de Un Brazo de Robot

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.