- PiLiDAR é um scanner panorâmico 3D DIY de 360°, que monta cenas 3D por meio das funções de LiDAR e panorama
- O LiDAR usa LDRobot LD06, LD19 ou STL27L, incluindo verificação de integridade de pacotes por CRC e PWM por hardware
- O panorama usa o Hugin para fazer stitching de fotos olho de peixe e lê dados EXIF para manter exposição de câmera e equilíbrio de cores consistentes
- A cena 3D é construída em um plano 2D com base em ângulos e offsets, com suporte a visualização e exportação usando Open3D
- O hardware é montado com Raspberry Pi 4, câmera Raspberry Pi HQ, motor de passo NEMA17 e outros componentes
Principais recursos do PiLiDAR
- LiDAR: usa drivers seriais personalizados para LDRobot LD06, LD19 ou STL27L
- Corrige a verificação de integridade de pacotes CRC e o PWM por hardware por meio de curve fitting
- Oferece visualização 2D em tempo real e exportação para numpy ou CSV
- Panorama: monta um mapa esférico 6K de 360° a partir de fotos olho de peixe usando o stitcher panorâmico Hugin
- Lê automaticamente dados EXIF para manter exposição constante da câmera e otimiza o ganho de cor para preservar um balanço de branco consistente
- Cena 3D: monta uma cena 3D em um plano 2D com base em ângulos e offsets
- Faz amostragem de cores de vértice a partir do panorama e oferece suporte a visualização e exportação para PCD, PLY ou e57 usando Open3D
- Alinha várias cenas usando registro global e ajuste fino com ICP
- Poisson Surface Meshing é muito lento no Pi4, então recomenda-se executá-lo em um PC
Especificações de hardware
- LiDAR LDRobot LD06, LD19 ou STL27L
- Câmera Raspberry Pi HQ com lente ArduCam M12
- Raspberry Pi 4
- Motor de passo NEMA17 42-23 com driver A4988
- Fonte de alimentação: 2 baterias 18650 ou um power bank USB de 10.000mAh
Driver de passo, motor e caixa de redução
- Driver de passo bipolar A4988
- Motor de passo bipolar NEMA17 42x42x23
- Caixa de redução planetária impressa em 3D
Especificações do LiDAR LDRobot
- LD06: frequência de amostragem de 4500 Hz, baud rate 230400
- STL27L: frequência de amostragem de 21600 Hz, baud rate 921600
Configuração e fiação
- Configura várias funções usando pinos GPIO e conecta o acelerômetro GY-521 usando i2c-GPIO
- Inclui várias configurações, como botão de energia, botão de varredura e permissões de UART
Stitching de panorama e visualização remota
- Instala o Hugin e o plugin enblend para realizar o stitching de panorama
- Usa Plotly para visualizar remotamente nuvens de pontos 3D no Jupyter
Dump de varreduras para armazenamento USB
- Clona e instala o repositório no GitHub para fazer dump dos dados de varredura em armazenamento USB
Solução de problemas
- Fornece vários métodos de solução de problemas, incluindo instalação de drivers seriais no Windows, correção de erro de runtime do RPi.GPIO e resolução de problemas de desempenho no VS Code
Materiais de referência
- Consulta vários projetos que serviram de inspiração, além de PWM por hardware, implementação de ICP e dados de demonstração 3D
4 comentários
Opiniões do Hacker News
Um comentário realmente excelente
Estou procurando uma forma barata de medir distância de 300 mm com precisão de 10 mícrons
Talvez seja possível obter peças de um robô aspirador
O exemplo no Sketchfab é fantástico, e poder se mover no espaço 3D parece uma simulação de ficção científica
Os controles do mouse são confusos
Tenho curiosidade sobre a escalabilidade e o desempenho do PiLiDAR
Isso corresponde exatamente ao que eu estava procurando algumas semanas atrás
A tecnologia Lidar avançou muito
Não está claro o que é essa tecnologia
O custo das tecnologias LIDAR disponíveis caiu a ponto de ficar acessível até para projetos pessoais
O que é a comunidade de lanternas?
https://www.reddit.com/r/flashlight/
É uma comunidade pequena dentro do Reddit, algo equivalente, no nosso contexto, à galeria minor de lanternas do DCInside.
Obrigado.