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.