• Nenhum resultado encontrado

3.4.2

De Imagens para o Mundo

É assumido que o chão é plano e que a câmera é fixa. Então, existe uma relação constante (uma homografia A) entre os pontos no plano do chão (x,y) e os pontos no plano da imagem (u,v):

s · ⎛ ⎜ ⎝ u v 1 ⎞ ⎟ ⎠= A · ⎛ ⎜ ⎝ x y 1 ⎞ ⎟ ⎠ (3.28)

O fator de escala s é determinado para cada ponto de tal forma que o valor do terceiro elemento do vetor seja sempre 1.

A homografia pode ser calculada off-line usando um padrão contendo quatro ou mais pontos notáveis com coordenadas conhecidas (Figura 3.6). Depois de detectar os pontos notáveis na imagem, têm-se diversas correspondências entre coordenadas de pontos no sistema de coordenadas móvel M e na imagem. Substituindo-se esses pontos na Equa- ção 3.28, obtém-se um sistema linear no qual se pode determinar os oito elementos7 da matriz de homografia A.

Para obter as informações métricas das linhas obtidas no plano da imagem, utilizou-se o seguinte procedimento para cada linha:

1. usando os valores de (˜ρ, ˜α) na imagem, obtidos pela transformada de Hough, cal- cular dois pontos pertencentes à linha na imagem.

2. converter as coordenadas desses dois pontos para o sistema de coordenadas móvel

M, usando a homografia A;

3. determinar (˜ρM, ˜αM) da linha que passa através desses dois pontos.

3.5

Resultados

Foi realizado um experimento em que o robô executa um movimento para frente, vira em torno de si mesmo, e retorna aproximadamente pelo mesmo caminho. Na Fi- gura 3.7 é indicado a posição das linhas, a trajetória aproximada do robô e o tamanho comparativo do campo de visão da câmera. A posição inicial do robô é aproximada- mente (3.3,3.1,−110o), mas não é usada no algoritmo de SLAM: o robô assume que sua posição inicial é (0,0,0o).

A Tabela 3.2 apresenta os marcos detectados após aproximadamente 250 iterações. As primeiras duas colunas contêm os valores reais. O resultado do algoritmo de SLAM está

7Apode somente ser determinada por um fator de escala. Para obter uma resposta única, foi imposto

34 CAPÍTULO 3. SLAM VISUAL

Figura 3.6: O robô Karel e o padrão de calibração

nas colunas do meio: os valores são expressos no sistema de coordenadas assumindo que a posição inicial do robô é (0,0,0o). Essas linhas são desenhadas na Figura 3.8. Final- mente, as duas últimas colunas mostram o resultado do SLAM, mas corrigidos assumindo a posição inicial do robô como (3.3,3.1,−110o), para melhor comparação (Figura 3.7).

A câmera captura imagens em tamanho 160×120 (como visto nas Figura 3.5) e cada imagem é processada em 300ms.

3.5. RESULTADOS 35 XF YF 1.08 2.16 3.24 0.98 1.96 2.94

Figura 3.7: Trajetória executada Tabela 3.2: Resultados experimentais

Real Calculado Corrigido

ρF αF ρF αF ρF αF 1.08 0 1.88 108 1.13 1.7 2.16 0 0.82 108 2.19 1.3 3.24 0 0.11 110 3.26 0 0.98 90 2.57 23 0.97 87 1.96 90 1.24 22 1.95 87 2.94 90 0.20 22 2.93 88

Capítulo 4

Navegação Cooperativa

“Johann Kepler foi um dos mais especulativos astrônomos de todas as épocas. Ele estava sempre teorizando, mas a peculiar qualidade de sua mente era tal que suas teorias nunca o satisfaziam, a menos que ele pudesse submetê-las ao teste da observação”

Henry Smith Williams1

Nesse Capítulo é apresentado o processo de navegação cooperativa entre o robô com rodas instrumentado Karel e o robô humanóide não instrumentado Robosapien. Nesse processo o robô com rodas localiza o robô humanóide através do processamento visual de uma marca, e através da extração de características da imagem navega o humanóide a partir do envio de comandos via sinais infravermelhos. O processamento de imagem realizado é abordado e os algoritmos de movimentação cooperativa são descritos. Um experimento de cooperação é realizado com os robôs, e dados reais obtidos são apresen- tados.

4.1

Descrição do Sistema de Navegação

Para realizar a navegação do robô humanóide é necessário obter sua localização atual, de modo a planejar sua trajetória e corrigir eventuais erros. Essa localização é obtida através do robô com rodas. A partir de imagens obtidas do humanóide por uma câmera localizada no robô com rodas, e utilizando-se um método de estimação de pose, pode-se calcular a posição do robô humanóide em relação ao robô com rodas. Supondo então conhecida a posição absoluta do robô com rodas pode-se calcular a posição absoluta do robô humanóide (Figura 4.1).

38 CAPÍTULO 4. NAVEGAÇÃO COOPERATIVA

4.2. PROCESSAMENTO DA IMAGEM 39 Para se obter a estimação da pose do humanóide é utilizado um marco visual no robô humanóide. O marco visual é um losango, do qual, após o processamento da imagem, extraem-se quatro pontos correspondentes aos quatro vértices. Esses pontos são utiliza- dos no algoritmo para encontrar os parâmetros extrínsecos, e conseqüentemente a pose relativa do robô com rodas.

O robô com rodas irá processar as imagens, verificar a pose do humanóide e enviar- lhe comandos necessários para realizar a sua navegação. A medição da pose relativa entre os dois robôs utiliza o método P4P para encontrar os parâmetros extrínsecos, e conseqüentemente a pose do humanóide relativa ao robô com rodas (Seção 2.6).

Partindo da hipótese de que a posição absoluta do robô com rodas é conhecida, já que também se sabe a posição relativa do robô humanóide em relação ao robô com rodas, pode-se facilmente obter a posição absoluta do robô humanóide. De posse dessa infor- mação, o robô com rodas poderá determinar quais os movimentos necessários para que o humanóide siga a trajetória desejada e, após convertê-los em códigos, enviá-los, via sinais infravermelhos, para o robô humanóide.

Para que tal sistema funcione, se faz necessário que o robô com rodas acompanhe o robô humanóide. Ele deve fazê-lo mantendo uma distância e uma orientação de forma que facilite a localização da marca contida na imagem e nos forneça informação suficiente para efetuar uma boa estimação da posição do robô humanóide. Assim, os movimentos do robô com rodas serão dependentes dos movimentos do robô humanóide, de forma a maximizar a imagem obtida.

4.2

Processamento da Imagem

Para realizar a navegação do robô humanóide, é necessário primeiramente localizá- lo no ambiente de trabalho. Portanto, nesta etapa, tem-se como objetivo determinar a posição do robô humanóide em relação ao robô com rodas a partir de imagens obtidas por uma câmera acoplada ao robô com rodas. Para possibilitar extrair tal informação das imagens, deve-se primeiro determinar os parâmetros intrínsecos da câmera que está sendo utilizada.

Para se extrair os pontos notáveis necessários para os algoritmos de calibração de câmera, se faz necessário um processamento digital de imagem. Esse processamento pode ser dividido em duas fases: a extração de pontos para a estimação dos parâmetros intrínsecos e a extração de pontos para a estimação dos parâmetros extrínsecos. A princi- pal diferença entre o processamento digital exigido nos dois processos é com relação ao tempo. Enquanto a estimação dos parâmetros intrínsecos é um procedimento off-line, ou

40 CAPÍTULO 4. NAVEGAÇÃO COOPERATIVA

seja, não possui uma alta restrição de tempo, a estimação dos parâmetros extrínsecos deve ser feita em tempo real. Por este motivo, utilizam-se diferentes estratégias em cada fase.

Para realizar a determinação dos parâmetros extrínsecos, é necessário determinar na imagem um conjunto de quatro pontos notáveis no marco. Isto nos sugere utilizar as ares- tas de um quadrilátero (neste caso um losango), o qual foi afixado no robô humanóide. As interseções das retas que formam suas arestas fornecerão os vértices do mesmo. Poder-se- ia ter utilizado novamente a transformada de Hough para determinar as arestas; contudo, esta se mostra inapropriada devido ao custo computacional, já que a calibração externa é executada a cada amostragem e exige rapidez. Assim utilizou-se um sistema de detecção de arestas mais rápido desenvolvido por Nogueira (2005) (Seção 4.4).

Com a informação de quatro pontos pode-se encontrar os parâmetros intrínsecos. Utilizou-se o método P4P de Kamata [Kamata et al. 1992], que é indicado para apli- cações em tempo real por ter solução única e não empregar métodos iterativos, sendo a solução dada por uma expressão analítica.

Documentos relacionados