Está en la página 1de 6

Adquisición de Datos y Control Neuronal usando LabVIEW

Ricardo Rodrı́guez Bustinza


robust@uni.edu.pe

Abstract una estructura neuronal como se muestra en la Figura 1, [4],[5].


The design of a system of control in determined processes
in the industry is the main problem of the engineers. Since
we obtain the input and output data of a determined process,
we can know their answer of the system, the same one that
helps us to study a prototype of model and using the theory
of the nonlinear control to predict the cycles limit we can
propose a function descriptive whose parameters will be
necessary for implement the Neurocontroller that will be
trained with the Backpropagation algorithm. In our case, we
board the design and implementation of a Neurocontroller in
a environment of the graphic program LabVIEW using the
Simulation Module Toolkit. Our application is the control of a Figura 1: Estructura neuronal para el control en tiempo real.
system physical prototype whose model can represent systems
of first and second order. The model of the dynamics of the
process in experimental form was obtained, for it we made II. Adquisición de Datos
use the parameters identification theory using the method
of curve adjustment by linear interpolation in the frequency La adquisición de datos es el proceso que involucra la recopi-
domain. The accuracy of the model has been fundamental lación de información de una forma automatizada a partir
for the analysis of the descriptive function and consequently de fuentes de medición análogas y digitales como sensores
the adaptation of a model neural network. The experimental y dispositivos bajo prueba. La adquisición de datos utiliza
results show that the control signal designed can do that the una combinación de medición de hardware y software basado
output of the system prototype follow to arbitrary references en PC para proporcionar un sistema de medición flexible y
efficient with minimum overshoot and null steady-state error. definido por el usuario.

Key words: Physical plant, Data acquisition, Neurocontroller, La adquisición de los datos y diseño del controlador se lle-
Design and implementation. vará a cabo mediante las herramientas del lenguaje grafico de
LabVIEW que nos permite implementar el sistema de control,
manejando las entradas/salidas análogas en forma conveniente
I. Introducción tal como se muestra en la Figura 2.
Los sistemas de control análogo han sido usados en ambientes
industriales por años. En un determinado proceso se puede
usar muchos controladores, que en conjunto conforma planta
entera. Estos controladores son independientes y suelen ser
operados y monitoreados por operadores humanos. Hoy en
dı́a las técnicas emergentes basadas en redes neuronales, están
siendo desarrolladas y aplicadas en ambientes industriales,
debido a que presentan poderosos algoritmos de optimización
programados desde software de uso industrial como lo es la Figura 2: Sistema de adquisición de datos.
programación grafica de LabVIEW.

El problema en estudio es el control del voltaje de un proce- El procedimiento experimental de la Figura 2, nos conduce a
so (planta fı́sica) que previamente ha sido identificado por la obtener la DATA del sistema, la misma que será analizara para
técnica de ajuste de la curva por interpolación lineal [2]. El al- los fines de la identificación del proceso. Por identificación se
goritmo de control debe ser ejecutado en una computadora que entiende la formulación de un modelo que permita representar
interactúa con la tarjeta de adquisición de datos NIDAQ USB- al sistema con todas sus propiedades y caracterı́sticas relevan-
6008 que se comunica por el puerto USB. El diseño del sistema tes. Un modelo matemático es un conjunto de ecuaciones que
de control neuronal que llamaremos Neurocontrolador, ha sido envuelven las variables del sistema proporcionando una repre-
desarrollado mediante el algoritmo Backpropagation, el mismo sentación óptima al sistema. En general, si realizamos un ex-
que se encargara de realizar el ajuste de los pesos óptimos para perimento en que aplicamos ciertos valores a las entradas del

1
sistema, obtendremos ciertas respuestas en sus salidas; de ese
modo, dando los mismos valores que en el experimento a las
variables independientes de nuestro modelo, podemos esperar
que después de resolver el conjunto de ecuaciones, la respuesta
del modelo debe tener respuestas similares a aquellas salidas
del sistema fı́sico. La DATA experimental nos da la siguiente
curva que se muestra en la Figura 3.

Figura 4: Esquema de un aproximador no lineal por una red


Figura 3: Respuesta de la DATA experimental.
multicapa.

La curva de la Figura 3, es de caracterı́stica sobre amortiguada


y es una curva adecuada en su forma para aplicarle el algoritmo como es el método de la función descriptiva. Este método
de identificación de parámetros denominado ajuste de la curva permite estudiar la estabilidad de las situaciones de control no
por interpolación lineal, de este modo, obtenemos la función de lineales desde el punto de vista del dominio de la frecuencia,
transferencia del proceso identificado dado por: pero no da información exacta sobre las caracterı́sticas de
respuesta temporal. La función descriptiva es una técnica
225200 aproximada para el estudio de sistemas no lineales. La idea
Ĝ(s) = (1)
(s + 111.6)(s + 1836.4) es aproximar los componentes no lineales en un sistema de
control por equivalentes lineales.
III. Diseño del Controlador Neuronal Consideremos el sistema no lineal.
Las redes neuronales han sido utilizadas en control por su
capacidad de aproximar cualquier función no lineal, como lo
demuestra el teorema de Funahashi, [6]. Entonces, se puede ẋ = Ax + Bu
entrenar a una red neuronal para que se comporte como un y = Cx
controlador no lineal. Es ası́ que nace el Neurocontrolador, que u = Φ(r − y) (2)
es la aproximación de un controlador no lineal, por lo que su
análisis es muy similar a cuando tenemos sistemas de control Siendo Φ(.) una función no lineal, r la referencia, y es la salida
no lineales, en este caso utilizamos el método de la función del sistema y el modelo en variables espacio de estado cuyas
descriptiva. matrices de estado son (A, B,C, D). El sistema presenta dos
partes: el sistema dinámico lineal invariante en el tiempo con-
Se ha demostrado matemáticamente una red neuronal multica- formado por (A, B,C, D), y el controlador del sistema no lineal
pa puede aproximar cualquier función no lineal. Este teorema es una función no lineal Φ(.). En la Figura 5, nos muestra el
es solamente de existencia, pues prueba que la red existe pero lazo de realimentación del sistema, en el se aprecia el bloque
no indica cómo construirla. La Figura 4 es una representación de la función no lineal Φ(.) que relaciona la señal de control
grafica para aproximación de funciones no lineales con redes con la señal de error, [1].
neuronales multicapa.

Función Descriptiva del Neurocontrolador


No existe un método general para afrontar todos los sistemas
no lineales, porque las ecuaciones diferenciales no lineales
carecen de un procedimiento general de solución. Como no Figura 5: Sistema con realimentación unitaria.
hay un procedimiento general, se puede tomar cada ecuación
no lineal, o grupo de ecuaciones similares, en forma individual,
para intentar desarrollar un método de análisis que se pueda Si aplicamos una entrada senoidal a un elemento no lineal su
aplicar satisfactoriamente a ese grupo particular. salida generalmente no es senoidal pero si periódica, con el
mismo perı́odo que la entrada. En el análisis de la función des-
Una forma de analizar y diseñar un grupo determinado de sis- criptiva se supone que sólo la primera armónica de la salida es
temas de control no lineal, en el que el grado de no linealidad significativa. La función descriptiva de un elemento no lineal
sea pequeño, es utilizar técnicas de linealización equivalente, está definida como la relación compleja entre la componente

2
armónica fundamental de la salida respecto a la entrada, cuan- ( )
N p2 a2
do se aplica una entrada senoidal.
Y1 = ∑ aqk pk 1 − k
6
(9)
k=1
Y1
N= ∠θ1 (3)La amplitud de la senoide de entrada es X = a y el desfase
X
Donde, N= Función descriptiva, X = amplitud de la senoide siempre que se cumpla (pk e) < π /4, ya que esta condición
2 2

de entrada Y1 = amplitud de la primera armónica de la salida, y hace a la función impar, entonces consideramos θ1 = 0. Final-
θ1 = desplazamiento de fase de la primera armónica de salida. mente, reemplazando las ecuaciones (9), (3) y obteniendo ası́ la
Consideremos en el control una red neuronal multicapa, que función descriptiva para el Neurocontrolador dado por:
se puede aproximar a un elemento no lineal. La ley de control N { }
(p2k a2 )
está dada por: N = Φ(a) = ∑ pk qk 1 − (10)
k=1 6
N
u= ∑ qk tanh(pk e) (4) Donde (pk a)2 < π 2 /4 es el máximo valor para el argumento de
k=1 cada función de activación de la red multicapa.
Donde pk son los pesos de la capa oculta y qk son los pesos
de la capa de salida mientras que el horizonte N representa el Predicción de Ciclos Limites
número de neuronas ocultas. El sistema de control de la Figu-
Para hallar los ciclos lı́mites del Neurocontrolador tenemos que
ra 6, muestra a una red neuronal de estructura (1, 3, 1) reem-
resolver la ecuación:
plazando al controlador no lineal.
−1
G( jω ) = (11)
Φ(a)
Reemplazando (10) en (11) obtenemos:

−1
G( jω ) = { } (12)
(p2 a2 )
∑ pk qk 1− k
6

Supongamos que G( jω ) = −|G( jω )|, luego reemplazamos en


Figura 6: Sistema con realimentación con el aproximador no
la ecuación (12) y despejamos a.
lineal.
( )
1
6 ∑ pk qk −
Nuestro objetivo es encontrar la señal de control del Neurocon- |G( jω )|
a2 = (13)
trolador, para ello usaremos la serie de Taylor para desarrollar ∑ pk qk
3

la función tanh(x), tenemos: Entonces, para que haya ciclo lı́mite se tiene que cumplir la
siguiente condición:
x3 2x5 17x7
tanh(x) = x − + − +··· (5)
3 15 315 N
1
Si |x| < π /2, es una función impar. Si tomamos sólo dos térmi- ∑
pk qk >
|G( jω )|
(14)
k=1
nos de la serie, es decir para x = pk e, podemos reemplazar en
la ecuación (5): La amplitud a del ciclo lı́mite se puede predecir con este méto-
do cuando:
(pk e) 3
( )
tanh(pk e) = pk e − (6) 6 ∑ pk qk − |G(1jω )|
3 π2
0< < (15)
Esta aproximación es válida para |pk e| < π /2. Luego la ∑ pk qk
3 4pm
ecuación (4) puede expresarse como:
Donde pm = máx{p2k }.
N ( )
(pk e)3
u = ∑ qk pk e − (7) Para aproximar a un controlador no lineal reemplazaremos la
3
k=1 variable s por jω en la función de transferencia (1) de nuestra
Para obtener la función descriptiva de la red neuronal, el error planta. Analizando el criterio de Nyquist a nuestra planta de
e se reemplaza por a sin(ω t) en la ecuación (7). Luego obten- segundo orden, surge un único punto común entre los dos
emos: contornos que ocurre cuando ω = ∞, esta es una situación de
frontera que requiere un estudio adicional. Si consideramos
( ) un desfase adicional que solo se puede observa a muy altas
N p2k a2 p2k a2 cos(2ω t) frecuencias, surge el efecto de reproducir una intersección que
u = ∑ qk pk 1 − + a sin(ω t) (8)
k=1 6 2 este ligeramente a la izquierda del origen. Por lo tanto el origen
de la reproducción del ciclo limite será un tanto defectuosa, de
Donde la amplitud de la primera armónica es: modo que se obtiene un ciclo limite de amplitud muy pequeña

3
y frecuencia muy alta. función descriptiva para ver su rendimiento tal como se muestra
en la Figura 7.
Aproximaremos la planta prototipo de segundo orden a una de
Analisis de los Ciclos Límites con el Diagrama de Nyquist
tercer orden, mediante la inclusión de un polo, el mismo que no 1
G
−1/N
debe alterar la respuesta dinámica de nuestro sistema. Escoger- 0.8

emos un polo que aporte una respuesta rápida, es decir un polo 0.6

no dominante que sea 3 veces el polo menos dominante, siendo


el polo menos dominante de valor −1836.4, luego ponemos el
0.4

polo en s = −5000 . Ahora hallaremos la ganancia que permite 0.2

aproximar a la respuesta de la planta, para ello multiplicamos la 0

ganancia de la planta dada en (1) por el valor del polo añadido −0.2

resultando K = 1.126 × 109 . La planta aumentada resulta: −0.4

1.126 × 109 −0.6

G(s) = (16)
s2 + 9.945 × 106 s + 1.025 × 109
−4 −3.5 −3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5

Hallaremos nuestra frecuencia critica de la entrada senoidal Figura 7: No existe ciclo lı́mite para una función saturación de
para el entrenamiento de nuestra red, para ello usaremos las amplitud 0.5.
siguientes lı́neas de código Matlab:

[n,d]=tfdata(G,’v’);
n=poly2sym(n,’s’); Implementando el Neurocontrolador
d=poly2sym(d,’s’);
G=n/d; Luego del análisis de predicción de los ciclos limites, procede-
syms s w mos a entrenar la red neuronal multicapa mediante el algorit-
G=subs(G,’s’,i*w); mo Backpropagation que ha sido desarrollado mediante pro-
G=collect(G,w); gramación grafica de LabVIEW (ver Figura 8).
G=expand(G);
G=vpa(G,4);
Gi=(1.126*10^9*w^3 - 1.12*10^16*w);
Gi=vpa(Gi,4);
w=solve(Gi)

Desde la salida del código obtenemos la frecuencia crı́tica


ω = 3153.6 rad/seg que es un valor de frecuencia alto que
verifica el problema de frontera cuyo valor será probado en el
diseño del Neurocontrolador.

Usando la ecuación para la función descriptiva: ϕ (a) =


−1/G( jω ) y resolviendo para la frecuencia crı́tica ω = 3153.6
rad/seg con un periodo de oscilación T = 0.00063 seg. Luego,
obtenemos que la función descriptiva resulta ϕ (a) = 60. Solo
se están considerando las raı́ces positivas y diferentes a cero ya
que para ω = 0 no da una solución periódica. Podemos elegir Figura 8: Diagrama de bloques del algoritmo BP para la red de
la no linealidad signo como función no lineal a aproximar con estructura 1-3-1.
la red neuronal.
El entrenamiento nos da siguientes pesos óptimos:
Elección de la Función No Lineal    
−327.558 −0.00258
Una vez obtenida nuestros parámetros queda aún por elegir el
pk =  9.2037  , qk =  6.55587 
tipo de función no lineal, la cual linealizaremos por el méto-
254.771 −0.0045
do de función descriptiva, para nuestro caso se decidió por la
opción de función de saturación dado por:
( ( ) √ ) Diseño de la Acción Integral
2 1 1 1
Φ(a) = sinh + 1− 2 (17) Para el diseño del controlador se hace necesario incluir en el
π a a a
diseño una acción integral, la misma que se encargara de re-
La amplitud de la señal seno de entrada es a = 0.0083. Si la ducir el offset del error dándole ası́ al Neurocontrolador una
planta presentara ciclo lı́mite tendrı́amos que entrenar al Neuro- mejor performance en la respuesta del sistema cuando se tenga
controlador para que responda en base a esos parámetros, pero que implementar el Neurocontrolador en tiempo real. El dia-
de los diagramas de Nyquist podemos analizar que no existe grama de bloques en donde se presenta la acción integral se
ciclo lı́mite por lo que podemos escoger cualquier valor de la muestra en la Figura 9.

4
Figura 9: Neurocontrolador con acción integral.

En el diseño de la acción integral, calculáremos la ganancia Ki Figura 10: Salida del Neurocontrolador con acción integral de-
de la acción integral desde la ecuación caracterı́stica del sistema bido a entradas arbitrarias.
dado por:

E(s) = s3 + 1948s2 + 205000s + 225200Ki (18) la evolución de las señales en el tiempo.


Dado que el tiempo de establecimiento de nuestra planta sin
ningún tipo de control es ts = 0.02 seg supondremos que nues- Para la realización del control del sistema en tiempo real se
tra acción integral introducirá un tiempo de establecimiento utilizó el programa LabVIEW que es un ambiente de progra-
(aun más rápido) a nuestro sistema igual al 10 % de nuestro ts . mación gráfico amigable para el usuario. Tiene muchas carac-
terı́sticas para trabajar con las tarjetas de adquisición de datos
Una vez indicados el tiempo de establecimiento y la ecuación comerciales como la NIDAQ USB 6008 que es una tarjeta de
caracterı́stica podemos hallar nuestra ganancia integral, el val- adquisición de datos pequeña que está conectado con el com-
or del tiempo de establecimiento nos da a conocer uno de los putador a través del puerto USB (posee capacidades de con-
polos, es decir s = 3.7/0.002 = −1850. Resultando entonces la versión A/D y D/A, entradas y salidas digitales (digital I/O) y
ecuación: contadores-timers (Counter/Timers), [3].

E1 (s) = (s + 1850)(s + p1 )(s + p2 ) (19)


Despejando la ecuación (19) obtenemos:

E1 (s) = s3 + (p1 + p2 + 1850)s2 + . . .


(p1 p2 + 1850(p1 + p2 ))s + 1850p1 p2 (20)

Comparando las ecuaciones (19) y (20) término a término


obtenemos un sistema de ecuaciones de orden 3 × 3 de
manera que al resolverlo nos da la siguiente ganancia integral
Ki = 194.6936.
Figura 11: Implementación del sistema de control en tiempo
Para simular la respuesta del sistema implementamos el diagra- real.
ma de la Figura 9, usando la herramienta del Toolkit de Simu-
lación de LabVIEW. Los resultados son mostrados en la Figura
10, observamos la evolución de la señal de salida que le sigue a El diagrama de bloques de la simulación en tiempo real (ver
la entrada de referencia arbitraria (VI Vertical Slide) validando Figura 12), ha sido desarrollado usando la herramienta Toolkit
ası́ la performance de nuestro Neurocontrolador. Module Simulation de LabVIEW que presenta una interface
interactiva y hace posible el manejo de los datos de entrada/sal-
IV. Implementación ida de un manera sencilla, solamente se tiene que realizar una
adecuada configuración de la DAQ para que la comunicación
La implementación real del sistema prototipo se muestra este dentro de los parámetros permitidos por el dispositivo.
en la Figura 11. Los componentes fı́sicos (hardware) del Además se ha previsto el uso de un saturador (previamente
sistema de control son: el proceso construido en base a escalado) para la señal de control debido a que la señal de
amplificadores operacionales y dispositivos electrónicos. La control presenta valores por encima de los 5V permitiendo
tarjeta de adquisición de datos NIDAQ USB 6008 encargada ası́ que la DAQ pueda enviar la señal sin problemas.
de la comunicación de los datos de entrada/salida del sistema
externo (PS2) y una PC con microprocesador Pentium de En la implementación en tiempo real se vario la ganancia in-
1.8GHz. Una fuente de alimentación externa para alimentar al tegral de 194.6936 a 200 de tal manera que se pudo obtener
circuito y un osciloscopio de 100MHz para la visualización de mejor resultado tal como lo demostraron las simulaciones en el

5
tiempo real. nulo. La ley de control se comporta como un sobre impulso en
el primer segundo, justo cuando en sistema cambia su ampli-
tud, esto es natural debido a que la ley de control obedece a
posibles cambios que van ocurriendo en la evolución del com-
portamiento del sistema. Finalmente tenemos la respuesta de la
señal de error que se muestra en al Figura 14. Esta señal mide
la buena performance del Neurocontrolador y no hace más que
comprobar la eficiencia de la señal de control.
Figura 12: Diagrama de bloques para la simulación en tiempo
real.

Factor de Escalamiento del Saturador


Los valores de escalamiento para el saturador uniforme para
cada consigna de referencia se muestran en la tabla.

Lı́mite superior Referencia Factor de Escala


de saturación
0.1200 0.10 1.2 Figura 14: Evolución de la señal de error.
0.6800 0.50 1.36
1.0275 0.75 1.37
1.3800 1.00 1.38
VI. Conclusiones
Se tiene un rango de factores de escalamiento pero lo ideal serı́a
tener un solo factor de escalamiento con el cual nuestro sistema Para realizar este trabajo de investigación, se ha tenido que
tenga una performance óptima, para lograrlo se hizo pruebas implementar el proceso analógico compuesto por dispositivos
con los valores del rango de factores de escalamiento mostra- electrónicos. El diseño del sistema de control usando un Neuro-
dos (ver tabla 1), un dato adicional que nos ayudarı́a a encontrarcontrolador no ha requerido directamente del modelo del pro-
dicho factor universal para cualquier consigna, es que nuestra ceso ya que basto solamente adquirir la DATA del proceso y
planta tiene una ganancia aproximada de 1.24, se comenzó a usando la técnica de identificación .Ajuste de la Curva por In-
probar experimentalmente los valores cercanos a este y se com- terpolación Lineal”se ha procedido a analizar la predicción de
probó que una factor de escalamiento universal de 1.2 es el mas los ciclos limites y por medio de la función descriptiva se ha
adecuado para el buen desempeño de nuestro sistema. diseñado el Neurocontrolador, cumpliendo este control con las
metas impuestas en este trabajo como son, mı́nimo sobrepaso, y
V. Resultados Experimentales error en estado estacionario nulo, los que se han verificado me-
diante las simulaciones en tiempo real y validando ası́ la técnica
En este primer experimento se considera la entrada de referen- de control desarrollada en este articulo.
cia escalón cuadrada de amplitud 0.5V y un periodo de 0.2s.
Mientras que la configuración para el lazo de simulación es en
tiempo inicial 0, tiempo final infinito, método de solución ODE Referencias
Runge Kutta 1 y un tamaño de paso de 0.001. Los resultados
de la simulación en tiempo real se muestran en la Figura 13. [1] A. Delgado, “Inteligencia Artificial en Minirobots.”.
ECOE Ediciones. 1998.
[2] TECNIA, “Diseño e Implementación del Control FST
Aplicado a un Sistema Identificado de Segundo Orden us-
ando la NIDAQ USB-6008”. Vol. 16 N◦ 1, 2006.
[3] National Instruments. “User Guide 6008/6009”. Guia de
usuario, 2005.
[4] Narendra Kumpati S., Parthasarathy, “Identification and
Control of Dynamical Systems Using Neural Networks”.
IEEE Transactions on Neural Networks Vol. 1 No.

Figura 13: Salida controlada para una señal cuadrada de entra- [5] Simon Haykin, “Neural Networks”. Prentice Hall, Sec-
da. ond Edition, 2001.
[6] Funahashi, K, “On the approximate realization of contin-
El sistema de control es capaz de que la variable siga la evolu- uous mappings by neural networks”. Neural Networks, 2,
ción de la referencia constante con mı́nimo sobre impulso, 183-192, 1989
mı́nimo tiempo de estabilización y error en estado estacionario

También podría gustarte