Implementación de reguladores en sistemas expertos

7
Técnica Industrial 285 / Febrero 2010 44 Implementación de reguladores en sistemas expertos José Luis Calvo Rolle, Héctor Alaiz Moretón y Javier Alfonso Cendón RESUMEN El control de procesos gracias a la introducción de técnicas de inteligencia artificial está propiciando una pequeña revo- lución: se están presentando nuevas vías de solución a pro- blemas tradicionales de control, causados por la carencia de conocimiento preciso del sistema que se ha de controlar. Así es como nace el control inteligente de procesos, una disci- plina en la que los métodos de control se desarrollan para emular algunas características importantes del ser humano, como la adaptación, el aprendizaje, el planeamiento bajo gran incertidumbre y el trabajo con gran cantidad de datos. Gracias a la utilización de sistemas expertos en estos proce- sos, se pueden abordar soluciones que hasta el momento no eran tratables. Los sistemas expertos son programas que imitan el comportamiento de un humano utilizando la infor- mación que el usuario le proporciona para darle una opinión sobre cierta materia. Una de sus ventajas es su capacidad de trabajar con grandes cantidades de información, que es uno de los problemas a los que se enfrenta el ser humano; el sistema experto, gracias a su velocidad de proceso, ana- liza todos los datos para aportar una decisión sólida. ABSTRACT The introduction of artificial intelligence techniques in pro- cess control is causing a small revolution, new ways are pre- senting themselves of solving traditional problems of control caused by a lack of precise understanding of the system being controlled. This has produced the concept of “intelli- gent process control”, a discipline where methods of control are developed to emulate certain important human characte- ristics such as adaptation, learning, planning under great uncertainty, and working with large volumes of data. Due to the use of expert systems in these processes, it has been possible to address hitherto infeasible solutions. Expert systems are programmes which imitate human behaviour using the information which the user provides in order to give a reference point on the subject matter. One of the great advantages of expert systems is their capacity to work with large quantities of information, a problem for human beings, and thanks to their processing speed, expert systems are able to analyse all the data and, based on this, formulate a solid decision. REVISIÓN Regulator implementation in expert systems Palabras clave Inteligencia artificial, regulador PID, software, sistemas expertos, control de procesos. Keywords Artificial intelligence, PID regulator, software, expert systems, process control.

Transcript of Implementación de reguladores en sistemas expertos

Page 1: Implementación de reguladores en sistemas expertos

Técnica Industrial 285 / Febrero 201044

Implementación dereguladores en sistemasexpertosJosé Luis Calvo Rolle, Héctor Alaiz Moretón y Javier Alfonso Cendón

RESUMENEl control de procesos gracias a la introducción de técnicasde inteligencia artificial está propiciando una pequeña revo-lución: se están presentando nuevas vías de solución a pro-blemas tradicionales de control, causados por la carencia deconocimiento preciso del sistema que se ha de controlar. Asíes como nace el control inteligente de procesos, una disci-plina en la que los métodos de control se desarrollan paraemular algunas características importantes del ser humano,como la adaptación, el aprendizaje, el planeamiento bajogran incertidumbre y el trabajo con gran cantidad de datos.Gracias a la utilización de sistemas expertos en estos proce-sos, se pueden abordar soluciones que hasta el momentono eran tratables. Los sistemas expertos son programas queimitan el comportamiento de un humano utilizando la infor-mación que el usuario le proporciona para darle una opiniónsobre cierta materia. Una de sus ventajas es su capacidadde trabajar con grandes cantidades de información, que esuno de los problemas a los que se enfrenta el ser humano;el sistema experto, gracias a su velocidad de proceso, ana-liza todos los datos para aportar una decisión sólida.

ABSTRACTThe introduction of artificial intelligence techniques in pro-cess control is causing a small revolution, new ways are pre-senting themselves of solving traditional problems of controlcaused by a lack of precise understanding of the systembeing controlled. This has produced the concept of “intelli-gent process control”, a discipline where methods of controlare developed to emulate certain important human characte-ristics such as adaptation, learning, planning under greatuncertainty, and working with large volumes of data. Due tothe use of expert systems in these processes, it has beenpossible to address hitherto infeasible solutions. Expertsystems are programmes which imitate human behaviourusing the information which the user provides in order togive a reference point on the subject matter. One of thegreat advantages of expert systems is their capacity to workwith large quantities of information, a problem for humanbeings, and thanks to their processing speed, expert systemsare able to analyse all the data and, based on this, formulatea solid decision.

REVISIÓN

Regulator implementation in expert systems

Palabras claveInteligencia artificial, regulador PID, software, sistemas expertos, controlde procesos.

KeywordsArtificial intelligence, PID regulator, software, expert systems, processcontrol.

Page 2: Implementación de reguladores en sistemas expertos

Técnica Industrial 285 / Febrero 2010 45

Pictelia

IntroducciónLa ingeniería del conocimiento es unade las vertientes de los modernos méto-dos de la inteligencia artificial, ya quealgunos aspectos del conocimiento sonintangibles e inexplicables. El trabajo desus ingenieros consiste en extraer estetipo de conocimiento de los expertoshumanos y codificarlo, de manera quepueda ser procesado por un sistema, esdecir, la ingeniería del conocimiento es aquella disciplina que ayuda a cons-truir aplicaciones y sistemas orientadosal aprendizaje, apoyándose en metodo-logías instruccionales y en tecnología decomputación intentando representar elconocimiento y razonamiento huma-nos; así nacen los sistemas expertos.

Los sistemas expertos son programasque imitan el comportamiento de unhumano. Utilizan la información que elusuario le proporciona para darle unaopinión sobre cierta materia. Por tanto,el sistema experto le hace preguntashasta que pueda identificar un objetoque se relacione con sus respuestas.

Sus inicios datan a mediados de ladécada de 1960. Los investigadoresAlan Newell y Herbert Simon desarro-llaron un programa llamado GeneralProblem Solver (GPS) (solucionadorgeneral de problemas), pero este GPS

no podía resolver problemas del mundoreal tales como un diagnóstico médico.

Algunos investigadores decidieron,entonces, cambiar el enfoque del pro-blema, centrándose en dominios de cono-cimiento muy concreto en lugar de com-putarizar la inteligencia general. De estamanera, nacieron los sistemas expertos.

A partir de 1965, un equipo dirigidopor Edward Feigenbaum comenzó adesarrollar sistemas expertos utilizandobases de conocimiento definidas minu-ciosamente. Dos años más tarde se cons-truyó Dendral, el cual es considerado elprimer sistema experto. Su misión eraidentificar estructuras moleculares apartir de su análisis espectrográfico.

En la década de 1970 se desarrollóMycin para consulta y diagnóstico deinfecciones de la sangre. Este sistemaintrodujo nuevas características: la uti-lización del conocimiento imprecisopara razonar y la posibilidad de explicarel proceso de razonamiento.

El éxito de un sistema expertodepende casi exclusivamente de la cali-dad de su base de conocimiento. Elinconveniente es que codificar la peri-cia de un experto humano puede resul-tar largo, difícil y laborioso.

Las ventajas que presentan los siste-mas expertos es que son programas que

proporcionan la capacidad de trabajarcon grandes cantidades de informa-ción, que es uno de los grandes proble-mas a los que se enfrenta el analistahumano y que puede afectar negativa-mente a la toma de decisiones, ya queel analista depura datos que no consi-dera relevantes, mientras que un sis-tema experto, debido a su gran velo-cidad de proceso, analiza toda la infor-mación, incluyendo la que no es útil,para aportar una decisión más sólida.

Una de sus limitaciones más acen-tuadas es que para actualizar el sistemaexperto, es necesario reprogramarlo,además de que estos programas sonpoco flexibles a cambios y de difícilacceso a información no estructurada.

Arquitectura básica de los sistemas expertosUn sistema experto se puede esquema-tizar según la figura 1.

Por razones prácticas, se suele dife-renciar claramente entre la zona del sis-tema basado en reglas que se ocupa decontener el conocimiento general sobreel tema en cuestión y aquella que seocupa de contener los métodos de razo-namiento para operar, de un modo efec-tivo e independiente, con dicho conoci-miento. A la primera de estas zonas se le

Page 3: Implementación de reguladores en sistemas expertos

denomina base de conocimiento y seocupará de contener y organizar dichoconocimiento. A la segunda se le deno-minará motor de inferencia y su misiónserá la de realizar las operaciones nece-sarias con dicho conocimiento paralograr el fin requerido por el usuario.

Base de conocimientoEs la parte del sistema experto que con-tiene el conocimiento sobre el dominio.Hay que obtener el conocimiento delexperto y codificarlo en esta base. Unaforma clásica de representar el conoci-miento en un sistema experto son lasreglas. Éstas representarán las unidadesde razonamiento de un experto anteciertas variables, las consecuencias quepueden tener para algunas de ellas loscambios efectuados en otras, la relacióncausal entre los distintos hechos, lascondiciones para que se dé un sucesodeterminado, etcétera.

Base de hechos (memoria de trabajo)Contiene los hechos sobre un problemaque se han descubierto durante unaconsulta. Representan los conocimien-tos existentes sobre las variables genera-les del sistema. Serán verdades indiscu-tibles, relaciones aceptadas entre dichasvariables, distintos valores posibles paradichas variables y demás. Durante unaconsulta con el sistema experto, el usua-rio introduce la información del pro-blema actual en la base de hechos. Elsistema la empareja con el conocimientodisponible en la base de conocimientopara deducir nuevos hechos.

Motor de inferenciaEl sistema experto modela el procesode razonamiento humano con unmódulo conocido como motor de infe-rencia. Éste trabaja con la informacióncontenida en la base de conocimiento yen la base de hechos para deducir nue-vos hechos. Contrasta los hechos parti-culares de la base de hechos con el cono-cimiento contenido en la base deconocimiento para obtener conclusio-

nes acerca del problema, es decir, elmotor de inferencia se encargará deutilizar de un modo ordenado dichasreglas para, a partir de una situacióndeterminada, poder responder a laspreguntas de un usuario, o aconsejar laacción más oportuna ante un cambiodel entorno. Su función primordial serála de aplicar las reglas que intervenganante una situación determinada y esta-blecer los cambios producidos por ellasen la base de conocimiento.

Subsistema de explicaciónUna característica de los sistemas exper-tos es su capacidad para explicar su razo-namiento. Usando el módulo del subsis-tema de explicación, un sistema expertopuede proporcionar una explicación alusuario de por qué está haciendo unapregunta y cómo ha llegado a una con-clusión. Este módulo proporciona bene-ficios tanto al diseñador del sistema comoal usuario. El diseñador puede usarlopara detectar errores y el usuario se bene-ficia de la transparencia del sistema.

Interfaz de usuario y expertoEn los sistemas expertos cada vez esmás necesaria la existencia de unas cómo-das interfaces que permitan comunicar-los con el exterior. La principal será lainterfaz de usuario, cuya existencia per-mitirá una mayor comodidad y facili-dad de comprensión de las operacionesrealizadas por parte del usuario, carac-terísticas sin las cuales es incomprensi-ble la existencia de un sistema de estetipo. Otra interfaz también necesariaserá la existente con el ingeniero deconocimiento (experto) para facilitar laconstrucción del sistema.

La interacción entre un sistema exper-to y un usuario se realiza en lenguajenatural. También es tremendamenteinteractiva y sigue el patrón de una con-versación entre seres humanos.

Control del razonamientoComo ya se ha indicado, el motor deinferencia es la parte del sistema experto

que se encarga de generar nueva infor-mación a partir de la información exis-tente y de un conjunto de reglas deproducción. La forma en que se realizala obtención de la información se deno-mina control del razonamiento.

El control del razonamiento se encargade establecer los mecanismos necesariospara resolver las situaciones de conflictoutilizados al examinar las reglas. Dosson los métodos de control del razona-miento utilizados mayoritariamente:

Razonamiento hacia atrásSe utiliza fundamentalmente cuando sequiere confirmar o conocer el valor deunas variables determinadas del sistema.En este caso, las reglas son activadaspara ver si, por medio de las relacionesque ellas establecen, se consigue calculardicho valor. El procedimiento comienzapor escoger aquellas reglas cuyos conse-cuentes apliquen algún valor a la varia-ble buscada. Si los antecedentes de estasreglas son desconocidos, se examinanaquellas reglas que darían resultadossobre ellos. En última instancia, el sis-tema podrá preguntar al usuario por elvalor de una cierta variable necesariapara conocer la veracidad de alguno deesos antecedentes. La búsqueda terminacuando no se encuentran más reglasrelacionadas con el problema o cuandose encuentra una solución para el mismo.

Razonamiento hacia delanteSerá utilizado fundamentalmente cuandose introducen los valores que tomanuna serie de variables en el sistema yéste evoluciona a partir de ellos paraencontrar sus conclusiones. Las reglasvan siendo activadas según se cumplensus antecedentes y van modificando labase de conocimiento al afirmar susconcluyentes. El proceso termina cuandono quedan más reglas ejecutables.

LenguajesPara el diseño de los sistemas expertos,aunque puede utilizarse cualquier lenguaje de programación, dadas susespeciales características se han des-arrollado lenguajes específicos. Entreellos, los de mayor difusión son:

1. Lisp: definido en 1958 por McCarthy,ha sido el lenguaje más utilizado hastaeste momento. Aunque es muy versátily potente, presenta pocas facilidadespara el usuario, no tiene motor de infe-rencia propio ni interfaz con el usuario.

2. Prolog: aparece en 1974 gracias alos trabajos de A. Colmerauer y P. Rous-sel, fundamentalmente, para la demostra-

Técnica Industrial 285 / Febrero 201046

Figura 1. Esquema de un sistema experto.

Page 4: Implementación de reguladores en sistemas expertos

ción de teoremas. A partir de entonces,ha tenido un gran desarrollo debido a susencillez y a la incorporación de un motorde inferencia. Presenta dificultades paracombinar programación convencionalcon la orientada a la lógica de predicados.Esto hace que no se haya utilizado enaplicaciones grandes y mucho menos enaplicaciones de control en tiempo real.

3. Smalltalk: como principal represen-tante de lenguaje orientado a objetos, noha sido utilizado como cabría esperar porla potencia y calidad del lenguaje. Haymuy pocos desarrollos industriales ycomerciales basados en este lenguaje.

4. C: el lenguaje C, siendo de propó-sito general, está convirtiéndose en elmás utilizado para el desarrollo de nuevasherramientas, así como para aplicacionesde inteligencia artificial que necesitan develocidad y grandes dimensiones de memo-ria. Los compiladores de este lenguajeoptimizan extremadamente el código.

Sistemas expertos en el diseñode reguladoresLo que se pretende es utilizar estos sis-temas para la diagnosis y sintonía dereguladores PID (siglas de proporcional-integral-derivativo) en procesos cam-biantes o con necesidades de resintoníafrecuentes.

Un ejemplo simple de su utilizaciónen un sistema de regulación de nivelconsistiría en los siguientes pasos: si lasalida del sistema se encuentra situadoen un determinado valor de nivel y sedesease aplicar un cambio de consignadeterminado, se averiguaría si existe uncaso similar de una situación anteriorparecida a la actual.

Una vez seleccionado el caso más pare-cido a la situación actual, se comprobaríaque la evaluación que se hizo del funcio-namiento del regulador en el pasado fuebuena. Y en caso afirmativo, se aplicaesta misma solución a la situación actual.

En el caso de que la evaluación quese hizo en el pasado fuese negativa, nosestaría indicando que si se mantienenlos parámetros del regulador para lanueva situación, probablemente nofuncionará. En consecuencia, se ha debuscar algún caso que nos permita cum-plir con las especificaciones de res-puesta del regulador.

El hecho de aplicar unos nuevos ajus-tes al regulador PID, dado un cambiode consigna determinado, hará que seesté creando un nuevo caso y se puedaguardar dentro de la base de conoci-mientos. Formará parte de nuestro cono-cimiento del proceso y del regulador,

de manera que en cualquier momentose podrá hacer uso de él.

Una vez aplicados estos nuevos ajus-tes al regulador PID, se evaluará la res-puesta del proceso según las especifica-ciones de respuesta que se hayanestablecido.

Para la comparación se podrían usarlas especificaciones y evaluaciones obte-nidas de las respuestas de cada situa-ción. Si se parte de condiciones simila-res, los criterios de error y de controlpresentarán un parecido razonable.

En el caso de que aparezca una situa-ción no esperada, esto puede deberse acambios en el proceso, es decir, se pue-den haber alterado las variables delentorno, se pueden haber producidoperturbaciones en el sistema a contro-lar o, simplemente, se ha efectuado unamala sintonía del regulador. En cual-quier caso, se ha de realizar una resin-tonía del regulador.

A continuación, se ven algunos ejem-plos prácticos del uso de sistemas exper-tos en regulación de procesos.

Obtención de los parámetros de un PIDusando MedalEl objetivo de este ejemplo es describirel desarrollo de un sistema basado en el

conocimiento llamado Medal, que guiaráal usuario en el proceso de diseño de uncontrolador, obteniendo los paráme-tros del mismo de diferentes formas yescogiendo, finalmente, la forma óptima,ya que el diseño de sistemas de controles extremadamente complejo.

Medal es una aplicación informáticae interactiva cuyo lenguaje permite unestilo de programación similar al dellenguaje C.

El sistema basado en el conocimientoestá dividido en diferentes módulos, talcomo se muestra en la figura 2. El pri-mero de ellos, se ocupa de obtener elmodelo del sistema. A continuación, el usuario está autorizado a introducirlas especificaciones de funcionamiento,aunque no es necesario incorporarlastodas. Después, se analiza el sistemacon ayuda de las herramientas de análi-sis disponibles, entre las que se encuen-tran Bode, Nyquist y el lugar de las raí-ces. Cuando finalice el análisis, el usuarioserá llevado al módulo de diseño decontrol. Este módulo contiene variastécnicas de diseño de controladores,por lo que es muy útil para ayudar alusuario en el diseño. Cuando se ha obte-nido el controlador, se analiza el sis-tema de compensación con el fin de

Técnica Industrial 285 / Febrero 2010 47

Fin

Entrada del sistema

de

Análisisprevio

Clásico Espacio de estado

Reguladorcuadrático

linealDigital

Análisisposterior

Sistema expertode técnicas de diseño

deEspecificaciones

funcionamiento

Figura 2. Módulos para el diseño de un controlador.

Page 5: Implementación de reguladores en sistemas expertos

Técnica Industrial 285 / Febrero 201048

comprobar si reúne las especificacionesdadas por el usuario, de manera que, siéste no queda satisfecho, el proceso dediseño puede repetirse. Existen dife-rentes modelos de diseño algunos delos cuales se detallan en la figura 2.

Diseño clásico

Usando este modelo pueden diseñarsevarios tipos de compensadores que esta-rán divididos en tres categorías: contro-lador PID, redes de adelanto y redes deretardo. A continuación, se da una brevedescripción de cada uno de los métodos:

1. Método de Ziegler-Nichols parala compensación PID. Éste es un métodode afinación del controlador PID basadoen un simple análisis de estabilidad.Años de experiencia en el diseño decontrol de procesos indicaron que estemétodo es, en efecto, una buena téc-nica. Sin embargo, no permite al usua-rio diseñar un controlador PID paraconseguir una conducta específica.

2. Método analítico de compensa-ción PID. El método analítico puededeterminar los parámetros del PIDpara satisfacer las especificaciones reque-ridas. Basado en el teorema del valorfinal, la ganancia integral Ki puede serdeterminada por el estado estacionariodel error. Los otros dos parámetros, Kpy Kd, pueden calcularse mediante elmétodo analítico.

3. Método geométrico de lugar delas raíces. Este método está basado enreconstruir el lugar de las raíces del sis-tema añadiendo polos y ceros a la planta.Basándose en las relaciones geométri-cas entre la situación de polos y cerosdel regulador y la situación del puntodeseado, se determinan los parámetrosdel regulador. El inconveniente de estemétodo es que la ganancia no puede serpredeterminada.

4. Bode. La idea básica en el diseñode Bode es ajustar la función de trans-ferencia en cadena abierta de tal maneraque tenga la baja frecuencia deseable(para el error en estado estacionario) yun adecuado margen de estabilidad. Elobjetivo de este método es alcanzar elmargen de fase deseado. La gananciadel sistema compensado será determi-nada mediante el diagrama de Bode delsistema en cadena abierta. El inconve-niente que presenta es que la gananciano puede ser predeterminada.

Diseño de espacio de estado

El objetivo de la colocación de polos esmoverlos de la planta hacia la localiza-ción especificada usando una condición

de retroalimentación que permita alcan-zar la respuesta transitoria deseada. Laidea es usar la retroalimentación paraque el sistema se corrija a sí mismo.

Aunque la localización de polos esuna técnica simple y potente, tieneciertas limitaciones. Cuando aumentala complejidad del sistema, es práctica-mente imposible tener en cuenta todoslos estados. Para alcanzar una reali-mentación constante, se requieren sen-sores ideales con ancho de banda infi-nito, mientras que los sensores reales lotienen limitado. Algunas veces es posi-ble que ciertas condiciones del sistemano sean perceptibles. En estos casos, espráctico estimar las condiciones usandola entrada y la salida del sistema. Estose consigue con un estimador de estadollamado observador. La ganancia delcontrolador se encuentra asumiendoque las condiciones del sistema estándisponibles y, luego, un observador esdesignado para estimar estas condicio-nes. Finalmente, se usan estas estima-ciones como realimentación del sis-

tema, alcanzando así la estabilidad encadena cerrada.

El observador de orden completoposee el mismo orden que el sistema,con lo cual, el observador estima todaslas condiciones.

Para un sistema de orden n con msalidas, se necesita un observador deorden reducido. Esto permite que elregulador sea más simple y económico.Igual que en el caso del observador deorden completo, los polos en cadenacerrada son la unión del controlador ylos polos del observador de orden redu-cido. Estos polos en cadena cerradapueden colocarse para conocer las espe-cificaciones de diseño independiente-mente de la situación de los polos yceros en cadena abierta.

Puede notarse que, en general, losobservadores reducen el margen deestabilidad.

Estructura del sistema Medal

El usuario comienza el proceso de diseñoespecificando la técnica de diseño que

Comprobación del sistema

Ubicación de los polos

Colocación de los polos

Respuesta escalón

¿Satisfecho?

¿Construir unObservador?

Observador de orden reducido

Observador de orden completo

Respuesta escalón

Respuesta escalón

¿Satisfecho? ¿Satisfecho?

NO

NO

SÍ SÍ

NO NO

Salida

Salida

Figura 3. Diseño de espacio de estado.

Page 6: Implementación de reguladores en sistemas expertos

Técnica Industrial 285 / Febrero 2010 49

desea utilizar. El sistema basado en elconocimiento guiará al usuario en eluso apropiado de comandos, muestrade gráficos que dan información sobreel sistema y también le proporcionaráconsejos y explicaciones durante el pro-ceso de diseño.

Centrándose en el diseño clásico, sepuede dividir en cuatro capas. En lacapa superior se da una introducción alos módulos de conocimiento y se pideal usuario que seleccione el proceso dediseño de su controlador. En la segundacapa, se da una introducción sobre elmétodo de diseño seleccionado inclu-yendo también algunas sugerencias sobreel método en cuestión. Después de queel usuario haya seleccionado el método,se dirigirá a la tercera capa, en la que seexaminarán las especificaciones de diseño.Si la especificación está incompleta o noes coherente, se puede pedir al usuarioque introduzca las especificaciones reque-ridas paso a paso. Si éstas son datosindirectos de entrada del programa dediseño, el dato requerido se calcularáautomáticamente. La última capa estáformada por programas de diseño,mediante los cuales se determinarán losparámetros deseados del controlador.

La base de conocimiento para eldiseño de espacio de estado consta detres módulos (figura 3). En el primerode ellos, Medal comprueba el sistemareal y pide al usuario que especifique lalocalización deseada de los polos encadena cerrada. Basándose en estas espe-cificaciones, Medal se dirige al módulode colocación de polos y regresa con elnuevo sistema en cadena cerrada argu-mentando la respuesta del sistema. Acontinuación, se pregunta al usuario siestá satisfecho y, si no lo está, se le pidede nuevo la localización de los polos delsistema. Cuando el usuario quede satis-fecho, Medal preguntará si se deseaestablecer un observador, en cuyo casopodrá elegir entre el diseño de ordencompleto o el de orden reducido.

En el diseño óptimo, inicialmente serepresenta el sistema en cadena abiertay el usuario elige entre los diseños deregulador cuadrático lineal (LQR) ygausiana cuadrática lineal (LQG). Elprimero de ellos hace una aproxima-ción de la ganancia óptima de reali-mentación K, mientras que el segundocalcula tanto K como L, que es la ganan-cia óptima de Kalman. Los valores Q,R y N son diferentes en estas dos apro-ximaciones, y en el diseño LQR el usua-rio tiene que introducir (Q0, R0 y N0)para calcular L y (Q, R y N) para calcu-

lar K. A continuación, los ficheros M serelacionan para calcular K y L y, final-mente, se visualizan en pantalla, demanera que la configuración del sis-tema en cadena cerrada será computaday mostrada en pantalla. Si el usuario lodesea, puede ver la respuesta escalón yel diagrama de Bode del sistema resul-tante. Si la representación en cadenacerrada no es satisfactoria, el usuariopuede cambiar los parámetros inicialesy probar de nuevo.

Conclusiones del sistema Medal

Se ha descrito un sistema basado en elconocimiento que ha sido implemen-tado con Medal en el que están repre-sentados en ficheros M los cálculos y elalgoritmo de control. Se han desarro-llado diferentes técnicas de diseño basán-dose en módulos de conocimiento. Ésteha proporcionado una integración com-pleta de diversas funciones tales comocomputación numérica, inferencia basadaen el conocimiento, salidas gráficas yun enlace con sistemas de programasexternos, así como una mejoría de larelación hombre-máquina que ha hechoel sistema más ameno y fácil de usar.Por último, ha proporcionado ayuda ydirectrices en el modelado, análisis,simulación y diseño de leyes de control.

Sistema de control de un servidorusando CLIPSCLIPS es un lenguaje de especificaciónde sistemas basados en el conocimientode sintaxis similar a Lisp y original-mente pensado para reglas, aunque lasversiones actuales permiten, además,definir conocimiento mediante otrosformalismos. El sistema dispone de unintérprete que permite escribir coman-dos de manera interactiva, opciones deejecución y depuración de programas ypuede mostrar información sobre elestado actual de la memoria de trabajoy las reglas activadas en cada momento.

El motor de inferencia de CLIPS esla implementación de un algoritmo deencadenamiento hacia delante. En con-creto, implementa un algoritmo deno-minado Rete, que mantiene en memo-ria una red de condiciones y accionesque hace más eficiente la comproba-ción de qué reglas pueden ser activadasen cada momento.

En este ejemplo se describe un con-trolador basado en el conocimiento, entiempo real, que ha sido desarrollado eimplementado con éxito en un sistemade control de un servomotor.

El sistema descrito mantiene la velo-

cidad constante a la salida de un servo-motor de corriente alterna ante la pre-sencia de variaciones paramétricas des-conocidas. La velocidad se mantieneconstante usando un sistema experto quemodifica el controlador en tiempo real.

Estructura del sistema

El sistema experto CLIPS sustituye elvoltaje del periférico por una señal dereferencia y comienza a controlar lasalida del motor. Si la velocidad se dirigea la salida deseada, CLIPS ajustará laconstante de ganancia proporcional delPID para mantener la velocidad ade-cuada en estado estacionario.

La entrada analógica del procesadordigital de señal es la señal realimentadadel motor y la salida del procesadordigital es la salida del PID (figura 4).

Requisitos del sistema

En primer lugar, el sistema debe perma-necer estable ante cualquier perturba-ción; además, la respuesta estática delsistema debe realizarse a una velocidadconstante y, finalmente, el regulador nodebe necesitar modificaciones mientrasel sistema esté en estado transitorio.

Funcionamiento del sistema

El programa está escrito de manera quela ganancia del PID pueda ser ajustadaen cualquier momento durante el fun-cionamiento del sistema. Estas ganan-cias pueden variarse a través del proce-sador, escribiendo posiciones de memoriacompartidas entre éste y el periférico.

Además, para implementar el PID yel sumador en tiempo real, el procesa-dor digital de señal lleva a cabo ciertoscálculos en tiempo real. El propósito esabastecer CLIPS con la informaciónsobre el sistema. La información sumi-nistrada es la desviación estándar de laseñal de error y el promedio de ésta enlas 512 muestras más recientes. Se usapara determinar cuándo el sistema haalcanzado un valor constante en estadoestacionario.

Mientras el periférico ejecuta este pro-grama en tiempo real, éste suministra alsistema experto la corriente de la desvia-ción estándar de la señal de error en unsegundo intervalo y si este valor es sufi-cientemente bajo, CLIPS considera queel sistema está en estado estacionario. Acontinuación, CLIPS determina la veloci-dad de salida del motor. Si esta velocidadno se encuentra dentro de un margencorrespondiente al ±5% de la deseada,CLIPS decide cómo modificar la ganan-cia proporcional. Las reglas se usan para

Page 7: Implementación de reguladores en sistemas expertos

hacer que la ganancia incorpore mecanis-mos de lógica humana y heurística, talescomo las técnicas matemáticas.

Construcción de las reglas

El primer conjunto de reglas fue dise-ñado para establecer los valores inicialesdel sistema e interpretar la señal de refe-rencia deseada desde el teclado. Esto per-mite al usuario cambiar la señal de refe-rencia mientras el sistema está funcionando,en lugar de tener que reiniciarlo.

Un segundo conjunto de reglas fueconstruido para evaluar la señal de errory determinar si es necesaria una correc-ción. Conociendo la entrada del sis-tema (U), la constante de realimenta-ción (K) y la señal de error (E), la salidareal del motor en rpm (Wa) se calculausando la siguiente ecuación:

(1)

Una no linealidad puede deberse a unaregión de banda muerta y una curva conpendiente. El sistema será linealizado alre-dedor del final de la región de banda muerta.La ganancia deseada se ha fijado en 280r/min/V. La ganancia real del sistema (Ga)se calcula linealizando la entrada alrede-dor del final de la región de banda muerta,mediante la siguiente ecuación:

(2)

El error (GE) entre este valor y elvalor teórico para el sistema (Gd), secalcula mediante:

(3)

Se ha fijado una tolerancia del 5%.Un error fuera de esta tolerancia acti-

varía otro juego de reglas mediante lasque se determinaría una nueva ganan-cia proporcional para el sistema.

Nótese que una no linealidad entre laentrada y la salida en estado estacionariopuede linealizarse ajustando el comandode la señal de referencia antes de apli-carlo al sistema.

Por último, se tienen otro conjuntode reglas que sirve para modificar laganancia proporcional basándose en elerror de ganancia determinada. Se usauna simple heurística para modificar laconstante Kp.

Software intermedio

Las nuevas ganancias del sistema se escri-ben en un fichero de datos con el softwareCLIPS y son convertidas al formato apro-piado y colocadas en el puerto dual dememoria del procesador digital medianteun programa intermedio. El resultado deusar este modo de comunicación es unareacción más lenta del sistema.

La última versión de CLIPS ha sidoobtenida al incluir la fuente de códigonecesaria para integrar módulos de pro-grama escribiendo en lenguaje C en elsistema experto.

Actualmente, el tiempo transcurridoentre leer la información del sistema yescribir una nueva ganancia para el mismoes escasamente de dos segundos.

Para proveer a CLIPS de modos deseñales de error y variaciones estándaralrededor de las últimas 512 muestras,se ha escrito un programa intermediopara leer posiciones de memoria actua-les en el puerto dual de memoria delprocesador digital de señal. Estos valo-res se convertirán después a formatodecimal y se escribirán en un fichero dedatos accesible para CLIPS.

Para permitir que CLIPS establezcala entrada del sistema, se escribe unprograma intermedio para leer los fiche-ros de datos escritos por CLIPS y escri-bir esos datos en el puerto de memoriadual. Este valor se usa como señal dereferencia para el sistema.

ConclusionesEl método de adaptación podría sermejorado, lo que facilitaría que CLIPSrecolectase hechos en su ejecución y,basándose en estos hechos, cambiar sumétodo de ajuste de ganancia.

Actualmente, la sintonización de con-troladores basados en el conocimientopuede corregir la respuesta estable debidaa ciertas perturbaciones desconocidas si secumplen las siguientes condiciones. Enprimer lugar, la perturbación no debe cau-sar que la velocidad de salida cambie demanera que vaya demasiado deprisa. Ade-más, la respuesta estable del sistema debeser una velocidad constante. Y, por último,el sistema debe permanecer estable paratodas sus perturbaciones razonables. Si sereúnen estas condiciones, el controladorgarantizará una velocidad estable dentrodel 5% de su valor deseado.

BibliografíaPang-Granthan, K. H. “Implementation of a Kno-

wledge-Based Controller for Hibrid Systems”. Pro-ceedings of the 32nd Conference on Decision andContro., San Antonio (Texas) diciembre 1993.

Pang, Granthan, K. H. “An Expert Adaptive ControlÉcheme in an Intelligent Process Control System”.Proceedings of the IEEE International Sympo-sium on the intelligent Control. Arlington (Virginia),agosto 1991.

Finocchio, R. J.; Blauch, A. J.; Lorincz, T. S.; Meth, R., yButz, B. P. “Implementing a Real-Time KnowledgeBased Controller in a Velocity Controlled, ServoMotor Control System”. Proceedings 5th IEEEInternational Symposium on Intelligent Control1990. Vol2. p. 811-15.

Armda, L. V. R.; Luders, R.; Amaral, W. C., y Gomide,F. A. C. “A Knowledge-Based Environment for Inte-lligent Design and Supervising of Control Systems”.Proceedings of the 26th Southeastern Sympo-sium on System Theory, 1994. Cat. No.94TH0599-1, p. 276-80.

Wa =U E

K

Wa =U E

K

GE =Gd Ga

Gd

Técnica Industrial 285 / Febrero 201050

Figura 4. Estructura del sistema.

Kd

Kp

Ki

S

S

MOTOR

Voltaje dereferencia

Ajuste deganancia

Señal deerror

dt

d

TACÓMETRO

José Luis Calvo [email protected] de la Escuela Politécnica de Ferrol, pertene-ciente a la Universidad de A Coruña; imparte docen-cia en el área de Ingeniería de Sistemas y Automática.

Héctor Alaiz Moretón [email protected] en la Escuela de Ingenierías Industrial e Infor-mática de la Universidad de León; imparte docencia enel área de Ingeniería de Sistemas y Automática.

Javier Alfonso CendónProfesor en la Escuela de Ingenierías Industrial e Infor-mática de la Universidad de León; imparte docencia enel área de Ingeniería de Sistemas y Automática.