Proposta de uma Arquitetura para Alocação de Tarefas em Grupos de Robôs Móveis Baseada em Acordo Bizantino Telmo dos Santos Klipp Grupo de Automação e Robótica Inteligente Universidade Federal do Rio Grande Rio Grande, Brasil tsklipp@furg.br Anderson Luiz Fernandes Perez Laboratório de Automação e Robótica Móvel Universidade Federal de Santa Catarina Araranguá, Brasil anderson.perez@ufsc.br AbstractMobile robots are increasingly being used to perform many tasks, such as in industry, service or military applications. Many tasks are complex and require the adoption of more than one robot to complete its execution. Thus, the formation of groups of robots is critical and must be based on the characteristics of the task to be performed, that is, the functional requirements it takes to carry it out, but also ensuring that there is a failure of one or more robots, the task can be completed, even in a longer computationally time. Thus, the robot group members should be chosen based on physical criteria, behavioral (skills) and fault tolerance. One way to ensure the execution of a task by a group of robots is to adopt some fault tolerance technique, such as byzantine agreement. Byzantine Agreement is based on the principle that existing failure of one robot in the group there will be many others who will continue the task. This paper describes a proposed architecture for task allocation in multirobot system based on MRTA taxonomy and byzantine agreement to ensure consensus and resilience among members of a group of robots. Keywords: mobile robotics, multirobot systems, byzantine agreement, task allocation, election algorithm. I. INTRODUÇÃO Ao longo dos tempos a robótica móvel vem sendo aplicada a uma gama de tarefas [1], tais como: exploração espacial (JPL - NASA), sondas de inspeção de dutos de petróleo e gás (robô G.I.R.I.N.O - Petrobrás), cirurgias (Da Vinci Surgical System - Intuitive Surgical), eletrodomésticos (robô Roomba - iRobot), entre outras. Em algumas aplicações o uso de apenas um único robô não é o suficiente para a solução do problema, neste caso faz-se necessário à utilização de um grupo de robôs móveis. Existem problemas que podem ser complexos o suficiente para exigir uma divisão em partes e distribuição entre entidades especializadas nessas partes para uma possível solução. Nessa divisão de tarefas, vê-se que, o termo distribuído permite uma série de benefícios no que tange a utilização de recursos, podendo-se aplicar vários conceitos computacionais que otimizam esse processo, como, paralelismo, multiprocessamento, divisão da carga de trabalho, entre outros. O uso de robôs especializados no provimento de serviços é cada vez mais corrente em vários setores de atividades humanas, é uma tendência atual e futura, que se configura em atividades que são tediosas, repetitivas, insalubres, de risco, no entanto, alguns desses serviços não podem ser realizados por um único robô, sendo necessária a utilização de um grupo destes [2]. O uso e o compartilhamento de tarefas entre robôs móveis pode significar uma vantagem na execução destas. Segundo [3], tarefas inerentemente distribuídas (espaço, tempo, funcionalidade), como busca e resgate, exploração, e combate a incêndios são adequadas para o uso de um grupo de robôs. Para que seja possível o compartilhamento de tarefas entre um grupo de robôs móveis é necessário a adoção de algum critério de alocação. A alocação de tarefas deve considerar que esta pode ser executada por um único robô, ou por mais de um robô, e ainda, que alguns robôs possam realizar mais de uma tarefa [4]. Em Sistemas com Múltiplos Robôs (SMR´s) a comunicação entre os robôs é essencial e deve incorporar confiabilidade e segurança na troca de mensagens, para que um grupo de robôs possa entrar em concordância sobre condições aplicadas ao mesmo (aceitação de uma tarefa). Os robôs pertencentes ao grupo, além de manter o conhecimento sobre outros membros, devem ter um meio para provar a origem das tarefas que passam a receber, pois existem inúmeras possibilidades de corrupção das atividades desses robôs, seja por códigos maliciosos ou mecanismos de ataque externos, por interesses individuais de um robô, por um robô do grupo ficar inoperante, entre outros fatores. Em razão disso será proposta uma abordagem confiável através de acordo bizantino, para garantir que a comunicação entre o grupo seja tolerante a falhas eventuais, que não podem ser previstas. Este artigo está organizado como segue: na Seção II as formas de compartilhamento de tarefas em sistemas com múltiplos robôs; a Seção III descreve os mecanismos de acordo em sistemas com falhas; a arquitetura proposta, intitulada MRTA-B, é descrita na Seção IV; uma avaliação