Proposta de uma arquitetura de hardware em FPGA implementada para SLAM com multi-câmeras aplicada à robótica móvel - Bonato, Vanderlei (2008)
Este trabalho apresenta uma arquitetura de hardware, baseada em FPGA (Field-Programmable Gate Array) e com multi-câmeras, para o problema de localização e mapeamento simultâneos - SLAM (Simultaneous Localization And Mapping) aplicada a sistemas robóticos embarcados. A arquitetura é composta por módulos de hardware altamente especializados para a localização do robô e para geração do mapa do ambiente de navegação em tempo real com features extraídas de imagens obtidas diretamente de câmeras CMOS a uma velocidade de 30 frames por segundo. O sistema é totalmente embarcado em FPGA e apresenta desempenho superior em, pelo menos, uma ordem de magnitude em relaçãoo às implementações em software processadas por computadores pessoais de última geração. Esse desempenho deve-se à exploração do paralelismo em hardware junto com o processamento em pipeline e às otimizações realizadas nos algoritmos. As principais contribuições deste trabalho são as arquiteturas para o filtro de Kalman estendido - EKF (Extended Kalman Filter) e para a detecção de features baseada no algoritmo SIFT (Scale Invariant Feature Transform). A complexidade para a implementaçãoo deste trabalho pode ser considerada alta, uma vez que envolve uma grande quantidade de operações aritméticas e trigonométricas em ponto utuante e ponto fixo, um intenso processamento de imagens para extração de features e verificação de sua estabilidade e o desenvolvimento de um sistema de aquisição de imagens para quatro câmeras CMOS em tempo real. Adicionalmente, foram criadas interfaces de comunicação para o software e o hardware embarcados no FPGA e para o controle e leitura dos sensores do robô móvel. Além dos detalhes e resultados da implementação, neste trabalho são apresentados os conceitos básicos de mapeamento e o estado da arte dos algoritmos SLAM com visão monocular e estéreo