La síntesis de controladores es un aspecto esencial dentro de la ingeniería de software. Consiste en la generación automática de modelos de comportamiento de modo que teniendo en cuenta la forma en la que interactúan estos modelos con su entorno se satisfagan sus objetivos.

¿Qué tipo de objetivos se consideran? Una manera sencilla de entender este tipo de técnicas es pensar en el desarrollo de algoritmos que sean capaces de leer las reglas de un juego y, a partir de su comprensión, brindarnos una estrategia ganadora del juego sin importar lo que haga nuestro contrincante. En ese sentido, un vehículo aéreo no tripulado sería un vehículo que está ejecutando una estrategia de juego contra un contrincante, en este caso el ambiente que tiene obstáculos a evitar o que esconde lo que ese vehículo necesita encontrar y cumplir su objetivo, independientemente de lo difícil que sea ese contrincante.

Este concepto funciona de manera muy distinta a las técnicas de aprendizaje automático y aprendizaje por refuerzo que están en auge: un sistema se entrena con millones de partidas de ajedrez, para poder aprender a jugar y a ganar. En este caso la síntesis de controladores no nos da las partidas sino las reglas del juego”, puntualiza Sebastián Uchitel, investigador del ICC en el Laboratorio de Fundamentos y Herramientas de Ingeniería de Software (LAFHIS) y Profesor del Departamento de Computación (DC).

Para un vehículo autónomo, esto tiene dos importantes ventajas. La primera sería que al disponer de las reglas del juego (como si fuera el manual del ajedrez), la síntesis puede razonar sobre todas las partidas posibles con sus combinaciones y brindar una estrategia que tenga garantías totales de ganar el juego. Esto no depende de cuán bien se entrenó a la red neuronal, ya que dadas esas reglas, si el contrincante (ambiente, zona de peligro) juega de acuerdo a las mismas, esta es la forma inapelable de ganar. La segunda ventaja resultaría que en muchos casos no se tiene la oportunidad de ejecutar (correr) todas las partidas. Por ejemplo, si el vehículo o dron va a volar en un lugar desconocido con una serie de elementos y objetivos nuevos que nunca se habían establecido, no se dispone previamente de esas partidas para entrenar. Pero la síntesis de controladores puede generar, por sí sola, esas partidas para tener una estrategia efectiva.

Las técnicas de síntesis de controladores están sumamente afectadas por la complejidad. En una misión de búsqueda, una persona desaparecida puede estar en un lugar difícil de encontrar y se puede ir moviendo de lugar. O si queremos seguir el borde de un fuego para demarcar una zona de peligro, el viento puede ser un oponente clave porque hace variar el avance de ese fuego. En definitiva, cuando un juego es demasiado complicado no se puede construir una estrategia porque es muy costosa en cómputo. Entonces uno tiene que introducir presunciones sobre cómo se comporta el ambiente para anticipar diferentes factores, que son justamente las reglas del juego, de manera que el juego tenga una solución”, explica Uchitel, quien además es director del ICC.

Estas presunciones, que comenta el investigador, pueden tener que ver con la posición de la persona que se está buscando, a qué velocidad se mueve, en qué trayectoria y si esa velocidad es menor a la del vehículo. A medida que se fijan esas presunciones, el juego empieza a tener una solución y se configura una estrategia para ganarlo. “Encontramos en esto dos problemas. Por un lado, los juegos son muy complejos para que una computadora resuelva algo en un tiempo razonable, por eso ayuda significativamente reducir las variables que uno quiere incluir en el juego, reduciendo a su vez esta complejidad. Por otro lado, el juego puede simplemente no tener una solución (por ejemplo el Tateti es un juego muy simple pero no tiene una estrategia ganadora), esto hace que tengamos que plantear el problema de manera tal que haya una estrategia para ganarlo”, complementa Uchitel. Dentro del LAFHIS se están estudiando distintos problemas, desde cuáles son los juegos que se pueden ganar, los lenguajes para describirlos y los algoritmos para producir una estrategia ganadora (teoría de juegos) hasta qué tipo de misiones de vehículos autónomos se pueden describir en el lenguaje de juegos, para que esos algoritmos desarrollados por los investigadores produzcan una estrategia que luego pueda usar el avión autónomo para volar (síntesis de controladores).

Durante la carrera de Ciencias de la Computación se ven los fundamentos y herramientas de la Ingeniería de Software, contenidos que en este caso incluyen el tema de la Síntesis de controladores. También desde el grupo LAFHIS, se ofrecen temas de Tesis de Licenciatura o Pasantías relacionadas con la temática.

Proyectos de colaboración mutua

Sebastián Uchitel

El equipo de investigadores liderado por Uchitel está trabajando en un importante proyecto con el Instituto Nacional de Tecnología Agropecuaria (INTA) de San Carlos de Bariloche. El objetivo del proyecto es que los vehículos aéreos utilizados para tomar diversas imágenes rurales, sean más autónomos en la cobertura de zonas extensas de la Patagonia donde se analiza la sustentabilidad de forraje para ganado. También el proyecto tiene aplicación en temas forestales como análisis de riesgos y enfermedades en especies de bosques, y actuación frente a incendios forestales.

Actualmente cada avión que usa el INTA saca varias fotos y una vez que aterriza las sube a un programa con el que se genera el ortomosaico a partir de esa colección de imágenes. Teniendo en cuenta que no siempre las imágenes son de la calidad, nitidez o acercamiento que se necesita, la idea sería que el vehículo pueda decidir autónomamente durante el vuelo qué tarea tendría que hacer de nuevo, porque esa imagen falló y no es útil, o cuál podría mejorar (por ejemplo si encuentra en el terreno un objeto de interés desciende más para sacar una foto lo más cerca posible).

El grupo que participa de la colaboración está formado por Daniel Ciolek (investigador en formación del ICC), Sebastián Zudaire (investigador en formación del ICC, con lugar de trabajo en el Instituto Balseiro), Leandro Nahabedian (investigador en formación del ICC), Leticia Rodríguez, Matías Durán y Florencia Zanollo (estudiantes de la Licenciatura en Ciencias de la Computación, quienes realizan una pasantía en el LAFHIS). Al mismo tiempo, por la parte de Bariloche, lo integran Martín Garret (CONEA) y Marcos Easdale (INTA).

  

También recientemente se firmó un convenio con el Laboratorio de Investigación y Desarrollo de Mitsubishi, ya que los integrantes de este laboratorio desean explorar, en general, la tecnología de síntesis de controladores y entender para qué problemas les puede servir. El convenio se formalizó a través de un proyecto de colaboración del ICC con la Universidad de Waseda (Japón).