jueves, 22 de noviembre de 2012

Laboratorio 7 - Automatización

Introducción

Criterio de Nyquist

Con el objeto de investigar la estabilidad en un sistema de control, se utiliza el criterio de nyquist. Y se considera que un sistema es estable cuando todos los ceros de la función deben de estar en la parte izquierda del eje jw en el plano s.
Un sistema realimentado es estable si, y solamente si, el contorno de T en el plano L(s) no rodea al punto (1, 0) cuando el número de polos de L(s) en la parte derecha del plano.

Cuando el número de polos de L(s) en la parte derecha del plano s es diferente de cero, el criterio de Nyquist es: Un sistema de control realimentado estable si, y solamente si, para el contorno T, el numero de rodeos del punto (-1,0) en el sentido contrario al movimiento del reloj es igual al numero de pelos de L(s) con partes reales positivas.

Estabilidad relativa y el criterio de Nyquist

Se definió la estabilidad relativa de un sistema como la propiedad medida por el tiempo de estabilización relativo de cada raíz o par de raíces. Se podría determinar una medida semejante de la estabilidad relativa útil para el método de la respuesta de frecuencia. El criterio de Nyquist proporciona una información adecuada relacionada con la estabilidad absoluto y, además, puede utilizarse para definir y determinar la estabilidad relativa de un sistema.
El criterio de la estabilidad de Nyquist se define en términos del punto (-1,0) en la gráfica polar, o sea, el punto 0 dB a -180 en el diagrama de Bode. Evidentemente, la proximidad del lugar geométrico de GH(jw) a este punto de estabilidad es una medida de la estabilidad relativa de un sistema.
Margen de ganancia: se define como el recíproco de la ganancia |GH(jw)| para la frecuencia en que el ángulo de fase alcanza -180° (esto es, v=0).


Problema



Dibujar los diagramas polares de las siguientes funciones de transferencia de lazo GH(s) y, utilizando el criterio de Nyquist, determinar si el sistema es estable:






Respuesta

a)
Nuestra ecuación quedaría de la siguiente manera:


De acuerdo con octave podemos gráficar el criterio de Nyquist utilizamos el comando:
Nyquist(Funcion de transferencia)


Nyquist

Por el mismo criterio podemos determinar si el sistema es estable o no. Observamos el plano s  vemos que la gráfica se dibujo del lado izquierdo del punto 0 del eje imaginario. De acuerdo a esto decimos que:

El sistema es estable

En el sistema si obtenemos el diagrama de Bode podemos determinar los puntos de estabilidad y cual es el limite de k. En el diagrama de Bode se puede ver como como esta la gráfica descendiendo hasta llegar al límite.
Bode
Octave cuenta con otra instrucción llamada Margin que determina los margenes, si observamos es la misma gráfica  que la de Bode pero se muestra que cruza el eje.

Margin
También podemos ver en terminal las raíces que se obtienen con roots, todas están negativas es decir los puntos están del lado izquierdo de la gráfica como ya lo vimos en el diagrama de Nyquist y se determina que es estable.
b)


Nuestra ecuación quedaría de la siguiente forma:



Nyquist

Para ese segundo problema  por el mismo criterio podemos determinar si el sistema es estable o no. Observamos el plano s  vemos que la gráfica se dibujo del lado izquierdo del punto 0 del eje imaginario. De acuerdo a esto decimos que:

El sistema es estable

En el sistema si obtenemos el diagrama de Bode podemos determinar los puntos de estabilidad y cual es el limite de k. En el diagrama de Bode se puede ver como como esta la gráfica descendiendo hasta llegar al límite.
Bode
Octave cuenta con otra instrucción llamada Margin que determina los margenes, si observamos es la misma gráfica  que la de Bode pero se muestra que cruza el eje.


Margin

También podemos ver en terminal las raíces que se obtienen con roots, todas están negativas es decir los puntos están del lado izquierdo de la gráfica como ya lo vimos en el diagrama de Nyquist y se determina que es estable.

Código

Parte 1. Inciso a)
Parte 2. Inciso b)

Bibligrafía

Libro Sistema de Control Moderno.
Por: Richard C. Dorf. y  Robert H. Bishop.

martes, 20 de noviembre de 2012

Reporte Final Automatización

Presentación:


Reporte


Prueba 1 - Carrito con llantas pequeñas










Reporte Final Redes Neuronales


Nombre:       Daniel

Presentación


Tareas principales realizadas

  • Investigación sobre las huellas digitales y sus características principales
  • Investigación sobre el mejoramiento en la calidad de huellas digitales
  • Diagrama del sistema
  • Recolección de BD de imágenes para entrenar neurona
  • Implementación de entrada del sistema (imagen a binario)
  • Implementación de salida del sistema (coincidencia de personas)
  • Análisis de componentes principales
  • Reducción y mejoramiento de archivo en huella digital
  • Identificación/coincidencia de persona al ingresar una huella digital


Para el reporte final mencionare algunas tareas en cuanto a la realización del proyecto, que es la implementación de una red neuronal para la identificación de personas en un proceso de elecciones.

Lo que se buscaba para esta segunda entrega era la mejora en cuanto a la calidad del archivo generado por las ves anteriores.

Mejoramiento de archivos binarios

Después de la recolección de las huellas digitales. Se esta generando el archivo de forma que toda la imagen era cambiada a pixeles, para después nuestro programa en python colocaba una representación de esos pixeles en un archivo de texto. Si se encontraba un pixel de color blanco el programa escribía un número 1, en caso de que se encontrara un pixel negro o de cualquier otra escala de grises se podía un 0.

Archivo generado 

Originalmente, al crear esto el archivo podría contener grandes espacios de color blanco, es decir, unos en las orillas ya que varias imágenes contenían espacios en blanco a los lados. Aplicando la reducción se lograron eliminar esas filas para un mejor y más veloz procesamiento de los archivos al momento de comparar.

Mejoramiento de archivo
Con esto mejoramos el procesamiento y la velocidad de los archivos.

Identificación de Persona



Para esta parte lo primero que realice fue hacer que se leyeran todos los archivos que existían y en base a esto saber si el archivo o huella desconocida saber si pertenecían a uno de ellos.
Por ejemplo, en esta parte te dice si todos los archivos .txt se encuentran en esa ubicación.


Abrir todos los archivos

Seguido de esto pudimos determinar y comprobar si el archivo desconocido es igual a alguno de estos archivos. Si es igual te dice que se encontró el archivo, abre cada uno de ellos y hace la comparación. Lee todo el archivo y hace la comprobación.


Te dice si es igual al desconocido
Por ultimo, podemos obtener el nombre del archivo que es igual, esto permite la identificación de la persona por medio del archivo binario generado gracias a la imagen de la huella digital. Esto lo obtenemos primero abriendo el archivo, compararlo con todos los abiertos y después selecciona el que es igual y regresa el nombre que tiene el archivo. Como lo es la identificación del sistema, es decir, cuando se lee una huella se identifica en la base de datos.


Identificación de la persona

Para concluir, observamos que si encuentra a la persona desde el archivo desconocido, que en el sistema real seria la persona que se identifica para votar o para entrar al sistema dependiendo sea el caso.

sábado, 17 de noviembre de 2012

Tarea 12 - CTL

Introducción

Computación árbol lógico (CTL) es una derivación lógica de tiempo, lo que significa que su modelo de tiempo es una estructura en forma de árbol en la que el futuro no está determinado, hay diferentes caminos en el futuro, cualquiera de las cuales podría ser un camino real que se realiza. Se utiliza en la verificación formal de artefactos de software o hardware, típicamente por aplicaciones de software conocidas como fichas del modelo que determinan si un artefacto dado posee seguridad o propiedades de vida de la conexión. Por ejemplo, CTL puede especificar que cuando alguna condición inicial es satisfecha (por ejemplo, todas las variables de programa son los coches positivos o no en un straddle carretera de dos carriles), entonces todas las ejecuciones posibles de un programa evitar una condición indeseable (por ejemplo, la división de un número por cero o dos coches chocan en una autopista). En este ejemplo, la propiedad de seguridad podría ser verificado por un verificador de modelo que explora todas las posibles transiciones de estados del programa que satisfacen la condición inicial y asegura que todas las ejecuciones éstos se ajustan a la propiedad. Lógica Computación árbol pertenece a una clase de lógicas temporales que incluyen la lógica lineal temporal (LTL). Aunque hay propiedades expresable en sólo uno de CTL y LTL, todas las propiedades expresables en cualquiera de lógica también se puede expresar en * CTL.


Problema

2.14. Along all paths, p alternates between being true and being false in each successive state

Lo significa: 

2.14. A lo largo de todos los caminos, p alterna entre ser verdadero o ser falso en cada estado sucesivo.


Respuesta

Vamos a usar estos operadores:

A = = Siempre
U = Hasta
X = o = Siguiente





Bibliografía

Libro: Principles of Model Cheking. Cap. 6 Computation Tree Logical
http://en.wikipedia.org/wiki/Computation_tree_logic


jueves, 15 de noviembre de 2012

Laboratorio 6 - Automatización

Introducción

Asignación de polos.
Un método de diseño conocido comúnmente como técnica de ubicación o de asignación de polos. Se supone que todas las variables de estado son medibles y que están disponibles para su realimentación.

Diseño mediante asignación de polos.

En el enfoque convencional del diseño de un sistema de control con una sola entrada y una sola salida, se diseña un controlador (compensador) tal que los polos dominantes en lazo cerrado tengan una razón de amortiguamiento y una frecuencia natural no amortiguada w deseada. En este método, el orden del sistema aumenta en 1 o 2, a menos que ocurra una cancelación de polos.

Observadores de estado. Condición necesaria y suficiente para la observación del estado  

Una condición necesaria y suficiente para la determinación de la matriz de ganancias del observador K para los valores propios deseados de A-K*C es que el dual del sistema original sea de estado completamente controlable. La condición de controlabilidad completa del estado para este sistema dual es que el rango de sea n.
Ésta es la condición para una observabilidad completa del sistema original definido. Esto significa que una condición necesaria y suficiente para la observación del estado del sistema definido que es el sistema sea completamente observable.



Una ves que se han seleccionado los valores propios deseados (o la ecuación característica deseada), se puede diseñar el observador de estado de orden completo, si la planta es completamente observable. Los valores propios deseados de la ecuación características se deberían escoger de forma que el observador de estado responda al menos de dos a cinco veces más rápido que el sistema en lazo cerrado considerado.


Problema

B.12.11 
Página. 949

Sea el proceso definido por:

                                                               

                                                                     



donde:

                               



Diseñe un orden de estado en orden completo, suponiendo que los polos deseados por el observador son:


Respuesta

El problema de asignación de polos se solucionan fácilmente con el comando acker o place . Yo en este caso utilizó el de place para el calculo de la matriz de ganancias de realimentación k.

Para esto:
x = vector de estado  (n-vector)
y = señal de salida
u = señal de control
A = n x n constante de matriz
B = n x 1 constante de matriz
C = 1 x n constante de matriz
                               
Esto significa que la señal de control se determina mediante un estado instantáneo. Este esquema se determina realimentación del estado.

Polos:

Determinando la matriz de ganancia de realimentación del estado K con octave.
Aquí esta el programa que utilizo para generar la matriz K. Yo utilice la función place porque en octave no se puede la función acker.



Obtenemos: 35.0000, 394.0000, 1285.0000


Ec. para el observador de estado de orden completo

Los valores propios deseados de la ecuación característica se deberían escoger de forma que el observador de estado responda al menos de dos a cinco veces más rápido que el sistema en lazo cerrado considerado.
Se observa que hasta ahora se ha puesto que las matrices A, B y C en el observador son exactamente iguales a las de la planta física.

De acuerdo a la ecuación para el observador de estado de orden completo determinamos:



Sustituyendo todas las variables obtenemos el resultado final:

Ec. para el observador sustituido

Código



Bibliografía

Libro Ingeniería de Control Moderna 
http://octave.sourceforge.net/control/function/place.html
http://rosettacode.org/wiki/Ackermann_function#Octave

martes, 13 de noviembre de 2012

Reporte Grupal

Reporte grupal:

Liga

Sergio - Daniel - Roberto

Redes Neuronales - Extra

Tema: Locating protein-coding regions in human DNA sequences by a multiple sensor-neural network approach

Por: Edward C. Uberbacher & Richard J. Mural
University of Tennessee-Oak
Introducción
Muchos de los análisis que se hacen en la medicina necesitan cientos de regiones contables por tan solo un pequeño porcentaje de alguna proteína gen, etc. Para la identificación dentro de una muestra de ADN no caracterizada es decir no conocida, es una tarea difícil y es hoy en día donde se centran muchos esfuerzos de la investigación.

En esta investigación se describe un método de calculo fiable para la localización de codificación de la proteína de genes en la secuencia de un ADN no conocido.
Este concepto combina un conjunto de algoritmos de sensores y una red neuronal para localizar las regiones codificantes.

Este módulo muestra un método con aplicabilidad general a los problemas de reconocimiento de patrones de secuencia y está disponible para los esfuerzos de investigación actuales.

Aplicando la Red Neuronal en la medicina 

Los principales esfuerzos de cumputacionales en la medicina, esta dirigido hacia la identificación y localización de los genes de enfermedades humanas. Por lo cual se necesita acelerar el proceso de la gran cantidad de datos de secuencias que se generan por cada ADN analizado y para que una cura sea aprobada se necesita procesar muchas pruebas de ADN.

Algo que menciona el pdf es sobre que es fácil y existen muchos algoritmos que son predictoras de las regiones de ADN, pero no son suficientemente robustos para ser útiles para la búsqueda de genes en datos anónimos en una secuencia de ADN de eucariotas superiores. 

¿Cómo se hace?

-Reconocimiento de patrones en una secuencia de datos en el ADN como un problema análogo del medio ambiente.
-Múltiples algoritmos. 
- Se produce un entorno de acuerdo a sensores, como cámaras, lacer, etc
-Integración optima de las salidas desde los sensores.
-Aprendizaje de la maquina
-Para integrar las salidas del sensor y para predecir la ubicación de los las regiones de codificación.

Después de un procedimiento de entrenamiento adecuado, la neural red aprende a interpretar las salidas de los sensores y, cuando se le proporcionan los datos del sensor de una secuencia de prueba, puede tomar decisiones precisas sobre la ubicación de la codificación del ADN.

Los diversos tipos de información de entrada están integrados, de una manera no sesgada, por algoritmos de aprendizaje de máquina (es decir, la red neuronal de entrenamiento).



Representación esquematica de la red neuronal
En ese diagrama podemos ver que cada posición de prueba en una secuencia ADN los algoritmos de sensores que son siete son en texto. Son evaluados en base 99 y las salidas de los sensores proporciona a la red neuronal para la evaluación. La salida de la red neuronal representa la salida integrado de la CRM y refleja la probabilidad de que la posición debe estar en una codificación.

Caracteristicas

Una red neuronal de propagación hacia atrás se construyo para integrar la salida de los algoritmos de sensores siete. esta red consiste 7 nodos de entrada, dos capas ocultas de 14 y 5 nodos, y un nodo de salida. De entrada a la red neuronal para entrenamiento y equipos de prueba consiste en un vector que contiene el valores de los algoritmos de sensores siete  calculado para las posiciones a intervalos de 10 bases a lo largo de las secuencias.

Entrenamiento

Para el entrenamiento la red también está provista de la valor de salida correcto (1 para la codificación, 0 para no codificante) para cada uno posición. Durante el aprendizaje de la red compara su estimación del potencial de codificación en la posición actual con la adecuada salida de valor para la posición actual y utiliza esta información para reajustar sus pesos de parámetros internos. Esta evaluación continua del error de salida permite que la red optimizar su rendimiento.
El papel de la red neural en esta solicitud es claramente diferente de aplicaciones en las redes han sido entrenado para examinar los datos de secuencia directa.



Conclusión

Segun el pdf esta red neuronal tiene una fiabilidad de un 95% . Presumiblemente, las Secuencias con alto potencial de des codificación also Tendra Una Alta probabilidad de servicios Únicos (no repetitivas) Secuencias, what HACE aires Candidatos párrafo Sitios etiquetados de la Secuencia. En su forma actual, el CRM representación Una Poderosa Herramienta Que debería Ayudar en gran Medida de los esfuerzos Experimentales localizar importantes Humanos genes.

domingo, 11 de noviembre de 2012

Tarea 11 - Lógica temporal lineal LTL

Introducción 

Reachability and safety properties. Un estado se llama alcanzable si existe un camino cálculo de un estado inicial que conduce a este estado. La accesibilidad es una de las propiedades más importantes de los sistemas de transición en relación con las propiedades de seguridad. Supongamos que inseguro es una fórmula que expresa una propiedad indeseable de un sistema de transición. Estados cumplan inseguro se llaman inseguro o malo. A continuación, el sistema es seguro si no se puede llegar a un estado en el que tiene poco seguras. Naturalmente, nos gustaría saber si el sistema es seguro.

Mutual exclusion. La exclusión mutua se formula generalmente como una propiedad de sistemas concurrentes. Se produce cuando dos o más procesos no están autorizados a entrar en la misma sección crítica de un sistema concurrente simultáneamente.

Deadlock. Hablando muy en general, un programa concurrente está en una situación de bloqueo, cuando estado del terminal no se alcanza, sin embargo, ninguna parte del programa es capaz de proceder. Una transición sistema o sistema de transición se dice que es libre de punto muerto si no cálculo en que conduce a una callejón sin salida.

Termination and finiteness. Incluso si no tenemos una noción de un estado terminal, se puede definir los estados terminales como aquellas de las que no es posible transición. Un sistema de transición o sistema de transición es llamada de terminación, si cada cálculo en lo lleva a un estado terminal. Terminación de un sistema de transición es equivalente a la finitud de todas las rutas de cálculo, por lo que "Konig’s
Lemma" es equivalente a la finitud de cada árbol de cómputo a partir de un estado inicial. pero una camino cálculo es finito si y sólo si contiene un estado de estancamiento.

Fairness. Los cálculos arbitrarios de un sistema de transición, sabemos que algunos de estos cálculos son imposibles. Esto puede formularse de la siguiente manera: en cada camino cálculo, la operación de recarga se produce número infinito de veces. Este tipo de restricciones impuestas en el sistema: el sistema debe pasar de vez en vez a través de un estado que satisface alguna propiedad, se denomina restricción de la justicia y la equidad cálculos que cumplan las restricciones son llamados justos.

Responsiveness. A menudo es el caso en los sistemas concurrentes que un proceso envía peticiones que tienen que ser reconocidos (o respondió a) por otros procesos. Para tales sistemas que estamos interesados ​​en la propiedad de respuesta: si cada solicitud es finalmente reconocido.

Problema

Para esta semana toco elegir uno de los problemas del pdf y si contenía incisos entonces elegías uno. En mi caso mi problema tenia 4 incisos.
EXERCISE 14.7 Consider a transition system with the following state transition graph.



Which of the following formulas are true on all paths?

Para mi caso elegí el 2) pero también como algo extra hice los demás para comprobarlos también.


Explain your answer.

Respuesta

14.3 Expressing Properties of Transition Systems in LTL


Tenemos operadores temporales para cada paréntesis. 
Basándonos en los significados de cada símbolo de acuerdo a la tabla, vamos a obtener un significado de cada uno de los paréntesis: 

1) Tipo: Reachability and safety properties



Nos dice que "siempre x=0 o y=0"
Si vemos todos los caminos se cumplen en 2 casos, en el de arriba donde y = 0 y en el de la derecha donde x=0. Y en el de la izquierda nos dice que x=0 y y=0, en este caso no se cumple y que nos dice que "x=0 y y=0". Nosotros solo buscábamos uno u otro.


2) Tipo: Reachability and safety properties



Nos dice que "siempre si x = 1 entonces y = 1"
Si vemos los caminos solamente en el de arriba x=1 y no se cumple que y=1, para los demás tenemos que x=0, entonces ya y no tendría que ser 1.
Concluimos que para el único caso que x=1, y no cumple la condición.

3) Tipo: Fairness
En este tipo se habla sobre los casos infinitos, se dice que es difícil encontrar estos casos ya que se requiere que un evento ocurra casi siempre lo que dejaría de hacerlos infinitos.
Cuando tenemos los dos símbolos juntos de "siempre" y "eventualmente"  expresa que los función tiene caminos y es infinito.

En este caso decimos que "Los caminos son infinitos cuando y = 0".
Si observamos los el camino empezando desde arriba podemos ver que se pueden seguir 2 camios, uno que lleva al circulo de la derecha y otro al de la izquierda, en este caso seguimos el camino de la izquierda donde y=0 cumpliendo con la condición. Si seguimos siempre esos mismos caminos tenemos que en todos los casos se cumple y=0.



4) Tipo: Fairness
En este caso decimos que "Los caminos son infinitos cuando y=1"
Si vemos nuestro diagrama solamente en el circulo de la derecha tenemos que y=1, por lo tanto los demás caminos ya no cumplen con esta sentencia.

Bibliografía  

http://www.tcs.hut.fi/Studies/T-79.231/2003/slides5.pdf
http://www.voronkov.com/lics_doc.cgi?what=chapter&n=14

martes, 6 de noviembre de 2012

Resumen Auto

Tema: Humanoid Motion Planning for Dynamic Tasks

Liga: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1573536

Trata sobre el diseño del robot de forma humanoide y de como se planea hacerlo para realizar tareas en el hogar. El objetivo es automatizarlo para que no golpe las cosas y sepa por donde caminar.

Principales tareas realizadas:
Para esto,  lo primero que usa es geométrica y planificador de movimiento cinemático calcula en primer lugar libre de colisiones caminos para el robot humanoide.


El generador de patrón dinámico proporciona movimiento humanoide dinámicamente factible incluyendo tanto la locomoción y la ejecución de la tarea, como el transporte o el objeto manipulación.
Se genera el movimiento dinamico para que no cause una colisión, y se adapta a las variaciones de las distintas tareas.

Materia a aplicada: Me parece interesante que se utiliza la simulación para probar antes de elaborar, justo lo que se trato en la materia de simulación de sistemas dinámicos.

Se espera que este sea el siguiente paso en la generación de robots de forma humanoide dándole como tareas principales ayudar a las tareas del hogar, hasta que pronto substituyan a los humanos en estas tareas.

La tarea mas compleja a la que se enfrentan en esta investigación es la manipulación de objetos y la interacción con el medio ambiente. Para esto utilizan de la cinemática y geométricos técnicas de planificación de movimiento han estado haciendo eso progreso notable en los últimos años, especialmente probabilístico
difusión tales como la rápida exploración de los árboles-aleatorios

Todo esto debe ser tomado en cuenta a la hora de automatizarlo para que se ajuste y no choque con los objetos o se obstruya el mismo robot con ellos. También aplicaron una larga barra que el robot lleva en sus manos para que simule las tareas del hogar que va hacer, por lo tanto no solamente necesita evitar los muebles el mismo si no también los objetos que va a llevar o traer.


Conclusiones

Se a nivelo el eje del robot para poder evitar los obstáculos, por ejemplo había mucho problema en los tobillos pero gracias a la simulación se pudo evitar este problema.




Tarea 10 - Expresión w-regular


Para esta semana a partir de los capítulos 3 y 4 del líbro tenemos que hacer lo siguiente.


Primero definimos lo que es w-autómata
En la teoría de autómatas, una rama de la informática teórica, un ω autómata-(o corriente autómata) es una variación del autómata finito que se ejecuta en cadenas infinitas, y no finito, como entrada.
Q es un conjunto finito . Los elementos de Q son llamados los estados.
Σ es un conjunto finito llamado el alfabeto de la A.
δ: Q × Σ → Q es una función, llamada función de transición de A.
q 0 es un elemento de Q, llamado el estado inicial.

Expresiones Regulares
Una expresión regular, a menudo llamada también patrón, es una expresión que describe un conjunto de cadenas sin enumerar sus elementos. La mayoría de las formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el cual se define el lenguaje.


Inventen una expresión ω-regular con por lo menos dos símbolos y por lo menos dos operadores.

Tenemos nuestro alfabeto:



Dibujen el NBA (e) que le corresponde. 

La expresión que definí es la siguiente:

Esta es la representación autómata de la expresión:


Bibliografía:

Libro: Principles of Model Checking
http://en.wikipedia.org/wiki/%CE%A9-automaton
http://www.tcs.tifr.res.in/~pandya/grad/aut06/lect4.pdf
http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular