Devido à precisão exigida em vários campos, como agricultura, arqueologia e transporte, lasers são frequentemente usados ​​para fins como evitar obstáculos, construção de mapas ou até mesmo navegação.

Vejamos os LiDARs, como eles funcionam e como você pode usá-los para criar um mapa 2D do seu espaço.

Coisas que você precisará para escanear seu quarto

A seguir estão os pré-requisitos para criar um mapa 2D do seu quarto:

  • Um laptop ou PC executando o Ubuntu Server
  • Instalação do ROS
  • A LiDAR

O que é LiDAR?

LiDAR, ou Light Detection and Ranging, também pode ser encontrado por outro nome, LADAR (Laser Detection and Variação) uma tecnologia de sensoriamento remoto ativo que mede a distância usando luz na forma de um pulso laser. A tecnologia funciona fazendo um pulso óptico em um alvo e medindo as características do sinal de retorno refletido.

O sistema mede o tempo que o feixe leva para retornar. Em geral, é um medidor de distância. A largura do pulso óptico pode variar de alguns nanossegundos a vários microssegundos e pode atingir uma variedade de materiais.

Conexão do sistema e aquisição de dados a laser

O RPLIDAR A1, um sensor LiDAR de baixo custo adequado para aplicações robóticas internas, será usado neste caso. Possui um campo de varredura de 360 ​​graus, uma frequência de rotação de 5,5 hz/10 hz e uma distância de 8 metros. O LiDAR possui um sistema de scanner de alcance, um sistema de motor e uma interface de comunicação (porta serial/USB).

O sistema mede dados de distância em mais de 2000 vezes por segundo e com saída de distância de alta resolução. Consequentemente, requer o uso de várias ferramentas para processar e visualizar os dados. Por exemplo, você pode usar a ferramenta SlamTech RoboStudio ou o pacote fornecido pelo ROS.

Por que ROS?

ROS (Robot Operating System) é um software usado por uma comunidade global de código aberto de aficionados de robótica dedicados a melhorar e tornar os robôs disponíveis para todos. Foi inicialmente desenvolvido por Eric Berger e Keenan Wyrobek na Universidade de Stanford. O ROS também permite visualizar dados de sensores, criar interfaces e usar ferramentas como Rviz e o mecanismo de simulação Gazebo.

Com o ROS, você poderá facilmente separar seu código em pacotes contendo pequenos programas, chamados nós. Esses nós são conectados por meio de tópicos sobre os quais enviam e recebem mensagens.

Neste projeto, você usará o rplidar_ros, um pacote ROS projetado especificamente para coleta de dados LiDAR. O pacote hector_slam será usado posteriormente para a criação do mapa.

Etapa 1: Instalação do ROS

Depois instalando o Ubuntu Server, abra seu terminal e execute o seguinte comando para garantir que seu índice de pacotes Debian esteja atualizado. A diferença entre atualização e atualização já foi coberto.

sudo apt atualizar

O passo seguinte é instalar o ROS.

sudo apt instalar ros-noetic-desktop-cheio

Você pode testar o ROS executando o roscore, que servirá como prova de instalação adequada.

roscore 

Etapa 2: Obtendo sua primeira digitalização

Primeiro, execute o seguinte comando para instalar o rplidar_ros pacote:

sudo apt-pegue instalar ros-noetic-rplidar-ros 

o rplidar_ros O pacote inclui os scripts e os arquivos de inicialização necessários para obter e visualizar os dados de varredura LiDAR.

Depois de concluir seu software, conecte seu LiDAR ao seu PC através da porta USB. O LiDAR começará a girar, mas não emitirá nenhum laser, a menos que você execute o seguinte comando que chama um arquivo de inicialização do ROS.

roslaunchrplidar_rosrplidar.lançar

Ao executar este comando, você pode ver as distâncias refletidas que são publicadas em um tópico chamado /scan.

rostopic eco /scan 

Você deve ver uma representação dos dados de varredura a laser não processados ​​em seu terminal:

Para visualizar esses dados, abra outro terminal, certificando-se de não fechar o outro terminal em execução que está recuperando dados do scanner a laser e inicie RvizGenericName, a ferramenta de visualização.

rosrun rviz rviz

Mudar o Quadro Fixo para Laser, depois clique no adicionar botão no canto inferior esquerdo da janela e selecione LaserScan. Finalmente, defina o tópico LaserScan para /scan, e você poderá ver sua varredura LiDAR em tempo real.

Se você está tendo problemas para obter sua primeira digitalização, pode ser porque seu dispositivo não está autorizado a comunicar dados via serial. Para corrigir isso, execute o comando a seguir e continue com as etapas anteriores.

sudo chmod 777 /dev/ttyUSB0

Etapa 3: iniciar o mapeamento

Depois de testar seu LiDAR e confirmar que ele funciona corretamente, o próximo passo é começar a escanear sua região de interesse. Para isso, você precisará de um pacote adicional chamado Hector Slam (onde "Slam" significa "Localização e mapeamento simultâneos").

Como antes, execute o seguinte comando para instalar esse pacote:

sudo apt-pegue instalar ros-noetic-hector-slam 

Antes de executar a verificação, altere alguns parâmetros conforme mostrado abaixo. Procure tutorial.launch no pacote hector_slam usando o roscd comando.

roscd hector_slam_launch

O comando nano permitirá que você abra seu arquivo e edite-o.

nanotutorial.lançar

Você pode encontrar uma permissão de arquivo Linux erro que pode ser resolvido por este comando:

sudochmod 777 tutorial.lançar

Aqui está uma amostra da execução:

O próximo passo é alterar as linhas conforme mostrado abaixo:

O passo final é executar esta linha.

roslaunchhector_slamtutorial.lançar

Comece a mover seu LiDAR lentamente pela sala para obter os melhores resultados, pois a criação de mapas é mais eficaz quando se move lentamente. Você pode ativar sua trajetória e experimentar as configurações de varredura a laser.

Você pode utilizar o SLAM interno para escanear toda a casa usando um laptop e um LiDAR, conforme mostrado no vídeo abaixo. Os resultados podem ser melhorados integrando sensores adicionais e, em seguida, combinando os dados de ambas as fontes.

Etapa 4: salvar e editar seu mapa

Execute o seguinte comando quando terminar a verificação para salvar o mapa:

rostopic pub syscommand std_msgs/String "savegeotiff"

Neste cenário, imagemagick pode ser usado para converter o mapa em um arquivo de imagem PNG, execute ambos os comandos para concluir a instalação e a conversão.

sudo apt-pegue instalar imagemagick
convertermapa digitalizado.pgmMeuPngMap.png

Obtenha mais uso do LiDAR

Usando um LiDAR e um PC, você conseguiu realizar uma varredura 2D. Você pode melhorar sua varredura adicionando uma câmera de profundidade, como o Kinect, e integrando os dois tipos de dados coletados.

A mesma tecnologia pode ser encontrada em alguns modelos de iPhone e iPad de última geração, onde o LiDAR é integrado à câmera módulo na parte traseira do dispositivo, permitindo o desenvolvimento de mapas 3D, medição de distância e realidade aumentada formulários.