domingo, 26 de mayo de 2013

[RT] Tarea 8: Redes sensoras


El tema de esta tarea es referente a redes sensoras, el documento seleccionado para su lectura fue:

...
Distributed Control Applications
Within Sensor Networks

Bruno Sinopoli, Courtney Sharp, Luca Schenato, Shawn Schaffert, S. Shankar Sastry,
...

1. Introducción

El paper nos habla acerca dela importancia que están ganando las redes sensoras en aplicaciones de control. El uso de sensores, actuadores y controladores programados para realizar ciertas funciones específicas esta creciendo y muchas veces necesitan combinarse en redes para realizar tareas más complejas, por ejemplo, los controladores del motor de un automóvil conectados entre si.
Así mismo, los MEMS son un tipo de sensores que permiten desplegar de manera económica amplias redes sensoras.
Sin embargo, también se nos muestra el lado impráctico, al momento de mantener una red de miles de sensores  mantener todos los sensores funcionales y conectados a cada momento.
Y como ya sabemos, existen diferentes investigaciones para utilizar este tipo de redes, por ejemplo, en el monitoreo del clima, terremotos, sistemas de transportación, aplicaciones militares y de automatización.
Son importantes las investigaciones que se están realizando para desplegar grandes redes sensoras autoconfigurables, seguras e indetectables; así mismo, combinar la tecnología ad-hoc para su rápido despliegue y la implementación de otras tecnologías como servicios de tiempo, geolocalización, ruteo, etcétera.


2. PEG's


El objetivo de la investigación presentada en el paper es la de diseñar controladores confiables y robustos para sistemas distribuidos. Para su prueba se ha seleccionado una aplicación llamada pursuit-evasion game (PEG) (juego de evasión-persecusión) .

Que consiste en desplegar una red sensora en un entorno donde se desarrolla un juego  de cooperación con un equipo de perseguidores. Para un PEG, la red sensora debe ser capaz de seguir los vehículos y distinguir entre los perseguidores y evasores, y así mismo tener una dinámica de enrutamiento y estructura para ofrecer información a los perseguidores en tiempo mínimo. Dado que el juego se juega en un entorno distribuido, la detección, control y accionamiento necesitan tenerse en cuenta durante el diseño del controlador. También la red debe proporcionar características de seguridad. Por último, ya que cualquier nodo de un red sensora puede fallar, algoritmos de control deben mostrar la degradación del rendimiento esperado.


El framework PEG contiene las características fundamentales para el modelado y diseño de robotica  multiagente y cooperativa que ha sido un área activa de investigación en las últimas décadas. En esta sección.

2.2 Qué es un PEG?


Los PEG son una abstracción matemática derivada de numerosas situaciones que aborda el problema de controlar un enjambre de agentes autónomos en la persecución de uno o más evasores. Ejemplos típicos son las operaciones de búsqueda, rescate y captura, la vigilancia, la localización y el movimiento de partes en un almacén. En algunos casos, los evasores están evitando activamente la detección, como en misiones de captura, mientras que en otros casos, su movimiento es al azar, como en las operaciones de rescate.


En este tipo de juegos, el campo de juego se abstrae de ser un conjunto finito de nodos y movimientos permitidos para los perseguidores y evasores, a estar representadas por aristas que conectan los nodos. Un evasor es capturado si tanto el evasor y uno de los perseguidores ocupan el mismo nodo.

Uno de los problemas más importantes de este juego es el cálculo del número buscadores, es decir, calcular el menor número de perseguidores necesarios para capturar una evasor en un tiempo finito, independientemente de la política de escape utilizada por el evasor, se ha demostrado que este problema es NP-hard. Esta aproximación se limita sólo a los peores movimientos de los evasores, que en general, son excesivamente pesimistas.


Otra área activa de investigación trata el problema del medio ambiente donde se desarrolla el PEG cuando éste es desconocido. En este marco, se requiere una fase de reconocimiento para proceder con la búsqueda. Esta fase consume mucho tiempo y es computacionalmente intensiva, incluso cuando son ambientes simples en 2D. Por otra parte, los sensores inexactos complican a menudo este proceso que requiere un enfoque probabilístico.
Por último, un enfoque reciente de PEG se ha ocupado de combinar el cálculo de los evasores con el reconocimiento del terreno.

2.2 Las redes sensoras en PEG


El uso de un redes sensoras puede mejorar en gran medida el rendimiento de un PEG. Los perseguidores tienen una rango de detección muy pequeño y por lo general, emplean la visión computacional o por ultrasonidos, proporcionando sólo una visión local sobre la zona de interés. Esta limitación hace dificil que una red cooperativa pueda adaptarse a un algoritmo debido a la falta una visibilidad completa que sólo permite políticas de persecución subóptimas.


La comunicación entre los perseguidores puede ser díficil en una área grande. La falta de comunicación, aunque sea parcialmente, entre perseguidores es una interrupción importante en cualquier política de persecución. Con una red sensora, la visibilidad completa del campo y la comunicación en un amplio rango es posible  La búsqueda global  se pueden realizar de manera eficiente para encontrar la solución óptima independientemente del nivel de inteligencia de los evasores. Además, el número de perseguidores necesarios estaría en función exclusivamente del número de evasores y no al tamaño
del campo.
Otro punto importantes a analizar son los siguientes:

  • Tiempo: La noción de tiempo presenta dos problemas distintos, en primer lugar, la coordinación de detección y actuación en el terreno físico requiere ya sea un sentido del tiempo global o la capacidad para resolver diferentes mediciones de tiempo a una significativa representación. En segundo lugar, muchas técnicas de diseño existentes asumen que el cálculo de control y el procesamiento de detección y accionamiento se producen dentro de una cantidad insignificante de tiempo, por lo que requiere nuevas técnicas de diseño y análisis para las redes sensoras.
  • Comunicación: Se espera que una red de sensores tendrá una área espacial significativamente mayor que una sola área de comunicación máxima de un solo sensor. Para que un sensor envíe un mensaje a otro, sensores intermedios deben ser capaces de retransmitir el mensaje. Además el protocolo de comunicación debe ser robusto a cambios en la red.
  • Ubicación: La detección y actuación a eventos en el terreno físico deben estar emparejados con la posición relativa o absoluta del sensor para ser útiles por los algoritmos de control. La ubicación debe ser asumida o deducido.
  • Cooperación: Las tareas requieren el esfuerzo cooperativo de dos o más sensores, como cualquier forma de detección y computación distribuida, se  requieren protocolos y estructuras que proporcionan la negociación, coordinación, y jerarquía de los nodos.
  • Energía: La energía es un recurso valioso en una red sensora. Para garantizar el servicio y rendimiento de una red sensora, el consumo de energía debe ser equilibrado.
  • Seguridad: Para evitar posibles infiltraciones de una red sensora, se debe contar con una capa de seguridad en las comunicaciones que debe proporcionar control de acceso, integridad de mensajes y confidencialidad.
Cómo se ve el juego originalmente

Visibilidad ampliada mediante una red sensora





3. Implementación


El escenario del experimento se compone de una red sensora que se despliega en el campo de juego, los sensores comienzan en un estado de sueño.

A continuación los sensores pasan por una fase de inicialización y calibración para el arranque de sus servicios prestados. Los perseguidores y evasores entran en el campo de juego y se mantienen dentro del mismo.
El red sensora ofrece una variedad de servicios a los perseguidores tales como la sincronización de la hora, localización, identificación de entidad (perseguidor o evasor).
El objetivo de la red es producir estimaciones de las posiciones, la velocidad y la identidad de los elementos en el campo de juego.
Cuando se capturan todas las evasores (se produce una captura cuando un
perseguidor es "lo suficientemente cerca" a él), el juego termina. Una estación base se encuentra fuera del área de juego y proporciona el registro y visualización de los servicios.

3.1 Hardware

La plataforma de hardware fue desarrollada por el grupo TinyOS de la Universidad de Berkeley, y se compone de numerosos y pequeños dispositivos de red y de computación embebida. Cada dispositivo tiene una cantidad de energía limitada, así como capacidad computacional, de almacenamiento y recursos limitados.
El objetivo de cada plataforma de hardware es proporcionar computación, sensores, actuación y comunicación de los recursos integrados en un paquete pequeño.
Las plataformas están diseñados para ser modulares y flexibles, que proporciona la facilidad de reprogramarlas de nuevo y utilizarlas en aplicaciones imprevistas al tiempo que permite la reutilización de código.

Evolución de las plataformas de hardware utilizadas.



3.2 Servicios del sistema


Para el software se utiliza NesC, una nuevo lenguaje de programación de código abierto desarrollado en Berkeley. NesC extiende el lenguaje C estándar con la semántica y sintaxis para arquitecturas basadas en componentes. Los comportamientos se describen con interfaces bidireccionales que proporcionan los comandos para controlar los eventos. Los componentes están conectados entre sí estáticamente para formar un todo, que, cuando se compila permite una mayor optimización y eficiencia.
El sistema operativo proporciona los servicios básicos para la comunicación, así como un planificador de procesos simple y el acceso a los componentes de hardware y sensores; esta diseñado para dispositivos con recursos excesivamente limitados

Capas del sistema y sus relaciones




4. Metodología


4.1 Escalabilidad


Utilizando técnicas ad-hoc, el sistema debe estar preparado para crecer en caso de ser necesario. Los nodos pueden ser activados y desactivados cuando sea necesario.


4.2 Control distribuido


Los sistemas de control distribuído son muy importantes en la computación actual. Desde hace mucho tiempo existen investigaciones que van desde la biología hasta la inteligencia artificial tratando de imitar modelos de la naturaleza, por ejemplo, colonias de insectos buscando comida, bacterias, formaciones de aves, entre otros. En éste caso, los sensores están conectados a un controlador central que toma los datos y los procesa para así tomar decisiones y aplicarlas a todo el sistema.








4.3 Modelos computacionales


Se utilizan una combinación modelos computaciones, donde tal combinación captura el cambio continuo en dinámica del medio ambiente, la distribución de los recursos y la naturaleza discreta del hardware. La combinación incluye eventos discretos, continuos, dinámica de sistemas, los sistemas dinámicos de tiempo discreto, autómatas híbridos, idiomas reactivos síncronos y modelos de flujo de datos.

Los sistemas dinámicos en tiempo continuo son ​​un modelo formal cuyas propiedades clave son la estabilidad y accesibilidad que se pueden deducir mediante métodos numéricos. Sin embargo, para las aplicaciones de control distribuido en redes sensoras, el modelo no es capaz de capturar retrasos en la comunicación, el tiempo entre los relojes, o decisiones discretas. Dado que todas las variables son continuas, es difícil modelar fenómenos concretos.
La naturaleza multimodal de los sistemas se puede describir por un autómata híbrido. Estos sistemas funcionan muy bien tanto para el flujo continuo y de saltos discretos.  Los sistemas de eventos discretos funcionan bien para los cambios de modo o reprogramación de tareas y caracteriza, también permite activar el sistema por eventos.
El modelo de flujo de datos pretende describir la transmisión de datos. En particular, son útiles para la caracterización de varios procesos de comunicación.


4.4 Enfoques de diseño



El enfoque de escalabilidad para dependerá en gran medida de procesamiento distribuido de sensores con el fin de obtener buenas estimaciones de las posiciones y velocidades tanto de evasores y perseguidores. El control y dinámica de cada perseguidor se realiza dentro de la propia perseguidor basado en lecturas de la red, la coordinación de alto nivel se distribuirán entre todos los perseguidores para maximizar la robustez a los ataques adversarios.
Algunas cuestiones relacionadas con el control contribuido han sido abordadas por el sistema híbrido de control. Se combina lo mejor de la teoría de control y la teoría de máquinas de estados
Se supone que los sensores saben que su ubicación en el espacio. Un servicio de localización garantiza que los nodos en las redes desplegadas puedan calcular su ubicación con respecto a unos a otros.
En los problemas de control estándar, los sensores están físicamente unidos a la planta, por lo tanto, se tiene la seguridad de recibir una lectura del sensor en cada paso de tiempo. En el caso de la red sensora, la detección se distribuye, esto significa que puede tomar algún tiempo tener una observación y que ésta llegue a su destino, ya que los paquetes través de la red están sujetos a demoras y pérdidas.


En niveles superiores, el sistema se basa eventos. Los controles reaccionan a uno o más eventos, lo que se llama comportamiento. Los eventos son detectados por la red sensora y se transmiten a un controlador discreto que genera la reacción apropiada. Cada reacción se transmite entonces a cada nivel inferior para cambiar el objetivo de control de acuerdo con las nuevas especificaciones. Los acontecimientos se producen de manera asíncrona, lo que dificulta el análisis formal.

Diseño de los controladores de alto y bajo nivel, y su representación jerarquica.



Conclusiones y crítica

Más que la implementación de un sistema, el paper aborda una investigación sobre el control distribuído de un sistema utilizando redes sensoras. Y a partir de ello se presentan los temas relacionados, así como las plataformas de hardware y software a utilizar.
En lo personal me parece bien que se presenten éstos temas, sobre todo que se aborden los escenarios en los cuales la implementación puede fallar, se hace solamente una mención a que el sistema quedo un poco limitado en capacidad, sin embargo no se muestran los resultados del mismo.
Parece que el experimento esta muy bien diseñado, se toman en cuenta las diversas perspectivas, desde el contexto, el hardware y software, las consideraciones de los sistemas de control y los escenarios de posible fallo; solo faltaría ver la realización del experimento y los resultados para verificar que efectivamente todo el diseño fue el correcto.



Referencias

Sinopoli, B.; Sharp, C. ; Schenato, L. ; Schaffert, S. ; Sastry, S.S. (Agosto 2008). Publicado en Proceedings of the IEEE, Tomo:91, Edición 8, Páginas 1235-1246. Recuperado en Mayo 2013 desde: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1219474

1 comentario: