• Nenhum resultado encontrado

Compara¸c˜ ao dos Modelos de Aquisi¸c˜ ao

4.2 Aquisi¸c˜ ao de Panoramas Omnidirecionais

4.2.4 Compara¸c˜ ao dos Modelos de Aquisi¸c˜ ao

Apesar das diferen¸cas estruturais entre os modelos de aquisi¸c˜ao apresentados nas se¸c˜oes anteriores, ´e poss´ıvel compar´a-los de acordo com alguns crit´erios essenciais em sistemas de vis˜ao computacional, por exemplo: o campo de vis˜ao oferecido, a resolu¸c˜ao das imagens e o tempo de aquisi¸c˜ao de cada uma delas. A relevˆancia indi- vidual destes crit´erios pode variar de acordo com a aplica¸c˜ao desejada, possibilitando que um mesmo modelo seja apropriado para um determinado tipo de aplica¸c˜ao e inadequado para outras.

Os modelos monocular e multicˆameras possuem um tempo de aquisi¸c˜ao muito alto para aplica¸c˜oes de navega¸c˜ao em tempo real, isto ´e, onde o robˆo precisa analisar o cen´ario `a medida em que vai navegando. Por outro, a resolu¸c˜ao dos panoramas oferecidos por estes modelos ´e superior `a do modelo catadi´optrico, o que pode ser fundamental em tarefas de rastreamento de objetos, por exemplo. Para sistemas de processamento offline de imagens os modelos de image stitching s˜ao normalmente a

Figura 4.17: Tempo de gera¸c˜ao de um panorama retangular a partir de uma imagem esf´erica de 480x480 pixels

melhor escolha, diferentemente dos sistemas de processamento em tempo real, como os de navega¸c˜ao.

Para melhorar o desempenho de aquisi¸c˜ao das arquiteturas monocular e mul- ticˆameras ´e poss´ıvel reduzir os tempos de transmiss˜ao e processamento das imagens utilizando equipamentos mais eficientes. As interfaces de comunica¸c˜ao UART dis- pon´ıveis nas CMUCam3, por exemplo, representam uma grande limita¸c˜ao para o desempenho geral destes sistemas devido `as baixas taxas de transmiss˜ao. O tempo de transmiss˜ao dos segmentos, mesmo comprimidos, representa uma grande parcela do tempo total de aquisi¸c˜ao dos panoramas e pode ser reduzido com uso de interfaces mais r´apidas. Outra alternativa ´e reduzir o volume de informa¸c˜oes trocadas entre as cˆameras, no entanto, esta solu¸c˜ao exige tamb´em que parte do processamento seja feita localmente, o que n˜ao se mostrou vantajoso com o microcontrolador embar- cado na CMUCam3 (Se¸c˜ao 4.1.3). Em resumo, as seguintes melhorias devem ser aplicadas aos modelos multicˆameras e monocular para torn´a-los compat´ıveis com as restri¸c˜oes de navega¸c˜ao em tempo real:

1. Substituir a interface de comunica¸c˜ao externa (UART) por modelos de maior velocidade (SPI, USB, Firewire, etc.);

2. Substituir o microcontrolador da cˆamera por um de melhor desempenho;

3. Reduzir o volume de informa¸c˜oes transmitidas entre as cˆameras;

Em sistemas de navega¸c˜ao em tempo real e com baixo desempenho, o tempo de aquisi¸c˜ao e processamento das imagens ´e um crit´erio importante para a escolha do modelo de aquisi¸c˜ao. Neste contexto o modelo catadi´optrico representa uma grande melhoria com rela¸c˜ao aos demais. Com uma ´unica captura o robˆo visualiza todo o

espa¸co ao seu redor, reduzindo as perdas com a transmiss˜ao e o alinhamento das imagens. O tempo de dewarp foi inferior a meio segundo e pode ser melhorado ainda mais com a utiliza¸c˜ao de modelos mais recentes do Raspberry Pi. Apesar disso, a resolu¸c˜ao oferecida por este modelo pode ser um fator limitante para algumas tarefas de navega¸c˜ao. Algoritmos de limiariza¸c˜ao e extra¸c˜ao de features podem ser consideravelmente limitados pela baixa resolu¸c˜ao oferecida. A principal alternativa para contornar este problema ´e a utiliza¸c˜ao de sensores e espelhos mais eficientes. No caso espec´ıfico do prot´otipo implementado neste trabalho, um ajuste da distˆancia focal da cˆamera utilizada seria necess´ario para aumentar a resolu¸c˜ao da imagem polar. Como a lente Kogeto Dot ´e ajustada para cˆameras de iPhone, a combina¸c˜ao artesanal entre ela e a cˆamera do Raspberry Pi, que possui distˆancia focal fixa, n˜ao ´e ideal para obter a melhor resolu¸c˜ao.

O campo de vis˜ao de cada modelo tamb´em pode ser ajustado de acordo com a necessidade da aplica¸c˜ao. No modelo monocular o campo de vis˜ao pode ser redu- zido ou ampliado de acordo com o n´umero de passos realizados pelo motor. Nos prot´otipos multicˆameras o mesmo resultado pode ser obtido aumentando ou dimi- nuindo o n´umero de cˆameras. Finalmente, para ajustar o campo de vis˜ao no modelo catadi´optrico ´e necess´ario segmentar o panorama em regi˜oes de interesse.

A Tabela 4.1 resume os resultados obtidos para cada modelo de acordo com os crit´erios de resolu¸c˜ao e tempo de aquisi¸c˜ao. Os modelos de barramento e daisy chain foram constru´ıdos para uma resolu¸c˜ao angular de apenas 180◦. Uma estimativa dos tempos de transmiss˜ao para panoramas de 360◦pode ser obtida atrav´es das Equa¸c˜oes 4.2 e 4.1. Para os modelo de barramento o tempo de transmiss˜ao em um arranjo de seis cˆameras sobe para 5,5 segundos (de acordo com a Equa¸c˜ao 4.1), enquanto no modelo daisy chain esse valor atinge 10,5 segundos (Equa¸c˜ao 4.2).

O modelo catadi´optrico foi o ´unico que apresentou um tempo de aquisi¸c˜ao inferior a um segundo, o que o torna mais adequado para aplica¸c˜oes de navega¸c˜ao em tempo real, ainda assim, de baixa velocidade. O ve´ıculo robˆo utilizado neste trabalho ´e capaz de mover-se com uma velocidade m´edia de 7cm/s, o que sugere que as imagens precisam ser processadas em menos de um segundo para que o robˆo possa manter uma distˆancia m´ınima de 7cm de qualquer obst´aculo. O modelo catadi´optrico, portanto, ser´a utilizado como sistema de aquisi¸c˜ao de imagens omnidirecionais para

Tabela 4.1: Resumo dos tempo de aquisi¸c˜ao e montagem de panoramas em cada modelo arquitetural

Modelo Quadros Resolu¸c˜ao do Panorama Transmiss˜ao (s) Montagem (s) Monocular 12 912x143 12 1,7 Multicˆameras Estrela - - - - Barramento* 3 228x143 2,5 1,7 Daisy Chain* 3 228x143 3,1 1,7 Catadi´optrica 1 1262x192 0,58 0,21 * Prot´otipos de 180◦.

Cap´ıtulo 5

Experimentos de Navega¸c˜ao

A principal responsabilidade de um sistema de navega¸c˜ao visual ´e fornecer ao robˆo uma s´erie de comandos de movimenta¸c˜ao com base no que foi observado sobre espa¸co ao seu redor. O sistema de navega¸c˜ao coleta e interpreta imagens do ambiente e de- termina os movimentos seguintes de acordo com alguma estrat´egia de movimenta¸c˜ao pr´e-estabelecida. O objetivo geral de movimenta¸c˜ao ´e o que define como e para onde o robˆo deve se mover, justificando decis˜oes tomadas ao longo do caminho. Exem- plos comuns de objetivos de navega¸c˜ao s˜ao: seguir uma linha no ch˜ao, percorrer um corredor at´e encontrar uma marca¸c˜ao espec´ıfica, localizar e seguir um objeto conhecido, transitar de um ponto a outro de um mapa, etc. Cada objetivo tem n´ıvel de complexidade espec´ıfico, assim como um conjunto de restri¸c˜oes que determina qual deve ser a melhor abordagem para a aquisi¸c˜ao de imagens.

Um outro fator decisivo para a implementa¸c˜ao de qualquer estrat´egia de na- vega¸c˜ao ´e o grau de conhecimento que o sistema possui sobre o ambiente navegado. Em ambientes totalmente mapeados a estrat´egia de movimenta¸c˜ao consiste em de- terminar a posi¸c˜ao atual do robˆo e calcular a melhor trajet´oria atrav´es do mapa at´e um ponto de destino. Um mapa de navega¸c˜ao ´e normalmente descrito como um grafo, onde os n´os representam pontos conhecidos e as arestas s˜ao os caminhos entre eles. O robˆo deve conhecer o caminho a ser percorrido, podendo determinar com an- tecedˆencia todas as manobras que precisam ser realizadas para alcan¸car um destino. Algoritmos de planejamento de rotas podem ser utilizados para otimizar a escolha das trajet´orias. O sistema de vis˜ao, nestes casos, serve para realimentar o sistema de controle, corrigindo erros de posicionamento e atualizando a localiza¸c˜ao do robˆo.

Ele ´e prescind´ıvel caso o robˆo n˜ao acumule erros de posicionamento e odometria, ou disponha de outras formas de verificar quando chegou a um n´o do mapa.

Em ambientes n˜ao mapeados, por outro lado, o sistema de vis˜ao ´e uma pe¸ca fun- damental para implementar a estrat´egia de navega¸c˜ao. A partir de um determinado objetivo (e.g. localizar e seguir uma bola vermelha), o robˆo decide como se movi- mentar com base no que ele pode observar, reagindo `a marca¸c˜oes e obst´aculos ao longo do caminho. Conhecendo a estrat´egia geral de navega¸c˜ao, o sistema de vis˜ao tamb´em pode selecionar nas imagens somente um conjunto ´util de informa¸c˜oes, des- cartando informa¸c˜oes desnecess´arias e reduzindo o volume de processamento.

Os experimentos apresentados neste cap´ıtulo consideram o ambiente navegado como parcialmente mapeado, ou totalmente desconhecido. O objetivo dos expe- rimentos ´e demonstrar a viabilidade da utiliza¸c˜ao da arquitetura catadi´optrica de aquisi¸c˜ao em um contexto de navega¸c˜ao autˆonoma. O modelo catadi´optrico foi esco- lhido por apresentar o melhor desempenho de aquisi¸c˜ao e uma menor complexidade de constru¸c˜ao. Al´em de mais r´apido que os demais, o modelo catadi´optrico tamb´em ´e mais compacto fisicamente e possui um menor consumo de energia. Estas carac- ter´ısticas facilitam a sua integra¸c˜ao ao robˆo m´ovel de pequeno porte descrito neste cap´ıtulo.

Os experimentos realizados foram:

Rastreamento de objetos: Com o aux´ılio do algoritmo descrito na Se¸c˜ao 2.1.2, o sistema deve ser capaz de localizar um s´olido vermelho no campo de vis˜ao omnidirecional, estimar a distˆancia e rota¸c˜ao do objeto com rela¸c˜ao ao robˆo e movimentar o ve´ıculo at´e ele;

Mapeamento incremental: Utilizando o algoritmo de detec¸c˜ao do solo descrito na Se¸c˜ao 2.1.1, o sistema deve ser capaz de identificar a posi¸c˜ao de obst´aculos em sua trajet´oria e construir dinamicamente um mapa topol´ogico do ambiente navegado;

Localiza¸c˜ao: Utilizando algoritmos de extra¸c˜ao de features para compara¸c˜ao de imagens atuais com pontos previamente mapeados do cen´ario, o sistema deve ser capaz de determinar se est´a ou n˜ao em um local conhecido e atualizar as tabelas de planejamento de rotas a partir desta informa¸c˜ao. O experimento

utiliza as estrat´egias de mapeamento topol´ogico e compara¸c˜ao de features des- critos na Se¸c˜ao 2.1.3.

Os experimentos de localiza¸c˜ao por compara¸c˜ao de features e mapeamento in- cremental foram inspirados nos experimentos realizados em [25], [83] e [84], onde os autores apresentam uma s´erie de resultados para mapeamento topol´ogico de ambi- entes externos por compara¸c˜ao de imagens omnidirecionais. O sistema apresentado ´e capaz de montar dinamicamente um mapa topol´ogico do ambiente comparando a vis˜ao atual do robˆo com imagens de pontos conhecidos previamente armazena- das. Uma abordagem semelhante para ambientes internos pode ser encontrada em [85]. Neste trabalho adaptamos o escopo dos experimentos para ambientes internos e controlados, reduzindo consideravelmente a complexidade das an´alises.

Na Se¸c˜ao 5.1 s˜ao apresentados os detalhes de constru¸c˜ao do robˆo m´ovel e sua integra¸c˜ao com o sistema de vis˜ao. Tamb´em s˜ao apresentadas as caracter´ısticas do cen´ario montado para realiza¸c˜ao dos experimentos de navega¸c˜ao. Na Se¸c˜ao 5.3, por sua vez, ´e apresentado um experimento para estimar o raio m´edio das rodas do robˆo m´ovel, com o objetivo de reduzir os erros acumulados de deslocamento durante a navega¸c˜ao. O modelo de movimenta¸c˜ao e as equa¸c˜oes para controle de deslocamentos tamb´em s˜ao apresentados nesta se¸c˜ao.

5.1

Cen´ario e Prot´otipo de Navega¸c˜ao

O ve´ıculo montado para navega¸c˜ao segue o modelo matem´atico estabelecido no Cap´ıtulo 2, utilizando um kit Lego Mindstorms NXT. O prot´otipo completo ´e ilus- trado na Figura 5.1a e suas dimens˜oes s˜ao detalhadas nas Figuras 5.1b, 5.1c e 5.1d. A lente Kogeto Dot para vis˜ao omnidirecional foi posicionada de cabe¸ca para baixo para que o robˆo tivesse uma boa vis˜ao do solo ao seu redor.

(a) (b)

(c) (d)

Figura 5.1: Prot´otipo de ve´ıculo de tra¸c˜ao diferencial para navega¸c˜ao

A Figura 5.2 apresenta um panorama omnidirecional obtido pela cˆamera j´a posi- cionada sobre o robˆo. As hastes de sustenta¸c˜ao da cˆamera podem servir de marca¸c˜ao na imagem para demarcar os limites das regi˜oes `a frente, `a esquerda, `a direita e ao fundo do ve´ıculo. Esta divis˜ao pode ser ´util para segmentar o panorama em regi˜oes de interesse e reduzir o tempo de processamento sobre elas.

Figura 5.2: Panorama omnidirecional capturado pelo prot´otipo de navega¸c˜ao

Todos os experimentos de navega¸c˜ao foram realizados sobre um piso emborra- chado de 2m × 2m de cor verde, como ilustra a Figura 5.3. A padroniza¸c˜ao da cor e da textura do solo ´e importante para melhorar a precis˜ao dos algoritmos de

identifica¸c˜ao de objetos por cor. Ela tamb´em ajuda a reduzir o impacto dos ru´ıdos causados por varia¸c˜oes na ilumina¸c˜ao do cen´ario, fator de significativa importˆancia devido `a baixa resolu¸c˜ao dos panoramas do modelo catadi´optrico.

(a) (b)

Figura 5.3: Piso padronizado para os experimentos de navega¸c˜ao

Documentos relacionados