Sei sulla pagina 1di 142

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

Para obtener el ttulo de:


Maestro en Ciencias

Con especialidad en:


Ingeniera El
ectrica
Guadalajara, Jalisco.

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

Para obtener el ttulo de:


Maestro en Ciencias

Con especialidad en:


Ingeniera El
ectrica

Directores de Tesis
Dr. Bernardino Castillo Toledo
Dr. Maarouf Saad

Guadalajara, Jalisco.

Febrero de 2009

Tesis de Maestra en Ciencias en Ingeniera El


ectrica

Presentada por:
Ing. Antonio Flores Quintero

Para obtener el ttulo de:


Maestro en Ciencias

Con especialidad en:


Ingeniera El
ectrica

Dr. Bernardino Castillo Toledo


Director de Tesis

Dr. Maarouf Saad


Codirector de Tesis

Dr. Alexander Georgievich


Loukianov
Sinodal

Dr. Eduardo Bayro Corrochano


Sinodal

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.

A mis amigos Fernando Ornelas,


Esteban Abelardo Hernandez, Miguel Hernandez, Jose Mara
Cordoba, Jose Canche, Vctor Barajas, Diana Urrego, Graciela Sandoval, Jose Fernando

Garca, David Gomez, Sergio Arellano, Alvaro


Oceguera, Antonio Magallon, Manuel Dehesa,
Jes
us Antonio Argaez, Vctor Ramon Juarez, Juan Jose Bernabe, Jorge Almejo, Alfredo Tovar, Ignacio Nila, Juan Carlos Aceves y todas las personas que me han brindado su amistad
durante estos a
nos.

A la Escuela de Tecnologa Superior (ETS), Universidad de Quebec, Canada; un especial


agradecimiento por permitirme utilizar sus instalaciones para el desarrollo de este proyecto
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

Vector en el espacio de articulaciones (joint space vector ) de <n


Vector de referencias en <n del espacio de articulaciones
Vector de posicion y orientacion del efector final en <m
Matriz de transformacion que relaciona dos sistemas de coordenadas
cos(i + j ) y sin(i + j ) respectivamente
Longitudes de los eslabones del robot
Parametros Denavit-Hartenberg del robot
Vector de multiplicadores de Lagrange
Matriz jacobiana de <mn para la cinematica del robot
Inversa derecha de Penrose para J(q)
Vector de torques aplicados en las articulaciones del robot
Matriz asociada a la dinamica del robot
Vector de parametros desconocidos
Funcion sigmoidal (tanh())
Vector de funciones sigmoidales de <L
Matrices de pesos adaptables de la red neuronal
Errores de seguimiento en la red neuronal
Tabla 1: Lista de smbolos utilizados en esta tesis.

Indice general
1. Introducci
on

1.1. Introduccion al problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3. Organizacion de la tesis

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Cinem
atica del robot

2.1. Cinematica directa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.1. Algoritmo DH modificado . . . . . . . . . . . . . . . . . . . . . . . .

2.2. Cinematica Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.1. Solucion de la cinematica inversa utilizando la matriz Jacobiana . . .

10

2.2.2. Solucion modificada de la cinematica inversa . . . . . . . . . . . . . .

11

2.3. Aplicacion al robot de 5 DOF . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.3.1. Solucion de la cinematica inversa para posicionar el efector final en un


punto fijo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

3.1. Modelo matematico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.2. Regulacion Lineal alrededor de un punto de equilibrio. . . . . . . . . . . . .

25

3.2.1. El problema de la regulacion lineal . . . . . . . . . . . . . . . . . . .

25

vii

INDICE GENERAL

viii

3.2.2. Aplicacion al robot de 5 DOF . . . . . . . . . . . . . . . . . . . . . .

27

3.3. Backstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

3.4. Control Adaptativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

3.5. Control neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

3.5.1. Identificacion de sistemas utilizando redes neuronales recu-rrentes de


alto orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

3.5.2. Propiedades de aproximacion utilizando RHONN . . . . . . . . . . .

46

3.5.3. Aprendizaje con error filtrado . . . . . . . . . . . . . . . . . . . . . .

46

3.5.4. Aplicacion al robot de 5 DOF . . . . . . . . . . . . . . . . . . . . . .

49

3.5.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

3.6. Discusion de las tecnicas de control utilizadas . . . . . . . . . . . . . . . . .

60

4. Dise
no y construcci
on

61

4.1. Dise
no del robot

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

4.2. Interface electronica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

4.2.1. Multiplexaje y Demultiplexaje . . . . . . . . . . . . . . . . . . . . . .

67

4.2.2. Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

5. Implementaci
on en tiempo real

73

5.1. Implementacion del control neuronal en el robot ANAT . . . . . . . . . . . .

73

5.1.1. Resultados en el robot ANAT . . . . . . . . . . . . . . . . . . . . . .

76

5.2. Implementacion del control neuronal en el prototipo Cinvestav. . . . . . . . .

99

6. Conclusiones y trabajo futuro

105

6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105

6.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

En la actualidad las aplicaciones de la robotica son muy importantes en la industria;


sobre todo los robots manipuladores han ofrecido muchas soluciones a problemas en varios
procesos de produccion. La industria automotriz por ejemplo, debido a la alta demanda de
automoviles ha tenido que incrementar la velocidad en sus lneas de produccion, para lograrlo,
entre otras cosas ha hecho uso de manipuladores roboticos que realizan diversas tareas como
soldar, atornillar, perforar y montar componentes.
Por otro lado, la investigacion en la robotica promete grandes avances en proyectos que
ya se han iniciado anteriormente; entre los mas importantes destacan el uso de robots para
realizar cirugas de alto grado de dificultad con mucha precision y el uso de robots capaces
de realizar excursiones en lugares que el hombre no ha sido capaz de explorar por s mismo,
por ejemplo, el planeta Marte.
Los robots manipuladores estan destinados a desenvolverse en ambientes difciles donde
generalmente requieren de realizar movimientos en presencia de obstaculos fijos o moviles.
En este caso, el control automatico es una etapa clave dentro de la robotica debido a que se
necesita de mucha precision y exactitud [22].
En la u
ltima decada la investigacion en este campo ha sido muy activa dando como
resultando el desarrollo de prototipos muy novedosos. Particularmente, existe un tipo de
1

CAPITULO 1. INTRODUCCION

robot denominado redundante que ha llamado la atencion de los cientficos recientemente.


Un robot redundante o sobreactuado es un robot que tiene mas grados de libertad que los
que necesita para realizar su tarea; generalmente la redundancia indica que el robot puede
realizar trayectorias en los eslabones intermedios sin influir en el movimiento del efector final
permitiendo al robot realizar tareas auxiliares como evitar obstaculos y optimizar la energa
que el robot utiliza en ambientes difciles [4] y [16]. En [20] por ejemplo, los obstaculos
presentes en el espacio de trabajo del robot son modelados como hper-superficies en 3D. Un
campo de potencial artificial es utilizado para mantener al manipulador robotico alejado de
los obstaculos que obstruyen su trayectoria de movimiento.
Realizar el control dinamico de un robot manipulador no es tarea facil, principalmente
porque la ecuacion dinamica presenta no linealidades muy acopladas y complejas. Sin embargo, muchos trabajos se han desarrollo para realizar el seguimiento de trayectorias en brazos
roboticos manipuladores. En [8] se presenta un controlador no lineal basado en el conocimiento del modelo dinamico que utiliza una matriz de regresion que depende de la trayectoria
deseada del efector final y del error de seguimiento, en este analisis la salida del sistema
considerada es la posicion del efector final; utilizando una funcion de Lyapunov se garantiza la estabilidad del error en lazo cerrado. En [7] se propone un control adaptativo para
realizar el seguimiento de una trayectoria deseada del efector final en robots redundantes
utilizando una ley de adaptacion para estimar los parametros desconocidos de la ecuacion
dinamica; dicho controlador puede ser dividido en dos partes, la primera parte garantiza la
estabilidad asintotica del error de seguimiento mientras que la segunda parte permite realizar
tareas au-xiliares como esquivar obstaculos sin afectar el movimiento del efector final. En [19]
los autores realizan un controlador hbrido que combina las tecnicas de control neuronal y
control difuso. Basado en el fundamento de que el modelo del robot difcilmente puede ser
conocido totalmente ya sea por dinamicas no modeladas e incertidumbres parametricas, esta ley de control utiliza una red neuronal capaz de cambiar su estructura automaticamente
cuando detecta que una neurona no produce un cambio significante en el comportamiento
de la red. En [9] se dise
na un control neuronal descentralizado; en este enfoque de control se
utiliza un controlador local en cada una de las articulaciones del robot considerando como
perturbaciones a las dinamicas generadas por las otras articulaciones. Cada controlador local
esta basado en una red neuronal recurrente de primer orden. En [3] se presenta un enfoque
que permite el control tanto de la trayectoria del efector final como de la fuerza ejercida
por el mismo. Este controlador esta basado en un PD y en el modelo cinematico del robot
permitiendo ademas evitar obstaculos en un ambiente no estructurado. En [14] se propone
un controlador descentralizado difuso para realizar el seguimiento de trayectoria en cada articulacion del robot; el esquema de control esta basado en un PD difuso capaz de ajustar
la ganancia proporcional y la ganancia derivativa en lnea por medio de las reglas difusas
propuestas.

1.2. OBJETIVOS

El presente trabajo de tesis se desarrolla alrededor de un robot redundante enfocandose


a las siguientes etapas: dise
no mecanico del robot, construccion de la interfaz electronica,
estudio de la cinematica del robot considerando la propiedad de redundancia y control automatico.

1.2.

Objetivos

Los objetivos planteados son:


1. Dise
no mecanico de un robot redundante de cinco grados de libertad.
2. Construccion e implementacion de los dispositivos electronicos necesarios.
3. Analisis de las propiedades del robot; particularmente la cinematica directa e inversa.
4. Aplicacion del control automatico en el robot a nivel simulacion y en tiempo real.

1.3.

Organizaci
on de la tesis

Esta memoria de tesis esta organizada de la siguiente manera:


En el Captulo 2 se presenta una solucion al problema de la cinematica directa e inversa del
robot; se aborda la propiedad de redundancia matematicamente y se realiza una planeacion
de trayectoria. Como resultado final de este captulo se presentan tres simulaciones donde
el efector final del robot es capaz de seguir una trayectoria circular en el plano cartesiano,
seguir una trayectoria cuadrada o simplemente posicionarse en un punto dado.
En el Captulo 3 se expone la etapa de control del robot redundante. Se presenta el modelo
matematico que describe la dinamica del robot y se aplican algunas tecnicas conocidas para
controlar el robot. Estas tecnicas son la Regulacion lineal, el metodo de Backstepping, el
Control adaptativo y el Control neuronal, siendo esta u
ltima la mas desarrollada en el trabajo de tesis. Se presentan los resultados a nivel simulacion de los controladores obtenidos.
En el Captulo 4 se describe la etapa de dise
no de los diferentes eslabones del robot construido. La etapa de dise
no fue planeada tomando como base el robot ANAT de siete grados
de libertad que se encuentra en la ETS de Montreal, Canada [4]. En este captulo se describe
tambien la interfaz electronica utilizada para comunicar el robot con la computadora.

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.

Figura 2.1: Robot de 5 DOF


CAPITULO 2. CINEMATICA
DEL ROBOT

2.1.

Cinem
atica directa

El problema de la cinematica directa consiste en determinar la posicion del efector final


a partir del conocimiento de las variables articulares.
Definamos q <n como el vector de variables articulares y X <m como el vector de posicion
del efector final, donde n es el n
umero de grados de libertad del robot y m es la dimension
del espacio de trabajo del robot. En este trabajo de tesis solo se desea ubicar al efector final
en una posicion respecto a un sistema de coordenadas dado con una orientacion especfica.
En la literatura el vector q es conocido como joint space (espacio de articulaciones). Para el
robot de 5 DOF el primer elemento de este vector es una distancia vertical recorrida por la
articulacion prismatica mientras que los elementos restantes son los angulos de rotacion de
los eslabones del brazo robotico.
El objetivo de resolver la cinematica directa es encontrar una funcion f () : <n <m que
asigne a cada vector q <n un vector X <m .

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

donde A P0 es un vector de traslacion del origen de {A}.


2.1. CINEMATICA
DIRECTA

Figura 2.2: Sistemas de coordenadas asignados en las articulaciones del robot


Para mayor simplicidad en las operaciones matematicas, se puede introducir una matriz
de transformacion homogenea como sigue
 B 

R A P0
P
A
P =
0
1
1
En el algoritmo DH la matrix de transformacion homogenena que relaciona el i-esimo sistema
de coordenadas respecto al i 1-esimo sistema de coordenadas esta dada por

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

Figura 2.3: Representacion de los parametros DH para dos eslabones consecutivos


Los parametros DH para el robot de 5 DOF se muestran en la tabla 2.1 donde L1 = 11. 2
cm representa la longitud del primer eslabon y L = 9. 6 cm representa la longitud de los
eslabones restantes.
Articulacion
1
2
3
4
5

i1
0
0
0
0
0

ai1
0
L1
L
L
L

di
q1
0
0
0
0

i
0
q2
q3
q4
q5

Tabla 2.1: Parametros DH del robot de 5 DOF

La matriz de transformacion homogenea 0e T que relaciona el sistema de coordenadas del


efector final con el sistema de coordenadas de la base se calcula por medio de la siguiente
expresion.
0
eT

= 01 T 12 T 23 T ...e1
e T

(2.2)


2.2. CINEMATICA
INVERSA

La matriz homogenea 0e T resultante de nuestro robot es la siguiente:

c2345 s2345 0 Lc2345 + Lc234 + Lc23 + Lc2 + L1


s2345 c2345 0
Ls2345 + Ls234 + Ls23 + Ls2
0

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:

Lc2345 + Lc234 + Lc23 + Lc2 + L1


0
Ls2345 + Ls234 + Ls23 + Ls2
eO =
q1

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

Para mayor simplicidad en analisis posteriores se introduce una nueva funcion


(q) = X

2.2.

(2.7)

Cinem
atica Inversa

El problema de la cinematica inversa consiste en determinar las variables articulares a


partir del conocimiento de la posicion del efector final. Dicho en otras palabras se requiere
encontrar q a partir de X con respecto al sistema de coordenadas de la base.
La cinematica inversa sigue siendo objeto de estudio en la actualidad debido a que no
siempre es posible encontrar una solucion al problema, esto se debe a que en algunas configuraciones del robot no es posible encontrar q tal que la posicion del efector final sea X. Estas
configuraciones son aquellas que producen singularidades.


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)

Para resolver la cinematica inversa se debe encontrar la manera de despejar q de la expresion


(2.8) e integrar este valor para obtener el vector q. Como se menciono anteriormente, un
robot redundante tiene mas grados de libertad que los que necesita para realizar su tarea,
matematicamente esto significa que n es mayor que m y entonces la matriz Jacobiana J(q) es

una matriz rectangular con mayor n


umero de columnas que de renglones. Esto
es un problema porque no es posible aplicar una seudoinversa com
un y corriente para despejar q de (2.8).
Para resolver (2.8) se propone el siguiente criterio de mnimos cuadrados, [1]
G(q)
= qT q

(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

Sustituyendo lo anterior en (2.13) tenemos


(JJ T ) = 2X

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

Donde J T (JJ T )1 es una seudo-inversa derecha de Penrose.

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)

Donde N = I J T (JJ T )1 J es el espacio nulo de J(q) y es un vector de <n que puede


ser utilizado para varios propositos. Premultiplicando por J(q) en ambos lados de (2.17) la
parte derecha de la ecuacion anterior no afecta el movimiento del efector final, es decir,
J q = JJ T (JJ T )1 X + (J JJ T (JJ T )1 J)

(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

Considerando (2.6)-(2.9), se obtiene el siguiente Jacobiano para el robot de 5 DOF

0 J12 J13 J14 J15


0 J22 J23 J24 J25

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

Figura 2.4: Polinomio de quinto orden

2.3.1.

Soluci
on de la cinem
atica inversa para posicionar el efector
final en un punto fijo

En este primer experimento se requiere llevar


Para resolver (2.8) es necesario calcular X.
al efector final de un punto inicial a un punto final especfico. Las coordenadas de dichos
puntos se toman respecto al sistema de coordenadas de la base.
Para encontrar X se propone un polinomio de quinto orden en cada componente de X como
se observa en la figura 2.4. El proposito de hacer esto es unir el punto inicial y el punto final
por medio de una funcion continua diferenciable.
El polinomio utilizado es el siguiente donde xi es la i-esima componente de X
xi = ai0 + ai1 t + ai2 t2 + ai3 t3 + ai4 t4 + ai5 t5

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

las cuales constituyen un conjunto de 6 ecuaciones lineales con 6 incognitas. Considerando


que el robot permanece en estado de reposo en t = 0 y t = tf entonces se obtienen los
siguientes coeficientes para el polinomio (2.20)
ai5 =

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

La derivada de X <4 se calcula facilmente tomando la derivada respecto al tiempo de


(2.20), esto es
xi = ai1 + 2ai2 t + 3ai3 t2 + 4ai4 t3 + 5ai5 t4

i = 1, 2, 3, 4

(2.21)

En este experimento se considera la condicion inicial X0 = [0. 53m 0. 05m 0. 1m 0. 2rad]T


y una posicion final deseada de Xf = [0. 45m 0. 2m 0. 3m 0. 52rad]T para un tiempo final de
tf = 20 seg. El cuarto componente de estos vectores representa la orientacion inicial y final
respectivamente (11.5 y 30 grados).
Los resultados de esta simulacion se muestran en la figuras: (2.5)-(2.8).
metros
0.55
x1

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

Figura 2.6: Orientacion del efector final con respecto a la base

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

Figura 2.7: Solucion de la cinematica inversa para q1 , q2 y q3


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

Figura 2.8: Solucion de la cinematica inversa para q4 y q5


Se debe mencionar que la solucion para q resulta de integrar q en (2.16) por lo que una
condicion inicial q0 del espacio de articulaciones es requerida.

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

Figura 2.9: Trayectoria del efector final


Tomando la derivada respecto al tiempo de X para obtener X y aplicando (2.16) se obtienen
los resultados mostrados en las figuras: (2.10)-(2.13). En estas graficas se observa que los
valores de q no exceden las limitaciones fsicas del robot, es decir, las articulaciones revolutivas se mantienen en el rango de 90 a 90 grados y la articulacion prismatica no excede los
67 cm de maxima excursion.
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

Figura 2.11: Orientacion del efector final con respecto a la base

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)

Figura 2.12: Solucion de la cinematica inversa para q1 , q2 y q3

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

Figura 2.13: Solucion de la cinematica inversa para q4 y q5

2.3.3.

Soluci
on de la cinem
atica inversa para que el efector final
siga un trayectoria circular en el plano XY

La ecuacion del crculo es la siguiente donde r define su radio y (a,b) es la coordenada de


su centro.
(x a)2 + (y b)2 = r2
Utilizando coordenadas polares y derivando respecto al tiempo se obtiene lo siguiente

rcos(t) + a
rsin(t) + b

X=

cte
cte

rsin(t)
rcos(t)

X =

0
0

Para realizar este experimento se utilizan los siguientes valores: r = 0. 075 m, = 0. 5


rad/seg, a = 0. 4 m y b = 0 m (Fig. 2.14). La coordenada en z se ha dejado en un valor
constante de 0. 3 m y la orientacion del efector final es de 45o durante la realizacion de la
trayectoria.
Los resultados de esta simulacion se muestran en la figuras: (2.15)-(2.18).


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

Figura 2.14: Trayectoria del efector final

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

Figura 2.16: Orientacion del efector final con respecto a la base

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)

Figura 2.17: Solucion de la cinematica inversa para q1 , q2 y q3


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

Figura 2.18: Solucion de la cinematica inversa para q4 y q5

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

En el estudio de la cinematica en el captulo anterior se estudio el movimiento y geometra


del robot sin considerar las fuerzas requeridas para provocar dicho movimiento. En esta seccion se consideran las ecuaciones dinamicas en las cuales el movimiento del robot es resultado
de un vector de torques aplicado en las articulaciones del robot.
Utilizando el metodo de Lagrange se obtiene la siguiente ecuacion dinamica [6],
= M (q)
q + V (q, q)
+ Fg (q) + Ff (q, q)

(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

CAPITULO 3. CONTROL DE TRAYECTORIAS

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.

LINEAL ALREDEDOR DE UN PUNTO DE EQUILIBRIO.


3.2. REGULACION

3.2.

25

Regulaci
on Lineal alrededor de un punto de equilibrio.

Alrededor de un punto de equilibrio de un sistema de la forma


= f () + g()u
y = h()

(3.3)

la linealizacion puede ser calculada como sigue [15].


A=

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 )

estos vectores se calculan con las funciones M (q), V (q, q),


Fg y Ff presentadas en el Apendice
A. La linealizacion de (3.3) en el origen ( = (0, 0)) toma la siguiente forma
  
   
1
0
I
1
0
=
+
u
2
A21 A22 2
B21

(3.4)

y = C
donde:
A21 =

F (1 , 2 )
|=0
1
B21 = M 1 (0)

A22 =

F (1 , 2 )
|=0
2



C= I 0

La salida del sistema considerada es el estado de posicion, es decir, y = 1 .

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

CAPITULO 3. CONTROL DE TRAYECTORIAS

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

Considerese el siguiente teorema de regulacion, [13].


Sup
ongase que se satisfacen las siguientes hip
otesis:
1. El exosistema = S es antiestable, esto es, todos los valores propios de S estan sobre
el eje complejo s.

LINEAL ALREDEDOR DE UN PUNTO DE EQUILIBRIO.


3.2. REGULACION

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

Aprovechando la estructura de (3.4) para un manipulador robotico, es posible simplificar


las ecuaciones matriciales anteriores particionando la matriz como sigue



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)

el siguiente exosistema antiestable donde



0 1
0 2
0 3

CAPITULO 3. CONTROL DE TRAYECTORIAS

28

Linealizando en el origen resultan las siguientes matrices para el robot de 5 DOF:

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

1. 9583 3. 9558 1. 9991 0. 0008


= 0

0
0. 0391 1. 9991 3. 9566 1. 9983
0
0. 0374
0. 0008 1. 9983 3. 9575

Para verificar el desempe


no del controlador se realiza un experimento donde el vector de
referencias es el siguiente:

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

34. 5 33. 1 21. 8 10. 6


0
20. 5 19. 7 12. 9 6. 3
K = 0

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

LINEAL ALREDEDOR DE UN PUNTO DE EQUILIBRIO.


3.2. REGULACION

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)

Figura 3.1: Seguimiento de trayectoria de q1 , q2 y q3

CAPITULO 3. CONTROL DE TRAYECTORIAS

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)

Figura 3.2: Seguimiento de trayectoria de q4 , q5 y errores de posicion.

LINEAL ALREDEDOR DE UN PUNTO DE EQUILIBRIO.


3.2. REGULACION
60

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

CAPITULO 3. CONTROL DE TRAYECTORIAS

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)

Considerando (3.3), (3.10) y (3.11) se tiene la siguiente expresion para Z2


Z2 = F (1 , 2 ) + G(1 )u + K1 Z1 qd

(3.13)

Sustituyendo (3.13) en (3.12) tenemos


v = Z1T (K1 Z1 + Z2 ) + Z2T (F (1 , 2 ) + G(1 )u + K1 (K1 Z1 + Z2) qd )
La ecuacion anterior sugiere la siguiente ley de control donde K2 es una matriz simetrica
definida positiva
u = G(1 )1 [F (1 , 2 ) + qd + (K12 I)Z1 (K1 + K2 )Z2 ]

(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

Se presentan dos experimentos utilizando la ley de control (3.15); en el primero se hace


seguimiento de trayectorias senoidales y en el segundo el robot sigue una trayectoria proveniente de la cinematica inversa.
Para el primer experimento el vector de referencias es el siguiente

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.

CAPITULO 3. CONTROL DE TRAYECTORIAS

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

Figura 3.5: Experimento 1: Seguimiento de trayectorias senoidales; Experimento 2:


Seguimiento de trayectorias generadas por la cinematica inversa para el seguimiento de
un rectangulo con esquinas en los puntos: P1 : (0. 45, 0. 2, 0. 3)m, P2 : (0. 45, 0. 2, 0. 3)m,
P3 : (0. 3, 0. 2, 0. 3)m y P4 : (0. 3, 0. 2, 0. 3)m.

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

Figura 3.6: Errores de posicion para los experimentos 1 y 2

CAPITULO 3. CONTROL DE TRAYECTORIAS

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. CONTROL ADAPTATIVO

3.4.

37

Control Adaptativo

Esta tecnica de control esta basada en el conocimiento de la ecuacion dinamica (3.1).


Sin embargo, no se necesitan los valores reales de los parametros que intervienen en dicha
ecuacion. Esto es muy importante cuando el objetivo es implementar control en tiempo real
debido a que en general se desconocen los coeficientes de friccion, los tensores de inercias e
incluso las masas de los eslabones [18]. Si bien no se requiere el valor real de los parametros
que intervienen en la ecuacion dinamica, una estimacion de dichos parametros que garantize
estabilidad en lazo cerrado es necesaria.
La ley de control propuesta es la siguiente
(q)qR + Vm (q, q)
=M
qR + Ff (q, q)
qR + Fg (q) KD e

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

El error de velocidad e se define a continuacion.


e = q qR
Considerese ahora la suposicion de que la ecuacion dinamica (3.1) puede ser escrita en forma
lineal considerando que todos los estados y la aceleracion pueden ser medidos. Esto es:
= W (q, q,
q)p

(3.18)

donde p es el vector de parametros desconocidos.


Basandose en el criterio de estabilidad de Lyapunov es posible encontrar una ley de adaptacion
de parametros para garantizar estabilidad cuando la ley de control (3.16) es aplicada al robot.
Para lograr esto, se introduce la siguiente funcion de Lyapunov
1
v = (eT M e + T 1 )
2
donde = p p, es el error de estimacion de parametros y M es la matriz de inercias del
sistema; esta es simetrica definida positiva. La matrix 1 es simetrica definida positiva y

38

CAPITULO 3. CONTROL DE TRAYECTORIAS

puede ser considerada como una matrix de ganancias de la ley de adaptacion.


Tomando la derivada respecto al tiempo tenemos
1

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)

ademas, la siguiente expresion se cumple


M qR + Vm qR + Ff qR + Fg = W (q, q,
qR , qR )p

(3.22)

Sustituyendo (3.21) y (3.22) en (3.20) tenemos


v = eT (W p KD e Vm qR Ff q Fg W p + Vm qR + Ff qR + Fg ) + T 1
Eliminando terminos: v = eT (W p W p KD e Ff e) + T 1
Sustituyendo = p p se obtiene que v = eT W eT (KD + Ff )e + T 1
Agrupando terminos tenemos la u
ltima expresion para v

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)

3.4. CONTROL ADAPTATIVO

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

p10 = m3 Lx23 + Iz3

p16 = f4

p5 = m 5

p11 = m4 Lx24 + Iz4

p17 = f5

p6 = m3 Lx3

p12 = m5 Lx25 + Iz5

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.

CAPITULO 3. CONTROL DE TRAYECTORIAS

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

Figura 3.8: Experimento 1: Seguimiento de trayectorias senoidales; Experimento 2:


Seguimiento de trayectorias generadas por la cinematica inversa

3.4. CONTROL ADAPTATIVO

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

Figura 3.9: Errores de posicion para los experimentos 1 y 2

CAPITULO 3. CONTROL DE TRAYECTORIAS

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

3.4. CONTROL ADAPTATIVO

43

1.5

0.5

0.5

1.5

10
Tiempo(seg)

15

20

Figura 3.11: Adaptacion de parametros, p para Experimento 1


1
0.8
0.6
0.4
0.2
p

0
0.2
0.4
0.6
0.8
1

10

15

Tiempo(seg)

Figura 3.12: Adaptacion de parametros, p para Experimento 2


En estos experimentos se observa un tiempo de estabilizacion de 2 segundos. Las se
nales
de control aplicadas a las articulaciones del robot presentan un peque
no sobre impulso siendo
mayor en las se
nales de control 1 y 2; estos sobre impulsos son de 30 Nm y 10 Nm respectivamente. Los parametros estimados se mantuvieron en valores muy peque
nos lo cual es muy
conveniente para evitar problemas numericos en la computadora.

CAPITULO 3. CONTROL DE TRAYECTORIAS

44

3.5.

Control neuronal

En esta seccion se dise


na un control neuronal continuo utilizando una red neuronal recurrente
de primer orden. La ventaja de este tipo de controlador es que no se requiere el conocimiento
del modelo dinamico [11] y [12]. Este controlador continuo puede ser implementado en tiempo
real sin la necesidad de considerar un dise
no discreto si el tiempo de muestreo utilizado es
suficientemente peque
no y si los dispositivos electronicos utilizados son capaces de trabajar
a gran velocidad.

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

donde {I1 , I2 , , IL } es una coleccion de L conjuntos no ordenados de {1, 2, , m + n},


ai , bi son coeficientes reales, wik son los pesos sinapticos de la red neuronal y dj (k) son
enteros no negativos. El estado de la iesima neurona es representado por xi mientras que
y = [y1 , y2 , , ym+n ]T es el vector de entradas definido como:

S(x1 )
y1

2)
y2 S(x

. ..
. .
.

S(xn )
y = yn =

u1
yn+1

. u2
.. .
..
yn+m
um

donde u = [u1 , u2 , , um ]T es el vector de entradas externas a la red. La funcion S() es una


funcion sigmoidal, usualmente se elige la funcion tanh().

3.5. CONTROL NEURONAL

45

Ahora se introduce el vector z de dimension L que es definido como

Q
dj (1)
y
z1
QjI1 jdj (2)
z2


jI2 yj

z = .. =
.

.
.
.

Q
dj (L)
zL
y
jIL

As el modelo RHONN puede ser escrito de la siguiente manera:


" L
#
X
xi = ai xi + bi
wik zk

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

Figura 3.13: Esquema representativo de la ecuacion (3.25)


Si se define el vector de parametros ajustables como

wi = bi wi1 wi1

wiL

T

(3.25) cambia como sigue


xi = ai xi + wiT z
Los vectores {wi : i = 1, 2, ..., n} representan los pesos ajustables de la red, mientras que
los coeficientes {ai : i = 1, 2, ..., n} son constantes. Para garantizar que cada neurona es
bounded-input bounded-output (BIBO estable), se requiere que ai > 0, i = 1, 2, ..., n.
La dinamica de toda la red neuronal puede ser escrita en notacion vectorial como:
x = Ax + W T z

(3.26)

CAPITULO 3. CONTROL DE TRAYECTORIAS

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

Dicho teorema prueba que con un n


umero suficientemente grande de conexiones en el
modelo RHONN es posible aproximar cualquier sistema dinamico con cualquier grado de
precision. Sin embargo, este es un resultado de existencia, no provee ning
un metodo para

encontrar W .

3.5.3.

Aprendizaje con error filtrado

Basado en la suposicion de que no hay error de modelado, existen vectores de pesos


desconocidos wi , i = 1, 2, , n, tales que cada estado del sistema dinamico desconocido
(3.27) satisface:
i = ai i + wi T z(, u),
i (0) = 0i
(3.28)

3.5. CONTROL NEURONAL

47

donde 0i es la iesima condicion inicial del sistema. Basado en (3.28), el identificador es


seleccionado como sigue
xi = ai xi + wiT z

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)

la derivada respecto al tiempo esta dada por


V =

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

Sustituyendo la ley de aprendizaje por error filtrado w i = i zei y considerando el hecho de


que i = w i tenemos
n
X
V =
(ai e2i + ei Ti z Ti zei )
(3.34)
i=1

CAPITULO 3. CONTROL DE TRAYECTORIAS

48

en la ecuacion anterior ei es un escalar por lo que los u


ltimos dos terminos se eliminan entre
s, entonces la derivada de la funcion de Lyapunov satisface
V =

n
X

ai e2i 0

(3.35)

i=1

Como V 0, de (3.32) se tiene que ei , i L para i = 1, 2, ..., n. Usando este resultado en


(3.30) se tiene que ei L . Para demostrar que ei (t) converge a cero, primero se observa que
V es una funcion no creciente en el tiempo, y ademas esta acotada, por lo tanto limt V (t) =
V , donde V es finito; de esta manera, integrando ambos lados de (3.35) desde t = 0 hasta
, y tomando las cotas se obtiene que
Z
0

n
X

ai e2i (t)dt = V (0) V

i=1

de la expresion anterior se obtiene que ei L2 , esto es, ei (t) es cuadrado integrable, de


ah que aplicando el lema de Barbalat se obtiene que limt ei (t) = 0.

3.5. CONTROL NEURONAL

3.5.4.

49

Aplicaci
on al robot de 5 DOF

Para aplicar los resultados anteriores a un manipulador robotico de n grados de libertad


se propone la siguiente estructura para el identificador neuronal.
X 1 = A1 X1 + X2 + W1 z
(3.36)
X 2 = A2 X2 + W2 z + Bu

T
T

donde W1 = w1 w2 wn <n2n y W2 = wn+1 wn+2 w2n <n2n son
matrices de pesos ajustados de acuerdo a la ley de aprendizaje (3.31) mientras que A1 , A2 y
B son los parametros fijos de la red. El vector z <2n queda definido como sigue
z = [S(kq1 ), S(kq2 ), (kq3 ), S(kq4 ), S(kq5 ), S(k q1 ), S(k q2 ), S(k q3 ), S(k q4 ), S(k q5 )]T
donde S( ) = tanh( ) y k es un escalar no negativo.
Note que esta estructura coincide con (3.26) pero ha sido escrita en forma vectorial por
bloques. En (3.36) X1 , X2 <n son los vectores de estado de la red neuronal donde X1
aproxima al vector de posicion q y X2 aproxima al vector de velocidad q.
Esta representacion
en espacio de estados tiene la forma No Lineal Controlable por Bloques (NLCB). En [9] se
propone una estructura similar a (3.36) pero descentralizada.
Basado en el criterio de estabilidad de Lyapunov, se aplica la tecnica Backstepping para
llevar a cero el error de posicion definido como:
1 = q qd

(3.37)

1 = q X1 + X1 qd

(3.38)

el cual puede ser reescrito como:

Si definimos el error de seguimiento de trayectoria entre el estado de posicion de la red


neuronal y la se
nal de referencia como eN = X1 qd entonces el error se seguimiento puede
ser escrito como
1 = Ei + eN
(3.39)
donde Ei = col(e1 , e2 , . . . , en ). La dinamica de este error es descrita por
1 = A1 Ei + T z + [A1 X1 + X2 + W1 z qd ]
donde = {1 , 2 , . . . , n }.
Como el sistema es Lipchitz, es posible tomar la siguiente funcion de Lyapunov
1
V1 = V + eTN eN
2

(3.40)

50

CAPITULO 3. CONTROL DE TRAYECTORIAS

donde V es definida por (3.32). Tomando la derivada respecto al tiempo tenemos


V1 = V + eTN (A1 X1 + X2 + W1 z qd )
Para que esta expresion sea definida negativa se requiere la siguiente dinamica deseada para
el estado X2
X2des = K1 eN + A1 X1 W1 z + qd
(3.41)
Se introduce ahora el error entre X2 y X2des como
2 = X2 X2des

(3.42)

Ahora se considera la siguiente funcion de Lyapunov


1
V2 = V1 + 2T 2
2
tomando su derivada respecto al tiempo tenemos
V2 = V + eTN (K1 eN + 2 ) + 2T 2
Realizando algunas sustituciones se obtiene la siguiente expresion para V2
)
V2 = V + eTN (K1 eN + 2 ) + 2T (A2 X2 + W2 z + Bu X2des
Para que esta expresion sea definida negativa se requiere la siguiente ley de control
eN K2 2 )
u = B 1 (A2 X2 W2 z + X2des

(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

Finalmente, la dinamica del error en lazo cerrado toma la forma


  
 
eN
K1
I
eN
=

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.

3.5. CONTROL NEURONAL

51

En la figura 3.14 se muestra la estructura de este controlador.

Figura 3.14: Estructura del controlador neuronal propuesto.

En este diagrama se observan las siguientes se


nales:
- q y q son los vectores de posicion y velocidad de las articulaciones del robot respectivamente.
- X1 y X2 son vectores que representan la identificacion de la posicion y la velocidad del
robot respectivamente.
- eN es el error de identificacion de la red neuronal.
- qd es el vector de se
nales de referencia.
- u es el vector de las se
nales de control aplicadas al robot.

CAPITULO 3. CONTROL DE TRAYECTORIAS

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.

3.5. CONTROL NEURONAL

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)

Figura 3.15: Experimento 1. Se muestra q Vs qd y las se


nales de control donde:

qd = [0. 2 + 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 .

CAPITULO 3. CONTROL DE TRAYECTORIAS

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)

Figura 3.16: Error de identificacion ed1 , ed2 y ed3 .


rad

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)

Figura 3.17: Error de identificacion ed4 y ed5 .

3.5. CONTROL NEURONAL

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)

Figura 3.18: Experimento 2. Se muestra q Vs qd y las se


nales de control donde

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

CAPITULO 3. CONTROL DE TRAYECTORIAS

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)

Figura 3.19: Experimento 3. Se muestra q Vs qd y las se


nales de control donde

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.

3.5. CONTROL NEURONAL

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)

Figura 3.20: Experimento 4. Se muestra q Vs qd y las se


nales de control donde qd es tal
que el efector final del robot sigue una trayectoria circular en el plano XY con centro en
C : (0. 47, 0)m y radio r = 0. 05m. La articulacion prismatica sigue una referencia constante
de 0.2m.

CAPITULO 3. CONTROL DE TRAYECTORIAS

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

3.5. CONTROL NEURONAL

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)

Figura 3.22: Trayectoria circular realizada por el efector final


Los cuatro experimentos realizados dieron resultados muy interesantes. En el experimento
1 se llevo a cabo el seguimiento de trayectorias senoidales en las articulaciones del robot; en
este experimento el robot alcanza las se
nales de referencias en aproximadamente 1.5 segundos aun cuando las articulaciones 1, 3 y 5 tienen condiciones inciales lejanas a las se
nales
deseadas. Se observo un buen desempe
no incluso en las articulaciones que siguen se
nales de
referencia con frecuencias altas (la articulacion 3 sigue una se
nal coseno con frecuencia de 0.7
rad/seg., mientras que la articulacion 5 sigue una se
nal seno de 0.9 rad/seg.). En la figura
3.15 se observa que las se
nales de control presentan peque
nas oscilaciones durante el periodo
de respuesta del sistema; sin embargo, los valores de torques se mantuvieron en valores muy
aceptables. Esto es importante cuando se pretende realizar una implementacion en tiempo
real ya que se debe asegurar que los actuadores pueden producir fsicamente estas se
nales de
control.
En el experimento 2 se realizo un cambio abrupto en las se
nales de referencia; en este experimento el seguimiento de trayectoria fue satisfactorio observandose un tiempo de reaccion
de 1.8 segundos al momento de realizar el cambio de referencia. Se observa que las amplitudes de las se
nales de control son menores cuando se requiere seguir una se
nal de referencia
constante.
En el experimento 3 se realizo un cambio parametrico en el modelo dinamico del robot.
Al igual que el experimento 1 se observa un tiempo de respuesta de aproximadamente 1.5
segundos; el seguimiento de trayectoria no se ve afectado al momento de realizar los cambios
parametricos de masa y coeficientes de friccion. Por otro lado, las se
nales de control presentan
cambios al momento de afectar los parametros del robot. Cuando los coeficientes de friccion

60

CAPITULO 3. CONTROL DE TRAYECTORIAS

cambian a un valor mayor las se


nales de control presentan un ligero chattering en los primeros
1.2 segundos. Cuando los valores de las masas se cambian a valores mayores se presentan
oscilaciones en la ley de control, incluso la articulacion prismatica requiere de un torque
muy elevado para realizar el seguimiento de trayectoria. Sin embargo los resultados de este
experimento son muy buenos considerando que en la vida real es difcil tener valores tan
elevados de los coeficientes de friccion y de las masas de los eslabones.
En el experimento 4 se llevo a cabo el seguimiento de una trayectoria proveniente de
la cinematica inversa tal que el efector final sigue una trayectoria circular en el plano XY.
En este experimento se observa un tiempo de respuesta de aproximadamente 1.7 segundos
mientras que las se
nales de control tambien se mantienen en valores muy aceptables.

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

Figura 4.1: ANAT

Para realizar el dise


no de las partes mecanicas que conforman al robot se utilizo el software AutoCAD 2007.

61

Y CONSTRUCCION

CAPITULO 4. DISENO

62

Las consideraciones de dise


no que se tomaron en cuenta fueron las siguientes:
1. Dise
no compacto y versatil
2. Posibilidad de agregar mas grados de libertad
3. Fuerza suficiente para realizar una tarea industrial

Figura 4.2: Eslabon para los grados de libertad 2, 3, 4 y 5, vista lateral (unidades en cm)

Para cubrir el punto 1 los eslabones del robot fueron dise


nados de tal manera que el espacio de
trabajo del robot no exceda un area de 1 m2 en el plano XY. En las figuras 4.2 y 4.3 se muestran los eslabones que corresponden a las articulaciones revolutivas donde las dimensiones
estan dadas en centmetros. La forma geometrica de este eslabon permite realizar conexiones
en serie de varios modulos formandose as el cuerpo principal del brazo robotico; esto justifica
el punto 2 debido a que con este dise
no se pueden agregar mas grados de libertad facilmente.
Para cubrir el punto 3 se ha hecho un compromiso entre la velocidad y la fuerza del brazo
robotico. En el dise
no del robot se considero utilizar un juego de engranes para acoplar el eje
del motor y el eje de cada articulacion revolutiva. La relacion de estos engranes es 2:1, por
lo cual se amplifica el torque aplicado pero se disminuye la velocidad en el eje de rotacion.
Al igual que el ANAT, este robot cuenta con una articulacion prismatica que se mueve a lo
largo del eje Z con una maxima excursion de 67 cm. En las figuras 4.4 y 4.5 se muestra el
eslabon que corresponde a esta articulacion. Este eslabon fue dise
nado para poder ser conectado con los eslabones que forman las articulaciones revolutivas.

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

Tabla 4.1: Motores y sensores utilizados para la construccion del robot

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

Figura 4.8: Prototipo Cinvestav con 5 DOF

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

Figura 4.9: Diagrama de la interface electronica

4.2.1.

Multiplexaje y Demultiplexaje

El software que utiliza esta interface es Matlab/Simulink; la etapa de multiplexaje se lleva


a cabo en este software como se muestra en la figura 4.10.

Figura 4.10: Multiplexaje de las se


nales de control

Y CONSTRUCCION

CAPITULO 4. DISENO

68

Ademas de la salida analogica tambien se utilizan dos salidas digitales de la NI-6024E


para obtener las se
nales de reloj y restablecimiento (reset en ingles) mostradas en la figura
4.10.
El dispositivo electronico que utiliza esta interface esta compuesto por cinco circuitos
iguales, uno por cada grado de libertad (Fig. 4.11). Estos circuitos utilizan el PIC-16F876A
de Microchip; la tarea del iesimo microcontrolador es acondicionar la se
nal proveniente
del iesimo encoder para enviarla a la tarjeta NI-6024E y recuperar la se
nal de control que
le corresponde al iesimo motor del robot. Esta se
nal de control sera enviada al motor en
forma de PWM a traves de la etapa de potencia. La etapa de potencia en cada circuito

Figura 4.11: Circuito electronico para una articulacion


consiste principalmente en un puente H LMD18200T con sensor de corriente incluido; esta
etapa esta aislada electricamente de los microcontroladores y de la tarjeta de adquisicion de
datos.

4.2.2.

Microcontroladores

Para programar el PIC-16F876A se recomienda el software PIC C-Compiler [17]; dentro


de cada microcontrolador ha sido programado un contador que es incrementado cada vez que
la se
nal de reloj cambia. Una vez que el contador excede el n
umero de grados de libertad


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

Figura 4.13: Diagrama de flujo del programa del microcontrolador


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

Para verificar el desempe


no de la estructura del control neuronal se ha implementado el
algoritmo en el robot ANAT de la Escuela de Tecnologa Superior, en Montreal, Canada.
Las demas leyes de control obtenidas en el captulo 3 no fueron consideradas para la implementacion en tiempo real debido a que requieren del conocimiento del modelo dinamico del
robot. El control neuronal propuesto no requiere de este conocimiento y puede ser implementado con una baja demanda computacional.
La interfaz electronica del robot ANAT utiliza el software Matlab/Simulink. Para realizar
la comunicacion entre la computadora y el robot se utiliza un protocolo de comunicacion
RS485 (Fig: 5.1). Dicha interfaz utiliza el toolbox XPC Target de Matlab; esta herramienta
consiste en utilizar dos computadoras para operar el sistema completo. La primera computadora es el Host PC donde se programa la ley de control y se compila el programa en modo
externo. La segunda es el Target PC y es la que realiza la comunicacion con el robot, esta es la
encargada de leer las posiciones del robot y de mandar las se
nales de corriente a los motores
del robot. Por otro lado, el Host PC y el Target PC se mantienen en constante comunicacion
por medio del protocolo TCP/IP.
A diferencia de nuestro robot que utiliza una tarjeta de adquisicion de datos, el robot ANAT
utiliza un adaptador serial de cuatro canales para realizar la lectura y escritura de datos. Este
adaptador es el QSC-200/300 de Quatech y es conectado en el bus PCI del target PC. Este
dispositivo es capaz de realizar la comunicacion a gran velocidad por medio del protocolo
RS485, sin embargo, la lectura y escritura de datos no son tan sencillas como en una tarjeta
de adquisicion de datos. Esto se debe a que la interfaz electronica del robot se comunica con
el target PC en forma serial, es decir, la interfaz enva las posiciones de las articulaciones
73

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.

Figura 5.1: Conexion serial RS-485 del robot ANAT


Para llevar a cabo la implementacion en tiempo real en el robot ANAT se utilizaron 5
grados de libertad (Fig: 5.2); se considero a la articulacion prismatica y las cuatro primeras
articulaciones revolutivas.
La estructura de la red neuronal fue propuesta empricamente. Los parametros fijos A1 ,
A2 y B son seleccionados de manera que la red neuronal no pierda la identificacion cuando el controlador esta trabajando. Las matrices de pesos ajustables tambien son propuestas
empricamente de manera que la estructura propuesta es la que nos permite tener un menor
error de seguimiento en comparacion con las otras estructuras propuestas. Las ganancias de
control K1 y K2 se proponen de tal manera que el chattering de la ley de control no sea muy
alto.
Los parametros para la red neuronal son los siguientes.
A1 = diag{405. 8, 405. 8, 335. 8, 35. 8, 15. 8}
A2 = diag{405. 8, 405. 8, 335. 8, 35. 8, 15. 8}
B = diag{12, 1. 5, 1, 1. 2, 1}

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

Las matrices de pesos adaptables W1 y W2 son propuestas como:

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

Para el control por backstepping se utilizan las siguientes ganancias K1 y K2 .


K1 = diag{101, 67, 77, 27, 25}
K2 = diag{101, 67, 77, 27, 25}

Figura 5.2: Robot ANAT con cinco grados de libertad

75

EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION

76

5.1.1.

Resultados en el robot ANAT

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)

Figura 5.3: Seguimiento de trayectorias constantes para q1 , q2 y q3

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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)

Figura 5.4: Seguimiento de trayectorias constantes para q4 y q5


En este experimento el vector de referencias es el siguiente:



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 .

En las figuras 5.5 y 5.6 se muestran las se


nales de control empleadas en este experimento. En estas graficas se observa un ligero chattering antes de llegar al estado estacionario.
En este experimento se observa un muy buen desempe
no del control neuronal debido a que
el error de seguimiento en estado estacionario es muy peque
no. En las figuras 5.3 y 5.4 se
observa que el tiempo de establecimiento de cada articulacion es diferente; los resultados son
logicos, las articulaciones 4 y 5 mostraron un tiempo de respuesta mas peque
no debido a que
corresponden a los eslabones que se encuentran al extremo del robot y no tienen que cargar
con el peso de los otros eslabones; por otro lado, las articulaciones 2 y 3 mostraron un tiempo
de establecimiento mayor debido a que estos eslabones (sobretodo el eslabon 2 ) tienen que
cargar con el peso de los otros eslabones. Tambien se observa que la articulacion prismatica
es muy lenta, sin embargo, esta es una caracterstica propia del dise
no del robot ANAT,
dicha articulacion recorre aproximadamente 20 cm en 50 segundos a plena carga del motor
de CD empleado. Debido a la lentitud de esta articulacion se ha considerado una referencia
constante en el resto de los experimentos presentados en esta seccion.
En las siguientes figuras se muestran los errores de seguimiento y los errores de identificacion en la red neuronal.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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)

Error de identificacion e1 ,e2 ,e3


rad

Error de posicion ep1 ,ep2 ,ep3


rad

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)

Error de identificacion e4 ,e5

15

5
Tiempo(seg)

Error de posicion ep4 ,ep5

Figura 5.7: Errores de Identificacion y Errores de posicion.

EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION

80

b) Seguimiento de trayectorias constantes con perturbaciones.


En las figuras 5.8 y 5.9 se muestra el desempe
no del control neuronal para este experimento.
Practicamente se ha repetido el experimento anterior pero se han aplicado perturbaciones
externas que desvanecen en el tiempo. Estas perturbaciones se aplicaron manualmente sobre
el robot modificando la posicion de cada articulacion en un instante de tiempo.

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

Figura 5.8: Seguimiento de trayectorias constantes con perturbaciones para q1 , q2 y q3


En este experimento el vector de referencias es el siguiente:



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.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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

Figura 5.9: Seguimiento de trayectorias constantes con perturbaciones para q4 , q5


En las figuras 5.10 y 5.11 se muestran las se
nales de control producidas durante este experimento. En estas graficas se observa la presencia de chattering al momento de ser aplicada la
perturbacion, este efecto desaparece cuando el sistema recupera el seguimiento de trayectoria. El chattering es mas notable en las articulaciones 2 y 3; de hecho, la articulacion 4 no lo
presenta.
Nm

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 .

En la figura 5.12 se muestran los errores de seguimiento de trayectoria y los errores de


identificacion en la red neuronal. En estas graficas se observa que la red neuronal pierde
la identificacion en las articulaciones 3, 4 y 5 cuando son aplicadas las perturbaciones, sin
embargo la red es capaz de recuperar la identificacion del sistema en un instante de tiempo
relativamente corto.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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

Error de identificacion e1 ,e2 ,e3

10

15
20
Tiempo(seg)

25

30

35

Error de posicion ep1 ,ep2 ,ep3

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

Error de identificacion e4 ,e5

60

0.5

Error de posicion ep4 ,ep5

Figura 5.12: Errores de Identificacion y Errores de posicion ante presencia de perturbaciones.

EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION

84

c) Seguimiento de trayectorias senoidales.


En este experimento se han aplicado se
nales de referencia senoidales en las articulaciones
revolutivas con el objetivo de verificar el desempe
no del control neural ante se
nales de referencia cambiantes en el tiempo. La articulacion prismatica se mantiene constante debido a
la lentitud que presenta, esta recorre aproximadamente 20 cm en 50 seg.
El vector de referencias para este experimento es el siguiente:



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

Figura 5.13: Seguimiento de trayectorias senoidales para q1 , q2 y q3


En las figuras 5.13 y 5.14 se muestra el seguimiento de trayectoria de este experimento. En estas graficas se observa el buen desempe
no del control neuronal. La articulacion 2 presenta un
peque
no transitorio de aproximadamente 2 segundos. Al igual que los experimentos anteriores
la segunda articulacion alcanza la referencia en un periodo de tiempo mayor en comparacion
con las demas articulaciones. Por otro lado, la articulacion 3 presenta una peque
na vibracion
durante el desarrollo del experimento pero el error de seguimiento se mantiene muy peque
no.
Las articulaciones 4 y 5 presentan un buen desempe
no alcanzando rapidamente la referencia.
La frecuencia de la se
nal de referencia es de 0. 5 rad/seg lo cual es un valor aceptable para
verificar el desempe
no de este controlador.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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

Figura 5.14: Seguimiento de trayectorias senoidales para q4 , q5

En las figuras 5.15 y 5.16 se muestran las se


nales de control empleadas en este experimento.
En estas graficas se observa la presencia de chattering en las se
nales de control de las articulaciones 2, 3, 4 y 5.

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 .

Como se explico en el captulo 3, el control neuronal fue dise


nado en tiempo continuo. En la
ley de control 3.43 se observa que las ganancias de control K1 y K2 afectan directamente a
las se
nales de error 1 y 2 , por lo que una peque
na variacion en el error de posicion puede
provocar un incremento notable en la se
nal de control produciendose ademas el chattering.
La presencia de chattering en este controlador no es raro ya que la ganancia K2 afecta directamente el error de velocidad que se presenta en cada articulacion del robot; entonces si
el error de posicion cambia rapidamente con el tiempo su derivada es mayor. A diferencia de
un control discreto, un control dise
nado en tiempo continuo requiere de ganancias mayores
para asegurar la estabilidad en lazo cerrado.
Por otro lado, la presencia de chattering en la ley de control no implica que el robot se mueve
con mucha vibracion ya que estas variaciones de amplitud son absorbidas en gran parte por
los motores de corriente directa presentes en las articulaciones del robot.
En la figura 5.17 se muestran los errores de seguimiento de trayectoria y los errores de identificacion en la red neuronal. En estas graficas se observa que la red neuronal mantiene la
identificacion satisfactoriamente durante el desarrollo del experimento.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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

Error de identificacion e1 ,e2 ,e3


rad

Error de posicion ep1 ,ep2 ,ep3


rad

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

Error de identificacion e4 ,e5

60

0.5

Error de posicion ep4 ,ep5

Figura 5.17: Errores de Identificacion y Errores de posicion.

EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION

88

d) Seguimiento de trayectorias senoidales con perturbaciones.


En las figuras 5.18 y 5.19 se muestra el seguimiento de trayectoria para este experimento. Al igual que en el experimento b se aplicaron perturbaciones externas que desvanecen con
el tiempo en las articulaciones del robot con la finalidad de probar la robustez del controlador.
El vector de referencias utilizado en este experimento es el siguiente:



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

Figura 5.18: Seguimiento de trayectorias senoidales con perturbaciones para q1 , q2 y q3


En este experimento la articulacion prismatica sigue una referencia constante negativa. En
estas graficas se observa que el controlador neuronal presenta una robustez aceptable ante
seguimiento de referencias armonicas. La segunda articulacion presenta una ligera oscilacion
cuando intenta recuperar el seguimiento de trayectoria y el periodo de tiempo requerido es
mayor en comparacion con las demas articulaciones. La tercera articulacion presenta una
peque
na vibracion al inicio del experimento pero recupera rapidamente la referencia al momento de ser aplicada la perturbacion. Las articulaciones 4 y 5 presentan un mejor desempe
no
ante presencia de perturbaciones, esto es logico si se considera que los dos eslabones finales
no tienen que cargar con el peso de los demas eslabones.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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

Figura 5.19: Seguimiento de trayectorias senoidales con perturbaciones para q4 , q5

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

Error de identificacion e1 ,e2 ,e3


rad

Error de posicion ep1 ,ep2 ,ep3


rad

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

Error de identificacion e4 ,e5

60

0.2

Error de posicion ep4 ,ep5

Figura 5.20: Errores de Identificacion y Errores de posicion ante presencia de perturbaciones.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

91

e) Seguimiento de trayectorias provenientes de la cinem


atica inversa (crculo).
En este experimento las se
nales de referencia son tales que el efector final del robot sigue una
trayectoria circular en el plano XY. El radio del crculo es de 5 cm y su centro se localiza en
la coordenada (0.47m,0m) respecto la base.

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

Figura 5.21: Evolucion en el tiempo para q1 , q2 y q3

La articulacion prismatica sigue una se


nal de referencia constante de 12 cm. En las figuras 5.21 y 5.22 se muestran las se
nales de referencia y las se
nales de posicion del robot. Este
experimento fue realizado durante 50 segundos y las se
nales de referencia utilizadas provienen
de la solucion de la cinematica inversa calculada en el captulo 3.
Las articulaciones 1, 2 y 4 presentan un buen desempe
no en el seguimiento de trayectoria
mientras que las articulaciones 3 y 5 presentan un peque
no transitorio al inicio del experimento; no obstante, el error de seguimiento se mantiene muy peque
no despues de 1.5 segundos
aproximadamente.

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

Figura 5.22: Evolucion en el tiempo para q4 , q5

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.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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

Error de identificacion e1 ,e2 ,e3

Error de posicion ep1 ,ep2 ,ep3


rad

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

Error de identificacion e4 ,e5

50

0.5

Error de posicion ep4 ,ep5

Figura 5.23: Errores de Identificacion y Errores de posicion.

EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION

94

f ) Seguimiento de trayectorias provenientes de la cinem


atica inversa (Rect
angulo).
En este experimento el efector final del robot sigue una trayectoria rectangular en el plano
XY. Las esquinas de este rectangulo se localizan en las siguientes coordenadas respecto la
base del robot:
P1 (0. 5m, 0. 18m), P2 (0. 5m, 0. 18m), P3 (0. 4m, 0. 18m), P4 (0. 4m, 0. 18m)

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

Figura 5.24: Evolucion en el tiempo para q1 , q2 y q3

En las figuras 5.24 y 5.25 se muestra el desempe


no del control neuronal en este experimento. Se puede observar que en este caso las se
nales de referencia requeridas para lograr
la trayectoria rectangular en el efector final no describen una funcion matematica conocida.
La cinematica inversa fue resuelta de tal manera que la trayectoria rectangular se realizara
en 50 segundos. Al igual que los experimentos anteriores, la articulacion prismatica sigue
una referencia constante, en este caso de 10 cm. En las graficas se observa que el error de
seguimiento es muy peque
no, ademas ninguna de las articulaciones presenta transitorios como los ocurridos en el experimento anterior.

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION
rad

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

Figura 5.25: Evolucion en el tiempo para q4 , q5


En las figuras 5.26 y 5.27 se observan las se
nales de control utilizadas. En estas graficas
se puede notar que las se
nales de control para las articulaciones 4 y 5 presentaron menor
chattering en comparacion con los experimentos anteriores.

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

Figura 5.28: Trayectoria rectangular en el plano XY (Unidades en metros).

DEL CONTROL NEURONAL EN EL ROBOT ANAT


5.1. IMPLEMENTACION

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

Error de identificacion e1 ,e2 ,e3

Error de posicion ep1 ,ep2 ,ep3

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

Error de identificacion e4 ,e5

50

0.1

Error de posicion ep4 ,ep5

Figura 5.29: Errores de Identificacion y Errores de posicion.

98

EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION

El robot alcanza el punto 1

El robot alcanza el punto 2

El robot alcanza el punto 3

El robot alcanza el punto 4

Figura 5.30: Seguimiento de una trayectoria rectangular.

DEL CONTROL NEURONAL EN EL PROTOTIPO CINVESTAV.99


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

Figura 5.31: Prototipo Cinvestav con cinco grados de libertad

EN TIEMPO REAL
CAPITULO 5. IMPLEMENTACION

100

Al igual que en la implementacion en el robot ANAT, la estructura de la red neuronal fue


propuesta empricamente de tal manera que el error de identificacion y el error de seguimiento
de trayectoria se mantienen en valores suficientemente peque
nos.
Los parametros fijos de la red neuronal son los siguientes:
A1 = diag{58. 8, 58. 8, 58. 8, 58}
A2 = diag{58. 8, 58. 8, 58. 8, 58}
B = diag{3, 3, 3, 3}
Para el control por backstepping se utilizan las siguientes ganancias K1 y K2 :
K1 = diag{8. 1, 8. 45, 7, 7}
K2 = diag{8. 1, 8. 45, 7, 7}
Las matrices de pesos adaptables son propuestas como sigue:

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

Se presentan 3 experimentos realizados en el robot. En el primer experimento se realiza


seguimiento de trayectorias senoidales para verificar el desempe
no del control neuronal ante
se
nales de referencia senoidales. En el segundo y tercer experimento las se
nales de referencia
provienen de la cinematica inversa de tal manera que el efector final sigue una trayectoria
circular y rectangular respectivamente.

DEL CONTROL NEURONAL EN EL PROTOTIPO CINVESTAV.101


5.2. IMPLEMENTACION
a) Seguimiento de trayectorias senoidales.
En este experimento cada articulacion del robot sigue una se
nal de referencia senoidal. El
vector de referencias utilizado es el siguiente:



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

Figura 5.32: Evolucion en el tiempo para q2 ,q3

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

Figura 5.33: Evolucion en el tiempo para q4 ,q5


b) Seguimiento de trayectorias provenientes de la cinem
atica inversa (crculo).
El desempe
no del controlador neuronal para este experimento se muestra en las figuras 5.34
y 5.35.

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

Figura 5.34: Evolucion en el tiempo para q2 ,q3

DEL CONTROL NEURONAL EN EL PROTOTIPO CINVESTAV.103


5.2. IMPLEMENTACION

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

Figura 5.35: Evolucion en el tiempo para q4 ,q5

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.

c) Seguimiento de trayectorias provenientes de la cinem


atica inversa (rect
angulo).
En este experimento el efector final del robot sigue una trayectoria rectangular en el plano
XY. Las esquinas de este rectangulo se localizan en las siguientes coordenadas respecto la
base del robot:
P1 (0. 45m, 0. 2m), P2 (0. 3m, 0. 2m), P3 (0. 3m, 0. 2m), P4 (0. 45m, 0. 2m)
En las figuras 5.36 y 5.37 se muestran los resultados obtenidos en este experimento. En
estas graficas se observa un mayor error de seguimiento en las articulaciones 2 y 4.

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

Figura 5.36: Evolucion en el tiempo para q2 ,q3

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

Figura 5.37: Evolucion en el tiempo para q4 ,q5

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

CAPITULO 6. CONCLUSIONES Y TRABAJO FUTURO

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)

esta ecuacion puede ser escrita como sigue




m13 m14 m15
q1
V1
Fg1
ff 1 0
0
0
0
q1

m23 m24 m25 q2 V2 Fg2 0 ff 2 0


0
0 q2


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

m22 = m5 Lx5 Lcos(q3 + q4 + q5 ) + (m4 Lx4 L + m5 L2 )cos(q3 + q4 ) + m5 Lx5 Lcos(q4 + q5 ) +


((m5 + m4 )L + Lx3 m3 )Lcos(q3 ) + (m4 Lx4 L + m5 L2 )cos(q4 ) + m5 Lx5 Lcos(q5 ) + (m3 + 3m5 +
m4 )L2 + m2 Lx22 + m3 Lx23 + Iz5 + m4 Lx24 + Iz2 + m5 Lx25 + Iz4 + Iz3
107

APENDICE
A. MODELO DINAMICO
DEL ROBOT DE 5 DOF

108

m23 = m5 Lx5 Lcos(q3 + q4 + q5 ) + (m5 L2 + m4 Lx4 L)cos(q3 + q4 ) + m5 Lx5 Lcos(q4 + q5 ) +


((m5 + m4 )L + Lx3 m3 )Lcos(q3 ) + (m4 Lx4 L + m5 L2 )cos(q4 ) + m5 Lx5 Lcos(q5 ) + (m4 + m5 )L2 +
m5 Lx25 + m4 Lx24 + Iz5 + m3 Lx23 + Iz3 + Iz4
m24 = m5 Lx5 Lcos(q3 + q4 + q5 ) + (m5 L2 + m4 Lx4 L)cos(q3 + q4 ) + m5 Lx5 Lcos(q4 + q5 ) +
(m5 L2 + m4 Lx4 L)cos(q4 ) + m5 Lx25 + m4 Lx24 + m5 L2 + m5 Lx5 Lcos(q5 ) + Iz4 + Iz5
m25 = m5 Lx5 Lcos(q5 ) + m5 Lx5 Lcos(q4 + q5 ) + m5 Lx5 Lcos(q3 + q4 + q5 ) + Iz5 + m5 Lx25
m33 = m5 Lx5 Lcos(q4 + q5 ) + (m4 Lx4 L + m5 L2 )cos(q4 ) + m5 Lx5 Lcos(q5 ) + (m4 + m5 )L2 +
Iz3 + m4 Lx24 + Iz5 + Iz4 + m5 Lx25 + m3 Lx23
m34 = m5 Lx5 Lcos(q4 + q5 ) + (m5 L2 + m4 Lx4 L)cos(q4 ) + m5 Lx5 Lcos(q5 ) + (Lx25 + L2 )m5 +
Iz4 + m4 Lx24 + Iz5
m35 = Iz5 + m5 Lx5 Lcos(q5 ) + m5 Lx5 Lcos(q4 + q5 ) + m5 Lx25
m44 = m5 Lx5 Lcos(q5 ) + (Lx25 + L2 )m5 + Iz4 + m4 Lx24 + Iz5
m45 = Iz5 + m5 Lx25 + m5 Lx5 Lcos(q5 )
m55 = m5 Lx25 + Iz5
Elementos del vector de fuerzas gravitacionales Fg :
Fg1
Fg2
Fg3
Fg4
Fg5

= (m1 + m2 + m3 + m4 + m5 )g
=0
=0
=0
=0

Elementos del vector de fuerzas de Coriolis V (q, q):

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

Donde: L1 es la longitud del eslabon 1; L es la longitud de los eslabones 2, 3, 4 y 5; L2 es


la distancia entre la u
ltima articulacion y el punto a considerar como efector final; Lxi es la
distancia entre la iesima articulacion y el centro de masas del iesimo eslabon a lo largo
del eje xi ; ff i es el coeficiente de friccion del iesimo eslabon; Izi es el momento de inercia
del iesimo eslabon y mi la masa del iesimo eslabon.

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

= 7I17 , donde I17 es la matrix identidad de dimension 17.

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

Figura C.1: Ejemplo de simulacion virtual en Matlab/Simulink


117

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.

Punto medio entre Esquinas 1 y 4

Esquina 1

Punto medio entre Esquinas 1 y 2

Esquina 2

Figura C.2: Recorrido de una trayectoria cuadrada en el plano XZ.

119

Punto medio entre Esquinas 2 y 3

Esquina 3

Punto medio entre Esquinas 3 y 4

Esquina 4

Figura C.3: Recorrido de una trayectoria cuadrada en el plano XZ.

120

VIRTUAL EN MATLAB/SIMULINK
APENDICE
C. SIMULACION

Algunas visualizaciones para nuestro prototipo son las siguientes.

Punto inicial

El robot alcanza la circunferencia

El robot continua sobre la circunferencia

El robot termina la trayectoria

Figura C.4: Recorrido de una trayectoria circular en el plano XY.

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.

Constructive Nonlinear Control.

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

Potrebbero piacerti anche