Under the hood

Under the hood #

Basics #

The 3dasd 3D scanner is built around a Time-of-Flight scanning LIDAR (Garmin LIDAR-Lite v3) that is capable of doing point-by-point distance measurements. To scan the whole 3D space instead of a single point, the 3dasd scanner is rotating and tilting this LIDAR around the vertical and horizontal axes while continuously taking and saving measurements.

These measurements are first saved in a custom file format (.asdp) that’s essentially a list of spherical coordinates of the points. The point-convert utility helps converting from this format to common point cloud formats.

Software components #

  • lidar-driver is the program running on the Arduino Nano. It is listening for commands on the serial (UART) interface and controls the LIDAR and the motors accordingly.
  • lidar-client is the client running on the Raspberry Pi Zero that connects to lidar-driver. It’s a shell to send commands and also persists the points cloud results coming back from the driver.
  • point-convert is a standalone application that converts from the asdp format of the driver to pcd or asc.

Need more details?

Let me know what you’re interested in! Get in touch!