Goto RESOLV main page

©1999 João Gomes Mota, Maria Isabel Ribeiro
ISR/IST Laboratório de Robótica Móvel
RESOLV: Da Robótica à Realidade Virtual
anteriorAnterior IndiceÍndice A Seguira seguir

RESOLV: DA ROBÓTICA À REALIDADE VIRTUAL

4 - O Software RESOLV

Os programas desenvolvidos no âmbito do projecto RESOLV seguiram as mesmas linhas de orientação da escolha do equipamento electrónico descrito atrás: optou-se tanto quanto possível por soluções padrão e programas modulares para que mais tarde cada elemento possa ser substituído com um mínimo de alterações nos restantes programas.

Seguindo estas premissas, o sistema operativo escolhido foi o Windows NT 4.0 dado ser aquele que mais aceitação tem junto de fabricantes de hardware e software, e também porque traz um conjunto de ferramentas integradas, permitindo abreviar algumas etapas do desenvolvimento.

O ambiente de trabalho permite gerir todas as tarefas de forma concorrente e em tempo real. A Fig. 14 ilustra a arquitectura de software. A descrição que se segue aplica-se ao robot móvel autónomo AEST em que todos os módulos estão operacionais. Nos outros casos os módulos de fundo escuro não estão implementados.


Fig. 14 - Arquitectura de Software

O ambiente de operação divide-se em três níveis. O nível inferior, desenvolvido no IST [3], trata do controlo da plataforma móvel (Fig. 13) e utiliza-se apenas no AEST. É a este nível que se tratam os problemas da robótica móvel, nomeadamente a geração de trajec tórias até ao próximo ponto de paragem, o cálculo do espaço percorrido ou as manobras de desvio de obstáculos fixos ou móveis. O processamento é totalmente autónomo, sendo apenas comunicado ao nível superior as excepções que impeçam o robot de prosseguir. A intervalos periódicos são enviados para cima a estimativa da posição e o perfil do espaço livre em torno do robot, para informação do operador.

O nível superior, desenvolvido pelo INESC [4], é o interface entre o sistema e o operador (Human Computer Interface). É implementado sobre um browser de Internet, e tem o aspecto ilustrado na Fig. 15. Na coluna da esquerda a janela do topo permite ver as imagens capta das pela câmara de video principal (Fig. 11) ou imagens em movimento captadas por uma pequena câmara instalada no topo do AEST (ver Fig. 4). Estas imagens são utilizadas pelo operador para controlar o movimento do robot no ambiente. Na imagem pequena abaixo pode observar-se o modelo à medida que é criado. Na área maior à direita encontra-se um conjunto de botões para comandar as acções do sistema e, no caso do AEST, escolher os pontos de aquisição ou mesmo conduzir o robot manualmente até ao próximo ponto de aquisição. A ligação entre o interface e o sistema central faz-se por uma ligação Internet rádio.


Fig. 15 - Interface com o utilizador

No nível intermédio encontra-se o software de aquisição e recons trução. Está organizado em torno de um núcleo central (Host Server) de senvolvido pelo INESC [9] onde estão armazenados os dados comuns aos vários módulos e de onde emanam os comandos que definem a sequência de operação.

Em cada ponto de aquisição, com todos os módulos activos, a sequência de tarefas é a seguinte:

1 Localização (Localisation, 3D Acquisition, P&T controller)
2 Aquisição 3D com Laser (3D Acquisition, P&T Controller e Tower Controller)
3 Aquisição Video (Video Acquisition, P&T Controller e Tower Controller)
4 Reconstrução 3D (3D Single Reconstr., Registration e 3D Composite Reconstr.)
5 Inserção de Texturas (Texture Mapping)
6 Cálculo do próximo ponto de aquisição (Perception Planning e Path Planning)
7 Movimento até ao novo ponto (só no AEST) (Navigation Manager, Mobile Robot Communication Interface)

A localização (IST [5]) é o primeiro passo a efectuar em cada iteração pois permite ao AEST calcular com rigor a sua orientação e posição no espaço a reconstruir. Como não existem referenciais exter nos, as medidas referem-se ao sistema de coordenadas do modelo reconstruído. A localização efectua-se a partir de um varrimento horizontal com o laser que reproduz um corte horizontal do ambiente.

A operação seguinte consiste na aquisição dos dados: extrai-se uma imagem laser de distância (Fig. 16) e reflectância (Fig. 17) correspondente a um ângulo sólido determinado. Este ângulo é característico de cada tipo de laser; contudo o programa de aquisição é comum a todos os lasers, havendo apenas que definir no início da sessão qual o tipo de laser presente.
Um pequeno filme (633Kb) mostra uma amostra do processo de aquisição.

Seguidamente adquire-se as imagens de video correspondentes ao mesmo ângulo sólido. Sempre que se utiliza as câmaras laser ou video recorre-se a dois módulos adicionais: P&T Controller, para o movimento da cabeça arti culada (ver Fig. 11) e, eventualmente, o controla dor da torre vertical para subir e descer a cabeça com sensor de aquisição (ver AEST na Fig. 4).


Fig. 16 - Medidas de profundidade
(mais escuro significa maior distância)

Seguidamente adquire-se as imagens de video correspondentes ao mesmo ângulo sólido. Sempre que se utiliza as câmaras laser ou video recorre-se a dois módulos adicionais: P&T Controller, para o movimento da cabeça arti culada (ver Fig. 11) e, eventualmente, o controla dor da torre vertical para subir e descer a cabeça com sensor de aquisição (ver AEST na Fig. 4).

A fase seguinte corresponde às ferramentas principais de reconstrução desenvolvidas no JRC [6] e [7]. A operação do conjunto é complexa mas pode dizer-se em resumo que primeiro se faz a reconstrução da secção do modelo abrangida pelos ângulo sólido varrido pelo laser (Single Reconstruction). De segui da, regista-se os dois modelos, i.e, liga-se o sistema de coordenadas desta secção ao modelo reconstruído pré-existente (Registration).


Fig. 17 - Imagem de Reflectância laser

Finalmente, expande-se as superfícies do modelo resultante e optimiza-se a representação em triângulos elementares (Fig. 18).

Para completar o modelo, as texturas são registadas automaticamente com o modelo espacial baseado nas medidas de distância laser. Este módulo, criado na Univer. de Leeds [8] requer uma calibração aturada entre as duas câmaras e torna-se extremamente complexo pela necessidade de optimização da representação das texturas, fusão de texturas tomadas de pontos diferentes em especial na presença de graus de iluminação desiguais que afectam o brilho relativo das imagens. Na Fig. 19 apresenta-se um pormenor de um modelo já texturado onde o problema da mudança de luminosidade é patente.


Fig. 18 - Triangulação de superfícies

Quando o modelo 3D está completo, pode passar-se ao cálculo do próximo ponto de aquisição (Perception Planning). Esta cálculo pode ser feito de forma automática ou manual. No primeiro caso, o programa determina as áreas ocultas e procura calcular o ponto onde eliminará a maior área de oclusões. Em modo manual, o utilizador pode escolher o ponto de aquisição que entender e dá as instruções ao robot a partir do interface (Fig. 15).

Finalmente, quando o próximo ponto de aquisição é conhecido é calculado um caminho suave até lá (Path Planning) e o robot entra em modo de navegação autónoma (Navigation Manager). Este algoritmos foram desenvolvidos no IST [1]. Quando este ponto é atingido o ciclo repete-se.


Fig 19 - Modelo texturado

Todos os módulos referidos comunicam com o núcleo central e directamente através de um conjunto de mensagens definidas, que partilham uma sintaxe comum. Caso seja necessário alterar um módulo, é provável que os outros módulos não sejam afectados. Paralelamente, se forem adicionadas novas funções será necessário alterar apenas os módulos envolvidos e definir o conjunto de mensagens adicionais relacionadas com as novas funções.

Este tipo de estrutura convém particularmente a um consórcio como o RESOLV onde o mesmo esqueleto de programa é usado em contextos diferentes e cada um dos módulos pode ser usado noutras aplicações após uma mudança de interface.

Goto RESOLV main page

RESOLV: Da Robótica à Realidade Virtual
 Voltar ao topoTopo página  anteriorAnterior IndiceÍndice A Seguira seguir

Carregar Homepage Apresentacao Projectos Grupo Publicacoes Informacoes
©1999 LRM, Maria Isabel Ribeiro, João Gomes Mota
12-Junho-1999