- PiLiDAR es un escáner panorámico 3D DIY de 360° que construye escenas 3D mediante funciones de LiDAR y panorama
- El LiDAR usa LDRobot LD06, LD19 o STL27L, e incluye verificación de integridad de paquetes CRC y PWM por hardware
- El panorama usa Hugin para unir fotos ojo de pez y leer datos EXIF para mantener una exposición de cámara constante y un balance de color uniforme
- La escena 3D se construye en un plano 2D con base en ángulos y offsets, y admite visualización y exportación con Open3D
- El hardware está compuesto por Raspberry Pi 4, cámara Raspberry Pi HQ, motor paso a paso NEMA17 y otros componentes
Funciones principales de PiLiDAR
- LiDAR: usa un controlador serial personalizado para LDRobot LD06, LD19 o STL27L
- Corrige la verificación de integridad de paquetes CRC y el PWM por hardware mediante ajuste de curvas
- Ofrece visualización 2D en tiempo real y exportación a numpy o CSV
- Panorama: genera un mapa esférico 360° de 6K uniendo fotos ojo de pez con el panorama photo stitcher de Hugin
- Lee automáticamente los datos EXIF para mantener una exposición de cámara constante y optimiza la ganancia de color para conservar un balance de blancos uniforme
- Escena 3D: ensambla escenas 3D en un plano 2D con base en ángulos y offsets
- Toma muestras de colores de vértice desde el panorama y admite visualización y exportación a PCD, PLY o e57 con Open3D
- Alinea múltiples escenas mediante registro global y ajuste fino ICP
- Poisson Surface Meshing es muy lento en Pi4, por lo que se recomienda ejecutarlo en una PC
Especificaciones de hardware
- LiDAR LDRobot LD06, LD19 o STL27L
- Cámara Raspberry Pi HQ y lente ArduCam M12
- Raspberry Pi 4
- NEMA17 42-23 stepper y controlador A4988
- Fuente de alimentación: 2 baterías 18650 o power bank USB de 10,000 mAh
Controlador stepper, motor y caja de engranes
- Controlador stepper bipolar A4988
- Stepper bipolar NEMA17 42x42x23
- Caja reductora planetaria impresa en 3D
Especificaciones de LDRobot LiDAR
- LD06: frecuencia de muestreo de 4500 Hz, baud rate 230400
- STL27L: frecuencia de muestreo de 21600 Hz, baud rate 921600
Configuración y cableado
- Usa pines GPIO para configurar varias funciones y se conecta al acelerómetro GY-521 mediante i2c-GPIO
- Incluye varias configuraciones, como botón de encendido, botón de escaneo y ajuste de permisos UART
Unión panorámica y visualización remota
- Instala Hugin y el plugin enblend para realizar la unión panorámica
- Usa Plotly para visualizar de forma remota nubes de puntos 3D en Jupyter
Volcado de escaneos a almacenamiento USB
- Clona e instala el repositorio de GitHub para volcar datos de escaneo a almacenamiento USB
Solución de problemas
- Ofrece varios métodos de solución de problemas, incluida la instalación del controlador serial de Windows, la corrección del error de runtime de RPi.GPIO y la solución de problemas de rendimiento de VS Code
Material de referencia
- Toma como referencia varios proyectos inspiradores, PWM por hardware, implementación de ICP, datos de demostración 3D y más
4 comentarios
Opiniones de Hacker News
Un comentario realmente genial
Estoy buscando una forma barata de medir distancias de 300 mm con una precisión de 10 micrones
Probablemente se puedan sacar piezas de una aspiradora robot
El ejemplo de Sketchfab es fantástico, y poder moverse por el espacio 3D se siente como una simulación de ciencia ficción
Los controles del mouse son confusos
Tengo curiosidad por la escalabilidad y el rendimiento de PiLiDAR
Es exactamente lo que estaba buscando hace unas semanas
La tecnología lidar ha avanzado muchísimo
No queda claro qué es esta tecnología
El costo de la tecnología LIDAR disponible ha bajado lo suficiente como para que también sea accesible para proyectos personales
¿Qué es la comunidad de linternas?
https://www.reddit.com/r/flashlight/
Es una pequeña comunidad dentro de Reddit, algo así como la galería menor de linternas de DC Inside en Corea.
Gracias.