Академический Документы
Профессиональный Документы
Культура Документы
ar/sinc)
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
RESUMEN
Los métodos utilizados para el diseño de estrategias de control basados en las técnicas
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
I INTRODUCCIÓN
En los últimos años ha ido incrementándose el interés por los sistemas basados en
redes neuronales aplicados a la resolución de problemas de control. Tal incremento
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
El proceso termina cuando se calculan los valores de salida de la última capa. Esta
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
regla sólo puede ser violada durante la fase de entrenamiento, cuando la salida de
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
una neurona se utiliza para ajustar los pesos de conexión entre las neuronas de capas
contiguas, afectando así las futuras salidas de esa neurona. Un ejemplo de este tipo
de estructura es el perceptrón multicapa, que será el tipo de red utilizado en este
trabajo.
A. Perceptrones multicapa.
Los perceptrones de capa múltiple son redes anteroalimentadas con una o más
capas de neuronas entre las neuronas de entrada y salida. Estas capas adicionales
contienen neuronas o unidades ocultas que no están directamente conectadas a las
neuronas de entrada y salida.
Los perceptrones multicapa poseen una función no lineal a la salida de cada neurona
y utilizan varias capas adaptables. No solamente los pesos de una capa son
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
adaptables, sino que lo son los de todas las capas que forman la red. Se puede
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
Las neuronas utilizadas en los perceptrones multicapa son del tipo Mc Culloch-Pitts,
con una función sigmoide (continua, monótona creciente, continuamente
diferenciable y con asíntotas horizontales para valores finitos) para la cual, los
valores asintóticos son generalmente 1 y 0. Un ejemplo de una función sigmoide es
1
f ( x) (1)
1 e ( x )
B. Entrenamiento Supervisado
Hay dos operaciones distintas que tienen lugar durante la fase de entrenamiento: el
cómputo hacia adelante (feedforward computation) y la actualización de los pesos
basándose en el error de salida de la red. Los perceptrones utilizan entrenamiento
supervisado, ya que se le deben presentar a la red los patterns de entrada y sus
correspondientes salidas para ser asociados.
la red usa la misma función de activación y el mismo valor umbral, aunque esto no
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
Algoritmo de Retropropagación
El algoritmo de retropropagación es una generalización del algoritmo de cuadrados
medios mínimos (LMS). Este es una técnica de búsqueda por gradiente para
minimizar una función costo igual a la diferencia cuadrática media entre la salida
deseada y la salida real de la red.
E j X
Wj
nuevo viejo
Wj 2 (3)
X
f ' ( x) f ( x) 1 f ( x) (5)
y para el caso en el que las salidas están entre 0 y 1 la derivada tendrá un máximo
para x=1/2, o sea cuando una neurona dada no ha sido aún forzada a tomar valor 0 o
1.
A. Aprendizaje indirecto
En un controlador anteroalimentado implementado como una red neuronal, su salida
u acciona la planta; la salida deseada de la planta es d y su salida real es y. El
controlador neuronal debería actuar como la inversa de la planta, produciendo una
señal u, a partir de la respuesta deseada d que opere sobre la planta para que sea y
d. El objetivo del aprendizaje es seleccionar los valores de los pesos de la red a fin
de producir un mapeo correcto du, al menos sobre el rango de d en el cual opera
la planta.
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
tal modo que yd, entonces la red utilizada como controlador anteroalimentado
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
B. Aprendizaje General
C. Aprendizaje Especializado
A diferencia del método general, que debe ser entrenado off-line, el procedimiento
especializado puede ser entrenado on-line mientras el sistema está realizando su
trabajo. El procedimiento especializado puede presentar problemas de estabilidad
10
(7)
i ua
ap da ya
donde Pi(u) representa el i-ésimo elemento de la salida de la planta para una entrada
u. De este modo puede aplicarse el algoritmo de retropropagación, y la
minimización del error sigue siendo del tipo gradiente descendente.
Pi Pi ( u u ji j ) Pi ( u j )
(8)
u j u j
11
Otra alternativa es utilizar una red entrenada para que simule el comportamiento de
la planta. Este último enfoque es el utilizado en el presente trabajo.
IV IDENTIFICACIÓN DE PARÁMETROS
Cuando se trabaja con sistemas basados en representaciones discretas del tiempo, es
posible utilizar para su representación las ecuaciones en diferencias
correspondientes a las ecuaciones diferenciales que describen al sistema en una
representación de tiempo continuo. Estas ecuaciones en diferencias toman una
forma general
x ( k + 1) = x ( k ), u( k ) (9)
y ( k ) = x( k )
donde u(.), x(.) y y(.) son secuencias temporales discretas. Si el sistema descrito por
las ecuaciones anteriores es lineal y temporalmente invariante, las ecuaciones que
gobiernan su comportamiento pueden expresarse como
b g bg
x k 1 Ax k Bu (10)
bg bg
y k Cx k
La entrada y la salida de una planta con dinámica causal, de tiempo discreto son u(.)
y y(.) respectivamente. La planta se asume como estable, con una parametrización
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
un modelo de identificación adecuado, de tal modo que cuando sea sometido a una
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
entrada u(k), produzca una salida ^yp(k) que se aproxime a la salida de la planta,
yp(k) sometida a la misma entrada.
Como nuestro interés es presentar una metodología general que refleje situaciones
reales, en las que se desconoce el modelo de la planta, durante el desarrollo del
trabajo suponemos desconocerlo . Sólo se utiliza dicho modelo para su simulación
digital (debido a que no se cuenta en este caso con el robot real).
A. El problema de control
La representación standard de una planta de tiempo discreto y dimensión finita es
mostrada en la figura 5. El vector u(k) representa las entradas a la planta en el
tiempo k y el vector z(k) representa el estado de la planta en el tiempo k. La función
A(z(k),u(k)) mapea las entradas y el estado actual en el estado siguiente. Cuando la
planta es lineal, la ecuación se convierte en:
diseño considerable.
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
El objetivo de este trabajo es entrenar un controlador, en este caso una red neuronal,
para producir la señal correcta u(k) para conducir la planta a un estado deseado z(d),
dado el estado actual z(k) de la planta (Fig. 5). Cada valor de u(k) en el tiempo juega
su papel en la determinación del estado de la planta. Conociendo el estado deseado,
sin embargo, no puede extraerse fácilmente información acerca de los valores de
u(k) que se requieren para alcanzarlo.
Dado que el emulador posee ahora la misma dinámica que la planta, es posible
utilizarlo con el propósito de entrenar al controlador neuronal. El controlador debe
aprender a llevar a la planta, desde un estado inicial z0 hasta un estado deseado zd
en k pasos de tiempo. El objetivo del proceso de aprendizaje es hallar un conjunto
de pesos de conexión para el controlador, tales que minimicen la función error J,
donde J está promediada sobre el conjunto de estados iniciales z0
e
J E d ( x) Y ( x)
2
j (12)
15
esta tarea ya que no es posible propagar ningún error a través de ella. Esta es la
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
A. Manipulador
- 0 1 2 3
0 0 0 0
a L L1 L2 L3
d 0 0 0 0
1 0
B. Modelo Dinámico
F I
Fi ( t ) GG
d K
JJ
K U
H .
dt q
i K qi qi (13)
.. . . .2 .
M() B() C() g() F(, ) (14)
17
controlador PD.
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
A. Control Clásico
En esta sección se analiza el enfoque clásico usado en este trabajo para el control
del robot. La trayectoria deseada en el espacio cartesiano, se genera a partir de los
puntos inicial y final; se impone que las variables en el espacio de las juntas, sigan
una trayectoria suave. Para ello se utiliza un polinomio cúbico.
18
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
y la ley de control es
.. .
, d Kv E K p E (16)
E d (17)
Ejemplo 1
En las figuras 9.a y 9.b, se observan los errores de posición y velocidad de las tres
juntas. La dinámica del robot se aproxima a un sistema sobreamortiguado y los
errores tienden rápidamente a cero.
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
Ejemplo 2:
subamortiguada.
Fig.9a) Errores de posición
junta 1, donde hay un claro desacople entre las juntas, y la dinámica de la junta 1 es
En las figuras 10.a y 10.b se observa el efecto de disminuir el valor de Kv de la
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
la tabla II.
Fig. 10 a) Errores de posición del ejemplo 2.
B. Control Neuronal
Como primera aproximación, se comenzó realizando todos los programas de manera
de entrenar una RN para que se comporte con la dinámica del brazo robot en un
rango de trabajo reducido. De esta manera se redujo la envergadura del problema
para luego poder pasar a trabajar en el espacio de trabajo completo. Por otra parte,
las experiencias obtenidas en el entrenamiento de la red con plantas de dinámica
más simple, permitieron sacar rápidamente conclusiones generales debido a que la
red aprendía con mayor velocidad.
La otra medida de performance consideró el error cuadrático medio sobre todas las
salidas y los valores correctos. Debe tenerse en cuenta que para la medición de estos
indicadores se utilizan los mismos datos que para el entrenamiento, cosa que puede
no ser cierta en las simulaciones que siguen.
Durante la etapa de simulación fue probada una serie de estructuras de varios nodos
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
por capa. Dado que la cantidad mínima de pesos necesaria para resolver la dinámica
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
de una planta como ésta era tan sólo de nueve pesos, se optó por una red con nueve
entradas, tres neuronas en la primera capa, tres en la segunda y tres en la capa de
salida. Las entradas corresponden a los tres torques -uno por cada junta-, y los seis
restantes corresponden a los ángulos de las juntas retardados dos veces (z-1 y z-2).
Las salidas corresponden a los ángulos de las juntas sin retardar. A continuación
puede verse un informe de entrenamiento emitido por el sistema desarrollado a tal
efecto por el grupo.
Esta red demostró alcanzar un mejor comportamiento que otras configuraciones más
complejas, con un menor número de entrenamientos y mejor performance y
adaptación a los cambios en los niveles de entrada. Durante las pruebas realizadas se
notó cierta dificultad para asimilar cambios bruscos en la escala de las entradas
presentadas a la red. Esto se manifestó por un total "olvido" de lo aprendido hasta
ese momento para tener que "reaprender" la dinámica nuevamente. Para subsanar
este problema, en el caso de rangos de trabajo más amplios, se debe trabajar con
entradas tales que permitan barrer el espacio de trabajo del robot; cualquier entrada
por encima de estos valores provocará seguramente algún efecto de "saturación". En
nuestras simulaciones se notó que en general la red aprendía más rápidamente si
primero se la entrenaba con ruido y luego con el resto de las entradas en forma
alternativa.
Dirac para la misma junta y en la Fig. 14 se muestran los resultados para una
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
entrada senoidal.
entrena a "lazo abierto" según se observa en la figura 15. Este enfoque no dio
buenos resultados ya que el controlador tardaba mucho en aprender la dinámica
inversa de la planta debido a la información posiblemente errónea que le llegaba de
sus salidas en estados (y tiempos) anteriores. En otras palabras, como el controlador
al principio tenía una configuración de pesos y umbrales totalmente aleatoria -la
cual debía ser optimizada mediante el algoritmo de B.P.- las salidas que
proporcionaba eran incorrectas y, por lo tanto, al usarse en el próximo instante como
entradas, "confundían " a la red.
Por último se conectó el controlador entrenado al modelo real del robot según se
muestra en la figura 17.
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
VII. CONCLUSIÓN
En el presente trabajo se pudieron comprobar en forma cualitativa las posibilidades
de las redes neuronales como controladores e identificadores de sistemas complejos.
A pesar de que el controlador se restringió a un rango de trabajo reducido, los
resultados pueden ser extrapolables al espacio de trabajo completo. Se pudo
observar que desde el punto de vista de la flexibilidad en el diseño, la adaptabilidad
a sistemas dinámicos no lineales y la tolerancia a ruido o cambios del punto de
operación de la planta, las redes neuronales representan una mejor alternativa al
enfoque clásico. Sin embargo, se requiere un estudio aún más exhaustivo de la
performance de estos sistemas en comparación con los convencionales.
28
APÉNDICE A
w j ( d ( p ) y ( p )) I j ( p ) ( p ) I j ( p ) (18)
donde d(p) es la salida deseada para el p-ésimo pattern, y(p) es la salida estimada
para el p-ésimo patrón de entrada, Ij(p) es la j-ésima componente del pattern de
entrada p-ésimo, ß es el factor de aprendizaje y wj es el ajuste para el j-ésimo peso.
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
salida deseada y la salida obtenida. A fin de probar que la regla Delta es un método
de gradiente descendente, debemos demostrar que la derivada de la función error
respecto a cada peso es negativamente proporcional al cambio de peso en la regla
Delta.
Sea
1
E ( p) d ( p) y ( p)
2
(19)
2
la medida del error para el j-ésimo pattern y definamos el error global como
E=E(p). Aplicando la regla de la cadena, la derivada de E(p) respecto del j-ésimo
peso es
E ( p ) E ( p ) y( p )
(20)
w j y( p ) w j
El primer factor del segundo miembro es el cambio en el error respecto del valor de
salida estimado, y el segundo factor es el cambio en la salida estimada respecto del
j-ésimo peso.
E ( p)
d ( p) y ( p) ( p) (21)
y ( p)
Y dado que
29
y( p ) w j I j ( p ) (22)
j
y ( p)
I j ( p) (23)
w j
E ( p)
( p) I j ( p) (24)
w j
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
Comparando esta última expresión con la ecuación (18) puede observarse que la
regla Delta, como se pretendía demostrar, ajusta los pesos proporcionalmente a la
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
E E ( p )
(25)
w j p w j
E ( p )
wij (28)
wij
E ( p) E ( p) red j ( p)
(29)
wij red j ( p) wij
red ( p)
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
wij
wkj yk ( p) yi ( p)
wij k
(30)
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
E ( p)
si definimos j ( p) , la ecuación (27) puede ser reescrita como
red j ( p)
E ( p)
j ( p) y j ( p) (31)
wij
E ( p) E ( p) y j ( p)
j ( p) (32)
red j ( p) y j ( p) red j ( p)
y j ( p)
f ' ( red j ( p)) (33)
red j
Considérense dos casos para el primer término. Primero que se trata de una neurona
de salida, por lo tanto
E ( p)
d ( p) y j ( p) (34)
y j ( p)
31
E ( p ) redk ( p ) E ( p )
red
k ( p ) y ( p )
k red ( p ) y ( p )
i
wij yi ( p ) (36)
k j k j
E ( p)
wij
k red j ( p )
k ( p ) w jk
k
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
donde wjk es el peso de conexión entre la j-ésima neurona de la capa actual con la
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
APÉNDICE B
Modelo Cinemático
La matriz de transformación del órgano terminal respecto a la base esta dada por la
expresión
0
T4 0T1 1T2 2T3 3T4 (38)
LMc OP
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
123
T M PP
s c123 0 L L1s1 L2 s12 L3 s123
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
MM 0
0 123
4
N0
0
0
1
0
0
1
PQ
Donde
cij cos(i j )
sij sin(i j )
La matriz de la ecuación 30, permite conocer la posición del extremo del órgano
terminal, respecto de la base para cualquier configuración, por medio del vector
traslación
t
0
POT Px 0 Py 0 Pz0 (39)
N 2L L
1 2 Q
1 tan1
LM ( y L sin()) OP tan LM L sin( ) OP
3 1 2 2
N ( x L L cos()) Q N L L cos( ) Q
3 1 2 2
3 1 2
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
34
APÉNDICE C
M 12 m2 ( L2 2 L1 L2 c2 ) m3 ( L2 2 L3 2 L1 L2 c2 L1 L3 c23 2 L2 L3 c3 )
M 13 m3 ( L3 2 L1 L3 c23 L2 L3 c3 )
M 21 M 12
M 22 m2 L2 2 m3 ( L3 2 L2 2 2 L2 L3 c2 )
M 23 m2 L2 2 m3 ( L3 2 L2 2 2 L2 L3 c2 )
M 31 M 13
M 32 M 23
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"
M 33 m3 L3 2
Anales del X Congreso Nacional de Informática y Telecomunicaciones, Vol. 1, pp. 201-208, may, 1993.
2.Matriz de Coriolis
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
(43)
B11 2m2 L1 L2 s2 2m3 ( L1 L2 s2 L1 L3 s23 )
B12 2m3 ( L1 L3 s23 L2 L3 s3 )
B13 B12
B21 0
B22 2m3 L2 L3 s3 )
B23 B22
B31 B23
B32 0
B33 0
4. Vector gravedad
(45)
g1 ( m1 m2 m3 ) L1s1 ( m2 m3 ) L2 s12 m3 L3 s123
g2 ( m2 m3 ) L2 s12 m3 L3 s123
g3 m3 L3 s123
5. Vector fricción
REFERENCIAS
Neural Networks, IEEE Trans. Neural Networks, Vol. 1 Nº1, Marzo 1990.
sinc(i) Research Center for Signals, Systems and Computational Intelligence (fich.unl.edu.ar/sinc)
Sumario
Resumen ..................................................................................................................... 2
I Introducción ............................................................................................................ 3
II. Redes neuronales Anteroalimentadas .................................................................... 4
A. Perceptrones multicapa. ............................................................................. 5
B. Entrenamiento Supervisado ....................................................................... 6
Cómputo hacia adelante. ....................................................................... 6
Algoritmo de Retropropagación ........................................................... 6
III. Arquitecturas Neuronales para Control ............................................................... 8
A. Aprendizaje indirecto ................................................................................. 8
B. Aprendizaje General .................................................................................. 9
C. Aprendizaje Especializado ......................................................................... 9
H. L. Rufiner, D. Zapata, A. Sigura & L. G. Gamero; "Control de un Robot Mediante Computación Neuronal"