It’s been a while since the last Adventures in Science, and I wanted to take a break from the super basics of Arduino programming to discuss something slightly more advanced: LIDAR! While the principles behind LIDAR are not very complicated (shoot a laser at something and measure the time it takes for the reflected light to return), it has a variety of applications in science, robotics and law enforcement. This week, we examine the fundamentals of LIDAR and show how to make a simple sweeping distance scanner out of a servo and the LIDAR-Lite v3.
In the case of the LIDAR-Lite v3, an infrared laser is shot out of the transmitter and the time it takes for that reflection to return to the receiver is measured. We can calculate the distance by using the equation:
Here, d is the distance to the object (in meters), c is the speed of light (3.0 x 108 m/s) and t is the time it takes (in seconds) for the light to leave the transmitter, bounce off the object and return to the receiver. We divide by two to account for the fact that the light has to make a round trip (to the object and back).
By strapping the LIDAR unit to a servo, we can sweep it back and forth, taking distance measurements at every degree. This creates a sort of “distance map” of a 180-degree slice in front of the system, which we can store as an array. With this information, we can look for objects (smaller numbers in the array) or gaps and passageways (larger numbers in the array). When applied to robotics, we can create a simple vision system where the robot can drive toward the open areas to navigate down a hallway or between hay bales.
The big issue with the servo sweeping unit is that it takes two seconds to take one full scan, which can result in a painfully slow robot. For a faster scan, a slightly more advanced unit is required, such as the Scanse Sweep, which continually rotates and can perform a full 360° scan around 10 times per second. Fun fact: the Scanse Sweep uses a LIDAR-Lite v3 on top of a motor with a slip ring to pass data.
If you are looking for a more advanced method of object detection and avoidance in your next robotics project, LIDAR is a great solution, as it gives you good accuracy and precision over a relatively far distance (up to 40 m for the LIDAR-Lite v3).