Resilient middleware for a multi-robot team
In: http://hdl.handle.net/10451/8753
Tese de mestrado em Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2010 ; Actualmente, equipas de robôs móveis intervém em diversos contextos e ambientes onde a intervenção humana é perigosa ou mesmo impossível, podemos mencionar como exemplo a vigilância de espaços físicos, como zonas militares ou nucleares. Devido à crescente complexidade inserida nos seus sistemas, esses robôs ficam mais poderosos mas paradoxalmente mais susceptíveis a falhas de hardware e software. Além disso, a incerteza na comunicação wireless pode privá-los temporariamente do seu suporte de informação remoto. Este tipo de problema pode ser causado pelo alcance limitado do emissor wireless e pelas zonas de sombra criadas pelo terreno. Por todas essas razões, desenhar arquitecturas capazes de oferecer mais resiliência para controlo das aplicações, tornou-se um verdadeiro desafio. Este documento aborda um motor cooperativo e resiliente para equipas de robôs que lhes permite partilharem uma vista comum e lidar com novos eventos de uma forma fiável e resiliente. Este middleware tem como função estabelecer a guarda de uma qualquer zona física e detectar eventos inabituais como os intrusos. Neste ultimo caso, um robô tem que encontrar uma maneira de bloquear o intruso para o impedir de fugir. O sistema apoia-se em duas características chave, a primeira é uma camada de controlo baseado em dois sub-módulos de controlo, o payload e o wormhole, a segunda é uma arquitectura baseada em eventos que executam tarefas do payload. Em relação à camada de controlo, o payload pode ser complexo e acede à informação partilhada pelos robôs enquanto que o wormhole é confiável mas apenas utiliza a informação local. O payload utiliza uma estrutura de dados chamada "promessa" na qual fornece o deadline correspondente ao momento mais tarde onde deve enviar a próxima promessa. No caso de receber esta promessa depois do deadline, o wormhole considera que o payload falhou, toma o controlo e executa as tarefas criticas no lugar do ...