domingo, 26 de mayo de 2013

Resumen: Wireless Sensor Networks for Habitat Monitoring

El monitoreo del hábitat y el ambiente representan una clase de aplicaciones para las redes de sensores con muchos beneficios para las comunidades científicas y la comunidad en conjunto. El uso de estas redes en los espacios naturales puede hacer posible la recopilación de datos que son difíciles si no es que imposibles de obtener de otra manera. Las capacidades de computación y la conexión de redes permiten a las redes de sensores ser reprogramados después de utilización en el campo. Los nodos tienen la capacidad de adaptar su funcionamiento a través del tiempo en respuesta a los cambios en el medio ambiente, el estado de la red de sensores, entre otras cosas.

En este paper, se desarrolla una aplicación de monitoreo de hábitat específico. Se presentan un conjunto de requisitos, restricciones y lineamientos que sirvan de base para una arquitectura de red de sensores general para muchas de estas aplicaciones. También se describen los componentes básicos de la red de sensores, el hardware, las distintas redes implicadas, su interconexión y las facilidades de la gestión de datos. El diseño y la implementación de los servicios esenciales de la red, incluyendo la administración de energía, las comunicaciones, la gestión del nodo pueden evaluarse en este contexto.

Monitoreo del hábitat


Los investigadores de las ciencias de la vida se han estado preocupando cada vez más por los impactos potenciales de la presencia humana en el monitoreo de los animales y plantes en condiciones de campo.  En el mejor de los casos, es posible que la crónica perturbación humana pueda distorsionar los resultados mediante el cambio de los patrones o distribuciones de comportamiento, mientras que en el peor de los casos las perturbaciones antropogénicas pueden reducir seriamente o incluso destruir poblaciones sensibles mediante el aumento de la tensión, la reducción de éxito de la reproducción, el aumento de la depredación, o causar un cambio a hábitats inadecuados.

El efecto de las perturbaciones suelen ser evidentes en los animales, también las poblaciones de plantas son sensibles a que puedan ser pisadas o que a través de las visitas frecuentes sean introducidos elementos tóxicos, así como los cambios en los patrones de drenaje a través de la formación del camino.

Los efectos de estas perturbaciones particularmente son preocupantes en situaciones de islas pequeñas, en las que sea fisicamente imposible para los investigadores evitar algún impacto en toda la población. Además que las islas en algunos casos sirven como refugios para las especies que no pueden adaptarse a la presencia de mamíferos terrestres.


Las redes de sensores representan un avance significativo en los métodos tradicionales de supervisión. Estos pueden desplegarse antes del inicio de la temporada de cría u otro período sensible (en caso de animales) o cuando las plantas estén en reposo o el suelo esté congelado (en caso de estudios botánicos).

La implementación de redes de sensores puede ser a largo plazo un método más económico que los métodos tradicionales para la realización de estudios.

Isla Great Duck



La Universidad del Atlántico (COA) es el lugar donde se realizan las pruebas de campo de redes de sensores para la vigilandia del hábitat. COA tiene programas de investigación de campo actualmente sobre varias islas remotas. La isla Great Duck (44.09N, 68.15W) es una isla pequeña de 237 hectáreas ubicada a 15 km al sur de la isla de Mount Desert, Maine.

En esta universidad se interesaron mayormente en tres cuestiones en la supervisión del paiño boreal (una especie de ave).

  1. ¿Cuál es el patrón de uso de madrigueras durante el ciclo de 24 a 72 horas cuando uno o ambos miembros de una pareja reproductora puede alternar tareas de incubación con la alimentación en el mar?
  2. ¿Qué cambios se pueden observar en la madriguera y en los parámetros ambientales de superficie a lo largo de la temporada de cría de aproximadamente 7 meses?
  3. ¿Cuáles son las diferencias en los micro-ambientes con y sin un gran número de nidos de paiños boreales?

Requerimientos de la isla Great Duck


Acceso a internet


Las redes de sensores en la Isla Great Duck debe ser accesible vía internet. Un aspecto muy importante para las aplicaciones de monitoreo es la habilidad de soportar interacciones remotas con redes en el lugar.


Red jerárquica


La estación del campo en esta isla necesita recursos suficientes para recibir la conectividad a internet y sistemas de base de datos. Sin embargo, los hábitats de interés científico se encuentran a varios kilómetros más lejos. Para esto se utiliza un segundo nivel de red inalámbrica que proporciona conectividad con las redes de sensores implementados en cada una de las áreas de interés.


Durabilidad de la red de sensores


Las redes de sensores que corren durante 9 meses a través de una fuente de energía no recargable tendrían audiencias significativas actualmente. Aunque los estudios ecológicos de la isla Great Duck abarcan varias temporadas de campo, temporadas de campo individuales varían de 9 a 12 meses. Los cambios estacionales así como las plantas y animales de interés determinan sus duraciones.


Funcionamiento autosuficiente


Cada nivel de la red debe funcionar con fuentes de energía limitadas. La isla Great Duck tiene suficiente energía solar para ejecutar varios elementos de la aplicación las 24 horas de los 7 días de la semana con bajas probabilidades de interrupciones del servicio debido a la pérdida de energía.


Gestión a distancia


La lejanía de los sitios de campo requiere la capacidad de monitorear y manejar redes de sensores vía internet. Aunque el personal puede estar en la isla durante algunos meses cada verano, la meta es que no haya presencia en dicho lugar para el mantenimiento y administración durante la temporada de campo, excepto para la instalación y eliminación de nodos.


Funcionamiento discreto


La infraestrucrura del monitoreo del hábitat debe ser discreta. No debe alterar los procesos naturales o comportamientos del estudio. La extracción de la presencia humana a partir de las áreas de estudio, elimina una fuente de error y variación en la colección de datos.


Comportamiento del sistema


Tanto los sistemas y la perspectiva del usuario final, es fundamental que las redes de sensores muestren un comportamiento estable, predecible y repetible siempre que sea posible. Un sistema impredecible, es difícil de depurar y mantener.


Interacciones en el lugar


Aunque se espera que la mayoría de las interacciones con las redes de sensores sean a través de internet, se requieren interacciones locales durante la implementación inicial, durante las tareas de mantenimiento. Los PDAs tienen un papel importante en estas tareas ya que mediante ellas se pueden realizar consultas de los sensores, ajustar parámetros de funcionamiento o simplemente ayudar en la localización de dispositivos.


Arquitectura del sistema de monitoreo del hábitat



Estrategias de implementación


Nodo de red de sensores


En la implementación se utiliza una red inalámbrica con dispositivos motas (dispositivos que pueden detectar señales de luz, temperatura, vibraciones, etc.) como nodos. El último miembro de la familia, es llamado Mica, el cual utiliza un solo canal, 916Mhz de radio frecuencia de Monolithics RF para proporcionar una comunicaión bidireccional a 40kps, un microcontrolador Atmel ATmega 103 funcionando a 4Mhz, y una considerable cantidad de almacenamiento no volátil (512KB). Un par de pilas AA convencionales y un convertidor Boost que proporcionan una fuente de voltaje estable.


Placa de sensores


Con el fin de proporcionar medidas pertinentes a los científicos, se diseñó y fabricó una placa de sensores de monitoreo ambiental. Esta proporciona sensores que supervisan las condiciones ambientales cambiantes con la misma funcionalidad que una estación meteorológica tradicional, incluyendo temperatura, fotorresistencia, presión barométrica, humedad y sensores infrarrojos pasivos.



  • El módulo de presión barométrica es un sensor digital fabricado por Intersema. El sensor es sensible a 0.1 mbar de presión y tiene una rango de presión absoluta que va desde 300 hasta 1100 mbar. Este módulo esta calibrado durante la fabricación y los coeficientes de calibración se almacenan en la EEPROM.
  • El sensor de humedad está fabricado por General Eastern. El elemento de detección consiste en un electrodo de metalización depositado sobre el polímero de sensor de humedad. El sensor es modulado por un temporizador CMOS 555 para detectar la carga en el condensador que se filtra a través de un circuito RC. El voltaje resultante es amplificado por un amplificador para incrementar la sensibilidad en un rango de 0% a 100% de humedad relativa.
  • La termopila es un sensor infrarrojo pasivo fabricado por Melexis. El calor de los cuerpos negros en el campo del sensor de visión provoca una diferencia de temperatura entre la unión fría de la termopila y la membrana de la termopila. El sensor no requiere ningún voltaje de alimentación. La termopila incluye un termistor en la masa de silicio. El termistor puede ser usado para medir la temperatura de la unión fría en la termopila y calcular con precisión la temperatura del cuerpo negro.


Balance energético


Algunas aplicaciones de monitoreo de hábitat necesitan correr durante nueve meses, la longitud de una sola temporada de campo. Mica se ejecuta en un par de pilas AA, con una capacidad de 2.5 amperios-hora (Ah). Se realizo un cálculo conservador de que las baterías estarán en condiciones de suministrar 2.200 mAh a 3 voltios.

Suponiendo que el sistema funcionará de manera uniforme durante el período de implementación, cada noto tiene 8.148 mAh por día disponibles para su uso. La aplicación decide como asignar el presupuesto de energía entre modos de suspensión, sensores, cálculos locales y comunicaciones. En cualquier red, habrá un conjunto de nodos de potencia limitada; cuando estos nodos agotan sus suministros, la red se desconecta y se vuelven inoperables.


Instalación de estación base


Con el fin de proporcionar acceso remoto a las redes de monitoreo del hábitat, la colección de parches de redes de sensores está conectada a internet a través de un enlace de área amplia. En la isla Great Duck, se conectan a internet a través de una conexión vía satélite bidireccional proporcionada por Hughes, similar al sistema de DirecTV. El sistema de satélite está conectado a un ordenador portátil que coordina los parches del sensor y proporciona un servicio de base de datos. La estación base necesita funcionar como un sistema personalizado para una aplicación particular, ya que necesita funcionar sin supervisión.


Sistema de gestión de base de datos


La estación base utiliza la base de datos SQL Postgres. Esta almacena las lecturas con fecha y hora de los sensores, el estado de salud de los distintos sensores y de los metadatos (como la ubicación de los sensores). La base de datos se replica cada quince minutos durante el enlace satelital de área ampla a la base de datos Postgres en Berkeley.


Interfaces de usuario


Se esperan múltiples interfaces de usuarios en la parte superior de la base de datos de la red de sensores. Los sistemas de información geográfica proporcionan un estándar amplamente utilizado para el análisis de los datos geográficos. La mayoría de las estadísticas y los paquetes de análisis de datos, como Matlab, implementan potentes interfaces de datos relacionales.


Resultados



Treinta y dos motas se despliegan en la isla Great Duck, de los cuales nueve están en madrigueras subterráneas. La red de sensores se ha desplegado durante cuatro semanas a partir de la redacción de este paper. Se ha calculado que las motas tienen el poder suficiente para funcionar durante los próximos seis meses.

La gráfica anterior muestra los datos obtenidos del 18 de julio del 2002 al 5 de agosto del 2002. El dispositivo mote se coloco a varios metros por un túnel madriguera. Los valores trazados indican la diferencia entre la temperatura ambiente y el objeto en el campo de la termopila. También se muestra que un paiño boreal dejó la madriguera el 21 de julio y regresó el 23 de julio. El ave volvió a dejarla entre el 30 de julio y el 1 de agosto.


Conclusiones


Como se menciona en el documento, las aplicaciones de redes de sensores en áreas pequeñas donde es complicado tener acceso tienen un papel importante ya que en algunos casos es necesario monitorear a las especies que se encuentran en dicho hábitat, esto en especial es importante cuando algunas especies de algunos lugares están en peligro de extinción o cuando son una especie difícil de encontrar.

Considero que al contar con una red de sensores se pueden extraer datos importantes que los científicos pueden analizar con algún fin, también facilita mucho a que los mismos tengan que hacer acto de presencia en el lugar, y con ayuda de estas redes pueden monitorear el hábitat vía internet.


Referencia:

Joseph Polastre , Robert Szewczyk , Alan Mainwaring , David Culler , John Anderson, "Wireless Sensor Networks for Habitat Monitoring", Proceeding WSNA '02 Proceedings of the 1st ACM international workshop on Wireless sensor networks and applications, New York, 2002,  pp. 88-97. [En línea]. [Fecha de consulta: 26 de Mayo, 2013] Disponible en: http://www.cs.berkeley.edu/~culler/papers/wsna02.pdf

viernes, 24 de mayo de 2013

Laboratorio 13. Redes Sensoras

Para esta semana se nos pidió realizar lo siguiente:

  • Prepara una simulación simple de una red sensora (ad hoc) pequeña con nodos estáticos – con la herramienta de tu elección (puede ser ns u otra cosa o una combinación) en un terreno 3D (definido manualmente, con una función matemática o por ejemplo como un fractal.
  • Comunicación con rangos ajustables y TTL.
  • Estudia alguna propiedad de tu interés.
Una red de sensores es una red de ordenadores pequeñísimos (nodos), equipados con sensores, que colaboran en una tarea común.
Las redes de sensores están formadas por un grupo de sensores con ciertas capacidades sensitivas y de comunicación inalámbrica los cuales permiten formar redes ad hoc sin infraestructura física preestablecida ni administración central.

Las redes de sensores es un concepto relativamente nuevo en adquisición y tratamiento de datos con múltiples aplicaciones en distintos campos tales como entornos industriales, domótica, entornos militares, detección ambiental.

Para esta tarea decidí estudiar una propiedad, que es la detección de plagas en sembradíos. Para esto utilizando blender cree un terreno en tercera dimensión que simulara el sembradio. Por algunos problemas no me fue posible agregar esto mismo a la simulación que realicé en python así que en la simulación utilicé una imagen del terreno.

En la siguiente imagen se muestra el terreno que fue realizado en blender, batalle un poco y tuve que ver algunos tutoriales ya que nunca había utilizado esta herramienta y la verdad aprendí muchas cosas.




La simulación se hizo basada a la tarea pasada de mi compañero Juan Carlos, agregando código que hiciera lo que se nos pidió esta semana, así como también modificando algunas cosas como que los nodos fueran estáticos, agregando la "plaga" mediante puntos rojos que van apareciendo.

Lo que hace esta simulación es agregar 12 nodos sensores (es una variable que puede ajustarse), la plaga va apareciendo en cierta velocidad que también es ajustable en diferentes coordenadas dentro del canvas. Al aparecer la plaga se hace una verificación para saber si la plaga se encuentra dentro del radio de alcance del nodo sensor, si se da el caso de que se encuentre dentro del rango, se manda el mensaje de notificación a los nodos vecinos donde se dice que se detecto plaga en dicho sensor y también sale un mensaje en la terminal.

Se tiene un TTL definido que es ajustable, para que al terminar el 0 el mensaje ya no puede seguirse propagando.

Esta propiedad me pareció interesante, ya que hay muchos sembradios que se hechan a perder por causa de las plagas que se presentan en los mismos y en ocasiones hay veces que no se pueden salvar y se pierde mucha cosecha. Esta es una muy buena forma para ayudar a que esto no suceda. 

El código de la simulación es el siguiente:








El video de la simulación.



Referencias 

Es.wikipedia.org (2001) Red de sensores - Wikipedia, la enciclopedia libre. [online] Available at:http://es.wikipedia.org/wiki/Red_de_sensores [Accessed: 24 May 2013].

Juan Carlos Espinosa Ceniceros (2013) [RT] Tarea 7: Simulación redes ad-hoc  - Blogger [online] Available at: http://juankenny.blogspot.mx/2013/05/rt-tarea-7-simulacion-redes-ad-hoc.html [Accessed: 24 May 2013].

martes, 21 de mayo de 2013

Resumen: MADF, A Novel Approach to Add an Ad-Hoc Overlay on a Fixed Cellular Infrastructure

El servicio inalámbrico cada vez está ganando más popularidad recientemente. En un sistema, las terminales móviles (normalmente computadoras) en una celda son capaces de acceder a la infraestructura alámbrica como el Internet a través de canales inalámbricos. El tráfico en una celda puede variar constantemente, es por eso que se tienen que asignar canales inalámbricos a las celdas de forma que el tráfico sea distribuido para satisfacer los requerimientos de un sistema operativo.

Normalmente, un conjunto de canales inalámbricos son asignados a una celda de forma fija en la implementación del sistema. De esta forma, el patrón de reutilización puede ser optimizado y el control de la asignación de canales a una terminal móvil se simplifica. Sin embargo, este sistema no puede acomodar el tráfico en una celda, cuando el tráfico incrementa, el retardo de paquetes puede incrementar a un nivel no deseado.

Para eliminar este inconveniente, se han propuesto esquemas de asignación de canales globales, en los que un grupo de canales se puede asignar dinámicamente a una celda en función de su demanda de tráfico actual. Sin embargo, en esto también hay inconvenientes ya que se requiere un control más centralizado y completo. Para el compromiso entre la asignación de canales fijos y la asignación dinámica, se propone un enfoque en el que algunos de los canales dinámicos pueden dejarse a un lado de la red de asignación fija de manera que una celda con mucho tráfico puede pedir prestado los canales de sus celdas vecinas con poco tráfico. Este sistema asigna más canales a las celdas con mucho tráfico para acomodar más tráfico en las otras celdas y requiere que el patrón de reutilización de canal tiene que estar constantemente ajustándose para el tráfico actual. 

En este estudio se propone que en lugar de asignar más canales a una celda con mucho tráfico, una parte del tráfico se desvíe fuera de la celda con mucho tráfico y se transmita a sus celdas vecinas con poco tráfico, consiguiendo de esta forma la carga de equilibrio entre las celdas y el aumento de tráfico.

En el reenvío de datos, el grupo de canales inalámbricos se divide en canales físico y canales de reenvío. El número de canales de reenvío es normalmente pequeño, por lo que el costo de dejar de lado un canal de este tipo es bajo. Una terminal móvil en una celda con mucho tráfico puede utilizar los canales de reenvío para transmitir sus datos a una celda con poco tráfico. Debido a que los datos tienen que cruzar por la frontera o el límite de la celda, se requiere un agente de reenvío intermedio en la celda con poco tráfico para retransmitir los datos a esa celda. Un agente de reenvío simplemente transmite datos, no es una estación base, puede ser un repetidor colocado alrededor del límite de una celda, también puede ser otro terminal móvil.

El agente de reenvío puede servir a múltiples usuarios al mismo tiempo, los datos pueden saltar a través de más de un agente de reenvío antes de ser recibida por una estación base. En este estudio se supone que el agente de expedición es una terminal móvil. En la siguiente figura se observa un sistema con reenvío de datos, en el que las celdas poco transitadas están sombreadas. El usuario D, G y B son los agentes de reenvío. Por ejemplo aquí se necesitan dos saltos para que los datos del usuario C sean absorbidos por la estación base. Como el usuario E no puede encontrar un agente de reenvío manda su tráfico a su celda vecina con poco tráfico.

Operación del sistema y análisis


En el reenvío de datos, el  agente de de tránsito que se dispone a enviar los datos, primero mide el tráfico local en su celda. El tráfico local puede medirse a través del envío de algunos paquetes de prueba a la estación base y observando el retardo de paquetes. Si el tráfico en la celda es menor que el umbral, el agente de reenvío emite una señal de que se encuentra libre en el canal de reenvío periodicamente. 

Los usuarios que se encuentran en una celda con tráfico recogen la señal que indica que esta libre cuando el retardo de paquetes en dicha celda supera un determinado umbral. Para reducir la interferencia, el usuario puede alcanzar sólo los agentes en sus celdas vecinas. El usuario debe monitorear los retardos de sus paquetes y cuando el canal de reenvío ya no puede satisfacer el requerimiento del retardo, el usuario debe dejar de utilizar el canal de reenvío y tratar de buscar un nuevo agente.

Existen dos valores umbrales de tráfico para los usuarios que se encuentran en las celdas con mucho tráfico:
  1. El tráfico en el cual el usuario empieza a utilizar el canal de reenvío.
  2. La carga cuando el usuario deja de utilizar debido al tráfico en su misma celda regresa a algún valor bajo.
El usuario debe elegir dividir su tráfico entre su canal local y el canal de reenvío para así lograr el menor promedio del retardo de paquetes.

TDMA
En un sistema TDMA, cada una de las celdas tiene un canal. Cada trama se divide en (m+1) intervalos de tiempo, entre las que la primera ranura se usa como una ranura de control. Cada ranura puede cargar un paquete de datos, excepto la ranura de control. Cuando un nuevo usuario entra al sistema, el sistema esperará a la ranura de control y manda una señal de solicitud para contender a las ranuras libres en el frame. Si existe una colisión en la ranura de control, el usuario manda la señal de solicitud después de un número aleatorio de frames. Si el usuario no puede encontrar una ranura libre en el marco después este mismo transmite una señal de solicitud exitosamente. 

In a TDMA system, let each cell have one channel. Cada trama se divide en (m+1) intervalos de tiempo, entre las que la primera ranura se usa como una ranura de control. Cada ranura puede cargar un paquete de datos, excepto la ranura de control. Cuando un nuevo usuario entra al sistema, el sistema esperará a la ranura de control y manda una señal de solicitud para contender a las ranuras libres en el frame. 

Si se supone que cada usuario tiene un gran número de paquetes para transmitir continuamente. Cuando el usuario obtiene una ranura libre, él va a utilizar la misma ranura hasta que todos los paquetes sean transmitidos.Podemos hacer una suposición adicional de que el tasa de llegada del nuevo usuario en el sistema es lo suficientemente baja como para que la señal de solicitud ranura siempre se pueda transmitir con éxito. 

Por medio del sistema de control central en la estación base, MADF puede utilizarse también por el sistema TDMA. Sin embargo, los usuarios que se encuentran fuera del sistema de cobertura no tienen el servicio. En un sistema TDMA con el esquema MADF, se asigna un canal extra para reenvío de datos. El canal de reenvío es también repetido en los frames. Cada frame tiene ranuras con una longitud, todas las ranuras son ranuras de datos, y estas ranuras son llamadas ranuras de reenvío. Ahora se asume que las ranuras de reenvío se utilizan en una celda con tráfico para transmitir los datos reenviados.  

Si el sistema TDMA utiliza el esquema MADF para reenviar datos con alguna de las ranuras de reenvío y no hay un tráfico local para el agente, el rendimiento del umbral mejora cuando el requisito de retardo es mayor.

Conclusiones


El esquema de reenvío que se propone me parece muy bueno, ya que puede ayudar a mejorar el rendimiento de los  paquetes que se envían, tomando en cuenta el tráfico que tienen las ranuras y observando que tanto es el tráfico que contienen los canales para así clasificarlos en ranuras que se encuentran libres de tráfico y ranuras que tienen mucho tráfico. Esto ayuda mucho al rendimiento ya que se utilizan agentes de reenvío de datos para cuando haya mucho tráfico pasar los datos a otra ranura vecina y que pueda llegar toda la información correcta.

Por lo tanto esto puede ayudar mucho para hacer que la transmisión de paquetes no tenga mucho retardo y puedan mandarse de manera adecuada pudiendo también tener un control del tráfico que tienen las diferentes ranuras.

Referencias

Xiaoxin Wul, S. -H. Gary Chan, and Biswanath Mukherjee, "MADF: A Novel Approach to Add an Ad-Hoc Overlay on a Fixed Cellular Infrastructure", IEEE Wireless Commun. and Net. Conf., 2000 

Retroalimentación del propio equipo


Cosas que salieron bien

Este proyecto tenía muchas funcionalidad diferentes para el garage,  una de estas es la aplicación móvil que permite abrir y cerrar el garage, también mediante lectores de códigos QR, así como también envío de notificaciones cuando se encuentre detección de movimiento fuera del garage. 

Algo extra que e implementó algo extra que es la invitación para cuando alguien vaya ir a tu casa se genera un código QR que tiene fecha y hora de expiración, esto es muy bueno en cuanto a seguridad ya que si invitas a alguien a tu casa y sabes que va a ir al día siguiente al ponerle esta expiración evitara que no pueda accesar después de la fecha indicada. 

Otra cosa extra que logramos es la creación de una página web básica donde se puede encontrar el historial de las veces que se abre y cierra la puerta del garage así como una identificación del usuario que realizó esta acción


¿Porqué salieron bien?

Todo esto salió bien gracias a que todos contribuimos en cierta forma a que esto se pudiera lograr y también se pudo implementar cosas que no se tenían contempladas. Aunque nos enfocamos en lo que es el software logramos muchas funcionalidades nuevas que ayudan a mejorar nuestro sistema y que sobresalga de los ya existentes que lo único que hacen es abrir o cerrar la puerta.

Todo esto funcionó también gracias a la ayuda del líder del equipo que era el que nos ponía al tanto de lo que se tenía que hacer para cada fase y en base a esto nos dividíamos para realizar las actividades de dicha fase.

Cosas que se pudieran mejorar

Algo que se podría mejorar sería la detección de carros intrusos fuera de tu casa tomando las placas del carro para así poder saber si es alguien que no debería estar ahí aunque con el uso de la notificación se envía una foto para que el usuario pueda conocer la identidad de esa persona o del carro que se encuentra fuera, pudiendo saber si se trata de algún vecino o de alguien más.

Lo de las invitaciones mediante códigos QR podría funcionar muy bien creando códigos QR propios, ya que esto ayudaría mucho a que sea un código único y se pueda tener más seguridad.

Problemas

Todo funciona por separado, es decir a pesar de que hubo muchas implementaciones extras, no se implemento todo como un conjunto.  Esto también debido a que nos enfocamos en el software y faltó la implementación de hardware. Hizo falta la implementación en escala, pero es algo que ya teniendo todo lo relacionado al software es muy fácil solo basta con conseguir los elementos necesarios para construir la simulación. 

Otro de los problemas que se presentaron fue que en algunas entregas no hubo la planeación adecuada y terminábamos realizando todo de último momento. Esto sucede muy comúnmente ya que nos confiamos y dejamos todo para el final.

Como evitar los problemas

Estos problemas se pueden solucionar organizándonos con más tiempo y juntándonos para que cada quien presente su parte realizada y hagamos una retroalimentación del propio equipo donde se diga lo que ocasionó problemas para que los demás miembros puedan ayudar a solucionarlos para después establecer un tiempo para poner como conjunto todo lo que se realizó.

Establecer metas que se tienen que realizar en cierto tiempo y cumplirlas como debe ser, hacer una buena calendarización del proyecto para evitar que todo salga a última hora. También ponernos de acuerdo de lo que se va a hacer y repartir bien las actividades que se van a realizar.

Conclusión

Para mi punto de vista, pienso que se logró un buen proyecto con la ayuda de todo el equipo, me parece muy bien que se hayan implementado también cosas que no estaban contempladas desde un inicio ya que eso ayuda mucho a que el sistema sea más efectivo y agradable al usuario.

Es un proyecto que puede tener futuro ya complementando todo lo que se realizó en conjunto y que después se pueda implementar en un prototipo real de un garage, primero haciendo el prototipo a escala para verificar que cosas salen bien y que cosas salen mal. Considero que fue un muy buen trabajo y puede tener mucho éxito si seguimos realizándolo. 

Retroalimentación a proyectos finales


SeguriLap

Este proyecto está muy bien lo único que considero que les falta y es importante es la autenticación completa del usuario. Considero que es importante que se tenga una autenticación adecuada del usuario ya que es el centro principal del sistema y pues si se trata de seguridad debería poder detectar el usuario sin ningún error. Se debería considerar un poco más de tiempo para que se bloquee la computadora porque puede ser fastidioso que apenas corras el sistema y te voltees un momento y ya se bloqueo, por lo menos darle tolerancia de unos 10-20 segundos. 

En el caso de la pausa de la reproducción del video al voltearse se pausa pero también se suspende el equipo, debería suspenderse en caso de que la persona ya no este frente a la computadora aunque este volteando a algún lado, porque cada ves que se voltee se va a bloquear y tendrán que poner la clave de la computadora. En la detección del usuario, toma en cuenta los ojos del usuario, pero como la calidad de la cámara web no es muy buena podría confundir a la persona dueña de la computadora con  alguna otra.

AutoNXP

Para el acceso del usuario considero que debería haber otra forma para proteger la seguridad del usuario, ya que con sólo utilizar tarjetas RFID puede producir algunos problemas porque se puede perder o puede ser robada, lo que les faltó implementar que era también la conexión con un dispositivo Android . 

En la personalización de música, podrían utilizar un sistema que haga que dependiendo de la música que más escuche se le sugieran algunas canciones del mismo tipo de música, por ejemplo si un día está escuchando sólo música pop, que se reconozca y que se personalice una lista de reproducción con la música del tipo que se escucha en ese momento. Hubiera estado mejor si se hubiera realizado una simulación a escala para ver lo que se tenía avanzado hasta ahora. 

Despertador Inteligente

El proyecto me parece muy bien, supieron implementar todo lo que tenían planeado y que funcionara como debe ser, tomando en cuenta muchos aspectos importantes. En los tonos que se utilizan para la alarma, se debería tomar en cuenta el tipo de persona que es el usuario, ya que hay personas que batallan para escuchar y necesitan un sonido más fuerte o que no se despiertan aunque haya un ruido tranquilo con el fin de que el sistema pueda funcionar de la mejor manera posible. Se debe tener cuidado al poner lo electrónico debajo de la cama ya que como es un producto flamable puede ocasionar algunos problemas. 

También al detectar si se encuentra alguien en la cama se debería tomar en cuenta que sea la persona indicada, ya que puede que algún día la persona no duerma en su casa y deje cosas encima de la cama que causen presión y pueda ser confundido y la alarma suene, se podría hacer mediante un rango de peso que debería tener la cama cuando el usuario se encuentre acostado en ella.

Galería Inteligente

Este proyecto está muy interesante y puede llamar la atención de muchas personas que como dicen ya no acuden a museos o galerías donde se muestran obras de arte. Considero que lo que les faltó es algo muy sencillo ya que consta solamente de un contador de las personas que ven la obra y obtener las gráficas para el encargado del lugar, lo único que sería difícil ahí y que recomendaría es que no contabilizara dos veces a la misma persona si es que regresa a ver la misma obra. El prototipo utilizado es muy parecido a la realidad y es agradable para el usuario. 

Seguridad en el Hogar

La planteación del proyecto era buena, pero no se logró llegar al objetivo principal que es la seguridad en la casa, solamente se implementó la detección de movimiento pero no serviría de nada porque no detecta nada en específico, solamente con una sombra que haya o cualquier movimiento lo detecta. Hay muchos algoritmos que se pueden utilizar utilizando librerías para detectar a una persona, ya que también se podría detectar un perro pero pues lo importante es detectar si hay intrusos en casa. 

Lamentablemente algunos de los componentes de hardware necesarios para este proyecto son un poco caros pero considero que pudieron haberse organizado para comprar algunas cosas entre todos pienso que más que nada fue problema de organización.

Alarma de Automóvil


Este proyecto me parece muy buena idea ya que existen muchos carros que no cuentan con alarma y tal ves resulta muy caro ponerle alguna alarma. Es algo muy práctico que se puede realizar con elementos que son más económicos. Lo que creo que deberían de considerar es que si detecte al dueño del carro para que la alarma no suene cuando realmente se encuentre la persona autorizada.

La implementación de GPS es importante en este caso ya que podría servir mucho al momento que alguien quiera robar tu automóvil para saber en que lugar se encuentra esa persona.

Localización Inteligente de Dispositivos Bluetooth


Para este proyecto considero que en cuanto a la usabilidad y la interfaz pudieron hacer algo más agradable al usuario y con iconos que puedan mostrar algo que tenga que ver con el botón ya que al ser una aplicación móvil el que tenga botones con texto hace que no se pueda percibir muy bien.  Para mejorar esto, podrían hacer que si estas en alguna parte de tu casa y no recuerdas donde dejaste el celular, podrías mediante el celular de tu mamá utilizar esta aplicación para localizar donde se encuentra tu dispositivo.

Pienso que es una buena idea el proyecto pero no se supieron organizar para concentrar todo lo que tenían pensado hacer en un principio para obtener un buen resultado.

Oficina personalizada


En este proyecto, me parece muy buena la idea de lector de rostro, ya que como lo dije anteriormente en alguna otra retroalimentación para mayor seguridad debería haber otra forma aparte de las tarjetas RFID para ingresar a la oficina, en este proyecto se combinaron la detección de las tarjetas así como la detección de rostro, esto da más seguridad de que sea la persona autorizada la que pueda entrar a la oficina.

Es una muy buena idea, ya que a cualquiera que tenga una oficina le gustaría que esta se adaptara a sus preferencias, ya sea que se reproduzca la música cuando te encuentres trabajando, que cuando entres se abra Facebook o Twitter para ver tus notificaciones, también se podría que se abriera el correo electrónico.

Borrador Plan de Negocios


Para esta tarea de laboratorio se nos pidió realizar un plan de negocio de algún proyecto con aplicaciones en el área de cómputo ubicuo. El proyecto que yo elegí es utilizar lectores RFID para tomar asistencia en clase.


Tarjetas RFID para tomar asistencia

Definición

El proyecto consistiría en tarjetas para los alumnos de las escuelas. Éstas tarjetas serían tarjetas RFID con el fin de que los alumnos puedan identificarse con esta y obtener su asistencia de dicho día. Para esto se tendría un lector de tarjetas RFID para que al entrar al salón esta tarjeta sea leída mediante el lector, el cual obtiene datos que serán almacenados en una base de datos para obtener información de que alumnos asistieron y quienes no asistieron, así como también almacenar las horas de llegada. Con esto se puede tener fácilmente un control de faltas que cada alumno tiene.


Tipo de Organización Propuesta

El objetivo es dar un servicio a los alumnos de las diferentes escuelas, esta empresa será una organización de propiedad colectiva, ya que estará formada por varias personas que se comprometan a participar en la gestión de la empresa con los mismos derechos y obligaciones. Dado a que será un grupo de máximo 5 personas no afecta tanto el no tener un directivo que dirija toda la empresa, todos los socios de la misma pueden hacer cualquier acción y todos darán puntos de vista e ideas para ir mejorando poco a poco.

Bases de crecimiento

La idea principal de este proyecto es facilitar la toma de asistencia en un salón de clases para evitar perder tiempo en que el maestro(a) diga todos los nombres de la lista y a veces tenga que repetirlos porque siempre hay alguien despistado que no escucha su nombre. Este proyecto de tarjetas RFID existe para la entrada de acceso de algunas escuelas, también para entrar a la oficina, pero creo que no existe o no se utiliza mucho por lo menos en México, el tomar asistencia por medio de éstas tarjetas. 

Una de las necesidades que se puede atacar también con esto, es al momento de poner puntos extra en alguna clase o estar calificando a un equipo exponer un proyecto, es que mediante las tarjetas también pueden registrarlos para ponerles los puntos. Con estos puntos el proyecto podría crecer aún más ya que daría muchos beneficios tanto para los alumnos como para los maestros.

Justificación

La tecnología de Identificación por Radiofrecuencia (RFID) es un sistema que permite que la información contenida en un dispositivo sea leída a distancia. Esta tecnología ha estado disponible comercialmente desde la década de los años setenta. Hoy en día es parte de nuestra vida cotidiana, puede verse en llaves de automóviles, tarjetas de identificación de empleados, facturaciones, expedientes médicos, tarjetas de acceso seguro, etc. Considero en mi punto que este proyecto tendría muchos beneficios al utilizarse en el salón de clase ya que muchas veces a los maestros se les olvida tomar lista o como mencionaba anteriormente también a los mismos alumnos se les pasa decir "presente" al tomar lista el maestro. También cuando van a dar clase o participan por puntos extras muchas veces el maestro dice que le recuerden al final de la clase para ponerle los puntos y la mayoría de esas veces se nos olvida.

Objetivo

El objetivo de este proyecto es hacer más fácil la toma de asistencia en un salón de clases, así como que el maestro ponga puntos extras, o puntos por dar una clase, entre otras cosas ya que a veces es tedioso para los maestros tener que tomar lista o a veces se les olvida.

Necesidades que satisface:

  • Toma de asistencia mediante tarjetas RFID
  • Conteo de faltas
  • Agregar puntos extras a los alumnos
  • Agregar puntos de alguna presentación

Clientes


Los clientes para este negocio son obviamente los maestros de las escuelas, creo que más que nada en preparatorias y universidades ya que es donde se ponen más estrictos con la asistencia y el conteo de faltas.

Ánalisis FODA


Fortalezas
  • Este proyecto puede ser de gran innovación para las escuelas que cada ves tienen más interés por las nuevas tecnologías.
  • Será posible tomar asistencia por medio de las tarjetas RFID y tener un control más adecuado de la misma.
  • Utilizar la tarjeta para cuando vayas a dar una presentación y que la maestra te calificará.
  • Los beneficiados serán tanto los alumnos como los maestros
Oportunidades
  • Como la tecnología va avanzando se pueden ir adaptando cosas nuevas y mejorando.
  • En algunas escuelas se utilizan tarjetas de identificación RFID para ingresar a la escuela.
Debilidades
  • La tecnología crece día a día y puede que en un futuro estas tarjetas se dejen de utilizar.
  • Algunos usuarios que no tengan conocimientos de tecnología pueden no estar de acuerdo con este proyecto.
  • Sería una inversión grande por parte de la escuela al querer colocar lectores de estos en cada uno de los salones.
Amenazas
  • Sector tecnológico en constante evolución.
  • Alguien pueda tomar la tarjeta RFID de alguien más y utilizarla con malas intensiones.
Slideshare.net (n.d.) Ejemplo de un Plan de Negocios. [online] Available at:http://www.slideshare.net/jcfdezmxestra/ejemplo-de-un-plan-de-negocios [Accessed: 20 May 2013].

Unknown. (n.p.) Plan de Negocios. [e-book] conacyt. p.1-8.http://www.conacyt.gob.mx/FondosyApoyos/Insitucionales/Avance/Documents/Ejemplo-de-Plan-Negocio.pdf[Accessed: 20 may 2013].








Reconocimiento de objetos



Propósito

En la actualidad, conforme la tecnología va avanzando se realizan diferentes métodos para el reconocimiento de objetos, todos estos con ventajas y desventajas pero todos con un objetivo en común que es la detección.

El propósito de este proyecto es poder detectar objetos similares, a través de imágenes, se analizan las esquinas de los diferentes objetos en la imágen y se establecen puntos de interés para extraerles sus características y así poder encontrar puntos similares en las dos imágenes y saber con esto si se trata del mismo objeto. 

Justificación

En ocasiones se necesita detectar objetos con las mismas características para realizar diferentes cosas, ya sea imágenes panorámicas, detección de rostros, monitoreo de objetos, para que un robot reconozca los objetos del entorno en el que se está desarrollando, entre otras cosas.

Un uso que se le puede dar a este proyecto es al hacer un inventario de tus objetos personales, los que son más común que se te pierdan, ya sea tus llaves o tu cartera, se puede realizar una aplicación que sirva para encontrar dichos cuando se encuentren extraviados, ya sea en el cine debajo del asiento, o incluso en la bolsa de mano en el caso de las mujeres.





Diseño del Software

El proyecto fue desarrollado en el lenguaje de programación Python, utilizando como sistema operativo Ubuntu 12.04.

La detección de los objetos en la imagen se hace analizando cada imagen, y encontrando mediante las esquinas (algoritmo Harris Corners Detection), los puntos de interés de las mismas. Con esto se pueden extraer las características de los puntos de interés para con esto poder saber si hay algunos puntos semejantes en las dos imágenes. Al tener estas características y obtener los puntos semejantes, se realiza una unión dependiendo de las características de estos puntos para encontrar los puntos que son semejantes en dichas imágenes. Estos puntos se unen cada uno con el que le corresponda en cuanto a características y al final se muestra una imagen que muestra mediante líneas los puntos que salieron semejantes entre las dos imágenes.

El programa consta de diferentes funciones.

  • Corner_detection. Calcula las esquinas que tiene la imagen utilizando una función de opencv que realiza el algoritmo de Harris Corner Detection, el cual localiza los puntos de interés en los alrededores analizando cambios de intensidad que se producen en cada píxel para un tamaño determinado de ventana.  
  • Get_descriptors. Teniendo los puntos de interés en cada una de las imágenes se obtienen los descriptores de cada uno de estos puntos, los descriptores son vectores que describen la apariencia de la imagen en un punto dado, esto sirve para obtener los puntos semejantes de las diferentes imágenes.
  • Match. Se localizan los puntos en común de una imagen con la otra con ayuda de los descriptores, para cada punto descriptor de la primera imagen se selecciona un punto descriptor de la segunda imagen.
  • Plot_matches. Esta función une los puntos que se obtuvieron en la funcion match mediante líneas para así unir estas semejanzas por medio de líneas con ayuda de la libreria pylab.
 
El siguiente diagrama muestra el procedimiento que se tiene que seguir para obtener como resultado la detección de objetos similares en las imágenes.







Detección de esquinas (Harris Corner Detection)





Resultado. Líneas que muestran los puntos semejantes de ambas imágenes




Librerías

Para la realización de este proyecto se utilizaron diferentes librerías que sirvieron de mucha ayuda ya que facilitan muchos procedimientos y sobre todo te permiten utilizar algoritmos más eficaces y rápidos. 


  • OpenCV: es una librería libre de visión computacional originalmente desarrollada por Intel. Se ha utilizado para un sin fin de aplicaciones, desde seguridad con detección de movimiento hasta aplicativos de control de procesos donde se requiere reconocimiento de objetos.
  • Pylab: es una librería para la generación de gráficos a partir de datos contenidos en listas o arrays en el lenguaje de programación Python y su extensión matemática Numpy.
  • Numpy: es una extensión de Python, que le agrega mayor soporte para vectores y matrices, constituyendo una biblioteca de funciones matemáticas de alto nivel para operar con esos vectores o matrices.
  • PIL (Python Imaging Library): es una librería externa del lenguaje de programación Python que añade soporte para abrir, manipular y guardar diferentes imágenes en diferentes formatos.  

Desempeño

Para evaluar el desempeño se tomó el tiempo que se tarda en realizar todo el procedimiento en diferentes imágenes, obviamente entre más grandes sean las imágenes más tarda, el tiempo promedio que toma en hacer todo el procedimiento es de  12.9 segundos.

La resolución de la imagen como lo mencione es un factor muy importante el desempeño del procesamiento.


En imágenes con mayor resolución aparte de que tarda más tiempo también genera mejores resultados ya que detecta un mayor puntos de interés. En las imágenes de poca resolución toma en cuenta menos puntos de interés.

Resultados con las mismas imágenes pero con diferentes resoluciones.

Algunos de los resultados obtenidos son los siguientes.

Primer resultado.
Puntos de interés encontrados imagen 1 = 2443 Puntos de interés encontrados imagen 2 = 5012 
Resolución imagen 1 = 1080x720 pixeles
Resolución imagen 2 = 1280x800 pixeles
Tiempo de procesamiento = 24.24 segundos

Segundo resultado.
Puntos de interés encontrados imagen 1 = 2237 Puntos de interés encontrados imagen 2 = 3552
Resolución imagen 1 = 900x600 pixeles
Resolución imagen 2 = 1100x688 pixeles
Tiempo de procesamiento = 18.26 segundos

Tercer resultado.
Puntos de interés encontrados imagen 1 = 2124Puntos de interés encontrados imagen 2 = 2833
Resolución imagen 1 = 850x567 pixeles
Resolución imagen 2 = 950x594 pixeles
Tiempo de procesamiento = 11.24 segundos

Cuarto resultado.
Puntos de interés encontrados imagen 1 = 2109Puntos de interés encontrados imagen 2 = 2773
Resolución imagen 1 = 800x533 pixeles
Resolución imagen 2 = 900x563 pixeles
Tiempo de procesamiento = 9.74 segundos

Quinto resultado.

Puntos de interés encontrados imagen 1 = 2007Puntos de interés encontrados imagen 2 = 2311
Resolución imagen 1 = 750x500 pixeles
Resolución imagen 2 = 800x500 pixeles
Tiempo de procesamiento = 7.72 segundos

Promedio: 12.9 segundos



Gráfica de tiempos




Debilidades


Una de las debilidades más importantes es que al momento de hacer la unión de los puntos semejantes, no todas las uniones son correctas y esto puede realizar un problema al hacer la detección de alguna cosa importante.



Otra de las debilidades es el tiempo ya que como se analizan puntos de interés tiene que encontrarlos y tratarlos y entre más grande sea la imagen más puntos habrá pero esto ayuda a obtener un mejor resultado.

La interfaz donde se muestra el resultado es una más de las debilidades ya que simplemente se muestra una imagen al lado de la otra y mediante líneas son detectados los puntos en común.



Trabajo a futuro

Mejorar interfaz de resultado
  • La interfaz es una parte importante para el sistema ya que como el objetivo principal es de detectar objetos, los puntos en común entre las dos imágenes se deben mostrar de una forma diferente donde se pueda ver claramente cuales son los puntos en común entre las mismas ya que por medio de líneas no se puede mostrar claramente porque se sobreponen una sobre otra. Una idea mejor sería marcar los puntos en común con colores diferentes. También que se identifiquen los diferentes objetos en común de las imágenes localizando mediante un marco o cuadro sin relleno a dichos objetos. 

Mejorar la detección de puntos semejantes
  • Con el fin de que todos los puntos que se unan sean semejantes y no haya ninguno o sean muy pocos los que no coincidan, y a partir de esto se pueden hacer cosas como video en tiempo real para detectar objetos con la cámara web mediante una imagen como template. 
Realizar una aplicación móvil 
  • En la que se puedan encontrar con ayuda del flash del celular, objetos que se encuentren en lugares oscuros como abajo del asiento del cine (cuando se te cae dinero, o las llaves) y también para encontrar objetos en la bolsa de la mujer, ya que es uno de los problemas que ocurre seguido ya que siempre está llena de cosas y es difícil encontrar un objeto en específico.

Control de versiones

El proyecto se encuentra en línea en un repositorio. La liga del repositorio es la siguiente:

https://github.com/carmensrz/VisionFinal


Videos








Referencias:
Corner detection. (2013, April 28). Retrieved from http://en.wikipedia.org/wiki/Corner_detection
Opencv documentation. (2013, February 15). Retrieved from http://docs.opencv.org/2.4.4-beta/index.html