Documentos de Académico
Documentos de Profesional
Documentos de Cultura
9 PDF
9 PDF
TESIS
PRESENTA:
A todos por su apoyo incondicional en todo momento para llegar a este momento
tan importante de mi vida y lograr otra meta más en mi carrera.
Resumen
Abstract
Keywords: Robot manipulator; direct current motor; regression model; filter; identifica-
tion.
Contenido
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Lista de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Lista de sı́mbolos y acrónimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
1. Introducción 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2. Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Contenido de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Identificación de Sistemas 7
2.1. Identificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Modelo de regresión lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Método de mı́nimos cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4. Método de mı́nimos cuadrados ponderado . . . . . . . . . . . . . . . . . . 12
2.5. Método de mı́nimos cuadrados recursivo . . . . . . . . . . . . . . . . . . . 12
viii
Contenido ix
Referencias 96
B. Trigonometrı́a 104
B.1. Función arco tangente de dos argumentos . . . . . . . . . . . . . . . . . . . 104
B.2. Ley de los cosenos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
B.3. Identidades trigonométricas . . . . . . . . . . . . . . . . . . . . . . . . . . 105
B.3.1. Identidades de ángulos dobles . . . . . . . . . . . . . . . . . . . . . 105
xi
Lista de Figuras xii
4.8. Evolución temporal de la estimación de los parámetros θ̂1 − θ̂12 del modelo
dinámico mediante mı́nimos cuadrados recursivo, filtrado del modelo y es-
timación de velocidad por el filtro de Euler. Las unidades de los parámetros
se listan en la tabla 4.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1. Evolución temporal de la estimación de los parámetros J, ˆ fˆv , fˆs1 y fˆs2 del
modelo del motor de la articulación 1. . . . . . . . . . . . . . . . . . . . . . 73
5.2. Evolución temporal de la estimación de los parámetros J, ˆ fˆv ,fˆs1 y fˆs2 del
modelo del motor de la articulación 2. . . . . . . . . . . . . . . . . . . . . . 73
5.3. Diagrama del esquema de identificación de mı́nimos cuadrados recursivo
considerando la fricción del robot como conocida. . . . . . . . . . . . . . . 76
5.4. Evolución temporal de la estimación de los parámetros θˆ1 − θˆ6 del mode-
lo dinámico utilizando mı́nimos cuadrados recursivo y considerando como
conocida la fricción del robot. . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.5. Voltaje de control de simulación y experimento utilizando controlador PD
y parámetros estimados de la identificación conociendo la fricción. . . . . . 79
5.6. Error de posición de simulación y experimento utilizando controlador PD
y parámetros estimados de la identificación conociendo la fricción. . . . . . 79
5.7. Voltaje de control de simulación y experimento utilizando controlador PD
con precompensación y parámetros estimados de la identificación conocien-
do la fricción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.8. Error de posición de simulación y experimento utilizando controlador PD
con precompensación y parámetros estimados de la identificación conocien-
do la fricción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.1. Error de posición articular q1 (t) y q2 (t) del control PD con precompensanción. 90
6.2. Voltaje aplicado u1 (t) y u2 (t) del control PD con precompensación. . . . . 90
6.3. Error de posición articular q1 (t) y q2 (t) del control PD+. . . . . . . . . . . 91
6.4. Voltaje aplicado u1 (t) y u2 (t) del control PD+. . . . . . . . . . . . . . . . . 91
6.5. Error de posición angular q1 (t) y q2 (t) del controlador en el espacio opera-
cional usando solo mediciones de posición. . . . . . . . . . . . . . . . . . . 92
6.6. Voltaje aplicado u1 (t) y u2 (t) del controlador en el espacio operacional
usando solo mediciones de posición. . . . . . . . . . . . . . . . . . . . . . . 92
6.7. Comparación del valor L 2 obtenido para los tres esquemas de control, PD
con precompesación (PDp), PD+ y el controlador en el espacio operacional
usando solo mediciones de posición (Nuevo). . . . . . . . . . . . . . . . . . 93
A.1. Diagrama de Bode del operador diferencial d(s) = s y del filtro discreto
D(z −1 ) el cual aproxima d(s) en el dominio discreto. . . . . . . . . . . . . . 102
4.1. Parámetros estimados del modelo dinámico del robot mediante mı́nimos
cuadrados (MC), mı́nimos cuadrados ponderado (MCP) y mı́nimos cua-
drados recursivo (MCR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2. Parámetros estimados del robot utilizando el algoritmo de mı́nimos cua-
drados recursivo, filtrado del modelo y estimación de velocidad por el filtro
de Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
C.1. Valores de los coeficientes del filtro fp (z) obtenidos con la herramienta de
Matlab “fdatools”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
xiii
Lista de sı́mbolos y acrónimos
IR Números reales.
IR+ Números reales positivos.
Z Números enteros.
⊆ Subconjunto propio de.
q Vector de posisciones articulares del robot.
τ Torque.
u Voltaje.
θ Vector de parámetros.
Φ Matriz de regresión.
Ω Matriz de regresión del robot.
K Matriz de constantes de conversión de voltaje a torque.
Θ Espacio operacional del robot.
J(q) Jacobiano del robot.
I Matriz identidad.
λ Frecuencia de corte del filtro del modelo.
diag Matriz diagonal.
atan2 Arco tangente de dos argumentos.
Kg Kilogramo.
m Metro.
N Newton.
rad Radianes.
seg Segundos.
SCARA Selective Compliant Assembly Robot Arm - Brazo Robótico Capacitado
para Ensamblado Selectivo.
C.D. Corriente Directa.
CAD Computer Aided Design - Diseño Asistido por Computadora,
CAM Computer Aided Manufacturer - Fabricación Asistido por Computadora.
PD Proporcional Derivativo.
RMS Root Mean Square - Raı́z Media Cuadrática.
FIR Finite Impulse Response - Respuesta al Impulso Finita.
xiv
Capı́tulo 1
Introducción
1.1. Antecedentes
La implementación de esquemas de control avanzados basados en modelo ası́ como
una simulación realista del robot requieren de una buena determinación y exactitud del
modelo del robot. Para poder realizar el diseño de un controlador de movimiento preciso
de un robot manipulador es necesario formular un modelo que describa o se ajuste a la
dinámica del sistema. Los robots manipuladores pueden realizar movimientos rápidos y
exactos a través de esquemas de control de movimiento basados en modelo. El diseño de
controladores de robots avanzados y su desempeño dependen directamente de la exactitud
del modelo. Realizar simulaciones del robot sin el conocimiento de la dinámica exacta del
robot no provee una ejecución realista y llevarı́a a errores de diseño e implementación en
el controlador del robot.
Los parámetros del modelo que son proveı́dos por el fabricante son insuficientes,
inexactos y en algunos casos no provistos [1], [2]. La medición directa de los parámetros
fı́sicos en la mayorı́a de los casos no es posible debido a la complejidad de los mecanismos.
La identificación experimental del modelo del robot es una forma eficiente de obtener un
modelo aproximado del mismo e indicaciones sobre su exactitud y validez [1].
En la literatura han sido presentados diversas técnicas para la identificación de los
1
1.1. Antecedentes 2
• Mı́nimos cuadrados.
Identificación de los parámetros del modelo dinámico del robot manipulador expe-
rimental.
1.3. Aportaciones
El presente trabajo de tesis aborda la problemática de la obtención del modelo
dinámico de un robot manipulador experimental para la implementación de esquemas de
control basados en modelo, ası́ como para poder realizar simulaciones del robot realistas
para una evaluación de estos esquemas de control. Se consideran métodos de identificación
clásicos basados en mı́nimos cuadrados. Además se implementa el modelo dinámico filtra-
do para la estimación de los parámetros. Igualmente se presentan comparaciones de los
resultados experimentales de los algoritmos de identificación de mı́nimos cuadrados, mı́ni-
mos cuadrados ponderado y mı́nimos cuadrados recursivo utilizando el modelo dinámico
de regresión filtrado.
La principal aportación de este trabajo de tesis es la implementación del esquema
de identificación del modelo dinámico de regresión filtrado y el algoritmo de mı́nimos
cuadrados ponderado utilizando un nuevo método para la ponderación.
Identificación de Sistemas
2.1. Identificación
7
2.1. Identificación 8
1. Adquisición de los datos de entrada y salida del sistema. Los datos son obtenidos
durante un experimento especialmente diseñado para maximizar la información que
se pueda obtener. En general, es necesario el acondicionamiento de los datos como
el escalamiento, normalización y el filtrado para remover el ruido de las mediciones.
3. Estimación de los parámetros del modelo a partir de los datos. Esto es, la identifica-
ción del modelo. La selección del método de estimación depende de la estructura del
modelo del sistema ası́ como de las propiedades de los datos. Con esto se llega a un
modelo en particular que mejor describa los datos de acuerdo a algún criterio esta-
blecido. Algunas técnicas de estimación serán discutidas en detalle en las siguientes
secciones.
4. Validación del modelo. Los métodos de validación del modelo dependen de las pro-
piedades deseadas del modelo. Usualmente se desean exactitud y una buena gene-
ralización del sistema. Pueden ser utilizadas pruebas estadı́sticas de predicción del
2.2. Modelo de regresión lineal 9
error. Las simulaciones proveen una herramienta útil para la validación del modelo.
La mayorı́a de las pruebas de validación están basadas en minimizar la diferencia
entre la salida medida y la salida simulada.
se define como
h iT
θ = θ1 . . . θp , (2.2)
y Φ(k) ∈ Rn×p se denota como la matriz de regresión cuyos elementos Φij (k) son funciones
de las entradas medidas x(k) ∈ IRm [7], [8]. Los elementos Φij (k) pueden ser una función
no lineal de las entradas x(k), pero éstos sólo son evaluados como un valor numérico [19].
Considerando que se tiene una estimación del vector de parámetros θ en el instante
de tiempo k denominado θ̂(k) y se tiene la matriz de regresión Φ(k) es posible realizar la
estimación de las salidas del sistema, esto es,
donde θ̂(k) ∈ IRp denota los parámetros estimados del sistema y e(k) ∈ IRn denota el
vector del error. Esto establece que el cálculo de θ̂(k), en sı́, depende del vector de salidas
y(k) y la matriz de regresión Φ(k) [7], [8].
Definiendo la llamada matriz de covarianza del error P (k) ∈ IRp×p [6], [7], [8], como
" k #−1
X
P (k) = ΦT (i)Φ(i) , (2.10)
i=0
parámetros cada que es obtenida una nueva muestra. Esto puede realizarse al añadir una
nueva muestra a la formulación del método de mı́nimos cuadrados. Para realizar esto se
formulará el método de mı́nimos cuadrados de forma recursiva que está inspirada en [6],
[7], [8]. Utilizando la ecuación (2.11) se puede definir la estimación de mı́nimos cuadrados
en un instante de muestreo k − 1 como
k−1
X
θ̂(k − 1) = P (k − 1) ΦT (i)y(i), (2.15)
i=0
k
X
−1
P (k) = ΦT (i)Φ(i),
i=0
k−1
X
= ΦT (i)Φ(i) + ΦT (k)Φ(k),
i=0
= P (k − 1)−1 + ΦT (k)Φ(k). (2.17)
Dado que se asume que P (k) es una matriz inversa, se utiliza el siguiente lema para
obtener su solución [6], [7].
−1
P (k) = P (k − 1) − P (k − 1)ΦT (k) I + Φ(k)P (k − 1)ΦT (k)
Φ(k)P (k − 1). (2.22)
−1
θ̂(k) = θ̂(k−1)+P (k−1)ΦT (k) I + Φ(k)P (k − 1)ΦT (k)
y(k)−Φ(k)θ̂(k−1) . (2.23)
−1
R(k) = P (k − 1)ΦT (k) I + Φ(k)P (k − 1)ΦT (k) ∈ IRp×n ,
(2.24)
2.5. Método de mı́nimos cuadrados recursivo 15
de tal forma que las ecuaciones que definen el algoritmo de identificación de mı́nimos
cuadrados recursivo son
−1
R(k) = P (k − 1)ΦT (k) I + Φ(k)P (k − 1)ΦT (k)
, (2.25)
1
P (0) = I. (2.28)
δ
Un valor tı́pico es δ = 0.001, esto es, 1/δ = 1000. Se puede observar de la ecuación (2.26)
que la influencia de este valor inicial decrece con el tiempo [6].
Capı́tulo 3
16
3.1. Descripción de robot manipulador experimental 17
Figura 3.1: Robot manipulador experimental de dos grados de libertad accionado por
motores de corriente directa.
mentos en tiempo real, los motores son operados a través de una computadora personal,
un servo amplificador Advanced Motion Controls modelo 30A20AC, para el motor de la
articulación 1 y un servo amplificador Advanced Motion Controls modelo 16A20AC, para
el motor de la articulación 2. Para el procesamiento de los datos se utiliza una tarjeta de
adquisición de datos Sensoray 626, con la cual se leen las señales del codificador óptico
de cuadratura de los motores y se transfieren las señales de control a los servos ampli-
ficadores. En la figura 3.2 se muestra un diagrama de bloques del funcionamiento del
sistema experimental. Los experimentos son implementados con una cadencia de mues-
treo de 1kHz sobre el sistema operativo Windows XPr , Matlabr , Simulinkr y Real–Time
Windows Target.
Figura 3.3: Diagrama esquemático del robot manipulador de dos grados de libertad.
donde q, q̇, q̈ ∈ IRn son los vectores de la posición, velocidad y aceleración articular,
respectivamente, M (q) es una matriz de n × n denominada matriz de inercia, la cual es
simétrica y definida positiva para todo q ∈ IRn , C(q, q̇) es una matriz de dimension n × n
denominada matriz de fuerzas centrı́fugas y de Coriolis, g(q) es un vector de dimensión
n de pares de fuerzas gravitacionales y τ es un vector de dimensión n llamado vector de
fuerzas externas o torques aplicados por los actuadores en las uniones.
Cada elemento de las matrices M (q), C(q, q̇) y el vector g(q) son una expresión
relativamente compleja de las posiciones q y velocidades q̇ articulares de las uniones del
robot manipulador [12].
donde K(q, q̇) es la energı́a cinética del robot y U(q) es la energı́a potencial. La energı́a
cinética de este manipulador puede descomponerse en la suma de dos partes:
donde K1 (q, q̇) y K2 (q, q̇) son las energı́as cinéticas asociadas a las masas m1 y m2 respec-
tivamente.
Las coordenadas del centro de masa del eslabón 1 expresadas en el plano x-y son:
x l sen(q1 )
1 = c1 . (3.5)
y1 −lc1 cos(q1 )
por lo tanto la velocidad al cuadrado v1T v1 del centro de masa resulta ser:
v1T v1 = lc1
2 2
q̇1 . (3.7)
1 1
K1 (q, q̇) = m1 v1T v1 + I1 q̇12 ,
2 2
1 2 2 1 2
= m1 lc1 q̇1 + I1 q̇1 . (3.8)
2 2
Por otro lado, las coordenadas del centro de masa del eslabón 2 expresadas en el plano
x-y son:
x l sen(q1 ) + lc2 sen(q1 + q2 )
2 = 1 . (3.9)
y2 −lc1 cos(q1 ) − lc2 cos(q1 + q2 )
3.2. Modelo dinámico 21
Por lo tanto, usando las identidades trigonométricas del Apéndice B y reordenando térmi-
nos se obtiene finalmente la velocidad al cuadrado v2T v2 del centro de masa del eslabón
2:
1 T 1 h i2
K2 (q, q̇) = m2 v2 v2 + I2 q̇1 + q̇2 ,
2 2
1h i 1h i
= m2 l1 + m2 lc2 + 2m2 l1 lc2 cos(q2 ) + I2 q̇1 + m2 lc2 + I2 q̇22
2 2 2 2
2h i 2
2
+ m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 q̇1 q̇2 . (3.12)
Considerando (3.4), (3.8) y (3.12), se tiene que la energı́a cinética del robot es
1h 2
i
K(q, q̇) = m1 lc1 + m2 l12 + m2 lc2
2
+ 2m2 l1 lc2 cos(q2 ) + I1 + I2 q̇12
2
h
2
i 1h 2
i
+ m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 q̇1 q̇2 + m2 lc2 + I2 q̇22 . (3.13)
2
Dado que este robot se desplaza en el plano horizontal x-y, la energı́a potencial
es nula, esto es, U(q) = 0. A partir de la ecuación (3.3) y (3.13) y del hecho que U(q) = 0
se puede obtener el lagrangiano:
∂L 2
= [m1 lc1 + m2 l12 + m2 lc2
2 2
]q̇1 + m2 lc2 q̇2 + 2m2 l1 lc2 cos(q2 )q̇1
∂ q̇1
+m2 l1 lc2 cos(q2 )q̇2 + I1 q̇1 + I2 [q̇1 + q̇2 ], (3.15)
d ∂L 2
= [m1 lc1 2
+ m2 l12 + m2 lc2 + 2m2 l1 lc2 cos(q2 )]q̈1 − 2m2 l1 lc2 sen(q2 )q̇1 q̇2
dt ∂ q̇1
2
+[m2 lc2 + m2 l1 lc2 cos(q2 )]q̈2 − m2 l1 lc2 sen(q2 )q̇22 + I1 q̈1 + I2 [q̈1 + q̈2 ],(3.16)
∂L
=0 , (3.17)
∂q1
∂L 2 2
= m2 lc2 q̇1 + m2 lc2 q̇2 + m2 l1 lc2 cos(q2 )q̇1 + I2 [q̇1 + q̇2 ], (3.18)
∂ q̇2
d ∂L 2 2
= m2 lc2 q̈1 + m2 lc2 q̈2 + m2 l1 lc2 cos(q2 )q̈1 − m2 l1 lc2 sen(q2 )q̇1 q̇2
dt ∂ q̇2
+I2 [q̈1 + q̈2 ], (3.19)
∂L
= −m2 l1 lc2 sen(q2 )[q̇12 + q̇1 q̇2 ]. (3.20)
∂q2
2
τ1 = [m1 lc1 + m2 l12 + m2 lc2
2
+ 2m2 l1 lc2 cos(q2 ) + I1 + I2 ]q̈1 − 2m2 l1 lc2 sen(q2 )q̇1 q̇2
2
+[m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 ]q̈2 − m2 l1 lc2 sen(q2 )q̇22 , (3.21)
2 2
τ2 = [m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 ]q̈1 + [m2 lc2 + I2 ]q̈2 + m2 l1 lc2 sen(q2 )q̇12 , (3.22)
siendo τ1 y τ2 los pares emitidos por los actuadores que actúan en las articulaciones
1 y 2. Estas ecuaciones dinámicas del robot (3.21) y (3.22) constituyen dos ecuaciones
diferenciales no lineales.
3.2. Modelo dinámico 23
2
M11 (q) = m1 lc1 + m2 l12 + m2 lc2
2
+ 2m2 l1 lc2 cos(q2 ) + I1 + I2 ,
2
M12 (q) = m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 , (3.23)
2
M21 (q) = m2 lc2 + m2 l1 lc2 cos(q2 ) + I2 ,
2
M22 (q) = m2 lc2 + I2 .
La matriz C(q, q̇) ∈ IR2×2 llamada matriz centrı́fuga y de Coriolis puede no ser
única, pero el vector C(q, q̇)q̇ sı́ lo es [12]. Una manera de obtener C(q, q̇) es a través de
los coeficientes o sı́mbolos de Christoffel cijk (q) definidos como [11], [12], [21], [20]:
1 ∂Mkj (q) ∂Mki (q) ∂Mij (q)
cijk (q) = + − , (3.24)
2 ∂qi ∂qj ∂qk
donde Mij (q) denota el ij-ésimo elemento de la matriz de inercia M (q). De tal forma que
el kj-ésimo elemento de la matriz C(q, q̇) puede obtenerse de:
T
c (q)
1jk
c2jk (q)
Ckj (q, q̇) =
.. q̇.
(3.25)
.
cnjk (q)
Por lo tanto se calculan los sı́mbolos de Chistoffel usando la ecuación (3.24) y los elementos
3.2. Modelo dinámico 24
De tal forma que los elementos de la matriz centrı́fuga y de Coriolis C(q, q̇) se obtienen
utilizando la ecuación (3.25) y los resultados de (3.26) obteniendo ası́
donde los elementos de la matriz de inercia M (q) están definidos en (3.23) y los elementos
de la matriz centrifuga y de Coriolis están definidos en (3.27).
3.3. Modelo dinámico de robots actuado por motores de C.D. 25
Figura 3.4: Diagrama esquemático de un motor de corriente directa (C.D.) con imán
permanente.
donde q, q̇, q̈ ∈ IRn son vectores que denotan la posición, velocidad y aceleración
angular de los ejes de los n motores, u ∈ IRn denota el vector de entradas de vol-
taje aplicados a los n motores, τ ∈ IRn denota el vector de pares desarrollados por
los n motores, J = diag{Jmi } ∈ IRn×n denota la matriz de inercias de los motores,
Fv = diag{fvi } ∈ IRn×n denota la matriz de coeficientes de fricción viscosa de los mo-
tores, fs (q̇) = [fs (q̇1 ), fs (q̇2 ), . . . , fs (q̇n )]T ∈ IRn denota el vector de fricción seca de los
n o
motores, R = diag r12 ∈ IRn×n denota matriz de reducción de engranes en las articula-
n i o
ciones, K = diag r1i kmi ∈ IRn×n denota la matriz de constantes de conversión de torque
a voltaje de los n motores y donde i = 1, 2, ..., n denota el i-ésimo motor. Despejando τ
de (3.30) se obtiene
1
τ= [Ku − J q̈ − Fv q̇ − fs (q̇)] , (3.31)
R
y sustituyendo τ de (3.31) en (3.1) puede obtenerse
siendo éste el modelo dinámico de un robot manipulador con motores de corriente directa
(C.D.) como actuadores. Esta ecuación puede considerarse como un sistema dinámico que
su entrada de voltaje es u ∈ IRn y sus salidas son q, q̇ ∈ IRn . En la figura 3.5 se presenta
un diagrama a bloques de un robot considerando sus actuadores3 .
Se asume que el robot es actuado por motores de corriente directa C.D. de imán
permanente. Además, para un robot de n grados de libertad existen n motores de C.D.
3
Diagrama inspirado en [12], página 84.
3.3. Modelo dinámico de robots actuado por motores de C.D. 27
que generan el torque para cada articulación del robot. Usualmente, los motores de C.D.
son operados por servo amplificadores en modo corriente lo cual hace que la corriente de
entrada del motor tienda a la corriente deseada en corto tiempo. En otras palabras, el
lazo de corriente de los servo amplificadores es configurado tal que la dinámica eléctrica
es menos dominante que la dinámica mecánica.
Los torques aplicados a las articulaciones están directamente relacionados a la
corriente de los motores de las articulaciones como
τ = Km i m , (3.33)
donde id ∈ IR2 es el vector de corriente deseada de los motores, Ksa ∈ IR2×2 es una matriz
diagonal que contiene las ganancias de los servo amplificadores, las cuales son definidas
por el usuario, y u ∈ IR2 es el voltaje de entrada de los servo amplificadores.
De tal forma, que el torque de salida de los motores de C.D. esta dado por
τ = Km Ksa u = K u, (3.35)
donde los actuadores que son motores de C.D. pueden ser modelados como una fuente
ideal de torque.
3.3. Modelo dinámico de robots actuado por motores de C.D. 28
Para obtener el modelo dinámico del robot experimental actuado por motores, se
definen las matrices J, Fv , R, K ∈ IR2×2 y el vector fs (q̇) ∈ IR2 de la ecuación (3.30).
Particularmente, el robot experimental es de accionamiento directo, es decir, los ejes de
los motores están directamente conectados a los eslabones del robot, por lo que el valor
de la reducción de engranes es de r1 = 1 y r2 = 1 resultando en R = I siendo I ∈ IR2×2 la
matriz identidad. Por lo tanto, las matrices y vectores del modelo del robot experimental
son:
donde la función de fricción seca se define como una función de fricción seca suave asimétri-
ca tal que
s1mi tanh(β q̇i ) si q̇i ≥ 0,
f
fsi (q̇i ) = (3.40)
f
s2mi tanh(β q̇i ) si q̇i < 0,
donde fs1mi , fs2mi > 0 ∈ IR son los coeficientes de fricción seca suave asimétrica, i = 1, 2
y β = 50 es un parámetro constante de la suavidad de la fricción seca. En la figura 3.6 se
muestran ejemplos de la respuesta de la función tanh(βx) para diferentes valores de β.
Tomando en cuenta que la inversa de la matriz K de la ecuación (3.37) se define
como
1
K −1 = adj(K), (3.41)
det(K)
que el determinante de K es det(K) = km1 km2 y que la adjunta de K es adj(K) =
diag{km2 , km1 }, además km1 > 0 y km2 > 0, entonces K −1 es
km2 1
0 0
K −1 = km2 km1 = km1 . (3.42)
km1 1
0 km2 km1
0 km2
3.3. Modelo dinámico de robots actuado por motores de C.D. 29
tanh(βx)
β = 50
−1 β = 10
β =2
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
x
donde
F̄v = K −1 Fv , (3.47)
Conviene resaltar que siempre es posible encontrar un vector θ ∈ IRp para el cual
κ(q, v, w, z) ≡ 0 ∈ IRn . Considerando esto y tomando v = q̈ y w = z = q̇, la ecuación
(3.1) puede escribirse entonces como:
donde Y (q, q̇, q̈) = Ψ(q, v, w, z) ∈ IRn×p es una matriz de funciones conocidas de la dinámi-
ca del robot y θ ∈ IRp es un vector que contiene las p constantes dependientes de los
parámetros dinámicos. El valor de n indica el número de grados de libertad, mientras que
el valor entero p depende de la selección de los parámetros dinámicos del robot.
A partir de esta propiedad puede demostrarse que el modelo dinámico de robots
con motores de C.D. como actuadores descrito en (3.32) también cumple una relación de
linealidad en términos de los parámetros dinámicos del robot ası́ como de las constantes
de los actuadores. Para todo q, q̇, q̈ ∈ Rn se tiene:
K −1 [(RM (q) + J)q̈ + RC(q, q̇)q̇ + Rg(q) + Fv (q̇) + fs (q̇)] = Ω(q, q̇, q̈)θ, (3.51)
donde Ω(q, q̇, q̈) ∈ IRn×p es una matriz de funciones conocidas de la dinámica del robot
y los motores y θ ∈ IRp es un vector de constantes que dependen de los parámetros
dinámicos del robot y los actuadores.
Expresando las matrices M̄ (q), C̄(q, q̇), F̄v y el vector f¯(q̇) de la ecuación (3.44) en
forma parametrizada y utilizando el modelo de fricción seca suave definido en la ecuación
(3.40) se tiene que el modelo del robot experimental puede expresarse como:
θ1 + 2θ2 cos(q2 ) θ3 + θ2 cos(q2 )
M̄ (q) = , (3.52)
θ4 + θ5 cos(q2 ) θ6
−θ2 sen(q2 )q̇2 −θ2 sen(q2 )[q̇1 + q̇2 ]
C̄(q, q̇) = , (3.53)
θ5 sen(q2 )q̇1 0
θ7 0
F̄v = , (3.54)
0 θ10
3.4. Parametrización del modelo dinámico 32
f¯s1 (q1 ) =
θ tanh(β q̇ ),
8 1 q̇1 ≥ 0,
θ tanh(β q̇ ),
9 1 q̇1 < 0.
¯
fs (q̇) =
(3.55)
θ tanh(β q̇ ), q̇2 ≥ 0,
11 2
f¯s2 (q2 ) =
θ tanh(β q̇ ), q̇2 < 0.
12 2
donde β > 0 es un parámetro constante y los parámetros dinámicos de las matrices M̄ (q),
C̄(q, q̇), F̄v y el vector f¯s (q̇), cuyos valores dependen de los valores de los parámetros
dinámicos del robot y de los motores, son:
1 2 fv1
θ1 = m1 lc1
+ m2 [l12
+ 2
lc2 ] + I1 + I2 + J1 , θ7 = ,
km1 km1
1 fs1m1
θ2 = m2 l1 lc2 , θ8 = ,
km1 km1
1 2 fs2m1
θ3 = m2 lc2 + I2 , θ9 = , (3.56)
km1 km1
1 2 fv2
θ4 = m2 lc2 + I2 , θ10 = ,
km2 km2
1 fs1m2
θ5 = m2 l1 lc2 , θ11 = ,
km2 km2
1 2 fs2m2
θ6 = m2 lc2 + I2 + J2 , θ12 = ,
km2 km2
donde fs1m1 , fs2m1 > 0 ∈ IR denotan los coeficientes de fricción seca asimétrica del motor
de la articulación 1 y fs1m2 , fs2m2 > 0 ∈ IR denotan los coeficientes de fricción seca
asimétrica del motor de la articulación 2. Utilizando el modelo dinámico de la ecuación
(3.57) se obtiene que el modelo dinámico de regresión del robot con motores de C.D. como
actuadores es
donde θ ∈ IR12 denota el vector el parámetros de la dinámica del robot y los motores
cuyos elementos están definidos en (3.56) y sus valores son desconocidos, u ∈ IR2 es el
vector de voltaje aplicado a los motores y Ω(q, q̇, q̈) ∈ IR2×12 es una matriz de funciones
3.4. Parametrización del modelo dinámico 33
ω11 = q̈1 ,
ω12 = cos(q2 )[2q̈1 + q̈2 ] − sen(q2 )q̇2 [2q̇1 + q̇2 ],
ω13 = q̈2 ,
ω14 = q̇1 , (3.62)
tanh(β q̇ ),
1 q̇1 ≥ 0,
ω15 =
0, q̇1 < 0,
0, q̇1 ≥ 0,
ω16 = (3.63)
tanh(β q̇ ), q̇1 < 0,
1
ω21 = q̈1 ,
ω22 = cos(q2 )q̈1 + sen(q2 )q̇12 ,
ω23 = q̈2 , (3.64)
ω24 = q̇2 ,
tanh(β q̇ ),
2 q̇2 ≥ 0,
ω25 =
0, q̇2 < 0,
0, q̇2 ≥ 0,
ω26 =
tanh(β q̇ ), q̇2 < 0.
2
M (q)v + C(q, z)w + g(q) = Y (q, v, w, z)θ + M0 (q)v + C0 (q, z)w + g0 (q), (3.65)
3.5. Modelo nominal 35
de donde se puede identificar que el modelo nominal o parte nominal del modelo es
Se puede obtener el modelo nominal del robot con motores de C.D. utilizando el
modelo obtenido en la ecuación (3.44) de tal forma que
M̄ (q)q̈ + C̄(q, q̇)q̇ + F̄v q̇ + f¯s (q̇) = Ω(q, q̇, q̈)θ + M̄0 (q)q̈ + C̄0 (q, q̇)q̇ + F̄v0 q̇ + f¯s0 (q̇), (3.67)
donde las matrices M̄0 (q), C̄0 (q, q̇), F̄v0 y el vector f¯s0 (q̇) representan respectivamente
parte ya conocida de las matrices M̄ (q), C̄(q, q̇), F̄v y el vector f¯s (q̇) que no dependen del
vector de parámetros dinámicos desconocidos θ.
En este documento los parámetros que se consideran desconocidos son los de
inercia y los parámetros de fricción los que se consideran conocidos. Entonces, se tiene
que M̄0 (q)q̈ = 0, C̄0 (q, q̇)q̇ = 0, y
obteniéndose ası́
M̄ (q)q̈ + C̄(q, q̇)q̇ = Ω(q, q̇, q̈)θ, (3.68)
y si se define un = u − F̄v0 q̇ − f¯s0 (q̇) puede definirse el modelo de regresión del robot de
la siguiente forma
un = Ω(q, q̇, q̈)θ, (3.70)
que para el robot se tienen dos ecuaciones que pueden representarse como
ω11 = q̈1 ,
ω12 = cos(q2 )[2q̈1 + q̈2 ] − sen(q2 )q̇2 [2q̇1 + q̇2 ], (3.76)
ω13 = q̈2 ,
ω24 = q̈1 ,
ω25 = cos(q2 )q̈1 + sen(q2 )q̇12 , (3.77)
ω26 = q̈2 .
Este modelo (3.73) se divide en dos vectores de parámetros (3.74) y (3.75). Los pa-
rámetros obtenidos en estos dos vectores son los correspondientes a cada articulación. En
particular, este modelo de regresión del robot cuenta con la cualidad de que los vectores de
parámetros correspondientes a cada articulación son diferentes entre si, esto es, θa1 6= θa2 .
Esto es debido a la forma en que se agrupó los parámetros, resultando que, este modelo de
regresión puede ser representado como un conjunto de ecuaciones por cada articulación.
Por lo cual, se puede definir el vector de parámetros donde sus elementos son los vectores
de parámetros de cada articulación, esto es,
h iT
θ = θa1 θa2 ∈ IR13 .
T T (3.78)
3.6. Cinemática directa 38
X = h(q), (3.79)
donde q ∈ IRn son las posiciones articulares y h(q) : IRn → IRm es el mapeo del espacio
articular IRn al espacio operacional IRm . Especificamente se puede representar h(q) ∈ IR6
como
ϕ(q)
X= , (3.80)
φ(q)
donde ϕ ∈ IR3 denota la posición del efector final en el espacio cartesiano de tres di-
mensiones y φ = [γ ϑ ψ] ∈ IR3 es el conjunto de los ángulos de Euler que describen la
orientación del efector final.
Las coordenadas cartesianas x-y que representan la posición del extremo del se-
gundo eslabón que dependen de las posiciones articulares rotacionales del robot se pueden
definir como
x
= ϕ(q), (3.81)
y
∂ϕ(q)
J(q) = , (3.85)
∂q
con lo cual se pude representar la relación de velocidad del efector final con respecto a las
velocidades de las articulaciones como
ẋ
= J(q)q̇, (3.86)
ẏ
donde
l1 cos q1 + l2 cos(q1 + q2 ) l2 cos(q1 + q2 )
J(q) = (3.87)
l1 sen q1 + l2 sen(q1 + q2 ) l2 sen(q1 + q2 )
3.7. Cinemática inversa 40
d
donde dt
J(q) es la derivada temporal del Jacobiano y puede obtenerse derivando la ecua-
ción (3.87), de tal forma que
d −l1 sen(q1 )q̇1 − l2 sen(q1 + q2 ) [q̇1 + q̇2 ] −l2 sen(q1 + q2 ) [q̇1 + q̇2 ]
J(q) = . (3.89)
dt l1 cos(q1 )q̇1 + l2 cos(q1 + q2 ) [q̇1 + q̇2 ] l2 cos(q1 + q2 ) [q̇1 + q̇2 ]
Figura 3.7: Diagrama de las dos posibles soluciones de la cinemática inversa para una
posición determinada denominadas −−“Codo arriba” y —“Codo abajo”.
configuraciones “codo arriba” y “codo abajo” o puede haber una única solución si el brazo
del robot esta completamente extendido para alcanzar las coordenadas x-y.
Considérese el diagrama de la figura 3.8(a). Utilizando la ley de los cosenos del
Apéndice B y el triangulo que se forma con los lados l1 , l2 y el lado a del origen al punto
(x, y) se puede obtener que
x2 + y 2 − l12 − l22
cos(q2 ) = = D, (3.92)
2l12 l22
de tal forma que
x2 + y 2 − l12 − l22
−1
q2 = cos . (3.93)
2l12 l22
Ası́ mismo, ya que q2 esta dado por la ecuación (3.92), ésta puede expresarse como
√
sen(q2 ) = ± 1 − D2 , (3.94)
Figura 3.8: Diagrama esquemático del robot para obtener la solución de modelo cinemático
inverso.
La ventaja de la ecuación (3.95) es que se pueden obtener las soluciones de “codo arriba”
y “codo abajo” seleccionando el signo negativo o positivo de la raı́z cuadrada, respectiva-
mente.
x l2 sin(q2 )
q1 = σ − γ = atan2 − atan2 . (3.96)
−y l1 + l2 cos(q2 )
Nótese que el ángulo q1 depende de q2 lo cual tiene sentido fı́sicamente, ya que se tiene
un valor diferente para q1 dependiendo del valor que se obtenga para q2 .
singularidad, esto es, mientras el Jacobiano sea cuadrado y no singular. Por lo tanto,
q̇ ẋ
1 = J −1 (q) , (3.97)
q̇2 ẏ
" #
q̈ ẋ ẍ
1 = −J −1 (q) d J(q) J −1 (q) + J −1 (q) , (3.98)
q̈2 dt ẏ ÿ
donde d
dt
[J(q)] se define en (3.89) y J −1 (q) denota la inversa de la matriz Jacobiano la
cual es
sen(q1 + q2 ) cos(q1 + q2 )
−
l1 sen(q2 ) l1 sen(q2 )
J −1 (q) = . (3.99)
−l1 sen(q1 ) − l2 sen(q1 + q2 ) l1 cos(q1 ) + l2 cos(q1 + q2 )
l1 l2 sen(q2 ) l1 l2 sen(q2 )
4.1. Introducción
Los esquemas de control de robots estudiados en la literatura requieren un modelo
dinámico del robot. La presición, funcionamiento, estabilidad o robustez de estos contro-
ladores dependen, en gran medida, de que tan exactos son los parámetros que describen
el modelo dinámico [11].
Una gran parte de estos algoritmos de control de posición y movimiento asumen
que el modelo del robot se conoce con exactitud, o bien, todas las no linealidades impli-
cadas se conocen o son insignificantes. A la vez que son conocidos los parámetros fı́sicos
constantes como la inercia, masa, distancia al centro de masa y la masa de los diversos
objetos que pueden ser movidos por el efector final del robot manipulador [12].
La determinación de los parámetros dinámicos es útil para algunos esquemas de
control y crucial para otros. Además, estos valores de los parámetros son necesarios para
la simulación de las ecuaciones dinámicas.
En caso de que no se tenga tal información del sistema, es necesario realizar la
identificación de los parámetros desconocidos del modelo dinámico del robot.
44
4.2. Identificación de robots manipuladores 45
Entre los diversos métodos de identificación, existen tres métodos principales para la
estimación de los parámetros del modelo de un robot [11]:
• Las coordenadas del centro de masa pueden ser estimadas mediante la deter-
minación de puntos de contrapeso del eslabón.
Este método es muy tedioso y deberı́a ser realizado por el fabricante antes de en-
samblar el robot.
Los parámetros del modelo dinámico del robot correspondientes a la fricción son
linealmente independientes de los parámetros de inercia. Por lo tanto la identificación
de los parámetros del modelo dinámico del robot correspondientes a la fricción se puede
hacer en dos enfoques [11]:
Los elementos de la matriz de regresión están en función de q, q̇, y q̈. Los robots
industriales están equipados comúnmente con sensores de posición de buena exactitud
aunque pueden contener ruido de alta frecuencia debido a errores de cuantización. Por
el contrario, los sensores de velocidad proveen información ruidosa, y los sensores de
aceleración no son utilizados en robots industriales. Debido a esto, las velocidades y ace-
leraciones articulares tienen que ser obtenidas por medio de diferenciación numérica de la
posición articular. Sin embargo, la derivada, y más aún la segunda derivada, de la posición
articular amplifican el ruido de cuantización, el cual a su vez es de alta frecuencia, debido
a que el proceso de diferenciación se comporta como un filtro pasa altas [11].
Una solución para el cálculo de la velocidad articular es filtrar las datos obtenidos
de la posición articular para el proceso de identificación. Esto es realizado mediante un
filtro digital pasa bajas no causal de fase cero antes de calcular las derivadas, como fue
relizado en [2], [5], [10], [13].
Esto se realiza a través del siguiente procedimiento:
En primera instancia se diseña un filtro digital pasabajas fp (z) que filtre las altas
frecuencias del cuantizado de los codificadores ópticos de los motores y permita pasar
las bajas frecuencias de la trayectoria deseada. En el Apéndice C se presentan las
caracterı́sticas del diseño del filtro que se usó en los experimentos de identificación.
4.2. Identificación de robots manipuladores 48
Una vez obtenido el filtro, éste se implementa a través del esquema de filtrado de
fase cero denominado filtrado en ambas direcciones “Adelante-Atras” para evitar la
distorsión de las muestras de la posición articular. Para una explicación a detalle
de este esquema de filtrado de fase cero, consúltese [22]. Este esquema de filtrado
se implementa de manera sencilla mediante la función “filtfilt” de Matlab. Por lo
anterior, se filtra la posición articular q(k) implementando el filtro diseñado fp (z)
mediante la función de Matlab “filtfilt” para obtener la posición filtrada qf (k).
qf (k + 1) − qf (k − 1)
q̇(k) = , (4.1)
2T
de la siguiente forma
d d
M̄ (q)q̇ − M̄ (q) q̇ + C̄(q, q̇)q̇ + F̄v q̇ + f¯s (q̇) = u. (4.2)
dt dt
donde ambas ecuaciones (3.44) y (4.2) son igualmente válidas. Ası́ mismo, considerando
la representación de la ecuación (4.2), el modelo de regresión (3.57) puede ser reescrito de
tal forma que se consideran por separado los elementos que son función de la aceleración
con lo que se puede escribir
d
Ωa (q, q̇) + Ωb (q, q̇) θ = u, (4.3)
dt
donde
donde, considerando
λ
f (s) = , (4.8)
s+λ
con λ denotando la frecuencia de corte del filtro, se tiene que
Z t
uf (t) = uf (0) + λ [u(t) − uf (t)] dt , (4.9)
0
Z t
Ωaf (q(t), q̇(t)) = Ωaf (q(0), q̇(0)) + λ Ωa (q(t), q̇(t)) − Ωaf (q(t), q̇(t))dt , (4.10)
0
y finalmente
Z t
Ωbf (q(t), q̇(t)) = Ωbf (q(0), q̇(0)) + λ [Ωb (q(t), q̇(t)) − Ωbf (q(t), q̇(t))] dt . (4.11)
0
4.3. Identificación del modelo dinámico del robot 50
donde
Ωf (q, q̇) = Ωaf (q, q̇) + Ωbf (q, q̇) ∈ IRn×p . (4.13)
Por tanto, cualquier método de identificación que tome en cuenta el modelo fltrado (4.12)
no requiere la medición de la aceleración articular q̈ ∈ IRn . Todos los experimentos de
identificación considerados en esta tesis se basan en el modelo filtrado (4.12) usando las
condiciones iniciales
donde
uf i = f (s)ui ,
Ωf i (q, q̇) = f (s)Ωi (q, q̇),
i = 1, 2 denota la articulación del robot, θai denota los parámetros presentes solamente
en la articulación i definidos como
h iT
θa1 = θ1 θ2 θ3 θ7 θ8 θ9 , (4.15)
4.3. Identificación del modelo dinámico del robot 51
y
h iT
θa2 = θ4 θ5 θ6 θ10 θ11 θ12 . (4.16)
ωf 11 = sf (s)q̇1 ,
ωf 12 = sf (s) cos(q2 )[2q̇1 + q̇2 ],
ωf 13 = sf (s)q̇2 ,
ωf 14 = f (s)q̇1 , (4.17)
tanh(β q̇ ),
1 q̇1 ≥ 0,
ωf 15 = f (s)
0, q̇1 < 0,
0, q̇1 ≥ 0,
ωf 16 = f (s)
tanh(β q̇ ), q̇1 < 0,
1
ωf 21 = sf (s)q̇1 ,
ωf 22 = sf (s) cos(q2 )q̇1 + f (s) sen(q2 )q̇1 [q̇1 + q̇2 ] ,
ωf 23 = sf (s)q̇2 ,
ωf 24 = f (s)q̇2 , (4.18)
tanh(β q̇ ),
2 q̇2 ≥ 0,
ωf 25 = f (s)
0, q̇2 < 0,
0, q̇2 ≥ 0,
ωf 26 = f (s)
tanh(β q̇ ), q̇2 < 0.
2
e−kT s = z −k , (4.24)
1 z
= , (4.25)
s z−1
1 z
= , (4.26)
s+a z − e−aT
se obtiene que la representación discreta de (4.19) puede ser expresada por
−1
z z
fd1 (z) = 1 − z − , (4.27)
z − 1 z − e−λT
la cual puede ser reescrita como
1 − eλT
fd1 (z) = . (4.28)
z − e−λT
Ası́ mismo, aplicando las mismas ideas al filtro (4.20) se obtiene
λs 1
f¯2 (s) = G0 (s)sf (s) = (1 − e )
−T s −T
= λ(1 − e ) s
. (4.29)
s(s + λ) s+λ
Utilizando las relaciones (4.24) y (4.25), es posible obtener la representación discreta de
(4.20) como
z
fd2 (z) = λ 1 − z −1
,
z − e−λT
λ[z − 1]
= . (4.30)
z − e−λT
4.3. Identificación del modelo dinámico del robot 53
Los parámetros del vector θ son estimados como la solución por mı́nimos cuadra-
dos de un sistema lineal sobredeterminado el cual es obtenido por el muestreo del modelo
dinámico del robot a través de una trayectoria q(t), q̇(t) q̈(t). Considérese que se tiene N
muestras del vector de excitación de voltaje aplicado a los motores del robot u(k) ∈ IR2
y de las posiciones angulares de los ejes de los motores q(k) ∈ IR2 a un periodo de mues-
treo de T = 0.001 [seg]. El modelo a identificar del robot es el obtenido en la ecuación
(4.14) donde uf i ∈ IR denota los voltajes filtrados de cada articulación i y Ωf i (q, q̇) ∈ IR6
denota el vector de regresión filtrado de cada articulación i cuyos elementos son funciones
conocidas de q(k), q̇(k) y están definidos en las ecuaciones (4.17) y (4.18), y θai ∈ IR6
son los vectores de parámetros desconocidos de la dinámica de cada articulación i del
robot. Cabe recordar que, para el procedimiento de identificación, la velocidad angular
es estimada mediante la función “filtfilt” y el algoritmo de diferenciación central de la
ecuación (4.1).
˙
u(t) = Kp q̃ + Kv q̃, (4.31)
donde Kp , Kv son matrices definidas positivas cuyos valores son Kp = diag {5, 5} [Volt/rad]
y Kv = diag {0.25, 0.25} [Volt seg/rad],
q̃ = qd − q, (4.32)
4.3. Identificación del modelo dinámico del robot 54
de identificación como un bloque independiente de los otros procesos. Por lo cual, este
mismo representa la identificación por cualquiera de los tres algoritmo aquı́ presentados.
Se seleccionó el parámetro de ancho de banda λ del filtro f (s) tal que rechace las
componentes de alta frecuencia resultantes de ruido mientras que se permite las compo-
nentes de baja frecuencia generadas por la entrada de voltaje. Como la frecuencia más alta
de la trayectoria deseada es de ω2 = 2π [rad/seg], entonces se seleccionó una frecuencia
de corte de λ = 20 [rad/seg] del filtro f (s) en las ecuaciones (4.19) y (4.20) para realizar
el filtrado del modelo dinámico.
Los resultados del algoritmo (4.35) son presentados en la tabla 4.1 que contiene los valores
numéricos obtenidos de los parámetros estimados en la última muestra del experimento.
Ası́ mismo, en la figura 4.2 se presenta la evolución temporal de la estimación de los
parámetros.
−1
Ri (k) = Pi (k − 1)ΩTfi (k) 1 + Ωf i (k)Pi (k − 1)ΩTfi (k)
, (4.39)
Tabla 4.1: Parámetros estimados del modelo dinámico del robot mediante mı́nimos cuadra-
dos (MC), mı́nimos cuadrados ponderado (MCP) y mı́nimos cuadrados recursivo (MCR).
Parámetro Unidades MC MCP MCR
θ̂1 Kg-m-volt/[N-rad] 0.0480 0.0480 0.0481
θ̂2 Kg-m volt/[N-rad] 0.0038 0.0037 0.0038
θ̂3 Kg-m-volt/[N-rad] 0.0033 0.0033 0.0033
θ̂4 Kg-m-volt/[N-rad] 0.0157 0.0161 0.0157
θ̂5 Kg-m-volt/[N-rad] 0.0226 0.0220 0.0226
θ̂6 Kg-m-volt/[N-rad] 0.0166 0.0162 0.0166
θ̂7 Volt-seg/rad 0.0071 0.0070 0.0074
θ̂8 Volt 0.0570 0.0571 0.0555
θ̂9 Volt 0.0066 0.0067 0.0052
θ̂10 Volt-seg/rad 0.0066 0.0071 0.0070
θ̂11 Volt 0.0612 0.0554 0.0590
θ̂12 Volt 0.0136 0.0105 0.0116
θ̂1 x 10
−3 θ̂2 x 10
−3 θ̂3
0.049 6
4
0.048 4
2
2
0.047 0
θ̂4 θ̂5 θ̂6
0.02 0.04 0.03
0.02
0.01 0.02
0.01
0 0 0
θ̂7 θ̂8 θ̂9
0.02 0.1 0.04
0.02
0.01 0.05
0
0 0 −0.02
θ̂10 θ̂11 θ̂12
0.06
0.01 0.1 0.04
0.02
0.005 0.05 0
−0.02
0 0
0 10 20 0 10 20 0 10 20
Tiempo [seg] Tiempo [seg] Tiempo [seg]
Figura 4.2: Evolución temporal de la estimación de los parámetros θ̂1 − θ̂12 del modelo
dinámico del robot mediante mı́nimos cuadrados ...., mı́nimos cuadrados ponderado —
y mı́nimos cuadrados recursivo - - -. Las unidades de los parámetros se listan en la tabla
4.1.
4.3. Identificación del modelo dinámico del robot 59
con los otros métodos de estimación, aunque no se descarta que sean estimaciones del
modelo relativamente aceptables. Basándose en esta idea, el modelo obtenido por mı́nimos
cuadrados ponderado se considera como el modelo del robot experimental identificado.
Cabe mencionar que el robot experimental cuenta con sensores de posición de una
resolución de 2000 [pulsos/rev]. Por lo tanto, se tiene una resolución de 0.00314 [rad/pulso].
Debido a esto, en esta tesis, todas las simulaciones del robot son implementadas consi-
derando en la simulación de la dinámica del robot una cuantización con intervalos de
0.00314 [rad] para la lectura de la posición de las articulaciones del robot, lo cual permite
una simulación más realista del comportamiento del robot.
Para verificar la exactitud de la estimación de los parámetros del modelo dinámi-
co se siguieron dos enfoques. En el primero, se comparó la salida del control de voltaje
muestreado durante el experimento de identificación y se realizó la simulación del control
de seguimiento (4.31) utilizando los parámetros del modelo dinámico estimados por mı́ni-
mos cuadrados ponderado de la tabla 4.1 bajo las mismas condiciones del experimento.
Ası́ mismo se obtuvo el error de posición para observar el desempeño del controlador.
La comparación del experimento y la simulación se presentan en las figuras 4.3 y 4.4, en
donde se presentan los voltajes y errores de posición, respectivamente. Como se puede ob-
servar en la figura 4.3 el voltaje de control simulado y el obtenido en experimentación son
relativamente iguales, lo que implica que los parámetros son los suficientemente exactos.
En el segundo enfoque, se implementó un control de seguimiento de trayectorias
pero utilizando un controlador basado en modelo. Este controlador es el controlador PD
con precompensación definido en [26], el cual está descrito por
donde Ω(qd , q̇d , q̈d ) ∈ IR2×12 es la matriz de regresión del robot evaluada en qd , q̇d y
q̈d ∈ IR2 , θ̂ ∈ IR12 es el vector de parámetros estimados del modelo dinámico del robot
mediante mı́nimos cuadrados ponderado de la tabla 4.1, Kp = diag{5, 5} [Volt/rad] y
Kv = diag{0.5, 0.5} [Volt seg/rad] son matrices positivas. Además, para esta validación
4.3. Identificación del modelo dinámico del robot 60
Voltaje de control
4
2
u1 [volt] 0
−2
−4
Exp. Sim.
2
u2 [volt]
−2
−4
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]
Error de posición
0.5
q̃1 [rad]
−0.5
Exp. Sim.
0.5
q̃2 [rad]
−0.5
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]
Voltaje de control
4
u1 [volt] 0
−2
−4
Exp. Sim.
2
u2 [volt]
−2
−4
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]
Error de posición
0.05
q̃1 [rad]
−0.05
Exp. Sim.
0.05
q̃2 [rad]
−0.05
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]
de la forma
uf i (k) = Ωf i (q(k), q̇(k))θai (4.44)
donde uf i (k) ∈ IR es la señal del voltaje medida de cada articulación, Ωf i (q(k), q̇(k)) ∈ IRpi
es el vector de regresión cuyos elementos son funciones conocidas obtenidas a partir de
las mediciones de la posición y estimación de la velocidad articular del robot que están
definidos en la ecuaciones (4.17) y (4.18), θ̂ai ∈ IRpi es el vector de parámetros de cada
articulación, k = 0, 1, 2, . . . , N −1 denota el tiempo discreto de muestreo y pi es el número
de parámetros presentes en la ecuación de cada articulación donde p1 = p2 = 6.
Para la estimación de los parámetros del modelo dinámico del robot se utilizó un
lazo de control mediante el controlador de la ecuación (4.31) que es aplicado con los
mismos valores para las ganancias de control que en la estrategia de la sección anterior,
esto es, Kp = diag{5, 5} [Volt/rad] y Kv = diag{0.25, 0.25} [Volt seg/rad]. Ası́ mismo, se
utilizó también la misma trayectoria deseada definida en (4.34) donde las frecuencias son
de ω1 = 1.5π [rad/seg] y ω2 = 2π [rad/seg].
Resultados experimentales
donde Ri (k) ∈ IR6 es el vector de ganancia del algoritmo, Pi (k) ∈ IR6×6 es la matriz de
covarianza, θ̂ai (k) ∈ IR6 es el vector de parámetros estimados del robot por cada articula-
4.4. Discusión de resultados 64
Tabla 4.2: Parámetros estimados del robot utilizando el algoritmo de mı́nimos cuadrados
recursivo, filtrado del modelo y estimación de velocidad por el filtro de Euler.
Parámetro Unidades Estimación
θ̂1 Kg-m-volt/[N-rad] 0.0473
θ̂2 Kg-m-volt/[N-rad] 0.0039
θ̂3 Kg-m-volt/[N-rad] 0.0031
θ̂4 Kg-m-volt/[N-rad] 0.0166
θ̂5 Kg-m-volt/[N-rad] 0.0210
θ̂6 Kg-m-volt/[N-rad] 0.0159
θ̂7 Volt-seg/rad -0.0001
θ̂8 Volt 0.0649
θ̂9 Volt 0.0129
θ̂10 Volt-seg/rad 0.0007
θ̂11 Volt 0.0745
θ̂12 Volt 0.0237
θ̂1 x 10
−3 θ̂2 θ̂3
0.06 6
0.01
0.05 4
0.005
2
0.04 0
0 0 0
0.02
0 0.05
0
−0.01 0 −0.02
x 10
−3 θ̂10 θ̂11 θ̂12
5 0.06
0.1 0.04
0 0.02
0.05
0
−5 0 −0.02
0 10 20 0 10 20 0 10 20
Tiempo [seg] Tiempo [seg] Tiempo [seg]
Figura 4.8: Evolución temporal de la estimación de los parámetros θ̂1 − θ̂12 del modelo
dinámico mediante mı́nimos cuadrados recursivo, filtrado del modelo y estimación de
velocidad por el filtro de Euler. Las unidades de los parámetros se listan en la tabla 4.2.
4.4. Discusión de resultados 66
resultados en los que algunos parámetros tendı́an a valores negativos a medida que el
tiempo incrementaba. Más especı́ficamente, los parámetros correspondientes a la fricción
fueron los que presentaron dicho comportamiento. Una forma de implementar el método
de mı́nimos cuadrados recursivo es realizar la identificación, en primera instancia, de los
parámetros correspondientes a la fricción y posteriormente realizar la identificación de los
parámetros restantes considerando a los coeficientes de fricción, previamente identificados,
como conocidos. En el siguiente capı́tulo se presenta el caso de estudio de este esquema
de identificación.
En conclusión, los resultados obtenidos por el método de mı́nimos cuadrados re-
cursivo implementado en linea no resultan confiables para la estimación de los parámetros
del modelo dinámico del robot experimental. Por lo tanto, se considera que los parámetros
estimados mediante la estrategia de identificación de mı́nimos cuadrados ponderado y fil-
trado del modelo dinámico son lo suficientemente cercanos a los valores de los parámetros
reales, lo cual pudo ser demostrado por medio de las comparaciones entre experimento y
simulación de la sección 4.3.4.
Capı́tulo 5
5.1. Introducción
Como se pudo observar de los resultados obtenidos en el capı́tulo anterior, los
parámetros correspondientes a la fricción de cada articulación son los parámetros en los
cuales se tiene más incertidumbre. Además, los parámetros correspondientes a la fricción
son independientes entre si, esto es, los parámetros de fricción son caracterı́sticos de
cada articulación y son linealmente independientes de los parámetros de inercia, por lo
tanto, pueden ser estimados individualmente para cada articulación. Como se explica en
la sección 4.2.2 una de las estrategias presentada en la literatura es realizar la estimación
de los parámetros correspondientes a la fricción por separado de la estimación de los
parámetros correspondientes a la inercia. Una vez identificados los parámetros de fricción
estos se consideran como conocidos para realizar la estimación de los parámetros de inercia.
Este esquema de identificación es implementado utilizando el algoritmo de mı́ni-
mos cuadrados recursivo lo cual permitirá estudiar otro caso de estudio para la identifica-
ción por medio de este algoritmo y considerar otra estrategia de identificación buscando
mejores resultados en la identificación que los obtenidos en el capı́tulo anterior con res-
67
5.2. Identificación de los parámetros de fricción 68
J q̈ + fv q̇ + fs (q̇) = km u, (5.1)
5.2. Identificación de los parámetros de fricción 69
donde q̇ ∈ IR es la velocidad angular del eje del motor, km > 0 una constante de conversión
de voltaje a torque, u el voltaje aplicado al motor, J > 0 la inercia del eje del motor,
fv > 0 el coeficiente de fricción viscosa del eje del motor y fs (q̇) la función de fricción seca
del eje del motor definida por
f
s1 tanh(β q̇), q̇ ≥ 0,
fs (q̇) = (5.2)
f tanh(β q̇), q̇ < 0,
s2
donde fs1 > 0, fs2 > 0 son los coeficientes de fricción seca suave y β > 0 es un parámetro
fijo. La ecuación (5.1) se puede reescribir como
donde la barra sobre las constantes denota la multiplicación por el inverso de la constante
−1
de conversión de voltaje a torque km .
donde
h iT
φ(q̇, q̈) = q̈ q̇ f1 (q̇) f2 (q̇) ∈ IR4 (5.5)
h iT
θ = J¯ f¯v f¯s1 f¯s2 . (5.8)
donde
uf = f (s)u, (5.10)
h iT
φTf (q̇) = f (s) sq̇ q̇ f1 (q̇) f2 (q̇) . (5.12)
donde uf (k) se obtiene de (5.10), φTf (q̇(k)) de (5.11) y k es el tiempo discreto. Es convenien-
te notar que la ecuación (5.13) tiene la estructura del modelo entrada-salida generalizado
(2.1).
De las ecuaciones (2.25)-(2.27), que definen el algoritmo de mı́nimos cuadrados
recursivo, y de la ecuación (5.13) que define el modelo entrada-salida del motor, se obtienen
las ecuaciones del algoritmo para la identificación de los parámetros del modelo dinámico
de regresión filtrado del motor las cuales son
−1
R(k)=P (k − 1)φf (q̇(k)) 1 + φTf (q̇(k))P (k − 1)φf (q̇(k))
, (5.14)
Tabla 5.1: Parámetros estimados de lo motores de las articulaciones del robot mediante
mı́nimos cuadrados recursivo.
Parámetro Unidades Motor 1 Motor 2
Jˆ Kg-m-volt/[N-rad] 0.0367 0.0167
fˆv Volt-seg/rad 0.0077 0.0033
fˆs1 Volt 0.0363 0.0738
fˆs2 Volt 0.0247 0.0098
como
u(t) = 0.7 sen(ω1 t) [volt], (5.18)
donde ω1 = 1.5π [rad/seg]. Además, se utilizó la condición inicial del algoritmo de mı́nimos
cuadrados recursivo P (0) = (1/0.001)I con I ∈ IR4×4 la matriz identidad. Ası́ mismo, un
valor de λ = 50 [rad/seg] de la frecuencia de corte del filtro (4.8) El experimento de
identificación fue realizado en un periodo de 30 segundos. La evolución temporal de la
estimación de los parámetros del modelo del motor de la articulación 1 se muestran en la
figura 5.1. Ası́ mismo, en la tabla 5.1 se presentan los valores de los parámetros estimados
arrojado el término del experimento de identificación.
Jˆ fˆv
0.045 0.015
[Kg-m-volt/N-rad]
[Volt-seg/rad]
0.04 0.01
0.035 0.005
0.03 0
fˆs1 fˆs2
0.1
0.08 0.04
0.06
[Volt]
[Volt]
0.02
0.04
0.02 0
0
0 10 20 30 0 10 20 30
Tiempo [seg] Tiempo [seg]
Jˆ fˆv
0.02 0.01
[Kg-m-volt/N-rad]
0.008
[Volt-seg/rad]
0.018
0.006
0.004
0.016
0.002
0.014 0
fˆs1 fˆs2
0.06
0.1 0.04
[Volt]
[Volt]
0.02
0.05
0
0 −0.02
0 10 20 30 0 10 20 30
Tiempo [seg] Tiempo [seg]
donde i = 1, 2, θai ∈ IR3 son los vector de parámetros a identificar del modelo del robot,
con fˆvi los coeficientes de fricción estimados de los motores y fs (q̇i ) la función de fricción
seca definida en (5.2) evaluada para q̇1 con los coeficientes de fricción seca estimados del
5.3. Identificación del modelo dinámico del robot conociendo la fricción 75
motor 1 y para q̇2 con los coeficientes de fricción seca estimados del motor 2, los cuales se
encuentran listados en la tabla 5.1. Ası́ mismo,
donde los elementos del vector de regresión filtrado Ωf 1 (q, q̇) de la articulación 1 son
ω11 = sf (s)q̇1 ,
ω12 = sf (s) cos(q2 )[2q̇1 + q̇2 ], (5.24)
y los elementos del vector de regresión filtrado Ωf 2 (q, q̇) de la articulación 2 son
ω21 = sf (s)q̇1 ,
ω21 = sf (s) cos(q2 )q̇1 + f (s) sen(q2 )q̇12 + f (s) sen(q2 )q̇1 q̇2 , (5.26)
donde uf i (k) ∈ IR se obtiene de (5.21), Ωf i (q(k), q̇(k)) ∈ IR3 de (5.23) y k denota el tiempo
discreto. De tal forma que, de las ecuaciones (2.25)-(2.27), que definen el algoritmo de
mı́nimos cuadrados recursivo, y de la ecuación (5.28), que define el modelo entrada-salida
del robot, se obtienen las ecuaciones del algoritmo para la identificación de los parámetros
del modelo dinámico de regresión filtrado del robot. Estas ecuaciones resultantes son las
ya presentadas en las ecuaciones (4.39)-(4.41), definidas para la identificación del robot en
5.3. Identificación del modelo dinámico del robot conociendo la fricción 76
Figura 5.3: Diagrama del esquema de identificación de mı́nimos cuadrados recursivo con-
siderando la fricción del robot como conocida.
sen(ω1 t)
u(t) = [volt], (5.29)
sen(π + ω2 t)
Tabla 5.2: Parámetros estimados θ̂1 -θ̂6 del robot utilizando mı́nimos cuadrados recursivo
considerando los parámetros de fricción θ̂7 -θ̂12 de las articulaciones como conocidos.
Parámetro Unidades Estimación
θ̂1 Kg-m-volt/[N-rad] 0.0465
θ̂2 Kg-m-volt/[N-rad] 0.0020
θ̂3 Kg-m-volt/[N-rad] 0.0024
θ̂4 Kg-m-volt/[N-rad] 0.0148
θ̂5 Kg-m-volt/[N-rad] 0.0123
θ̂6 Kg-m-volt/[N-rad] 0.0164
θ̂7 Volt-seg/rad 0.0077
θ̂8 Volt 0.0363
θ̂9 Volt 0.0247
θ̂10 Volt-seg/rad 0.0033
θ̂11 Volt 0.0738
θ̂12 Volt 0.0098
θ̂1 θ̂2
[Kg-m-volt/N-rad]
[Kg-m-volt/N-rad]
0.08 0.004
0.06 0.003
0.04 0.002
0.02 0.001
0 0
θ̂3 θ̂4
[Kg-m-volt/N-rad]
[Kg-m-volt/N-rad]
0.03
0.004
0.02
0.002
0.01
0 0
θ̂5 θ̂6
[Kg-m-volt/N-rad]
[Kg-m-volt/N-rad]
0.03
0.02
0.02
0.01
0.01
0 0
0 10 20 30 40 0 10 20 30 40
Tiempo [seg] Tiempo [seg]
Figura 5.4: Evolución temporal de la estimación de los parámetros θˆ1 − θˆ6 del modelo
dinámico utilizando mı́nimos cuadrados recursivo y considerando como conocida la fricción
del robot.
5.4. Validación de los parámetros estimados del robot 78
Igual que en la sección 4.3.4, se siguieron dos enfoques para realizar la validación
de la estimación de los parámetros del modelo del robot. En ambos enfoques se realiza-
ron experimentos y simulaciones de control de seguimiento de trayectorias definidas en el
espacio articular, cuya trayectoria deseada qd (t) está definida en la ecuación (4.43). En el
primero enfoque se implementa un control PD, el cual está definido en la ecuación (4.31),
donde el modelo identificado del robot es utilizado para la simulación de la dinámica del
robot. En el segundo enfoque, se implementa el controlador PD con precompensación. De
tal forma que, en el experimento se implementó la precompensación utilizando el mode-
lo estimado y en la simulación se utilizó el modelo estimado, tanto en la dinámica del
robot como en la precompensación del controlador. Este controlador está definido en la
ecuación (4.42). Para ambos controladores se utilizan las ganancias de control propor-
cional y derivativa con valores de Kp = diag {5, 5} [Volt/rad] y Kv = diag {0.25, 0.25},
respectivamente.
Para realizar la validación se comparan los voltajes de control muestreados de los
experimentos con los obtenidos por medio de simulación. Estas comparaciones se pueden
observar en las figuras 4.3 y 4.5. Ası́ mismo, en las figuras 4.4 y 4.6 se muestran los error
de posición articular para ambos controladores, tanto en simulación como en experimento.
Voltaje de control
4
u1 [volt] 0
−2
Exp. Sim.
−4
2
u2 [volt]
−2
Exp. Sim.
−4
0 2 4 6 8 10
Tiempo [seg]
Error de posición
0.5
q̃1 [rad]
−0.5
Exp. Sim.
0.5
q̃2 [rad]
−0.5
Exp. Sim.
0 2 4 6 8 10
Tiempo [seg]
Voltaje de control
4
u1 [volt] 0
−2
Exp. Sim.
−4
2
u2 [volt]
−2
Exp. Sim.
−4
0 2 4 6 8 10
Tiempo [seg]
Error de posición
0.3 Exp. Sim.
0.2
q̃1 [rad]
0.1
−0.1
Exp. Sim.
0.2
q̃2 [rad]
0.1
0 2 4 6 8 10
Tiempo [seg]
puede observar de los resultados para el controlador PD, los errores de posición y voltajes
de control obtenidos por simulación y experimento pueden considerarse muy similares.
Sin embargo, la comparación de los resultados de la simulación y experimento con el
controlador PD con precompesanción no resultan tan similares. Además, la desventaja
de la implementación de este esquema de identificación es el mayor número de experi-
mentos que se tienen que realizar. Especı́ficamente, se tienen que realizar experimentos
de identificación para estimar la fricción de cada motor y luego hacer un experimento de
identificación para estimar los parámetros asociados a la matriz de inercia y a la matriz de
Coriolis. Esto conlleva un mayor tiempo de procesamiento de datos. Además, el método
de identificación se vuelve más complicado conforme se tengan más grados de libertad en
el robot.
Capı́tulo 6
6.1. Introducción
Los modelos de los sistemas son una herramienta básica en el control moderno.
Contar con modelos explı́citos es una necesidad para varios de los métodos modernos de
control. Ası́ mismo, los modelos son requeridos para el diseño de nuevos controladores.
En el control no lineal el modelo juega un rol aún más importante [11].
82
6.2. Dinámica del robot 83
donde u ∈ IR2 denota los voltajes aplicados a los motores de las articulaciones, el sı́mbolo
barra denota la multiplicación por la inversa de la matriz diagonal que contiene las cons-
tantes de conversión de voltaje a torque K −1 . Considerando la ecuación (6.1), ası́ como
los parámetros identificados por el algoritmo de mı́nimos cuadrados ponderado obtenidos
en el capı́tulo 4, es posible representar M̄ (q) = K −1 M (q) ∈ IR2×2 , donde M (q) denota la
matriz de inercia, como
θ1 + 2θ2 cos(q2 ) θ3 + θ2 cos(q2 )
M̄ (q) = , (6.2)
θ4 + θ5 cos(q2 ) θ6
C̄(q, q̇) = K −1 C(q, q̇) ∈ IR2×2 , donde C(q, q̇) denota la matriz de fuerzas centrifugas y de
Coriolis, como
−θ2 sen(q2 )q̇2 −θ2 sen(q2 )[q̇1 + q̇2 ]
C̄(q, q̇) = , (6.3)
θ5 sen(q2 )q̇1 0
F̄v = K −1 Fv ∈ IR2×2 , donde Fv es la matriz diagonal de los coeficientes de fricción viscosa,
como
θ7 0
F̄v = , (6.4)
0 θ10
y f¯s (q) = K −1 fs (q) ∈ IR2 , donde fs (q) el vector de la fricción seca suave asimétrica, dada
por
θ tanh(β q̇ ), q̇ ≥ 0,
8 1 1
f¯s (q1 ) =
θ tanh(β q̇ ), q̇ < 0.
9 1 1
¯
fs (q̇) =
(6.5)
θ tanh(β q̇ ), q̇ ≥ 0,
11 2 2
f¯s (q2 ) =
θ tanh(β q̇ ), q̇ < 0.
12 2 2
6.3. Control en el espacio operacional 84
donde la fricción seca suave es definida en la ecuación (3.40) y los parámetros θ1 -θ12 son
los parámetros estimados por mı́nimos cuadrados ponderado que se encuentran en la tabla
4.1.
lı́m q̃ = 0, (6.8)
t→∞
6.4. Trayectoria deseada 85
donde
denota el vector de errores de las posiciones articulares. Nótese que si se garantiza el lı́mite
(6.8) también se garantiza el lı́mite (6.7).
donde los parámetros yd1c = 0.15 [m] y yd2c = 0 [m] son las coordenadas del centro de un
circulo, r0 = 0.05 [m] es el radio del circulo y v0 = 0.3 [m/seg] es la velocidad tangencial
a la cual se debe trazar el circulo.
Dado que esta trayectoria está definida en el espacio operacional, mediante análisis
matemático se obtiene una trayectoria en el espacio articular. Para ello se usa el modelo
cinemático inverso del robot obtenido en la sección 3.7.1. De tal forma, la trayectoria
deseada en el espacio articular está definida como
yd1 l2 sin(qd2 )
atan2 −y − atan2
qd (t) = d2
2 2 2 l1 +l 2
2 cos(qd2 ) [rad], (6.11)
y +y −l −l
cos−1 d1 2ld21 l2 1 2
donde l1 = 0.15 [m] y l2 = 0.15 [m] son las longitudes de los eslabones del robot que se
obtuvieron por medición. A partir de la definición de la posición deseada de la ecuación
(6.11), la definición de la velocidad articular q̇ ∈ IR2 y aceleración articular q̈ ∈ IR2 , en
las ecuaciones (3.97) y (3.98), respectivamente, se obtiene la definición de la velocidad y
6.5. Estrategias de control basadas en modelo 86
d
donde dt
[J(qd )] es la derivada temporal del Jacobiano definido en la ecuación (3.89) y
J −1 (qd ) es el inverso del Jacobiano definido en la ecuación (3.99).
como los vectores de errores de posición y velocidad articular, respectivamente. Ası́ mismo,
Kp , Kd ∈ IR2×2 son las matrices de las ganancias proporcional y derivativa, respectiva-
mente, las cuales son matrices simétricas positivas definidas.
u = Kp q̃ + Kd q̃˙ + M̄ (qd )q̈d + C̄(qd , q̇d )q̇d + F̄v q̇d + f¯s (q̇d ), (6.15)
donde los valores de las ganancias de control son Kp = diag {5, 5} [Volt/rad] y Kv =
diag {0.5, 0.5} [Volt seg/rad]. Esta estrategia de control necesita el conocimiento del sis-
6.5. Estrategias de control basadas en modelo 87
El controlador PD+ es uno de los controladores más sencillos que pueden aplicarse
en el control de movimiento de robots manipuladores, con una garantı́a formal para el
cumplimiento del objetivo de control en forma global [12].
El controlador PD+ propuesto en [29] puede ser implementado para el robot como
˙ + F (ωd ) ,
τ = M (q)ω̇d? + C(q, ωd )ωd + g(q) + Kv tanh(ξ) (6.17)
ξ˙ = ωd − ϑ (6.18)
6.5. Estrategias de control basadas en modelo 88
ẋ = tanh(ωd − ϑ) − ωd , (6.19)
ϑ = ωd + Ax + Aq, (6.20)
donde A = diag {a1 , . . . , an }. Ası́ mismo, se propone en [14] el controlador del espacio
operacional
ωd (t, q) = J(q)† [ẏd (t) + B tanh(ỹ)] , (6.21)
con B ∈ IRm×m una matriz definida positiva, J(q)† la seudoinversa del jacobiano y
denota el error de posición en el espacio operacional. Por lo tanto, la señal ω̇d? se define
como
˙ ωd )† [ẏd (t) + K tanh(ỹ)] + J(q,
ω̇d? = J(q, ˙ ωd )† [ÿd (t)] , (6.23)
˙ q̇)† = d
J(q)† es la derivada de la Pseudo-inversa del Jacobiano.
donde J(q, dt
Error de seguimiento
0.05
q̃1 [rad]
0
−0.05
0.05
q̃2 [rad]
−0.05
0 2 4 6 8 10
Tiempo [seg]
Figura 6.1: Error de posición articular q1 (t) y q2 (t) del control PD con precompensanción.
Voltaje aplicado
1.5
1
0.5
u1 [volt]
0
−0.5
−1
−1.5
1.5
1
0.5
u2 [volt]
0
−0.5
−1
−1.5
0 2 4 6 8 10
Tiempo [seg]
Figura 6.2: Voltaje aplicado u1 (t) y u2 (t) del control PD con precompensación.
6.7. Resultados experimentales 91
Error de seguimiento
0.05
q̃1 [rad]
0
−0.05
0.05
q̃2 [rad]
−0.05
0 2 4 6 8 10
Tiempo [seg]
Figura 6.3: Error de posición articular q1 (t) y q2 (t) del control PD+.
Voltaje aplicado
1.5
1
0.5
u1 [volt]
0
−0.5
−1
−1.5
1.5
1
0.5
u2 [volt]
0
−0.5
−1
−1.5
0 2 4 6 8 10
Tiempo [seg]
Error de seguimiento
0.05
q̃1 [rad]
0
−0.05
0.05
q̃2 [rad]
−0.05
0 2 4 6 8 10
Tiempo [seg]
Figura 6.5: Error de posición angular q1 (t) y q2 (t) del controlador en el espacio operacional
usando solo mediciones de posición.
Voltaje aplicado
1.5
1
0.5
u1 [volt]
0
−0.5
−1
−1.5
1.5
1
0.5
u2 [volt]
0
−0.5
−1
−1.5
0 2 4 6 8 10
Time [seg]
Figura 6.6: Voltaje aplicado u1 (t) y u2 (t) del controlador en el espacio operacional usando
solo mediciones de posición.
6.7. Resultados experimentales 93
0.5 0.4728
0.4375
0.4 0.3866
[rad]
0.3
0.2
0.1
0
PDp PD+ Nuevo
Figura 6.7: Comparación del valor L 2 obtenido para los tres esquemas de control, PD
con precompesación (PDp), PD+ y el controlador en el espacio operacional usando solo
mediciones de posición (Nuevo).
Como se puede observar, fue posible realizar experimentos con controladores ba-
sados en el modelo del robot experimental para el cual se han implementado experimentos
de identificación paramétrica. Además fue posible implementar nuevos esquemas de con-
trol, como se puede consultar en [14] y [28]. El trabajo realizado en este sentido permite
pensar en futuros trabajos de investigación sobre el tema de control de robots que puede
ser complementada con evaluaciones experimentales realizadas en el sistema experimental
identificado.
Capı́tulo 7
7.1. Conclusiones
Este trabajo de tesis presentó la teorı́a general sobre los métodos de identificación
clásicos: mı́nimos cuadrados, mı́nimos cuadrados ponderado y mı́nimos cuadrados recur-
sivo. Se obtuvo el modelo dinámico del robot experimental considerando la dinámica de
los motores de corriente directa que son los actuadores del robot. Ası́ mismo, se obtuvo
el modelo dinámico de regresión del robot para realizar el procedimiento de identifica-
ción del robot. Se detalló el procedimiento de identificación del robot manipulador y la
implementación de los algoritmos de identificación. La estimación de los parámetros del
modelo dinámico del robot permitió la simulación de la dinámica del robot de manera más
realista, lo que llevo a la implementación de esquemas de control basados en modelo y que
al mismo tiempo permitirá el diseño e implementación de nuevos esquemas de control.
Los resultados experimentales arrojados en este trabajo de tesis permiten conside-
rar que la estimación de los parámetros del modelo dinámico de robots es muy susceptible
a una mala estimación de la velocidad de las articulaciones del robot o a una mala lectura
de la misma. Ası́ mismo, se concluye que bajo circunstancias iguales en la obtención de los
datos y su adecuación para la estimación, como el filtrado de posición para la estimación
de la velocidad, se obtienen mejores resultados mediante mı́nimos cuadrados ponderado.
94
7.2. Trabajo futuro 95
[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.
[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.
[7] E. Ikonen y K. Najim, Advanced Process Identification and Control. Nueva York:
Marcel Dekker, Inc., 2002.
96
Referencias 97
[8] L. Ljung, System Identification: Theory for the User, 2da ed. Englewood Cliffs, NJ:
Prentice Hall, 1999.
[9] S. Chan y H. Chen, “An efficient algorithm for identification of SCARA robot
parameters including drive characteristics,” en memorias del 25th Annual Conference
of the IEEE Ind. Elect. Society, vol. 2, San Jose, CA, USA, Nov 1999, pp. 1014–1019.
[10] M. Gautier y P. Poignet, “Extended kalman filtering and weightes least square dy-
namic identification of robot,” Control Engineering Practice, vol. 9, pp. 1361–1372,
2001.
[11] W. Khalil y E. Dombre, Modeling, Identification and Control of Robots, 3ra ed. Bris-
tol, PA, USA: Taylor & Francis, Inc., 2002.
[18] P. Albertos y A. Salas, Iterative Identification and Control: Advances in Theory and
Applications. Secaucus, NJ, USA: Springer-Verlag New York, 2002.
[20] L. Sciavicco y B. Siciliano, Modelling and Control of Robot Manipulators, 2da ed.
Londres: Springer-Verlag, 2000.
[27] K. Ogata, Ingenierı́a de Control Moderna, 4ta ed. Madrid: Pearson Educación, 2003.
Referencias 99
[29] P. B. y P. R., “Globally asymptotically stable PD+ controller for robot manipula-
tors,” International Journal of Control, vol. 47, no. 6, pp. 1697–1712, 1988.
[30] K. J. Åström, Introduction to Stocastic Control Theory. Academic Press, NY, 1970.
[31] K. J. Åström y B. Wittenmark, Adaptive Control, 2da ed. Boston, MA, USA:
Addison-Wesley, 1995.
[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.
[39] H. K. Khalil, Nonlinear Systems, 2da ed. Upper Saddle River, NJ: Prentice-Hall,
1996.
[40] D. Kostić, B. Jager, y M. Steinbuch, “Modeling and identification for robot motion
control,” en Robotics and Automation Handbook, T. R. Kurfess, Ed. Boca Raton,
Florida: CRC Press, 2005, pp. 14.1–14.26.
Aproximación de la derivada
temporal de una señal discreta
Q1 (z −1 ) = 1 + z −1 + z −2 + . . . + z −p1 , (A.1)
Q2 (z −1 ) = 1 + z −1 + z −2 + . . . + z −p2 . (A.2)
Defı́nase
Q1 (z −1 ) 1 h i
q̄(kT ) = q(kT ) = q(kT ) + q([k − 1]T ) + . . . + q([k − p1 ]T ) , (A.3)
p1 + 1 p1 + 1
101
102
Diagrama de Bode
150
d(s)
100 D(z −1 )
Magnitud [dB]
50
−50
−100
−150
180
Fase [grad]
−180
−360
−540
1 2 3 4
10 10 10 10
Frecuencia [rad/seg]
Figura A.1: Diagrama de Bode del operador diferencial d(s) = s y del filtro discreto
D(z −1 ) el cual aproxima d(s) en el dominio discreto.
Q2 (z −1 )
v̄(kT ) = v(kT ),
[p2 + 1]
Q2 (z −1 ) 1 − z −(p1 +1)
= q(kT ),
[p2 + 1] [p1 + 1] T
= D(z −1 )q(kT ). (A.5)
Q1 (z −1 ) = 1 + z −1 + z −2 + +z −3 + +z −4 , (A.6)
Q2 (z −1 ) = 1 + z −1 + z −2 + +z −3 + +z −4 , (A.7)
103
Trigonometrı́a
Esta función usa el signo de x y y para determinar el cuadrante adecuado para el ángulo ρ.
Por ejemplo, atan2(1, −1) = − π4 , mientras que atan2(−1, 1) = + 3π
4
. Nótese que si x = 0
y y = 0 entonces la función es indefinida.
104
B.3. Identidades trigonométricas 105
Filtro de posición
106
C.1. Diseño del filtro de posición 107
Tabla C.1: Valores de los coeficientes del filtro fp (z) obtenidos con la herramienta de
Matlab “fdatools”.
Coef. Valor Coef. Valor Coef. Valor
−6 −2
b0 −1.808 × 10 b11 6.150 × 10 b21 3.052 × 10−2
−6 −2
b1 2.733 × 10 b12 7.795 × 10 b22 1.896 × 10−2
b2 4.934 × 10−5 b13 9.210 × 10−2 b23 1.069 × 10−2
−4 −1
b3 2.558 × 10 b14 1.017 × 10 b24 5.386 × 10−3
b4 8.789 × 10−4 b15 1.051 × 10−1 b25 2.372 × 10−3
b5 2.372 × 10−3 b16 1.017 × 10−1 b26 8.789 × 10−4
−3 −2
b6 5.386 × 10 b17 9.210 × 10 b27 2.558 × 10−4
b7 1.069 × 10−2 b18 7.795 × 10−2 b28 4.934 × 10−5
b8 1.896 × 10−2 b19 6.150 × 10−2 b29 2.733 × 10−6
−2 −2
b9 3.052 × 10 b20 4.508 × 10 b30 −1.808 × 10−6
b10 4.508 × 10−2
Figura C.1: Interfaz gráfica de la herramienta de Matlab “fdatool” para el análisis y diseño
de filtros.