Sei sulla pagina 1di 114

Centro Nacional de Investigacin y Desarrollo Tecnolgico

Departamento de Mecatrnica


TESIS DE MAESTRIA EN CIENCIAS

Control de un Robot tipo PUMA
utilizando celdas neuronales analgicas

presentada por

Enrique Martnez Pea
Ing. en Electronica por el I. T. de Ciudad Victoria


como requisito para obtener el grado de:
Maestro en Ciencias en Ingeniera Mecatrnica


Directores de tesis:
MC. Wilberth Melchor Alcocer Rosado
Dr. Gerardo Vicente Guerrero Ramirez

Jurado:
MC. Jose Luis Gonzalez Rubio Sandoval - Presidente
Dr. Carlos Daniel Garcia Beltran - Secretario
MC. Wilberth Melchor Alcocer Rosado - Vocal
Dr. Gerardo Vicente Guerrero Ramirez Vocal suplente



Cuernavaca, Morelos, Mexico. 1 de Diciembre de 2008

















































DEDICATORIA







Dedico el esIuerzo de mi trabajo, a quien me ha brindado todas las oportunidades y suplido
todas las necesidades economicas y teoricas para iniciarlo y concluirlo, a aquel que dejo
todo, por venir a realizar el pago del rescate de nuestras almas, a quien solo el, es digno de
recibir todo el honor, la gloria y la alabanza, a Jesus, mi amigo Iiel.



Asi mismo, una dedicacion especial a mi Iamilia: esposa, padres e hijas, a quienes tuve
siempre a mi lado, ya sea Iisica o espiritualmente, son ellos mi motor que me hace
levantarme cada dia con el Iin de mejorar.











































































AGRADECIMIENTOS



A Jesus, por estar protegiendo siempre Iielmente a mi Iamilia y por la salvacion de mi
alma.

A Yesica, por ser mi ayuda idonea, amiga y esposa Iiel; que a pesar del distanciamiento de
la Iamilia y seres queridos, acepto estar a mi lado, soportando soledad, cambios en nuestros
ingresos economicos, costumbres, clima, comida, etc.

A Enrique, Maria de los Angeles, RaIael y Mariana, mis padres y madres, que a traves de la
multiIorme expresion de su amor para con nosotros, nos demuestran que en verdad, a pesar
del tiempo y la edad, nunca dejamos de ser sus pequeos hijos.

A Maria Fernanda y Jessica Ariadna, por venir a este mundo, y ensearme que siempre
existe mas de una razon para llegar temprano a casa, y dejar a un lado las preocupaciones
del trabajo y cambiarlas por los juegos y la convivencia Iamiliar.

A mis asesores, el MC Wilberth Melchor Alcocer Rosado y el Dr. Gerardo Vicente
Guerrero Ramirez, por su apoyo y dedicacion a la realizacion de este trabajo de
investigacion.

A mis revisores, el MC Jose Luis Gonzalez Rubio Sandoval y el Dr. Carlos Daniel Garcia
Beltran, por sus correcciones que me ayudaron a mejorar este proyecto de investigacion.

Al CENIDET por brindar las instalaciones y el apoyo institucional, para lograr las
diIerentes tareas relacionadas al desarrollo del presente trabajo de investigacion, asi como a
la DGEST por el apoyo economico recibido durante el transcurso de la maestria. Un
agradecimiento especial al gobierno del estado libre y soberano de Tamaulipas, que a traves
de la Direccion de Atencion Ciudadana y Relaciones Publicas me permitio gozar de un
estimulo economico para el sostenimiento de mi Iamilia.

A nuestra Iamilia en la Ie en Morelos, que nos permitio hacer mas Iacil nuestra estancia en
Cuernavaca, en especial a la Iamilia Garduo Ortiz. Tambien a nuestra extensa Iamilia y
amigos de la mejor ciudad del territorio nacional: Ciudad Victoria.

A Moises, Francisco, Roman, Machorro, Julio, Alejandro, Rosendo, Esteban, Ix-chel y
Felipe, mis amigos y compaeros de la generacion de Mecatronica 2006-2008, con quienes
tuve el honor de compartir aulas, proyectos, tareas, desveladas, presiones y angustias; pero
tambien momentos de gran satisIaccion y buenas jugadas de Iutbol, mis respetos a todos y
cado uno de ellos, les agradezco a todos ustedes el haberme permitido hacer equipo a su
lado, que Iue una de mis metas al iniciar mis estudios de maestria.



















































RESUMEN






En el presente trabajo de investigacion se busca, utilizando un brazo robotico tipo PUMA
de tres grados de libertad, emular el comportamiento del movimiento del brazo humano
bajo el paradigma del Generador Central de Patrones (GCP), que es capaz de producir los
patrones requeridos para controlar los organos (extremidades) de los seres biologicos.


En primer lugar, se implementa el modelo matematico de las Redes Neuronales Celulares
(CNN, por sus siglas en ingles) para obtener un GCP que genere las seales de excitacion
apropiadas que permitan provocar movimientos periodicos similares al brazo humano.


En segundo lugar, se determinan los parametros de la seal del GCP que se requieren para
que el brazo robotico realice el movimiento similar al de una persona que camina y se
implementa el GCP usando ampliIicadores operacionales.


Finalmente, se propone un metodo alternativo de control a partir del Iundamento
matematico de las CNN, se comparan todos los resultados obtenidos tanto en simulacion
como en experimentacion real y se obtienen las conclusiones pertinentes.



Palabras clave: Red Neuronal Celular, Generador Central de Patrones, implementacion
mediante ampliIicadores operacionales, brazo robot.






























































ABSTRACT






In this research project we look Ior, by using a PUMA type robotic arm oI three degrees oI
Ireedom, to emulate the behavior oI the human arm movement under the paradigm oI the
Central Pattern Generator (CPG), which is capable to produce the patterns required Ior
controlling eIIector organs (limbs) into biological beings.


Firstly, the mathematical model oI the cellular neural network (CNN) is implemented in
order to obtain the CPG that generates the proper excitation signals to produce periodical
movements like the human arm.


Secondly, the parameters oI CPG are determined so that the robotic arm perIorms similar
movements as that oI a walking person; CPG is implemented by using operational
ampliIiers.


We propose an alternative method oI control based on the mathematical Ioundations oI
CNN, We also compare all the perIormances obtained Irom real experimentation, and
Iinally we discuss conclusions.


Key words: Cellular Neural Network, Central Pattern Generator, implementation by using
operational ampliIiers, robot arm.















i
Contenido


Lista de Figuras...............................
Lista de Tablas............................
Nomenclatura................................
Abreviaturas............................

CAPITULO 1. Introduccin.....................................
1.1 Antecedentes............................
1.2 Planteamiento del problema......................
1.3 Hipotesis............................
1.4 Objetivos............................
1.4.1 Objetivo general.........................
1.4.2 Objetivos particulares.......................
1.5 Metas..........................................
1.6 Alcance....................................
1.7 Estado del arte............................
1.7.1 Historia de las redes neuronales...................
1.7.2 Redes neuronales aplicadas a control de robots.........................
1.8 Estructura del documento.......................

CAPITULO 2. El brazo robot PUMA como plataforma experimental......
2.1 Introduccion............................
2.2 Estructura mecanica del robot PUMA..................
2.2.1 Espacio de trabajo.........................
2.2.2 EspeciIicaciones tecnicas.......................
2.2.3 Actuadores electricos........................
2.3 Caracteristicas electronicas del robot....................
2.3.1 Etapa de adquisicion de datos....................
2.3.2 Etapa de potencia........................
2.4 Modelo matematico..........................
2.4.1 Introduccion..........................
2.4.2 Modelo cinematico directo e inverso.................
2.4.3 Modelo dinamico........................
2.5 Diseo y construccion de la etapa de adquisicion de datos...........

CAPITULO 3. Redes neuronales celulares................
3.1 Introduccion.............................
3.2 Redes neuronales artiIiciales.....................
3.3 Origen y Iundamento matematico...................
3.3.1 Modelo matematico de las CNN..................
3.4 Generador Central de Patrones.....................
3.4.1 Modelo matematico.......................
3.4.2 Implementacion usando ampliIicadores operacionales...........
3.5 Caracterizacion de la marcha humana...................




iii
v
vi
viii

1
1
2
3
3
3
3
4
4
4
5
6
10

13
13
14
14
15
16
16
17
18
18
18
19
23
25

29
29
30
32
32
33
34
35
37

ii
3.5.1 Aspectos del estudio de la marcha humana..............
3.5.2 Caracteristicas del soItware CaIMoCoCa................
3.5.3 Extraccion del modelo de reIerencia humano.............
3.6 Simulacion y experimentacion del GCP................

CAPITULO 4. Control con celdas neuronales analgicas..........
4.1 Introduccion.............................
4.2 Control de robots manipuladores.....................
4.3 Propuesta de solucion.......................
4.3.1 Modelo matematico.......................
4.4 Simulacion del comportamiento del controlador..............
4.4.1 Descripcion del banco de pruebas...................
4.4.2 Seales entregadas por la celda neuronal analogica.............
4.5 Diseo de la tarjeta de control y potencia................

CAPITULO 5. Pruebas experimentales....................................
5.1 Metodologia de las pruebas experimentales................
5.2 Control de posicion en el hombro...................
5.2.1 Controlador PD..........................
5.2.2 Controlador basado en celdas neuronales analogicas...........
5.2.3 Comparacion del desempeo de los controladores...........
5.3 Control de posicion en el codo.....................
5.3.1 Controlador PD...........................
5.3.2 Controlador basado en celdas neuronales analogicas...........
5.3.3 Comparacion del desempeo de los controladores...........
5.4 Control del seguimiento de trayectoria en el hombro.............
5.4.1 Controlador PD...........................
5.4.2 Controlador basado en celdas neuronales analogicas...........
5.4.3 Comparacion del desempeo de los controladores...........
5.5 Control del seguimiento de trayectoria en el codo............
5.5.1 Controlador PD...........................
5.5.2 Controlador basado en celdas neuronales analogicas...........
5.5.3 Comparacion del desempeo de los controladores...........

CAPITULO 6: Resultados y conclusiones..................
6.1 Resultados de las pruebas.......................
6.2 Objetivos logrados.........................
6.3 Trabajos Iuturos..........................
6.4 Comentarios Iinales..........................

Bibliografa.............................

Anexo 1 Programa de cinematica inversa...................................................................
Anexo 2 Etapa de adquisicion de datos......................................................................
Anexo 3 Diagramas del proyecto................................................................................
Anexo 4 Indices de desempeo...................................................................................
Anexo 5 Articulo tecnico presentado en AMCA 2008...............................................
37
37
38
42

47
47
48
49
51
53
54
55
57

59
59
60
60
61
62
62
63
64
64
65
65
66
67
67
68
69
70

71
71
72
73
73

75

79
81
83
87
89

iii
Lista de Figuras

Figura 1.1 Diagrama de control con red neuronal retropropagada de dos capas..........
Figura 1.2 Estructura de control para un robot usando redes neuronales caoticas........
Figura 1.3 Diagrama a bloques del control y planeacion de un brazo robotico............
Figura 1.4 Diseo de CPG con controlador retroalimentado........................................
Figura 2.1 Robot PUMA de 3 gdl.................................................................................
Figura 2.2 Espacio de trabajo: a) Vista superior, b) Vista lateral.................................
Figura 2.3 Motor Pittman usado como actuador en el robot PUMA............................
Figura 2.4 Tarjeta de adquisicion y control...................................................................
Figura 2.5 Funcionamiento del encoder incremental....................................................
Figura 2.6 Diagrama a bloques de las tarjetas originales de control y potencia...........
Figura 2.7 (a) ConIiguracion brazo derecho, codo abajo. (b) Vista superior robot......
Figura 2.8 Esquema lateral del robot PUMA................................................................
Figura 2.9 Posicion de inicio del brazo robot...............................................................
Figura 2.10 Esquema inicial de la lectura de posicion..................................................
Figura 2.11 Esquema Iinal de la lectura de posicion con ajuste de cero y span...........
Figura 3.1 Estructura de una neurona biologica tipica.................................................
Figura 3.2 Diagrama a bloques de una neurona electronica.........................................
Figura 3.3 Redes Neuronales ArtiIiciales: a) hacia adelante, b) recursivas..................
Figura 3.4 Implementacion del integrador y sumador inversor....................................
Figura 3.5 Implementacion de la Iuncion saturacion....................................................
Figura 3.6 Vista del soItware CaIMoCoCa...................................................................
Figura 3.7 Vista de la base de datos proporcionada por soItware CaIMoCoCa...........
Figura 3.8 Relacion de movimiento humano con el modelo cinematico inverso del
robot.............................................................................................................................
Figura 3.9 Secuencia de angulos para el movimiento de caminar................................
Figura 3.10 Ajuste de curva de la seal de reIerencia del movimiento humano..........
Figura 3.11 Esquematico de la implementacion del GCP.............................................
Figura 3.12 Resultados de simulacion del GCP............................................................
Figura 3.13 Resultados de simulacion del GCP con capacitores de 100uF..................
Figura 3.14 Implementacion del GCP...........................................................................
Figura 3.15 Patron de movimiento del hombro............................................................
Figura 3.16 Desempeo del GCP en el estado estable..................................................
Figura 4.1 Estructura de una CNN................................................................................
Figura 4.2 Evolucion de las variables de estado a traves del tiempo............................
Figura 4.3 Control Proporcional-Derivativo.................................................................
Figura 4.4 Funcion de salida del tipo saturacion..........................................................
Figura 4.5 Funcion de salida sin semiciclo negativo....................................................
Figura 4.6 Banco de pruebas de simulacion.................................................................
Figura 4.7 Simulacion de la red neuronal en Orcad-Spice...........................................
Figura 4.8 Banco de pruebas preliminares....................................................................
Figura 4.9 Etapas del banco de pruebas........................................................................
Figura 4.10 Tipos de estado de las CNN: a) En oscilacion. b) Sin oscilacion..............
Figura 4.11 Seal de potencia a la entrada del motor de CD........................................
Figura 4.12 Tarjeta electronica de las celdas neuronales..............................................
7
8
8
9
14
15
16
17
17
18
20
21
25
26
27
29
31
31
35
36
37
38

39
40
41
42
43
43
44
44
45
47
48
49
50
50
52
53
54
55
56
56
57

iv
Figura 5.1 Desempeo del controlador PD para posicion constante en hombro..........
Figura 5.2 Error en hombro bajo control PD para una posicion constante...................
Figura 5.3 Desempeo de las celdas neuronales para posicion constante en
hombro..........................................................................................................................
Figura 5.4 Error en hombro bajo celdas neuronales para una posicion constante........
Figura 5.5 Desempeo del controlador PD para posicion constante en codo...............
Figura 5.6 Error en codo bajo control PD para una posicion constante........................
Figura 5.7 Desempeo de las celdas neuronales para posicion constante en codo.......
Figura 5.8 Error en codo bajo celdas neuronales para una posicion constante.............
Figura 5.9 Desempeo del controlador PD para seguimiento de trayectoria en
hombro..........................................................................................................................
Figura 5.10 Error en hombro bajo control PD para seguimiento de trayectoria...........
Figura 5.11 Desempeo de las celdas neuronales seguimiento de trayectoria en
hombro..........................................................................................................................
Figura 5.12 Error en hombro bajo celdas neuronales para seguimiento de
trayectoria......................................................................................................................
Figura 5.13 Desempeo del controlador PD para seguimiento de trayectoria en
codo...............................................................................................................................
Figura 5.14 Error en codo bajo control PD para seguimiento de trayectoria................
Figura 5.15 Desempeo de las celdas neuronales seguimiento de trayectoria en
codo...............................................................................................................................
Figura 5.16 Error en codo bajo celdas neuronales para seguimiento de trayectoria.....
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

60
61

61
62
63
63
64
64

65
66
59
66
60
67

68
68
.
697
69
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

v
Lista de Tablas

Tabla 2.1 EspeciIicaciones Tecnicas del robot tipo PUMA..........................................
Tabla 3.1 Parametros del GCP......................................................................................
Tabla 3.2 Valores de las resistencias del circuito GCP.................................................
Tabla 4.1 Valores de los parametros para el controlador basado en CNN....................
Tabla 5.1 Comparacion de indices para el control de posicion constante en
hombro..........................................................................................................................
Tabla 5.2 Comparacion de indices para el control de posicion constante en codo.......
Tabla 5.3 Comparacion de indices para el control de seguimiento de trayectoria en
hombro..........................................................................................................................
Tabla 5.4 Comparacion de indices para el control de seguimiento de trayectoria en
codo...............................................................................................................................



























15
41
41
53

62
65

67

70


























vi
Nomenclatura

A
`
Plantilla de retroalimentacion
i
A Matriz de trasIormacion homogenea
Parametro de la plantilla de retroalimentacion
i
a Longitud del eslabon
i
Giro del eslabon
B
`
Plantilla de prealimentacion o de control
( ) q B Fuerzas de Iriccion
Parametro de la plantilla de retroalimentacion
( ) q q C , Matriz de las Iuerzas de Coriolis y centriIugas
i
d Distancia de desplazamiento
) (q F Funcion de disipacion
) (
if
x f Funcion de salida no lineal
( ) q g Vector de Iuerzas gravitacionales
if
I Corriente de polarizacion
P
K Ganancia proporcional
J
K Ganancia derivativa
) , ( q q K Energia cinetica total del sistema
) , ( q q L Lagrangiano del sistema
) (q M Matriz de inercia
q Posicion de la articulacion
q Velocidad de la articulacion
q Aceleracion de la articulacion
i
Angulo de la union



q
~
Error de posicion
q
~
Error de velocidad
q
d
(t) Posicion deseada de la articulacion
q
m
(t) Posicion medida o real, de la articulacion
alfa R Resistencia del parametro
beta R Resistencia del parametro
Vector de Iuerzas o pares aplicados
) (q U Energia potencial total del sistema
if
u Es la entrada del sistema neuronal
J
i
Voltaje de entrada
J
o
Voltaje de salida
if
x Es el estado de ij-esima neurona
if
v Funcion de salida
Parametro de la plantilla de control

vii
i
:
Rot
,
Rotacion de un angulo
i
alrededor del eje z
i
d :
Tras
,
Traslacion de una distancia
i
d sobre el eje z
i
a x
Tras
,
Traslacion de una distancia
i
a sobre el eje x
i
x
Rot
,
Rotacion de un angulo
i
alrededor del eje x










































viii
Abreviaturas

AC Automata Celular
AMCA Asociacion de Mexico de Control Automatico
CaIMoCoCa Caracterizacion de imagenes en movimiento: correr y caminar
BD Base de Datos
CD Corriente Directa
CDA Convertidor de Digital a Analogico
CENIDET Centro Nacional de Investigacion y Desarrollo Tecnologico
CI Circuito Integrado
CMOS Semiconductor Complementario de Oxido Metalico
CN Comando de Neuronas
CNN Cellular Neural Network (Red Neuronal Celular)
DGEST Direccion General de Educacion Superior Tecnologica
DH Denavit-Hartenberg
FPGA Field Programmable Gate Array
GCP Generador Central de Patrones
gdl Grados De Libertad
IAE Integral oI Absolute value oI Error (Integral del Error Absoluto)
ISE Integral oI the Square oI Error (Integral del Error al Cuadrado)
ITAE Integral oI Time-multiplied Absolute value oI Error
(Integral del error absoluto multiplicado por el tiempo)
ITSE Integral oI Time-multiplied Square value oI Error
(Integral del error al cuadrado multiplicado por el tiempo)
LED Light Emitting Diode (Diodo Emisor de Luz)
LMGN Neuronas Generadoras de Movimiento Local
LPT Line Printer (Puerto de impresora)
LSB Least SigniIicant Bit (Bit menos signiIicativo)
MIMO Multiple Input Multiple Output (Multiples Entradas Multiples Salidas)
MISO Multiple Input Single Output (Multiples Entradas Simple Salida)
MLP Multi Layer Perceptron (Perceptron Multicapa)
MSB Most SigniIicant Bit (Bit mas signiIicativo)
MSE Mean Square Error (Error cuadratico medio)
NHTE Nucleo Hibrido de Transicion de Estados
PC Computadora Personal
PCB Printed Circuit Board (Tarjeta de Circuito Impreso)
PD Proporcional Derivativo
PID Proporcional Integral Derivativo
PUMA Programmable Universal Manipulator Ior Assembly
(Manipulador Universal para Ensamble)
PWM Pulse Width Modulator (Modulador de Ancho de Pulso)
RNA Redes Neuronales ArtiIiciales
RNC Red Neuronal Celular
SNC Sistema Nervioso Central
TTL Transistor Transistor Logic (Logica Transistor Transistor)
VLSI Very Large Scale Integration (Integracion en Escala Muy Grande)
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 1 -







CAPITULO 1
Introduccin







1.1 Antecedentes.


La Robotica es un area de investigacion que se esta desarrollando dentro de la
Coordinacion de Mecatronica del CENIDET, a continuacion se mencionan trabajos
relacionados al control de robots tipo PUMA (Programmable Universal Manipulator Ior
Assembly) que se han realizado en este centro de estudios desde el ao 2005.

En el 2005 la tesis titulada 'Construccion de un brazo robotico de tres gdl y su control
mediante el nucleo hibrido de transicion de estados llevo a cabo la construccion de un
brazo robot tipo PUMA, asi como la implementacion de un control convencional de
posicion PID y ademas un control inteligente usando la metodologia NHTE (Nucleo
Hibrido de Transicion de Estados) |1|, es importante hacer mencion que una de las
principales aportaciones de esta tesis Iue el prototipo mismo, que ha sido utilizado como
plataIorma experimental en diversas tesis de la coordinacion de Mecatronica.

En el 2007 la tesis titulada 'Control inteligente via NHTE en un robot de 3 gdl partio de
los controladores (MISO) descritos en |1| para ampliar el esquema a control multivariable
(MIMO) en las articulaciones de la cintura y el hombro, implementandose controladores
desacoplados y acoplados en estas articulaciones.

En abril de este ao la tesis titulada 'Vision estereoscopica y Estimacion de Pose para el
posicionamiento de un brazo robotico permitio posicionar al brazo robot en determinadas
coordenadas traves de dos tecnicas de analisis de video, una camara externa y una camara
acoplada a la parte Iinal del brazo; por otro lado, otra aportacion Iue el rediseo de las
tarjetas de control y de la etapa de potencia |2|.

Capitulo 1. Introduccin


- 2 -

En este trabajo de investigacion se presenta la implementacion de una tecnica de control
alternativa basada en redes neuronales artiIiciales, aplicada a un brazo robot tipo PUMA
desarrollado en el CENIDET |1|. Como se vera en el capitulo 3, se utilizaron las redes
neuronales celulares para generar por un lado, patrones de oscilacion que llevaran a cabo la
Iuncion de un Generador Central de Patrones (GCP); y por otro lado, basandonos en sus
Iundamentos matematicos, la generacion de una seal de control que permita que el robot
siga la trayectoria deIinida por el GCP.




1.2 Planteamiento del problema.


Los robots Iueron diseados y construidos desde hace varias decadas con el objetivo de
prestar servicios a los humanos en tareas repetitivas y garantizar su seguridad en algunas
tareas extremas; el robot tipo PUMA tiene su origen en la manuIactura de automoviles. El
desarrollo de los controladores para robots manipuladores, ha sido desde los controladores
tradicionales (PD, PID), controladores del tipo adaptable hasta los controladores del tipo
robusto |3|.

Asi mismo, la capacidad y utilidad de las redes neuronales artiIiciales han sido demostradas
en diversas aplicaciones, incluyendo el diagnostico de Iallas, medicina, procesamiento de
seales, vision y otros muchos problemas. De aqui se plantean las siguientes inquietudes,
que son las redes neuronales artiIiciales? y donde son utilizadas?; aunque las
computadoras basadas en la arquitectura Von-Neumann son mucho mas rapidas que la
capacidad numerica humana, las personas son mejores en llevar a cabo tareas simples, tales
como el reconocimiento de patrones.

Esto es debido en parte al paralelismo masivo empleado por el cerebro. Este es el tipo de
problemas en que las tecnicas de inteligencia artiIicial han tenido un exito limitado. El
campo de las redes neuronales, sin embargo, examina una variedad de modelos con una
estructura aproximadamente analoga al conjunto de neuronas del cerebro humano |4|.

Por otro lado, una Iorma de explicar el movimiento de las extremidades, visto como un
Ienomeno biologico, se basa en la hipotesis de que hay un Generador Central de Patrones
(GCP) en el Sistema Nervioso Central (SNC) que produce los patrones basicos de
movimiento |5|. Los movimientos ritmicos que controlan el movimiento de los actuadores
(o musculos) se activan por un grupo de neuronas llamadas Neuronas Generadoras de
Movimiento Local (LMGNs, por sus siglas en ingles). Estas a su vez, se controlan por un
centro neuronal de alto nivel que se llama centro de Comando de Neuronas (CN), el CN es
una coleccion de celulas que generan un patron especiIico para cada esquema de
movimiento, y son responsables de la coordinacion entre las LMGNs y el sistema muscular
(o actuadores).


Control de un Robot PUMA utilizando celdas neuronales analgicas


- 3 -

Este concepto puede implementarse con el paradigma de una Red Neuronal Celular (CNN,
por sus siglas en ingles) Analogica, donde arreglos de circuitos analogicos pueden
realizarse Iacilmente para construir un GCP. Los impulsos electricos en las neuronas que
activan el movimiento obedecen a patrones oscilatorios y dichos patrones pueden
implementarse con ampliIicadores operacionales. Este enIoque tiene la ventaja de ser
Iacilmente implementado para control en tiempo real.


El problema principal que se aborda en esta tesis, se puede dividir en dos etapas:


a) Encontrar los parametros del modelo de la RNC, los cuales a partir del concepto
del GCP, permitan encontrar patrones oscilatorios que emulen el movimiento del
brazo humano, cuando este realiza una tarea repetitiva como el llevado a cabo al
caminar.


b) Emplear bajo el mismo concepto de redes neuronales analogicas, un metodo
alternativo innovador que, a partir de la medicion de la posicion del robot y la
reIerencia proporcionada por el GCP, se determine que Iuerza o par se le debe
ejercer a los motores del brazo robot para que este siga una trayectoria deseada.



1.3 Hipotesis.

Con base en el planteamiento del problema, se establece la siguiente hipotesis:
Es posible llevar a cabo el control de seguimiento de una trayectoria de un brazo robot,
usando ampliIicadores operacionales emulando una neurona analogica.



1.4 Objetivos.


1.4.1 Objetivo general.

Evaluar el desempeo de las Redes Neuronales Analogicas en el control de un robot
tipo PUMA de tres grados de libertad.


1.4.2 Objetivos particulares.

Obtener y simular los modelos de Redes Neuronales Analogicas para 3 celdas
analogicas.

Capitulo 1. Introduccin


- 4 -

Construir las celdas de las Redes Neuronales Analogicas para el caso de estudio
propuesto: robot PUMA.


Probar y evaluar el control del robot PUMA de tres grados de libertad con las
redes neuronales analogicas.



1.5 Metas.


Disear un controlador basado en redes neuronales, con el Iin de controlar el seguimiento
de una trayectoria del robot PUMA.

Simular e implementar las celdas basadas en Redes Neuronales Analogicas, para llevar a
cabo el control del robot PUMA de tres grados de libertad.

Elaborar un articulo para participar en eventos academicos, y presentar los resultados
obtenidos en el desarrollo de esta tesis.



1.6 Alcance.


El alcance de esta propuesta se enIoca en el estudio, simulacion e implementacion de las
redes neuronales analogicas asi como en el control de un robot PUMA de tres grados de
libertad usando las celdas neuronales analogicas.



1.7 Estado del arte.


Las redes neuronales artiIiciales (RNA) nacieron como un intento de modelar la
arquitectura del organo mas complicado del cuerpo humano, el cerebro. Es un campo de
trabajo amplio y como herramienta de solucion de problemas, se utiliza en multitud de
aplicaciones en tiempo real, desde control de robots |6|, sistemas de rastreo inIrarrojo |7|,
modos de control de satelites de respaldo |8|, a reconocimiento de patrones |9|, etc.

Conseguir disear y construir maquinas capaces de realizar procesos con cierta inteligencia
ha sido uno de los principales objetivos del hombre a lo largo de la historia. De los intentos
realizados en este sentido se han llegado a deIinir las lineas Iundamentales para la
obtencion de maquinas inteligentes: En un principio, los esIuerzos estuvieron dirigidos a la
obtencion de automatas, en el sentido de maquinas que realizaran, con mas o menos exito,
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 5 -
alguna Iuncion tipica de los seres humanos. Pero esto no era mas que el resultado del
desarrollo tecnico de la habilidad mecanica de los constructores de tales arteIactos.

La otra linea de investigacion ha tratado, desde los origenes de la humanidad, de aplicar los
principios Iisicos que rigen la naturaleza para obtener maquinas que realizaran los trabajos
pesados en nuestro lugar, pero, no se trata de construir maquinas que compitan con los
seres humanos, si no que realicen ciertas tareas de rango intelectual con que ayudarle, lo
que supone un principio basico de la inteligencia artiIicial.

A continuacion se presenta un panorama historico el desarrollo de las redes neuronales
artiIiciales.


1.7.1 Historia de las redes neuronales.

Esta es una breve recopilacion de hechos que han marcado el estudio y aplicacion de las
redes neuronales |23|:


Alan Turing, en 1936, Iue el primero en estudiar el cerebro como una Iorma de ver el
mundo de la computacion; sin embargo, los primeros teoricos que concibieron los
Iundamentos de la computacion neuronal Iueron Warren McCulloch, un neuroIisiologo, y
Walter Pitts, un matematico, quienes en 1943, lanzaron una teoria acerca de la Iorma de
trabajar de las neuronas. Ellos modelaron una red neuronal simple mediante circuitos
electricos. Otro importante trabajo acerca de la teoria de redes neuronales Iue escrito en
1949 por Donald Hebb, llamado 'La organizacion del comportamiento en la que se
establece una conexion entre la psicologia y la Iisiologia.


En 1957, Frank Rossenblatt comenzo el desarrollo del perceptron, un modelo de red
neuronal que ha sido estudiado hasta Iinales del siglo pasado; el perceptron es la mas
antigua red neuronal, y se usan hoy en dia de varias Iormas para la aplicacion como
reconocedor de patrones. Este modelo era capaz de de generalizar; es decir, despues de
haber aprendido una serie de patrones era capaz de reconocer otros similares, aunque no se
le hubieran presentado anteriormente. Sin embargo, tenia una serie de limitaciones, quiza la
mas conocida era su incapacidad para resolver el problema de la Iuncion OR-exclusiva y,
en general, no era capaz de clasiIicar clases no separables linealmente.


En 1959, Bernard Widrow y Marcial HoII, de StanIord, desarrollaron el modelo ADALINE
(Elementos Lineales Adaptables, por sus siglas en ingles). Esta Iue la primera red neuronal
aplicada a un problema real (Iiltros adaptativos para eliminar ecos en las lineas teleIonicas)
y se ha usado comercialmente durante varias decadas.


En 1969 surgieron numerosas criticas que Irenaron, hasta principios de la decada de 1980,
el crecimiento que estaban experimentando las investigaciones sobre redes neuronales.
Capitulo 1. Introduccin


- 6 -
Marvin Minsky y Seymour Papert, del Instituto Tecnologico de Massachusetts (MIT)
publicaron un libro, llamado 'Perceptrons que, ademas de contener un analisis matematico
detallado del perceptron, consideraban que la extension a perceptrones multinivel, es decir,
de varias capas, era completamente esteril.


En Europa y Japon las investigaciones tambien continuaron. Kunihiko Fukushima
desarrollo en 1980 el neocognitron, un modelo de red neuronal para el reconocimiento de
patrones visuales |4|.


En 1982, coincidieron numerosos eventos que hicieron resurgir el interes por las redes
neuronales. John HopIield presento su trabajo sobre redes neuronales en la Academia
Nacional de las Ciencias. En el trabajo, describe con claridad y rigor matematico una red a
la que ha dado su nombre y ademas mostro como tales redes pueden trabajar y que pueden
hacer.


En 1985, el Instituto Americano de Fisica comenzo lo que ha sido la reunion anual Neural
Networks Ior Computing (Redes Neuronales para Computacion). Esta ha sido la primera de
muchas otras. En 1987, el IEEE (Instituto de Ingenieros Electricos y Electronicos) celebro
la primera conIerencia internacional sobre redes neuronales |20|.


En 1988 el Dr. Leon O. Chua y Lin Yang modelan las redes neuronales celulares llamadas
CNN |24|. Las cuales en su origen se desarrollaron para el reconocimiento de patrones. En
este trabajo de investigacion se proIundiza en este modelo, ver el capitulo 3.


A partir de estos antecedentes, el interes por esta area de investigacion se ha ido
incrementando de manera notable, como lo demuestran tanto el numero de congresos y
reuniones cientiIicas especializadas asi como la aparicion de revistas de calidad dentro del
area, asi como el interes demostrado por diversos tipos de empresas en utilizar esta
tecnologia para el desarrollo de aplicaciones concretas.


En la siguiente seccion se muestran aplicaciones de las redes neuronales dentro del campo
de control de robots.



1.7.2 Redes neuronales aplicadas a control de robots.

El control adaptativo en tiempo real es primordial en muchas de las aplicaciones de control
de procesos, como puede ser el guiado del movimiento de un robot |2|. Hay dos categorias
importantes de robots: los de trayectoria programada y los denominados robots inteligentes.
Para programar los primeros, lo que supone controlar sus movimientos y acciones de la
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 7 -
Iorma deseada, hay que almacenar en memoria una secuencia de coordenadas y comandos.
Durante su uso, se deIinen identicas trayectorias y comandos por medio de la inIormacion
memorizada.


Los robots inteligentes se supone que pueden planear sus acciones. La inteligencia exhibida
por los robots ha sido ampliamente implementada programas de inteligencia artiIicial, lo
cual signiIica que las estrategias han de ser inventadas y programadas heuristicamente por
el ser humano.



Las redes neuronales artiIiciales se han utilizado para:


* IdentiIicar la dinamica inversa de un robot tipo PUMA (tomando en cuenta los primeros 3
gdl), usando una red neuronal de retropropagada (backpropagation) de dos capas |10| para
el seguimiento de una trayectoria sin tener disponible el modelo de la dinamica del robot.





Fig. 1.1 Diagrama de control con red neuronal retropropagada de dos capas.


Donde:


d d d
q q q , , Son la posicion, velocidad y aceleracion deseada
q q q , , Son la posicion, velocidad y aceleracion real
NN Es el bloque de la red neuronal retropropagada

P J
k k , Son la ganancia derivativa y proporcional

2 1
, , Vectores de Iuerzas o pares aplicados a la planta
f Fuerza externa aplicada (disturbio)


Capitulo 1. Introduccin


- 8 -

* Control adaptativo de sistemas no lineales usando redes neuronales caoticas |11|, la
arquitectura esta Iormada por un controlador PD y un controlador de redes neuronales
caoticas en paralelo, el controlador PD es usado durante la Iase inicial de aprendizaje.




Fig. 1.2 Estructura de control para un robot usando redes neuronales caoticas.



* Control de un robot de 2 gdl usando poblacion neuronal |12|, esta poblacion neuronal es
usada para representar una ecuacion diIerencial que gobierna la dinamica de seales, en
este caso se utilizo para codiIicar y reconstruir una seal la cual es generada por un circuito
oscilador lineal, que provee inIormacion a un generador de trayectoria y eventualmente al
calculo de los pares requeridos para lograr las posiciones deseadas.




Fig. 1.3 Diagrama a bloques del control y planeacion de un brazo robotico.




Control de un Robot PUMA utilizando celdas neuronales analgicas


- 9 -

* Controlador PD (Control Proporcional-Derivativo), este tipo de control tan sencillo es
suIiciente para garantizar que en el estado estacionario el error sea cero, es el control
clasico de los manipuladores roboticos, en |13| se utiliza para controlar la posicion de una
articulacion la cual es generada a traves de un CPG (Generador Central de Patrones).




Fig. 1.4 Diseo de CPG con controlador retroalimentado.


En |38| se habla acerca del control e identiIicacion de sistemas no lineales, de tiempo
discreto, basados en su linealizacion, donde dichos sistemas se representan explicitamente
como la suma de sus componentes linealizados y el componente no lineal residual. Bajo la
suposicion de que el sistema linealizado es controlable y observable, demuestra que:


1) El sistema no lineal, tambien es controlable y observable bajo un dominio local.


2) Existe una ley de retroalimentacion para estabilizar localmente el sistema no lineal.


3) El sistema no lineal puede localmente seguir con exactitud una constante o una
secuencia periodica, si su sistema linealizado lo puede hacer.

Este trabajo es importante para entender el uso de las redes neuronales aplicadas al control
e identiIicacion de sistemas dinamicos no lineales, de tiempo discreto.


En |22| se explica como las redes neuronales pueden Iuncionar para adaptar sistemas de
control inteligentes basados en logica diIusa, llamados ANFIS (Sistemas de InIerencia
Neuro-DiIusa Adaptativa). El objetivo es poder generar, a partir de un conjunto de patrones
de entrada/salida, un modelo diIuso que tenga el mismo comportamiento que el sistema
original.
Capitulo 1. Introduccin


- 10 -

Una vez obtenida la dinamica de la planta es posible llevar a cabo el control de la misma a
traves de distintas tecnicas, como lo son:

Control experto.

Aprendizaje inverso.

Retropropagacion a traves del tiempo.

Aprendizaje recurrente en tiempo real.

Ganancias programadas.


Particularmente, como se vera en el capitulo tres, en este trabajo se estudiaron a Iondo las
redes neuronales celulares; respecto al estado del arte no se encontro inIormacion acerca
del control de sistemas roboticos empleando este tipo de red neuronal, la mayoria de los
trabajos |9||14||15||16|, se enIocan en emplear el Generador Central de Patrones (GCP).


Este GCP se utiliza para reproducir los movimientos del comportamiento de un ser
biologico, y no presentan opciones para el seguimiento de esta trayectoria bajo la misma
red, sino que indican que a partir de ese punto sugieren agregar una etapa de control
tradicional o no lineal, para asegurar que el robot siga la trayectoria deIinida por el GCP.



1.8 Estructura del documento.


Hasta este punto, se ha mostrado un panorama general del control del brazo robot
empleando diIerentes tecnicas. En los siguientes capitulos se presenta el desarrollo de este
trabajo de tesis. Cada capitulo abarca los siguientes aspectos:


Capitulo 2. PlataIorma experimental. Se describe el brazo robot utilizado en las pruebas de
experimentacion del control basado en las celdas neuronales analogicas; asi como un breve
estudio acerca de su modelo matematico y la construccion de la etapa de adquisicion de
seales, que indica la posicion del robot.


Capitulo 3. Redes Neuronales Celulares. Se presenta la teoria de las redes neuronales
artiIiciales asi como su aplicacion principal a traves del Generador Central de Patrones, por
otro lado, se describe la metodologia empleada para calcular los parametros del GCP para
que este reproduzca los movimientos del brazo humano al caminar.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 11 -

Capitulo 4. Diseo del control. La hipotesis planteada consistia en deIinir un metodo
alternativo de control basado en celdas neuronales analogicas, por tal motivo, en este
capitulo se expone el modelo matematico y el diseo del control empleando ampliIicadores
operacionales.


Capitulo 5. Pruebas experimentales. Se describen las pruebas realizadas al brazo robot
empleando valores de consigna constantes y variables (tomados estos ultimos del GCP), se
validan los resultados obtenidos comparando el desempeo de los controladores basado en
celdas neuronales analogicas contra controladores tradicionales.


Capitulo . Conclusiones. Se deIinen las conclusiones generales de este trabajo, asi como
los objetivos logrados y las oportunidades para mejorar el desempeo de las celdas
neuronales.































Capitulo 1. Introduccin


- 12 -












Pagina en blanco intencional
























Control de un Robot PUMA utilizando celdas neuronales analgicas


- 13 -







CAPITULO 2
El brazo robot PUMA como
plataforma experimental







2.1 Introduccion.



El robot PUMA Iue desarrollado por la empresa Unimation para General Motors en 1978,
es uno de los robots mas utilizados en las universidades para el estudio de los mismos.
Cuenta con seis grados de libertad (6 gdl) de los cuales los primeros tres eslabones sirven
para localizar un punto en el espacio, y los ultimos tres eslabones (llamados comunmente
como mueca) se usan para orientar el eIector Iinal.


La tesis utilizara un robot PUMA de tres grados de libertad, es decir, solo posee cintura,
hombro y codo, no tiene mueca o eIector Iinal; el cual Iue diseado y construido como
parte del trabajo de una tesis dentro de la coordinacion de Mecatronica |1|.


En la Fig. 2.1 se muestra la estructura mecanica del brazo robot, donde se aprecian los tres
gdl de la plataIorma experimental. La primera articulacion es la cintura y se controla a
traves del motor 1 con un sistema de transmision por poleas y bandas dentadas de alto par,
siendo esta articulacion la unica que no se ve aIectada por los eIectos de la gravedad, sin
embargo presenta el mayor momento de inercia cuando los eslabones del brazo y antebrazo
se encuentran alineados y Iormando 90 respecto a la cintura.




Capitulo 2. El brazo robot PUMA como plataforma experimental


- 14 -


Fig. 2.1 Robot PUMA de 3 gdl.


La segunda articulacion es el hombro y se controla por el motor 2 trasmitiendo la potencia a
la articulacion a traves de bandas y poleas dentadas de alto par, siendo el hombro un
elemento que se ve aIectado por el momento de inercia, la gravedad de la propia
articulacion y por el codo.


La tercera articulacion es el codo el cual es controlado por el motor 3 y la potencia a esta
articulacion se trasmite de la misma manera que las dos articulaciones anteriormente
mencionadas. Esta junta se ve aIectada por el momento de inercia y por los eIectos de la
gravedad.


Debido a la naturaleza del proposito de la tesis, solo se usaron las juntas correspondientes al
hombro y al codo, para evaluar el comportamiento de las redes neuronales analogicas,
emulando el movimiento ritmico del brazo humano al caminar.



2.2 Estructura mecanica del robot PUMA.


2.2.1 Espacio de trabajo.


En la Iigura 2.1 se muestra el espacio de trabajo que el robot tipo PUMA necesita
para desempearse en Iorma segura (es decir, que no exista algun objeto que dae el robot),
se determina directamente por las longitudes de los eslabones.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 15 -


Fig. 2.2 Espacio de trabajo: a) Vista superior, b) Vista lateral.


La estructura mecanica del robot tipo PUMA se diseo con la herramienta
computacional Solid Works 2003 , con ella se analizaron los esIuerzos a los que se
somete la estructura y el espacio seguro de trabajo al simular la estructura mecanica para
diIerentes posiciones. Esta inIormacion se utilizo para generar las ecuaciones matematicas
que representan la dinamica del robot.


2.2.2 EspeciIicaciones tecnicas.


En la tabla 3.1 se muestran las especiIicaciones del robot tipo PUMA.


Tabla 2.1 Especificaciones Tcnicas del robot tipo PUMA.
Caracterstica Especificacin
Numero de ejes 3
Rango de movimiento:
Eje 1: Cintura
Eje 2: Hombro
Eje 3: Codo

360
270
310
Radio maximo de operacion 331mm
Posicion inicial (home Iisico) No implementado
*

EIector Iinal No implementado
Realimentacion
Encoders opticos incrementales en cada
motor. 500 cuentas/rev. Seales cuadradas
desIasadas 90, entrada 5 Vcd, 40 A. (HP,
HEDS-9100)
Actuadores
Motores de CD, 24 Vcd
(Pittman , GM9234C212-R3)
Capitulo 2. El brazo robot PUMA como plataforma experimental


- 16 -
Reduccion por poleas:
Cintura:
Hombro:
Codo:

12.5:1
12.5:1
5.0:1
Transmision de Potencia Poleas y bandas dentadas de alto par
Peso total del brazo robot 17 Kg.
Carga maxima 0.250 Kg.
* Para este trabajo de tesis se considero un 'home o postura de inicio especiIica, la cual se detalla
en la seccion 2.5.




2.2.3 Actuadores electricos.


Cada articulacion del robot PUMA se controla por un motor de CD de iman
permanente. Este tipo de motor es utilizado en el control de manipuladores debido a sus
caracteristicas dinamicas y Iacilidad de control. Los motores que controlan cada
articulacion son de la marca Pittman y estan acoplados a una caja de engranes y un
codiIicador de posicion (encoder) incremental. En la Fig. 2.3 se muestra el motor comercial
que se utiliza en cada articulacion del robot PUMA.




Fig. 2.3 Motor Pittman usado como actuador en el robot PUMA.




2.3 Caracteristicas electronicas del robot.


Originalmente el brazo robot tipo PUMA cuenta con una tarjeta de adquisicion de datos y
una de control por cada articulacion; pero como resultado de la tesis |2| se llevo a cabo un
rediseo de las tarjetas, actualmente existe una tarjeta electronica que sirve para controlar
las tres articulaciones del robot. Ver Fig. 2.4.

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 17 -


Fig. 2.4 Tarjeta de adquisicion y control.



2.3.1 Etapa de adquisicion de datos.


La localizacion y el sentido de giro de cada eje son medidos por un encoder optico
incremental (ver Fig. 2.5), el cual consiste de un disco ranurado (con 500 cuentas/rev)
acoplado a la Ilecha del motor, un led (diodo emisor de luz) y un par de Iotodiodos. El
sentido de giro de la articulacion es evaluado comparando la seal de los dos Iotodiodos
colocados de tal manera que reciben la seal proveniente del LED desIasada 90. A traves
de la generacion de pulsos de los encoders se determinan tanto la posicion como el sentido
de giro de cada eslabon.



Fig. 2.5 Funcionamiento del encoder incremental.

Capitulo 2. El brazo robot PUMA como plataforma experimental


- 18 -

2.3.2 Etapa de potencia.

Como se explico en la seccion 2.3 existe un nuevo diseo de las tarjetas de control
del brazo robot PUMA; en las tarjetas originales la PC indicaba la seal de control y el
sentido de giro, a traves del puerto paralelo (LPT) hacia la tarjeta, la cual convertia de seal
digital a seal analogica el byte de control. Este a su vez se tomaba como reIerencia para
que un generador analogico de PWM entregara la seal al driver de potencia (el puente H
18200, ver Fig. 2.6).




Fig. 2.6 Diagrama a bloques de las tarjetas originales de control y potencia.


En |2| se detalla el reemplazo del CI 18200, por 4 transistores de potencia de salida
Darlington, conIigurados como puente H, estos tienen la ventaja de manejar mayor
corriente carga. Como entradas a esta etapa se requieren una seal de sentido de giro y otra
seal de velocidad (expresada en Iorma de PWM) la cual trabaja de manera inversa, es
decir, para un valor alto, no entrega voltaje de salida mientras que, para un valor bajo,
proporciona la maxima capacidad de alimentacion al motor. En la seccion 4.4 se toma en
cuenta este ultimo diseo para la construccion de la etapa de potencia.


2.4 Modelo matematico.

2.4.1 Introduccion.

Una de las ventajas de conocer el modelo matematico de un robot, es que permite
anticipar el resultado de un controlador sin necesidad de tener que construir el mismo,
aunque depende de lo bien que se haya llevado a cabo el modelo, de la herramienta con que
realice la simulacion, etc. Para conocer mas a Iondo el Iuncionamiento de este brazo robot,
se presentan sus diIerentes modelos matematicos.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 19 -

2.4.2 Modelo cinematico directo e inverso.


La cinematica es la ciencia que trata del movimiento sin considerar las Iuerzas que
lo ocasionan |17|. Su estudio se basa en la variable de posicion junto con todas sus
derivadas (velocidad, aceleracion, etc.). De esta manera el estudio de la cinematica se
reIiere a las propiedades geometricas del robot. Existen dos enIoques dentro de la
cinematica, llamados cinematica directa y cinematica inversa.


a) Modelo Cinematico Directo.
El problema de la cinematica directa consiste en calcular la posicion y orientacion del
eIector Iinal respecto a un marco de coordenadas Iijo, llamado marco inercial que
generalmente se localiza en la base del robot. Asi mismo, un metodo para resolver este
problema, consiste en utilizar las matrices de transIormacion homogenea, las cuales estan
Iormadas por cuatro operaciones o movimientos basicos |18|. Esto es, cada matriz A
i
esta
conIormada por el producto de cuatro movimientos, dos rotaciones y dos traslaciones puras.


i i i i
x a x d : : i
Rot Tras Tras Rot A
, , , ,
, , , = (2.1)


Cabe mencionar que el producto de matrices no es conmutativo por lo que las operaciones
deben de realizarse en el orden que se indica. Desarrollando cada una de las operaciones de
la matriz (2.1), la matriz de transIormacion homogenea resulta en:


(
(
(
(

=
1 0 0 0
0
i i i
i i i i i i i
i i i i i i i
i
d C S
S a S C C C S
C a S S C S C
A



(2.2)


Donde

i
a es la longitud del eslabon
i
S
i
Sen
i
es el giro del eslabon
i
S
i
Sen
i
d es la distancia de desplazamiento
i
C
i
Cos
i
es el angulo de la union
i
C
i
Cos

Para aplicar este metodo es necesario obtener los parametros de la convencion DH |18|, la
cual consiste en establecer de manera sistematica un sistema de coordenadas ligado a cada
Capitulo 2. El brazo robot PUMA como plataforma experimental


- 20 -
eslabon i de una cadena articulada, pudiendose determinar a continuacion las ecuaciones
cinematicas de la cadena completa utilizando (2.2).


Para ello se requiere de un esquema que relacione los parametros DH del robot de tres
grados de libertad, en |3| existe una buena reIerencia a este metodo y a la obtencion de los
parametros requeridos para este caso particular. Asi que, basado en estos resultados se
desarrollo un programa en Matlab que encuentra la posicion Iinal del robot, teniendo como
alimentacion los angulos deseados.


b) Modelo cinematico inverso.

El problema de la cinematica inversa es que, dada una posicion y una orientacion deseadas
del eIector Iinal, se debe calcular el conjunto de angulos en las articulaciones para que
logren esa posicion y orientacion. Para resolver este problema existen diversos metodos, el
mas Iacil de realizar cuando son pocos los eslabones, es el metodo geometrico |18|, el cual
busca encontrar relaciones geometricas para deIinir los valores de las coordenadas
articulares. A continuacion se demuestra el desarrollo de las ecuaciones que rigen la
cinematica inversa del robot tipo PUMA.

Para iniciar con el analisis, se escoge la conIiguracion brazo derecho |18| y se obtiene un
esquema superior del robot manipulador, asi mismo se tienen las coordenadas Iinales
deseadas (P
x
, P
y
, P
z
).


Fig. 2.7 (a) ConIiguracion brazo derecho, codo abajo. (b) Vista superior robot PUMA


+ =
1
(2.3)

2 2
v x
P P r + = (2.4)
|
|
.
|

\
|
=
x
v
P
P
arctg (2.5)
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 21 -

|
|
|
.
|

\
|
+
=
|
|
.
|

\
|

=
2 2 2 2 2
d P P
d
arctg
d r
d
arctg
v x
(2.6)


Empleando las ecuaciones (2.5) y (2.6) en la (2.3) se obtiene el calculo de la primera
articulacion.


|
|
|
.
|

\
|
+
+
|
|
.
|

\
|
=
2 2 2
1
d P P
d
arctg
P
P
arctg
v x
x
v
(2.7)


Para calcular las otras dos coordenadas articulares se requiere nuevamente de un esquema,
pero que ahora muestre una vista lateral.



Fig. 2.8 Esquema lateral del robot PUMA.


De la Iigura 2.8, utilizado la ley de cosenos, se tiene que:



( )
3 3 2
2
3
2
2
2
1
2
2 ) ( + = + Cos a a a a d P r
:
(2.8)


( )
3 3 2
2
3
2
2
2
1
2
2 ) ( Cos a a a a d P r
:
+ + = + (2.9)

Capitulo 2. El brazo robot PUMA como plataforma experimental


- 22 -

Despejando para
3



D
a a
a a d P r
:
=
+
=
3 2
2
3
2
2
2
1
2
3
2
) (
cos (2.10)


Con la ecuacion (2.10) se encontraria el angulo para la articulacion 3 en un solo cuadrante,
para encontrar el angulo en cualquier cuadrante se procede de la siguiente manera;
utilizando la identidad trigonometrica:


1 cos
3
2
3
2
= + sen (2.11)


3
2
3
2
cos 1 = sen (2.12)


Sustituyendo (2.10) en esta ultima ecuacion se obtiene


2
3
2
1 D sen = (2.13)


2
3
1 D sen = (2.14)


Ahora utilizando la identidad trigonometrica


3
3
3
cos

sen
tg = De aqui, despejando para
3
, se obtiene


D
D
2
3
1
= (2.15)


Donde
3 2
2
3
2
2
2
1
2
2
) (
a a
a a d P r
D
:
+
= (2.16)

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 23 -

Para obtener la ultima coordenada articular, se deduce del esquema que


=
2
(2.17)


|
|
|
.
|

\
|
+

=
2 2 2
1
d P P
d P
arctg
v x
:
(2.18)


|
|
.
|

\
|
+
=
3 3 2
3 3
cos

a a
sen a
arctg (2.19)


Sustituyendo (2.18) y (2.19) en (2.17) se obtiene el ultimo angulo requerido.


|
|
.
|

\
|
+

|
|
|
.
|

\
|
+

=
3 3 2
3 3
2 2 2
1
2
cos

a a
sen a
arctg
d P P
d P
arctg
v x
:
(2.20)



Utilizando Matlab y las ecuaciones desarrolladas (2.7), (2.15), (2.16) y (2.20) se genera el
codigo para resolver la cinematica inversa del robot PUMA de 3 gdl; un punto importante
es que al usar la Iuncion de tangente inversa, se use el comando atan2 o arco tangente de
dos argumentos, con el Iin de obtener los angulos correctos para cualquier cuadrante.


En la seccion de anexos se puede encontrar el programa realizado en Matlab para la
cinematica inversa. Posteriormente en la seccion 3.5.3 se usaron estos programas
modiIicados para generar los angulos requeridos por el brazo robot para que Iorme la
trayectoria de un brazo humano que realiza la tarea de caminar.



2.4.3 Modelo dinamico.


Para obtener el modelo dinamico de un sistema utilizando la Iormulacion Euler-
Lagrange |19|, se requiere de seguir los siguientes pasos:


Capitulo 2. El brazo robot PUMA como plataforma experimental


- 24 -

1.- EspeciIicar las coordenadas generalizadas, en este caso los angulos de las articulaciones.

2.- Obtener la energia cinetica total del sistema, denotada como ) , ( q q K

3.- Obtener la energia potencial total del sistema, denotada como ) (q U

4.- Obtener el Lagrangiano del sistema, el cual esta deIinido como:


) ( ) , ( ) , ( q U q q K q q L =
(2.21)


5.- Obtener la Iuncion de disipacion, reIerente a las Iuerzas de Iriccion, ) (q F

6.- Desarrollar la ecuacion de movimiento de Euler-Lagrange


i
i i i
q
F
q
L
q
L
dt
d
=

|
|
.
|

\
|


para n i ,..., 2 , 1 = (2.22)


De esta manera las n ecuaciones dinamicas obtenidas representan el modelo dinamico del
sistema. En |3| el M.C. Josue R. Martinez M. realizo el desarrollo y comprobacion de las
ecuaciones para el modelo dinamico del robot PUMA de 3 gdl, asi que solo se llevo a cabo
la veriIicacion y simulacion de las ecuaciones.

Por otro lado las n ecuaciones dinamicas para cualquier robot manipulador se pueden
expresar matricialmente por medio de la siguiente ecuacion |18|:


( ) ( ) ( ) = + + + q g q q B q q q C q q M , ) (
(2.23)


Donde

) (q M Matriz de inercia, que es simetrica y deIinida positiva.
( ) q q C , Matriz de las Iuerzas de Coriolis y centriIugas.
( ) q B Fuerzas de Iriccion.
( ) q g Vector de Iuerzas gravitacionales.
Vector de Iuerzas o pares aplicados.
q q q , , Aceleracion, velocidad y posicion de la articulacion, respectivamente.

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 25 -

El entendimiento de este modelo permite inIerir que es una ecuacion diIerencial de segundo
orden y es NO-LINEAL. Estas dos ultimas caracteristicas son las que han hecho del estudio
y control de los robots manipuladores algo complejo, en especial el hecho de que su
dinamica sea no-lineal.



2.5 Diseo y construccion de la etapa de adquisicion de datos.


Debido a la naturaleza digital de los enconders (presentados en la seccion 2.3.1), es
necesario utilizar un microcontrolador para que registre los pulsos de ambos canales y
codiIique la seal en una variable del tipo analogica.


Se busca que la salida en voltaje de la posicion sea de 0 a 5 volts, donde la posicion media,
sea 2.5Vcd e indique cuando el brazo esta en la posicion neutral (paralelo al eje vertical), es
decir, se tiene como requerimiento tener colocado el brazo robot en esta posicion (home
Iisico) antes de comenzar con las pruebas.




Fig. 2.9 Posicion de inicio del brazo robot.

Capitulo 2. El brazo robot PUMA como plataforma experimental


- 26 -

De manera esquematica, la idea general queda representada de la siguiente manera:


Fig. 2.10 Esquema inicial de la lectura de posicion.



Donde una vez que el microcontrolador incrementa o decrementa una variable, esta se
transIiere externamente a traves de los puertos de salida, para excitar un buIIer que usa un
convertidor de digital a analogico con un arreglo de resistencias del tipo R2R, para obtener
la representacion de la posicion en voltaje.

Para el caso del hombro, su desplazamiento maximo es de 180; asi el microcontrolador
debe contar la siguiente cantidad de pulsos:


Pulsos cuentas revd redpol redmot res 18437 * * * =

Donde:

res resolucion del enconder 500 cuentas / revolucion

redmot reduccion del motor 5.9:1

redpol reduccion por poleas 12.5:1

revd revolucion deseada rev. 180


Esto quiere decir que para un desplazamiento del hombro de 180 el microcontrolador debe
contar 18437 pulsos, lo cual implica que el microcontrolador debe tener un registro de 15
bits. Como la serie PIC16F8xx solo maneja registros de 8 bits, se usan dos variables
internas, una manejara los 8 bits mas bajos y la otra los bits restantes.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 27 -

Al comenzar a hacer la validacion se obtuvo un voltaje en la escala maxima de 3.5Vcd y un
voltaje de 0.12Vcd en la escala minima (debido a las caracteristicas electricas del buIIer);
por lo que se agrego una etapa de acondicionamiento utilizando ampliIicadores
operacionales, para tener una seal de 0 a 5 volts.




Fig. 2.11 Esquema Iinal de la lectura de posicion con ajuste de cero y span.



Por otro lado, en el caso del codo, se presenta la misma situacion, donde se tiene un
desplazamiento de 180, con la diIerencia de tener una menor reduccion de poleas. Por lo
que el numero de cuentas es inIerior que el usado para el hombro, esta diIerencia se elimina
adecuando la etapa de ampliIicacion del esquema.


El diseo de las tarjetas de adquisicion de datos se realizo usando el programa Protel DXP,
en la seccion de anexos (Anexo 2) se muestran los diagramas de esta etapa.













Capitulo 2. El brazo robot PUMA como plataforma experimental


- 28 -













Pagina en blanco intencional

























Control de un Robot PUMA utilizando celdas neuronales analgicas


- 29 -







CAPITULO 3
Redes neuronales celulares







3.1 Introduccion.


Se estima que el sistema nervioso de un ser humano contiene alrededor de cien mil
millones de neuronas, organizadas mediante una red compleja en la que las neuronas
individuales pueden estar conectadas a varios miles de neuronas distintas. Se calcula que
una neurona del cortex cerebral recibe inIormacion, por termino medio, de unas 10,000
neuronas, y envia impulsos a varios cientos de ellas.

Desde un punto de vista Iuncional, las neuronas constituyen procesadores de inIormacion
sencillos. Como todo sistema de este tipo, posee un canal de entrada de inIormacion, las
dendritas; un organo de computo, el soma; y un canal de salida, el axon (Fig. 3.1).



Fig. 3.1 Estructura de una neurona biologica tipica.

Capitulo 3. Redes Aeuronales Celulares


- 30 -

La mayor parte de las neuronas poseen una estructura de arbol llamada desdirias de tal
Iorma que las neuronas se unen a traves de uniones denominadas sinapsis. En el tipo de
sinapsis mas comun no existe un contacto Iisico entre las neuronas, sino que estas
permanecen separadas por un pequeo vacio de unas 0.2 micras.


El cuerpo de la neurona o soma contiene el nucleo. Se encarga de todas las actividades
metabolicas de la neurona y recibe la inIormacion de otras neuronas vecinas a traves de las
conexiones sinapticas, de hecho algunas neuronas se comunican solo con las cercanas,
mientras que otras se conectan con miles.


Las dendritas, parten del soma y tienen ramiIicaciones. Se encargan de la recepcion de
seales de las otras celulas a traves de conexiones sinapticas. Si pensamos en terminos
electronicos se puede decir que las dendritas son las conexiones de entrada de la neurona.
Por su parte el axon es la "salida" de la neurona y se utiliza para enviar impulsos o seales a
otras celulas nerviosas.


Cuando el axon esta cerca de sus celulas destino se divide en muchas ramiIicaciones que
Iorman sinapsis con el soma o axones de otras celulas. Esta union puede ser "inhibidora" o
"excitadora" segun el transmisor que las libere. Cada neurona recibe de 10,000 a 100,000
sinapsis y el axon realiza una cantidad de conexiones similares.


La transmision de una seal de una celula a otra por medio de la sinapsis es un proceso
quimico. En el se liberan substancias transmisoras en el lado del emisor de la union. El
eIecto es elevar o disminuir el potencial electrico dentro del cuerpo de la celula receptora.
Si su potencial alcanza el umbral se envia un pulso o potencial de accion por el axon. Se
dice, entonces, que la celula se disparo. Este pulso alcanza otras neuronas a traves de las
distribuciones de los axones |20|.



3.2 Redes neuronales artiIiciales.


Un modelo de neurona electronica que permite trasladar el concepto de las neuronas
biologicas en neuronas artiIiciales se presenta en |21|, donde el modelo presenta tres
componentes principales: un modulo sumador, un modulo integrador y otro de generacion
de respuesta. Mas adelante, se vera como este concepto enIocado en la teoria de las redes
neuronales celulares, puede ser implementado utilizando ampliIicadores operacionales.




Control de un Robot PUMA utilizando celdas neuronales analgicas


- 31 -


Fig. 3.2 Diagrama a bloques de una neurona electronica.



Inspirados en los sistemas nerviosos, muchos investigadores, especialmente aquellos
dedicados a modelar el cerebro, han estado explorando diIerentes alternativas para modelar
las redes neuronales artiIiciales. Se ha modelado el cerebro como un sistema dinamico no
lineal, continuo en el tiempo, cuyas diIerentes arquitecturas buscan emular los mecanismos
del cerebro para simular un comportamiento inteligente.


Por lo tanto, existe una gran variedad de enIoques de arquitectura, una de las clasiIicaciones
de las redes neuronales es acerca de su organizacion, por un lado existen las redes
neuronales hacia adelante y las redes neuronales recursivas |22|.




Fig. 3.3 Redes Neuronales ArtiIiciales: a) hacia adelante, b) recursivas.


La principal diIerencia entre ellas es que las salidas de las primeras no regresan a una capa
anterior; mientras que en las recursivas si lo hacen, ver Fig. 3.3


Por otro lado, cuando las redes neuronales son desarrolladas a nivel soItware o en sistemas
basados en un microcontrolador, se clasiIican como digitales; asi mismo, cuando la
implementacion se lleva a cabo con circuitos ampliIicadores o FPGA (Field Programmable
Gate Array), se dice que son analogicas. La ventaja de estas ultimas radica en su capacidad
de procesamiento en paralelo.



Capitulo 3. Redes Aeuronales Celulares


- 32 -

En la literatura se pueden encontrar diIerentes modelos matematicos de redes neuronales,
como las redes neuronales con retropropagacion a traves del tiempo |22|, perceptron
multicapa (MLP, por sus siglas en ingles) |23|, Redes neuronales Nv |7||8|, Redes
neuronales celulares |24|, de estas ultimas se tiene la ventaja de que pueden ser
implementadas usando ampliIicadores operacionales |9| lo que permite que su
implementacion sea de bajo costo.

De esta manera se llega a la base del proposito de esta tesis, que es trabajar con redes
neuronales celulares llamadas tambien 'celdas y del tipo analogica, es decir,
implementadas con ampliIicadores operacionales. En la siguiente seccion se proIundizara
en el estudio de este tipo de redes neuronales.

3.3 Origen y Iundamento matematico.

Las Redes Neuronales Celulares (CNN, por sus siglas en ingles) son concebidas en el
Laboratorio de la Universidad de CaliIornia en Berkeley por Leon Chua en el ao de 1987;
pero es hasta el ao de 1988 cuando se publica su trabajo de manera conjunta con Lin Yang
con un par de articulos en los que presentan la teoria |24| asi como las primeras
aplicaciones |9|. El principal campo de aplicacion de las CNN ha sido, desde su deIinicion,
el procesamiento de imagenes y el reconocimiento de patrones; pero tambien se han
utilizado para el control de postura y movimiento de robots biologicamente inspirados
|14||16||25||26|.

Los Iundamentos en los cuales se basa el Dr. Chua para generar su idea son: las redes
neuronales artiIiciales (RNAs), y los automatas celulares (ACs); de las primeras extrae la
capacidad para el procesamiento asincrono en paralelo, la dinamica en tiempo continuo y la
interaccion global de los elementos de la red; mientras que de los AC obtiene la estructura,
o en otras palabras, la idea de distribuir sus elementos de procesamiento (tambien llamadas
celulas) en rejillas regulares y permitir que la comunicacion de cada celula con las otras se
llevara a cabo a nivel local.


3.3.1 Modelo matematico de las CNN.

La unidad basica de un red neuronal celular es llamada celula (o celda) |24|.
Contiene elementos lineales (capacitor, resistencias) y no lineales (Iuentes de corriente) y
Iuentes independientes. La Red Neuronal Celular deIinida por Chua y Yang consiste en
usar circuitos dinamicos no lineales, localmente interconectados e identicos. Usando un
arreglo de 2 dimensiones, en una capa simple, entonces matematicamente esta deIinicion se
escribe como |27|:

if
if N kl
if kl kl if
if N kl
if kl kl if if
if
I t u t u B t v t v A x
dt
dx
r r
+ + + =

) (
;
) (
;
)) ( ), ( (
`
)) ( ), ( (
`
(3.1)

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 33 -
De la ecuacion:

if Se reIiere a la esima if neurona en una malla de 2 dimensiones
) (if N kl
r
Es la esima kl neurona con una vecindad de radio r de la esima if neurona
if
x Es el estado de la esima if neurona
A
`
Es la plantilla de retroalimentacion (Ieedback template)
B
`
Es la plantilla de prealimentacion, junto con A, llamada tambien plantilla de
control (control template)
if
u Es la entrada del sistema
if
I Es el termino de corriente de polarizacion (bias), usualmente una constante
if
v Es la salida de la esima if neurona

Por otro lado, la Iuncion de salida se representa como:

) (
if if
x f v = (3.2)

Donde, ) (
if
x f es una Iuncion de salida no lineal, llamada tambien Iuncion de
umbral. Existen diIerentes Iunciones de salida no lineales |27|: sigmoide, unitaria,
gaussiana, etc. Se dice que si 0
`
= B para cada neurona, entonces la CNN es autonoma.

Una de las aplicaciones de las CNN es el llevar a cabo la Iuncion de un Generador
Central de Patrones (GCP). En la siguiente seccion se explora este concepto y se ilustra
como participa en el desarrollo de la tesis.


3.4 Generador central de patrones.

Los movimientos realizados por animales cuando realizan actividades tales como caminar,
volar, correr, nadar, etc.; se llevan a cabo empleando patrones periodicos en sus
extremidades. La hipotesis relacionada propone la existencia de un Generador Central de
Patrones (GCP) que se encarga de realizar estos patrones. Estudios realizados sobre como
los animales realizan sus movimientos, revelan que el patron de actividad locomotora se
debe a un patron de actividad neuronal |28|.

El principal componente del sistema motriz es el GCP, un circuito neuronal que produce un
patron motriz ritmico sin necesidad de sensores que retroalimenten o controlen. Se localiza
generalmente en la espina cordal en los vertebrados o en los ganglios en los invertebrados.

El GCP incluye el mecanismo neuronal necesario para la generacion ritmica coordinada
neuro-motora y por lo tanto de la salida del sistema, es decir los musculos. La salida del
GCP controla directamente los organos eIectores (piernas, brazos, dedos, etc.) mientras que
las seales que recibe del control neuronal superior solo son necesarias para iniciar el
movimiento, pero no para generar el patron correcto de movimiento.
Capitulo 3. Redes Aeuronales Celulares


- 34 -

Existen diIerentes enIoques acerca del diseo del GCP, pero en general explican que las
seales se obtienen utilizando osciladores neuronales |15||29||30|; los cuales se pueden
implementar digitalmente en VLSI (Integracion en Escala Muy Grande, por sus siglas en
ingles) chip o FPGA, pero ademas pueden ser implementados analogicamente, utilizando
ampliIicadores operacionales.

Para este proyecto se empleo el modelo del GCP basado en las Redes Neuronales Celulares
CNN |14||16|, las cuales se deIinen como una red de sistemas no lineales acoplados; estos
osciladores no lineales son con Irecuencia identicos, los movimientos realizados por cada
organo son controlados por un simple oscilador, mientras que la coordinacion entre los
diIerentes organos es llevada a cabo por las conexiones entre los osciladores.


3.4.1 Modelo matematico.


Una manera de simpliIicar el enIoque de las CNN, para ser llevado a la
implementacion del GCP en un robot, es considerar al oscilador no lineal como un circuito
no lineal de segundo orden |16|, hecho de dos celdas CNN de primer orden.

Para poder implementar el GCP, a partir de (3.1) se escoge 0
`
= B , y la Iuncion de
salida (3.2) sera una implementacion lineal de la Iuncion de saturacion.

( ) 1 1
2
1
+ =
if if if
x x v (3.3)

Asi las ecuaciones se reducen a:

1 2 1 1
1
i v v x
dt
dx
+ + + = (3.4)
2 1 2 2
2
i v v x
dt
dx
+ + + = (3.5)

De acuerdo a Arena-Fortuna |14|, se imponen las siguientes condiciones, con el Iin
de simpliIicar las ecuaciones manejando menor numero de variables:
= , = y =

Quedando la deIinicion de un GCP basado en CNN asi:

1 2 1 1
1
i v v x
dt
dx
+ + = (3.6)

2 1 2 2
2
i v v x
dt
dx
+ + + = (3.7)
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 35 -

De esta manera los parametros de diseo son:

perteneciente a la plantilla de retroalimentacion A.
perteneciente a la plantilla de retroalimentacion A.
1
i corriente de polarizacion, neurona 1 (en ingles bias)
2
i corriente de polarizacion, neurona 2 (en ingles bias)



3.4.2 Implementacion usando ampliIicadores operacionales.


El proposito de esta seccion es mostrar como quedan implementadas las ecuaciones
(3.3), (3.6) y (3.7) descritas anteriormente, utilizando ampliIicadores operacionales.


Se comienza analizando la ecuacion 3.6 la cual indica que la derivada de la variable
de estado x
1
, es igual a la suma de cuatro terminos. Para resolver esta ecuacion diIerencial
se emplea al ampliIicador operacional en su conIiguracion como integrador junto con la
conIiguracion de sumador inversor (ver Fig. 3.4).



Fig. 3.4 Implementacion del integrador y sumador inversor.



Cabe aclarar que debido a que el sumador es inversor, los signos de los sumandos
tienen que ser contrarios a los signos que aparecen en la ecuacion 3.6. La siguiente
ecuacion a ser implementada es la Iuncion de saturacion de la salida, es decir la ecuacion
3.3; para ello se utiliza dos ampliIicadores operacionales, ver Fig. 3.5.




Capitulo 3. Redes Aeuronales Celulares


- 36 -


Fig. 3.5 Implementacion de la Iuncion saturacion.



Una de las condiciones para que sea Iuncional este circuito es que el voltaje de
alimentacion sea de +12 volts, de esta manera la ganancia en voltaje para el primer
ampliIicador operacional es igual a:


( )Ji Ji
R
R
Jo 11 1
2
3
1 + = |
.
|

\
|
+ = (3.8)


Donde J
i
, es el voltaje de entrada, es decir, la variable de estado x
1
. De esta manera,
para cualquier voltaje de x
1
mayor de 1 volt o menor de -1 volt, el voltaje a la salida de esta
primer etapa se ira al voltaje de saturacion, es decir 12 volts para el primer caso y -12
volts para el segundo.


Para terminar de generar la salida, v
1
se utilizan las resistencias R4 y R5, para
Iormar un divisor de voltaje, asi la salida estara saturada a +1 volt. Para resolver la
ecuacion (3.7) se sigue un procedimiento similar. En la seccion de anexos se muestran los
diagramas electricos para el GCP del hombro y codo. De aqui se desprenden los calculos
para cada parametro.

alfa R
R

1
= (3.9)

beta R
R

1
= (3.10)

1
1
1
i R
R
i = (3.11)


Control de un Robot PUMA utilizando celdas neuronales analgicas


- 37 -
Una vez mostrada la implementacion de las ecuaciones, es necesario deIinir los
valores de los parametros de diseo. En |16| se utilizo la tecnica llamada algoritmos
geneticos para encontrar los valores adecuados de los parametros arriba mencionados, para
que Iormaran un patron de movimiento preestablecido, en la misma reIerencia el patron
deseado era el movimiento de extremidades inIeriores.

En este proyecto se desea generar un patron de movimiento utilizando las redes
neuronales celulares que emulen algun movimiento periodico que realiza el ser humano, se
propone el caminar, con enIasis en la cadencia que Iorma el brazo, ya que la plataIorma
experimental sera en el brazo robot que se realizo en el CENIDET |1|. En las siguientes
secciones se explica de donde y como se obtuvieron los parametros de diseo.


3.5 Caracterizacion de la marcha humana.


3.5.1 Aspectos del estudio de la marcha humana.

La marcha humana se ha descrito como una serie de movimientos alternantes,
ritmicos, de las extremidades y del tronco que determinan un desplazamiento hacia adelante
del centro de gravedad |31|; es por ello que se ha escogido como base para nuestro
Generador Central de Patrones. Existen diIerentes metodos para el analisis del movimiento
humano: videograIia, electro-miograIia y dinamometria. En la literatura podemos
encontrar estudios de diIerentes ciencias que estan involucradas con la marcha humana,
como son la biomecanica, la medicina del deporte y la ortopedia |32||33||34|.

3.5.2 Caracteristicas del soItware CaIMoCoCa.

Basados en |32| y usando el soItware CaIMoCoCa (desarrollado en el CENIDET) el
cual genera una base de datos que se obtiene de extraer imagenes de una secuencia de
video. La base de datos posee las posiciones (x, v) del cuello, cadera, manos, codos,
rodillas y brazos (ver Fig. 3.6).


Fig. 3.6 Vista del soItware CaIMoCoCa.
Capitulo 3. Redes Aeuronales Celulares


- 38 -

Entre los problemas que se encontraron en el uso del soItware y el video, se
encontraron la Ialta de inIormacion de ciertas posiciones (por ejemplo en la Fig. 3.5 no se
aprecia el brazo izquierdo ya que este se encuentra extendido en Iorma paralela al eje
vertical quedando atras del tronco); por lo que se selecciono una secuencia de movimientos
donde se obtuvieran las posiciones completas para el caso de estudio, en este caso, el
movimiento del brazo derecho. Se genero una base de datos del tipo *.xls que se muestra a
continuacion en la Fig. 3.7.



Fig. 3.7 Vista de la base de datos proporcionada por soItware CaIMoCoCa.


Esta base de datos, tuvo que ser depurada y adaptada para el tratamiento de la
inIormacion, los arreglos que se hicieron Iueron:

ModiIicar la reIerencia de medicion en el eje vertical, con respecto a la altura
minima del pie derecho.

Establecer la reIerencia de medicion del eje horizontal al promedio de la
posicion del cuello y cadera para cada secuencia, debido a la existencia de un
angulo de inclinacion entre ambas partes.

Agregar parametros d1, a2 y a3 (ver Fig. 3.8) utilizando relaciones
trigonometricas para ser usados en la extraccion de angulos de movimiento.

Nota: El programa CaIMoCoCa usa cuadros de 'secuencia en vez de la
inIormacion del tiempo, pero el valor de cada cuadro se puede estimar
dividiendo el numero de cuadros entre la duracion de una secuencia completa.



3.5.3 Extraccion del modelo de reIerencia humano.

En la seccion 2.4.2 del presente trabajo, se hablo del modelo matematico del brazo
robot tipo PUMA de tres grados de libertad, y uno de los resultados Iue un programa
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 39 -
desarrollado en Matlab, el cual calcula a partir de una distancia Iinal en el espacio del
eIector, los angulos que son requeridos para que el robot alcance esa posicion (conocido
como cinematica inversa). Ese programa Iue modiIicado, para que ahora a partir de la
posicion de la mano derecha con respecto a la cintura, se encuentren los angulos para cada
cuadro de inIormacion (ver Fig. 3.8).



Fig. 3.8 Relacion de movimiento humano con el modelo cinematico inverso del robot.


a) Metodologia para obtener el patron de movimiento.

o Utilizar soItware CaIMoCoCa para el reconocimiento del movimiento.
o Escoger una secuencia de marcha.
o Generar una base de datos tipo *.xls
o Adaptar la BD para tener la reIerencia (eje ordenadas) a la altura de los pies
o Obtener parametros requeridos para la rutina de la dinamica inversa.
o Correr programa humanoI(|v|), donde v es un vector Iormado por:
|d1, a2, a3, Px, Py, Pz|
Los primeros tres datos, se obtienen de la base de datos generada por CaIMoCoCa
d1 Cuellov Caderav.
a2 sqrt( (Cuellox Codox)
2
(Cuellov Codov)
2
)
a3 sqrt( (Codox Manox)
2
(Codov Manov)
2
)
Px Manox
Py cero, debido a que el movimiento esta medido en un plano.
Pz Manov
o Depurar los angulos obtenidos.


En la Fig. 3.9 se aprecia el resultado del programa HumanoI.m donde para el valor
de Teta1 que es el angulo de la cintura se tiene un valor de cero, al estar realizandose el
movimiento sobre un plano. Teta2 es el angulo del hombro. Por otro lado el angulo de
Teta3 (codo) concuerda con los estudios de las extremidades humanas |34|, que indica que
el angulo minimo del codo es de 0 grados, es decir no hay angulos negativos.
Capitulo 3. Redes Aeuronales Celulares


- 40 -

Movimiento: Caminar
-20
-10
0
10
20
30
40
1 3 5 7 9 11 13 15 17 19 21 23 25 27
secuencia
g
r
a
d
o
s
Teta2
Teta3

Fig. 3.9 Secuencia de angulos para el movimiento de caminar.


Por ahora vamos a tomar la secuencia de angulos como nuestro modelo patron que
el GCP debera de repetir como un movimiento periodico, por lo que se debe de tener un
procedimiento que asegure encontrar los valores optimos para los parametros , ,
1
i e
2
i
que mas concuerden con el patron establecido. Para ello, se seguira la siguiente
metodologia:


b) Metodologia para obtener parametros del GCP.

Utilizar soItware Matlab para codiIicacion de programa.
Programa que genera la neurona en codigo m
Programa que genera patron de movimiento humano
Dejar dos parametros Iijos (u y ). Ir variando las corrientes de polarizacion, hasta
encontrar menor MSE (Error cuadratico medio).


NOTA: Hay dos suposiciones

1.- El periodo de la seal de la neurona se ajusta con el valor del capacitor.

2.- La amplitud de la seal se ajusta con ampliIicadores operacionales.


Del patron de reIerencia (movimiento humano) que se obtuvo (ver Fig. 3.9), se
extrae un solo periodo de la seal a eIecto de generar la reIerencia a ser comparada por la
salida de la neurona. Se utiliza una aproximacion por minimos cuadrados |22| y se
aproxima por medio de un polinomio de 7 orden:

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 41 -

0 10 20 30 40 50 60 70 80 90
-10
-5
0
5
10
15
Secuencia Original
Ajuste polinomial orden 7
Modelo Humano de referencia

Fig. 3.10 Ajuste de curva de la seal de reIerencia del movimiento humano.


De la comparacion de los modelos, al ir variando las corrientes de polarizacion del
modelo de la neurona, se obtienen los valores de diseo que se muestran en la tabla 3.1.


Tabla 3.1 Parmetros del GCP.
Parmetro Hombro Codo
1.5 1.5
1 1
1
i -0.0005 0.0022
2
i -0.0019 0.0069


Siguiendo las Iormulas de la seccion 3.4.2 para el diseo del GCP, los parametros
toman los valores siguientes:


Tabla 3.2 Valores de las resistencias del circuito GCP.
Parmetro Hombro Codo
R 666 O 666 O
R 1 kO 1 kO
R
1
i 2 MO (conectado a V
DD
) 470 kO (conectado a V
EE
)
R
2
i 500 kO (conectado a V
DD
) 150 kO (conectado a V
EE
)
Capitulo 3. Redes Aeuronales Celulares


- 42 -


3.6 Simulacion y experimentacion del GCP.


Para realizar la simulacion de la neurona, se utilizo el programa Orcad-Pspice, donde es
necesario ajustar el maximo tamao de paso a 0.0004 (en el menu de opciones del analisis
transitorio); con valores mayores, no es posible apreciar las oscilaciones.


El diagrama esquematico de su implantacion y los resultados se encuentran en las Iiguras
3.11 y 3.12, respectivamente.



Fig. 3.11 Esquematico de la implementacion del GCP.

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 43 -

Fig. 3.12 Resultados de simulacion del GCP.

Para comprobar que el periodo de las ondas se modiIica ajustando el capacitor, se vuelve a
correr la simulacion reemplazando los capacitores de 22uF por 100uF (ver Fig. 3.13).


Fig. 3.13 Resultados de simulacion del GCP con capacitores de 100uF.
Capitulo 3. Redes Aeuronales Celulares


- 44 -

Una vez que se llevaron a cabo las simulaciones, se procedio a implementar de acuerdo al
diseo del Generador Central de Patrones. Se realizaron las primeras pruebas en una tarjeta
para prototipos, se utilizo como ampliIicador operacional el LM324N que se recomienda en
la literatura |25|.




Fig. 3.14 Implementacion del GCP.

En las Iiguras 3.15 y 3.16 se observa el patron del hombro, con un corrimiento de 2.5V
debido a las caracteristicas de medicion de la posicion angular (Ver seccion 2.5 'Diseo y
construccion de la etapa de adquisicion de datos). Se puede notar en la primera Iigura un
breve transitorio y en la segunda el desempeo en el estado estable.



Fig. 3.15 Patron de movimiento del hombro.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 45 -



Fig. 3.16 Desempeo del GCP en el estado estable.

Cabe aclarar en este punto que, de acuerdo a la inIormacion recabada en el estado del arte,
en ninguna parte de los articulos se menciona la Iorma de asegurarse que el robot siga la
trayectoria Iormada por el GCP, si no que por el contrario agregan secciones de control
clasico (PD, PID) o simplemente queda como algo sin resolver |16|.


A partir de aqui, se busco Iormular una nueva propuesta en la que a partir del modelo
matematico de las CNN se encontrara la manera de obtener un control alterno para el robot
PUMA. En el siguiente capitulo se habla acerca de este tema.

















Capitulo 3. Redes Aeuronales Celulares


- 46 -












Pagina en blanco intencional

































Control de un Robot PUMA utilizando celdas neuronales analgicas


- 47 -







CAPITULO 4
Control con celdas neuronales
analgicas







4.1 Introduccion.

En esta seccion se propone una alternativa al control del robot PUMA, basada en el
paradigma de las redes neuronales celulares analogicas. Como se presento en la seccion 3,
las CNN tienen un Iundamento matematico (ver ecuaciones 3.1 y 3.3) que les permiten ser
implementadas utilizando ampliIicadores operacionales.

Otro enIoque para observar la interaccion de las ecuaciones mencionadas se observa en la
Fig. 4.1.



Fig. 4.1 Estructura de una CNN.
Capitulo 4. Control con celdas neuronales analgicas


- 48 -

Con respecto a la Iigura de arriba, la variable de estado x, representada Iisicamente como
un voltaje de salida, esta en Iuncion de los parametros que conIorman las ecuaciones 3.6 y
3.7.

Un ejemplo, de como se comportan x
1
y x
2
, para los valores u1.5, 1.0, i
1
-0.3 y
i
2
0.3, se observa en la Fig. 4.2.

0 10 20 30 40 50 60
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
NEURONA CNN
TIEMPO
V
O
L
T
A
J
E

S
A
L
I
D
A
x1
x2

Fig. 4.2 Evolucion de las variables de estado a traves del tiempo.


Como se mostro en la seccion 3, las redes neuronales celulares Iorman patrones oscilatorios
periodicos y dichos patrones estan deIinidos por los valores de los parametros que rigen las
ecuaciones relacionadas.

Asi mismo, para Iormar un Generador Central de Patrones, basado en una CNN, la plantilla
de control B se hace cero, para que sea autonoma y esto coadyuva a tener patrones
oscilatorios Iijos; en esta seccion se mostrara que una alternativa para llevar a cabo el
control de seguimiento de trayectoria de un robot, sera a partir de Iormar patrones que
varien de acuerdo a una variable externa agregada dentro de la plantilla de control.


4.2 Control de robots manipuladores.


El control automatico ha aportado valiosas contribuciones al avance de la robotica. El mas
simple y comun controlador para robots manipuladores industriales es del tipo denominado
PD (Proporcional-Derivativo, de hecho en el capitulo 5, su utilizara este control
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 49 -
convencional para comparar el desempeo del controlador basado en redes neuronales
celulares).


En general, este tipo de controlador se disea suponiendo que los robots son caracterizados
matematicamente por medio de ecuaciones dinamicas independientes para cada
articulacion. Este hecho puede repercutir en una prestacion limitada del sistema de control
para robots modernos, caracterizados en realidad por ecuaciones dinamicas acopladas. No
obstante, esta estrategia de control puede dar resultados aceptables bajo ciertas condiciones
|19|.

Volviendo al controlador convencional PD, esta estrategia de control es aplicada
comunmente en el control de la posicion angular de motores de corriente directa. Esta
Iormado no solo por el termino proporcional al error de posicion q
~
, sino que tambien por
otro termino proporcional a su derivada, al error de velocidad q
~
(Ver Fig. 4.3).



Fig. 4.3 Control Proporcional-Derivativo.


En el siguiente punto, se seleccionara el error de posicion q, como variable de entrada de
las redes neuronales celulares.



4.3 Propuesta de solucion.


La propuesta de solucion consiste en utilizar las redes neuronales celulares analogicas para
generar pulsos de control, que varian su ancho y Irecuencia en Iuncion de la variable q, es
decir, el error de posicion.

Para mostrar este hecho se requiere primeramente, recordar acerca de los patrones
oscilatorios, en la Fig. 4.2 se ejempliIica la Iormacion de oscilaciones periodicas para
ciertos parametros de conIiguracion. La Iuncion de salida para esa simulacion Iue la
Capitulo 4. Control con celdas neuronales analgicas


- 50 -
Iuncion de saturacion, lo que quiere decir es que la v
1
, esta acotada a +1 volt del valor de x
1
.
En la Fig. 4.4 se observa la salida de esta variable de estado.



0 10 20 30 40 50 60
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
NEURONA CNN
TIEMPO
V
O
L
T
A
J
E

S
A
L
I
D
A
y1

Fig. 4.4 Funcion de salida del tipo saturacion.

Por lo que se aprecia que si usaramos la parte positiva de la salida, tendriamos algo
parecido a un voltaje modulado en ancho de pulso (abreviado PWM por sus siglas en
ingles), aunque no se le puede dar ese termino ya que ademas de variar el ancho se
modiIica la Irecuencia. Como se ve en la Iigura 4.5, a la salida v
1,
se le elimina el semiciclo
negativo y ademas sera necesario ampliIicar a 5 volts (para adecuar la salida al estandar de
seal TTL). Este requerimiento es Iacil de conseguir aplicando un diodo seguido de una
etapa de ampliIicacion.

0 10 20 30 40 50 60
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
NEURONA CNN
TIEMPO
V
O
L
T
A
J
E

S
A
L
I
D
A
y1

Fig. 4.5 Funcion de salida sin semiciclo negativo.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 51 -
Por otro lado, existe la necesidad de tener una entrada que participe en la generacion de la
seal de salida, asi que revisando la ecuacion 3.1, se encontro que existe la posibilidad de
tener una seal de entrada u(t) que se asocia a la plantilla de control B
`
.

Se propone que la entrada u(t) sea igual al error de posicion |19| deIinido como:

q q
d
(t) q
m
(t) (4.1)

donde

q
d
(t) posicion deseada de la articulacion.

q
m
(t) posicion medida o real, de la articulacion.

Se hicieron varias pruebas para tratar de acoplar la entrada (seal de error, q) al sistema de
ecuaciones de la CNN. Finalmente se opto por eliminar las corrientes de polarizacion
debido a las restricciones en la generacion de los patrones oscilatorios |14||16|, estas
restricciones reducen los rangos de entrada, por lo tanto, al retirar las corrientes de
polarizacion se obtuvo un mayor margen de seal de entrada para generar las oscilaciones.
Por otro lado, la entrada ha sido ponderada usando un Iactor de 1/5 para obtener los
resultados deseados.



4.3.1 Modelo matematico.


La representacion matematica del controlador del robot basado en CNN se deIine
asi:

) (
2 1 1
1
t u v v x
dt
dx
+ + = (4.2)

) (
1 2 2
2
t u v v x
dt
dx
+ + = (4.3)

( ) 1 1
2
1
+ =
i i i
x x v para i1,2 (4.4)

Donde

m d
q q t u = ) ( (4.5)


d
q Es la posicion deseada


m
q Es la posicion medida o real
Capitulo 4. Control con celdas neuronales analgicas


- 52 -

Asi las plantillas de retroalimentacion A, y de control B, quedan deIinidas como:



(


=


A (4.6)




(

B (4.7)


Para encontrar los parametros del controlador se diseo un banco de pruebas de simulacion
usando Simulink (ver Fig. 4.6), donde se probaron diIerentes arreglos y valores de las
constantes u y . Ademas se corroboraron las pruebas usando Orcad-Spice (ver Fig. 4.7).


soloUNA
rectificador1
rectificador
estados
error ajus2
error ajus1
2.696
Preal
2.919
Pdeseada
MODEL INFO
ESTE MODELO DE PWM PERMITE GERERAR PWM DE 26% HASTA 67% (hacer prueba con 100 segundos de si mul acion y entrada constante en cada caso)
PARA ENTRADAS DE -0.999 HASTA 0.999
QUE SE SUPONE ES VOLTAJE DE ERROR
Se hace i 1=0 e i2=0.030 constante
Para ver todo el espectro poner rampa con ti empo de si mul aci on de 2400 segundos
1
s
Integrator1
0
Display3
0
Display2
0
Display1
In1Out1
Ajuste1
In1Out1
Ajuste
Add2
Add1
Add

Fig. 4.6 Banco de pruebas de simulacion.


Una vez hechas las pruebas de simulacion, se deIinieron los parametros de las ecuaciones
(4.2) y (4.3); en la Tabla 4.1 se observan los valores de las resistencias, donde para los
parametros y , Iue necesario utilizar una resistencia variable de 20 vueltas para lograr
ajustar el valor adecuado. Para el parametro , su uso una resistencia comercial.



Control de un Robot PUMA utilizando celdas neuronales analgicas


- 53 -
Tabla 4.1 Valores de los parmetros para el controlador basado en CNN.
RED NEURONAL CELULAR PARA CONTROL
PARAMETRO
Representacion numerica Valor de resistencia
2.4 418 O
1.5 666 O
1
i * 0 0 O
2
i * 0 0 O

0.2 5 kO

* Estos dos terminos se eliminaron, para ajustar Iacilmente el parametro .




Fig. 4.7 Simulacion de la red neuronal en Orcad-Spice.





4.4 Simulacion del comportamiento del controlador.


Una vez desarrollado el modelo de la celda neuronal analogica, se realizo una prueba
preliminar usando un motor de CD similar a los usados por el brazo robot donde se
realizarian las pruebas de validacion. (Ver Fig. 4.8).



Capitulo 4. Control con celdas neuronales analgicas


- 54 -



Fig. 4.8 Banco de pruebas preliminares.


4.4.1 Descripcion del banco de pruebas.


El banco de pruebas preliminares consta de 5 etapas (ver Fig. 4.9):


1) Red Neuronal Celular Analogica.

Esta celda es usada para generar los pulsos de control necesarios para que el
brazo robot siga la trayectoria deseada, tiene como entrada el error de posicion.


2) Etapa de adecuacion de los pulsos.

En esta etapa se eliminan los semiciclos negativos, por medio de un diodo de
alta conmutacion (1N4148) y posteriormente se le conecta una etapa
ampliIicadora para que el valor alto se encuentre en 5 volts.


3) Detector de error.

Esta etapa Iue emulada a traves de un potenciometro, ya que durante esta
prueba aun no se utilizaba el brazo robot, el objetivo era simular la seal de
error, que seria utilizada en la celda neuronal analogica como entrada.

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 55 -

4) Plantilla de control de la CNN.

Como se mostro en la seccion 4.3.1 la plantilla de control esta Iormada por
un vector 2x1 donde el valor de es de 0.2, como la resistencia del integrador
es de 1 kO, era necesario tener 2 resistencias de 5 kO; asi mismo una de ellas
deberia estar negativa, para lograrlo se uso una etapa de ampliIicacion negativa
unitaria.


5) Etapa de potencia.

Para esta etapa se utilizo el mismo diagrama presentado en |2| la cual esta
Iormada por 4 transistores de potencia en arreglo de Puente H.





Fig. 4.9 Etapas del banco de pruebas.


4.4.2 Seales entregadas por la celda neuronal analogica.


Uno de los objetivos de realizar esta prueba, Iue para valorar a partir de que rango
de seal de error, el sistema comenzaba a generar las oscilaciones, ya que en |14| se
demostro que para ciertos valores de los parametros no existen oscilaciones (Ver Fig. 4.10).
Capitulo 4. Control con celdas neuronales analgicas


- 56 -

Fig. 4.10 Tipos de estado de las CNN: a) En oscilacion. b) Sin oscilacion.

Por ejemplo, para el rango de error de 0 a 180mV se obtuvo una salida como la
mostrada en la Fig. 4.10b, es decir, se mantenia un valor constante de 5 volts (debido a la
actuacion de la etapa 2 de la seccion 4.4.1). Por este motivo, para la seccion 4.5 en el
diseo de la tarjeta Iinal de control, se decidio por agregar una etapa sumadora de voltaje
negativo a la seal de error, con el Iin de que a la neurona lleguen 180mV para un error real
de cero volts.

El signiIicado de tener un pulso constante de 5 volts, como el mencionado en el
parraIo anterior, signiIica que la etapa de potencia no entrega voltaje al motor, y por lo
mismo el motor no se debe de mover.

ConIorme se aumenta el error, se comienza a variar el ancho del pulso positivo, de
un ancho mayor a un ancho menor, hasta tener una salida de cero volts, lo que signiIicaria
la entrega del maximo voltaje de la Iuente de poder hacia el motor. (Ver Fig. 4.11).


Fig. 4.11 Seal de potencia a la entrada del motor de CD.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 57 -

4.5 Diseo de la tarjeta de control y potencia.

Se llevo a cabo la planeacion de la construccion de las celdas neuronales bajo el programa
Protel DXP |35|. Utilizando el diseo jerarquico, es decir, enlazar diagramas de distintos
subsistemas en un solo proyecto de PCB.

En la seccion de anexos (Anexo 3) se pueden encontrar los diagramas del proyecto. Para
cada eslabon (hombro, codo) se Iabrico una tarjeta de control y potencia (Ver Fig. 4.12)



Fig. 4.12 Tarjeta electronica de las celdas neuronales.


Como se menciono, debido a la estructura jerarquica en esta tarjeta podemos ver tres
subsistemas:

a) Neurona de control. Ubicada en la parte superior izquierda.

b) GCP. Ubicado en la parte inIerior izquierda.

c) Etapa de potencia. Ubicada en la parte inIerior derecha.



Capitulo 4. Control con celdas neuronales analgicas


- 58 -

Esta tarjeta se diseo con el objetivo de seguir la trayectoria entregada por el GCP, pero
tambien a traves del potenciometro se puede tener una reIerencia Iija e inclusive a traves de
puentes (headers), se puede ingresar una seal externa de reIerencia.


La etapa de potencia tambien tiene puentes, que permiten recibir tanto la seal de PWM
como la de cambio de sentido de giro externamente, con el Iin de comparar el desempeo
de la celda neuronal de control con un controlador PD.


Otros dispositivos (circuitos integrados en el centro) son requeridos para adecuar los pulsos
generados por la neurona de control, hacer el corrimiento de voltaje de la seal de salida del
GCP, generar la seal de sentido de giro, tener una seal de error siempre positiva, etc.


Aunque la Irecuencia de trabajo, no aparece explicitamente dentro del modelo matematico
(seccion 4.3.1) es necesario aclarar que es importante tener en consideracion la Irecuencia
de las oscilaciones; para tener un marco de reIerencia se considero el trabajo original del
control del robot tipo PUMA, en |1| se utilizo un generador de PWM utilizando el CI
SG3524, la Irecuencia de operacion Iue de 40 Khz.

En el caso de las redes neuronales analogicas, los elementos que estan involucrados
directamente con la Irecuencia de oscilacion son la resistencia de retroalimentacion (R1 en
la Fig. 3.4) y el capacitor C, que permiten al ampliIicador operacional Iuncionar como
integrador. Debido a que R1 se utiliza para ajustar los demas parametros (plantillas A y B)
del modelo matematico, se decidio ajustar C hasta alcanzar la Irecuencia de operacion.

Por medio de pruebas experimentales se encontro que la Irecuencia mas alta se logro
utilizando un capacitor de 10nF, y Iue de 4 Khz. Para capacitancias menores ya no se
apreciaba ningun incremento signiIicativo.

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 59 -






CAPITULO 5
Pruebas experimentales





5.1 Metodologia de las pruebas experimentales.


En este capitulo se presentan las pruebas de validacion del controlador basado en celdas
neuronales analogicas, realizadas en la plataIorma experimental |1|. Se abordan los
resultados de las pruebas para una posicion constante y el seguimiento de trayectoria, en los
eslabones del brazo y antebrazo.

Ademas, en cada prueba se uso un controlador proporcional-derivativo implementado de
manera analogica con ampliIicadores operacionales |36|, con el proposito de comparar el
controlador basado en celdas neuronales analogicas. En |1||2||37| se utilizaron
controladores del tipo tradicional implementados digitalmente, las ganancias entre ellos, se
modiIicaron, principalmente entre el desarrollo en |1| con |2|, debido a que la dinamica se
habia modiIicado al agregar un cuarto eslabon (motor y camara de video) y el cable de
conexion. Como no era posible establecer una relacion sobre la sintonizacion se decidio
establecer las ganancias del controlador de manera heuristica tomando como reIerencia el
desempeo del robot para tener un bajo sobrepaso y con el menor tiempo de
establecimiento. Los valores de las ganancias son Kp18, Ki0,026.

El objetivo de la prueba de controlar una posicion constante Iue para validar las pruebas
realizadas con un motor de CD que se hicieron en el capitulo 4. Mientras que las pruebas de
seguimiento de trayectoria sirvieron para observar el desempeo del controlador ante
cambios de la dinamica de la planta debidos a la Iriccion, energia potencial y cinetica.
Dichas pruebas tuvieron como medio de comparacion los indices de desempeo IAE, ISE,
ITAE, ITSE, ver en anexos (Anexo 4) la deIinicion de estos indices.

Para generar la seal deseada (q
d
) en el caso de la posicion constante, se uso un
potenciometro acoplado a la tarjeta diseada (Fig. 4.12), para el caso de seguimiento de
trayectoria, se utilizo la salida del GCP.

Capitulo 5. Pruebas experimentales


- 60 -

En cada prueba, se registro la muestra usando un osciloscopio digital Tektronics modelo
TDS 2012B, la inIormacion guardada se traslado a Matlab, donde se llevaron a cabo las
operaciones de los calculos de los indices de error y la generacion de graIicas.


5.2 Control de posicion en el hombro.


Como se menciono, por medio de un potenciometro se ajusto la reIerencia del robot a 90,
mientras que el hombro del robot se condujo Iisicamente hacia la posicion de -90, para
observar el desempeo de ambos controladores para el maximo desplazamiento. Por otro
lado, el antebrazo para cada una de las siguientes pruebas, se dejo sin control, es decir, su
posicion estaba sujeta a la dinamica del movimiento del brazo robot.

La medicion del error comenzo a partir del inicio del desplazamiento del hombro y se Iijo
un total de 3 segundos de prueba.



5.2.1 Controlador PD.

A continuacion se muestra el desempeo del controlador proporcional derivativo
para la prueba de control de posicion constante. En la Fig. 5.1 se observa un sobrepaso del
2.7. El objetivo de control se logro en un tiempo de 0.70 segundos. En la Tabla 5.1 se
muestran los indices de desempeo para este controlador.


0 0.5 1 1.5 2 2.5 3
-100
-80
-60
-40
-20
0
20
40
60
80
100
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Posicin deseada
Posicin medida

Fig. 5.1 Desempeo del controlador PD para posicion constante en hombro.


Por otro lado, en la Fig. 5.2 se observa el error resultante de controlar el movimiento
del brazo, desde el angulo de -90 hasta los 90.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 61 -


0 0.5 1 1.5 2 2.5 3
0
20
40
60
80
100
120
140
160
180
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Error

Fig. 5.2 Error en hombro bajo control PD para una posicion constante.




5.2.2 Controlador basado en celdas neuronales analogicas.


A continuacion se muestra el desempeo del controlador de celdas neuronales
analogicas para la prueba de control de posicion constante. En la Fig. 5.3 se observa que el
controlador diseado con celdas neuronales analogicas, tiene un sobrepaso menor que el
control PD, alrededor del 1.1.


0 0.5 1 1.5 2 2.5 3
-100
-80
-60
-40
-20
0
20
40
60
80
100
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Posicin deseada
Posicin medida

Fig. 5.3 Desempeo de las celdas neuronales para posicion constante en hombro.



Capitulo 5. Pruebas experimentales


- 62 -

Y la graIica del error es:

0 0.5 1 1.5 2 2.5 3
0
20
40
60
80
100
120
140
160
180
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Error

Fig. 5.4 Error en hombro bajo celdas neuronales para una posicion constante.



5.2.3 Comparacion del desempeo de los controladores.


En la Tabla 5.1 se aprecian los resultados de los controladores para el caso de una
posicion constante en el hombro.


Tabla 5.1 Comparacin de ndices para el control de posicin constante en hombro.


Basados en la Tabla 5.1 podemos concluir que el controlador basado en celdas
neuronales analogicas tiene un mejor desempeo que el controlador proporcional
derivativo, para el caso del control de una posicion constante en la articulacion del hombro.
En la siguiente seccion se continua con el analisis y la comparacion de estos dos
controladores.



5.3 Control de posicion en el codo.

Utilizando nuevamente el potenciometro de la tarjeta de control, se ajusto la reIerencia del
robot a 36, mientras que el eslabon del antebrazo del robot se condujo Iisicamente hacia la
Controlador IAE ISE ITAE ITSE
Proporcional-
Derivativo
7,008 850,368 1,865 154,415
Celdas
Neuronales
6,517 774,537 1,631 133,866
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 63 -
posicion de -30. La medicion del error comenzo a partir del inicio del desplazamiento del
codo y se Iijo un total de 1.5 segundos para la prueba de cada controlador.



5.3.1 Controlador PD.

A continuacion se muestra el desempeo del controlador proporcional derivativo
para la prueba de control de posicion constante. Nuevamente se aprecia un sobrepaso de
aproximadamente el 3. El objetivo de control se logra a los 0.35 segundos. La respuesta
del codo bajo el controlador PD se aprecia en la Fig. 5.5.


0 0.5 1 1.5
-40
-30
-20
-10
0
10
20
30
40
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Posicin deseada
Posicin medida

Fig. 5.5 Desempeo del controlador PD para posicion constante en codo.


Por otro lado, en la Fig. 5.6 se observa el error de la respuesta en la articulacion del
codo, para el controlador PD. Para un traslacion total de 66.

0 0.5 1 1.5
-10
0
10
20
30
40
50
60
70
80
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Error

Fig. 5.6 Error en codo bajo control PD para una posicion constante.
Capitulo 5. Pruebas experimentales


- 64 -

5.3.2 Controlador basado en celdas neuronales analogicas.

A continuacion se muestra el desempeo del controlador de celdas neuronales
analogicas para la prueba de control de posicion constante. De la graIica en la Fig. 5.7 se
puede apreciar que no tiene sobrepaso, pero el objetivo de control lo alcanza unas decimas
de segundo despues que el controlador PD.

0 0.5 1 1.5
-40
-30
-20
-10
0
10
20
30
40
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Posicin deseada
Posicin medida

Fig. 5.7 Desempeo de las celdas neuronales para posicion constante en codo.

La graIica del error se muestra en la Fig. 5.8
0 0.5 1 1.5
-10
0
10
20
30
40
50
60
70
80
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Error

Fig. 5.8 Error en codo bajo celdas neuronales para una posicion constante.

5.3.3 Comparacion del desempeo de los controladores.

En la Tabla 5.2 se aprecian los resultados de los controladores para el caso de una
posicion constante en codo. Nuevamente, el controlador basado en celdas neuronales
analogicas tiene indices de desempeo menores que el controlador PD; por otro lado, el
hecho de tener un menor indice de error, es en gran medida debido a la reduccion del
tiempo de prueba y la disminucion de la trayectoria de desplazamiento.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 65 -

Tabla 5.2 Comparacin de ndices para el control de posicin constante en codo.



5.4 Control del seguimiento de trayectoria en el hombro.


Para esta prueba se utilizo como posicion deseada la salida del GCP; la medicion del error
comenzo a partir del inicio del desplazamiento del hombro y se registro un periodo de seal
para cada prueba.


5.4.1 Controlador PD.

A continuacion se muestra el desempeo del controlador proporcional derivativo
para la prueba de seguimiento de trayectoria. En la Fig. 5.9 se aprecia como el hombro se
desplaza hacia adelante y hacia atras, para dejar el estudio de una manera objetiva, se tomo
el tiempo de prueba en 5.2 segundos.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-60
-40
-20
0
20
40
60
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Posicin deseada
Posicin medida

Fig. 5.9 Desempeo del controlador PD para seguimiento de trayectoria en hombro.


La graIica del error para esta prueba, se observa en la Fig. 5.10, en ella se observa
como en ciertos instantes el controlador logra el objetivo de control con un error de cero
grados.


Controlador IAE ISE ITAE ITSE
Proporcional-
Derivativo
1,321 61,137 185 5,185
Celdas
Neuronales
1,218 54,045 173 4,199
Capitulo 5. Pruebas experimentales


- 66 -

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-20
-15
-10
-5
0
5
10
15
20
25
30
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Error

Fig. 5.10 Error en hombro bajo control PD para seguimiento de trayectoria.



5.4.2 Controlador basado en celdas neuronales analogicas.


A continuacion se muestra el desempeo del controlador de celdas neuronales
analogicas para la prueba de seguimiento de trayectoria. En la Fig. 5.11 se aprecia como
este controlador tiene un desempeo no tan bueno como el controlador PD, asi mismo en la
Fig. 5.12 se observa que el error es constante alrededor de 4.


0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-60
-40
-20
0
20
40
60
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Posicin deseada
Posicin medida

Fig. 5.11 Desempeo de las celdas neuronales seguimiento de trayectoria en hombro.





Control de un Robot PUMA utilizando celdas neuronales analgicas


- 67 -

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-20
-15
-10
-5
0
5
10
15
20
25
30
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Error

Fig. 5.12 Error en hombro bajo celdas neuronales para seguimiento de trayectoria.


5.4.3 Comparacion del desempeo de los controladores.


En la Tabla 5.3 se observan los indices de desempeo para el caso de control de
seguimiento de trayectoria en la articulacion del hombro, en ella se aprecia que el
controlador PD tiene un menor indice de error, superando al controlador basado en celdas
neuronales analogicas en los cuatro indices de desempeo, debido principalmente a que el
controlador no alcanza un error de cero grados en ningun momento.


Tabla 5.3 Comparacin de ndices para el control de seguimiento de trayectoria en hombro.





5.5 Control del seguimiento de trayectoria en el codo.


Para esta prueba se utilizo como posicion deseada la salida del GCP; la medicion del error
comenzo a partir del inicio del desplazamiento del codo y se registro un periodo de seal.
Cabe hacer mencion que uno de los requisitos para el GCP del codo era no tener angulos
negativos, de acuerdo a la constitucion Iisica del codo estudiada en el capitulo 3.

Controlador IAE ISE ITAE ITSE
Proporcional-
Derivativo
1,419 4,746 3,421 10,925
Celdas
Neuronales
1,738 6,124 4,457 15,570
Capitulo 5. Pruebas experimentales


- 68 -

5.5.1 Controlador PD.


A continuacion se muestra el desempeo del controlador proporcional derivativo
para la prueba de seguimiento de trayectoria en el codo, para un periodo de seal. La
respuesta del controlador se observa en la Fig. 5.13.


0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-40
-20
0
20
40
60
80
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Posicin deseada
Posicin medida

Fig. 5.13 Desempeo del controlador PD para seguimiento de trayectoria en codo.



La graIica del error para el controlador PD se observa en la Fig. 5.14, en ella se
aprecia como al inicio y al Iinal del periodo, se alcanzan cero grados de error en el codo.


0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-20
-15
-10
-5
0
5
10
15
20
25
30
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Error

Fig. 5.14 Error en codo bajo control PD para seguimiento de trayectoria.


Control de un Robot PUMA utilizando celdas neuronales analgicas


- 69 -

5.5.2 Controlador basado en celdas neuronales analogicas.


A continuacion se muestra el desempeo del controlador basado en celdas
neuronales analogicas para la prueba de seguimiento de trayectoria. En la Fig. 5.15 se
observa que el controlador basado en celdas neuronales analogicas no alcanza que la seal
real iguale a la seal deseada proporcionada por el GCP.


0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-40
-20
0
20
40
60
80
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Posicin deseada
Posicin medida

Fig. 5.15 Desempeo de las celdas neuronales seguimiento de trayectoria en codo.



En la Fig. 5.16 se aprecia un error constante que no logra bajar de cuatro grados,
resultado similar al seguimiento de trayectoria del hombro con este mismo tipo de
controlador.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-20
-15
-10
-5
0
5
10
15
20
25
30
tiempo [s]
P
o
s
i
c
i

n

(
g
r
a
d
o
s
)


Error

Fig. 5.16 Error en codo bajo celdas neuronales para seguimiento de trayectoria.

Capitulo 5. Pruebas experimentales


- 70 -

5.5.3 Comparacion del desempeo de los controladores.


En la Tabla 5.4 se aprecian los resultados de los controladores para el caso de
control de seguimiento de trayectoria en la articulacion del codo. Nuevamente, de acuerdo a
los indices, el controlador PD tiene mejor desempeo que el controlador basado en celdas
neuronales analogicas.


Tabla 5.4 Comparacin de ndices para el control de seguimiento de trayectoria en codo.





























Controlador IAE ISE ITAE ITSE
Proporcional-
Derivativo
1,329 4,308 2,863 8,765
Celdas
Neuronales
1,720 6,272 4,281 15,533
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 71 -









CAPITULO 6
Resultados y conclusiones








En este capitulo se exponen las conclusiones y comentarios Iinales de la investigacion.



6.1 Resultados de las pruebas.


De acuerdo a las diIerentes pruebas realizadas en los eslabones del brazo y del antebrazo,
para los casos: posicion constante y seguimiento de trayectoria, se tiene que el controlador
basado en celdas neuronales analogicas tiene menor valor del indice de error para el caso de
posicion constante; mientras que el controlador proporcional derivativo se desempea
mejor para el seguimiento de trayectoria.


En general, podemos considerar al controlador basado en celdas neuronales como una
alternativa para el control de robots, aunque es recomendable buscar alternativas acerca de
su conIiguracion, es decir, en vez de usar un arreglo del tipo 1x2 como el implementado en
este trabajo, explorar otras opciones de arreglo, de Iuncion de salida, etc.


Con respecto a su implementacion electronica, por medio de ampliIicadores operacionales,
no se tiene una ventaja en el uso de las redes neuronales celulares, debido a que se
requieren 10 ampliIicadores operacionales para las primeras; mientras que, para
Capitulo . Resultados y conclusiones


- 72 -
implementar un controlador PD se usaron 3 ampliIicadores, mas un generador de seal
PWM analogico.




6.2 Objetivos logrados.


De acuerdo a las pruebas experimentales realizadas en el brazo robot PUMA de tres grados
de libertad, tanto con seal de reIerencia constante como de seguimiento de trayectoria, se
puede decir que el controlador basado en redes neuronales celulares cumple con las
expectativas esperadas en la hipotesis.


Se realizo un Generador Central de Patrones, cuyo objetivo era emular las seales
producidas en el hombro y en el codo, cuando el ser humano realiza el movimiento de
caminar; el desempeo en este punto no es del todo el esperado, debido a la disparidad en
algunos puntos entre la seal humana de reIerencia y la seal proporcionada por el GCP.
Aunque solo se trabajo con la Iorma mas simple de estructura de la CNN, probablemente si
se incrementara la complejidad de las ecuaciones se obtendria un mejor desempeo, aunque
la implementacion con ampliIicadores operacionales seria mas compleja.



Por otro lado, se cumplieron tanto los objetivos particulares como las metas propuestas al
disear, simular y construir un control basado en redes neuronales analogicas y se
consiguio el objetivo general que consistia en la evaluacion del desempeo de estas redes
neuronales en un brazo robot.


Se escribio un articulo tecnico relacionado en el tema de la tesis, Iue aceptado y se presento
en el congreso del AMCA2008 (ver Anexo 5); ademas el trabajo se expuso en el evento
academico denominado Concurso Nacional de Creatividad (en su etapa local).


Aun y cuando solo se ha probado en una articulacion a la vez (en hombro y codo), esta
misma metodologia se ha empleado en trabajos anteriores como en |1| donde se
presentaron resultados del hombro, ya que el desempeo del codo era muy similar y el de la
cintura era de menor complejidad. A pesar de esto, las pruebas realizadas Iueron suIicientes
para validar la propuesta de usar un controlador basado en redes neuronales analogicas
aunque habra que realizar mayor investigacion con el Iin de mejorar los resultados.





Control de un Robot PUMA utilizando celdas neuronales analgicas


- 73 -

6.3 Trabajos Iuturos.


Teniendo en cuenta que la investigacion realizada de las celdas neuronales celulares para el
control de sistemas mecatronicos es incipiente dentro de este centro de estudios, se
recomienda lo siguiente:


* Mejorar la generacion de la seal de control proporcionada por la celda neuronal, para
evitar usar un circuito detector de cambio de giro.


* Implementar las ecuaciones de las celdas neuronales con FPGA en vez de ampliIicadores
operacionales, para explorar otra alternativa de implementacion, debido a Iactores como el
ruido inherente a los ampliIicadores operacionales y la Iuente de alimentacion, asi como a
la tolerancia de los componentes pasivos (resistencias, capacitores).


* Desarrollar un Generador Central de Patrones, usando un arreglo de 3x3 para mejorar la
sintonizacion de los parametros y extender la salida a los tres eslabones.




6.4 Comentarios Iinales.


Cabe mencionar que el hecho de realizar la implementacion de las CNN en ampliIicadores
operacionales permitio tener un mejor entendimiento de la operacion de estas, aunque se
tuvieron problemas debido a las caracteristicas reales de los componentes.


En base a los resultados del GCP, es posible generar patrones oscilatorios que emulen
alguna otra actividad periodica del brazo, como lo seria aquella derivada de realizar
movimientos de rehabilitacion en el hombro y codo.











Capitulo . Resultados y conclusiones


- 74 -












Pagina en blanco intencional
































Control de un Robot PUMA utilizando celdas neuronales analgicas


- 75 -

BIBLIOGRAFIA



|1| Jimenez, D. y Ramirez J.C. 'Construccion de un brazo robotico de tres gdl y su control
mediante el nucleo hibrido de transicion de estados. Tesis para obtener el grado de
Maestro en Ciencias en Ingenieria Mecatronica. CENIDET, Mexico, Febrero del 2005.

|2| Gomez S., A.E. y Zamorano A., D.I. 'Vision estereoscopica y Estimacion de Pose para
el posicionamiento de un brazo robotico. Tesis para obtener el grado de Maestro en
Ciencias en Ingenieria Mecatronica. CENIDET, Mexico, Abril del 2008.

|3| Martinez Mireles, J. R. 'Controladores de Robots Rigidos: un analisis comparativo
entre las metodologias de control clasico, adaptable y robusto basadas en el metodo de
Lyapunov. Tesis para obtener el grado de Maestro en Ciencias en Ingenieria Mecatronica.
CENIDET, Mexico, Diciembre del 2006.

|4| Pagina de Internet. 'Neural Networks. Autor: Ingrid F. Russell.
Direccion: http://uhavax.hartIord.edu/compsci/neural-networks-tutorial.html
Acceso a pagina: Febrero 2007.

|5| P. Arena, L. Fortuna, 'Analog Cellular Locomotion Control oI hexapod robots, IEEE
Controls System, December 2002.

|6| Spyros G. TzaIestas, 'Neural Networks in robotics: state oI the art, IEEE Catalog #
95TH8081, pp. 12-20.

|7| J. Frigo, M. Tilden, 'A biologically inspired neural network controller Ior an inIrared
tracking system, Los Alamos National Laboratory, New Mexico, USA, 2001.

|8| Frigo, J.R, and Tilden M.W., 'An analog neural network control method proposed Ior
use in a backup satellite control mode, SPIE International Symposium on Intelligent
Systems and Advanced ManuIacturing, pp. 84-94, 1997.

|9| Chua, Leon, Yang, Lin., 'Cellular Neural Networks: Applications, IEEE Transactions
on circuits and systems, vol. 35, no. 10, pp. 1273-1290, 1988.

|10| TAN Yuming , MAO Zongyuan, 'Robot Inverse Dynamics Control with Feedback
and Compensation Based on Neural Network IEEE International ConIerence on Intelligent
Processing Systems, pp 1297- 1301, 1997.

|11| Sang-Hee Kim, Chang-Wha Jang, Chang-Hyun Chai, and Han-Go Choi, 'Trajectory
Control oI Robotic Manipulators using Chaotic Neural Networks IEEE International
ConIerence on Neural Networks, vol.3, pp. 1685 - 1688. 1997.

Bibliografia


- 76 -
|12| Z. Nenadic, B. K. Ghosh, 'Signal processing and control problems in the brain, IEEE
Control System, August 2001.

|13| Kazuki Nakada, Tetsuya Asai, Yoshihito Amemiya, 'Design oI an artiIicial central
pattern generator with Ieedback controller, Intelligent Automation and SoIt Computing,
Vol. 10, No. 2, pp. 185-192, 2004.

|14| Paolo Arena et. al. Bio-inspired Emergent Control oI Locomotion Systems, volume 48.
World ScientiIic, Singapore, 2004.

|15| Kazuki Nakada, Tetsuya Asai, Yoshihito Amemiya, 'An Analog Neural Oscillator
Circuit Ior Locomotion Controller in Quadruped Walking Robot, IEEE Proceedings oI the
International Joint ConIerence on Neural Networks, vol. 2, pp. 983 - 988 2003.

|16| Bharathwaj, Muthuswamy, 'Implementing Central Pattern Generators Ior Bipedal
Walkers using Cellular Neural Networks, University oI CaliIornia, Berkeley, project
report, Spring 2005.

|17| Craig John J. 'ROBOTICA Ed. Pearson Educacion, 3 edicion, Mexico, 2006.

|18| Spong, Mark W., Vidyasagar M., 'Robot modeling and control Ed. Wiley 2006.

|19| Kelly, R. Santibaez, V., 'Control de movimiento de robots manipuladores, Ed.
Pearson Educacion, Madrid, 2003.

|20| Pagina de Internet. 'Redes Neuronales.
Direccion:
http://ingenieria.udea.edu.co/investigacion/mecatronica/mectronics/redes.htm
Acceso a pagina: Marzo 2007.

|21| Quintana S., Herrera A. A., Perez, J. L. 'Analisis de una red neuronal pulsante,
UNAM, Centro de Instrumentos, Mexico, D.F.

|22| J.S.R. Jang; C.T. Sun; E. Mizutani, 'Neuro-Fuzzy and SoIt Computing. Prentice Hall,
Inc. 1997.

|23| Del Brio, Martin y Sanz, AlIredo, 'Redes Neuronales y Sistemas Borrosos, Ed. RA-
MA, Madrid, Espaa, 2001.

|24| Chua, Leon, Yang, Lin. 'Cellular Neural Networks: Theory, IEEE Transactions on
circuits and systems, vol. 35, no. 10, pp. 1257-1272 1988.


|25| Maneesilp, K., Purahong B., Sooraksa, P. 'A new analog control circuit design Ior
hexapod using cellular neural netwotk, ConIerence oI the IEEE Industrial Electronics
Society, Busan, Korea, 2004.

Control de un Robot PUMA utilizando celdas neuronales analgicas


- 77 -
|26| Arena, P.; Castorina, S.; Fortuna, L.; Frasca, M.; Ruta, M.; 'A CNN-based chip Ior
robot locomotion control, IEEE International Symposium on Circuits and Systems, vol.3,
pp. III-510 - III-513, 2003.

|27| Chua, L., Roska, T. 'The CNN paradigm, IEEE Transactions on circuits and systems,
vol. 40, no. 3, pp. 147-156, 1993.

|28| Meyer, J.-A., Guillot, A. 'Handbook oI robotics, chapter 61: Biologically-inspired
robots, draIt, March, 2007.

|29| Kurita, Y., Ueda J., Matsumoto Y., Ogasawara, T. 'CPG-Based Manipulation:
Generation oI Rhythmic Finger Gaits Irom Human Observation, IEEE International
ConIerence on Robotics & Automation, pp. 1209-1214, 2004.

|30| Lewis M.A., Tenore F., R. Etienne-Cummings, 'CPG Design using Inhibitory
Networks, IEEE International conIerence on robotics and automation, pp. 3682-3687,
2005.

|31| Norman Berger, Joan E. Edelstein, Sidney Fishman, Eric HoIIman, David Krebs y
Warren P. Springer, 'Manual de Ortopedia Del Miembro InIerior, Facultad, EVotsica y
Ortsica, Escuela Graduada de Medicina de la Universidad de Nueva York. 1986.

|32| Saldaa Garcia J. A. 'Caracterizacion de imagenes en movimiento: Correr y
Caminar. Tesis para obtener el grado de Maestro en Ciencias en Ciencias de la
Computacion. CENIDET, Mexico, Julio del 2007.

|33| Nancy Beverly. 'Learning Mechanics in the Context oI Biomechanics. Humanizing
Physics Project, Mercy Collage, N.Y. USA.

|34| Norkin C., White D. J. 'Measurement oI joint motion 3a ed. Ed. F.A. Davis Co.
2003, USA.

|35| Pagina de Internet. 'Altium Designer 2004.
Direccion: http://www.altium.com/Community/support/Libraries/Designerlibraries/
Acceso a pagina: Mayo 2008.

|36| Gomariz, S., Biel, D., Matas, J., 'Teoria de Control. Diseo Electronico, Ed.
AlIaomega, Mexico, 1999.

|37| Figueroa, RaIael A., 'Control Inteligente Via NHTE en un Robot de 3 GDL. Tesis
para obtener el grado de Maestro en Ciencias en Ingenieria Mecatronica. CENIDET,
Mexico, Mayo del 2007.

|38| L. Chen , K. S. Narendra. 'IdentiIication and control oI a nonlinear discrete-time
system based on its linearization: a uniIied Iramework, IEEE Transactions on Neural
Networks, vol. 15, no. 3, pp. 663-673 2004.

Bibliografia


- 78 -













Pagina en blanco intencional
































Control de un Robot PUMA utilizando celdas neuronales analgicas


- 79 -
ANEXO 1: Programa de Cinemtica Inversa



Utilizando Matlab y las ecuaciones desarrolladas (2.7), (2.15), (2.16) y (2.20) se genera el
codigo para resolver la cinematica inversa del robot PUMA de 3 gdl; un punto importante
es que al usar la Iuncion de tangente inversa, se use el comando atan2 o arco tangente de
dos argumentos, con el Iin de obtener los angulos correctos para cualquier cuadrante.

% PROGRAMA PARA RESOLVER LA CINEMATICA INVERSA
% DEL ROBOT de 3GDL

function CinInv=humanoI(datosIN);

d1=datosIN(1);
a2=datosIN(2);
a3=datosIN(3);
Px=datosIN(4);
Py=datosIN(5);
Pz=datosIN(6);

%BRAZO derecho

%CODO ABAJO

% PARAMETROS DEL ROBOT PUMA
d2=.050;
d3=.030;
Ds=d2+d3;

% CALCULO DE ANGULOS
teta1=atan2(Py,Px)+ atan2(Ds, sqrt((Px^2+Py^2)-(Ds^2)));
D=(Px^2+Py^2+(Pz-d1)^2-Ds^2 -a2^2 -a3^2)/(2*a2*a3);
teta3=atan2(sqrt(1-D^2), D);
teta2=atan2((Pz-d1),sqrt(Px^2+Py^2-Ds^2))-
atan2(a3*sin(teta3),(a2+a3*cos(teta3)));

%CAMBIO DE RADIANES A GRADOS
teta1=(teta1*180)/pi;
teta2=(teta2*180)/pi;
teta3=(teta3*180)/pi;

CinInv=[teta1 teta2 teta3];




Anexo 1


- 80 -

















Pagina en blanco intencional





Control de un Robot PUMA utilizando celdas neuronales analgicas


- 81 -
ANEXO 2: Etapa de adquisicin de datos





Anexo 2


- 82 -













Pagina en blanco intencional


Control de un Robot PUMA utilizando celdas neuronales analgicas


- 83 -
ANEXO 3: Diagramas del proyecto


Diagrama Principal


Anexo 3


- 84 -

Celda de control basada en CNN




Control de un Robot PUMA utilizando celdas neuronales analgicas


- 85 -

Generador Central de Patrones




Anexo 3


- 86 -

Etapa de potencia




Control de un Robot PUMA utilizando celdas neuronales analgicas


- 87 -
ANEXO 4: Indices de desempeo



Un indice de desempeo es una medida cualitativa del comportamiento de un sistema y se
elige de Iorma que enIatice las especiIicaciones importantes. Para este trabajo de
investigacion, los indices de desempeo utilizados Iueron:


IAE: Integral del valor absoluto del error.- Remueve las componentes negativas del error.
El IAE es bueno para estudios de simulacion.

( )dt t e IAE
T
}
=
0



ISE: Integral del error cuadratico.- Remueve las componentes negativas del error. El ISE
discrimina entre sistemas sobreamortiguados y subamortiguados.


[ ] dt t e ISE
T
}
=
0
2
) (



ITAE: Integral del tiempo multiplicada por el error absoluto.- Pondera el error con el
tiempo para enIatizar los errores que ocurren en el estado estable.


( )dt t e t ITAE
T
}
=
0



ITSE: Integral del error cuadratico ponderado en el tiempo.- Este es el indice menos
sensible de los cuatro, ademas nos es muy practico para su calculo computacional.


[ ] dt t e t ITSE
T
}
=
0
2
) (



Anexo 4


- 88 -













Pagina en blanco intencional































Control de un Robot PUMA utilizando celdas neuronales analgicas


- 89 -
ANEXO 5: Artculo tcnico presentado en AMCA 2008



Control de un robot usando redes neuronales analgicas

Enrique Martinez Pea, Wilberth Melchor Alcocer Rosado
Gerardo Vicente Guerrero Ramirez, Luis Gerardo Vela Valdes
Centro Nacional de Investigacion y Desarrollo Tecnologico, CENIDET
Interior Internado Palmira s/n C.P. 62490 Cuernavaca, Mor., Mexico
enriquemartinez06mkcenidet.edu.mx
wilberthcenidet.edu.mx
gerardogcenidet.edu.mx
velaluiscenidet.edu.mx
Resumen. En este proyecto se busca emular el comportamiento del movimiento del brazo humano bajo el
paradigma del Generador Central de Patrones (GCP), que propicia la Iormacion de la seal de excitacion
de las extremidades de los seres biologicos. En primer lugar se implementa el modelo matematico de las
Redes Neuronales Celulares Analogicas (RNCA) para obtener un GCP que genere los movimientos
periodicos del brazo humano. En segundo lugar, se determinan los parametros de la RNCA que se
requieren para que el brazo realice el movimiento de una persona que camina y se implementa el GCP
usando ampliIicadores operacionales. Finalmente se propone un metodo alternativo de control a partir del
Iundamento matematico de las RNCA, se comparan todos los resultados obtenidos tanto en simulacion
como en experimentacion real y se obtienen las conclusiones pertinentes.
Palabras Clave: Red Neuronal Celular Analogica, Generador Central de Patrones, implementa-
cion mediante ampliIicadores operacionales, brazo robot.

1 Introduccin
Las Redes Neuronales Celulares (RNC) son concebidas en el laboratorio de la Universidad
de CaliIornia en Berkeley por el Dr. Leon Chua y Lin Yang con un par de articulos en los
que presentan la teoria |1| asi como las primeras aplicaciones |2|. El principal campo de
aplicacion de las RNC ha sido, desde su deIinicion, el procesamiento de imagenes y el
reconocimiento de patrones, pero tambien se han utilizado para el control de postura y
movimiento de robots inspirados biologicamente |3||4||5|.
Las RNC estan basadas en las redes neuronales artiIiciales (RNA), y los automatas
celulares (AC); de las primeras extrae la capacidad para el procesamiento en paralelo y la
dinamica en tiempo continuo, mientras que de los AC obtiene la estructura, es decir, la idea
de distribuir sus elementos de procesamiento (tambien llamadas celulas) en rejillas
regulares y permitir que la comunicacion de cada celula con las otras se llevara a cabo a
nivel local.
La mayoria de las aplicaciones hasta el momento, han sido enIocadas al control de
extremidades inIeriores; en este trabajo se pretende utilizar las RNC para generar el patron
de excitacion de los motores de un brazo robot, el cual Iue diseado en el cenidet |6|. Uno
de los problemas es deIinir el patron correcto de movimiento del brazo humano, una Iuente
Anexo 5


- 90 -
de inIormacion que caracteriza la manera en que el ser humano camina y corre |7| se usa
para generar el patron de movimiento a ser reproducido por el brazo robot.
2 Modelo Matemtico de las Redes Neuronales Celulares
La unidad basica de una red neuronal celular es llamada celula (o celda) |1|. Contiene
elementos lineales (capacitores, resistencias) y no lineales (Iuentes de corriente) y Iuentes
independientes. La Red Neuronal Celular deIinida por Chua y Yang consiste en usar
circuitos dinamicos no lineales, localmente interconectados e identicos. Usando un arreglo
de 2 dimensiones, en una capa simple y asignando a C y R
x
el valor de 1, entonces
matematicamente esta deIinicion se escribe como |8|:

if
if N kl
if kl
kl if
if N kl
if kl
kl if
if
if
I t u t u B t v t v A x
dt
dx
r r
+ + + =

) (
;
) (
; )) ( ), ( ( )) ( ), ( (


(1)
Donde:

if Se reIiere a la
esima if
neurona en una malla de 2 dimensiones.
) (if N kl
r
Es la esima kl neurona en una vecindad de radio r de la
esima if
neurona.
if
x Es el estado de la
esima if
neurona.
A

Es la plantilla de retroalimentacion.
B

Es la plantilla de prealimentacion.
if
u Es la entrada del sistema.
if
I Es el termino de corriente de polarizacion (bias), usualmente una constante.

Por otro lado, la Iuncion de salida se representa como:

) (
i i
x f v =


(2)

Donde, f(x
i
) es una Iuncion de salida no lineal, llamada tambien Iuncion de umbral. Existen
diIerentes Iunciones de salida no lineales: Sigmoide, Unitaria, Gaussiana, etc. Otra ventaja
de las redes neuronales celulares, es que de acuerdo a sus autores una celula puede ser
implementada usando ampliIicadores operacionales |1|, lo cual inIiere que su
implementacion sea Iactible y de bajo costo.
3 Generador Central de Patrones
Los movimientos realizados por animales cuando realizan actividades tales como caminar,
volar, correr, nadar, etc., se llevan a cabo empleando patrones periodicos en sus
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 91 -
extremidades. El encargado de realizar estos patrones es conocido como Generador Central
de Patrones (GCP). Estudios realizados sobre como los seres biologicos realizan sus
movimientos, revelan que el patron de actividad locomotora se debe a un patron de
actividad neuronal |9|.

El principal componente del sistema motriz es el GCP, un circuito neuronal que produce un
patron motriz ritmico sin necesidad de sensores que retroalimenten algun tipo de control. Se
localiza generalmente en la espina cordal en los vertebrados o en los ganglios en los
invertebrados.

El GCP incluye el mecanismo neuronal necesario para la generacion ritmica coordinada
neuro-motora y por lo tanto de la salida del sistema, es decir los musculos. La salida del
GCP controla directamente los organos eIectores (piernas, brazos, dedos, etc.) mientras que
las seales que recibe del control neuronal superior solo son necesarias para iniciar el
movimiento, pero no para generar el patron correcto de movimiento.
Existen diIerentes enIoques acerca del diseo del CPG, pero en general consideran que las
seales se obtienen utilizando osciladores neuronales |9||10||11|; los cuales se pueden
implementar digitalmente en chip`s VLSI o FPGA |12|, pero ademas pueden ser
implementados analogicamente, utilizando desde ampliIicadores CMOS hasta
ampliIicadores operacionales |3||4|.

En este proyecto se utiliza el modelo del GCP basado en las RNCA |3|; una manera de
simpliIicar el modelo para ser llevado a la implementacion es considerar al oscilador no
lineal como un circuito no lineal de segundo orden |4|, hecho de dos celdas de primer
orden.

Para poder implementar el GCP, a partir de (1) se escoge 0 = B

y la Iuncion de salida como


Iuncion saturacion, de esta manera el modelo matematico para una neurona queda deIinido
de la siguiente manera:
1 2 1 1
1
i v v x
dt
dx
+ + =

(3)
2 1 2 2
2
i v v x
dt
dx
+ + + =

(4)
( ) 2 , 1 1 1
2
1
= + = i para x x v
i i i
(5)
Como en este proyecto se requiere controlar un brazo robot, se requerira de dos neuronas,
una para generar el patron del brazo y la otra para el antebrazo.
Para generar las oscilaciones deseadas, se requiere conocer los parametros o, , i
1
e i
2
. Para
ello se propone usar como reIerencia el patron de la marcha humana (caminar), con enIasis
en el movimiento del brazo.
Anexo 5


- 92 -
4 Marcha Humana
La marcha humana se ha descrito como una serie de movimientos alternantes, ritmicos, de
las extremidades y del tronco que determinan un desplazamiento hacia adelante del centro
de gravedad |13|; Existen diIerentes metodos para el analisis del movimiento humano:
videograIia, electro- miograIia y dinamometria. En la literatura podemos encontrar
estudios de diIerentes ciencias que estan involucradas con la marcha humana, como son la
biomecanica, la medicina del deporte y la ortopedia |7||14||15|.

En este proyecto nos basamos en los resultados de una tesis que se desarrollo en el cenidet,
en el departamento de ciencias computacionales, titulada 'Caracterizacion de imagenes en
movimiento: Correr y Caminar |7|.

De aqui tomamos una representacion de las posiciones que Iorma el cuerpo al realizar el
movimiento basico del caminar, con enIasis en la cadencia del brazo. Se utilizo el modelo
de cinematica inversa del robot propuesto |6| y se adapto para que a partir de los datos
provistos por el soItware CaIMoCoCa se obtuvieran los angulos requeridos por el brazo
robot, para reproducir el movimiento.

En la Fig. 1 se aprecian los valores de los angulos, donde Teta2 son los angulos del hombro
y Teta3 los del codo.

Fig. 1. Secuencia de angulos para el movimiento de caminar.
Con estos datos, se inicio la busqueda de los parametros de diseo del GCP, para ello
empleamos el programa Matlab; se realizo un ajuste de curvas de orden 7 para generar el
patron humano de reIerencia |16|, con el cual se hicieron comparaciones empleando el
error cuadratico medio como medida de discriminacion, en la Fig. 2 se aprecia el patron a
reproducir por la RNCA y el patron humano.

Los parametros para la red neuronal quedan como: o1.5, 1, i
1
-0.0005 e i
2
-0.0019.
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 93 -

Fig. 2. Comparacion de la RNCA con el modelo de reIerencia humano.

5 Implementacin del GCP
Con los datos anteriores se procede a implementar las ecuaciones 3, 4 y 5 usando
ampliIicadores operacionales como en la reIerencia |4|. Usando el paquete Orcad-PSpice
|17| se puede observar la simulacion del GCP para la articulacion del hombro.

Fig. 3. Resultados de simulacion del GCP.
Para llevar a cabo la medicion de la posicion del robot para ser usada en las siguientes
secciones, se diseo una tarjeta electronica que convierte la posicion en grados a voltaje,
cuya seal de salida es de 0 a 5 volts, donde la posicion neutra (donde el brazo se extiende
de manera vertical) representa 2.5 volts, de esta manera la salida de la neurona debe de
reemplazar su reIerencia de 0 a 2.5 para tomar en cuenta esta consideracion. En la Iigura 4
se observa el arranque del GCP, la medicion del patron se hace con un osciloscopio digital,
al inicio se aprecia un transitorio y despues comienzan las oscilaciones constantes.
Anexo 5


- 94 -

Fig. 4. Comportamiento del GCP.
6 Control con redes neuronales celulares analgicas
Hasta la seccion anterior han quedado diIerentes trabajos de investigacion |4||19||20|,
donde para llevar a cabo el control del seguimiento de la trayectoria descrita por el GCP se
usan controladores tradicionales basados en microcontrolador. El presente proyecto
propone una solucion alterna que, basada en el enIoque de las RNCA genere pulsos
modulados (PWM) que permitan excitar los motores de las articulaciones.
Las oscilaciones generadas en las Iiguras 3 y 4 son constantes y deIinidas por los
parametros de las ecuaciones que conIorman la RNCA, esto resulta de hacer cero la
plantilla de realimentacion B, la cual en la ecuacion 1, involucra una entrada al sistema.
Nuestra propuesta es usar como entrada el error de posicion |18|:
m d
q q e =

(6)
Donde:
e Es el error de posicion
d
q Es la posicion deseada
m
q Es la posicion medida o real
De esta manera e t u = ) ( y Ialtaria por deIinir la plantilla de prealimentacion B

; por medio
de resultados de simulacion se determino que Iuera:
(


(7)
Donde es un peso asociado a la entrada utilizado para ajustar el rango de los posibles
valores que toma la seal de error, en este caso de 1/5. Ademas se hicieron i
1
i
2
0.
Quedando la representacion matematica del controlador de posicion basado en RNCA
como:
) (
2 1 1
1
t u v v x
dt
dx
+ + =

(8)
Control de un Robot PUMA utilizando celdas neuronales analgicas


- 95 -
) (
1 2 2
2
t u v v x
dt
dx
+ + =

(9)
La Iuncion de umbral sigue deIinida como del tipo saturacion. A continuacion se presentan
los resultados del comportamiento del controlador usando diIerentes seales de reIerencia,
y usando solo la posicion del hombro. El primer caso de estudio Iue para una reIerencia
constante, el robot se encontraba originalmente en una posicion de -80, con respecto al eje
vertical y comenzo a desplazarse hacia una posicion Iinal de 90 (cuya representacion en
voltaje es de 5 vcd).Se obtuvo un sobrepaso de 1. Tambien se tiene ruido en la seal
asociado a la etapa de potencia.

Fig. 5. Desempeo de la RNCA controlando una posicion constante.
El segundo caso consistio en tomar la seal de movimiento del brazo proporcionada por el
GCP, como la seal de reIerencia., ver Iig. 6.

Fig. 6. Desempeo de la RNCA controlando el seguimiento de una trayectoria.
7 Conclusiones
En este trabajo se presento la versatilidad de las redes neuronales celulares implementadas
con ampliIicadores operacionales. Se utilizo como patron de reIerencia el movimiento que
realiza el ser humano al caminar, con enIasis en los angulos que se Iorman en el brazo.

Por otro lado, se presento un controlador basado en el modelo matematico del GCP. Se
llevaron a cabo dos diIerentes pruebas, la primera usando una posicion de reIerencia
constante y la otra siguiendo la trayectoria generada por el GCP ambos casos empleando un
brazo robot de 3gdl (ver Fig. 7).
Anexo 5


- 96 -
Los resultados nos indican que es posible llevar a cabo el control de posicion del brazo
robot utilizando ampliIicadores operacionales organizados bajo la estructura de las redes
neuronales celulares, teniendo como entrada la seal de error de posicion.

Fig. 7. Brazo robot utilizado en las pruebas experimentales.
Agradecimientos

Agradecemos a la M.C. Andrea Magadan Salazar y al M.C. Jorge AlIredo Saldaa Garcia,
nos permitieran trabajar con el material de la tesis |7| como lo es el soItware CaIMoCoCa
asi como un video con diIerentes sujetos de pruebas. Asi mismo los autores desean
agradecer a la Direccion General de Educacion Superior Tecnologica, por el apoyo
Iinanciero otorgado al proyecto de investigacion, con clave 281.06-P/2007.

Potrebbero piacerti anche