Sistemas Ciber Físicos
En el grupo de investigación MINA conviven expertos en robótica, en sistemas de comunicaciones, en sistemas multi-agente, en redes de sensores, IA aplicada, sistemas embebidos, y sistemas autonómicos. En definitiva, agrupa investigadores de las principales disciplinas de investigación de los Sistemas Ciber Físicos(SCF) o, en inglés, Cyber-Physical Systems, que integran computación, redes y procesos físicos, con bucles de realimentación donde procesos físicos impactan sobre procesos de cómputo y viceversa.
El desafío principal es combinar abstracciones que han evolucionado durante siglos para modelar los sistemas físicos (p.e. ecuaciones diferenciales y procesos estocásticos), con abstracciones de las ciencias de la computación con algunas décadas de evolución (algoritmos y programas), que proveen una “epistemología de procedimientos”, es decir, pasan de la noción de “qué es” de las ciencias experimentales a la de “cómo se hace”.
Sin explicitarlo, el grupo MINA se ha enfrentado desde su creación en 2003 a la mayoría de las dificultades metodológicas de los SCF, a partir de la experiencia inicial en robótica móvil y gestión de redes de computadoras (de ahí el no-acrónimo MINA - Network Management / Artificial Intelligence). A partir de esta experiencia ha identificado como una necesidad el desarrollo de una línea de investigación dedicada específicamente a los aspectos fundamentales de los SCF, otra a la IoT en su carácter de aplicación emergente de los SCF, así como al desarrollo de sus líneas existentes bajo el marco metodológico de los SCF. El potencial económico y social de estos sistemas es enorme y está atrayendo atención de la industria y la academia globalmente. Nuestro trabajo de investigación espera tener impacto en áreas en fuerte desarrollo e impacto social y productivo como la automatización, la IoT, las ciudades inteligentes, la agricultura, entre otros campos de aplicación, que están comenzando a materializarse en nuestro país.
El grupo MINA está financiado por el Programa de Grupos de I+D de CSIC para el período Abril 2019 - Marzo 2023. Este es el plan de trabajo para estos 4 años.
Infraestructura de Redes y Cómputo
La creciente demanda de tráfico que deberán atender las futuras redes inalámbricas, en muchos casos de varios órdenes de magnitud superior a la actual, genera enormes desafíos. En este contexto, una adecuada gestión de las redes inalámbricas es fundamental no solo para cumplir con los requerimientos de conectividad sino para realizar un uso eficiente de los recursos. La gestión de redes inalámbricas incluye diversos aspectos como son la gestión de los parámetros de transmisión, y la asignación y gestión de los recursos de red.
La gestión de los parámetros de transmisión tiene por objetivo maximizar la tasa de transferencia a la vez que se minimiza la interferencia generada por la transmisión y se ahorra energía. Para esto es necesario estudiar la relación que existe entre las distintas variables de transmisión y como su correcta gestión puede mejorar el rendimiento. Ejemplos de estas variables son: la potencia de transmisión, la tasa de transmisión y la sensibilidad del mecanismo de acceso al medio. Debido a la complejidad y dinamismo del medio sobre el que se trasmite, donde la configuración óptima cambia continuamente según se mueven los actores del sistema y cambian las condiciones radioeléctricas del entorno, esta gestión es a la vez impresindible y complicada. Por lo tanto, la investigación en esta línea requiere del estudio teórico del comportamiento de la red, la utilización de modelos matemáticos así como un enfoque basado en técnicas de aprendizaje automático (machine learning).
En relación a la gestión de recursos, el objetivo principal de esta sublinea de investigación es el diseño y desarrollo de las técnicas y mecanismos necesarios para lograr una asignación de recursos eficiente en el contexto de redes de acceso inalámbricas y heterogéneas. Habitualmente estas tareas son parte de la planificación de la red de acceso pero el dinamismo e intensidad de uso de las redes inalámbricas han impulsado la idea de automatizar la gestión acercándola más al terreno de la teoría de control bajo el nombre de self-management o gestión autónoma. El trabajo del grupo en esta línea se ha enfocado especialmente en soluciones de control y gestión autónomas y distribuidas.
La navegación es una de las actividades más importantes y desafiantes que deben tenerse en cuenta al trabajar con un robot móvil. Al trabajar en navegación todos los aspectos de la robótica están presentes: sensado, actuación, arquitectura de control, planificación, resolución de problemas, eficiencia computacional y hardware. La navegación es una colección de algoritmos que permiten resolver las dificultades que aparecen al tratar de responder a las siguientes preguntas:
¿A dónde debo ir? Este problema es usualmente determinado por un humano o el planificador de misión de la arquitectura de control del robot.
¿Cuál es la mejor forma de llegar? Este problema es denominado planificación de trayectorias y es el aspecto que ha recibido más atención dentro de la navegación.
¿Dónde he estado? Se refiere a la construcción de mapas, uno de los aspectos de la navegación que se ha pasado por alto en los primeros trabajos de navegación tomando fuerza su estudio en los últimos años.
¿Dónde estoy? El robot debe saber donde está para seguir un camino o construir un mapa. Este aspecto de la navegación se denomina localización.
Algunos de estos problemas se resuelven de a pares simultáneamente, por ejemplo exploración, localización activa y SLAM (simultaneous localization and mapping). El objetivo de la exploración es cubrir todo el entorno en el menor tiempo posible. La exploración asume que el robot es capaz de localizarse, debiendo construir el mapa y planificar trayectorias para lograr su objetivo. En el caso de localización activa es posible tomar decisiones de movimiento con el objetivo de mejorar la eficiencia o la robustez de la localización. La construcción de mapas y la localización están fuertemente relacionados y son interdependientes, lo que ha dado lugar a su estudio conjunto bajo el nombre de SLAM. La construcción de mapas introduce la necesidad de localizarse mientras el robot se mueve en el entorno. SLAM refiere al problema en el cual un robot móvil construye un mapa de su ambiente mientras simultáneamente se localiza dentro de dicho mapa.
Teniendo en cuenta la evolución tanto de dispositivos que capturan imágenes como de algoritmos para su procesamiento, existe gran interés por realizar navegación guiada por identificación de objetos. Los métodos más difundidos para lidiar con la navegación son en su naturaleza probabilísticos. Asimismo, existen algunas alternativas basadas en modelos biológicos, p.ej. basada en estudios sobre roedores. Algunos de los trabajos desarrollados en esta línea de investigación son: navegación robusta basada en el comportamiento de ratas, navegación en exteriores para apoyo en tareas de recolección de manzanas soportada por visión artificial y exploración de entornos con vehículos terrestres y aéreos no tripulados.
Esta línea agrupa los temas de infraestructura en general, y trabajamos en dos sub-líneas:
Gestión y Control de recursos en redes virtualizadas.
Diseño y Optimización de Redes Inteligentes.
Gestión y Control de recursos en redes virtualizadas
Las redes de nueva generación implican servicios ubicuos, tecnologías heterogéneas y usuarios en movimiento en un entorno inteligente (por ejemplo, las denominadas “smart cities”). Esto presenta un desafío tanto para las redes de acceso (con prevalencia de las tecnologías inalámbricas, y de acceso residencial de banda ancha), como para la Internet global, que sirve de infraestructura de transporte de aplicaciones para usuarios que demandan calidad de experiencia. Estos escenarios difieren en forma fundamental de las premisas fundacionales de Internet. En este sentido, los proveedores globales de contenido, buscando mejorar la experiencia del usuario han desplegado infraestructura (datacenters) con contenidos replicados en numerosas localizaciones, conformando ``Redes de Distribución de Contenido" (CDN por su sigla en inglés), que tienen sus propios desafíos de gestión de recursos, pero además imponen desafíos al sistema global de enrutamiento, y en particular a BGP (Border Gateway Protocol), el protocolo que mantiene la red comunicada y permite que la información llegue hasta el usuario final.
La búsqueda de desplegar servicios en forma dinámica y con bajos costos de operación ha acentuado la prevalencia del software, y en particular de las técnicas de virtualización de plataformas de ejecución y/o de recursos de red, llevando a popularizar el concepto de ``Cloud Computing": las aplicaciones se ejecutan en un entorno virtualizado y los datos se almacenan en datacenters replicados en diversas áreas geográficas, como mencionaba antes, exigiendo que la gestión de recursos de cloud (nube) se realice dinámicamente. A nivel de recursos de red, se busca que el equipamiento de red sea genérico y programable, dando lugar al concepto de “Software Defined Networks” (SDN). Por otro lado, los operadores de telecomunicaciones buscan poder orquestar servicios de red combinando funcionalidades básicas en forma dinámica, lo que se ha dado en llamar ``Network Function Virtualization" (NFV).
Diseño y Optimización de Redes Inteligentes
El diseño y optimización de redes es una disciplina con amplios campos de aplicación, desde las telecomunicaciones hasta la interconexión de microprocesadores, pasando por problemas de transporte y de red eléctrica, entre otros. La presente línea de investigación está basada fuertemente en los problemas de redes de telecomunicaciones, en particular en las redes ópticas flexibles (fexigrid), cuya característica fundamental es la asignación elástica y dinámica de ancho de banda espectral para cada enlace, sin necesidad de usar longitudes de onda fijas. Las redes actuales conforman una estructura descentralizada multi-dominio, que dificulta la coordinación de tareas de optimización y reconfiguración. Estas tareas son realizadas mayoritariamente en forma manual por expertos, y se carece de programabilidad, y de un lazo de realimentación automático que desempeñe estas tareas. Una causa fundamental de la ineficiencia de las redes actuales es la ausencia de “cognitive intelligence” (inteligencia cognitiva), es decir, la capacidad de inferir el estado de la red, analizar las implicancias y tomar acciones en forma proactiva. Es deseable que las redes inteligentes tengan atributos “Self*”: Self-Aware, Self-Configuration, Self-Healing, Self-Optimization (auto-conciencia, auto-configuración, auto-curación, auto-optimización), que conozcan la información en distintos niveles (Infraestructura, Servicios, Flujos), y que provean interfaces abstractas orientadas “a intención” (Intent based Services Interfaces). Una actividad central para asegurar estas características es la monitorización, dentro de ciclos “Observe-Analyze-Act” (Observación-Análisis-Actuación), buscando alcanzar planos de control y gestión automatizados y escalables, que tengan conocimento local (distribuido) y global (centralizado). A partir del caso de uso de las redes ópticas flexigrid, el objetivo principal de esta línea de investigación es estudiar la evolución de las redes hacia una infraestructura inteligente y “self-aware”, buscando además explorar otros casos de uso, junto con la formación de recursos humanos en el área y la cooperación con los grupos de investigación locales y actores relacionados (por ejemplo, entes públicos y empresas).
Hace tiempo que venimos trabajado en aspectos conceptuales de esta línea de investigación, por ejemplo en los problemas de gestión de redes inalámbricas, y en el desarrollo de sistemas embebidos, que son componentes básicos de una solución de IoT. Hemos investigado en redes de sensores, comunicaciones machine-to-machine (M2M) y device-to-device (D2D), todos conceptos antecesores de IoT. Sin embargo, una vez que se ha establecido ampliamente el concepto de IoT, aparecen elementos que permiten enfocar mejor la investigación en el área. En este sentido, tanto en la industria como en la academia, se ha establecido una arquitectura de facto, que consiste en dispositivos finales (y/o gateways) que generan información en su rol sensor y reciben comandos en su rol actuador. Esta información se transmite hacia/desde plataformas de IoT “en la nube” (públicas o privadas) a través de un componente específico de comunicación asincrónica (denominado broker), que hace disponibles los datos a módulos de almacenamiento y análisis, que eventualmente toman acciones. Durante 2017 hemos comenzado a relevar el estado del arte de estas arquitecturas, la oferta de plataformas, los posibles patrones de diseño de aplicaciones, entre otros desafíos, desarrollando dos proyectos de grado en el área, que incluso han generado resultados publicables. Asimismo, recientemente hemos comenzado a estudiar los problemas de seguridad en IoT, en cooperación con el Grupo de Seguridad Informática del Instituto de Computación (GSI); tenemos un estudiante de maestría en este tema, y acaba de finalizar un proyecto con UTE de Seguridad en Smart Grids, que incluye medidores inteligentes sobre una solución de IoT. La participación en este proyecto ha contibuido a conocer el estado del arte, y explorar los aspectos de seguridad (y safety) que aparecen en este tipo de aplicaciones, generalmente invasivas del espacio público y privado (por ejemplo, las aplicaciones de cuidados de la salud).
Visualizamos esta línea de investigación asumiendo críticamente el modelo de “IoT en la nube” para buscar alternativas arquitectónicas y soluciones concretas a aspectos específicos que contribuyan a mejorar el desempeño de las soluciones de IoT, y asimismo buscamos desarrollar aspectos teóricos en distintos niveles de la arquitectura. Sin dudas que esta línea se retroalimenta con las líneas clásicas del grupo, y en particular con la línea en Procesos de Decisión. En efecto, dónde (en qué componentes) y cómo (mediante qué algoritmos o procesos) se toman las decisiones en una solución de IoT, forman parte central de esta otra línea de investigación.
Los SCF comprenden dispositivos que típicamente miden (sensan) variables del entorno, por ejemplo nivel de señal y relación señal/ruido en el caso de un Access Point inalámbrico, temperatura u otras variables del medio ambiente en sensores de exteriores, o distancia a obstáculos en el caso de un robot. Estas medidas, combinadas con otros elementos computacionales e información, y con las reglas u objetivos de funcionamiento de alto nivel que se hayan fijado, alimentan diversos procesos de decisión, por ejemplo modificar el canal de trasmisión de un Access Point, balancear determinada parte del tráfico en la red, activar el riego en una plantación, o cambiar el rumbo del robot.
Estos procesos de decisión, independientemente de la aplicación, constituyen un área de investigación en si mismos. Además de trabajar sobre procesos de decisión más clásicos en todos los proyectos relacionados con robótica, nuestro grupo concibió el modelo de decisión autonómico RAN para redes inalámbricas, y posteriormente lo adaptó a redes oportunistas (RON). También existen frameworks como ROS (Robot Operating System) y OROCOS (Open Robot Control Software) que favorecen el desarrollo de arquitecturas distribuidas para el control de agentes autónomos, y se ha implantado el modelo “Cloud IoT” para tomar decisiones en aplicaciones de IoT.
Interesa estudiar diversos aspectos de los procesos de decisión, incluyendo la clásica dicotomía centralización vs. distribución, mecanismos de reglas o en general políticas, lógica difusa, aprendizaje automático, procesos neuro-difusos, consenso y elección en sistemas distribuidos, cooperación y coordinación, entre otros.
Este acercamiento se ha reflejado por ejemplo en investigación en resolución de conflictos entre reglas, estudios de estabilidad de las decisiones basadas en control difuso y otros aspectos puramente computacionales de los procesos de decisión. Actualmente nos encontramos trabajando en la incorporación de aprendizaje automático a los procesos de decisión en procesos de control de la interferencia de radio y en aspectos más relacionados con infraestructura de red y de cómputo.
Utilizando OROCOS se han implementado mecanismos distribuidos y algoritmos de selección de tareas para soportar la toma de decisiones colaborativa de flotas de robots que exploran entornos previamente desconocidos. Estos sistemas pueden utilizarse en una amplia gama de aplicaciones como ser: vigilancia, patrullaje, limpieza, agricultura, exploración de zonas riesgosas o inaccesibles al hombre.
Se ha trabajado con ROS para resolver la toma de decisiones en diversos escenarios de robótica, particularmente cabe destacar el desarrollo de DM3 (vehículo autónomo para apoyo en tareas de recolección de frutos) y SuperM (vehículo para asistir el desplazamiento en silla de ruedas dentro de supermercados).
Los robots de servicio están cada vez más presentes en nuestras vidas. En este sentido, deben interactuar con las personas de manera segura, anticipando el efecto de sus acciones en consonancia con los otros agentes que lo rodean, poniendo especial atención a las acciones y necesidades de las personas con las cuales comparte el entorno. Estos agentes deben poseer capacidades de procesamiento y generación de lenguaje natural, un mecanismo complejo de toma de decisiones y aprendizaje, y todo esto en un entorno dinámico, estocástico y de tiempo real. Los robots con estas capacidades se han dado a llamar robots cognitivos, acercando científicos de distintas tradicionalmente ligadas a las ciencias cognitivas (ciencias de la computación, neurociencias, psicología e inteligencia artificial), utilizando generalmente modelos basados en la cognición de los seres vivos. Los robots cognitivos logran sus objetivos percibiendo su entorno, prestando atención a los eventos relevantes, planificando qué hacer y aprendiendo de la interacción con el entorno. Se ocupan de la incertidumbre inherente de los entornos reales mediante el aprendizaje, el razonamiento y el intercambio de sus conocimientos con otros agentes.
En definitiva, se trata de un área clásica dentro de varias ingenierías pero que al tratarse de un aspecto transversal a los SCF, adquiere un nuevo interés a la luz de las las nuevas posibilidades tecnológicas, pero sobre todo del salto en escala que experimentarán los SCF en los próximos años.
Se trata de estudiar herramientas de diseño que se adapten al mundo físico y al mundo ciber, y que permitan desarrollar metodologías de diseño que funcionen a la vez para ambos mundos. Es necesario trabajar en formas de modelar sistemas computacionales que trabajen a la vez sobre señales continuas y discretas, modelos que trabajen con redes que comuniquen sistemas sincrónicos y asincrónicos considerando la variable temporal como un elemento crítico. Es necesario estudiar métodos que permitan gestionar escalas nunca vistas antes y la complejidad asociada a la escala y la heterogeneidad de los SCF. Para lidiar con dicha complejidad es necesario utilizar y desarrollar estrategias de clásicas de las ingenierías como la modularidad y la reutilización de elementos de un sistema y la capacidad de interoperar con sistemas heredados. Para completar la complejidad de esos elementos, los SCF suelen tener requerimientos de correctitud muy exigentes y necesitar del uso de técnicas de de testing complejas, simulación y modelado estocástico junto a requerimientos de seguridad y protección elevados que solo pueden asegurarse utilizando técnicas de métodos formales.
El grupo MINA no propone dedicarse a todos esos aspectos, pero tiene experiencia propia y colaboración con otros grupos que le permitirán desarrollar esta línea de investigación en los aspectos relacionados con el modelado, la gestión de la escala, la simulación, los sistemas continuos y discretos y el modelado para la seguridad (safety).
Grupo MINA
Instituto de Computación
Facultad de Ingeniería, UdelaR
Julio Herrera y Reissig 565
+598 2714244
mina@fing.edu.uy