• Nenhum resultado encontrado

Omnidirectional Vision Architecture for Embedded Robot Navigation with Raspberry Pi

N/A
N/A
Protected

Academic year: 2021

Share "Omnidirectional Vision Architecture for Embedded Robot Navigation with Raspberry Pi"

Copied!
6
0
0

Texto

(1)

Omnidirectional Vision Architecture for Embedded

Robot Navigation with Raspberry Pi

Anderson Amorim do Nascimento, Paulo César Machado de Abreu Farias

Departamento de Engenharia Elétrica

Universidade Federal da Bahia – UFBA Rua Aristides Novis, n.02, Federação - CEP: 40210-630

Salvador - BA, Brasil

amorim.an@gmail.com, paulo.farias@ufba.br

Abstract— Omnidirectional vision systems are extremely useful tools for autonomous robot navigation. The wide field of view can help the robot move more efficiently between obstacles, demanding fewer observations of the scene. However, these systems require some high cost algorithms for image processing, which are difficult to run on small embedded applications. This paper describes a fully functional architecture for acquiring omnidirectional panoramas from a catadioptric camera. Captured images feed the visual flow for two implemented navigation tasks, object tracking by color and obstacle avoidance by floor detection. The model uses a Raspberry Pi as main processing device, along with a robot vehicle built with a Lego NXT Mindstorms kit. Architecture and implementation details are provided, as much as a performance analysis for indoor applications.

Keywords—omnidirectional vision; robot navigation; embedded vision; raspberry pi; catadioptric camera

I. INTRODUÇÃO

Em 2010 o Google Inc. anunciou em seu blog oficial e no jornal The New York Times [1] o protótipo de um veículo autodirigido que deveria, dentro de poucos anos, substituir os automóveis tradicionais. Acompanhando a tendência, outras grandes empresas do mercado automobilístico como a Toyota, a Mercedes e a Audi, também anunciaram projetos de veículos de navegação parcial ou totalmente autônoma. Pesquisas em navegação autônoma também têm sido aplicadas em veículos aéreos (drones) [2], embarcações subaquáticas [3], sondas espaciais [4] e em dispositivos domésticos de baixo custo como o robô aspirador de pó Roomba [5].

Em todos estes sistemas, a habilidade de navegar por si só depende essencialmente do quanto o veículo é capaz de ―sentir‖ o ambiente ao seu redor e tomar decisões de movimentação baseadas no que foi observado. Quanto mais informações o dispositivo puder extrair do ambiente a ser navegado, mais precisas podem ser as suas tomadas de decisão. Esta relação torna os sistemas de visão computacional extremamente vantajosos para sistemas de navegação, sobretudo os sem mapeamento. O principal apelo dos sistemas de visão, com relação às outras formas de sensoriamento, é o grande volume de informações (e.g. textura, cores, formas, presença ou ausência de objetos) que pode ser extraído de um único sensor. Algumas tarefas de navegação podem ser executadas com bastante eficiência utilizando visão

computacional, atraindo uma grande variedade de projetos [6]. Como exemplo destas tarefas é possível citar algoritmos de identificação e desvio de obstáculos, localização do veículo, mapeamento 3D do ambiente e rastreamento de objetos de interesse.

A capacidade de enxergar o espaço navegado e extrair o máximo de informações sobre ele aumenta a eficiência das tomadas de decisão. O volume de informações adquiridas também é diretamente proporcional ao campo de visão da câmera utilizada. Sistemas de visão omnidirecional, por exemplo, potencializam ainda mais a capacidade de observação do veículo, uma vez que, com uma única imagem, é possível visualizar todo o espaço ao seu redor. Objetos de interesse (e.g. marcações, obstáculos, limites de atuação) permaneçam mais tempo no campo de visão do robô, facilitando o cálculo de manobras e a identificação de pontos de referência. Uma lista detalhada de aplicações de visão omnidirecional pode ser encontrada em [7] e [8].

Embora os sistemas de visão computacional ofereçam inúmeras vantagens para aplicação em navegação, poucos estudos mencionam uma dificuldade inerente à sua aplicação em robótica embarcada: a complexidade das operações de manipulação de imagens e o custo computacional (i.e. consumo de energia, memória, tempo de processador, etc.) que ela acarreta [9][10][11][12]. Plataformas embarcadas de baixo custo como a CMUCam [13], embora ofereçam algumas ferramentas de pré-processamento de imagens e controle servo-visual, não comportam aplicações mais complexas (e.g. localização e mapeamento simultâneos, identificação dinâmica de obstáculos, etc.). Nestes casos as imagens capturadas pela câmera precisam ser enviadas para processamento em unidades de maior poder computacional, comprometendo o desempenho e aumentando os custos do projeto. Uma forma de contornar esta limitação é incorporar ao robô alguma plataforma embarcada de alto-nível como o Rasbperry Pi[14], ou o Intel Galileo [15]. Essas ferramentas possuem baixo consumo de energia (i.e. comparadas à alternativas como laptops e

desktops) e suportam bibliotecas de software de alto nível para

manipulação das imagens, como o OpenCV.

Este trabalho propõe uma arquitetura de visão omnidirecional de baixo custo para navegação autônoma. A arquitetura é baseada em uma plataforma Raspberry Pi B, equipado com um módulo de vídeo (câmera), e um veículo

(2)

robô, montado a partir de um kit Lego NXT Mindstorms. Para avaliar o desempenho do projeto em uma aplicação de navegação, foram implementados um algoritmo de detecção de obstáculos e um algoritmo de rastreamento de objetos por cor. A Seção II discute os detalhes do módulo de visão omnidirecional e as técnicas para obtenção de um panorama retangular. A Seção III apresenta o modelo arquitetural do sistema e a comunicação entre os seus principais componentes. Na Seção IV são apresentados os algoritmos de detecção de obstáculos e rastreamento desenvolvidos neste projeto. Finalmente, as Seções V e VI apresentam os resultados dos experimentos realizados e uma discussão sobre eles.

II. VISÃO OMNIDIRECIONAL

A. Aquisição de Imagens Omnidirecionais

Uma imagem omnidirecional compreende um campo de visão horizontal de 360° ao redor da câmera. A partir delas, um robô pode localizar objetos em todo o seu entorno e calcular manobras até eles fazendo apenas uma captura. Imagens omnidirecionais também são menos sensíveis a variações rotacionais, o que facilita a implementação de tarefas de localização e posicionamento em robôs móveis. Há três maneiras tradicionais de obter um panorama omnidirecional [16]: monocular, com uma só câmera girando em torno de um eixo central e capturando segmentos da imagem final a cada passo; multicâmeras, com um arranjo circular de várias câmeras, onde cada uma é responsável pela captura de um segmento angular do panorama final; e catadióptrico, utilizando uma câmera catadióptrica, normalmente montada com uma câmera comum apontada para um espelho convexo.

Nos modelos monocular e multicâmeras, são obtidos vários segmentos individuais do panorama final. Cada segmento cobre uma seção angular do campo de visão total. Os segmentos são concatenados entre si através de um processo chamado image stitching [17]. O produto da concatenação é um panorama retangular de alta resolução (i.e. soma das resoluções individuais menos as áreas de interseção entre segmentos adjacentes) que serve de entrada para o fluxo visual de controle do robô. Estes modelos de aquisição possuem algumas limitações importantes com relação ao tempo de aquisição e montagem de um panorama. O modelo monocular, por exemplo, está limitado à velocidade de rotação do motor responsável pelo giro da câmera. Caso a velocidade seja lenta, a aplicação exige que a cena observada esteja totalmente imóvel, dificultando a sua aplicação em ambientes dinâmicos. O modelo multicâmeras, por sua vez, apresenta uma dificuldade relacionada à melhor forma de interligação entre as câmeras. O desempenho da aquisição de imagens é limitado pela velocidade das interfaces de comunicação (físicas e lógicas) entre elas [18]. Outro fator crítico para este segundo modelo, considerando sua aplicação em dispositivos embarcados de baixo custo, é o consumo de energia gerado pela utilização de várias câmeras.

Um modelo de câmera catadióptrica é ilustrado na Fig. 1. Com relação às outras duas alternativas de aquisição, este modelo possui o melhor tempo de captura e o menor consumo de energia, uma vez que apenas uma câmera é necessária. Por outro lado, dentre as principais dificuldades associadas a esta arquitetura é possível citar: (1) o formato polar da imagem

obtida (como o mostrado na Fig. 2(a)); e as distorções associadas à ele; e (2) a baixa resolução da imagem final quando comparada com as imagens obtidas pelas duas primeiras estratégias [12][16].

B. Câmera Catadióptrica

Para este trabalho foi montado um protótipo de câmera catadióptrica utilizando um espelho esférico e um módulo de visão (câmera) de um Raspberry Pi B. O protótipo implementa o modelo indicado na Fig. 1. A imagem obtida com este arranjo, sem processamento, tem um formato polar (donut) mostrado na Fig. 2 (a). A imagem original pode ser ―desenrolada‖, através de um processo denominado

dewarping, para a obtenção de um panorama retangular (Fig. 2

(b)). Os modelos para construção de câmeras catadióptricas e o processo de dewarping são descritos com detalhes em [12] e [16].

Figura 1 - Modelo de câmera catadióptrica com espelho convexo.

a)

b)

Figura 2 - a) Imagem polar obtida por uma câmera catadióptrica e b) Panorama omnidirecional

É possível mapear um ponto no mundo real P=(x,y,z) sobre um ponto específico na imagem (p=(u,v)), utilizando a transformação definida na Equação 1, onde é uma matriz contendo os parâmetros intrínsecos e extrínsecos da câmera catadióptrica (Equação 2) e T é uma matriz de projeção:

(1)

[ ] (2) Utilizando o modelo de projeção unificada descrito em [19], é possível definir a transformação para um arranjo câmera-espelho, cujo modelo detalhado é ilustrado na Fig. 3. A primeira etapa da transformação consiste em projetar um ponto 3D sobre um ponto [ ] na superfície de um espelho esférico (Equação 3). Em seguida, o

(3)

ponto é projetado em um ponto do plano da imagem, levando em consideração os parâmetros da câmera (Equações 4 e 5).

Figura 3 - Modelo de projeção unificada para um espelho esférico. (Extraído de [20]) [ ] [ ⁄ √ ] (3) [ ] [ ] (4) [ ] [ ] [ ] (5)

Os parâmetros da câmera são determinados durante a calibração do sistema, utilizando pontos e conhecidos. Todos os cálculos assumem que os centros focais da câmera e do espelho estão perfeitamente alinhados, havendo apenas uma translação no eixo entre os dois.

C. Visão Panorâmica

A realização de procedimentos de interpretação das imagens polares (e.g identificação de linhas de fuga, localização de objetos de interesse) pode ser facilitada caso ela seja convertida em um panorama retangular. O processo de conversão é denominado dewarping e consiste no mapeamento de círculos concêntricos da imagem polar em linhas horizontais do panorama retangular [20], como ilustrado na Fig. 4.

Figura 4 - Ilustração do processo de dewarping de uma imagem polar Assumindo que os centros focais do espelho e da câmera estão alinhados, a transformação da imagem polar para o panorama retangular pode ser obtida através da Equação 6, onde é uma função linear de , variando entre 0 e , e R é uma função linear de , variando entre 0 e o raio total da imagem polar. Todos os pontos da imagem polar são mapeados em pontos do panorama.

(6)

O algoritmo de dewarping é da ordem , onde são, respectivamente, o número de linhas e colunas da imagem original. Quanto maior a resolução utilizada, mais tempo é necessário para realizar a transformação. Em um experimento feito com imagens RGB de resolução 640x640, com o raio externo R de 600 pixels, o protótipo implementado neste projeto consumiu um tempo médio de dewarping de 81 segundos. Este resultado tornaria inviável a aplicação da técnica em um sistema de navegação de tempo real. Felizmente, é possível dividir a execução do algoritmo em duas etapas independentes, uma de calibração e outra de

transformação.

A etapa de calibração consiste em calcular duas matrizes de transformação de linhas e colunas para a imagem polar. As matrizes dependem exclusivamente das características da câmera, podendo ser aplicadas em qualquer imagem subsequente obtida por ela. Esta etapa é a mais complexa e leva um tempo médio de 80,5 segundos para imagens de 640x640 no Raspberry Pi B. Uma vez calculadas as matrizes, elas podem ser armazenadas e aplicadas na transformação das próximas imagens capturadas pela mesma câmera. O tempo médio do processo de transformação sem o cálculo das matrizes foi de 0,25 segundo.

III. ARQUITETURA DE NAVEGAÇÃO

Para avaliar a operação da câmera catadióptrica, integramos o protótipo a um robô móvel de tração diferencial construído com um kit Lego Mindstorms NXT [21]. O modelo conceitual da arquitetura é ilustrado na Fig. 5.

Figura 5 - Componentes arquiteturais do sistema de visão para navegação robótica

O módulo de aquisição de imagens é composto pelo conjunto câmera-espelho posicionado no topo do veículo. Cada imagem capturada é encaminhada para o Raspberry Pi, onde são executados os procedimentos de dewarping, identificação de obstáculos e rastreamento visual de um objeto. Após a interpretação das imagens, apenas as coordenadas de movimentação são enviadas para o módulo NXT.

A ligação entre o Raspberry Pi e o tijolo NXT é feita através de uma interface Bluetooth, mantendo a separação física entre os dois módulos. O protocolo de comunicação entre o Raspberry Pi e o veículo navegador, possibilita a substituição deste último sem alterar o sistema de visão. A Fig. 6 ilustra uma sequência de comunicações possíveis entre o software de visão, executado no Raspberry Pi, e o firmware de controle dos motores no NXT. A sequência implementa uma tarefa de rastreamento de um objeto. As informações sobre o posicionamento atual e orientação do robô são armazenadas no módulo Raspberry Pi, cabendo ao tijolo NXT somente a realização dos movimentos.

(4)

Figura 6 - Sequência de comunicação entre o processo de rastreamento de objetos no Raspberry Pi e o veículo de navegação Lego NXT

IV. ALGORÍTMOS DE NAVEGAÇÃO

Para que um sistema de navegação seja considerado totalmente autônomo ele deve ser capaz de realizar três tarefas de navegação fundamentais: cálculo de trajetória, identificação de obstáculos e localização. O sistema final é uma soma de vários subsistemas responsáveis pela realização eficiente de cada uma destas tarefas. Este trabalho concentra atenção nas duas primeiras aplicações, deixando a implementação dos algoritmos de localização para os desdobramentos futuros. Como o sistema proposto visa atender aplicações embarcadas de pequeno porte, todo o processamento visual é feito dentro do sistema de visão e no menor tempo possível.

A. Rastreamento de objetos

Como mecanismo de definição de trajetória, foi implementado um algoritmo simples para rastreamento de objetos pela cor, como o descrito em [21]. O algoritmo detecta a presença de um objeto de cor pré-definida e devolve posição dele com relação à frente do robô. É necessário que objeto rastreado tenha uma cor destoante do resto do ambiente.

Inicialmente, as imagens analisadas são convertidas para o sistema de cores HSV, que oferece uma transição mais suave entre pixels adjacentes e uma menor sensibilidade à variações de iluminacão. Em seguida, a imagem é limiarizada de acordo com dois limites HSV (i.e. inferior e superior) previamente configurados.

Pixels fora desta região são convertidos para

preto e os demais para branco. O contorno aproximado

do objeto é detectado a partir da imagem binarizada.

Finalmente, supondo que a câmera foi posicionada no

topo do robô e apontada para a frente, a posição relativa

do objeto pode ser determinada pela a distância (em

pixels) até o centro da imagem. As etapas do

procedimento para a identificação de um sólido vermelho

são ilustradas na Fig. 7.

Após a detecção, o sistema de visão encaminha ao veículo Lego NXT uma série de comandos de movimentação para minimizar a distância entre a frente do robô e o objeto. O robô realiza a trajetória retilínia em direção ao objeto, parando a uma distância aproximada de 20cm. A profundidade entre o veículo e o alvo é estimada de acordo com a área que o objeto ocupa no panorama. Quanto maior a área ocupada pelo objeto, mais próximo o ele é considerado.

Figura 7 - Etapas do procedimento para rastreamento de objetos: a) captura; b) limiarização; c) detecção

B. Detecção de Obstáculos

Para a tarefa de detecção de obstáculos foi implementado um algoritmo baseado na identificação da cor do solo à frente do robô, similar aos descritos em [22] e [23]. O algoritmo é adequado para ambientes internos (indoor), com obstáculos estáticos e onde a cor do solo é uniforme. Ele assume que os primeiros pixels, a partir do centro inferior da imagem, correspondem à cor do solo à frente do robô. Partindo da última linha horizontal em direção ao topo, o algoritmo classifica cada pixel comparando-o com a cor associada ao solo. Pixels com valores HSV muito próximos aos do solo são classificados como parte dele, sendo pintados de amarelo.

O resultado deste procedimento inicial é ilustrado na Fig. 8 (b). O solo é percebido como um grande componente conexo da imagem, possibilitando estimar quanto espaço o robô tem à sua frente. O passo seguinte é preencher um grid de ocupação traçando linhas verticais a partir do ponto de origem do robô, como mostra a Fig. 8 (c). O comprimento das linhas pode ser utilizado para estimar a distância até os obstáculos.

a)

b)

c)

Figura 8 – Algoritmo de identificação de obstáculos: a) cena original; b) identificação do solo c) linhas de cobertura do espaço livre ao redor do

(5)

Tanto o algoritmo de rastreamento de objetos, quanto o de identificação do solo são extremamente sensíveis às variações na iluminação do ambiente, uma vez que elas alteram os valores dos pixels. Ambos são adequados para ambientes internos com pouca variação de luminosidade e, preferencialmente, com obstáculos estáticos.

V. RESULTADOS DE EXPERIMENTOS

Os algoritmos de detecção de obstáculos e rastreamento de objetos foram implementados em Python 2.7, com o auxílio da biblioteca OpenCV, e executados na Unidade Central de Controle, um Raspberry Pi B. O sistema operacional utilizado na unidade de controle foi um Linux, adaptato para Raspbery Pi, chamado Raspbian, com a versão 3.18 do kernel.

Todo o processamento visual foi feito em tempo de navegação, adquirindo e analisando imagens à medida que o robô progredia na trajetória. Para atender a este requisito, um fluxo constante de imagens precisa ser fornecido ao sistema de decisão, com o menor atraso possível. O tempo de aquisição e processamento visual é, portanto, o principal parâmetro de desempenho da arquitetura e dos algoritmos utilizados.

A Fig. 9 (a) apresenta, separadamente, os tempos de aquisição do panorama omnidirecinal, detecção de obstáculos e rastreamento de objetos. Os valores foram medidos para uma sequência de 20 capturas. A Fig. 9 (b), por sua vez, apresenta o tempo total de processamento para cada imagem capturada. Neste experimento foram obtidas imagens polares com resolução de 640x640 pixels em RGB.

a)

b)

Figura 9 – Algoritmo de identificação de obstáculos por classificação da cor do solo.

Para o experimento de rastreamento de objetos, o sistema foi posicionado em um cenário controlado, sobre um piso emborrachado verde. O robô foi configurado para rastrear um objeto vermelho no seu campo de visão e posicionar-se de frente para ele. A rotação necessária para alinhar o robô é calculada em função da distância (em pixels) do objeto até o centro da imagem. A translação até ele, por sua vez, é determinada em função área do objeto. A Fig. 10 (a) apresenta o ponto de vista do robô para a detecção do sólido

vermelho posicionado à direita dele. Já a Fig. 10 (b) ilustra os movimentos do robô durante o processo.

a)

b)

Figura 10 – Rastreamento de um objeto vermelho posicionado à direita do robô

Para aumentar a eficácia do algoritmo de detecção de obstáculos foram definidas ―zonas seguras‖ no panoama omnidirecional, equivalentes a uma distância de 20 centímetros do robô. As zonas são representadas como pequenos trapézios em regiões específicas do panorama. Quando alguma linha vertical traçada pelo algoritmo de detecção termina dentro de uma ―zona segura‖ o sistema de visão entende que aquela direção está ocupada e rotaciona o robô para uma zona livre. A Fig. 11 ilustra o resultado do procedimento para identificação de obstáculos. As direções livres para movimentação são indicadas por um círculo azul.

(6)

VI. CONCLUSÕES

O tempo médio transcorrido entre a aquisição da imagem polar e a entrega das informações para o robô foi de aproximadamente 1,8 segundos. Este intervalo é longo para aplicações de navegação em tempo real em ambientes dinâmicos. Nestes casos o robô precisa receber e interpretar imagens enquanto se movimenta, exigindo fluxo de imagens a uma taxa adequada à sua velocidade. O tempo médio de processamento no protótipo desenvolvido é compatível com aplicações em ambientes estáticos, ou onde o robô pode se mover em baixavelocidade, fazendo pequenas paradas para observação. Algoritmos de detecção e rastreamento mais eficientes podem ser utilizados para melhorar o desempenho do sistema.

Uma das principais dificuldades de processar panoramas obtidos a partir de uma câmera catadióptrica é a resolução final disponível. Comparados com alternativas de image

stitiching, a resolução dos panoramas catadióptricos dificulta a

localização de detalhes pequenos da cena. Além disso, a alternativa de aumentar a resolução da imagem polar para corrigir este problema pode comprometer o tempo de aquisição e processamento. As distorções causadas pela projeção do espelho esférico também precisam ser contornadas em aplicações mais precisas de localização e rastreamento.

Como os algoritmos utilizados detectam as cores do solo e do objeto de interesse, alterações na iluminação do cenário podem provocar resultados diferentes do esperado. Esta sensibilidade às variações de iluminação dificulta a aplicação do protótipo em ambientes externos. No entanto, a flexibilidade oferecida pelo Raspberry Pi e a biblioteca OpenCV permite a implementação de técnicas mais robustas para navegação nestes cenários. A arquitetura desenvolvida é funcional, versátil, simples e de baixo consumo, características importantes para sistemas embarcados de pequeno porte.

REFERENCES

[1] MARKOFF, John. Google Cars Drive Themselves, in Traffic. New York Times, v. 9, 2010.

[2] BRISTEAU, Pierre-Jean et al. The navigation and control technology inside the ar. drone micro uav. In: 18th IFAC World Congress. 2011. p. 1477-1484

[3] LEONARD, John J. et al. Autonomous underwater vehicle navigation. In:IEEE ICRA Workshop on Navigation of Outdoor Autonomous Vehicles. 1998.

[4] GROTZINGER, John P. et al. Mars Science Laboratory mission and science investigation. Space science reviews, v. 170, n. 1-4, p. 5-56, 2012.

[5] JONES, Joseph L. Robots at the tipping point: the road to iRobot Roomba.Robotics & Automation Magazine, IEEE, v. 13, n. 1, p. 76-78, 2006.

[6] DESOUZA, Guilherme N.; KAK, Avinash C. Vision for mobile robot navigation: A survey. Pattern Analysis and Machine Intelligence, IEEE Transactions on, v. 24, n. 2, p. 237-267, 2002.

[7] YASUSHI, Y. A. G. I. Omnidirectional sensing and its applications. IEICE Transactions on Information and Systems, v. 82, n. 3, p. 568-579, 1999.

[8] WINTERS, Niall et al. Omni-directional vision for robot navigation. In:Omnidirectional Vision, 2000. Proceedings. IEEE Workshop on. IEEE, 2000. p. 21-28.

[9] ROWE, Anthony; ROSENBERG, Charles; NOURBAKHSH, Illah. A low cost embedded color vision system. In: Intelligent Robots and Systems, 2002. IEEE/RSJ International Conference on. IEEE, 2002. p. 208-213.

[10] ROWE, Anthony G. et al. CMUcam3: An open programmable embedded vision sensor. 2007.

[11] SAWASAKI, Naoyuki et al. Embedded vision system for mobile robot navigation. In: Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEE International Conference on. IEEE, 2006. p. 2693-2698.

[12] ISHIGURO, Hiroshi. Development of low-cost compact omnidirectional vision sensors. In: Panoramic vision. Springer New York, 2001. p. 23-38.

[13] GOODE, A.; ROWE, A.; AGYEMAN, K. Cmucam project. 2012. Disponível em: http://www.cmucam.org/

[14] UPTON, Eben; HALFACREE, Gareth. Meet the Raspberry Pi. John Wiley & Sons, 2012

[15] RAMON, Manoel Carlos. Intel Galileo and Intel Galileo Gen 2. In: Intel® Galileo and Intel® Galileo Gen 2. Apress, 2014. p. 1-33. [16] GRASSI JUNIOR, Valdir; OKAMOTO JUNIOR, Jun. Development of

an omnidirectional vision system. Journal of the Brazilian Society of Mechanical Sciences and Engineering, v. 28, n. 1, p. 58-68, 2006. [17] GLEDHILL, Duke et al. Panoramic imaging—a review. Computers &

Graphics, v. 27, n. 3, p. 435-445, 2003.

[18] NASCIMENTO, A. A. ; FARIAS, P. C. M. A. . Omnidirectional Multicamera Architecture for Mobile Robot Navigation. In: WVC 2013 - IX Workshop de Visão Computacional, 2013, Rio de Janeiro. Anais do WVC 2013 - IX Workshop de Visão Computacional, 2013.

[19] GEYER, Christopher; DANIILIDIS, Kostas. A unifying theory for central panoramic systems and practical implications. In: Computer Vision—ECCV 2000. Springer Berlin Heidelberg, 2000. p. 445-461. [20] GASPAR, José António da Cruz Pinto. Omnidirectional vision for

mobile robot navigation. 2002. Tese de Doutorado. Universidade Técnica de Lisboa.

[21] JOY, Emmanuel; PETER, J. Dinesh. Tracking of Unique Colored Objects: A Simple, Fast Visual Object Detection and Tracking Technique. In:Informatics and Communication Technologies for Societal Development. Springer India, 2015. p. 149-156.

[22] ULRICH, Iwan; NOURBAKHSH, Illah. Appearance-based obstacle detection with monocular color vision. In: AAAI/IAAI. 2000. p. 866-871.

[23] LENSER, Scott; VELOSO, Manuela. Visual sonar: Fast obstacle avoidance using monocular vision. In: Intelligent Robots and Systems, 2003.(IROS 2003). Proceedings. 2003 IEEE/RSJ International Conference on. IEEE, 2003. p. 886-891.

Referências

Documentos relacionados

4 Este processo foi discutido de maneira mais detalhada no subtópico 4.2.2... o desvio estequiométrico de lítio provoca mudanças na intensidade, assim como, um pequeno deslocamento

Neste estudo, nos seis anos avaliados, ficou evidenciada a redução consecutiva do quantitativo de leitos hospitalares, em progressões diferentes, e contraditórias do que

A democratização do acesso às tecnologias digitais permitiu uma significativa expansão na educação no Brasil, acontecimento decisivo no percurso de uma nação em

Focamos nosso estudo no primeiro termo do ensino médio porque suas turmas recebem tanto os alunos egressos do nono ano do ensino fundamental regular, quanto alunos

Quanto às suas desvantagens, com este modelo, não é possível o aluno rever perguntas ou imagens sendo o tempo de visualização e de resposta fixo e limitado;

Os principais objectivos definidos foram a observação e realização dos procedimentos nas diferentes vertentes de atividade do cirurgião, aplicação correta da terminologia cirúrgica,

psicológicos, sociais e ambientais. Assim podemos observar que é de extrema importância a QV e a PS andarem juntas, pois não adianta ter uma meta de promoção de saúde se

(...) o controle da convencionalidade em sede internacional seria um mecanismo processual que a Corte Interamericana de Direitos Humanos teria para averiguar se o direito