Está en la página 1de 6

CONTROLADOR DE ROBOTS BASADO EN REDES NEURONALES

Artola, Gerardo - Apóstoli, Roberto S.


Consejo Nacional de Investigaciones Científicas y Técnicas
Universidad Tecnológica Nacional
gerartola@yahoo.com.ar
Córdoba – ARGENTINA

RESUMEN

Este trabajo se enmarca en el área de la Ingeniería de los Sistemas de Control y trata en particular el desarrollo de
controladores basados en redes neuronales aplicados a robots manipuladores. Este tipo de controladores explotan
fundamentalmente la capacidad de las redes neuronales de aproximar funciones no lineales. Se propone una
estructura de control en paralelo formada por un lazo de realimentación lineal, tipo proporcional-derivativo, más un
lazo de precompensación de la dinámica inversa del robot. La dinámica inversa del manipulador es modelada
mediante una red neuronal utilizando un perceptrón multicapa entrenado con backpropagation. El entrenamiento se
realiza en dos etapas, fuera de línea y en línea. Los algoritmos de control desarrollados fueron simulados para un
robot de dos grados de libertad.

es estable, fijando las ganancias proporcionales y


INTRODUCCIÓN
derivativas suficientemente grandes.
En manipuladores robóticos de elevado desempeño, o
En los últimos años la utilización de redes
sea, en aquellos que trabajan a elevadas velocidades o
neuronales en control de sistemas ha tenido gran
con pequeñas reducciones en las cajas de transmisión,
auge debido, especialmente, a la capacidad de
se manifiestan fenómenos no lineales inherentes a la
éstas de aproximar funciones no lineales. Debido
estructura mecánica del manipulador.
a que el modelo dinámico inverso del
El objetivo del sistema de control de un robot
manipulador utilizado en la precompensación no
manipulador es garantizar el seguimiento de una
es conocido con exactitud [Spong et al. 1982], en
trayectoria deseada por parte del mismo. En general,
este trabajo se propone modelar al mismo
los algoritmos de control avanzados utilizados
mediante un perceptrón multicapa entrenado con
presuponen el conocimiento exacto de la dinámica del
backpropagation.
manipulador que es tenido en cuenta en el cálculo de
Este trabajo está organizado como sigue. En la
la ley de control. Este modelo dinámico está
primer sección se plantea el modelo dinámico del
caracterizado por un sistema de ecuaciones
manipulador, la ecuación de estado del sistema y
diferenciales no lineales, multivariables y altamente
las ecuaciones del controlador. En la segunda
acopladas [Vukobratovic et al. 1982].
sección se presenta la red neuronal, el algoritmo
Una de las estructuras más simples usadas en el
de entrenamiento, y la estructura utilizada para
control de movimiento de un robot está formada por
modelar la dinámica inversa del manipulador. En
dos controladores en paralelo, consistente en un lazo
la tercer sección se presentan las simulaciones
de realimentación lineal, generalmente tipo
logradas para un robot de dos grados de libertad.
proporcional-derivativo, más un lazo de
Finalmente se presentan las conclusiones en la
precompensación de la dinámica inversa del robot. El
última sección.
objetivo de la precompensación es el de mejorar la
I. MODELO DINÁMICO DEL ROBOT Y
respuesta transitoria de la planta para lograr un
FORMULACIÓN DEL CONTROLADOR
seguimiento de trayectorias adecuado. Siguiendo a [R.
Kelly 1994] se demuestra que este tipo de controlador
Modelo Dinámico de cálculo matemático simbólico (ej:
El modelo mecánico del robot se calcula utilizando la Mathematica), se obtienen las ecuaciones
formulación de Lagrange-Euler. Las ecuaciones de dinámicas del manipulador que expresadas en
movimiento obtenidas expresan la relación entre los forma vectorial quedan
torques aplicados al mecanismo en cada articulación y
la posición, velocidad y aceleración de los diferentes τ 1   d 11 d12   q&&1   c1   g1 
eslabones. Se considera el robot planar de dos grados τ  = d d 22  q&&  + c  +  g  (7)
de libertad de la Figura 1, donde a1 y a2 son las  2   21  2  2  2
longitudes de cada elemento, m1 y m2 las respectivas
masas, q1 y q2 las variables de cada articulación y g el donde
vector de gravedad.
d11 = (m1 + m2 ) a12 + m2 a 22 + 2m2 a1 a 2 cos q 2
y (x2,y2)
m2 d12 = d 21 = m2 a 22 + m2 a1 a 2 cos q 2
g
d 22 = m2 a 22
a2 c1 = − m2 a1 a 2 (2q&1 q& 2 + q& 22 ) sinq 2
q2 c 2 = m2 a1 a 2 q&12 sinq 2
(x1,y1) g1 = (m1 + m2 ) g a1 cos q1 + m2 g a 2 cos(q1 + q 2 )

a1 m1
g 2 = m2 g a 2 cos(q1 + q 2 )
q1
La ecuación (7) puede expresarse como
0 x
Figura 1. Robot planar de 2 GDL´s τ = D (q ) q&& + C (q, q& ) + G (q ) (8)

donde τ es el vector de torques aplicados en cada


La ecuación de movimiento de Lagrange es
articulación; q , q& , q
&& son los vectores de
posición, velocidad y aceleración articulares,
d ∂L ∂L
− = τ (1) respectivamente; D (q ) es la matriz de inercia;
dt ∂q& ∂q
C (q, q& ) es el vector de fuerzas centrípetas y de
con el Lagrangiano, L, definido en términos de la Coriolis; y G (q ) es el vector de fuerzas
energía cinética, K, y de la energía potencial, P, como gravitacionales.
Finalmente, considerando los términos de fricción
L = K − P = K 1 + K 2 − P1 − P2 (2) F (q& ) , y los torques perturbadores τ p , podemos
completar la ecuación (8) de la siguiente manera
Las expresiones de la energía cinética y potencial del
robot de la Figura 1 son, para el primer elemento τ = D(q) q&& + C(q, q&) + G(q) + F (q&) + τ p (9)

1
K1 = m1 a12 q&12 (3) Simplificando la notación, haciendo
2
P1 = m1 g a1 sin q1 (4) N (q, q& ) = C (q, q& ) + G (q ) + F (q& ) + τ p

y para el segundo elemento queda


1 1
K2 = m2 a12 q&12 + m2 a22 (q&2 + q&2 )2 + m2 a1a2 (q&12 + q&1q&2 ) cosq2 (5) τ = D (q ) q&& + N (q, q& ) (10)
2 2

P2 = m2 g [a1 sinq1 + a2 sin(q1 + q2 )]


que es la ecuación dinámica directa del
(6)
manipulador, que da los torques aplicados en
función de las posiciones, velocidades y
Reemplazando las ecuaciones (3), (4), (5) y (6) en (2) aceleraciones articulares.
se obtiene la expresión del Lagrangiano, y A los fines de simular el sistema dinámico de la
reemplazando ésta en (1), y con ayuda de un software ecuación (10) es conveniente representar al
mismo mediante variables de estado. Despejando la Donde γ será la función dinámica inversa
aceleración de (10), utilizando la forma de Brunovsky aprendida por la red neuronal. Evidentemente, en
y tomando como vector de estado a el caso ideal, si la aproximación de la RN a la
dinámica inversa del robot fuera sin errores, la
x = [q T
q& T ]
T salida del controlador sería cero ya que para una
trayectoria qd la RN generaría los torques ideales
para que la trayectoria real q siga a la deseada.
queda En el caso no ideal, el controlador PD
q&& = D(q ) −1 [τ − N (q, q& )] compensará los errores producidos en el modelaje
de la RN. Siguiendo a [Velthuis et al. 1996], se
puede interpretar a la señal de salida del
d q  0 I   q  0 
=    +   µ
controlador PD como una medida del error en el
 
dt q& 
(11)
0 0 q&   I  modelo obtenido por la red neuronal.

con II. RED NEURONAL Y ESTRUCTURAS DE


µ = D(q) −1
[τ − N (q, q& )] (12)
APRENDIZAJE DEL MODELO INVERSO
DEL MANIPULADOR

Las ecuaciones (11) y (12) representan la dinámica Red neuronal y algoritmo de entrenamiento
inversa del manipulador, es decir, nos dan la posición Ha sido probado [Hornik 1989] que una red
de los elementos del mismo en función de los torques multicapa feedforward es capaz de aproximar
aplicados. cualquier función continua real con precisión
arbitraria. En este trabajo se utilizan perceptrones
Estructura del Controlador multicapa con funciones de activación
En la Figura 2 se aprecia la estructura del controlador sigmoidales. Debido a que la salida de las
propuesto. La señal de control µ, está dada por neuronas sigmoidales está comprendida en el
rango [0 1], y se necesitan valores de salida
µ = µ fb + µ ff (13) positivos y negativos en un rango mayor, se
agrega una última capa de salida con funciones de
activación lineales, siendo su objetivo el de
La acción del controlador PD, está dada por
transformar el rango de salida de las neuronas
sigmoidales a valores adecuados para generar la
µ fb = K P e + K v e& (14) señal de control.
El algoritmo de entrenamiento utilizado es el de
siendo e el vector error de posición, dado por la backpropagation. Mediante este algoritmo se
diferencia entre la posición deseada qd, y la real q. O minimiza una función de error cuadrática dada
sea e = qd – q. e& es el vector error de velocidad. Kp es por la diferencia entre los valores de salida
la matriz diagonal con las ganancias proporcionales de esperados y los que realmente entrega la red
cada articulación y Kv es la matriz diagonal con las [Haykin 1994], esto es, se minimiza la función
ganancias derivativas.
E =
1
(γˆ − γ )2 (16)
µff 2
FF
donde γˆ es el vector de salida dado por la RN, y
+ γ es el vector de salida deseado. Esta técnica es
+ µ q conocida como descenso por gradiente ya que se
PD Robot
ajustan los pesos sinápticos de la red ωij, de forma
qd µfb
proporcional al gradiente de la función de error
dado por la ecuación (16). O sea, según

∂E
La acciónFigura 2. Controlador
del compensador FF,PD
está+ dada
FF por ∆ω ij ( k +1) = −α + β ∆ω ij ( k )
∂ω ij
µ ff = γ (q d , q& d , q&&d ) (15) (17)
donde α es el factor de aprendizaje, cuyo valor está
comprendido normalmente entre 0 y 1, y β es el µff
RN
momento, factor que ayuda a una convergencia más
rápida y sin oscilaciones y cuyo valor típico es 0,9.
+
Estructuras de aprendizaje de la dinámica inversa µ q
Siguiendo a [Patiño 1995] se entrena a la red neuronal PD Robot
en dos etapas. En la primera se logra un ajuste grueso qd µfb +
de los parámetros de la RN utilizando la estructura de
aprendizaje generalizado [Psaltis et al 1988]
representada en la Figura 3. El aprendizaje es ‘off-
line’ y realizado a partir de patrones de entrenamiento
obtenidos de las características de lazo cerrado de la Figura 4. Estructura de Aprendizaje
planta [Omatu et al. 1996]. Esto es, se hace funcionar por Error de Realimentación
al robot con el control PD extrayéndose el conjunto de
datos de entrenamiento de la red a partir de la
observación de su comportamiento. Esta forma de Si escribimos la (15) como
aprendizaje es similar al usado en reconocimiento de
patrones. µ ff = RN (q d , q& d , q&&d ) (18)

de la (13), tendremos
RN
γ$ +
µ fb = µ − RN (qd , q&d , q&&d ) (19)

γ e entonces, cuando RN (q d , q& d , q&&d ) tiende a µ,


- µfb tiende a cero, o sea que evidentemente, µfb es
una señal de entrenamiento válida puesto que al
qd q
PD Robot minimizar su valor se logra que la salida de la red
µff mapeé la dinámica inversa del robot.

Para poder implementar las estructuras de


aprendizaje se trabaja en el campo discreto
aproximando las señales de velocidad y
Figura 3. Estructura de Aprendizaje Generalizado aceleración q&, q
&& , con los valores aproximados
dados por las ecuaciones

Una vez aproximados los pesos de la RN se entrena a q(k ) − q(k − 1)


q& (k ) ≈
la misma con la estructura de la Figura 4, denominada ∆T
aprendizaje por error de realimentación [Kawato et al. q(k ) − q(k − 1) q(k ) − q(k − 1)
1988]. De ésta manera se consigue un ajuste fino de − (20)
q&&(k ) ≈ ∆T ∆T
los pesos sinápticos. En este caso el aprendizaje es ∆T
‘on-line’, o sea, con el robot en funcionamiento.
Mientras se repite la trayectoria deseada el error es ≈
1
[q(k ) − 2q(k − 1) + q(k − 2)]
∆T 2
retropropagado por la red neuronal. La convergencia
es lograda cuando la red neuronal aprende la dinámica
donde ∆T es el período de muestreo y k:= k∆T,
inversa de la planta, momento a partir del cual toma el
control de la misma reduciendo la participación del para k ε N. De las ecuaciones (15) y (20)
controlador PD. podemos escribir el modelo en tiempo discreto
como

µ ff = γˆ[q d (k ), q d (k − 1), q d (k − 2)] (21)

Entonces, el vector de entrada de la red neuronal


estará dado por
qRN = [ q1(k) q1(k −1) q1(k − 2) q2(k) ]
q2(k −1) q2(k − 2) (22)

mientras que el de salida será

µff = [γˆ1 γˆ2] (23)

III. SIMULACIÓN
Para la simulación se utilizó el Matlab 5.2 con el
toolbox de redes neuronales 3.0. Las ecuaciones
fueron implementadas en forma discreta tomando un
tiempo de muestreo ∆T = 0.005 seg.
Los parámetros del robot de la Figura 1 se tomaron
siguiendo a [Lewis et al 1999], resultando a1 = a2 = 1
[m], m1 = m2 = 1 [Kg], y g = 9.8 [m/seg2]. La posición Figura 5 (continua). Respuesta sin Compensador
inicial del robot es siempre q0 = [0.1 0 0 0]T.
En todos los casos, los valores del controlador PD
En la Figura 6 se ve la respuesta del sistema con
fueron Kp = diag{100, 100} y Kv = diag{20, 20}.
compensación de la dinámica inversa mediante
La trayectoria deseada utilizada es
una red neuronal de una capa oculta de 13
neuronas. En la primera etapa de entrenamiento
qd1 = 0.1sin(π t) fueron α = 0.005, y β = 0.9. En la segunda fueron
(24)
qd 2 = 0.1cos(π t) α = 0.0001, y β = 0.9.

En la Figura 5 se ve la respuesta del sistema sin


compensación. Actúa solo el controlador PD.

Figura 6. Respuesta con Compensador RN6, 13, 2

Figura 7. Respuesta con Compensador RN6, 14, 7, 2


Figura 5 (continua). Respuesta sin Compensador
En la Figura 7 se utiliza una red neuronal de dos SPONG M., VIDYASAGAR M. (1982). Robot
capas, con 14 y 7 neuronas en la primer y segunda Dynamics and Control. John Wiley and Sons.
capa oculta respectivamente. En la primera etapa de VELTHUIS W. J. R., VRIES de T. J. A.,
entrenamiento fueron α = 0.001, y β = 0.9. En la AMERONGEN van J. (1996). Learning
segunda fueron α = 0.00005, y β = 0.9. Feedforward Control of a Flexible Beam.
Springer-Verlag.
IV. CONCLUSIONES VUKOBRATOVIC M., POTKONJAK V.
Los resultados de la simulación demuestran un buen (1982). Dynamics of Manipulation Robots.
funcionamiento del controlador propuesto. Springer-Verlag.
Se destaca como principal ventaja la habilidad de las
redes neuronales de aproximar funciones no lineales
desconocidas.
Como principal desventaja se destacan: La lentitud del
algoritmo de entrenamiento, problema solucionable
con la utilización de otros algoritmos más eficientes. Y
la necesidad de entrenar nuevamente la red ante
trayectorias deseadas diferentes.
Actualmente se preveé analizar la posibilidad de
implementación en un robot de dos GDL´s para
comprobar los resultados teóricos. Se pretende utilizar
un hardware especial de control con múltiples
entradas/salidas tanto digitales como analógicas que
puede conectarse al Bus PCI de una PC estándar.

AGRADECIMIENTOS
Los autores agradecen el apoyo recibido por parte del
vicerrector de la Universidad Tecnológica Nacional
Ing. B. Possetto, impulsor del programa de
intercambio académico con Alemania UTN-DAAD.

REFERENCIAS
HAYKIN S. (1994). Neural Networks: A
Comprehensive Foundation. Prentice Hall.
HORNIK K. (1989). Multilayer Feedforward
Networks are Universal Aproximators. Neural
Networks, vol 2, 359-366.
KAWATO M., UNO Y., ISOBE M., SUZUKI R.
(1988). Hierarchical Neural Network Model for
Voluntary Movement with Application to Robotics.
IEEE Con. Sys. Mag., vol 8, 8-16.
KELLY R., SALGADO R. (1994). PD Control with
Computed Feedforward of Robot Manipulators: A
Design Procedure. IEEE Trans. Rob. Aut., vol 10, no
4, 566-571.
LEWIS F. L., JAGANNATHAN S., YESILDIREK A.
(1999). Neural Network Control of Robot
Manipulators and Nonlinear Systems. Taylor
&Francis.
OMATU S., KHALID M., YUSOF R. (1996). Neuro-
Control and its Applications. Springer.
PATIÑO H. D. (1995). Control Dinámico de
Manipuladores Robóticos Usando Redes
Neuronales. Tesis Doctoral, Facultad de Ingeniería,
Universidad Nacional de San Juan, Argentina.
PSALTIS D., SIDERIS A., YAMAMURA A. (1988).
A Multilayered Neural Network Controler. IEEE
Con. Sys. Mag., vol 8, 17-21.

También podría gustarte