Propostado Inicial do Projeto

Introdução

Este trabalho tem por ideia principal desenvolver um sensor para o imageamento de ambientes denominado LiDaR (Light Detection and Ranging), de forma que ele seja flexível em sua aplicação. Neste processo de desenvolvimento serão explorados temas de computação embarcada, microcontroladores, coleta de dados por meio de sensores e o tratamento desses dados. O processo também envolverá uma forma de como extrair características úteis desse conjunto de dados para que seja aplicada principalmente na área de veículos autônomos.

Motivação

Na área de veículos autônomos e robótica móvel, a necessidade de se conhecer o ambiente em que o móvel se encontra torna-se imprescindível. Para isso utiliza-se diversas técnicas de visão computacional tentando otimizar, de alguma forma, a quantidade de dados coletado do ambiente unido a maior eficiência computacional para fazer isso. Partindo dessa premissa, o Lidar tem se tornado um sensor muito utilizado por suprir exatamente esses requisitos, o que foi possível graças, essencialmente, ao aumento de poder computacional dos embarcado e a diminuição dos custos de fabricação dos circuitos integrados. Existem diversas tecnologias diferentes para a implementação de Lidar's desde utilizando espelhos móveis, alternativas utilizando CCD's lineares e também construções híbridas, assim tendo este TCC também o foco de estudo de uma implementação que pondere tanto as questões de custo de implementação como de eficiência computacional.

Objetivos

O objetivo deste trabalho é de construir um Lidar, um sensor que utiliza um laser para medir distâncias e fazer um mapeamento do ambiente no qual se encontra imerso. A construção envolverá desde a construção do hardware, o firmware que operará esse hardware, até o software que fará o tratamento da nuvem de pontos gerada. A estrutura do Lidar em si também envolverá a modelagem 3D das peças para que sejam prototipadas usando ferramentas de fabricação digital, como cortadora Laser e impressoras 3D.

Cronograma

Aluno:

Bruno Rafael Aricó

Professor Orientador:

Roberto Hirata Junior

O desenvolvimento

Durante a execução deste projeto de TCC foi desenvolvido um Radar Laser, conhecido por Lidar, o qual tem como funcionalidade a medição de distâncias em ambientes, mais precisamente os escaneando e obtendo então uma representação virtual deste, tendo a sua aplicação para a execução de scans bidimensionais e tridimensionais com alcance limite de até 1.5m de raio, na implementação aqui apre- sentada.

Tem suas estruturas fabricadas em uma impressora 3D, que também foi construída para a elaboração deste projeto, possuindo hardware e software aberto, baixo custo e não utilizando peças específicas tem como a ideia de ser facilmente replicável e modificável. Junto ao Lidar foi desenvolvida uma interface de operação para ele, com a qual pode-se operá-lo de forma completamente remota por meio de WiFi. Sua aplicação fundamental é para a aquisição de modelos tridimensionais de pequenos ambientes e para a navegação de pequenos veı́culos autônomos.

O que é um Lidar

O Lidar é um equipamento utilizado para a aquisição extensiva de medidas de ambientes e objetos, com finalidades de se obter informações computacionais sobre eles. Sua aplicação é ampla em navegação autônoma e em ciências ambientais. O primeiro Lidar implementado data de 1970 para o projeto Apollo 15 da Nasa onde foi utilizado para fazer altimetria do solo lunar, era disparado a 30km de altitude possuindo uma resolução de até 10 metros.

Existem varias tecnologias as quais podem ser utilizadas para implementar um Lidar, porém essencialmente todas utilizam lasers. Mais precisamente o Lidar implementado neste TCC utiliza a tecnologia ToF (Time of Flight) a qual funciona semelhante a um sonar, o qual mede a distância até um certo ponto calculando-se a distancia percorria pelo som, no entanto para esta aplicação a velocidade que é tomada como referência é a da luz.

Fotografia do Lidar altimétrico utilizado na missão Apollo 15

O Lidaro

O Lidaro é uma releitura DIY (Do it Yourself ) de um Lidar convencional, onde temos sua estrutura construida essencialmente se utilizando de impressão 3D e possuindo seu hardware e software abertos e livres. Seu nome, Lidaro, é um acrônimo para "Lidar Open-source".

Caracterizado como um Lidar do tipo ToF, com com taxa de amostragem de 50Hz, possui dois eixos de rotação responsáveis individualmente pela rotação do eixo horizontal e vertical, identificados, em coordenadas esféricas como eixo azimutal e zenital, respectivamente.

Utilizado para realizar escaneamentos em ambientes com até 1.5m, com o sensor inicialmente utilizado, o VL53L0X expansivel para sensores de maior capacidade, tanto em termos de taxa de amostragem como de distância alcançada, tem sua aplicação para fins deaquisição de imagens virtuais de pequenos cômodos, assim como para a navegação de pequenos veículos autônomos.

O Lidaro

Hardware

Como microcontrolador principal possui um ESP32, dispondo também do sensor ToF VL53L0X como principal sensor de medição de distâncias e também do sensor acelerômetro e giroscópio MPU6050, o qual serve para fazer a compensação automática de nível do Lidaro.

Para se conseguir as informações de distancia e posição do ponto, necessitamos sabertambém qual a inclinação de cada um dos eixos do Lidaro. Para isso no eixo azimutal se dispõe de um servo-motor que é responsável por sua movimentação assim como a aquisição de seu angulo de posicionamento.

No eixo zenital temos um motor brushless combinado com um encoder rotativo, visível observando-se os dentes na borda do rotor, que passam através de um sensor infravermelho, para identificar o posicionamento deste eixo.O encoder rotativo possui 15 dentes nos dando a resolução por hardware de 12 graus, o que por software, por meio de interpolação é aumentada para 1 grau, conferindo às medidas feitas a resolução de 1 grau em ambos os eixo de rotação.

Energeticamente econômico, pode ser operado conectado a uma fonte de energia fixa, assim como também por meio de bateria, tornando-o completamente independente de fios, uma vez que sua transferência de dados também é feita por meio de WiFi.

Placa Heltec com o microcontrolador ESP32 a direita e o sensor ToF Vl53l0x a esquerda

Software e Firmware

O firmware embarcado no Lidaro foi escrito na linguagem Arduino, uma variação de C++, o qual tem por papel de atuar sobre os eixos, fazer a leitura dos sensores, tanto acelerômetro/giroscópio, encoder, e ToF, como fazer a formatação das mensagens e fazer a comunicação por meio de rede WiFi com o computador que executa seu software de controle.

No software de controle é onde temos a interface para visualização do ambiente virtualizado, e funcionalidade como selecionar a velocidade de rotação dos eixo do Lidaro, verificar se ele se encontra conectado a rede, selecionar o modo de operação e exportar os pontos amostrados na forma de um arquivo CSV.

Interface de controle do Lidaro

Resultados

É possı́vel se perceber a consistência entre o cenário real e os respectivos scans executados, dadas as limitaçoes do Lidaro com o sensor utilizado, sendo as varreduras das imagens feitas em sua resolução intermediária para ambos os casos, 2D e 3D, e conseguimos perceber a detecção de todos os objetos presentes na cena, inclusive com as peculiaridades de seus formatos, como os ângulos retos da caixa, a simetria radial do balde e a distância entre as pernas do banco.

Virtualização de ambiente excutada com o Lidaro

Arquivos para download

Por se tratar de um projeto opensource, neste Github pode-se encontrar todos os arquivos, tanto de estruturas para impressão em 3D como o firmware e software de controle.

Neste link pode ser encontrada a Monografia que explica um pouco mais sobre o desenvolvimento e construção do projeto, assim como o Poster.

Agradecimentos

Gostaria de agradecer a todas as pessoas que se envolveram com este projeto, seja ela de forma direta ou indireta, com hardware, software ou palavras de apoio, sou profundamente grato! Especialmente a meu irmão Leonardo Rafael Aricó, por ceder recursos computacionais, João Vitor Mollino, que foi de grande influência na construção da impressora 3D desenvolvida para este projeto, Raphael Gusmão, Marcelo Schimmidt, Gabriel Capella e Dj, do Hardware Livre USP, com apoio em alguns hardwares que constituem o Lidaro e a Nayane Nataly pelo apoio durante desenvolvimento da monografia.