Está en la página 1de 18

Dise

no de un Neurocontrolador
M.Sc. Ricardo Rodrguez B.
rirodbus@uni.edu.pe

Setiembre 2007

Indice general
1. Planteamiento del Problema
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
2

2. Modelamiento
2.1. Modelo por Funcion de Transferencia . . . . . . . . . . . . . . . . . . . . . . . .

4
4

3. Dise
no del Neurocontrolador
3.1. Funcion de la Red como Polinomio Multivariable . .
3.2. Analisis y Dise
no de Sistemas de Control no Lineales
3.3. Funcion Descriptiva del Neurocontrolador . . . . . .
3.4. Ciclos Lmites del Neurocontrolador . . . . . . . . . .
3.5. Dise
no del Neurocontrolador . . . . . . . . . . . . . .

.
.
.
.
.

5
6
7
7
10
11

4. Simulaciones
4.1. No Linealidad de Saturacion de Amplitud 0.5 con FD = 0.2 . . . . . . . . . . .

12
12

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Captulo 1
Planteamiento del Problema
Se propone a un sistema robotico (minirobot) de un grado de libertad que sera controlado con una
red neuronal multicapa de estructura (1-N-1). El sistema robotico contiene un sensor de posicion
y un motor DC que dara movimiento a las ruedas y asi efectuar el desplazamiento, tal como se
muestra en la Figura 1.1. En primer termino analizaremos la estabilidad del minirobot, mediante
la prediccion de los ciclos lmites y as determinar las oscilaciones de amplitud y periodos fijos
del sistema no lineal. El problema de control radica en sensar la posicion de un movimiento
lineal unidireccional del minirobot respecto de una referencia deseada. Para crear un controlador
neuronal empezaremos con describir el modelo matematico a partir de las ecuaciones dinamicas
no lineales del minirobot. El dise
no de un controlador neuronal multicapa debera de reflejar la
relacion entre dos variables posicion deseada d y la referencia r. Una herramienta importante
para la estabilidad de sistemas no lineales en lazo cerrado es la funcion descriptiva, que nos
ayudara a predecir los ciclos lmites (oscilaciones autosostenidas), la misma que no es deseable
para los sistemas de control.

Sensor

RNA

Motor
DC

Figura 1.1: Sistema Minirobot.

1.1.

Objetivos

Analizar la estabilidad de un sistema (un minirobot), el mismo que es controlado por una red
neuronal multicapa, para esto se hara uso de una funcion descriptiva para determinar los intervalos de los pesos de la red con el fin de predecir ciclos lmites y as evitar oscilaciones del sistema.
La funcion descriptiva es una herramienta importante para el estudio de la estabilidad para

sistemas no lineales en lazo cerrado, siendo por lo tanto su principal aplicacion la de predecir
estos ciclos lmites (oscilaciones autosostenidas), lo cual no es deseable en sistemas de control.
El objetivo es mover el minirobot hasta que la distancia d sea igual a una referencia r, entonces
el minirobot se puede modelar en lazo cerrado, tal como mostraremos en la Figura 1.2.

d
Pared

Minirobot

Figura 1.2: Minirobot a controlar.


El sensor calcula la distancia d, este valor se compara con la referencia r para producir un error
e. Luego la red neuronal toma el error para calcular la entrada al motor Va = (e), el minirobot
se mueve y el ciclo se repite.
r

RNA

Motor
DC

Sensor

Figura 1.3: Diagrama de bloques del sistema.

Captulo 2
Modelamiento
2.1.

Modelo por Funci


on de Transferencia

La funcion de transferencia de un servomotor DC con excitacion independiente es un sistema de


tercer orden, definida por la funcion de transferencia:
(s)
km
=
2 ]
Va (s)
s[(Js + b)(Ls + R) + km

(2.1)

Donde: J es el momento de inercia, b es el coeficiente de amortiguamiento, km es la constante del


torque de motor (coincide en valor con la constante contraelectromotriz ke ), R es la resistencia
de armadura, L es la inductancia de armadura, Va es el voltaje de armadura y es la salida
(posicion del eje de motor). Para el caso de nuestro sistema, utilizamos los siguientes valores:
Smbolo
J
b
ke
km
R
L

Valor
1.9066 106
1.8300 106
2.68 103
2.68 103
7.38
se desprecio

Unidades
Kgm2
Nm/rads1
Vrad/s
Nm/A

Reemplazando estos valores en la funcion de transferencia del servomotor DC dado en la ecuacion


(2.1), obtenemos:
G(s) =

(s)
1
=
2
Va (s)
s(s + 2s + 1)

(2.2)

Captulo 3
Dise
no del Neurocontrolador
Las redes neuronales han sido utilizadas en control por su capacidad de aproximar cualquier
funcion no lineal, como lo demuestra el teorema de Funahashi. Entonces, se puede entrenar a
una red neuronal para que se comporte como un controlador no lineal. Es as que nacen los
Neurocontroladores, que es la aproximacion de un controlador no lineal, por lo que su analisis
es muy similar a cuando tenemos sistemas de control no lineales, es decir, utilizamos el metodo
de la Funcion Descriptiva.
Se ha demostrado matematicamente una red neuronal multicapa puede aproximar cualquier
funcion no lineal f (x) : <n <n . Este teorema es solamente de existencia, pues prueba que
la red existe pero no indica como construirla y tampoco garantiza que la red aprendera la
funcion. La Figura 3.1 es una representacion grafica del teorema de Funahashi que garantiza la
aproximacion de funciones no lineales con redes neuronales multicapa.
~
f(x 1 ,x 2 ,,x n) - f(x 1,x 2,,x n)

~
f(x 1,x 2,,x n)

f(x 1,x 2,,x n)

Funcin
No Lineal

ci
hi
wi

+1

xn

Figura 3.1: Representacion grafica del teorema de Funahashi.

El teorema de aproximacion de funciones establece lo siguiente: Sea (x) una funcion continua, no
constante, limitada y creciente monotonamente. Sea K un subconjunto compacto (subconjunto
limitado cerrado) de <n y f (x1 , x2 , ..., xn ) es una funcion real continua en K. Entonces para un
> 0 arbitrario, existe un entero N y constantes reales ci , w0i (i = 1, ..., N ) tal que.

f(x1 , x2 , ..., xn ) =

N
X

ci

X
n

i=1

wij xl wi0

(3.1)

l=1

En otra palabras, para un > 0, existe una red de tres capas (nodos de entrada, neuronas
ocultas, nodos de salida) con funcion entrada/salida f(x1 , x2 , ..., xn ) tal que.
max |f (x1 , x2 , ..., xn ) f(x1 , x2 , ..., xn )| <
xK

(3.2)

El teorema prueba que la red neuronal multicapa n-N-1 puede aproximar cualquier funcion no
lineal f (x1 , x2 , ..., xn ).

3.1.

Funci
on de la Red como Polinomio Multivariable

Considere la red mostrada en la Figura 3.2. La red presenta la funcion de activacion sigmoide
logistic en la capa oculta.
y

c11

w 10

c 12

h1

h2

w 20

w 12 w 21
w 11

w 22

x1

x2

Figura 3.2: Red neuronal 2-2-1.

() =

1
1 + e

La expansion de la serie de Taylor de esta funcion es.

() =

1
1 1
1 3
1 5
'
+

+
+ ...
1 + e
2 4
48
480

(3.3)

realizando la expansion en serie de Taylor de las funciones de activacion.

1 1
1
y = c11 + (w11 x1 + +w12 x2 + w01 ) (w11 x1 + +w12 x2 + w01 ) + ... +
2 4
48

1 1
1
+ c12 + (w21 x1 + +w22 x2 + w02 ) (w21 x1 + +w22 x2 + w02 ) + ...
2 4
48

(3.4)

agrupando terminos.
y = a0 + a1 x1 + a2 x2 + a3 x21 + a4 x22 + a5 x1 x2 + a6 x31 + a7 x32 + a8 x21 x2 + ...

(3.5)

donde los parametros ai son funcion de los pesos de la red. La red incluye en su representacion
el valor medio de la funcion en el coeficiente a0 . Se puede decir que la red neuronal multicapa es
equivalente a un polinomio de orden infinito.

3.2.

An
alisis y Dise
no de Sistemas de Control no Lineales

No existe un metodo general para afrontar todos los sistemas no lineales, porque las ecuaciones
diferenciales no lineales carecen de un procedimiento general de solucion. Como no hay un procedimiento general, se puede tomar cada ecuacion no lineal, o grupo de ecuaciones similares, en
forma individual, para intentar desarrollar un metodo de analisis que se pueda aplicar satisfactoriamente a ese grupo particular.
Una forma de analizar y dise
nar un grupo determinado de sistemas de control no lineal, en
el que el grado de no linealidad sea peque
no, es utilizar tecnicas de linealizacion equivalente,
como es el metodo de la Funcion Descriptiva. Este metodo permite estudiar la estabilidad de las
situaciones de control no lineales desde el punto de vista del dominio de la frecuencia, pero no
da informacion exacta sobre las caractersticas de respuesta temporal.

3.3.

Funci
on Descriptiva del Neurocontrolador

La funcion descriptiva es una tecnica aproximada para el estudio de sistemas no lineales. La


idea es aproximar los componentes no lineales en un sistema de control por equivalentes lineales. Presenta las siguientes ventajas, esta tecnica es tratada en el dominio de la frecuencia y es
aplicable a sistemas de orden alto o peque
no. La tecnica de la funcion descriptiva nos permiten
analizar a sistemas no lineales fuertes sin dificultad. Las desventajas que presenta son respecto
a su naturaleza aproximada lo cual puede llevar a errores.
Consideremos el sistema no lineal.
7

x = Ax + Bu
y = Cx
u = (r y)

(3.6)

donde r < es la entrada de referencia, u < es la entrada a la planta, x <n es el vector de


estado de la planta, y < es la salida y (.): << es una funcion no lineal.
El sistema presenta dos partes.
a. Sistema dinamico lineal invariante en el tiempo (A, B, C), en donde al sistema de la
ecuacion (3.6) le aplicamos transformada de Laplace, luego se obtiene la funcion de transferencia.

G(s) = C(sI A)1 B

(3.7)

b. El controlador del sistema no lineal es una funcion no lineal (.).


La Figura 3.3 nos muestra el lazo de realimentacion del sistema, en el se aprecia el bloque de la
funcion no lineal (.) que relaciona la se
nal de control con la se
nal de error.
r

e
+

O(.)

x
G(s)=C(sI-A)B

y
C

Figura 3.3: Sistema realimentado.


Si aplicamos una entrada senoidal a un elemento no lineal su salida generalmente no es senoidal
pero si periodica, con el mismo perodo que la entrada. En el analisis de la Funcion Descriptiva
se supone que solo la primera armonica de la salida es significativa (esto se debe a que la mayora
de sistemas de control son filtro pasabajos). La Funcion Descriptiva de un elemento no lineal
esta definida como la relacion compleja entre la componente armonica fundamental de la salida
respecto a la entrada, cuando se aplica una entrada senoidal. Es decir:
N=

Y1
1
X

donde:
N = funcion descriptiva
X = amplitud de la senoide de entrada
Y1 = amplitud de la primera armonica de la salida
1 = desplazamiento de fase de la primera armonica de la salida

(3.8)

Como mencionamos anteriormente, podemos considerar en el control una red neuronal multicapa,
que se puede aproximar a un elemento no lineal. La ley de control esta dada por:
u=

N
X

(3.9)

qk tanh(pk e)

k=1

Donde pk y qk son los pesos de la red neuronal y N es el n


umero de neuronas ocultas. La red
neuronal que se muestra en la Figura 3.4, es una red neuronal estatica usada como una funcion
no lineal (.).
K=N

pk

qk

K=1

Figura 3.4: Red neuronal de estructura 1-N -1.


Utilizando la serie de Taylor para desarrollar la funcion tanh, tenemos:
x3 2x5 17x7
+

+
(3.10)
3
15
315
Si |x| < /2, es una funcion impar. Si tomamos solo dos terminos de la serie, es decir para
x = pk e, podemos reemplazar en la ecuacion (3.10):
tanh(x) = x

(pk e)3
(3.11)
3
Esta aproximacion es valida para (pk e)2 < 2 /4. Luego, la ecuacion (3.9) puede expresarse como:

N
X
(pk e)3
u=
qk pk e
(3.12)
3
k=1
tanh(pk e) = pk e

Para obtener la funcion descriptiva de la red neuronal, el error e se reemplaza por a sin(t) en
(3.12).
(3.13)
sin2 (t) = (1 cos(2t)) /2
Utilizando la identidad trigonometrica:

N
X
p3k a2
2
u=
qk pk
sin (t) a sin(t)
3
k=1
Obtenemos:
u=

N
X
k=1

qk pk

p2 a2 p2 a2 cos(2t)
1 k + k
6
2
9

(3.14)

a sin(t)

(3.15)

Donde la amplitud de la primera armonica es:


Y1 =

N
X

aqk pk

k=1

p2 a2
1 k
6

(3.16)

La amplitud de la senoide de entrada es:


X=a

(3.17)

Y el desfase (siempre que (pk e)2 < 2 /4, ya que esta condicion hace a la funcion impar).
1 = 0

(3.18)

Finalmente, reemplazando las ecuaciones (3.16), (3.17) y (3.18) en (3.8), la Funcion Descriptiva
para el neurocontrolador es la siguiente:
N = (a) =

N
X

pk qk {1

k=1

(p2k a2 )
}
6

(3.19)

donde (pk a)2 < 2 /4 es el maximo valor para el argumento de cada funcion de activacion

3.4.

Ciclos Lmites del Neurocontrolador

Para hallar los ciclos lmites del neurocontrolador tenemos que resolver la ecuacion:
G(j)(a) + 1 = 0

Despejando tenemos:
G(j) =

(3.20)

1
(a)

(3.21)

Reemplazando (3.19) en (3.21), tenemos:


G(j) =

p k qk

1
(p2 a2 )
1 k
6

(3.22)

Supongamos que:
G(j) = |G(j)|
Luego, reemplazamos y despejamos a de la ecuacion (3.22)

P
1
6
pk qk
|G(j)|
2
P 3
a =
pk qk
10

(3.23)

(3.24)

Entonces, para que haya ciclo lmite se tiene que cumplir la siguiente condicion:
N
X

pk qk >

k=1

1
|G(j)|

La amplitud a del ciclo lmite se puede predecir con este metodo cuando:
P

1
6
pk qk |G(j)|
2
P 3
<
0<
pk qk
4pm

(3.25)

(3.26)

donde pm = max{p2k }

3.5.

Dise
no del Neurocontrolador

Anteriormente mencionamos que para hallar los ciclos lmites tenamos que resolver la siguiente
ecuacion:
1 + (a)G(j) = 0
(3.27)
Evaluando s = j en la funcion de transferencia del motor dada en la ecuacion (2.2) obtenemos:
G(j) =

2
2 1
+
j
4 + 2 2 + 1
( 4 + 2 2 + 1)

(3.28)

y de la ecuacion (3.27), separando en reales e imaginarios:


2
= 1
+ 2 2 + 1
2 1
=0
( 4 + 2 2 + 1)

(a)

(3.29)
(3.30)

Resolviendo (3.30) tenemos que la frecuencia crtica es = 1rad/s con un perodo de oscilacion
T = 6.3s. Solo se estan considerando las races positivas y diferentes a cero ya que para = 0
no da una solucion periodica.
Evaluando = 1rad/s en (3.29) obtenemos que (a) = 2. Esto quiere decir que nosotros tenemos
que dise
nar el neurocontrolador aproximandolo a una no linealidad que tenga una oscilacion de
= 1rad/s y una funcion descriptiva (a) = 2 ademas de cumplir con la condicion dada en la
ecuacion (3.26). Podemos elegir la no linealidad signo como funcion no lineal a aproximar con
la red neuronal. La funcion descriptiva de la funcion signo esta dada por:
Y1 o 4M
0 =
(3.31)
X
a
donde M es la amplitud de salida del elemento no lineal. Entonces, si (a) = 2 y M = 1,
tenemos:
2
a = = 0.63
(3.32)

Por lo que nuestro sistema oscilara con una frecuencia = 1 rad/s y una amplitud de la senoide
de entrada de a = 0.63. Entonces, tenemos que entrenar al neurocontrolador para que responda
en base a esos parametros considerando las restricciones de la ecuacion (3.26). Las simulaciones
son mostradas en el siguiente captulo y son analizados distintos casos.
(a) =

11

Captulo 4
Simulaciones
Para todas las simulaciones se ha utilizado una red neuronal multicapa con 3 neuronas en la
capa oculta. Se ha analizado distintos casos, variando la amplitud del elemento no lineal para
el caso de una funcion signo y una funcion de saturacion. A continuacion se muestran todas las
resultados obtenidos aproximando el neurocontrolador a las funciones descriptivas de diferentes
no linealidades. Para todos los casos se ha considerado 3 neuronas en la capa oculta.

4.1.

No Linealidad de Saturaci
on de Amplitud 0.5 con
FD = 0.2

Debido a que el diagrama de Nyquist de la planta no contiene al diagrama de Nyquist al negativo


de la inversa de la funcion descriptiva 1/F D = 1/N , el sistema va a ser estable siempre y no
va a existir ning
un ciclo lmite por lo que podemos probar para distintos valores de la funcion
descriptiva. Para este caso analizamos la performance del neurocontrolador cuando F D=N =
0.2.
DISE~
NO DE UN NEUROCONTROLADOR
----------------------------No Linealidad Signo[1] o No Linealidad de Saturaci
on[2]
[1] o [2] = 2
Amplitud de la no Linealidad M = 0.5
AN
ALISIS DE LOS CICLOS L
IMITES
-----------------------------Presione Enter

12

Anlisis de los Ciclos Lmites con el Diagrama de Nyquist


0.2
0
0.2
0.4
0.6
0.8
1
1.2
G
1/N

1.4
1.5

0.5

ENTRENAMIENTO DE LA RED NEURONAL


-------------------------------N
umero de Neuronas en la Capa Oculta = 3
Presione Enter para entrenar la Red Neuronal
TRAINLM-calcjx, Epoch 0/100, MSE 0.758486/0, Gradient 2.75153/1e-010
TRAINLM-calcjx, Epoch 25/100, MSE 1.16006e-006/0, Gradient 0.000133403/1e-010
TRAINLM-calcjx, Epoch 50/100, MSE 5.83381e-007/0, Gradient 1.94374e-005/1e-010
TRAINLM-calcjx, Epoch 75/100, MSE 4.15325e-007/0, Gradient 7.36727e-006/1e-010
TRAINLM-calcjx, Epoch 100/100, MSE 1.67283e-007/0, Gradient 5.45585e-005/1e-010
TRAINLM, Maximum epoch reached, performance goal was not met.

Performance is1.401e007
0.018
Train
Validation
Test

0.016
0.014

Performance

0.012
0.01
0.008
0.006
0.004
0.002
0

20

40

60
Epochs

Pesos Obtenidos
pk =
0.0985
13

80

100

-2.1177
-1.2716
qk =
2.1130

-0.0100

0.0208

Del Diagrama de Nyquist se puede ver que no existe ciclo l


mite
y que el sistema es estable por lo que no es necesario analizar
los ciclos l
mites
Simulando la salida del Neurocontrolador
Respuesta de la Red Neuronal Entrenada
2.5
Entrada
Target
Salida de la RN

2
1.5
1
0.5
0
0.5
1
1.5
2
2.5

10

12

GENERACI
ON DEL BLOQUE DE LA RED NEURONAL EN SIMULINK
---------------------------------------------------Presione Enter

14

14

Neurocontrolador

p{1}

Step

1
s3+2s2+s

y{1}

Neural Network1

Transfer Fcn

Salida

No Linealidad

1
s3+2s2+s
Saturation

Transfer Fcn1

caso : Saturacion 0.5 Controlador No lineal


: error
: seal de control

1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1

20

40
60
tiempo en [seg]

15

80

100

caso : Saturacion 0.5 Neuro Controlador


: error
: seal de control

0.8

0.6

0.4

0.2

0.2

20

40
60
tiempo en [seg]

caso : Saturacion 0.5

80

100

Salida de la planta

1.5
: Neurocontrolador
: referencia
: No linealidad

0.5

20

40
60
tiempo en [seg]

16

80

100

Bibliografa
[1] Ogata, Katsuhiko. Ingeniera de Control Moderna. Prentice Hall. 1993
[2] Rodrguez B, Ricardo. Ciclos Lmites en Neurocontroladores. Artculo, 2005.
[3] Rodrguez B, Ricardo. Aplicaciones con el Toolbox de Redes Neuronales de MATLAB.
Apuntes del Curso I.A.

17