Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Centro de Investigaci
on y de Estudios Avanzados del I.P.N.
Unidad Guadalajara
Dise
no, Construcci
on y Control de un Robot
Redundante
ctrica
Tesis de Maestra en Ciencias en Ingeniera Ele
Presentada por:
Ing. Antonio Flores Quintero
Primavera de 2009
CINVESTAV
Centro de Investigaci
on y de Estudios Avanzados del I.P.N.
Unidad Guadalajara
Dise
no, Construcci
on y Control de un Robot
Redundante
ctrica
Tesis de Maestra en Ciencias en Ingeniera Ele
Presentada por:
Ing. Antonio Flores Quintero
Directores de Tesis
Dr. Bernardino Castillo Toledo
Dr. Maarouf Saad
Guadalajara, Jalisco.
Febrero de 2009
Presentada por:
Ing. Antonio Flores Quintero
23 de Febrero de 2009
Agradecimientos
Al CINVESTAV Unidad Guadalajara por abrirme las puertas en la maestra y al Conacyt por el sustento economico recibido.
A mis padres Juan Flores Paz y Margarita Quintero Montes por apoyarme en los
momentos difciles y darme animos para continuar con mis estudios.
A mis hermanas y hermanos: Margarita, Rosalba, Juan, Arturo y Felipe Flores por sus
buenos consejos.
A mis directores de tesis: Dr. Bernardino Castillo Toledo y Dr. Maarouf Saad por confiar en m para el desarrollo de este proyecto de tesis.
A mis sinodales: Dr. Eduardo Bayro Corrochano y Dr. Alexander Loukianov por su colaboracion para mejorar este trabajo de tesis.
Resumen
Actualmente, los manipuladores roboticos ofrecen una serie de soluciones a problemas
existentes en muchos campos de la industria. Recientemente diversas investigaciones se han
enfocado a los robots redundantes. Un robot redundante tiene mas grados de libertad (DOF)
que los que necesita para realizar su tarea; el efector final de este tipo de robot puede alcanzar
la misma posicion con m
ultiples configuraciones del brazo robotico. En este trabajo de tesis
se dise
na un brazo robotico de cinco grados de libertad y se resuelve el problema de la
cinematica inversa para planificar una trayectoria deseada del efector final por medio de un
criterio de mnimos cuadrados. Las se
nales obtenidas a partir de la solucion de la cinematica
inversa seran consideradas como se
nales de referencia en la etapa de control.
Un robot manipulador presenta dinamicas muy complejas y altamente acopladas. Se analizan algunas tecnicas de control dinamico para llevar a cabo el seguimiento de trayectorias.
Dichas tecnicas son: Regulacion Lineal, Backstepping, Control Adaptativo y Control Neuronal. Las primeras dos tecnicas estan basadas en el conocimiento total del modelo dinamico
del robot. El control adaptativo no requiere del conocimiento de los parametros reales (tensores de inercia, coeficientes de friccion, etc.) del sistema pero requiere que la ecuacion de
Euler-Lagrange describa completamente las dinamicas del robot.
Este trabajo de tesis se enfoca principalmente a los resultados obtenidos con el control
neuronal. Este controlador no requiere del conocimiento del modelo dinamico y esta basado en
una red neuronal que identifica al sistema desde un punto de vista entrada-estados; despues,
un control basado en el modelo no lineal de la red es utilizado para realizar el seguimiento
de trayectorias. Para implementar la red neuronal se propone un modelo no lineal recurrente
de primer orden cuya representacion en espacio de estados se encuentra en la forma no lineal
controlable por bloques (NLBC); la red es entrenada con el algoritmo de aprendizaje por error
filtrado, esta ley de aprendizaje no requiere de mucho esfuerzo computacional. Por otro lado,
el control neuronal es dise
nado a partir del criterio de estabilidad de Lyapunov utilizando la
tecnica de backstepping.
Se realiza la implementacion en tiempo real del control neuronal en el prototipo construido
y en el robot ANAT (Articulated Nimble Adaptable Trunk ), el cual es un robot redundante
de siete grados de libertad.
Abstract
Nowadays, robotic manipulators have offered many solutions to problems presented before
in many fields of the industry. Recently, interest have been increasing towards the usage of
redundant robots. A redundant manipulator is a robotic arm that has more degrees of freedom
(DOF) than is required to perform an operation in the task space; this type of robot can
reach the same end-effector position in many different arm configurations. In this work, a
robotic manipulator of five degrees of freedom is designed and also the problem of the inverse
kinematics is solved by means of the least squares criteria. The obtained signals with the
inverse kinematics solution will be considered as reference signals in the control stage.
A robotic manipulator presents dynamics very complex and very coupled. In this work
some control techniques are analyzed in order to perform trajectory tracking. These techniques are: Linear Regulation, Backstepping, Adaptive Control and Neural Control. The first
two techniques are based on complete knowledge of the dynamical model. The adaptive control does not require knowledge of the real parameters (inertial tensors, friction coefficients,
etc.) of the system, however it requires that the Euler-Lagrange equation describes completely
its dynamics.
This work is focused mainly to the results obtained with the neural control. This controller
does not require knowledge of the dynamical model and is based on a neural network that
identifies the states of the unknown system. A first order recurrent neural network whose state
space representation fulfill the nonlinear block controller (NBC) form is used to perform the
identification process; this neural network is trained with the filtered error algorithm which is
a technique that uses a low computational effort. On the other hand, the neural controller is
designed by using the Lyapunov stability approach by means of the Backstepping technique.
A real-time implementation is performed on the built prototype and also on the ANAT
(Articulated Nimble Adaptable Trunk) robot, which is a redundant robot of seven degrees
of freedom.
iii
Tabla de Smbolos
Esta es la lista de smbolos utilizados en este trabajo de tesis.
q
qd
X
i1
i T
cij ,sij ,
L1 ,L
i1 , ai1 , di y i
J(q)
J+
W (q, q,
q)
p
S()
z
W1 , W2
1 , 2
Indice general
1. Introducci
on
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Cinem
atica del robot
10
11
12
13
2.3.2. Solucion de la cinematica inversa para que el efector final siga una
trayectoria rectangular en el plano XY . . . . . . . . . . . . . . . . .
16
2.3.3. Solucion de la cinematica inversa para que el efector final siga un trayectoria circular en el plano XY . . . . . . . . . . . . . . . . . . . . . . .
19
3. Control de trayectorias
23
23
25
25
vii
INDICE GENERAL
viii
27
3.3. Backstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
37
44
44
46
46
49
3.5.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
60
4. Dise
no y construcci
on
61
4.1. Dise
no del robot
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
66
67
4.2.2. Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
5. Implementaci
on en tiempo real
73
73
76
99
105
6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
105
106
A. Modelo din
amico del robot de 5 DOF
107
B. Par
ametros utilizados en los experimentos realizados.
111
C. Simulaci
on virtual en Matlab/Simulink
117
INDICE GENERAL
Bibliografa
ix
123
Captulo 1
Introducci
on
En este captulo se da una introduccion al problema y se plantean los objetivos que se
quieren alcanzar. Al final del captulo se describe brevemente la organizacion del trabajo de
tesis.
1.1.
Introducci
on al problema
CAPITULO 1. INTRODUCCION
1.2. OBJETIVOS
1.2.
Objetivos
1.3.
Organizaci
on de la tesis
CAPITULO 1. INTRODUCCION
En el Captulo 5 se presentan los resultados obtenidos en tiempo real con el control neuronal
propuesto. Se presentan cuatro experimentos realizados: en el primer experimento se hace
el seguimiento de referencias constantes en cada articulacion; en el segundo experimento el
robot hace el seguimiento de una trayectoria con referencias senoidales en cada articulacion;
en el tercer experimento se utilizan las se
nales provenientes de la cinematica inversa tales que
el efector final siga una trayectoria circular y finalmente utilizando otra vez la cinematica
inversa el efector final sigue una trayectoria cuadrada en el plano XY.
En el Captulo 6 se presentan las conclusiones finales de este trabajo de tesis y se plantean
posibles trabajos futuros. Se mencionan los objetivos alcanzados y las mejoras que se planean
hacer en el prototipo construido.
En el Ap
endice A se muestra el modelo matematico del robot de cinco grados de libertad y el valor de los parametros utilizados para las simulaciones presentadas en el captulo
4. Dicho modelo matematico fue obtenido aplicando el metodo de Lagrange [6].
En el Ap
endice B se muestran los valores numericos utilizados para algunas de las simulaciones que se presentan ademas de los parametros utilizados para la implementacion en
tiempo real.
En el Ap
endice C se expone brevemente una simulacion virtual realizada en este trabajo de tesis. Esta simulacion virtual fue construida con el software V-Realm Builder 2.0 y con
herramientas virtuales de Matlab/Simulink.
Captulo 2
Cinem
atica del robot
En este captulo se define la cinematica del robot y se resuelven la cinematica directa e
inversa que se requieren para planificar la trayectoria del robot. Como resultado se obtiene
un algoritmo que genera las variables de las articulaciones que deben ser seguidas por el
robot para obtener una trayectoria deseada en el efector final. En la figura 2.1 se muestra
la arquitectura del robot considerado y el punto del efector final con el que se trabaja en
estos experimentos. Este robot cuenta con una articulacion prismatica y cuatro articulaciones
revolutivas constituyendo 5 grados de libertad.
CAPITULO 2. CINEMATICA
DEL ROBOT
2.1.
Cinem
atica directa
2.1.1.
Algoritmo DH modificado
Para encontrar esta funcion se debe hacer mencion de los parametros Denavit-Hartenberg.
Estos parametros son una serie de valores que relacionan geometricamente las articulaciones
del robot.
El algoritmo DH modificado consiste en asignar a la i-esima articulacion un i-esimo sistema
de coordenadas de <3 . Anteriormente se le asignaba a la i-esima articulacion el i 1-esimo
sistema de coordenadas siendo llamado algoritmo DH tradicional. Al lector interesado en consultar con detalle estos algoritmos se recomienda [6], por el momento solo se resolvera este
algoritmo para el robot de 5 DOF.
En la figura 2.2 se muestra la manera de asignar los sistemas de coordenadas antes mencionados donde {xe , ye , ze } es la notacion empleada para designar al sistema de coordenadas
del efector final.
Dos sistemas de coordenadas consecutivos difieren entre s por una rotacion en torno a
un eje y una traslacion del origen [6]. Es decir, sea B P un vector expresado respecto a un
sistema de coordenadas {B}, entonces, este puede ser expreasado en terminos de un sistema
de coordenas {A} de la siguimiente manera
A
P = RB P +A P0
2.1. CINEMATICA
DIRECTA
cosi
sini
0
ai1
sini cosi1 cosi cosi1 sini1 sini1 di
i1
(2.1)
i T =
sini sini1 cosi sini1 cosi1
cosi1 di
0
0
0
1
donde los coeficientes de los cuales depende la igualdad anterior i1 , ai1 , i y di , son los
parametros DH mencionados con anterioridad, en la figura 2.3 se muestra la representacion
de estos valores para dos eslabones consecutivos.
CAPITULO 2. CINEMATICA
DEL ROBOT
i1
0
0
0
0
0
ai1
0
L1
L
L
L
di
q1
0
0
0
0
i
0
q2
q3
q4
q5
= 01 T 12 T 23 T ...e1
e T
(2.2)
2.2. CINEMATICA
INVERSA
T
=
e
0
0
1
q1
0
0
0
1
(2.3)
donde cij = cos(qi + qj ) y sij = sin(qi + qj ) son notaciones utilizadas para simplificar algunas
ecuaciones en este trabajo de tesis. Esta matriz relaciona un vector dado en el sistema de
coordenadas del efector final respecto el sistema de coordenadas de la base; de esta manera
el origen del sistema {xe , ye , ze } respecto el sistema {x0 , y0 , z0 } esta dado por:
(2.4)
Por otro lado, el sistema coordenado {xe , ye , ze } presenta el siguiente angulo de rotacion
alrededor del eje z0 :
= q2 + q 3 + q4 + q 5
(2.5)
Este
es un angulo de Euler y es el u
nico que existe para este robot de 5 DOF. Esto se debe
a que el efector final solo puede rotar alrededor del eje z0 .
Las expresiones 0e O y describen completamente la ubicacion del efector final respecto la
base, de esta manera, la solucion a la cinematica directa esta dada por:
0
O
X= e
(2.6)
2.2.
(2.7)
Cinem
atica Inversa
CAPITULO 2. CINEMATICA
DEL ROBOT
10
2.2.1.
Soluci
on de la cinem
atica inversa utilizando la matriz Jacobiana
Para resolver la cinematica inversa del robot se propone utilizar la siguiente expresion para
relacionar las velocidades lineales y angulares del efector final con la velocidad del espacio de
articulaciones q:
X = J(q)q
(2.8)
donde X <m es la velocidad del efector final, q <n es la variacion en el tiempo de las
posiciones articulares y J(q) <mn es una matriz Jacobiana dada por
J(q) =
(q)
q
(2.9)
(2.10)
El objetivo es encontrar q que satisfaga (2.8) para cualquier X y J(q) al mismo tiempo que
se minimiza la funcion de costo G(q).
Este problema se resuelve utilizando multiplicadores de
Lagrange de tal manera que la funcion de costo es modificada como se muestra a continuacion.
G(q,
) = qT q T (J q X)
(2.11)
Donde es un vector desconocido de <m . Para encontrar los mnimos de la funcion de costo
se requiere satisfacer las siguientes condiciones.
G
=0
q
equivalentemente :
2q J T = 0
(2.12)
J q X = 0
(2.13)
y
G
=0
equivalentemente :
De (2.12) se tiene
1
q = J T
2
(2.14)
2.2. CINEMATICA
INVERSA
11
(2.15)
Se asume que J(q) es una matriz de rango pleno por renglones, por lo que JJ T es una
matriz cuadrada no singular, y entonces invertible. Eliminando el vector de multiplicadores
de Lagrange en las ecuaciones (2.14) y (2.15) se obtiene la siguiente solucion optima.
q = J T (JJ T )1 X
(2.16)
2.2.2.
Soluci
on modificada de la cinem
atica inversa
Para un robot redundante la solucion general (2.16) puede ser escrita como
q = J T (JJ T )1 X + N
(2.17)
(2.18)
La redundancia puede ser aprovechada por el robot para realizar diversas tareas auxiliares
tales como evitar obstaculos, evitar que el robot colisione contra su propia base y evitar que
la solucion de la cinematica inversa genere valores de q que excedan las limitaciones fsicas
del robot. El vector puede ser seleccionado para cumplir con dichas tareas, por ejemplo
para evitar obstaculos es posible encontrar de tal manera que la distancia entre el robot y
el obstaculo sea mnima sin colisionar entre s, [2] y [4] .
En este trabajo de tesis se resuelve la cinematica inversa del robot para conseguir una
trayectoria deseada del efector final sin realizar tareas auxiliares por lo que solamente la
ecuacion (2.16) es requerida.
CAPITULO 2. CINEMATICA
DEL ROBOT
12
2.3.
Aplicaci
on al robot de 5 DOF
J(q) =
1 0
0
0
0
0 1
1
1
1
(2.19)
donde:
J12 = L(s2345 + s234 + s23 + s2 )
J13 = L(s2345 + s234 + s23 )
J14 = L(s2345 + s234 )
J15 = Ls2345
J22 = L(c2345 + c234 + c23 + c2 )
J23 = L(c2345 + c234 + c23 )
J24 = L(c2345 + c234 )
J25 = Lc2345
En (2.19) los primeros tres renglones de esta matriz estan relacionados con las velocidades lineales del efector final, mientras que el u
ltimo renglon describe la velocidad angular
del mismo. Se recomienda la referencia [6] para consultar con mas detalle las propiedades del
Jacobiano.
Para mostrar la aplicacion de la cinematica inversa, se proponen tres experimentos en
simulacion; en el primer experimento se posiciona el efector final en un punto fijo respecto al
sistema coordenado de la base; en el segundo experimento el efector final sigue una trayectoria
rectangular en el plano XY; en el tercer experimento el efector final sigue una trayectoria
circular en el plano XY. En cada experimento el efector final mantiene una orientacion
constante respecto el sistema de coordenadas de la base.
AL ROBOT DE 5 DOF
2.3. APLICACION
13
2.3.1.
Soluci
on de la cinem
atica inversa para posicionar el efector
final en un punto fijo
i = 1, 2, 3, 4
(2.20)
Sean xi0 y xif la i-esima componente del vector de posicion inicial y final respectivamente y
sea tf el tiempo que tarda el efector final en llegar al punto final, entonces se cumplen las
siguientes condiciones para i = 1, 2, 3, 4
xi0
xif
xi0
xif
xi0
xif
=
=
=
=
=
=
ai0
ai0 + ai1 tf + ai2 t2f + ai3 t3f + ai4 t4f + ai5 t5f
ai1
ai1 + 2ai2 tf + 3ai3 t2f + 4ai4 t3f + 5ai5 t4f
2ai2
2ai2 + 6ai3 tf + 12ai4 t2f + 20ai5 t3f
CAPITULO 2. CINEMATICA
DEL ROBOT
14
6(xif xi0 )
15(xif xi0 )
10(xif xi0 )
a
=
a
=
ai2 = 0 ai1 = 0 ai0 = xi0
i4
i4
tf 5
tf 4
tf 3
i = 1, 2, 3, 4
(2.21)
0.5
0.45
0
10
12
Tiempo(seg)
14
16
18
20
10
12
Tiempo(seg)
14
16
18
20
10
12
Tiempo(seg)
14
16
18
20
metros
0.2
x2
0.1
0
0.1
0.2
metros
0.4
0.3
x3
0.2
0.1
Figura 2.5: Trayectoria del efector final donde x1, x2 y x3 representan las coordenadas XYZ
respecto la base
AL ROBOT DE 5 DOF
2.3. APLICACION
15
rad
0.5
0.4
0.3
0.2
0.1
0
0.1
0.2
0.3
10
Tiempo(seg)
15
20
metros
q1
0.25
0.2
0.15
0.1
10
12
Tiempo(seg)
14
16
18
20
10
12
Tiempo(seg)
14
16
18
20
10
12
Tiempo(seg)
14
16
18
20
rad
1
q2
0.5
0
rad
0.5
q3
1
1.5
CAPITULO 2. CINEMATICA
DEL ROBOT
16
rad
1.5
1
q4
0.5
rad
10
Tiempo(seg)
15
20
10
Tiempo(seg)
15
20
0.5
0
q5
0.5
2.3.2.
Soluci
on de la cinem
atica inversa para que el efector final
siga una trayectoria rectangular en el plano XY
Para realizar este experimento se utilizan cuatro polinomios de la forma (2.20) para unir
cada par de esquinas consecutivas que forman el rectangulo. En este experimento el efector
final recorre cada lado del rectangulo en 5 seg. Por otro lado, el efector final mantiene una
orientacion constante de 45o alrededor del eje z0 del sistema de coordenadas de la base durante
la realizacion de la trayectoria rectangular.
Las esquinas del rectangulo que debe recorrer el efector final son los siguientes:
0. 48m
0. 48m
0. 15m
0. 15m
Punto 1 =
Punto
2
=
0. 3m
0. 3m
0. 78rad
0. 78rad
0. 42m
0. 42m
0. 15m
0. 15m
Punto 3 =
Punto
4
=
0. 3m
0. 3m
0. 78rad
0. 78rad
AL ROBOT DE 5 DOF
2.3. APLICACION
17
metros
0.15
0.1
0.05
x2
0.05
0.1
0.15
0.41
0.42
0.43
0.44
0.45
x1
0.46
0.47
0.48
0.49
metros
x1
0.5
0.4
10
15
20
25
15
20
25
15
20
25
Tiempo(seg)
metros
0.2
0.1
x2
0
0.1
0.2
10
Tiempo(seg)
metros
0.3
x3
0.2
0.1
10
Tiempo(seg)
Figura 2.10: Trayectoria del efector final donde x1, x2 y x3 representan las coordenadas XYZ
respecto la base
CAPITULO 2. CINEMATICA
DEL ROBOT
18
rad
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
10
15
Tiempo(seg)
20
25
metros
0.3
0.25
q1
0.2
0.15
0.1
10
15
20
25
15
20
25
15
20
25
Tiempo(seg)
rad
1
0
q2
1
2
10
Tiempo(seg)
rad
2
1
q3
0
1
2
10
Tiempo(seg)
AL ROBOT DE 5 DOF
2.3. APLICACION
rad
19
1.5
1
q4
0.5
0
0.5
rad
10
15
Tiempo(seg)
20
25
10
15
Tiempo(seg)
20
25
1
0.5
q5
0
0.5
1
2.3.3.
Soluci
on de la cinem
atica inversa para que el efector final
siga un trayectoria circular en el plano XY
rcos(t) + a
rsin(t) + b
X=
cte
cte
rsin(t)
rcos(t)
X =
0
0
CAPITULO 2. CINEMATICA
DEL ROBOT
20
metros
0.05
0.04
0.03
0.02
0.01
x2
0
0.01
0.02
0.03
0.04
0.05
0.42
0.44
0.46
0.48
0.5
x1
0.52
metros
metros
0.55
0.5
x1
0.45
0.4
10
15
20
25
15
20
25
15
20
25
Tiempo(seg)
metros
0.05
0
x2
0.05
0
10
Tiempo(seg)
metros
0.3
x3
0.2
0.1
0
10
Tiempo(seg)
Figura 2.15: Trayectoria del efector final donde x1, x2 y x3 representan las coordenadas XYZ
respecto la base
AL ROBOT DE 5 DOF
2.3. APLICACION
rad
21
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
10
15
Tiempo(seg)
20
25
metros
0.3
q1
0.2
0.1
0
10
15
20
25
15
20
25
15
20
25
Tiempo(seg)
rad
0.5
0
q2 0.5
1
1.5
10
Tiempo(seg)
rad
1
q3
0.5
10
Tiempo(seg)
CAPITULO 2. CINEMATICA
DEL ROBOT
22
rad
1.5
1
q4
0.5
rad
10
15
Tiempo(seg)
20
25
10
15
Tiempo(seg)
20
25
0.4
0.2
q5
0
0.2
0.4
Captulo 3
Control de trayectorias
En este captulo se expone brevemente la dinamica de un manipulador robotico y se analizan algunas tecnicas de control para encontrar la opcion mas adecuada para esta aplicacion.
Se presentan resultados a nivel simulacion de las tecnicas de control que seran mencionadas.
3.1.
Modelo matem
atico
(3.1)
donde:
q, q y q representan el vector de posicion, el vector de velocidad y el vector de aceleracion
respectivamente.
M (q) es una matriz de inercias simetrica definida positiva.
V (q, q)
es el vector de fuerzas centrifugas y de Coriolis.
Fg (q) es el vector de fuerzas gravitacionales.
Ff (q, q) es el vector de fuerzas de friccion.
es el vector de torques aplicados en las articulaciones del robot.
En [23] se muestra que los terminos anteriores estan acotados. Tomando como estados al
vector de posicion y al vector de velocidad se llega a la siguiente representacion en variables
de estado donde previamente se ha despejado q de (3.1).
23
24
1 = 2
2 = F (1 , 2 ) + G(1 )u
(3.2)
donde:
1 = q y 2 = q son vectores de <n representando la posicion y velocidad respectivamente.
F (1 , 2 ) = M 1 (1 )(V (1 , 2 ) + Fg (1 ) + Ff (1 , 2 ))
G(1 ) = M 1 (1 )
u = , es el vector de entradas al sistema en unidades de torque (Nm).
La representacion en espacio de estados (3.3) se encuentra en la forma No Lineal Controlable por Bloques (NLCB) y matematicamente tiene algunas propiedades que la hacen
facilmente manejable. Sin embargo, la dinamica de un manipulador robotico es altamente
acoplada y los terminos que participan en (3.1) y (3.3) son muy grandes cuando se trabaja
con mas de tres grados de libertad. En el caso del ANAT cuando se consideran sus siete
grados de libertad la ecuacion dinamica contiene cientos de terminos. Es por esta razon que
cuando se calculan los terminos M (q), V (q, q),
Fg (q) y Ff (q, q)
en (3.1) se requiere de alg
un
software auxiliar. En el apendice A se presenta el modelo matematico del robot de 5 DOF.
Existen varias tecnicas de control que pueden ser aplicadas al robot [5], sin embargo, se
deben tener en cuenta algunos aspectos para seleccionar la opcion mas adecuada. Como se
menciono anteriormente en este documento, el objetivo principal de este proyecto es implementar control en tiempo real para el seguimiento de trayectorias, por lo que se requiere que
la complejidad computacional de la ley de control no sea demasiado elevada para asegurar
que la computadora sera capaz de realizar todas las operaciones matematicas en cada periodo
de muestreo.
A continuacion se analizan algunas tecnicas de control y se presentan resultados obtenidos
a nivel simulacion cuando se aplican dichas tecnicas de control al robot de 5 DOF.
3.2.
25
Regulaci
on Lineal alrededor de un punto de equilibrio.
(3.3)
f ()
|=0
B = g(0 )
El sitema (3.3) cumple con esta forma considerando los siguientes arreglos vectoriales:
= 1
2
2
f () =
F (1 , 2 )
0
g() =
G(1 )
(3.4)
y = C
donde:
A21 =
F (1 , 2 )
|=0
1
B21 = M 1 (0)
A22 =
F (1 , 2 )
|=0
2
C= I 0
3.2.1.
El problema de la regulaci
on lineal
Una planta lineal puede ser representada por un conjunto de operaciones lineales de la
forma
= A + Bu + P w
e = C + Qw
26
donde e = y yref es el error de seguimiento y P es una matriz que expresa las perturbaciones
del sistema en funcion de las se
nales exogenas . La se
nal de referencia tambien es expresada
en funcion de estas se
nales como
yref = Q
(3.5)
Para este caso se debe garantizar el seguimiento asintotico de una trayectoria de referencia
deseada satisfaciendo
lm ky yref k = 0
t
La familia de entradas exogenas que afectan a la planta, pueden ser modeladas como la
familia de todas las funciones del tiempo que son solucion de una ecuacion diferencial lineal
homogenea.
= S
(3.6)
para toda posible condicion 0 .
La accion de control para el sistema presentado anteriormente es proporcionada por un
controlador en retroalimentacion, el cual es modelado de la siguiente forma:
u = K + ( + K)
(3.7)
El problema de dise
nar un controlador por medio de la teora de regulacion, puede ser formalmente enunciado de la siguiente manera. Dadas [A, B, C, P, Q, S] encontrar, si es posible,
matrices K, y tales que:
La matriz A + BK sea Hurvitz
Para cada condicion inicial (0 , 0 ) la solucion (, ) de
= (A + BK) + (P + B( + K))
= S
sea tal que
lm (C + Q) = 0
27
2. El par (A,B) es estabilizable; es decir, existe una matriz K tal que la matriz A + BK
es Hurvitz.
Entonces el problema de regulacion de la salida por retroalimentacion del estado tiene
solucion si y solo si existen matrices y que resuelven las ecuaciones lineales matriciales:
S = A + B + P
C + Q = 0
3.2.2.
(3.8)
Aplicaci
on al robot de 5 DOF
1
=
<2nr
2
donde n es el n
umero de grados de libertad del robot y r es el n
umero de estados que contiene
T
el exosistema . Las ecuaciones (3.8) pueden ser reescritas como sigue donde P = P1 P2
con P1 , P2 <nr .
1
0
I
1
0
P
S=
+
+ 1
2
A21 A22 2
B21
P2
1
I 0
+Q=0
2
B21 es una matriz invertible debido a que ha sido obtenida directamente de la inversa de la
matriz de inercias M (q) que a su vez es simetrica definida positiva. Consecuentemente las
siguientes igualdades se cumplen solucionando as las ecuaciones (3.8).
1 = Q
2 = 1 S P1
1
= B21
(2 S A21 1 A22 2 P2 )
Para controlar el robot de 5 DOF se propone
1 = sen(t), 2 = cos(t) y 3 = cte.
1
0
2 = 0
3
0 0
(3.9)
28
A21
0
0
=
0
0
0
B21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
A22
0. 1 0
0
0
0
0 0. 1 0
0
0
0 0. 1 0
0
=
0
0
0
0 0. 1 0
0
0
0
0 0. 1
0. 211
0
0
0
0
0
1. 845
1. 958 0. 0391
0. 0374
0
0. 0391 1. 9991 3. 9566 1. 9983
0
0. 0374
0. 0008 1. 9983 3. 9575
0. 15
10 sin(t)
180
cos(t)
10
=
180
6 sin(t)
180
sin(t)
8 180
yref
Considerando estas se
nales de referencia y las ecuaciones (3.5) y (3.6) se obtiene la siguiente
matriz
0
0
0. 15
0. 1745
0
0
0
0. 1745
0
Q=
0. 1047
0
0
0. 1396
0
0
Ubicando los valores propios de A en = {10, 10, 10, 10, 10, 2, 2, 2, 2, 2} se
obtiene la siguiente matriz K
94. 8
0
0
0
0
56. 4
0
0
0
0
0
46. 7 34. 5 22. 4 10. 9
0
27. 8 20. 5 13. 3 6. 4
0
22. 4 21. 8 21. 1 10. 4
0
13. 3 12. 9 12. 5 6. 2
0
10. 9 10. 6 10. 4 10. 2
0
6. 4 6. 3 6. 2 6. 08
29
estos valores propios son propuestos empricamente de tal manera que las se
nales de control
no generen valores de torque muy elevados.
Evaluando las igualdades (3.9) con = 0. 5, P1 = 0 y P2 = 0 se obtienen las matrices y
completando as el conocimiento total de la ley de control (3.7).
0
0
0. 1500
0. 1745
0
0
0. 1745
0
0
0
0
0. 1047
0
0
0. 1354 0. 1054 0
0. 1396
0
0
= 0. 1080 0. 0968 0
=
0
0
0
0. 0854 0. 0666 0
0
0. 0873
0
0. 0507 0. 0344 0
0. 0873
0
0
0
0. 0524
0
0
0. 0698
0
A continuacion se presentan los resultados obtenidos. El modelo matematico y los parametros
utilizados en esta simulacion pueden ser consultados en el apendice A.
m
0.6
q1 0.4
0.2
0
10
rad
15
20
25
15
20
25
15
20
25
Tiempo(seg)
0.2
0.1
q2
0.1
0.2
10
Tiempo(seg)
rad
0.2
q3
0.2
10
Tiempo(seg)
30
rad
0.2
0.1
q4
0.1
0.2
10
15
20
25
15
20
25
15
20
25
15
20
25
15
20
25
15
20
25
15
20
25
Tiempo(seg)
rad
0.2
0.1
q5
0.1
0.2
10
Tiempo(seg)
0.6
e1
0.4
0.2
0
0
rad
10
Tiempo(seg)
0.1
0.05
e2
0.05
10
Tiempo(seg)
rad
0.2
0.15
e3
0.1
0.05
0
0
10
Tiempo(seg)
0.2
rad
0.15
e4
0.1
0.05
0
0
10
Tiempo(seg)
rad
0
0.02
e5
0.04
0.06
0.08
0.1
10
Tiempo(seg)
Nm
40
u1
20
0
10
15
20
25
15
20
25
15
20
25
Tiempo(seg)
Nm
2
0
u2
2
4
10
Tiempo(seg)
Nm
2
0
u3
2
4
10
Tiempo(seg)
Figura 3.3: Se
nales de control u1 , u2 y u3
Nm
1
0
u4
1
2
3
4
10
15
20
25
15
20
25
Tiempo(seg)
Nm
0.5
0
0.5
u5
1
1.5
2
10
Tiempo(seg)
Figura 3.4: Se
nales de control u4 , u5
31
32
3.3.
Backstepping
Considerando la representacion en espacio de estados (3.3), se aplica la tecnica backstepping [21] para llevar a cero el error de posicion Z1 <n .
Z1 = 1 qd
Considerese la siguiente funcion preliminar de Lyapunov
1
v1 = Z1T Z1
2
La derivada respecto al tiempo
v1 = Z1T (2 qd )
sera definida negativa si 2 cumple con la siguiente expresion
2des = K1 Z1 + qd
(3.10)
donde K1 es una matriz simetrica definida positiva. En la expresion (3.10), 2 puede ser
considerada como una entrada de cuasicontrol que afecta la dinamica de Z1 . Introduciendo
una nueva variable tenemos
Z2 = 2 2des
(3.11)
Considerese ahora la siguiente funcion de Lyapunov definida positiva
1
v = v1 + Z2T Z2
2
Tomando la derivada respecto al tiempo tenemos
v = Z1T (K1 Z1 + Z2 ) + Z2T Z2
(3.12)
(3.13)
(3.14)
3.3. BACKSTEPPING
33
Con la ley de control (3.14) se tiene la siguiente dinamica en lazo cerrado en terminos de Z1
y Z2 con un punto de equilibrio asintoticamente estable
Z1
K1
I
Z1
=
I K2 Z2
Z2
La ley de control (3.14) puede ser escrita completamente en terminos de 1 y 2 como sigue
u = G(1 )1 [F (1 , 2 ) + qd + (K12 I)(1 qd ) (K1 + K2 )(2 + K1 (1 qd ) qd )]
Realizando algunas simplificaciones algebraicas se tiene
u = G(1 )1 (F (1 , 2 ) + qd (K2 K1 + I)(1 qd ) (K1 + K2 )(2 qd ))
En terminos de las variables originales que aparecen en (3.1) la ley de control anterior puede
ser reescrita como sigue
= M (q)[qd (K1 + K2 )(q qd ) (K2 K1 + I)(q qd )] + V (q, q)
+ Fg (q) + Ff (q, q)
(3.15)
donde se observa que la primera y segunda derivada del vector de referencias qq son requeridas.
Para controlar el robot de 5 DOF se proponen las siguientes matrices positivas definidas.
Esta eleccion es tomada empricamente de tal manera que las se
nales de control no sean muy
elevadas y que el tiempo de respuesta del sistema no sea muy alto.
5
0
K1 =
0
0
0
0
5
0
0
0
0
0
5
0
0
0
0
0
5
0
0
0
0
5
5
0
K2 =
0
0
0
0
5
0
0
0
0
0
5
0
0
0
0
0
5
0
0
0
0
5
0. 2 + 0. 2sin(0. 3t)
45 sin(0. 5t)
180
45
cos(0.
5t)
qd =
180
45 sin(0. 5t)
180
45 180
cos(0. 5t)
A continuacion se presentan los resultados.
34
m 0.4
m 0.25
q1 0.2
q1
0.2
0.15
0.1
0
10
15
20
0.05
25
Tiempo(seg)
rad
10
15
20
25
15
20
25
15
20
25
15
20
25
15
20
25
Tiempo(seg)
rad
0.5
q2
q2
1
0.5
1
10
rad
15
20
25
10
rad
Tiempo(seg)
Tiempo(seg)
0.5
0.5
q3
q3
0.5
1
0.5
0
10
15
20
25
10
Tiempo(seg)
Tiempo(seg)
rad
rad
1.5
0.5
1
q4
q4
0.5
0.5
1
10
15
20
25
10
Tiempo(seg)
Tiempo(seg)
rad
rad
q5
1.5
0.5
1
q5
0.5
1
0.5
0
10
15
Tiempo(seg)
Experimento 1
20
25
0.5
10
Tiempo(seg)
Experimento 2
3.3. BACKSTEPPING
35
e1
e1
0.1
0.1
0.2
10
15
20
Tiempo(seg)
rad
0.2
25
10
15
20
25
15
20
25
15
20
25
15
20
25
15
20
25
Tiempo(seg)
rad 1
0.4
e2
0.2
0.5
e2
0
0.2
0
0
10
15
20
25
Tiempo(seg)
rad
rad
10
Tiempo(seg)
0.1
0.5
0.1
0
e3
e3
0.2
0
0.3
0
10
15
20
0.4
25
Tiempo(seg)
rad
10
Tiempo(seg)
rad
0.8
0.1
0.6
e4
0.4
e4
0.2
0.1
0
0.2
10
15
20
0.2
25
10
Tiempo(seg)
rad
Tiempo(seg)
rad
0.8
0
0.6
0.2
e5
0.4
e5
0.4
0.2
0.6
0
0.2
10
15
Tiempo(seg)
Experimento 1
20
25
0.8
10
Tiempo(seg)
Experimento 2
36
Nm 70
Nm 52
60
50
u1 50
40
u1
48
30
46
10
15
20
Nm
20
25
Tiempo(seg)
10
Nm
15
20
25
15
20
25
15
20
25
15
20
25
15
20
25
Tiempo(seg)
20
0
u2
u2
5
10
0
10
15
20
20
25
Nm
Tiempo(seg)
Nm
5
10
Tiempo(seg)
40
20
u3
u3
0
5
10
20
10
15
20
25
10
Tiempo(seg)
Tiempo(seg)
Nm
Nm 50
40
0
u4
30
u4
20
10
0
10
10
15
10
15
20
20
25
10
Tiempo(seg)
Tiempo(seg)
Nm
Nm
2
50
0
2
u5
u5
4
6
8
10
15
Tiempo(seg)
Experimento 1
20
25
50
10
Tiempo(seg)
Experimento 2
Figura 3.7: Se
nales de control para los experimentos 1 y 2
3.4.
37
Control Adaptativo
(3.16)
donde el significa que los terminos son evaluados en los parametros estimados y no en los
parametros reales. Los terminos V (q, q)
y Ff (q, q)
han sido escritos en forma de producto
matricial como Vm (q, q)
q y Fm (q, q)
q respectivamente. KD es una matriz simetrica definida
positiva, qR es el vector de velocidad de referencia definido en funcion de la posicion deseada
qd , la velocidad deseada qd y una matrix definida positiva .
qR = qd (q qd )
(3.17)
(3.18)
38
v = [eT (M e + M e)
+ e T M e + T 1 + T 1 ]
2
Agrupando terminos, v = eT (M e + 0. 5M e) + T 1
Considerando que M e = M q M qR , tenemos
v = eT ( Vm q Ff q Fg M qR + 0. 5M e) + T 1
Sumando y restando el termino Vm qr en la expresion anterior se tiene
v = eT (0. 5M Vm )e + eT ( Vm qR Ff q Fg M qR ) + T 1
Como se puede observar en (3.16), una etapa del dise
no de controlador es encontrar una
matriz Vm tal que V (q, q)
pueda ser escrita en forma de producto matricial. Consideremos
como criterio adicional para encontrar Vm que la matriz M (q) 2Vm (q, q)
sea antisimetrica,
esto es, se requiere Vm tal que:
V (q, q)
= Vm (q, q)
q
eT (M (q) 2Vm (q, q))e
=0
Cumpliendo con las condiciones (3.19) es posible simplificar v como sigue
v = eT ( Vm qR Ff q Fg M qR ) + T 1
(3.19)
(3.20)
Considerando (3.18), la ley de control (3.16) puede ser reescrita como sigue
= W (q, q,
qR , qR )
p KD e
(3.21)
(3.22)
v = eT (KD + Ff )e + T (W T e + 1 )
Para que esta expresion sea semidefinida negativa se requiere la siguiente ley de adaptacion
p = W T e
(3.23)
39
La ley de control (3.16) puede ser considerada como un control PD con retroalimentacion
de toda la dinamica. El dise
no de este controlador esta basado en tres puntos: identificar
el vector de parametros descononidos p a partir de (3.1), encontrar la matriz Vm tal que se
cumplan las ecuaciones (3.19) y calcular W para la ley de adaptacion (3.23).
Para controlar el robot de 5 DOF se propone el siguiente vector de parametros desconocidos en base a la ecuacion dinamica.
p = p1 p2 p3
p17
T
donde:
p1 = m 1
p7 = m4 Lx4
p13 = f1
p2 = m 2
p8 = m5 Lx5
p14 = f2
p3 = m 3
p9 = m2 L22 + Iz2
p15 = f3
p4 = m 4
p16 = f4
p5 = m 5
p17 = f5
p6 = m3 Lx3
La ecuacion dinamica del robot se muestra en el apendice A mientras que las matrices W ,KD ,
y son mostradas en el apendice B.
Se presentan dos experimentos, uno para seguimiento de trayectorias senoidales y otro para
seguimiento de trayectorias provenientes de la cinematica inversa.
Para el primer experimento el vector de referencias es el siguiente
0. 2 + 0. 18sin(0. 3t)
45 sin(0. 7t)
180
qd =
50 180 cos(0. 4t)
65 sin(0. 8t)
180
75 180
cos(0. 5t)
Para el segundo experimento el vector qd es tal que el efector final del robot sigue una trayectoria cuadrada en el plano YZ con esquinas en los siguientes puntos: P1 : (0. 4, 0. 12, 0. 07)m,
P2 : (0. 4, 0. 12, 0. 07)m, P3 : (0. 4, 0. 12, 0. 19)m y P4 : (0. 4, 0. 12, 0. 19)m.
40
m 0.4
m
0.15
q1
0.2
0.1
q1
0.05
0.05
0
0
rad
10
12
Tiempo(seg)
14
16
18
20
10
15
10
15
10
15
10
15
10
15
Tiempo(seg)
rad
0.5
0.5
q2
q2
0.5
0.5
1
rad
10
12
Tiempo(seg)
14
16
18
20
q3
5
Tiempo(seg)
rad
0.2
0.3
q3
0.4
rad
10
12
Tiempo(seg)
14
16
18
0.5
20
5
Tiempo(seg)
rad 1.4
2
1
1.2
q4
q4 0
1
0.8
1
2
10
12
Tiempo(seg)
14
16
18
20
5
Tiempo(seg)
rad
rad
0.1
0.05
1
q5
q5 0
0.05
1
2
10
12
Tiempo(seg)
14
Experimento 1
16
18
20
0.1
5
Tiempo(seg)
Experimento 2
41
0.2
0.06
0.1
e1
e1
0.04
0.02
10
12
Tiempo(seg)
14
16
18
20
rad
rad
e2
15
10
15
10
15
10
15
10
15
0.3
0.2
e2
0.5
1
10
Tiempo(seg)
0.1
0
10
12
Tiempo(seg)
14
16
18
0.1
20
rad
5
Tiempo(seg)
rad
0.3
0
e3
0.2
0.2
e3
0.4
0.1
0
0.6
rad
10
12
Tiempo(seg)
14
16
18
20
5
Tiempo(seg)
rad
1.5
0
1
0.1
e4
e4
0.2
0.5
0.3
0
0
10
12
Tiempo(seg)
14
16
18
0.4
20
5
Tiempo(seg)
rad
rad
0.05
0
0.5
e5
e5
0.05
1.5
0.1
10
12
Tiempo(seg)
14
Experimento 1
16
18
20
5
Tiempo(seg)
Experimento 2
42
Nm 40
Nm 80
60
30
u1 40
u1
20
20
10
10
12
Tiempo(seg)
14
16
18
20
Nm
Nm
5
10
15
10
15
10
15
10
15
10
15
Tiempo(seg)
10
5
u2
u2 0
5
0
10
12
Tiempo(seg)
14
16
18
20
5
Tiempo(seg)
Nm
Nm
10
5
5
u3 0
u3
0
5
0
10
12
Tiempo(seg)
14
16
18
20
5
Tiempo(seg)
Nm 5
Nm
4
2
u4
u4 0
0
2
10
12
Tiempo(seg)
14
16
18
20
5
Tiempo(seg)
Nm
Nm
u5 0
u5 0
1
2
10
12
Tiempo(seg)
14
Experimento 1
16
18
20
5
Tiempo(seg)
Experimento 2
Figura 3.10: Se
nales de control para los experimentos 1 y 2
43
1.5
0.5
0.5
1.5
10
Tiempo(seg)
15
20
0
0.2
0.4
0.6
0.8
1
10
15
Tiempo(seg)
44
3.5.
Control neuronal
3.5.1.
Identificaci
on de sistemas utilizando redes neuronales recurrentes de alto orden
En una red neuronal recurrente de alto orden (RHONN) el estado de cada neurona es
gobernada por una ecuacion diferencial de la forma, [10]:
"
xi = ai xi + bi
L
X
#
wik
d (k)
yj j
(3.24)
jIk
k=1
S(x1 )
y1
2)
y2 S(x
. ..
. .
.
S(xn )
y = yn =
u1
yn+1
. u2
.. .
..
yn+m
um
45
Q
dj (1)
y
z1
QjI1 jdj (2)
z2
jI2 yj
z = .. =
.
.
.
.
Q
dj (L)
zL
y
jIL
(3.25)
k=1
En la figura 3.13 se muestra el diagrama de un RHONN con las variables que intervienen en
la ecuacion anterior.
wiL
T
(3.26)
46
T
donde x = x1 x2 xn <n , W = w1 w2 wn <Ln y
A = diag{a1 , a2 , ..., an } es una matrix diagonal n n.
3.5.2.
Propiedades de aproximaci
on utilizando RHONN
Consideremos ahora que el sistema desconocido que se quiere aproximar usando RHONN
tiene la siguiente forma
= F (, u)
(3.27)
donde <n es el vector de estados del sistema, u <m es el vector de entradas al sistema
y F : <n+m <n es un campo vector suave definido en un conjunto compacto <n+m .
El problema de aproximacion consiste en determinar si con suficiente n
umero de interconexiones y neuronas existe una matriz W , tal que el modelo RHONN aproxima el comportamiento entrada-salida de un sistema dinamico de la forma (3.27).
Se asume que F es continua y satisface la condicion Lipschitz localmente tal que (3.27)
tiene una u
nica solucion en el sentido de Caratheodory, y ((t), u(t)) para todo t en
alg
un intervalo JT = t : 0 t T . El intervalo JT representa el perodo de tiempo sobre el
cual la aproximacion es llevada a cabo.
Considerese ahora el siguiente teorema cuya demostracion se encuentra en [10]:
Teorema 1. Suponiendo que el sistema (3.27) y el modelo (3.26) estan inicialmente en el
mismo estado x(0) = (0); entonces para cualquier > 0 y cualquier T > 0 finito, existe un
entero L y una matriz W <Ln tal que el estado x(t) del modelo RHONN (3.26) con L
conexiones de alto orden y pesos W = W que satisface:
sup |x(t) (t)|
0tT
encontrar W .
3.5.3.
47
i = 1, 2, , n
(3.29)
nal de error ei = xi i
donde wi es el estimado del vector desconocido wi . En este caso la se
satisface
ei = ai ei + Ti z
i = 1, 2, , n
(3.30)
donde i = wi wi . Los pesos wi , para i = 1, 2, ..., n, son ajustados acorde a la siguiente ley
de aprendizaje
w i = i zei
(3.31)
donde i es una matriz positiva definida de dimensiones L L.
El siguiente teorema muestra las propiedades de convergencia de este esquema de identificacion.
Teorema 2. Considere el esquema RHONN con aprendizaje por error filtrado (3.29) cuyos
pesos son ajustados acorde a (3.31). Entonces para i = 1, 2, ..., n se cumple:
(a) ei , i L
(b) limt ei (t) = 0
Demostracion:
Considere la siguiente funcion de Lyapunov
n
1X 2
V =
(e + Ti 1
i i )
2 i=1 i
(3.32)
n
X
(ei (ai ei + Ti z) + Ti 1
i i )
(3.33)
i=1
n
X
(ai e2i + ei Ti z + Ti 1
i i )
i=1
48
n
X
ai e2i 0
(3.35)
i=1
n
X
i=1
3.5.4.
49
Aplicaci
on al robot de 5 DOF
(3.37)
1 = q X1 + X1 qd
(3.38)
(3.40)
50
(3.42)
(3.43)
Para completar el conocimiento de todos los terminos involucrados en esta ley de control
se calcula facilmente utilizando (3.36) y (3.41) como sigue
X2des
= (A1 K1 )(A1 X1 + X2 + W1 z)
X2des
donde
d
W1 z = W 1 z + W1
z Q
dt
Q
d
W1 z + K1 qd + qd
dt
q
Q=
<2n
q
I K2 2
2
donde se observa que seleccionando K1 y K2 como matrices simetricas definidas positivas,
estas dinamicas tienen un punto de equilibrio asintoticamente estable (eN , 2 ) = (0, 0) y
entonces por continuidad el error de seguimiento 1 va a cero asintoticamente.
51
52
3.5.5.
Resultados
Para aplicar la ley de control (3.43) en el robot de 5 DOF se propone la siguiente estructura para las matrices de pesos ajustables W1 y W2 que participan en (3.36)
11 0
0
0
0 0 0 0 0 0
21 22 23 24 25 0 0 0 0 0
0
0
0
0
0
W1 =
32
33
34
35
0 42 43 44 45 0 0 0 0 0
0 52 53 54 55 0 0 0 0 0
61 0
0
0
0 66 0
0
0
0
71 72 73 74 75 76 77 78 79 710
W2 =
82
83
84
85
87
88
89
810
0 92 93 94 95 0 97 98 99 910
0 102 103 104 105 0 107 108 109 1010
Para los parametros constantes tenemos las siguientes matrices diagonales.
A1 = diag{8, 10, 10, 10, 10}, A2 = diag{10000, 8000, 8000, 8000, 80000}
B = diag{5, 35, 35, 35, 35}, K1 = diag{12, 5, 5, 5, 5} y K2 = diag{5, 5, 5, 5, 5}
Como se menciono en el teorema 1, no existe un metodo especifico para proponer una determinada estructura para el identificador (3.26), por esta razon, tanto la estructura de las
matrices de pesos ajustables W1 y W2 como los parametros fijos de la red fueron seleccionados
empricamente de tal manera que los errores de identificacion y de seguimiento de trayectoria
se mantienen suficientemente peque
nos.
Se presentan cuatro experimentos que a continuacion se describen.
Experimento 1: Se lleva a cabo seguimiento de trayectorias senoidales.
Experimento 2: Se realiza un cambio abrupto de referencias. Al inicio del experimento
el robot sigue una trayectoria senoidal en cada articulacion pero al cabo de 7 segundos se
cambia el vector de referencias por un vector constante.
Experimento 3: Se prueba la robustez del controlador ante variaciones parametricas. La
trayectoria deseada en cada articulacion es una se
nal senoidal, a los 5 segundos de iniciado el
experimento se varan los coeficientes de friccion del modelo dinamico en un 100 %. A los 10
segundos de iniciado el experimento se varan las masas de los 5 eslabones que conforman el
robot. Las masas iniciales en este experimento son ms = {1. 2, 0. 9, 0. 9, 0. 9, 0. 9}Kg mientras
que al tiempo del cambio el valor de las masas es ms = {52, 50, 50, 50, 50}Kg.
Experimento 4: El robot sigue una trayectoria proveniente de la cinematica inversa tal que
el efector final sigue una trayectoria circular en el plano XY.
53
Nm 100
m 0.4
0.2
u1
q1
50
0
0.2
10
15
Tiempo(seg)
rad 1
Nm
q2
0.5
10
u2 0
rad
10
15
Tiempo(seg)
10
15
10
15
10
15
30
20
u3 10
0
0.5
10
20
0
10
15
5
Tiempo(seg)
Tiempo(seg)
rad
15
Tiempo(seg)
Nm
10
20
0
0.5
q3
15
10
0.5
1
10
Tiempo(seg)
Nm
40
30
1
20
u4
q4 0
10
0
1
10
10
15
20
5
Tiempo(seg)
Tiempo(seg)
rad
Nm
0.5
q5
u5
10
0.5
1
15
10
Tiempo(seg)
15
20
5
Tiempo(seg)
54
m
0.05
0
eN1
0.05
0.1
0.15
10
15
10
15
10
15
Tiempo(seg)
rad
0.2
e
N2
0.2
0.4
0
5
Tiempo(seg)
rad
0.2
e
N3
0.2
0.4
0
5
Tiempo(seg)
0.2
0.1
N4
0.1
0.2
0
10
15
10
15
Tiempo(seg)
rad
0.4
0.3
eN5 0.2
0.1
0
0.1
5
Tiempo(seg)
55
m 0.4
Nm 150
q1 0.3
100
0.2
u1 50
0
0.1
50
0
0
10
15
Tiempo(seg)
rad
100
Nm
10
15
10
15
10
15
10
15
10
15
Tiempo(seg)
20
10
0.5
q2 0
u2 0
10
0.5
20
30
rad
10
15
Tiempo(seg)
1
5
Tiempo(seg)
0.5
q3
Nm
20
u3
0.5
1
20
10
15
Tiempo(seg)
rad
Tiempo(seg)
Nm
40
20
u4
q4 0
20
1
2
10
40
15
5
Tiempo(seg)
Tiempo(seg)
rad
Nm
0.5
5
0
0
u5
q5
10
0.5
15
10
Tiempo(seg)
15
20
5
Tiempo(seg)
qd1 = [0. 15sin(0. 4t) 50 180 sin(0. 5t) 45 180 cos(0. 7t) 75 180 sin(0. 9t) 35 180
cos(0. 3t)]T
T
y qd2 = [0. 1 0. 8 0. 4 1. 1 0. 25] .
56
m 0.4
q1
Nm 4000
3000
u1
2000
0.2
0
0.2
rad
1000
0
0
10
15
10
15
10
15
10
15
10
15
0
u2
0.5
1
15
Nm 10
rad
10
Tiempo(seg)
0.5
q2
Tiempo(seg)
10
20
10
30
15
Tiempo(seg)
Tiempo(seg)
Nm
10
0.5
q3
u3
10
0.5
1
10
20
15
5
Tiempo(seg)
Tiempo(seg)
rad
Nm
20
1
10
q4 0
u4
0
1
2
10
15
10
5
Tiempo(seg)
Tiempo(seg)
Nm
rad
15
10
0.5
q5
u5
0.5
1
0
5
10
Tiempo(seg)
15
10
5
Tiempo(seg)
qd = [0. 18sin(0. 4t) 50 180 sin(0. 6t) 35 180 cos(0. 5t) 65 180 sin(0. 4t) 45 180
cos(0. 9t)]T .
A los 5 segundos los coeficientes de friccion son cambiados a Ff = {1, 1, 1, 1, 1} mientras que a
los 10 segundos las masas son cambiadas a los siguientes valores: ms = {52, 50, 50, 50, 50}Kg,
con lo cual el peso del brazo robotico es de 252Kg. Se observa que a mayor masa se requiere
mayor amplitud en las se
nales de control presentando ademas algunas oscilaciones.
57
Nm 20
0.3
15
0.2
u1
q1
0.1
0
0.1
10
10
15
Tiempo(seg)
rad
10
15
10
15
10
15
10
15
10
15
Tiempo(seg)
Nm
0.5
50
0
u2 0
q2 0.5
1
1.5
50
10
15
rad
50
0.5
u3
50
0
0.5
Nm
q3
Tiempo(seg)
Tiempo(seg)
100
10
15
5
Tiempo(seg)
Tiempo(seg)
rad
Nm 50
0.5
q4
u4
0.5
50
10
15
100
Tiempo(seg)
rad
Tiempo(seg)
Nm
1.5
20
0
u5
q5
0.5
20
40
0.5
10
Tiempo(seg)
15
60
5
Tiempo(seg)
58
m,rad
m,rad 0.8
0.6
0.8
0.4
0.6
0.2
0.4
0.2
e
0.2
0
0.2
0.4
0.4
0.6
0.6
0.8
1
0.8
0
10
15
10
Tiempo(seg)
15
Tiempo(seg)
Experimento 1
Experimento 2
m,rad 0.6
m,rad 0.4
0.3
0.4
0.2
0.2
0.1
e
0
e
0
0.1
0.2
0.2
0.3
0.4
0.4
0.6
0.5
0.8
10
Tiempo(seg)
Experimento 3
15
8
Tiempo(seg)
10
12
14
Experimento 4
Figura 3.21: Errores de posicion para los cuatro experimentos presentados (ep = q qd ).
59
En la figura 3.22 se observa la trayectoria que sigue el efector final de robot en el plano
XY en el experimento 4. En esta grafica se observa la posicion inicial del efectot final respecto
el sistema de coordenadas de la base.
0.06
0.04
0.02
Y
(metros)
0
0.02
0.04
0.06
0.42
0.44
0.46
0.48
0.5
0.52
0.54
0.56
0.58
X (metros)
60
3.6.
Discusi
on de las t
ecnicas de control utilizadas
El algoritmo desarrollado con la regulacion lineal esta basado en la linealizacion del modelo dinamico alrededor de un punto de equilibrio, por esta razon se requiere del conocimiento
de todos los parametros reales del robot. Mas aun, la primera hipotesis de la regulacion lineal
requiere de un exosistema antiestable de las se
nales de referencia, esto es una restriccion en la
robotica porque en general las se
nales de referencia provienen de la solucion de la cinematica
inversa; dichas se
nales no pueden ser puestas en esta forma de exosistema.
El algoritmo obtenido a partir de la teora de backstepping tambien requiere del conocimiento real del modelo dinamico del robot e involucra terminos muy complejos que requeriran
de mucha carga computacional en la implementacion en tiempo real; dichos terminos son la
matriz de inercias y el vector de fuerzas de coriolis.
El control adaptativo no requiere del conocimiento de los parametros reales del sistema; sin
embargo, no considera dinamicas no modeladas que pueden estar presentes en un ambiente
real. Al igual que el control obtenido con backstepping, este algoritmo requiere de una considerable carga computacional para su implementacion.
Por otro lado, el control neuronal propuesto no requiere del conocimiento del modelo dinamico
del robot. La red neuronal es utilizada para identificar el sistema desde un punto de vista de
entrada-salida. La carga computacional requerida por este algoritmo no es muy grande si solo
se utiliza el n
umero de neuronas suficiente para realizar la identificacion satisfactoriamente;
esto se debe a que la ley de aprendizaje utilizada es muy sencilla y puede ser implementada
facilmente para realizar una aplicacion en tiempo real.
Por estos motivos, en esta memoria de tesis u
nicamente se realiza la implementacion en
tiempo real del control neuronal propuesto.
Captulo 4
Dise
no y construcci
on
4.1.
Dise
no del robot
El dise
no del robot propuesto en esta tesis esta basado en el robot ANAT (Articulated
Nimble Adaptable Trunk) de siete grados de libertad que se encuentra en la Escuela de Tecnologa Superior, ETS de Montreal, Canada (Fig.4.1).
61
Y CONSTRUCCION
CAPITULO 4. DISENO
62
Figura 4.2: Eslabon para los grados de libertad 2, 3, 4 y 5, vista lateral (unidades en cm)
DEL ROBOT
4.1. DISENO
63
Figura 4.3: Eslabon para los grados de libertad 2, 3, 4 y 5, vista superior (unidades en cm)
El dise
no de este elemento incluye un dispositivo de deslizamiento que permite al brazo
robotico realizar los movimientos verticales de una manera suave.
Figura 4.4: Eslabon para el primer grado de libertad, vista lateral (unidades en cm)
Y CONSTRUCCION
CAPITULO 4. DISENO
64
Figura 4.5: Eslabon para el primer grado de libertad, vista superior (unidades en cm)
La base de la articulacion prismatica fue dise
nada de tal manera que el brazo robotico
realice sus movimientos en un rango de 67 cm (Figuras 4.6 y 4.7). El movimiento vertical es
producido por un tornillo sin fin que tiene una relacion de 10 vueltas por pulgada y que pasa
a traves del primer eslabon.
En la siguiente tabla se muestran los motores y sensores utilizados para esta aplicacion.
Dispositivo
Marca
Motor art. prismatica
Baldor
Motor art. revolutiva Barber Colman
Encoder
Avago
Sensor de corriente
LEM
Tipo
Caractersticas
2424P-PSL
42r.p.m; 90VDC; 280 in-Lbs
EYQF-63600-751 20.67rpm; 24VDC; 110.86oz-in;
E220S
1024 pulsos/rev
LTS6-NP
0-6A
DEL ROBOT
4.1. DISENO
Figura 4.6: Base para la articulacion prismatica, vista frontal (unidades en cm)
Figura 4.7: Base para la articulacion prismatica, vista superior (unidades en cm)
65
Y CONSTRUCCION
CAPITULO 4. DISENO
66
El robot ANAT tiene siete grados de libertad, una articulacion prismatica y seis articulaciones revolutivas. El prototipo construido cuenta con cinco grados de libertad, una
articulacion prismatica y cuatro revolutivas (Fig.4.8).
4.2.
Interface electr
onica
El robot de 5 DOF utiliza una tarjeta de adquisicion de datos para comunicarse con la
computadora (Fig. 4.9). La tarjeta de National Instruments NI-6024E solamente cuenta con
dos salidas analogicas por lo que es necesario multiplexar las se
nales de control en Simulink
para tener control de los cinco motores utilizando la misma salida analogica. Para demultiplexar la salida analogica, es decir enviar la se
nal de control correspondiente a cada motor,
se implemento un dispositivo electronico que utiliza microcontroladores. Este dispositivo
ademas tiene una etapa de potencia que utiliza moduladores de ancho de pulso (PWM)
para controlar los motores. A continuacion se describe brevemente el funcionamiento de este
dispositivo.
4.2. INTERFACE ELECTRONICA
67
4.2.1.
Multiplexaje y Demultiplexaje
Y CONSTRUCCION
CAPITULO 4. DISENO
68
4.2.2.
Microcontroladores
4.2. INTERFACE ELECTRONICA
69
(cinco para este robot) el contador se restablece y se repite de nuevo el ciclo, ver figura 4.12.
Figura 4.12: Se
nales para demultiplexar
Por programacion cada microcontrolador sabe cual articulacion del robot tiene asignada,
de tal manera que cuando el valor del contador sea igual al n
umero de articulacion que
representa entonces el microcontrolador debera convertir la se
nal analogica proveniente de la
NI-6024E y enviarla en forma de PWM a la etapa de potencia.
La tarjeta de adquisicion de datos se comunica con el dispositivo electronico de manera
analogica para obtener las posiciones articulares; para realizar esto, cada microcontrolador
convierte la se
nal proveniente del encoder en PWM utilizando el canal CCP1. Dicha se
nal en
forma de PWM se pasa a traves de un filtro RC para obtener una se
nal analogica proporcional.
El microcontrolador ha sido programado de tal manera que genere un voltaje entre 0 y 5 volts
en el rango de la articulacion asignada, es decir, para las articulaciones revolutivas se tendran
0 volts cuando la posicion sea de -90 grados y 5 volts cuando la posicion sea de 90 grados;
para la articulacion prismatica se tendran 5 volts cuando se tenga la maxima excursion del
primer eslabon. Otro PWM utilizando el canal CCP2 es el encargado de controlar los motores,
70
Y CONSTRUCCION
CAPITULO 4. DISENO
mientras que para definir el giro del motor se utiliza un bit de direccion. Los PWM utilizados
tienen una frecuencia de 31Khz y una resolucion de 9 bits. A continuacion se muestra la
logica que cada microcontrolador utiliza (Fig. 4.13).
4.2. INTERFACE ELECTRONICA
71
Para esta aplicacion fueron utilizadas dos interrupciones externas del PIC16F876A. Basicamente, una interrupcion permite al microcontrolador ejecutar lneas de codigo cuando se producen ciertos eventos. Las interrupciones externas se activan cuando se produce un cambio
de estado logico (logica digital 0 y 1) en determinados pines del circuito integrado.
La interrupcion externa 1 (Fig. 4.13) se activa cuando se detecta un cambio de estado en la
se
nal de reloj; en este paso un contador interno es incrementado cada vez que se presenta
la interrupcion y es restablecido cuando su valor excede el n
umero de grados de libertad
presentes en el robot. El microcontrolador mandara la se
nal de control en forma de PWM al
motor solo s el valor del contador interno coincide con el n
umero de articulacion que tiene
asignada.
El encoder es un sensor con dos canales que genera pulsos para medir las posiciones articulares del robot; estos canales (A y B) tienen la misma forma de onda pero se encuentran
desfasadas 90 grados. La direccion de giro del encoder define cual forma de onda (canal A
o B) esta adelante de la otra.
La interrupcion 2 es utilizada para cuantificar los pulsos que genera el encoder; esta se activa
solamente en un flanco de subida (una transicion desde un nivel bajo hacia un nivel alto
hablando en terminos de logica digital). El n
umero de pulsos generados por el encoder es
guardado en una variable declarada dentro del programa principal; esta variable sera incrementada o decrementada dependiendo de la direccion de giro del eje del encoder.
Captulo 5
Implementaci
on en tiempo real
5.1.
Implementaci
on del control neuronal en el robot
ANAT
74
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
del robot en forma de caracteres que despues deben ser descifrados en Matlab para obtener
las posiciones reales de los eslabones. Cada se
nal de control debe ser convertida en un valor
digital que pueda ser interpretada correctamente por la interfaz electronica.
11
21
W1 =
0
0
0
0
22
32
42
52
0
23
33
43
53
0
24
34
44
54
0
25
35
45
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61 0
0
0
0 66 0
0
0
0
71 72 73 74 75 76 77 78 79 710
W2 =
82
83
84
85
87
88
89
810
0 92 93 94 95 0 97 98 99 910
0 102 103 104 105 0 107 108 109 1010
75
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
76
5.1.1.
Se presentan seis experimentos realizados en el robot ANAT. En el primer experimento se realiza seguimiento de referencias constantes con el proposito de observar el error de
seguimiento en estado estacionario; en el segundo experimento se realiza seguimiento de
referencias constantes aplicandose una perturbacion externa que desvanece con el tiempo con
el objetivo de verificar la robustez del controlador; en el tercer experimento se realiza
seguimiento de trayectorias senoidales en cada articulacion con el proposito de verificar la
respuesta del controlador ante se
nales de referencia armonicas; en el cuarto experimento
se realiza seguimiento de trayectorias senoidales aplicandose una perturbacion externa que
desvanece con el tiempo; en el quinto experimento el seguimiento de trayectoria se lleva a
cabo sobre se
nales de referencia que provienen de la cinematica inversa, en este experimento
el efector final del robot sigue una trayectoria circular en el plano XY; finalmente en el sexto
experimento el efector final del robot sigue una trayectoria rectangular en el plano XY
utilizando se
nales de referencia obtenidas con la solucion de la cinematica inversa.
A continuacion se presentan los resultados obtenidos en el ANAT con el control neuronal.
a) Seguimiento de trayectorias constantes.
m
0.3
0.2
q1
0.1
0
10
20
rad
30
Tiempo(seg)
40
50
60
0.4
0.3
q2 0.2
0.1
0
rad
10
15
10
15
Tiempo(seg)
0
0.5
q3
1
1.5
5
Tiempo(seg)
rad
77
0.8
0.6
q4
0.4
0.2
0
10
15
10
15
Tiempo(seg)
rad
0.5
0
q5
0.5
5
Tiempo(seg)
T
45 180
25 180
45 180
qd = 0. 2 25 180
En las figuras 5.3 y 5.4 se muestra el seguimiento de trayectoria para este experimento. En
cada grafica se muestra la se
nal de referencia (lnea punteada) y la se
nal de posicion real de
cada articulacion. En los experimentos realizados la condicion inicial del robot es el origen,
es decir, los eslabones del robot inician totalmente alineados (Fig: 5.1)
Nm
2
0
u1
2
4
Nm
u2
10
20
30
Tiempo(seg)
40
50
60
10
15
10
15
Tiempo(seg)
Nm
5
u3
5
Tiempo(seg)
Figura 5.5: Se
nales de control u1 , u2 y u3 .
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
78
Nm
1.5
1
u4
0.5
10
15
10
15
Tiempo(seg)
Nm
0
0.2
0.4
u5
0.6
0.8
1
5
Tiempo(seg)
Figura 5.6: Se
nales de control u4 , u5 .
0.04
0.02
e1
0.1
rad
ep1
0.1
0
0.02
79
10
20
30
Tiempo(seg)
40
50
0.2
60
10
20
30
Tiempo(seg)
40
50
60
rad
0
e2
ep2 0.2
0.4
5
10
15
Tiempo(seg)
rad
0.5
10
15
10
15
Tiempo(seg)
rad
1
0.5
e3
0.5
ep3
10
0.5
15
Tiempo(seg)
Tiempo(seg)
0.2
0
0.1
e4
ep4
0.2
0.4
0.1
0.6
0.2
10
15
Tiempo(seg)
rad
rad
15
10
15
0.4
0.8
0.3
0.6
0.2
ep5
e5 0.1
0.4
0.2
0
0.1
10
Tiempo(seg)
0
0
10
Tiempo(seg)
15
5
Tiempo(seg)
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
80
0.4
0.3
q1 0.2
0.1
0
rad
10
20
30
Tiempo(seg)
40
50
60
0.5
0.4
q2
0.3
0.2
10
rad
15
20
25
Tiempo(seg)
0
0.5
q3
1
1.5
10
15
Tiempo(seg)
20
25
30
45 180
25 180
45 180
qd = 0. 2 25 180
En estas graficas se observa la capacidad del control neuronal para recuperar la se
nal de referencia. En la segunda articulacion se observa un tiempo de restablecimiento de 5 segundos
el cual es un tiempo mayor al requerido por las demas articulaciones. Esta articulacion presenta una mayor dificultad para rechazar la perturbacion produciendose algunas oscilaciones.
Esto no es raro fsicamente, debido a que la articulacion 2 tiene que cargar con el peso de las
articulaciones 3, 4 y 5. Las articulaciones 3-5 no presentaron estas oscilaciones rechazando la
perturbacion en un periodo de tiempo mas peque
no.
rad
81
0.5
0.45
q4
0.4
0.35
20
25
30
35
Tiempo(seg)
rad
0
0.2
0.4
q5
0.6
0.8
1
30
32
34
36
Tiempo(seg)
38
40
2
0
u1
2
4
Nm
u2
u3
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
5
Nm
Figura 5.10: Se
nales de control u1 , u2 y u3 .
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
82
Nm
1.5
1
u4
0.5
0
0.5
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
Nm
0.5
0
u5 0.5
1
1.5
Figura 5.11: Se
nales de control u4 , u5 .
m 0.04
0.1
0.02
e1
ep1
0.1
0
0.02
rad
83
10
20
30
Tiempo(seg)
40
50
0.2
60
rad
10
20
30
Tiempo(seg)
40
50
60
10
15
Tiempo(seg)
20
25
30
0.2
0
e2 0
ep2
0.2
0.4
10
20
rad
30
Tiempo(seg)
40
50
60
0.6
rad
1
0.5
e3
0.5
0
ep3
0
0.5
0.5
0
10
20
30
Tiempo(seg)
40
50
60
10
15
20
Tiempo(seg)
25
30
35
rad
0.05
0.1
rad
0
e4
ep4 0.1
0.2
0.05
10
20
30
Tiempo(seg)
40
50
60
rad
rad
0.5
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
0.5
e5
0
ep5
0.5
10
20
30
Tiempo(seg)
40
50
60
0.5
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
84
T
45sin(0. 5t) 180
45sin(0. 5t) 180
45sin(0. 5t) 180
qd = 0. 2 45sin(0. 5t) 180
0.3
0.2
q1
0.1
0
rad
10
20
30
Tiempo(seg)
40
50
60
1
0.5
q2
0.5
1
rad
10
12
Tiempo(seg)
14
16
18
20
10
12
Tiempo(seg)
14
16
18
20
1
0.5
q3
0.5
1
85
rad
0.5
q4
0
0.5
1
rad
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
1
0.5
0
q5
0.5
1
Nm
1
0
u1 1
2
3
Nm
u2
u3
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
5
Nm
Figura 5.15: Se
nales de control u1 , u2 y u3 .
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
86
Nm
u4
Nm
u5
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
Figura 5.16: Se
nales de control u4 , u5 .
0.1
0.04
0.02
ep1
e1
0.1
0
0.02
87
10
20
30
Tiempo(seg)
40
50
0.2
60
rad
rad
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
0.5
0.4
0.2
e2
ep2
0
0.2
10
20
rad
0.5
e3
30
Tiempo(seg)
40
50
rad
0.5
0.5
60
0.5
ep3
0.5
0
10
20
30
Tiempo(seg)
40
50
60
0.5
0.5
e4
ep4
0.5
10
20
30
Tiempo(seg)
40
50
0.5
60
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
rad
rad
0.5
e5
0.5
ep5
0.5
10
20
30
Tiempo(seg)
40
50
60
0.5
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
88
T
45sin(0. 5t) 180
45sin(0. 5t) 180
45sin(0. 5t) 180
qd = 0. 2 45sin(0. 5t) 180
0.1
q1
0
0.1
0.2
0
rad
10
20
30
Tiempo(seg)
40
50
60
1
0.5
q2
0
0.5
1
rad
10
15
20
Tiempo(seg)
25
30
35
40
1
0.5
q3
0
0.5
1
10
15
20
Tiempo(seg)
25
30
35
rad
89
1
0.5
q4
0
0.5
1
20
rad
25
30
35
Tiempo(seg)
40
45
50
1
0.5
q5
0
0.5
1
20
25
30
35
Tiempo(seg)
40
45
En la figura 5.20 se muestran los errores de posicion y los errores de identificacion en la red
neuronal. En dichas graficas se puede notar que los errores de posicion son muy peque
nos en
el desarrollo del experimento. Las graficas que muestran los errores de identificacion revelan
que la red neuronal pierde la identificacion en las articulaciones 2 y 5 al momento de ser aplicada la perturbacion, sin embargo, es capaz de restablecer su funcionamiento rapidamente.
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
90
0.02
m
0.3
0.02
ep1 0.2
0.1
0.04
0.1
e1
10
20
rad
5
e2
x 10
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
0.5
ep2 0
rad
rad
0.5
10
20
30
Tiempo(seg)
40
50
60
rad
0.5
0.5
e3 0
0.5
ep3
10
20
30
Tiempo(seg)
40
50
0.5
60
0.5
0.6
0.4
e4
ep4 0.2
0
0.5
10
20
30
Tiempo(seg)
40
50
0.2
60
rad
rad
10
20
30
Tiempo(seg)
40
50
60
10
20
30
Tiempo(seg)
40
50
60
0.6
0.4
0.2
e5
0
ep5
10
20
30
Tiempo(seg)
40
50
60
0.2
91
0.15
0.1
q1
0.05
0
10
15
20
25
30
Tiempo(seg)
35
40
45
50
10
15
20
25
30
Tiempo(seg)
35
40
45
50
10
15
20
25
30
Tiempo(seg)
35
40
45
50
rad
0
0.5
q2
1
1.5
rad
1
q3
0.5
0
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
92
rad
1
0.8
0.6
q4
0.4
0.2
0
10
20
30
Tiempo(seg)
40
50
10
20
30
Tiempo(seg)
40
50
rad
1
0.8
0.6
q5
0.4
0.2
0
Los errores de posicion y los errores de identificacion son mostrados en la figura 5.20. En
estas graficas se observa que el control neuronal mantiene las se
nales de error en un valor
muy aceptable incluso cuando se han aplicado se
nales de referencia de una frecuencia considerable.
m 0.04
0.1
0.02
e1
ep1
rad
10
15
20
25
30
Tiempo(seg)
35
40
45
0.2
50
rad
ep2
10
15
20
25
30
Tiempo(seg)
35
40
45
50
10
15
20
25
30
Tiempo(seg)
35
40
45
50
10
15
20
25
30
Tiempo(seg)
35
40
45
50
0.5
200
e2
0.1
0
0.02
93
0.5
200
10
15
20
rad
25
30
Tiempo(seg)
35
40
45
50
rad
1
0.2
0.1
e3
ep3
0.1
0.2
0.5
10
15
20
25
30
Tiempo(seg)
35
40
45
0.5
50
rad 0.2
0.1
e4
0.5
ep4
0.1
0.2
10
rad
20
30
Tiempo(seg)
40
0.5
50
20
30
Tiempo(seg)
40
50
10
20
30
Tiempo(seg)
40
50
0.1
0.5
ep5
0
0.1
0.2
10
rad
0.2
e5
10
20
30
Tiempo(seg)
40
50
0.5
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
94
0.15
0.1
q1
0.05
0
rad
10
15
20
25
30
Tiempo(seg)
35
40
45
50
10
15
20
25
30
Tiempo(seg)
35
40
45
50
10
15
20
25
30
Tiempo(seg)
35
40
45
50
q2
0.5
1
1.5
rad
1.5
1
q3 0.5
0
0.5
95
1
0.8
q4
0.6
0.4
0.2
0
rad
10
20
30
Tiempo(seg)
40
50
10
20
30
Tiempo(seg)
40
50
1
0.8
q5
0.6
0.4
0.2
0
Nm
1
0
u1 1
2
3
Nm
u2
10
15
20
Tiempo(seg)
25
30
35
40
10
15
20
Tiempo(seg)
25
30
35
40
10
15
20
Tiempo(seg)
25
30
35
40
5
Nm
5
u3
Figura 5.26: Se
nales de control u1 , u2 y u3 .
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
96
Nm
u4
10
15
20
Tiempo(seg)
25
30
35
40
10
15
20
Tiempo(seg)
25
30
35
40
Nm
5
u5
Figura 5.27: Se
nales de control u4 , u5 .
En la figura 5.29 se muestran los errores de posicion y los errores de identificacion de la
red neuronal mientras que en la figura 5.28 se muestra la trayectoria rectangular realizada
por el efector final.
0.2
0.15
0.1
0.05
y,yd
0
0.05
0.1
0.15
0.2
0.38
0.4
0.42
0.44
0.46
x,xd
0.48
0.5
0.52
0.54
0.03
0.02
0.1
ep1
e1
0.01
0
rad
0.1
0
10
15
20
25
30
Tiempo(seg)
35
40
45
50
97
10
15
20
25
Tiempo(seg)
30
35
40
10
15
20
25
Tiempo(seg)
30
35
40
10
15
20
25
Tiempo(seg)
30
35
40
rad
0.5
0.2
0.1
e2
ep2
0.1
0.2
rad
0.5
0
10
15
20
0.3
25
30
Tiempo(seg)
35
40
45
50
rad
1
0.2
e3 0.1
0.5
ep3 0
0.1
10
15
20
25
30
Tiempo(seg)
35
40
45
0.5
50
rad 0.1
rad 0.1
0.05
0.05
e4
ep4
0.05
0.1
0.05
10
20
30
Tiempo(seg)
40
0.1
50
10
20
30
Tiempo(seg)
40
50
10
20
30
Tiempo(seg)
40
50
rad
rad
e5
0.1
0.1
0.05
0.05
ep5
0.05
0.1
0.05
10
20
30
Tiempo(seg)
40
50
0.1
98
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
5.2.
Implementaci
on del control neuronal en el prototipo Cinvestav.
La implementacion en tiempo real ha sido llevada a cabo utilizando Real Time Workshop de Matlab/Simulink con un periodo de muestreo de 0.005 seg. Matlab tiene todas las
herramientas necesarias para establecer la comunicacion con la tarjeta de adquisicion de
datos NI 6024E. Un compilador de lenguaje C es necesario para utilizar el Simulink en modo
externo, esto es debido a que Matlab convierte el modelo creado en Simulink en un programa en C. Para esta implementacion se utiliza el Matlab 7.1 y el Microsoft Visual C/C++
version 6.0. Es necesario tener al menos esta version de Matlab ya que las anteriores no compilan en tiempo real los bloques de codigo embebido utilizados para construir la red neuronal.
Para estos experimentos se utilizaron las 4 articulaciones revolutivas del robot (Fig: 5.31).
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
100
11
21
W1 =
31
41
51
61
W2 =
71
81
52
62
72
82
12
22
32
42
53
63
73
83
13
23
33
43
54
64
74
84
14
24
34
44
55
65
75
85
0
0
0
0
0
0
0
0
56
66
76
86
0
0
0
0
57
67
77
87
0
0
0
0
58
68
78
88
T
25sin(0. 5t) 180
25sin(0. 5t) 180
25sin(0. 5t) 180
qd = 25sin(0. 5t) 180
rad
1
0
qi
q2 1
qdi
2
3
rad
X1i
0
10
12
Tiempo(seg)
14
16
18
20
10
12
Tiempo(seg)
14
16
18
20
1
0
q3
1
2
3
En las figuras 5.32 y 5.33 se muestran los resultados obtenidos en este experimento. En
estas graficas se observa que los errores de seguimiento se mantienen en un margen aceptable
y que la red neuronal mantiene la identificacion satisfactoriamente durante la realizacion del
experimento.
En este experimento la red neuronal y el robot tienen condiciones iniciales diferentes.
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
102
q4
rad
1
0
1
2
3
rad
10
12
Tiempo(seg)
q5
14
16
18
20
10
12
Tiempo(seg)
14
16
18
20
1
0
1
2
3
rad
0.5
X1i
0
q2
qd
0.5
1
1.5
2
10
15
20
Tiempo(seg)
25
30
35
10
15
20
Tiempo(seg)
25
30
35
rad
0.5
0
q3
0.5
rad
1.5
1
q4 0.5
0
0.5
1
rad
10
15
20
Tiempo(seg)
25
30
35
10
15
20
Tiempo(seg)
25
30
35
1.5
1
0.5
q5
0
0.5
1
Las se
nales de referencia utilizadas son tales que el efector final del robot sigue una trayectoria circular en el plano XY. El experimento fue llevado a cabo durante 35 segundos. El
radio del crculo es de 7. 5 cm mientras que su centro se localiza en la coordenada (0.4m,0m)
respecto la base del robot.
En las graficas anteriores se observa que la segunda articulacion presenta un mayor error de
seguimiento.
EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION
104
rad
qi
X1i
qd
q2 1
2
3
rad
10
20
30
Tiempo(seg)
40
50
10
20
30
Tiempo(seg)
40
50
1
0.5
q3
0.5
1
rad
2
1
q4
0
1
0
10
20
30
Tiempo(seg)
40
50
10
20
30
Tiempo(seg)
40
50
rad
2
1
q5
0
1
Captulo 6
Conclusiones y trabajo futuro
6.1.
Conclusiones
En esta memoria de tesis se utilizaron cuatro leyes de control para llevar a cabo el
seguimiento de trayectoria en un manipulador robotico de cinco grados de libertad. Los
experimentos realizados dieron resultados muy interesantes. A nivel simulacion, la regulacion
lineal mostro un desempe
no aceptable en una region cercana al punto de equilibrio, ademas,
las magnitudes de las se
nales de control empleadas son muy bajas y no presentan chattering.
Sin embargo, la necesidad de un exosistema antiestable de las se
nales de referencia limita el
tipo de trayectorias que el robot puede seguir en cada una de sus articulaciones, es decir,
se
nales constantes y se
nales armonicas (senos y cosenos).
El control dise
nado con la tecnica de backstepping sobre el modelo dinamico permite obtener
una dinamica del error en lazo cerrado con un punto de equilibrio asintoticamente estable.
Sin embargo, los resultados muestran que las ganancias utilizadas en este controlador K1 y
K2 pueden provocar un incremento en la magnitud de las se
nales de control requeridas para
realizar el seguimiento de trayectoria.
Por otro lado, el control adaptativo fue capaz de realizar el seguimiento de trayectoria sin
la necesidad de conocer los parametros reales que intervienen en la ecuacion dinamica del
robot. Las se
nales de control empleadas son de una magnitud muy aceptable que pueden ser
producidas facilmente en la vida real por un actuador. Sin embargo, la ley de adaptacion
parametrica utilizada aumenta la demanda computacional del algoritmo completo.
A nivel simulacion, el control neuronal presenta un buen seguimiento de trayectoria incluso cuando se aplican cambios parametricos muy grandes en el modelo dinamico. La ley de
aprendizaje utilizada no representa una demanda computacional muy grande y puede ser
programada facilmente en cualquier software. Las se
nales de control presentaron algunas
oscilaciones al inicio de cada experimento, sin embargo la importancia de este controlador
radica en el hecho de que no esta basado en el conocimiento del modelo dinamico del robot.
105
106
En lo que respecta a la implementacion en tiempo real, una tecnica de control que no este
basada en el conocimiento del modelo dinamico es la mejor opcion. En este trabajo de tesis las
redes neuronales ofrecieron una solucion muy confiable para realizar seguimiento de trayectoria en tiempo real. Las tecnicas de Backstepping y regulacion lineal mostraron buenos
resultados a nivel simulacion, sin embargo sera muy difcil implementar estas leyes de control en tiempo real debido a que en un robot de tantos grados de libertad como el estudiado
participan una gran cantidad de parametros desconocidos, por ejemplo tensores de inercia,
coeficientes de friccion, etc. El control adaptativo puede ser una buena opcion para controlar
en tiempo real el robot. Sin embargo, a pesar de que no se requiere conocer los parametros
reales de la ecuacion dinamica, se requiere que la ecuacion presentada en el Captulo 4 describa exactamente la dinamica del robot. Esto es una desventaja debido a que no se consideran
dinamicas no modeladas que en la vida real existen, por ejemplo las debidas a los juegos
mecanicos en las articulaciones.
El control neuronal propuesto presenta un comportamiento muy confiable en tiempo real
considerando el n
umero de grados de libertad con los que se trabajo, sin embargo es necesario
considerar que al incrementar el n
umero de neuronas utilizadas se incrementa la complejidad
computacional requerida y por lo tanto se incrementa el n
umero de operaciones que se deben
realizar en cada periodo de muestreo. Por otra parte, el modelo neuronal fue dise
nado en el
dominio del tiempo continuo y fue implementado sin la necesidad de proponer un modelo
neuronal discreto. Esto es valido si los dispositivos electronicos utilizados son capaces de
trabajar a gran velocidad. En las dos implementaciones realizadas el tiempo de muestreo de
5 milisegundos fue suficiente para esta aplicacion. En el caso del robot ANAT la arquitectura
XPC Target es capaz de trabajar a grandes velocidades al igual que la tarjeta de adquisicion
de datos utilizada por el prototipo Cinvestav. En ambas interfaces, los microcontroladores
no introducen retardos ni tiempos muertos de respuesta considerables.
6.2.
Trabajo futuro
Como trabajo futuro de este proyecto de tesis se planea mejorar algunos aspectos mecanicos
del robot construido para mejorar su comportamiento en tiempo real y hacerlo mas versatil.
En el futuro el prototipo del Cinvestav contara con un efector final capaz de realizar alguna tarea industrial, por ejemplo soldar, taladrar o atornillar. La interfaz electronica es otro
aspecto que se puede mejorar de tal manera que el costo total del robot se reduzca, por
ejemplo es posible sustituir el uso de la tarjeta de adquisicion de datos por un protocolo de
comunicacion serial.
Otro objetivo a futuro es trabajar sobre tecnicas de control discontinuas utilizando la teora
de modos deslizantes y llevar a cabo la implementacion en tiempo real programando un DSP
para lograr periodos de muestreo tan peque
nos como se requieran.
Ap
endice A
Modelo din
amico del robot de 5 DOF
El modelo dinamico del robot de 5 DOF (Fig.4.8) es descrito por la siguiente ecuacion
= M (q)
q + V (q, q)
+ Fg (q) + Ff (q, q)
En forma matricial
1
m11 m12
2 m12 m22
3 = m13 m23
4 m14 m24
5
m15 m25
(A.1)
m33 m34 m35 q3 +V3 +Fg3 + 0
0 ff 3 0
0
q3
m34 m44 m45 q4 V4 Fg4 0
0
0 ff 4 0 q4
m35 m45 m55
q5
V5
fg5
0
0
0
0 ff 5
q5
A continuacion se presentan los terminos que conforman la ecuacion dinamica (A.1); estos
fueron obtenidos implementando el metodo de Lagrange [6] en un programa elaborado en el
software Maple.
Elementos de la matriz de inercias M (q):
m11
m12
m13
m14
m15
= m1 + m2 + m3 + m4 + m5
=0
=0
=0
=0
APENDICE
A. MODELO DINAMICO
DEL ROBOT DE 5 DOF
108
= (m1 + m2 + m3 + m4 + m5 )g
=0
=0
=0
=0
V1 = 0
V2 = L(Lx5 m5 (q3 + q4 + q5 )(q3 + q5 +2 q2 + q4 )sin(q3 + q4 + q5 ) + (q3 + q4 )(q3 + q4 +2
q2 )(m4 Lx4 + Lm5 )sin(q3 + q4 ) + 2(q5 /2 + q3 + q2 + q4 /2)(q4 + q5 )Lx5 m5 sin(q4 + q5 ) + q3 (Lm5 +
m4 L + Lx3 m3 )(2 q2 + q3 )sin(q3 ) + 2(q3 + q2 + q4 /2)q4 (m4 Lx4 + Lm5 )sin(q4 ) + 2q5 (q5 /2 + q4 +
q3 + q2 )sin(q5 )Lx5 m5 )
109
V3 = (m5 sin(q2 )q2 Lx5 (q2 + q3 + q4 + q5 )cos(q2 + q3 + q4 + q5 ) m5 cos(q2 )q2 Lx5 (q2 + q3 + q4 +
q5 )sin(q2 +q3 +q4 +q5 )cos(q2 )q2 (q2 + q3 + q4 )(m4 Lx4 +Lm5 )sin(q2 +q3 +q4 )+sin(q2 )q2 (q2 +
q3 + q4 )(m4 Lx4 + Lm5 )cos(q2 + q3 + q4 ) + m5 Lx5 q2 (q3 + q4 + q5 )sin(q3 + q4 + q5 ) + 2(q5 /2 +
q3 + q2 + q4 /2)(q4 + q5 )Lx5 m5 sin(q4 + q5 ) cos(q2 )q2 (Lm5 + m4 L + Lx3 m3 )(q2 + q3 )sin(q2 +
q3 ) + sin(q2 )q2 (Lm5 + m4 L + Lx3 m3 )(q2 + q3 )cos(q2 + q3 ) + q2 (q3 + q4 )(m4 Lx4 + Lm5 )sin(q3 +
q4 ) + 2(q3 + q2 + q4 /2)q4 (m4 Lx4 + Lm5 )sin(q4 ) + 2q5 (q5 /2 + q4 + q3 + q2 )sin(q5 )Lx5 m5 +
q3 q2 sin(q3 )(Lm5 + m4 L + Lx3 m3 ))L
V4 = L((q2 + q3 + q4 + q5 )((q2 + q3 )sin(q2 +q3 )+sin(q2 )q2 )Lx5 m5 cos(q2 +q3 +q4 +q5 )((q2 +
q3 )cos(q2 +q3 )+ q2 cos(q2 ))(q2 + q3 + q4 + q5 )Lx5 m5 sin(q2 +q3 +q4 +q5 )((q2 + q3 )cos(q2 +q3 )+
q2 cos(q2 ))(m4 Lx4 + Lm5 )(q2 + q3 + q4 )sin(q2 + q3 + q4 ) + (m4 Lx4 + Lm5 )((q2 + q3 )sin(q2 +
q3 ) + sin(q2 )q2 )(q2 + q3 + q4 )cos(q2 + q3 + q4 ) + m5 Lx5 q2 (q3 + q4 + q5 )sin(q3 + q4 + q5 ) +
Lx5 m5 (q4 + q5 )(q2 + q3 )sin(q4 + q5 ) + q2 (q3 + q4 )(m4 Lx4 + Lm5 )sin(q3 + q4 ) + q4 (m4 Lx4 +
Lm5 )(q2 + q3 )sin(q4 ) + 2q5 (q5 /2 + q4 + q3 + q2 )sin(q5 )Lx5 m5 )
V5 = L((q2 + q3 + q4 + q5 )((q2 + q3 + q4 )sin(q2 +q3 +q4 )+(q2 + q3 )sin(q2 +q3 )+sin(q2 )q2 )cos(q2 +
q3 + q4 + q5 ) (q2 + q3 + q4 + q5 )((q2 + q3 + q4 )cos(q2 + q3 + q4 ) + (q2 + q3 )cos(q2 + q3 ) +
q2 cos(q2 ))sin(q2 + q3 + q4 + q5 ) + q2 (q3 + q4 + q5 )sin(q3 + q4 + q5 ) + (q2 + q3 )(q4 + q5 )sin(q4 +
q5 ) + sin(q5 )q5 (q2 + q3 + q4 ))m5 Lx5
A cotinuacion se muestran los parametros utilizados en las simulaciones presentadas en este
trabajo de tesis.
L1 = 0. 096m
L = 0. 112m
L2 = 0. 112m
Lx1 = 0. 096m
Lx2 = 0. 112m
Lx3 = 0. 112m
Lx4 = 0. 112m
Lx5 = 0. 112m
m1 = 1. 2Kg
m2 = 0. 9Kg
m3 = 0. 9Kg
m4 = 0. 9Kg
m5 = 0. 9Kg
ff 1 = 0. 2Kg/seg
ff 2 = 0. 1Kg/seg
ff 3 = 0. 1Kg/seg
ff 4 = 0. 1Kg/seg
ff 5 = 0. 1Kg/seg
Iz1 = 0. 5Kgm2
Iz2 = 0. 5Kgm2
Iz3 = 0. 5Kgm2
Iz4 = 0. 5Kgm2
Iz5 = 0. 5Kgm2
g = 9. 82m/seg 2
Ap
endice B
Par
ametros utilizados en los
experimentos realizados.
CONTROL ADAPTATIVO.
La matrix W <517 para la ley de adaptacion 3.23 fue obtenida por medio de un programa elaborado en el software Maple, los elementos de esta matriz son los siguientes:
w11 = qR 1 + g
w12 = qR 1 + g
w13 = qR 1 + g
w14 = qR 1 + g
w23 = L2 qR 2
w15 = qR 1 + g
w36 = Lcos(q3 )qR 2 + Lsin(q3 )q2 qR 2
w29 = qR 2
w210 = qR 2 + qR 3
w310 = qR 2 + qR 3
w211 = qR 2 + qR 3 + qR 4
w311 = qR 2 + qR 3 + qR 4
w411 = qR 2 + qR 3 + qR 4
w212 = qR 2 + qR 5 + qR 3 + qR 4
w312 = qR 2 + qR 5 + qR 3 + qR 4
w412 = qR 2 + qR 5 + qR 3 + qR 4
w512 = qR 2 + qR 5 + qR 3 + qR 4
w113 = qR 1
w214 = qR 2
w315 = qR 3
111
112APENDICE
B. PARAMETROS
UTILIZADOS EN LOS EXPERIMENTOS REALIZADOS.
w416 = qR 4
w517 = qR 5
w24 = 2qR 2 L2 cos(q3 ) + 2L2 qR 2 + qR 3 L2 cos(q3 ) + L2 qR 3 qR 3 q3 L2 sin(q3 ) qR 3 L2 sin(q3 )q2
q3 L2 sin(q3 )qR 2
w34 = L2 qR 3 + qR 2 L2 cos(q3 ) + L2 qR 2 + L2 sin(q3 )q2 qR 2
w25 = qR 4 sin(q3 + q4 )L2 q3 qR 4 q4 sin(q3 + q4 )L2 qR 3 q3 L2 sin(q3 ) qR 3 sin(q3 + q4 )L2 q3
qR 3 q4 sin(q3 +q4 )L2 qR 3 q2 sin(q3 +q4 )L2 qR 3 q2 L2 sin(q3 )qR 4 q2 sin(q3 +q4 )L2 +2qR 2 L2 cos(q3 )
q3 L2 sin(q3 )qR 2 L2 qR 2 sin(q3 + q4 )q3 L2 qR 2 sin(q3 + q4 )q4 L2 qR 2 q4 sin(q4 ) + 2qR 2 L2 cos(q3 +
q4 ) + 2qR 2 L2 cos(q4 ) 2q4 sin(q4 )L2 qR 3 + qR 3 L2 cos(q3 ) + qR 3 L2 cos(q3 + q4 ) + L2 qR 4 + 2L2 qR 3 +
qR 4 L2 cos(q3 + q4 ) qR 4 q4 sin(q4 )L2 qR 4 sin(q4 )L2 q2 +3 L2 qR 2 + 2qR 3 L2 cos(q4 ) + qR 4 L2 cos(q4 )
w35 = qR 2 L2 cos(q3 ) + 2L2 qR 2 + qR 2 L2 cos(q3 + q4 ) + 2qR 2 L2 cos(q4 ) + q2 qR 2 sin(q3 + q4 )L2 +
L2 sin(q3 )q2 qR 2 qR 4 sin(q4 )L2 q3 qR 4 q4 sin(q4 )L2 2qR 4 sin(q4 )L2 q2 q4 sin(q4 )L2 qR 3 +2L2 qR 3 +
2qR 3 L2 cos(q4 ) + L2 qR 4 + qR 4 L2 cos(q4 )
w45 = L2 qR 3 + qR 3 L2 cos(q4 ) + qR 2 L2 cos(q3 + q4 ) + qR 2 L2 cos(q4 ) + L2 qR 2 + q2 qR 2 sin(q3 +
q4 )L2 + qR 2 q2 sin(q4 )L2 + 2qR 3 q2 sin(q4 )L2 + qR 3 sin(q4 )L2 q3 + L2 qR 4
w26 = Lcos(q3 )qR 3 + 2Lcos(q3 )qR 2 qR 3 Lsin(q3 )q2 qR 3 q3 Lsin(q3 ) q3 Lsin(q3 )qR 2
w27 = 2qR 2 Lcos(q3 + q4 ) + 2qR 2 Lcos(q4 ) 2q4 sin(q4 )LqR 3 qR 3 sin(q3 + q4 )Lq2 qR 3 q3 sin(q3 +
q4 )L qR 3 q4 sin(q3 +q4 )L+ qR 4 Lcos(q3 +q4 )+Lcos(q4 )qR 4 + qR 3 Lcos(q3 +q4 )+2Lcos(q4 )qR 3
qR 4 q4 sin(q3 +q4 )L qR 4 q4 sin(q4 )L qR 4 sin(q3 +q4 )Lq2 qR 4 q2 sin(q4 )L qR 4 q3 sin(q3 +q4 )L
LqR 2 sin(q3 + q4 )q3 LqR 2 sin(q3 + q4 )q4 LqR 2 q4 sin(q4 )
w37 = qR 2 Lcos(q3 + q4 ) + 2qR 2 Lcos(q4 ) qR 4 q4 sin(q4 )L 2qR 4 q2 sin(q4 )L qR 4 sin(q4 )Lq3
q4 sin(q4 )LqR 3 + 2Lcos(q4 )qR 3 + Lcos(q4 )qR 4 + sin(q3 + q4 )Lq2 qR 2
w47 = qR 2 Lcos(q3 + q4 ) + qR 2 Lcos(q4 ) + 2qR 3 sin(q4 )Lq2 + qR 3 sin(q4 )Lq3 + Lcos(q4 )qR 3 +
sin(q3 + q4 )Lq2 qR 2 + qR 2 sin(q4 )Lq2
w28 = LqR 4 cos(q3 + q4 + q5 ) + LqR 4 cos(q4 + q5 ) LqR 2 sin(q3 + q4 + q5 )q3 LqR 2 sin(q4 +
q5 )q5 LqR 5 sin(q3 + q4 + q5 )q5 LqR 5 q5 sin(q5 ) LqR 5 sin(q4 + q5 )q5 LqR 5 sin(q3 + q4 +
q5 )q3 LqR 5 sin(q4 + q5 )q4 LqR 5 q2 sin(q4 + q5 ) LqR 5 q2 sin(q5 ) LqR 5 sin(q3 + q4 + q5 )q4
LqR 5 sin(q3 +q4 +q5 )q2 LqR 2 sin(q4 +q5 )q4 LqR 2 sin(q3 +q4 +q5 )q4 LqR 2 sin(q3 +q4 +q5 )q5 +
LqR 3 cos(q3 + q4 + q5 ) LqR 2 q5 sin(q5 ) + 2qR 2 Lcos(q5 ) + 2qR 2 Lcos(q4 + q5 ) 2Lsin(q5 )q5 qR 4 +
LqR 5 cos(q3 + q4 + q5 ) + LqR 5 cos(q4 + q5 ) + 2qR 3 Lcos(q5 ) + 2qR 3 Lcos(q4 + q5 ) + Lcos(q5 )qR 5 +
2qR 2 Lcos(q3 + q4 + q5 ) + 2Lcos(q5 )qR 4 LqR 3 sin(q3 + q4 + q5 )q3 LqR 3 sin(q3 + q4 + q5 )q2
113
2LqR 3 q5 sin(q5 ) LqR 3 sin(q3 + q4 + q5 )q5 2LqR 3 sin(q4 + q5 )q5 LqR 3 sin(q3 + q4 + q5 )q4
2qR 3 Lsin(q4 + q5 )q4 qR 4 q4 Lsin(q3 + q4 + q5 ) qR 4 Lsin(q4 + q5 )q4 qR 4 Lsin(q3 + q4 + q5 )q2
qR 4 q2 Lsin(q4 + q5 ) qR 4 Lsin(q3 + q4 + q5 )q3 qR 4 q5 Lsin(q4 + q5 ) qR 4 q5 Lsin(q3 + q4 + q5 )
w38 = qR 4 Lsin(q4 + q5 )q4 2qR 4 q2 Lsin(q4 + q5 ) qR 4 q3 Lsin(q4 + q5 ) 2Lsin(q5 )q5 qR 4
2qR 4 q5 Lsin(q4 + q5 ) + 2qR 2 Lcos(q4 + q5 ) + qR 2 Lcos(q3 + q4 + q5 ) + 2qR 2 Lcos(q5 ) + Lsin(q3 +
q4 + q5 )q2 qR 2 qR 3 Lsin(q4 + q5 )q4 LqR 3 sin(q4 + q5 )q5 LqR 3 q5 sin(q5 ) + 2qR 3 Lcos(q4 +
q5 ) + 2qR 3 Lcos(q5 ) + Lcos(q5 )qR 5 + LqR 5 cos(q4 + q5 ) 2LqR 5 q2 sin(q5 ) 2LqR 5 q2 sin(q4 + q5 )
qR 5 Lsin(q4 + q5 )q3 qR 5 q3 Lsin(q5 ) LqR 5 sin(q4 + q5 )q5 LqR 5 q5 sin(q5 ) + LqR 4 cos(q4 + q5 ) +
2Lcos(q5 )qR 4
w48 = qR 2 Lcos(q3 + q4 + q5 ) + qR 2 Lcos(q4 + q5 ) + 2qR 2 Lcos(q5 ) + Lsin(q3 + q4 + q5 )q2 qR 2 +
qR 2 Lsin(q4 + q5 )q2 Lsin(q5 )q5 qR 4 + 2qR 3 Lsin(q4 + q5 )q2 + qR 3 Lsin(q4 + q5 )q3 + LqR 3 sin(q4 +
q5 )q5 + qR 3 Lcos(q4 + q5 ) + 2qR 3 Lcos(q5 ) 2LqR 5 q2 sin(q5 ) 2qR 5 q3 Lsin(q5 ) qR 5 Lsin(q4 +
q5 )q3 LqR 5 q5 sin(q5 ) qR 5 q4 Lsin(q5 ) + Lcos(q5 )qR 5 + 2Lcos(q5 )qR 4
w58 = qR 2 Lcos(q5 )+qR 2 Lcos(q4 +q5 )+qR 2 Lcos(q3 +q4 +q5 )+2qR 4 Lsin(q5 )q2 +2qR 4 q3 Lsin(q5 )+
qR 4 q3 Lsin(q4 +q5 )+ qR 4 q4 Lsin(q5 )+ qR 3 Lcos(q5 )+ qR 3 Lcos(q4 +q5 )+Lsin(q3 +q4 +q5 )q2 qR 2 +
qR 2 Lsin(q4 + q5 )q2 + q2 qR 2 Lsin(q5 ) + Lcos(q5 )qR 4 + 2qR 3 Lsin(q5 )q2 + 2qR 3 Lsin(q4 + q5 )q2 +
qR 3 q3 Lsin(q5 ) + qR 3 Lsin(q4 + q5 )q3 qR 3 Lsin(q4 + q5 )q4
Los siguientes elementos tienen un valor de cero:
{w21 , w31 , w41 , w51 , w22 , w32 , w42 , w52 , w33 , w43 ,w53 , w44 , w54 ,w55 , w16 , w46 , w56 , w17 , w19 ,
w57 , w18 , w39 , w49 , w59 , w110 , w410 , w510 , w111 , w511 , w112 , w213 , w313 , w413 , w513 , w114 , w314 ,
w414 , w514 , w115 , w215 , w415 , w515 , w116 , w216 , w316 , w516 , w117 , w217 , w317 , w417 }= 0.
Otras matrices utilizadas en el control adaptativo son:
5 0
0
0
0
0 2. 5 0
0
0
0
0
2.
5
0
0
=
0 0
0 2. 5 0
0 0
0
0 2. 5
10 0 0 0 0
0 10 0 0 0
0
0
10
0
0
KD =
0 0 0 10 0
0 0 0 0 10
114APENDICE
B. PARAMETROS
UTILIZADOS EN LOS EXPERIMENTOS REALIZADOS.
CONTROL NEURONAL.
Se presentan los valores de las matrices de la ley de aprendizaje 3.31 que fueron utilizados en las simulaciones presentadas y en la implementacion en tiempo real.
Simulaciones.
La red neuronal tiene diez estados, por lo que diez matrices 1, 2, ..., 10 <1010 fueron
utilizadas. A continuacion se presentan los valores utilizados para los elementos de estas matrices. Los elementos no mencionados tienen un valor de cero.
111
211
222
233
244
255
322
333
344
355
422
433
444
455
522
533
544
555
611
666
711
722
733
744
755
766
777
= 1000
= 100
= 500
= 100
= 100
= 100
= 100
= 500
= 100
= 100
= 100
= 100
= 500
= 100
= 100
= 100
= 100
= 500
= 100000000
= 100000000
= 100
= 10000
= 10000
= 10000
= 10000
= 100
= 10000
799 = 10000
81010 = 10000
822 = 10000
833 = 10000
844 = 10000
855 = 10000
877 = 10000
888 = 10000
899 = 10000
81010 = 10000
922 = 100
933 = 10000
944 = 10000
955 = 10000
977 = 10000
988 = 10000
999 = 10000
91010 = 10000
1022 = 10000
1033 = 10000
1044 = 10000
1055 = 10000
1077 = 10000
1088 = 10000
1099 = 10000
101010 = 10000
788 = 10000
115
Implementaci
on en tiempo Real.
Para la implementacion en tiempo real se utilizaron los siguientes valores.
111
211
222
233
244
255
322
333
344
355
422
433
444
455
522
533
544
555
611
666
711
722
733
744
755
766
777
= 100000
= 100
= 100000
= 100000
= 100000
= 100
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100000
= 100
= 100000
= 100000
= 100000
= 100
= 100000
= 100000
799 = 100000
81010 = 100000
822 = 100000
833 = 100000
844 = 100000
855 = 100000
877 = 100000
888 = 100000
899 = 100000
81010 = 100000
922 = 100000
933 = 100000
944 = 100000
955 = 100000
977 = 100000
988 = 100000
999 = 100000
91010 = 100000
1022 = 100000
1033 = 100000
1044 = 100000
1055 = 100000
1077 = 100000
1088 = 100000
1099 = 100000
101010 = 100000
788 = 100000
Ap
endice C
Simulaci
on virtual en
Matlab/Simulink
En el mundo de la robotica no basta con tener la evolucion en el tiempo de las se
nales de
posicion y velocidad para entender el movimiento del robot. Un bosquejo grafico que muestre
como se movera el robot con una determinada trayectoria sera muy u
til para apreciar detalladamente el movimiento de cada articulacion del robot. Es por este motivo que se ha
desarrollado una simulacion virtual que muestra en 3D el movimiento de nuestro robot. Esta
simulacion virtual ha sido elaborada en Matlab/Simulink utilizando el toolbox de Realidad
virtual. A grandes rasgos, esta herramienta de Matlab permite un utilizar un dise
no en 3D
elaborado en otro software como AutoCAD, Solid Works o 3DMAX para darle animacion utilizando las variables generadas por una simulacion com
un y corriente en Simulink (Fig:C.1).
118
VIRTUAL EN MATLAB/SIMULINK
APENDICE
C. SIMULACION
A continuacion se presentan algunas visualizaciones obtenidas con esta herramienta virtual. Se presentan simulaciones virtuales tanto para el ANAT como para nuestro robot de 5
DOF.
Esquina 1
Esquina 2
119
Esquina 3
Esquina 4
120
VIRTUAL EN MATLAB/SIMULINK
APENDICE
C. SIMULACION
Punto inicial
121
Matlab utiliza el programa V-Realm Builder 2.0 para realizar estas animaciones (Fig:C.5
y Fig:C.6). Cabe mencionar que este tipo de animaciones muestran u
nicamente el movimiento
del robot sin reproducir su velocidad real.
Figura C.5: Construccion del bloque virtual en V-Realm Builder 2.0 (ANAT)
Figura C.6: Construccion del bloque virtual en V-Realm Builder 2.0 (5DOF)
Bibliografa
[1] Slotine Asada. Robot Analysis and Control. John Wiley & Sons, USA, 1986.
[2] John Baillieul. Avoiding obstacles ans resolving kinematic redundancy. John Wiley and
Sons, pages 17, 1986.
[3] Bojan Nemec and Leon Zlajpah. Force control of redundant robots in unstructured
environment. IEEE Transactions on Industrial Electronics. February 2002, vol. 49,
pages 233-241.
[4] Brice Le Boudec, Maarouf Saad, and Vahe Nerguizian. Adaptive control of redundant
robots. Adaptive Control and Signal Processing, pages 18, 2001.
[5] Carlos Canudas de Wit, Bruno Siciliano, and Georges Bastin. Theory of Robot Control.
Springer, Great Britain, 1997.
[6] John J Craig. Introduction to Robotics: Mechanics and Control. Addison Wesley, Massachussets, 1986.
[7] E. Tatlicioglu, M. McIntyre, D. Dawson, and I. Walker. Adaptive nonlinear tracking
control of kinematically redundant robot manipulators with sub-task extensions. 44th
IEEE Conference on Decision and Control. Seville, Spain, 2005, vol. 3, pages 4373-4377.
[8] Erkan Zergeroglu, Darren D.Dawson, Ian W.Walker, and Pradeep Setlur. Nonlinear
tracking control of kinematically redundant robots manipulators. IEEE, ASME Transactions on Mechatronics. March 2004, vol. 9, pages 129-132.
[9] Gaytan A., Sanchez E., and Maarouf S. Decentralized neural identification and control
for robotics manipulators. International Symposium on Intelligent Control, pages 1614
1619, 2006.
[10] George A. Rovithakis and Manolis A. Christodoulou. Adaptive Control with Recurrent
High-Order Neural Networks. Springer-Verlag, London, Great Britain, 2000.
123
124
BIBLIOGRAFIA
[11] S. Haykin. Neural Networks: a comprehensive foundation. Prentice Hall, New Jersey,
USA, 1999.
[12] S. Haykin. Kalman Filtering and Neural Networks. John Wiley & Sons, NY, USA, 2001.
[13] Alberto Isidori. Nonlinear Control Systems. Springer-Verlag, Heidelberg, Great Britain,
1985.
[14] Yaochu Jin. Decentralized adaptive fuzzy control of robot manipulators. IEEE Transactions on Systems, Man, and Cybernetics. February 1998, vol. 28, pages 47-57.
[15] Hassan K. Khalil. Nonlinear Systems. Prentice Hall, Upper Saddle River, New Jersey,
1996.
[16] L Zlajpah and B. Nemec. Kinematics control algorithms for on-line avoidance for redundant manipulators. IEEE/RSJ International Conference on Intelligent Robots and
Systems EPFL. Lausanne, Switzerland,Octuber 2002, pages 1898-1903.
[17] Andres Canovas Lopez. C Compile for Microchip PICMicros. USA, 2000.
[18] M. Saad, L. A. Dessaint, and P. Bigrasand K. Al-Haddad. Adaptive versus neural
adaptive control: application to robotics. International Journal of Adaptive Control and
Signal Processing. 1994, vol. 8, pages 223-236.
[19] Meng Joo and Yang Gao. Robust adaptive control of robot manipulators using generalized fuzzy neural networks. IEEE Transactions on Industrial Electronics. June 2003,
vol. 50, pages 620-629.
[20] Pradeep Khosla and Richard Volpe. Superquadric artificial potencials for obstacle avoidance and approach. IEEE Conference on Decision and Control. 1988, pages 1778-1784.
[21] R. Sepulchre, M.Jankovic, and P.V. Kokotovic.
Springer-Verlag London, Great Britain, 1997.
[22] Sadao Kawamura and Mikhail Svinin. Advances in Robot Control. Springer, USA, 2006.
[23] Vadim Utkin, Jurgen Guldner, and Jingxin Shi. Sliding Mode Control in Electromechanical Systems. Taylor and Francis, London, 1999.