ELECTRÓNICA E TELECOMUNICAÇÕES, VOL. 5, Nº 1, JUNHO 2009 75 Visualizador 3D para o Ciber-Rato Joaquim Fonseca, Flávio Fonseca, Artur Pereira, Paulo Dias, Resumo - O Ciber-Rato é uma competição de robótica, em ambiente simulado, que decorre anualmente na Universidade de Aveiro. O módulo de visualização do ambiente permite actualmente uma visualização em duas dimensões, nascendo por isso a vontade de criar uma ferramenta que permita visualizar a competição em 3 dimensões. Esta ferramenta foi desenvolvida no âmbito da disciplina de Modelação e Visualização 3D com base na biblioteca VTK (Visualization Toolkit). I. INTRODUÇÃO A unidade de visualização da competição Ciber-Rato é actualmente um ambiente 2D surgindo de forma natural a necessidade de criar um visualizador mais avançado que permita uma visualização 3D com vários pontos de vista. Esta ferramenta foi desenvolvida no âmbito da disciplina de Modelação e Visualização 3D (opção de 5º ano para os alunos do Mestrado Integrado em Engenharia Computadores e Telemática), sendo o objectivo demonstrar as capacidades de modelação e visualização da biblioteca gráfica VTK (Visualization Toolkit) [4]. Esta ferramenta não inclui ainda o módulo que permite a comunicação com o simulador, e responde actualmente a movimentos do teclado. No futuro, o visualizador 3D poderá vir a ser integrado com o simulador, para que a competição possa ser realizada em ambientes 3D. II. CIBER-RATO O Ciber-Rato [1, 2] é uma competição de robótica em ambiente simulado, que surgiu em 2001, integrada no concurso Micro-Rato [1, 3], complementando a competição que até aí se fazia usando robôs reais. Trata-se de um concurso de robótica onde vários robôs autónomos se movimentam num recinto povoado de obstáculos com um duplo objectivo: primeiro têm de localizar e alcançar um farol; de seguida têm de regressar ao seu ponto de partida. No Ciber-Rato os robôs são criados virtualmente por um simulador e têm todos as mesmas capacidades, isto é, têm todos os mesmos órgãos sensoriais e de actuação. Os concorrentes têm que desenvolver os agentes (software) que comandam esses robôs. O simulador envia a cada agente os valores medidos pelos sensores, recebe dele os comandos sobre os "motores" e actualiza em conformidade a posição do robô no recinto. Os agentes têm de, com base nos dados sensoriais recebidos do simulador, decidir como comandar o seu robô no sentido de cumprir da melhor forma os objectivos estabelecidos nas regras da competição. O Ciber-Rato já extravasou os limites do Micro-Rato. Desde 2006 que uma competição inspirada no Ciber-Rato e usando as mesmas ferramentas, o CiberMouse@RTSS, tem sido realizada no âmbito do Student Contest do Real- Time Systems Symposium. A. O ambiente de simulação O ambiente de simulação, tal como ilustrado na figura 1, é constituído por um simulador, um visualizador, vários (tipicamente 3) agentes robóticos e 3 ficheiros de configuração. A comunicação entre o simulador e os agentes e o visualizador é feita através de mensagens XML, suportadas por ligações TCP/UDP. Os ficheiros de configuração, também usando o formato XML, definem o recinto de competição, a grelha de partida (posição inicial dos robôs em prova) e alguns parâmetros de simulação, como por exemplo nível de ruído dos sensores e actuadores. A descrição do recinto de competição (labirinto) contém as dimensões exteriores do recinto, a localização e configuração dos obstáculos e a localização dos faróis. No início de uma simulação o simulador carrega as descrições do labirinto e grelha e envia-os ao visualizador, não lhe impondo qualquer restrição na forma como o cenário de competição deve ser apresentado ao espectador. A construção de um visualizador 3D torna-se assim possível sem qualquer alteração no simulador. Figura 1: O ambiente de simulação do Ciber-Rato