jueves, 22 de noviembre de 2012

Matriz de ganancia de observador. (Laboratorio)

El ejercicio para esta séptima entrega del labortatorio de Automatización fue tomado del libro:
Sistemas de Control Moderno. Dorf Bishop

Elegí el problema 11.27 cuya redacción es la siguiente:

Considerar el sistema de segundo orden:



Determinar la matriz de ganancia del observador que se requiere para situar los polos del observador en

Para resolver este problema podemos ayudarnos con Octave, usando el comando obsv para obtener la matriz de observabilidad y el comando det para obtener el determinante de la misma y con el valor obtenido en éste comprobar si el sistema es o no es observable.
El código en Octave para obtener dichos datos es el siguiente:


El resultado obtenido es el siguiente:


Interpretación: Ejecutando el script en Octave, podemos existen ceros en la matriz de observabilidad y el determinante obtenido de dicha matriz es igual a cero.

Conclusión: Al arrojarnos un determinante de la matriz de observabilidad igual a cero se comprueba que no cumple la "regla" que dice que "un sistema es observable cuando su determinante es diferente de cero", por lo tanto se concluye que el sistema no es completamente observable. Por lo que no podemos obtener una matriz de ganancia de observador que acomode los polos en los lugares definidos en la redacción del problema.


Fuentes de Consulta:
http://www.eng.newcastle.edu.au/~jhb519/teaching/caut2/clases/Cap6.pdf
http://www.obihiro.ac.jp/~suzukim/masuda/octave/html3/octave_161.html
http://homepages.math.uic.edu/~hanson/Octave/OctaveLinearAlgebra.html

martes, 20 de noviembre de 2012

Proyecto Final Automatización

El reporte + presentación + video del Proyecto Final de Automatización del ventilador controlado se encuentra en el blog de mi compañero Emmanuel.

La liga a la entrada es la siguiente:

http://synnick.blogspot.mx/2012/11/reporte-final-de-automatizacion.html

Proyecto: Control de ventilador por temperatura

Integrantes del equipo:
Adán Silva
Carmen Suárez
Emmanuel García
Raul González
Victor Briones

Presentación + Reporte + Código Final Redes Neuronales

Presentación: 

Reporte: 


Liga al Repositorio 

(siendo mi usuario jetsky0 y mi aportación llamada neuronaordinariosimple.py): 


Video: 


Código neurona:

https://gist.github.com/4118166 

jueves, 15 de noviembre de 2012

Matriz de ganancias de retroalimentación de estados. (Laboratorio)

El ejercicio que elegí es el B-12-4 que consiste en resolver el ejercicio B-12-3 en MATLAB (en este caso usaré Octave). 

La redacción del ejercicio B-12-3 es la siguiente:


"Considerando el sistema definido por:
donde:


Usando el control mediante retroalimentación del estado   , se desea obtener los polos en lazo cerrado en . Determine la matriz de ganancia de retroalimentación de estado K."

Para resolver este ejercicio, el paquete de Control de Octave nos ofrece un comando llamado place.


place
 (sysp)


"Computes the matrix K such that if the state is feedback with gain K, then the eigenvalues of the closed loop system (i.e. A-BK) are those specified in the vector p."

Traducido al español:
Calcula la matriz K siempre y cuando el estado es una retroalimentación con ganancia K, luego los eigenvalores del sistema de lazo cerrado (Ej. A-BK) son aquellos especificados en el vector p.

Ahora que ya sabemos qué comando utilizar sólo queda trasladar los datos a octave y aplicarles el comando place para obtener la matriz de ganancia de retroalimentación de estado K.



Aquí la captura de pantalla del resultado obtenido:



Matriz resultante K representada en LaTeX:


Para los que se pregunten ¿para qué diablos funciona esta cosa? tampoco yo lo tengo muy claro honestamente, pero sé que tiene que ver cuando se busca comprobar la controlabilidad y estabilidad de un sistema de control. Esto mayoritariamente en los casos en que la salida de un sistema de control retroalimenta la entrada del mismo.

Finalmente si quieremos ver como iría dicha ganancia gráficamente podemos graficarla simplemente agregando la línea
plot (K)
Y la gráfica obtenida es:
En esta gráfica podemos ver más claramente cómo se comporta la ganancia de retroalimentación de estado dentro de este sistema.


Fuentes de consulta:

martes, 13 de noviembre de 2012

Reporte Grupal sobre Propiedades Estructurales

El reporte completo se encuentra en el blog de mi compañero Emmanuel.

Equipo constituido por: Adán, Emmanuel y Max

Tarea 11 - LTL

Para esta penúltima tarea se nos asignó elegir un ejercicio del capítulo 14 de este pdf.


El ejercicio que elegí es el siguiente:



14.7 Considerando un sistema de transiciones con los siguientes enlaces de estados:

¿Es la siguiente expresión verdadera en todos sus caminos?




En el caso de que tomemos como estado inicial el estado donde x=0 y y=0 observamos que al haber la transición hacia los otros 2 estados regresa a este mismo estado inicial por lo que si cumpliría con la condición. 

Si tomamos como estado inicial el estado en que x=1 y=0 observamos que al pasar al estado donde x=0 y=0 se regresa otra vez hacia x=1 y=0 por lo que aquí se deja de cumplir la condición y concluimos que: 
La expresión no es verdadera en todos sus caminos.

Redes Neuronales para sistemas de detección de intrusos

A neural network component for an intrusion detection system


Este reporte aparece en:
Research in Security and Privacy, 1992. Proceedings., 1992 IEEE Computer Society Symposium on
Autor: Debar, H.
Páginas: 240 - 250


En este reporte nos presentan una posible aplicación de redes neuronales como un componente para un sistema de detección de intrusos (usando o analizando grabaciones de sonido). Los algoritmos de redes neuronales están emergiendo como una nuvea técnica de inteligencia artificial que puede ser aplicada en problemas de la vida real. 

El uso de inteligencia artificial para la detección de intrusos dentro de un sistema computacional es ahora ampliamente considerado como la ùnica manera de construir un sistema de detección de intrusos que sea eficiente y adapatativo. Más allá de sistemas expertos. las redes neuronales artificiales están evolucionando como una nueva técnica de inteligencvia artificial.

Ya entrando al tema, hay ciertas propiedades ùnicas de las redes neuronales que las hace óptimas para este tipo de aplicaciones. Si por ejemplo para el modelo del sistema de detección de intruses necesitamos una herramienta que aprenda series de tiempo. Cosa que es posible utilizando redes neuronales. Una vez implementando una red neuronal para este propósito la red verá cada uno de los ejemplos una sóla vez y empezará a entrenarse. Una regularidad en dicho entrenamiento es importante porque significa que la red observará diversas "grabaciones" con aproximadamente el mismo contenido.

El aprendizaje es la principal característica de las redes neuronales. Dicho aprendizaje permitirá a los desarrolladores a aprender las leyes del comportamiento de la red cuando empecemos a alimentar la red con datos reales y ésta tenga que decidir si la grabación detectada corresponde a un usuario autorizado o de lo contrario a un no autorizado. El algoritmo de aprendizaje permite a la red seguir de cerca el comportamiento de los caminos que se le presenten y adaptarse a si misma para los constantes cambios de los mismos.

El modelo elegido para el algoritmo de la red neuronal de dicho sistema de detección de intruso es un algoritmo recurrente. En este tipo de algoritmo, la salida de la red neuronal es retroalimentada como una entrada al entrar al siguiente paso. Esto crea una memoria interna dentro de la red neuronal, la cual tiene la misma función que la de "la ventana del tiempo" de un perceptrón ordinario, por ejemplo para darle a la red neuronal una "percepción del pasado". De cualquier manera, en el caso de las redes recurrentes, esta memoria es grande y auto-organizada para satisfacer la necesidad de la predicción. Se utilizó una versión adaptativa  de una red recurrente completa con una descomposición en capas que permite la propopagación del algoritmo de aprendizaje.

Una vez definido el modelo se dieron a la tarea de pensar en cómo implementar dicho modelo. Hacia este punto se dieron cuenta que el uso de una simple red neuronal no serviría para resolver el problema. Por lo que se consideró necesario implementar un sistema experto que pudiera ser capaz de manipular los datos que la red neuronal procese.

A continuación se describen los bloques que constituirían a un sistema de detección de intrusos:

  • Adquisisión de datos: Este modelo reune las pistas de audio dentro del sistema y las transfiere a la estación de soporte de detección de intrusos.
  • Formateo de datos: Este modelo reacomoda los datos en un formato comùn que puede ser interpretado tanto por el sistema experto como la red neuronal. Aunado a esto revisa que las pistas de audio sean claras y correctas.
  • Red neuronal artificial: Es el motor del sistema de detección de intrusos. Aquí se encuentra la red neuronal misma junto con un un par de funcionalidades de codificado y decodificado para convertir las entradas (pistas de audio) en formato numérico.
  • Systema experto - Análisis y control de la red neuronal: Este modulo analiza la salida de la red neuronal y la traduce en un formato adecuado para la detección de intrusos. Igualmente monitorea los parámetros de la red neuronal para obtener información adicional de los mismos datos. Finalmente también es responsable para afinar y verificar el proceso de entrenamiento para evadir una posible polarización del modelo con el comportamiento de detección de intrusos.
  • Sistema experto - Análisis y decisión: Este modulo es la parte de detección de intrusos del sistema entero. Tiene contenida en su base de conocimiento el reconocimiento de escenarios y los posibles defectos del sistema operativo, así como también la política de seguridad definida por un oficial de seguridad. Se encarga también de crear advertencias y alarmas cuando observa significantes cambios en el comportamiento como los que provee el modelo de la red neuronal, o cuando se activa un ecenario de intrusión.


Aquí un diagrama demostrativo que explica gráficamente los pasados bloques del sistema de detección de intrusos:


Cabe mencionar que el pasado diagrama está parcialmente implementado aùn actualmente se encuentra en investigación la implementación de redes neuronales con sistemas expertos como un conjunto.

 Fuente de consulta:
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=213257&tag=1
















martes, 6 de noviembre de 2012

Seguridad para Automatización Industrial y Sistemas de Control


White Paper
Security for Industrial Automation and Control Systems
By: ABB



Este artículo nos habla sobre cómo la seguridad en sistemas de control y automatización industrial es un punto incluso más importante que en un sistema computacional ordinario, debido a que un ataque a un sistema de automatización o control puede incluso llegar a atentar contra la integridad física o la vida misma de los operadores de dichas mquinas y/o sistemas.

Ellos definen o toman el concepto de seguridad desde la perspectiva de proteger la confiabilidad, disponibilidad e integridad del sistema de control.

En el articulo se menciona que es imposible asegurar la seguridad del sistema al 100% ya que hay muchos factores que pueden atentar contra ésta por ello es necesario que el control de seguridad del sistema sea constante o rutinario para así disminuir las probabilidades de ataque al sistema.

Recomienda la empresa, que cualquier establecimiento que use sistemas de control designen un departamento específico que se encargue del control de la seguridad del sistema, que diseñe y proponga medidas preventivas de seguridad así como planes de reacción contra contingencias (ataques) para una rápida reacción ante el mismo y poder recuperar el control y la estabilidad del sistema antes de que las pérdidas (tanto economicas como incluso vitales de los operadores) aumenten.

Otra de las recomendaciones que realiza la empresa en el artículo es la de mantener "aislado" el sistema de control de redes externas que pudieran vulnerabilizar al mismo y exponiendolo a ataques. Ellos proponen que la red del sistema de control sea "rodeada" por diversos muros (firewalls, proxys, DNS's, etc) para evitar conexiones no autorizadas con el exterior. Y se corra el riesgo de que el sistema contraiga un virus o que algun agente malintencionado entre al sistema remotamente y altere los procesos y funciones del mismo cuyas consecuencias podrían ser ostentosas e incluso lamentables (si se atenta contra la integridad de los operadores).

Se habla de que aunque la red de un sistema de control esté blindada y protegida contra conexiones con redes externas, el sistema sigue siendo vulnerable pero ahora no por un agente o atacante externo que hackee la red, sino de los mismos operadores del sistema. Como medidas precautorias ante ataques intencionales o no intencionales de parte de los mismos operadores del sistema es la de darles los permisos suficientes sobre el sistema para que puedan hacer su trabajo, ni más permisos, ni menos. Es necesario también que el departamento encargado de la seguridad del sistema, mantenga constantes capacitaciones para los operadores, así como constantes pruebas de confidencialidad y aptitudes.

Finalmente como conclusión, se enfatiza en tener constantes pruebas y chequeos de seguridad, actualizar sistemas, sistemas operativos, controlar las conexiones remotas hacia la red el sistema, exhortar a operadores y empleados no usar dispositivos externos de almacenamiento ya que esto puede ser riesgo de contagio de virus y gusanos los cuales pueden poner en riesgo la estabilidad del sistema y mantener actualizadas evaluaciones de casos de vulnerabilidad y porcentajes de riesgo de ataques para así estar preparados para enfrentar cualquier tipo de contingencia de seguridad.

Fuente de consulta:
http://www05.abb.com/global/scot/scot296.nsf/veritydisplay/b1f29a78bc9979d7c12577ec00177633/$file/3bse032547_b_en_security_for_industrial_automation_and_control_systems.pdf

lunes, 5 de noviembre de 2012

Tarea 10 - Expresiones ω-regular

Para esta tarea debemos inventar una expresión del tipo ω-regular que cumpla con los siguientes requisitos:


  • Contener por lo menos dos símbolos.
  • Contener por lo menos dos operadores.
Una vez definida la expresión, dibujar su NBA (Nondeterministic Büchi Automaton) correspondiente.

Mi expresión es la siguiente:



Y aquí represento su NBA correspondiente:


Fuentes de consulta.
Principles of Model Checking

jueves, 1 de noviembre de 2012

Margen de fase de función de transferencia (Laboratorio)

Para este reporte elegí el siguiente problema:

Considere el sistema de control con retroalimentación unitaria cuya función de transferencia en lazo abierto es:
Determine el valor de a tal que el margen de fase sea 45°.

Lo primero es igualar G(s) en terminos de G(jw) y sustituir las s por w.


Lo siguiente es representar la ecuación en forma de la razón de la amplitud elevando al cuadrado y aplicando raíz cuadrada:




Después igualamos a 1 toda la ecuación y después la simplificamos:




Habiendo desarrollado la ecuación anterior lo siguiente es definir la ecuación para ángulo de fase, ésta está denotada de la siguiente manera:


Si evaluamos con  :



Finalmente con:


evaluamos y despejamos a.

Primero escribimos la ecuación en terminos de a:





Luego  del numerador con  del denominador se hace 1 y se elimina y nos queda:



Despejamos a:



Y finalmente calculamos el resultado:



Comprobación octave:
En esta imagen con el comando margin obtenemos parametros Gm: Margen de ganancia (dB), Pm: Margen de fase (en grados), Wcg: frecuencia para fase,Wcp: frecuencia para ganancia y en el Pm que corresponde a margen de ganancia encontramos los 45° por lo que se comprueba que el resultado obtenido de a es correcto.

Finalmente, el diagama de nyquist




Fuentes de consulta: