martes, 28 de mayo de 2013

Puntos extras

Link al Póster



Compresión de imágenes

Para esta tarea de compresión de imágenes he decidido implementar una combinación del algoritmo de Huffman con un método de reducción de colores.

Reducción de colores

Para reducir los colores lo que se realizo es por parámetros definir el "paso" de los colores, por ejemplo de 20, lo primero que se hizo fue agarrar todas las posiciones de los píxeles que tienen un valor de color de 0 a 19, entonces se busca el valor de color que es mas frecuente y ese es el que se usa en vez de todos los demás entonces en vez de utilizar por ejemplo 0, 1, 2 o 3 en color, si el color 2 es el más frecuente en la figura ese es el que voy a utilizar.
Cuando el paso es 20, en vez de tener una lista con 255 colores posibles se tiene una con 13.

Huffman

Codificar
Después se escribió un archivo binario, que contenía todos los códigos de los píxeles en el ejemplo anterior que mencioné se puede decir que solo había 13 códigos posibles ya que elegimos un paso de 20, entonces el árbol no estaba muy extenso, si no se hubiera hecho lo de la reducción de colores se hubieran tenido 255 códigos posibles lo cual no es algo satisfactorio. Este fue el objetivo de la reducción de colores que no se tuviera un árbol  muy extenso.

Decodificar
Y se leyó el archivo binario, y teniendo el árbol fue fácil descomprimir, se realizó igual que la tarea pasada, se fueron buscando los colores que estuvieran en el diccionario para ir pintando los colores.

Resultados:

Tabla de frecuencias
Porcentaje de compresión

Tiempo

Código:



Las imágenes decodificadas:

Original

 Paso 20
Paso 60

Original

Paso 60

Conclusiones

Se puede observar que se obtienen mejores resultados cuando se utilizan menos valores RGB sin embargo se pierde más calidad en la imagen, pero el método puede tener aplicaciones cuando lo que se necesita es que el archivo pese poco y no se requiere una muy calidad de la imagen. También que el tiempo baja conforme se aumenta el paso para codificar.

domingo, 26 de mayo de 2013

Redes de Sensores en Producción Agrícola

Resumen para la clase de Redes de Telecominicaciones del artículo "Sensor Networks in Agricultural Production" escrito por Burrel, J,  Brooke, T. y Beckwith, R.

Introducción

La informática móvil nos proporciona algunas tecnologías dando oportunidades para explorar la computación fuera de un edificio es decir en el campo real. Con esta libertad viene una interminable variedad de ambientes que la comunidad de la investigación ha comenzado a explorar como sitios potenciales para el uso de la tecnología. Comúnmente se utiliza la tecnología en espacios de oficina y la movilidad como un punto de partida para exploraciones. Se persigue un enfoque diferente mirando a entornos de trabajo fuera de la oficina, incluyendo clínicas médicas, plantas de fabricación,y granjas.

En este artículo se realiza un estudio extenso de los trabajadores de viñedos del campo y sus prácticas de trabajo para evaluar el potencial de los sistemas de redes de sensores para ayudar a trabajo en este entorno. El principal propósito de este estudio es encontrar nuevas direcciones y nuevos temas de informática y que las redes sensoras podrían abordar en el diseño de tecnologías para apoyar a una gama más amplia de usuarios y actividades. Se espera que gran parte de lo que se descubra en esta investigación sea útil en el diseño de tecnologías para exteriores y otros tipos de agriculturas.

Imposible trabajar a distancia

Investigaciones previas de aplicaciones de redes sensoras se centran frecuentemente en relaciones entre personas dedicadas a desarrollar este tipo de tecnología de redes sensoras y biólogos e investigadores del ambiente estudiando hábitats y especies en peligro de extinción. Como un grupo potencial de usuarios los agricultores se distinguen por científicos que hacen investigación en su hábitat. Se centran en la producción en lugar de investigación, por lo que no están interesados en pasar tiempo en interpretar los datos. Quieren datos que muestren acción inmediata, algo que les ahorrará tiempo en lugar de crearles trabajo nacional. Además, los agricultores no están trabajando en entornos remotos y frágiles. Ellos interactuan estrechamente y físicamente con los cultivos, tocándolos y examinándolos día a día. Ellos saben que no se puede cultivar remotamente.

Estas dos diferencias principales en las actividades y las prioridades de trabajo entre agricultores y biólogos indican qué este estudio es importante en la discusión de aplicaciones de redes de sensores. Los requisitos de las aplicaciones de redes de sensores para investigadores biólogos no son los mismos que aquellos para los agricultores y otras personas que trabajan en los viñedos, granjas, o en otros sitios de la producción agrícola.
Además de buscar a una nueva categoría de los usuarios, este estudio también se distingue porque tiene un enfoque de investigación centrado en el hombre. Se utilizaron métodos etnográficos, incluyendo entrevistas, sitio excursiones, y el trabajo de observación para comprender a grandes rasgos las actividades y prioridades de los diversos roles de trabajo en un viñedo. Este riguroso enfoque para los desarrolladores de software podría describir como reunir los requisitos que son particularmente importantes porque se trabaja con actividades laborales muy diferentes a las que se esta acostumbrado.

Métodos etnograficos de investigación

Este grupo utiliza una búsqueda general de investigación que se centra en el estudio de las personas y las prácticas antes de la intervención de la tecnología que se diseñan y se ponen en lugar. Se emplean métodos etnográficos como una manera de recoger los datos sobre la personas que viven en ambientes que no se entiende así como sitios para el uso de tecnología. En este estudio particular de viñedos, se fijan en los roles de las personas a través de toda la cadena de valor de la producción de vino, con la creencia de que cada función representa una relación diferente con el viñedo y la bodega y diferentes necesidades de información y la interacción.

Se llevaron a cabo entrevistas semi estructuradas con los directores de viñedo, propietarios, bodegueros, gente de marketing del viñedo, y vendedores de vino. También se realizaron giras al sitio y se fotografiaron los viñedos, bodegas y tiendas de vino guiados por los entrevistados. Durante la temporada alta, algunos miembros del equipo se convirtió en observadores uniéndose a equipos de trabajo para ayudar en la cosecha para proteger las uvas de las aves migratorias. Después de estudiar la viña como un sitio potencial para el uso de la tecnología, se mudaron en una segunda fase del proyecto para desarrollar conceptos tecnológicos e implementar una red de sensores de trabajo. Se crearon una serie de diseños de interfaz y los conceptos de la tecnología de interacción para encajar en este ambiente de trabajo en la base de nuestros análisis de las observaciones y entrevistas.

Nuevos datos digitales

Las tecnologías de la computación ubicua, como los sistemas de redes de sensores dan nuevas capacidades de detección y recopilación de datos sobre el medio ambiente y nuevas maneras de manejar estos datos digitalmente. Se puede obtener información acerca de la temperatura, niveles de iluminación, la humedad, el movimiento y la presencia de personas, y muchos otros aspectos del medio ambiente. Sin embargo, estas capacidades plantean varias preguntas en el espacio de aplicación. ¿Qué datos se deben recoger y con qué frecuencia? ¿Qué nivel de interpretación computacional
se debe  aplicar a los datos? cómo se deben de presentar los datos al usuario? Las entrevistas y visitas de campo dieron los ejemplos concretos de las clases de aplicaciones de redes de sensores que serían
apropiados y beneficiosas en un entorno agrícola.

http://www.enterprise-europe-network.ec.europa.eu/src/request/pictures/smart1.jpg

Una combinación de tres factores proporciona algunas respuestas a estas preguntas: capacidades del equipos, del medio ambiente, las condiciones y necesidades de los usuarios. Las capacidades del equipo incluyen límites de duración de la batería, la potencia del procesador, tipos de sensores disponibles, el espacio de memoria, la precisión del sensor,y la frecuencia de transmisión de radio (RF) rango. Estos factores pueden hacer que ciertas aplicaciones potencialmente útiles sean lo mas realistas posibles.

Por ejemplo, algunos los investigadores han descrito la localización GPS como demasiado improbable de poder ser realista en una red de sensores. El entorno en sí también se da respuesta a preguntas acerca de la recopilación de datos, proporcionando variación dentro de un rango finito a lo largo de ciertos ejes medibles. En el trabajo de implementación, se descubrió una gran variabilidad en el viñedo durante el día, pero menos variaciones en la noche. Por esta razón, las lecturas del sensor podría tomarse con menos frecuencia durante horas de la noche. Del mismo modo, se descubre que la variabilidad de las condiciones a través de un viñedo podría ser de mayor preocupación.

Informática proactiva

La informática proactiva sugiere que los sistemas de diseño interpreten datos procesables y automáticamente. Ejemplos en este contexto de estudio son

  • Un viñedo equipado para rociar en el área apropiada cuando hay una riesgo de moho polvoriento
  • Un sistema de riego que de manera óptima de raciones de agua subterránea limitada
  • Una llamada automática a los trabajadores para venir y recoger las uvas cuando están maduras
Sin embargo, la automatización de la decisión de cosecha no sería ideal, principalmente porque esto es a menudo una subjetiva decisión social basado en información incompleta. Este es precisamente el tipo de problema de que los seres humanos son muy hábiles de resolver. El enólogo juega el papel principal en la decisión de cuándo cosechar y basa las decisiones sobre el tipo de vino de la viña que tiene la intención de crear. El director de Viñedos juega un papel en la decisión de la cosecha de vigilancia meteorológica para dar informes de la amenaza de lluvia.
La lluvia puede arruinar uvas maduras diluyendo el potente sabor de cada uva o incluso causar que exploten. Si la lluvia se puede preveer a corto plazo, se pueden recoger la las uvas antes de que estén perfectamente maduras.
Porque el clima es tan impredecible, la decisión de la cosecha siempre es una cuestión de criterio. Debido a que muchos viñedos están situados en la misma zona, también es el desafío de la programación de la tripulación local del trabajadores para cosechar las plantas, porque todos
viñedos próximos típicamente deciden recoger aproximadamente a la misma hora, hay la presión social y la competitividad entre los viñedos de la zona.

Puntos de contacto


El concepto de puntos de contacto con humanos puede ser una manera útil de pensar en la interacción con el usuario y con la computación ubicua del sistema. Se define un punto de contacto humano como un portal que conecta un individuo con la infraestructura del sistema subyacente, en este caso una red sensora ya sea mediante el suministro de representaciones de datos recogidos por la infraestructura o por colocar a la persona en el papel de proporcionar entrada. 

Interfaz por la dirección de la viña muestra un mapa de las uvas en la viña, parches con alto riesgo de polvo, el moho,y las áreas que han sido rociados con plaguicidas por el tractor.


Lo que es característico de sistemas de computación ubicua es que una sistema de un solo ser humano que puede tener múltiples puntos de contacto de varios tipos. En este estudio la gente en la industria vinícola y viñedos, se encontró que una variedad de puntos de contacto con humanos era importante para hacer frente a las diferentes funciones y responsabilidades de una población heterogénea de usuarios potenciales que incluidos los agrónomos, trabajadores temporales contratados, enólogos y viñedos propietarios.


Arquitectura del sistema

Este estudio también sugiere diferentes tipos de interfaces que podrían incorporarse a la perfección en la viña, incluyendo las herramientas etiquetados descritos anteriormente. Sin embargo, la comprensión del flujo de trabajo también sugiere algunas formas en que la infraestructura del sistema en sí podría ser reorganizada para optimizar la administración de energía y los costos de equipo. Estos esfuerzos para crear una aplicación de redes de sensores que trabaja en un viñedo local dio una idea de la interacción entre la administración de energía, los costos de equipo, arquitectura del sistema y las necesidades del usuario.



La auto organización de redes de sensores especiales se consideran en general la arquitectura del sistema por defecto, en parte debido a que presentan los más interesantes problemas de cálculo para el ordenador y para los científicos para hacer frente. Sin embargo, esta arquitectura asume conexiones de RF, a menudo utilizando TDMA (múltiple por división de tiempo acceso, una tecnología para ofrecer un servicio inalámbrico digital) entre cada área y sus vecinos.

Conclusiones

Al explorar el potencial de las redes de sensores en la agricultura y las prioridades y necesidades de las personas que trabajan allí, se encontró una configuración de redes de sensores que pueden ayudar y facilitar el trabajo de las personas involucradas, lo que ayudo muchísimo a la manera en que estas personas cosechaban las uvas, podemos decir que se encontró una muy buena aplicación de las redes sensoras en la vida real, ya que en este caso particularmente la instalación de estas redes ayudo a automatizar el cuidado y la cosecha de manera adecuada.
Las redes sensoras fueron aplicadas de manera correcta en este caso y se puede decir que cada vez más la tecnología ayuda a controlar aspectos de la vida cotidiana que antes nunca nos imaginamos.

Referencias

Burrel, J.; Brooke, T.; Beckwith, R. "Sensor Networks in Agricultural Production." , Persuasive computing. IEEE International Conference on Salt Lake City, UT (Volumen:4 ), 7-11 Mayo 2004
Resumen | Texto entero: PDF (755KB)

viernes, 24 de mayo de 2013

Redes sensoras

Las redes sensoras son computadores muy pequeños que colaboran entre ellos y están equipados con sensores para colaborar con una tarea en común.

Yo elegí simular el control de incendios en un área montañosa, la idea funciona de la siguiente manera: Supongamos que tenemos un área muy grande de bosque en dónde es difícil acceder a ella y darse cuenta que hay algún incendio, y cuando ya nos podemos dar cuenta de ello el incendio ya esta muy avanzado y hay graves daños al ecosistema.
Lo que se busca es con ayuda de la nueva tecnología poder controlar este tipo de situaciones, para esto diseñé una pequeña simulación buscando encontrar la solución en el uso de una red sensora.

Fractal

Lo primero que se realizó es la elaboración del terreno con la ayuda de un fractal, el código es el siguiente:



Y el resultado es la siguiente imagen:



Teniendo esto podemos graficarlo en 3D con la ayuda de matplotlib y queda de la siguiente manera:
Simulación de montañas con un fractal

Redes sensoras

Se distribuyeron sensores por todo el terreno de manera aleatoria, también se decidió tener una base elegida también de manera aleatoria que es a la que deben de llegar los mensajes de incendio para poder avisar a las partes correspondientes.
El punto rojo inicial indica que hay algún incendio en alguna parte y rápidamente el sensor que este mas cercano y siempre y cuando tenga el alcance necesario empieza a distribuir todo el mensaje hasta llegar a la base.
Para esta parte se tomaron en cuenta los mismos aspectos de la entrada pasada solo que ahora se agrego la parte adaptativa, es decir si el mensaje no llega a la estación entonces se manda un mensaje para aumentar el TTL y aumentar las posibilidades de llegar a la base.
El triangulo naranja es la base.
Los nodos amarillos son los que pasan el mensaje.
Se tomó en cuenta para que se mueran los nodos la Batería, el ciclo de vida , TTL, Intensidad de señal.
Los nodos grises son los sensores muertos.
Este ejemplo tiene TTL = 10


TTL=2
Los nodos grises significan que los sensores ya no funcionan

No se llegó a la base
TTL = 5


La base es el triángulo naranja 


Código



Conclusiones

Podemos ver que entre más alcance tengan los sensores es más rápido la detección del incendio, también que es conveniente que se adapte para saber cuando el TTL no llega pues ajustarlo para que sea posible llegar siempre a la base.

Referencias

Elisa Schaeffer - Redes sensoras

martes, 21 de mayo de 2013

Ubicación en redes ad hoc inalámbricas de sensores distribuidos

Resumen del documento " Location in distributed ad-hoc wireless sensor networks" de los autores Beutel J,  Rabaey J.M., Savarese C.

Introducción

En la evolución de las redes ad-hoc, los nodos de sensores inalámbricos han dependido en gran medida de la capacidad de establecer la información de su posición. Los algoritmos que se presentan en este documento se basan en mediciones de alcance entre pares de nodos y las coordenadas a priori de baja densidad. Una vez establecidas, estas posiciones se propagan a los nodos más distantes, lo que cubre la entera red para crear un mapa exacto de sí mismo. Los principales obstáculos son la superación de las inexactitudes en las mediciones tan grande como 50%, así como el desarrollo de aproximaciones iniciales para las ubicaciones del nodo en grupos con pocos o ningún nodos de anclaje. Las soluciones a estos problemas se presentan y discuten, con error de posición como principal indicador. Los algoritmos se comparan de acuerdo a la posición error, la escalabilidad y la comunicación y necesidades de cálculo.Los primeros simulaciones producen errores de posición media de 5% en la presencia tanto de gama y de inexactitudes de posición inicial.

La red inalámbrica Ad-hoc de sensores y actuadores tiene muchos atractivos de aplicaciones, por ejemplo Control ambiental y monitoreo, habitaciones inteligentes, control de robots, sistemas de inventarios,juguetes interactivos y mundos virtuales. El posicionamiento es un factor clave para muchas de estas aplicaciones. Los datos del sensor sin coordenadas completas (esto es indicación de la hora y la ubicación xyz) es casi inútil. Si bien el Sistema de Posicionamiento Global (GPS) es una solución para la localización en un entorno al aire libre, no existe la opción para ambiente interior.

Problema de posicionamiento de una red multihop

Una red de sensores consiste típicamente en un gran número de nodos con una distribución densa. Para reducir el consumo de energía atribuido para la comunicación y para minimizar la interferencia, todos los nodos sólo pueden comunicarse con sus vecinos inmediatos resultantes en una malla de conexiones. El agotamiento de un área local se puede producir cuando los nodos móviles se mueven.



A veces puede ocurrir que una partición de una red pierde contacto al resto de la red debido al movimiento o obstáculos que bloquean las señales de radio. Para evitar que esto suceda, el rango de potencia de las radios se ajusta adaptativamente para que cada nodo tenga un razonable número de nodos vecinos en cualquier punto en el tiempo. En otras palabras, se asegura que el gráfico de la red es generalmente bien conectado.
La actividad de la red en las redes de sensores es baja y al azar.Muchos nodos serán estacionarios para la mayoría de las veces, lo que permite largos períodos de iteración. Dentro de este marco estático, algunos nodos pueden moverse con movilidad limitada.

Navegación

La navegación con técnicas de radiolocalización consta de dos componentes:mediciones de distancia y la triangulación. Distancia o rango las mediciones se pueden basar en diferentes variables físicas: por la intensidad de la señal (RSSI), ángulo de llegada (AOA), el tiempo de llegada(TOA) o la distancia-tiempo de llegada (TDOA) de una señal. Los nodos se pueden utilizar para resolver un problema 3D-triangulación, si estos nodos se encuentran en una ubicación conocida, la posición absoluta puede darse en referencia a este sistema inercial, como se hace para el sistema GPS.
En general, el problema de triangulación se puede formular de la siguiente manera:dado un conjunto de referencias X,, Y, Z, y un conjunto de rango medir Ri, un sistema de ecuaciones lineales necesita resolverse para la U desconocida.


Las soluciones de navegación pueden ser clasificados en base a la exactitud,disponibilidad y costo (hardware, ciclos de cálculo, la latencia y consumo de energía). Por otra parte, se puede diferenciar entre y absoluta posicionamiento relativo, donde los medios absolutos con respecto a un punto de referencia y un mapa, mientras que la relativa no implica ninguno de ellos y se centra en el descubrimiento de topología.

Desafíos de localización en redes de sensores

Cuando es aplicada una red de sensores ad-hoc, esta radiolocalización se enfrenta a nuevas complicaciones: referencias dispersas que no son directamente visibles por todos los nodos en la red, limitada precisión en las mediciones de distancia, y la necesidad de implementación en recursos limitados. Nodos de anclaje o nodos con un conocimiento previo de sus ubicaciones con respecto a una coordenada global del sistema, se supone que es escasa y se encuentra al azar. Al igual que otros nodos de sensores, el rango de comunicación se limita a su vecindad inmediata. Esto hace que sea difícil, si no es que imposible,para los nodos que soliciten, o nodos que intentan calcular sus posiciones,para adquirir suficientes puntos de referencia para llevar a cabo la tradicional triangulación. Sólo se supone que habrá al menos cuatro nodos de anclaje en una red conectada.

La precisión obtenida mediante la triangulación depende en gran medida en la geometría de las referencias de posición, la configuración de los nodos de red, y la exactitud de las mediciones de alcance. Los rangos de transmisión cortos de 1 a 10 m resultan en un inaceptablemente numero de altas demandas de sincronización de 3pseg por cm de resolución, cuando las técnicas TDOA son empleadas. Enfoques AOA requieren costosas redes de antenas en cada nodo. Estos detalles hacen estas solución es poco atractivas, dejando la intensidad de señal recibida (RSSI o)como el candidato ideal para mediciones de distancia. Dado una conocida potencia de transmisión y un buen modelo de canal inalámbrico,la distancia entre el transmisor y el receptor se puede estimar sobre la base de la potencia recibida. Por desgracia, la exactitud de estos mediciones de alcance de RSSI es altamente sensible a la multi-ruta, la decoloración,sin línea de vista, y otras fuentes de interferencia,que pueden dar lugar a grandes errores. Estos errores se pueden propagara través de todos los cálculos de triangulación posteriores, dando lugar a inútil información.

Afortunadamente, las redes de sensores poseen dos propiedades que pueden ayudar a superar estas inquietudes: la interconexión densa conduce a la redundancia en las mediciones de distancia, la movilidad limitada lo que permite tiempos de observación largos y la eliminación de algunos de los efectos de desvanecimiento rápido a través de la integración.

Posicionamiento local

Triangulación

Considerando el siguiente escenario: un nodo con una posición desconocida recibe mediciones de distancia (con baja precisión) de una gran número (> 3) de los nodos vecinos. Usando un mínimo de media cuadrados se acercan a la solución de la triangulación, el problema produce una solución con una precisión que es sustancialmente superior a lo que podría esperarse de las mediciones de distancia confiables.Las figuras siguientes muestran los resultados de posicionamientos simulados.




Descubrimiento de la topología

También vale la pena considerar el problema inverso: un nodo (con una posición conocida) recibe mediciones de alcance de un gran número de nodos vecinos con posición desconocida. Esta información una vez más, se puede utilizar para resolver un problema de posicionamiento local. Sin embargo,lo mejor que se puede lograr en estas condiciones es una resolución de los ángulos entre los nodos, o, en otras palabras, la topología de la red. Sólo el posicionamiento relativo se puede derivar.Pero, de nuevo, la redundancia en la información ayuda a aumentar la resolución de los ángulos obtenidos. Mientras que una formulación LMS puede una vez más, ser construido, se presenta en cambio un algoritmo constructivo que sólo requiere cómputo limitado. El algoritmo Coordenadas base (ABC) determina las ubicaciones de los nodos desconocidos de una en una en el orden que establecen la comunicación, haciendo suposiciones donde es necesario, y compensar los errores a través de correcciones y cálculos redundantes a medida que más información esté disponible.Se necesitan estos supuestos al principio con el fin de hacer frente al conjunto de ecuaciones que presentan los primeros nodos.Esta descripción del algoritmo general asume la perspectiva de nodo n0.

El algoritmo comienza con el supuesto de que n0 se encuentra en (0,0,0). El primer nodo para establecer la comunicación con n0, n1, se supone que se encuentra en (r01, 0, 0), donde r01es la RSSI determinada distancia entre n0 y nl.La ubicación del siguiente nodo, n2, entonces puede ser resuelto de forma explícita,dados dos supuestos:se supone que la raíz cuadrada encuentra y2 para producir un resultado positivo,z2 y se supone que es 0.


Posicionamiento global

Mientras que los enfoques anteriores ayudan a mejorar los problemas en la precisión de posicionamiento local en la presencia de mediciones no fiables,no abordan el reto de posicionamiento global que plantea el ad-hoc de redes de sensores inalámbricos. Esta red representa una carga innecesaria en lo que respecta a la implementación simple,el consumo de energía, y la arquitectura de red, la única opción es participar en un enfoque cooperativo que van explote la alta conectividad de la red para traducir el reto de posicionamiento global en una serie de problemas locales distribuidos de optimización iterativa que convergen a una solución global mediante la interacción con los demás. La ventaja de este enfoque es que no se necesitan los recursos mundiales o comunicaciones. La desventaja es que la convergencia puede tardar algún tiempo y que los nodos con una alta movilidad pueden ser difíciles de cubrir. Afortunadamente, esto no es un problema real en redes de sensores, donde los nodos rara vez se mueven y los tiempos de descubrimiento largos son aceptables dada la larga vida útil de la red. Este enfoque de cooperación es, a nuestro entender,bastante original. Enfoques existentes para la localización en redes de sensores tienden a confiar en un motor de cálculo global que recibe las mediciones de distancia y los convierte en un problema de optimización global. La desventaja de este enfoque inteligente es que se necesita un recurso global que desafíe la naturaleza ad-hoc de la red, y que toda la gama y la información de la posición tenga que ser enviado de ida y vuelta al nodo, dando lugar a cuellos de botella de enrutamiento y la disipación de la energía necesaria.

En las metodologías propuestas, cada nodo juega el mismo papel, y ejecuta varias veces y al mismo tiempo las siguientes funciones:

  • Recibe alcance y la información de ubicación de la vecina
  • Resolver un problema de localización local
  • Transmite los resultados obtenidos a los nodos vecinos

Después de que el sistema ha encontrado una solución, las actualizaciones sólo rara vez necesitadas y se activarán por un nodo móvil en una área localizada de la red.El modo de actualización se invoca después del inicio y nodos en movimiento,actualizan la información de posición como nodos móviles cambiando su ubicación física. Aquí se presenta brevemente una serie de posibles enfoques y algunos principios.

Descubrimiento de la topología global

En este enfoque, cada nodo asume inicialmente estar en el centro del sistema de coordenadas y realiza una detección local de la topología (utilizando el algoritmo ABC). La información resultante se envía a los nodos vecinos. Cada nodo elimina un grado de libertad en el espacio de coordenadas,y las fuerzas de los nodos vecinos para transformar linealmente su propio sistema de coordenadas (tanto a partir de una transposición y la perspectiva de rotación).La información se propaga a través del sistema y, finalmente, hace que el sistema coincida en un solo espacio de coordenadas global. Las primeras simulaciones mostró que este enfoque era insuficiente para superar la propagación de errores iniciales a distancia, produciendo grandes errores de posición.

El enfoque terreno

El algoritmo proporciona una solución inicial de cada nodo de la red haciendo una expedición multi-hop de las posiciones. En el inicio, el algoritmo ABC se inicia en cada nodo de anclaje. Los nodos solicitantes esperan para propagar a ellos a partir de al menos cuatro nodos. Una triangulación estándar se puede realizar en ese momento. A medida que el número de nodos utilizados por cada nodo solicitante en este procedimiento se incrementa, la exactitud de la posición estima mejora. Teniendo en cuenta que no hay necesidad de llevar a cabo la transformación lineal al final de cada algoritmo ABC que debe corregir la orientación, una topología correcta proporcionará la estimación de la distancia necesaria. En la siguiente figurase muestra la mejora obtenida a partir del algoritmo en comparación con el enfoque global de detección de la topología, que ya explique.



Triangulación local interactiva

Una vez que se obtiene una estimación inicial, la precisión de la localización puede ser mejorada a través de un proceso de refinamiento iterativo. Cada nodo utiliza las coordenadas más recientes calculadas de cada nodo vecino y las mediciones de distancia para volver a calcular sus propias coordenadas.Este proceso se repite varias veces hasta que las posiciones de todos los nodos de la red han coincidido. En la siguiente figura se muestran los resultados de este procedimiento después de 25 iteraciones de un clúster de la red de 10 nodos. Estos resultados sugieren que la exactitud final de estimaciones de posición está influenciadas más por los errores de gama que por errores de posición. Los resultados que se muestran en la figura pasada dan un promedio de error de posición inicial de alrededor de 39% para el terreno en el rango de error del 5%.Aplicando el algoritmo iterativo se reduce después el error a aproximadamente 5%,una mejora de aproximadamente 34%. A pesar de la posición media los errores son bajos después de la etapa de perfeccionamiento,las simulaciones muestran una gran varianza en los valores de error de posición. En un número de casos, el algoritmo iterativo tiende a no coincidir. La tendencia de no coincidir tiene relación con los dos estimaciones de posición inicial y errores.Es necesaria más investigación para determinar técnicas para descubrir y eliminarlas divergencias (por ejemplo, eliminar soluciones improbables desde el principio).La fiabilidad de los resultados producidos es un requisito indispensable de cualquier colocación de redes de sensores.

Conclusiones

Los algoritmos para el posicionamiento de nodos en una red de sensores ad-hoc que explique, demostraron que los errores de posicionamiento resultante a partir de mediciones de alcance inexactas se puede reducir significativamente si se utilizan 7 o más puntos de referencia en una triangulación de 3D. Y es posible ver en las simulaciones que es capaz de producir estimaciones de posición con errores de sólo el 5%.Aunque es necesario realizar y repetir mas experimentos para poder decir con certeza que es un mejor método para el posicionamiento.

Referencias

Beutel, J.; Rabaey, J.M.; Savarese, C. "Acoustics, Speech, and Signal Processing ." , INFOCOM 2004. IEEE International Conference on Salt Lake City, UT (Volumen:4 ), 7-11 Mayo 2001
Resumen | Texto entero: PDF (755KB)

Retroalimentación "Alarma inteligente"

¿Cual fue el proyecto?

El proyecto es un despertador inteligente que detecta cuando la persona aun esta en la cama para seguir sonando la alarma hasta que detecte que la persona ya se paro entonces la alarma deja de sonar. Se tiene la idea de implementar  más módulos al proyecto como crear cuentas de usuario y así guardar sus preferencias y poder hacer predicciones de horas de sueño.



Aportes personales.

Estuve encargada principalmente de la app en Android junto con mi compañero Roberto, se utilizó el  manejador de alarmas de Android para realizar el módulo que permite fijar una hora y sonar el timbre a la hora indicada.
Se tuvo que codificar de manera muy ordenada para dejar preparado el sistema y poder agregar los módulos que mis compañeros realizaron. Se buscaron también sonidos con licencias libres y además se hizo un estudio de sonidos que pudieran resultar amigables o agresivos al usuario.
Las características de la App son las siguientes:
  • Programación de día y hora de la alarma.
  • Sonido que cambia el volumen incrementalmente.
  • Vibración con el sonido.
  • Preparación para la conexión con el servidor que realizó Roberto y para la recepción de resultados de los sensores que hizo Ramón.

¿Que falto hacer?

La implementación de las cuentas de usuario.
Guardar los ciclos de sueño de los usuarios.
Predicciones inteligentes sobre la hora de levantarse en días no regulares.
Agregar un sensor de peso en vez de push buttons para poder guardar algunos otros datos del ciclo de sueño.
Un servicio web o una app para poder ver el historial completo de las horas dormidas por el usuario en cierto intervalo de días, así como mostrar recomendaciones para dormir más o menos segun sea el caso y que favorezca su salud y rendimiento.

Lecciones Aprendidas.

No dejar las cosas para el último momento ya que al surgir contratiempos en el desarrollo del sistema no se podían arreglar, también ya no alcanzamos a comprar el sensor de peso debido a que no nos lo tuvieron a tiempo porque no lo pedimos con mas meses de anticipación, y hubiera sido muy bueno contar con el sensor.

La organización en equipo es clave para el desarrollo de un sistema en conjunto, el llevarse bien con los integrantes y ser equitativos con las tareas que cada quien realiza es un aspecto muy importante que siempre se debe de considerar y no tratar de que alguien se lleve más trabajo, si no tratar de repartirlo de maneras iguales.

Tener cuidado en no caer en el exceso de confianza ya que se pensaba que la App Android sería lo más fácil que desarrollaremos sin embargo fue de lo que más tiempo nos llevo, así como la conexión BT además de que fue difícil hacerlo funcionar así, nos dimos cuenta que en realidad no requeríamos esa conexión en nuestro sistema ubicuo.


También tener en cuenta que la teoría no es lo mismo que la práctica y que muchas veces el proyecto no sale a la primera, debido a distintos factores que no se consideraron al momento de hacer los diagramas de clases o de diseñar el circuito, siempre surge algo que no se tenía contemplado y que de todas maneras requiere tiempo que no teníamos pensado dedicar a eso.



Y por último tener mayor compromiso y responsabilidad con los proyectos que se emprenden aunque sean trabajos escolares, ya que la práctica de estos proyectos es lo más cercano que se puede tener al ámbito laboral cuando salgamos a desempeñar nuestra carrera.

Trabajo en Equipo y colaboración.

Es muy importante a la hora de seleccionar un equipo de trabajo que todos los integrantes trabajen de manera igual y tengas los mismos intereses en cuanto a calificaciones como a metas a cumplir con el proyecto.

Que haya una comunicación clara y directa entre los miembros para poder llegar a acuerdos satisfactorios, y lograr las metas establecidas en el principio.
El establecimiento de un líder es clave para que comunique los avances a todos los miembros del equipo y sea capaz de decir cuando la meta no se cumplió y se requiera mayor esfuerzo, en este caso no había un líder asignado sin embargos todos aportabamos alguna función para ayudar a administrar el proyecto.
También ayudó que yo siempre me he juntado con las mismas personas para realizar los trabajos en equipo entonces ya hay un mayor grado de entendimiento.

Rendimiento personal y colectivo.

Aunque no se lograron implementar todas las metas propuestas creo que se tuvo un buen rendimiento colectivo ya que se logró sacar un prototipo que muestra el funcionamiento  básico del sistema teniendo en cuenta el poco tiempo disponible con el que contamos los integrantes del equipo.
También influye que tengo el mismo equipo de hace algunos años entonces ya nos entendemos muy bien y sabemos a lo que queremos llegar.
En el rendimiento personal creo que también cumplí con lo que mi equipo esperaba de mi, ya que logré sacar mi parte y además ayudar a integrar los módulos de los demás.

Conclusiones

Para la realización de un sistema en equipo es necesario contar con el apoyo y la colaboración de todos los miembros y que participen activamente, ya que de esto depende el éxito del producto final. Es muy importante dividir el proyecto en fases en la que en cada una se defina lo que debe resultar de cada fase y así saber si se cumplió o si hay que regresar a hacer algunos ajustes al proyecto.
Si tuviera que volver a hacer el proyecto el único aspecto que cambiaría sería empezar con mas tiempo de anticipación para no estar apurados y trabajando muchas horas seguidas en lo mismo.

Link al blog del equipo

Retroalimentación a otros equipos

SeguriLab
Presentación

Me agrado lo agregado que hicieron del sensor de presencia es muy buena idea, hubiera estado bien que agregaran una especie de lampara para que los usuarios siempre sean detectados con cualquier condición de luz.
Les recomiendo que  agreguen algún dispositivo tipo un sensor de luz, y que si la luz es menor a la que se necesita para que funcione adecuadamente se encienda para regular ese aspecto.
Les falto cuidar la seguridad del archivo de texto que están guardando y con el que están comparando ya que alguna otra persona podría cambiarlos o alterarlos.
También deberían cuidar un poco más las faltas ortográficas en su presentación, es todo.

CARNXP
Presentación

Les recomiendo para proyectos futuros que avancen mejor por etapas, buscando tener primero un prototipo básico funcional que tenga el funcionamiento principal del sistema y partiendo de esto poder ir avanzando a versiones del sistema más complejas.
El sistema que proponen es bastante ambicioso por eso es comprensible que no hayan alcanzado a completarlo, sin embargo pudieron haber hecho algo muy básico con su idea principal, queda para experiencia personal.

Galería inteligente
Presentación

Creo que en este proyecto se cumplió lo básico y lo que falto no son módulos que se necesiten para ver el funcionamiento del sistema, aquí recomiendo que su código este altamente modular para poder después ir agregando más funcionalidades sin ningún problema.
Yo recomendaría utilizar un arduino con conexión wifi para poder ir obteniendo datos en tiempo real además de no mandar guardar sus datos en el servidor y no batallarían con lo que mencionaron de la memoria.
Creo que sería bueno agregarle alguna condición que detecte que si la persona ya se fue y no esta cerca de la obra se detenga la reproducción y se apaguen las luces de la vitrina, así ahorrarían energía cuando nadie esta viendo la obra de arte.

Casa inteligente
Presentación

Les recomiendo grabar siempre un vídeo de su prototipo cuando ya esta funcional para tener al menos una prueba de que el sistema una vez funcionó, y agregar siempre vídeos a la presentación por si acaso el demo en vivo fallara o ya no se pudiera realizar. 
No me agrado la idea de controlar las puertas con botones pero creo que les falto poco para poder integrarlo todo y manejar todo desde el celular.
También debieron de haber comenzado con más tiempo y no complicarse con prototipos iniciales complejos es mejor tener algo pequeño y después ir ampliando el sistema a las necesidades que van surgiendo.
Siempre deben de tener algún sustituto por si su sensor no llega tratar de simular esa funcionalidad con otros componentes aunque no sea tan bueno como el sensor, no se deben detener porque algun componente no llegue, tengan un plan emergente.

Garage inteligente
Presentación

En cuanto a la app móvil no me agrado el diseño se ve muy poco amigable pudieron haber sustituido el texto con iconos que fueran más agradables, sin embargo se cumple con la funcionalidad ya después podrán arreglar estos detalles.
El servicio web es muy agradable me gustó que se enfocaron en desarrollar cuentas de usuario, historiales, etc, son creo que único equipo que hizo algo así.

En la presentación que dieron creo que no ayuda mucho que las imágenes que insertan de la app o del servicio web se pierde con los colores de la diapositiva pudieron haber enmarcado cada imagen que pegaron para poder diferenciar. También los códigos QR los pudieron haber generado con Python y no utilizar el servicio de Google y hacerlo todo ustedes mismos.
Para la lectura de códigos QR  vi que primero utilizaron alguna librería que  ya lo hiciera y también se intento construir su propio algoritmo para esta detección me hubiera gustado ver una comparación pero como el algoritmo no se completó, estoy completamente de acuerdo con el uso de la librería que ya lo hace ya que se busca "rapidez" y "confiabilidad" al momento de leer los códigos.
Además la misma recomendación que ya he hecho a otros equipos que es comenzar por lo más fácil y básico y después ir agregando e integrando poco a poco los módulos que mejoren la funcionalidad.
Y por último cuiden no pasarse del tiempo que se estableció para las presentaciones de cada quien.

Carro inteligente
Presentación

En el prototipo funcional donde utilizaron un carro real me hubiera gustado que diseñaran alguna carcasa para que no se vean los cables ni el Arduino.
En la App Android también hay varios aspectos de usabilidad que mejorar sin embargo la funcionalidad si se cumple y pudieran ya después tratar de mejorar ese aspecto. Creo que la funcionalidad del GPS hubiera estado algo sencillo de implementar y no hubieran tenido que comprar ningún sensor u aparato extra.
Aquí hubiera sido bueno que implementaran el sistema más basado en software tal como lo hizo el equipo de Garage inteligente, y de esta manera poder mostrar en la página web el recorrido o la posición actual del carro, ya que era difícil contar con un demo en vivo.

Localización de dispositivos con BT
Presentación

Les recomendaría a los integrantes de este equipo que dividan su proyecto por fases, teniendo en cada una un prototipo al que cada vez se le agreguen más módulos.
La vista de la app no es muy intuitiva hay algunos detalles de usabilidad que deberían de poder mejorar haciendo pruebas con usuarios reales para darse cuenta de que no es muy intuitiva, por ejemplo el acomodo de los botones como los colores que son utilizados en la aplicación.
También no me parece buena idea mostrar la MAC address eso no le va a gustar a los usuarios. Aunque no hubo un demo en vivo de la idea básica funcionando, me parece que además que es un proyecto bastante complicado falto dedicarle tiempo y dedicación al sistema ubicuo.

Oficina inteligente
Presentación

En la presentación se ven algunas faltas ortográficas que seria bueno que corrigieran.
En cuanto al proyecto les recomiendo que siempre comiencen por las cosas pequeñas, que las funcionalidades básicas estén completas para ir avanzando poco a poco y lograr entregar algo aunque no sea completo.
Pienso que con RFID es suficiente y no me agrado lo de detección de rostros ya que el módulo no estaba completamente terminado y puede fallar y se necesita que sea la lectura rápida y confiable.
También recomiendo siempre que hagan un código en equipo pensar en donde se va a agregar los módulos que los demás desarrollen para dejar preparado el código y no batallar al momento de integrarlos. Y que bueno que tenían vídeo ;).

Plan de negocio: RFID para el control de glucosa en pacientes diabeticos

Idea

Utilizar un microchip RFID sensor de glucosa, para medir con precisión los niveles de glucosa en individuos con diabetes, el sistema biosensor incorporado emplee tecnología RFID e incluya comunicación remota inalámbrica para saber el estado actual de la persona.
Medir la glucosa con este sistema permitirá a los individuos con diabetes controlar esos niveles de una forma menos invasiva, es decir sin tener que sacarse sangre o haciendo otras pruebas molestas.

http://healthinformatics.wikispaces.com/diabetes+management


Justificación

Aunque los sistemas ubicuos cada vez son más comunes este tipo de tecnologías no son muy vistas en nuestro país, siendo una novedad que ayudaría mucho a los pacientes con diabetes que necesiten estar controlando sus niveles de glucosa de manera continua, aunque no es este un producto inexistente en el mundo, si lo es en el país es por eso que se busca innovar y meter en el mercado este producto que pudiera ser de gran aceptación ademas de impulsar la tecnología en el país.
Actualmente en México la diabetes es una de las enfermedades más padecidas por la población teniendo la siguiente estadística "Personas con diabetes entre 6.6 y 10 millones (20-79 años), 2009"

Accionistas

Para comenzar la empresa se compondría de un grupo de desarrolladores con disponibilidad de tiempo, así como ganas de emprender un nuevo negocio para poder después crear una compañía que se dedique a la fabricación y distribución en zonas estratégicas de este producto junto con todos sus complementos, sin necesitar de desarrolladores externos o técnicos por el comienzo.

Misión 

Creación de un sistema ubicuo que ayude a cuidar la salud de los pacientes que tienen diabetes para poder acceder de manera más rápida a su análisis de glucosa y poder controlar de manera más precisa los cambios en los niveles de azúcar  así como producir un sistema que ayude al doctor a monitorear el estado del paciente además de brindar el producto a un precio accesible para cualquier paciente.

Objetivos

  • Corto plazo
    • Presentar un producto innovador y de interés para los pacientes que tienen esta enfermedad.
    • Aceptación del producto en hospitales y consultorios particulares, para poder tener un mercado seguro al cual venderle
    • Y el más importante brindar productos económicos y de la calidad necesaria para dar un servicio adecuado.
  • Largo plazo
    • Generar ganancias suficientes para incursionar en algunos otros sistemas bio médicos y seguir combinando la computación ubicua con la salud.
    • Producir para el mercado de todo el mundo.
    • Ser reconocidos de manera positiva en todo el mundo.
    • Labores sociales para los pacientes que padecen esta enfermedad y no cuentan con los recursos necesarios para cuidarse.

Producto

Un sistema ubicuo que utilice RFID para que sea inyectado en los pacientes mediante una jeringa y leído por un escáner inalámbrico para medir los niveles de glucosa en sangre. Este tipo de tecnología es ideal para pacientes que no les gusta el proceso de extracción de sangre del dedo o el brazo o pagar por el mantenimiento de estos monitores, como las tiras. Este producto RFID incluye un monitor pequeño, un sensor de glucosa, y circuitos integrados. Las potencias de señal del escáner inalámbrico del microchip. Esta nueva tecnología elimina la posibilidad de errores de transcripción humanos. Además se permitirá a los médicos administrar los niveles de glucosa mediante el acceso al sistema.

Clientes

Los clientes potenciales son:
Personas que padecen de diabetes y que les resulta molesto el proceso de extracción de sangre del dedo o del brazo y que no les gusta pagar por el mantenimiento de sus aparatos además de tener que comprar constantemente de las tiras esterilizadas. También quienes tienen los recursos para comprar un aparato que les traerá más beneficios al momento de cuidar su salud.
En México esta es la estadística de quienes padecen diabetes y podrían  estar interesados en mejorar su calidad de vida comprando nuestro producto:

http://rinconatural.com.mx/diabetes-en-mexico/

Competencias

En México no existe una empresa dedicada a la fabricación de este producto, sin embargo fuera del país si existen algunas muy importantes y establecidas en el mercado pero que no se dedican solamente a eso y que actualmente están incursionando con esta nueva idea, por ejemplo
  • Digital Ángel, que es un productor líder de etiquetas electrónicas para ganado, mascotas, peces y seres humanos, prevé la expansión más allá del mercado humana para la detección de glucosa RFID microchip. Según la compañía, la diabetes es un problema de enfermedad grave en el ganado animales. Como resultado, la glucosa-detección microchip RFID podría tener un impacto igualmente importante en el seguimiento de los niveles de glucosa en animales de ganado.
  • VeriChip Corporation es un proveedor de sistemas RFID para la salud y necesidades relacionadas con el paciente.
Fortalezas, Oportunidades, Amenazas, Debilidades

Fortalezas
  • Empresa que se dedica a la innovación y constante evolución con los sistemas tecnologicos actuales.
  • Orientados al área biomedica que actualmente esta tomando las tecnologías que ayuden a mejorar el servicio al paciente.
  • Equipo de desarrollo con amplias ganas y tiempo disponible para comenzar el negocio.
Oportunidades
  • Poca competencia en el país.
  • Importar del extranjero el producto es costoso.
  • Gran demanda en el país ya que mucha gente padece la enfermedad.
Debilidades
  • Poca aceptación de hospitales y doctores por miedo a  probar nuevas tecnologías.
  • Empresa recién creada que no tiene renombre en la industria.
Amenazas
  • Que una nueva empresa que sea bien conocida en la industria  incursione en este ramo.
  • La tecnología esta en contante cambio, algo que podría afectar es que cambie y se encuentre una mejor manera de usar la tecnología para brindar el mismo servicio.

Plan de ventas

Promocionar el producto en diversos hospitales mostrando algunas pruebas que se hayan hecho ya previamente con pacientes reales y hacerles ver todos los beneficios que traería usar esta nueva tecnología para sus pacientes además de ser una buena oportunidad para que el hospital este actualizado con las últimas innovaciones del mercado.
Ofrecer muestras gratis a pacientes que estén dispuestos a usar el producto para que después si les agrada puedan comprarlo y utilizar diariamente para monitorear su salud.

También se podría visitar consultorios de la región enseñando a cada médico el producto.
La idea es tener a gente que se encargue de la distribución del aparato para tener una entrega eficiente y trato directamente con los clientes mientras que en negocio se hace más estable.

Referencias

(n.d)How to write a business plan.[En Linea]. [Fecha de consulta: 20 de Mayo, 2013]. Disponible en:
http://www.entrepreneur.com/how-to-write-a-business-plan

Estadísticas, Vivecondiabetes. [En línea]. [Fecha de consulta: 20 de Mayo, 2013]. Disponible en:
http://vivecondiabetes.com/basicos-de-diabetes/estadisticas

Glucose-Sensing RFID Microchip. [En línea]. [Fecha de consulta: 20 de Mayo, 2013]. Disponible en: http://www.diabetesincontrol.com/articles/59-product-of-the-week/4378-

Redes ad hoc

Para mi programa realice lo siguiente:

Se crean nodos con la clase Nodo que tiene los siguientes atributos:
  • posición x
  • posición y
  • batería (parámetro ajustable)
  • estado TTL (parámetro ajustable)
  • color
  • velocidad
  • radio (alcance) (parámetro ajustable)
  • radio (dibujo)
  • nodo_padre (es necesario para poder ir ajustando el TTL)
  • nodo_hijo
Los nodos introduciendo según tiempo generado con la formula poisson  así se tienen llegadas exponenciales.
Después de un tiempo los mensajes se comienzan a transmitir por INUNDACIÓN lo que va pintando cada circulo de color BLANCO, se da un valor a los padres e hijos de los nodos de acuerdo al nodo que pinta a su circunferencia, es decir el nodo que esta en x y y pinta a todos los demás que están en su ZONA de ALCANCE entonces se dice que este es el padre de los que acaba de pintar y a los hijos se va reduciendo el valor para el TTL, así al llegar a 0 deja de transmitir.

El enemigo esta representado con un circulo color rojo y con un radio mayor a los demás, la manera en que los nodos se protegen del enemigo es durmiendo, es decir el nodo se pone en GRIS y disminuye su movimiento.

La manera en que se adapta es contando los nodos que no se han conectado y aumentando el radio de alcance de los que si están comunicados.

En mi ejemplo utilice un TTL de 10 y otro de 3 para que se vea la diferencia, en el de 10 se alcanzan a salvar casi todos los nodos pintandose de gris y protegiendose del enemigo y en el de 3 muchos se quedan activos propensos del enemigo.
Aunque tiene algunas funciones que ayudan a adaptarse aun quedan nodos incomunicados esto debido al bajo valor del TTL.

Los nodos mueren cuando se cumple su ciclo de vida, o cuando se termina su batería la cual se gasta de acuerdo a los mensajes que ya se envió es una función lineal.




VIDEOS:

TTL 10



TTL 3



En el de 10 se alcanzan a salvar casi todos los nodos pintandose de gris y protegiendose del enemigo y en el de 3 muchos se quedan activos propensos del enemigo, también se observa en el terminal cuando los nodos van muriendo ya sea por batería o por tiempo de vida

Por último esta es una gráfica donde se muestra los diferentes ttl con los mensajes enviados, y se comprueba lo visto en la simulación que con mayor ttl mas mensajes se envían.




Referencias

N/A

jueves, 16 de mayo de 2013

Detección de movimiento

Generador de animaciones

El generador en python usando Blender y toma como parámetros el numero de objetos y los tipos (esfera, cubo), y después se elige de manera random hacia donde moverse, teniendo 6 opciones:

  • arriba (eje y)
  • abajo (eje y)
  • derecha (eje x)
  • izquierda (eje x)
  • enfrente (eje z)
  • atrás (eje z)
En el siguiente vídeo podemos ver el movimiento en las tres objetos tiene LUZ para poder ver claramente los movimientos en el eje Z, pero para procesarlos le quité estos efectos para poder identificarlos mejor:

Movimiento en los 3 ejes

Los siguientes ya no tienen luz:

Movimiento en 2 ejes

Movimiento en los 3 ejes


Código:




Detección de movimiento

Método de diferencia

Se utilizo el método de diferencia que funciona de la siguiente manera:

if (pix_act[i,j] - pix_ant[i,j]) > 50
 
Si se cumple con esta condición entonces se dice que hubo un movimiento y el pixel se pinta de negro y los demás de blanco.

Para saber hacia que lado se mueven las figuras se hizo BFS a todo lo que se encuentra en la imagen  y se guardaron en una lista cada elemento que pertenece a un objeto de esta manera para saber si se movió simplemente se hacia una comparación entre los objetos del nuevo frame y si esta cercano al objeto del frame pasado entonces se sabe que se movió y se realizan restas simplemente para poder deducir hacia que lado se movió.

Ejemplo:

Animación original

Diferencia

Indicando la dirección





Este es el código:








martes, 14 de mayo de 2013

Geolocalización por trilateración

Implementa o en simulación o, de preferencia, construyendo un sistema de por lo menos tres transmisores el algoritmo básico de geolocalización a través de triangulación de fuerzas de señales.

Para esto utilicé la trilateración que consiste en tener tres antenas en puntos que pueden estar estáticas o movibles, y hay un receptor, en el programa se puede definir con que intensidad el receptor recibe la señal y así poder indicar en que lugar se encuentra el receptor.

El concepto es el siguiente:

http://es.wikipedia.org/wiki/Trilateraci%C3%B3n


En la imagen se quiere conocer cual es la posición exacta del punto B con las señales percibidad de las antenas P1, P2 y P3.
Las formulas son:


El código es el siguiente:



Algunos ejemplos

El receptor percibe la misma intensidad de señal de las 3 antenas:

Se escribe python triangulacion.py 3 3 3
recibe antenaA, antenaB y antenaC

La estrella es el punto en donde esta localizado el receptor

Detectando diferentes intensidades de señal por el receptor, detecta la Antena A con intensidad 2, Antena B con 3 y Antena C con 4:




En este ejemplo se usa la Antena A con intensidad 2, B con 4 y C con 6:


En este ejemplo la intensidad de A de 1, B  de 4 y C de 1:




Y por último un ejemplo más el receptor recibe la intensidad 4 de A, 4 de B y 2 de C.





Referencias

Elisa Schaeffer, "Telefonía", 2013 [En línea]. Disponible en: http://elisa.dyndns-web.com/~elisa/teaching/comp/net/telefonia.pdf

"Trilateration", 2013 [En línea]. Disponible en: http://es.wikipedia.org/wiki/Trilateraci%C3%B3n