miércoles, 21 de noviembre de 2012


Para la entrada de laboratorio número 7 se pidió contestar un problema del libro sistemas de control moderno de Dorf Bishop.

P9.25 Un sistema en lazo cerrado tiene una función de transferencia de lazo



(a)Determinar la ganancia K de forma que el margen de fase sea de 60° cuando T=0.2 (b) Dibujar el margen de fase frete al tiempo de retardo T para la K calculada en el apartado(a).
Cuando el margen de fase es 60° y su T=0.2, la ganancia K es igual a K =2.61.

El diagrama de bode para 

  

cuando la K=2.61


El Margen de Ganancia es la cantidad de ganancia en dB que se puede añadir al lazo del sistema antes de que el mismo se vuelva inestable. Se calcula de la siguiente manera, se toma la frecuencia a la que el ángulo tiene un valor de –180º y a esa misma frecuencia la ganancia me da un valor  en dB, pues ese valor cambiado de signo es el margen de ganancia., 

El margen de fase es la cantidad de retardo puro que se puede añadir al lazo, (de un sistema estable), antes de que el mismo se vuelva inestable.Para el margen de fase, se calcula de la siguiente manera, se toma la frecuencia a la que la ganancia es de 0 dB,   a esa mima frecuencia se toma el ángulo, este ángulo sumado a 180º nos dará el margen de fase .





martes, 20 de noviembre de 2012

Reporte Automatización

Presentación
El proyecto que realizamos , es un carrito seguidor de línea.
El carrito se pondrá en una superficie con una pista marcada, y este deberá de seguirlo.  Aquí esta la foto de la pista que se diseño. 
Una de sus aplicaciones mas importantes, es para la transportación de materias en empresas maquiladoras, industria de manufactura.



Lo que hacen es que ponen un robot para que lleve cosas de un lugar a otro, siguiendo una línea.

Justificacion

Existen distintos tipos de estos tipos de carro por ejemplo. Unos donde la línea es representada por un cable energizado, y el robot lo que hace es detectar el campo electromagnético emitido por la corriente que circula en el cable, y así irlo siguiendo.


Herramientas utilizadas para ingresar el código al lego.
—El proceso fue echo en Windows y se instalo LeJOS.
—Primeramente se instala Java
—Puesto que LeJOS se basa en Java, lo primero que necesitaremos descargarnos es el JDK (Java Development Kit). Este lo podemos encontrar en la siguiente dirección: Descargas de Java Sun y modificar la variable de entorno Path.
—Ahora descargas LeJOS se elije Win32 leJOS NXJ . Y la pones en Mis documentos. Y ya después solo en siguiente.
—Ahora se instala Eclipse.

Y ya por ultimo se modifica en External Tools para poder compilar un programa de estos.

Estructura básica de el carrito
Sensores: Un rastreador detecta la línea a seguir por medio de sensores. Hay muchos tipos de sensores que se pueden usar para este fin; sin embargo, por razones de costos y practicidad los más comunes son los sensores infrarrojos (IR), que normalmente constan de un LED infrarrojo y un fototransistor.
Motores: El robot se mueve utilizando motores. Dependiendo del tamaño, el peso, la precisión del motor, entre otros factores, éstos pueden ser de varias clases: motores de corriente continua, motores paso a paso o servomotores.
Ruedas: Las ruedas del robot son movidas por los motores. Normalmente se usan ruedas de materiales anti-deslizantes para evitar fallas de tracción. Su tamaño es otro factor a tener en cuenta a la hora de armar el robot.
Fuente de energía: El robot obtiene la energía que necesita para su funcionamiento de baterías o de una fuente de corriente alterna, siendo esta última menos utilizada debido a que le resta independencia al robot.
Tarjeta de control: La toma de decisiones y el control de los motores están generalmente a cargo de un microcontrolador. La tarjeta de control contiene dicho elemento, junto a otros componentes electrónicos básicos que requiere el microcontrolador para funcionar.

Armado del carrito


MOTORES Y SENSORES
El modelo NXT usa servo motores, los cuales permiten la detección de giros de la rueda, indicando los giros completos o medios giros, que es controlado por el software. Estos motores se conectan al bloque programable a través de los puertos A, B y C.

Ahora bien, los servos además de incluir un motor eléctrico convencional también incluyen un sensor de posición. Este sensor nos permite saber a que velocidad se está moviendo nuestro motor, y corregirla si es necesario. Podemos saber exactamente cuantos grados a girado el motor en todo momento. Con esto tenemos un control muy preciso del movimiento de nuestro robot.


—Sensor de luz : Toma una muestra de luz mediante un bloque modificado que un extremo trae un conductor eléctrico y por el otro una cámara oscura que capta las luces que captan luces entre los rangos de 0,6 a 760 lux. Este valor lo considera como un porcentaje, el cual es procesado por el bloque lógico, obteniendo un porcentaje aproximado de luminosidad.

El bloque RCX calcula con la fórmula para determinar el porcentaje obtenido por la lectura de la luz, tomando una muestra cada 2,9 ms, siendo leído en 100 μs. Este sensor capta grados de luminosidad, no es capaz de distinguir colores, sólo captando la existencia el blanco, negro y los tonos de grises que corresponden a los distintos porcentajes de luz existentes en el medio


Funciones
CODIGO



Forma canonica
En base a nuestra funcion de transferencia obtendremos


PISTA
Superficie 1 m de largo x 0.5 m de ancho, la pista mide aprox 2.90 m

PRUEBAS


 CARRITO TERMINADO
El tiempo aproximado de recorrido es de 13-14 segundos



DEMO


video



Reporte

Este es el reporte final de el proyecto, se trato de ua red neuronal que  funciona de interfaz para controlar una red neuronal  y utilizando u sensor como entrada .

La red neuronal por medio de electrodos que se colocan en el antebrazo de una persona para que esta pueda determinar los movimientos que quiere realizar. Los datos que manda el cerebro en forma de frecuecias son interceptados en el antebraso y de esa maneracontrola el brazo robotico. Surgieron unos problemas con la aduana y los electrodos ya que lo tomaron como instrumeto medico y se utilizo un EGG.

El modo en que funciona :

Toma entradas del EGG y se van al preprocesamiento , despues se someten a un filtrado para tomar e ignorar los valores que no nos importan. Una vez tomados los datos que de importancia se colocan dentro de una lista que es la que entra a la red neuronal.

Se trabajo con un brazo robótica que se adquirió en Steren y viene un paquete de componentes electrónicos para armar un brazo mecánico que puede lograr movimientos de hasta de 270° y su pinza puede levantar objetos ligeros hasta de 100 gramos.
Dentro de los movimientos, el robot puede abrir o cerrar la tenaza, bajar o subir el brazo y moverlo hacia la derecha o izquierda, todo esto a través del control remoto integrado.


El brazo funciona con 4 pilas tipo “D”, haciéndolo portátil.

El brazo se movera a la derecha o izquierda dependiendo el resultado que mande la red neuronal en su salida ya sea 1 o 0 respectivamente.


El brazo robótico tiene cinco motores de directa, y para utilizarlo se desarmao el dispositivo y controlamos utilizando un Arduino cada motor por separado para mapear cada uno con una salida de nuestra red neuronal y solo le dimos un alcanse de girdo de 180 grados.


Se utilizo Arduino para controlar cada motor de la neurona y también la idea es utilizarlo como interfaz de las señales recibidas del sensor y también para las señales mandadas al brazo robótico.

En este proyecto se realizaron varios perceptrones uno en el que estuve trabajando fue en un perceptron que pudiera realizar una operacion and, con una cantidad de entradas indefinidas.

El Perceptron es un clasificador y que es uno del tipo más simple de red neuronal artificial . Además es un tipo de red que necesita conocer los valores esperados para cada una de las entradas presentadas; su comportamiento está definido por pares de esta forma:
Ronda: 10
[Entradas]-> (Salida, Error)
[0,0,0]-> (0, 0)
[0,0,1]-> (0, 0)
[0,1,0]-> (0, 0)
[0,1,1]-> (0, 0)
[1,0,0]-> (0, 0)
[1,0,1]-> (0, 0)
[1,1,0]-> (0, 0)
[1,1,1]-> (1, 0)
Porcentaje de error:  0.0
Ronda: 20
[Entradas]-> (Salida, Error)
[0,0,0]-> (0, 0)
[0,0,1]-> (0, 0)
[0,1,0]-> (0, 0)
[0,1,1]-> (0, 0)
[1,0,0]-> (0, 0)
[1,0,1]-> (0, 0)
[1,1,0]-> (0, 0)
[1,1,1]-> (1, 0)
Porcentaje de error:  0.0
Ronda: 30
[Entradas]-> (Salida, Error)
[0,0,0]-> (0, 0)
[0,0,1]-> (0, 0)
[0,1,0]-> (0, 0)
[0,1,1]-> (0, 0)
[1,0,0]-> (0, 0)
[1,0,1]-> (0, 0)
[1,1,0]-> (0, 0)
[1,1,1]-> (1, 0)
Porcentaje de error:  0.0
Ronda: 40
[Entradas]-> (Salida, Error)
[0,0,0]-> (0, 0)
[0,0,1]-> (0, 0)
[0,1,0]-> (0, 0)
[0,1,1]-> (0, 0)
[1,0,0]-> (0, 0)
[1,0,1]-> (0, 0)
[1,1,0]-> (0, 0)
[1,1,1]-> (1, 0)
Porcentaje de error:  0.0
Ronda: 50
[Entradas]-> (Salida, Error)
[0,0,0]-> (0, 0)
[0,0,1]-> (0, 0)
[0,1,0]-> (0, 0)
[0,1,1]-> (0, 0)
[1,0,0]-> (0, 0)
[1,0,1]-> (0, 0)
[1,1,0]-> (0, 0)
[1,1,1]-> (1, 0)
Porcentaje de error:  0.0

Cuando pj es aplicado a la red, la salida de la red es comparada con el valor esperado tj.


Se podria trabajar mas en el perceptron para mejorarlo

Codigo del perceptron


El brazo mecanico se mueve con un codigo echo en arduino se le dio un umbral para que no se moviera ma de lo debido, y las salidas se configuraron como puertos que dan corriente a los motores.

>


Links codigo




perceptron            https://gist.github.com/4117900
brazo mecanico     https://gist.github.com/4117995
preprocesamiento  https://gist.github.com/4118313
repositorio https://github.com/saulG/redesNeuronales

jueves, 15 de noviembre de 2012

Laboratorio 6

Para esta entrada de laboratorio de automatización se eligió un problema del libro y se tenía que contestar.


Yo elegí el problema 11.2



La representación de la función de transferencia de este sistema es.



Entonces, la forma diagonal canónica del sistema es esta.


martes, 13 de noviembre de 2012

Reporte Grupal de Automatizacion

1535212 Roberto  Valenzuela


liga del reporte

http://sergio-hdz.blogspot.mx/2012/11/reporte-grupal.html

Aplicaciones de las redes neuronales

RECONOCIMIENTO AUTOMÁTICO DE CARACTERES MANUSCRITOS Y MARCAS, ORIENTADO AL PROCESADO DE ENCUESTAS



Las redes neuronales tienen muchos tipos de aplicaciones distintas una de ellas es en reconocimiento automático de caracteres manuscritos y marcas. aplicaciones.

Esta entrada es para puntos extras , se busco en scholar google , una aplicación de ellas.
La sociedad actual produce cantidades crecientes de información distribuidos en imágenes,documentos impresos, gráficas y archivos de audio y vídeo impulsando el desarrollo de sistemas de adquisición de información cada vez más complejos y de mayor alcance en servicios.

El procesamiento digital de imágenes ha adquirido en estos años recientes un papel importante en las tecnologías de la información y el computo , y en estos tiempos es la base de una creciente variedad de aplicaciones que incluyen diagnosis médica, percepción remota, exploración espacial, visión por computadora, reconocimiento de patrones, etc.

Se diseño una aplicacion software para reconocimiento de marcas y caracteres mauscritos basada en un procesamiento digital de imagenes y redes neuronales, aplicable a la toma del contenido de una encuesta.

Este proceso tiene grades vetajas como evitar la digitacion manual necesaria para el archivado de grandes cantidades de documentos.

ETAPAS DEL PROCESO IMPLEMENTADO

En general, se puede considerar que el proceso implementado consta de dos bloques principales:

- Captura de documentos.
- Captura de datos.

Aqui se muestra el diagrama de bloques





En este proceso empiesa con la adquisición de las imágenes.

Mediante un scanner se toma la imagen
El algoritmo de reconocimiento de marcas(óvalos) y caracteres se basa en el tratamiento digital de la imagen
en niveles de grises de 8 bits, ya que éste formato es el más apropiado puesto que no requiere gran capacidad de almacenaje y la información que brinda es suficiente para ejecutar tareas de reconocimiento.

Despues sigue con el reconocimiento de marcas

El algoritmo parte de la toma de los parámetros definidos en una hoja de calibración los cuales se aplican
para las demás hojas de la encuesta. El algoritmo de identificación de marcas (óvalos) consta
básicamente de dos etapas:

La primera, lleva a cabo la segmentación en las zonas de respuestas y la segunda, identifica las marcas con base en un porcentaje de pixeles que se encuentren por debajo de un umbral especifico.

Se desarrollan dos métodos para el reconocimiento de marcas (óvalos).

1. Método manual.
2. Método automático.

1) Método Manual. Se ajustan los parámetros manualmente y el desarrollo de la calibración, depende del usuario.

Los parámetros a ajustar son:

- Factor delta x (dx).
- Factor delta y (dy).
- Umbral.
- Porcentaje de referencia (Pr).

Una vez que se halla el Delta x, Delta y para los diferentes grupos en la hoja de calibración, las coordenadas de los centroides de cada celda permanecen fijas, y el tamaño de éstas, dependerán de los valores que
tome el factor dx y dy.

2) Método automático. Es un algoritmo que garantiza y busca el mejor ajuste de los parámetros para la
identificación de marcas u óvalos. Este método se basa en el estudio de los pixeles encendidos en las celdas activas y celdas no activas.

El método automático realiza una búsqueda secuencial de  los parámetros (Umbral, Pr, Factor dx, Factor dy), de manera que la diferencia entre el mínimo porcentaje de pixeles encendidos en las celdas activas y el máximo en las inactivas sea máxima y superior al 8%.

Y despues el Reconocimiento de Caracteres


Las etapas implementadas para llevar a cabo el reconocimiento de los caracteres.

1) Preprocesado de la imagen.
Esta etapa requiere las siguientes fases:

Binarización de la imagen.
Depuración de la imagen binarizada.
Ensanchamiento de la imagen depurada.
Extracción del objeto de interés en la imagen ensanchada.
Extracción del contorno del objeto de interés.

2) Representación y descripción.

Los descriptores con mejor comportamiento se describen a continuación.
Firma del Contorno. Es un vector muestreado de la distancia normalizada desde el centroide a cada uno de
los puntos del contorno del carácter .




Eeste procedimiento secciona la imagen en nueve zonas y toma dos descriptores por zona; el primero es la
densidad relativa de píxeles (d1= píxeles del caracter en la zona / píxeles totales), mientras el segundo indica la orientación y ubicación relativa del grupo de píxeles del caracter en la zona. La figura ilustra la implementación de éste método, donde los primeros 9 descriptores corresponden a las densidades y los demás corresponden a las orientaciones por zona.



Para la representación de la imagen de los caracteres se tomó un vector de 42 elementos
conformado por:

-16 Muestras de la firma.

-18 Descriptores de las zonas de la imagen.

- 8 Coeficientes extraídos de los descriptores de fourier .

3) Clasificación de descriptores

Como se mencionó anteriormente, esta etapa se implementó con REDES NEURONALES .

Selección de las Redes Finales

Todas las redes tienen 42 neuronas en la capa de entrada, se entrenaron con 19 tipos de caracteres y luego se validaron con otros 11 tipos. La tabla muestra la arquitectura de las redes seleccionadas




Generación del Archivo de Resultados


Los resultados del procesado de las encuestas se almacenan en un archivo de texto plano. En el caso del
reconocimiento de marcas, la primera columna indica el número de la hoja (NE), la segunda el número de la
pregunta (NP) mientras que de la tercera columna en adelante (letras A, B, C, ..) se indica con uno, la respuesta seleccionada. Para el reconocimiento de caracteres cada fila del archivo corresponde a un campo de la hoja de encuesta .

Referencias  pdf sacado scholar.google.com.mx

martes, 6 de noviembre de 2012

Robotic Assembly of vehicle headliners

Se relaciona con la automatizcion y control ya que el armado de el vehiculo tiene que estar sistematizacion y la manera en que se controla el avanse de el automovil , la pieza que sigue en colocar asi como el tiempo y la posicion donde debera ser colocada.


Este invento se relaciona con el armado mecanizado de un vehiculo y particularmente en el metodo  de usar un robot para instalar el headliner en el cuerpo del vehiculo  y la configuracion del cuerpo del vehiculo , el material y el color como la configuracion de el headliner y son combinados selectivamente cuando se arma.

El armado robotico parece la mejor respuesta pero con la la amplia seleccion de cuerpos de vehiculos y sus headliners con su distintos requerimientos  de instalacion, normalmente se requeriria un numero de robots dedicados para las varias instalaciones de ensamblaje o posiblemente un robot que realize varias tareas .

La forma en que trabaja este invento automatizado es que por la linea de armado el vehiculo va avansando y con el metodo robotizado es elejido el color de el headliner asi como el tamaño necesario que requiere el vehiculo.

Expresion

Esta es mi expresion

L = {x Î {0, 1}* x no contiene ‘00’}
(0 + 1)* 00 (0 + 1)*® Expresión regular del L que contiene ‘00’
(1 + 01)* (0 + l) ® Expresión regular del L que no contiene ‘00’
Los estados 1 y 4 se pueden unir en uno solo.

Se pueden suprimir las transiciones d  (3, 0) = 3 yd  (3, 1) = 3. La idea es que, una vez que M cae en el estado 3, la palabra leída Ï L y, además, cualquier palabra formada por la concatenación la palabra leída, como prefijo, con cualquier x Î S*, como cola, tampoco pertenece a L. Entonces, ¿para qué seguir leyendo?. Una vez suprimidas las dos flechas de salida del estado 3, M queda así:



Qué hace M cuando lee una letra y está en 3?  Nada.

 Queda parado, bloqueado. La función de transición, para la situación de bloqueo, es d(3, 0) = Æ y d(3, 1) =  (subconjunto de estados vacío). Cuando se llega al estado 3 hay situación de bloqueo para " a Î S; S = {0, 1}.

Es un caso parecido al procesador de una computadora. Cuando el Registro de Instrucciones de la Unidad de Control alberga en la parte CO (Código de Orden) una configuración que no forma parte del repertorio de instrucciones, la máquina queda bloqueada al intentar ejecutar esa supuesta instrucción.

En este caso la parte del autómata suprimida no contiene estados. Pero puede darse el caso de supresión de algún estado. Veámoslo.

En este mismo ejemplo, se puede suprimir el estado 3 si convenimos en que d (2, 0) = Æ quiere decir que ir a ningún estado es rechazar la palabra leída, que es el mismo convenio adoptado anteriormente. En este caso se llega a una situación de bloqueo desde un estado de aceptación.

 

Referencias: http://www.prismmodelchecker.org/lectures/pmc/17-omega%20regular.pdf
http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r26805.PDF
http://www.prismmodelchecker.org/lectures/pmc/17-omega%20regular.pdf
http://www.liafa.jussieu.fr/~colcombe/Talks/talk_msob_seattle_14.8.06.pdf