LIDAR-Lite is a laser ranging module from Pulsed Light, Inc. which is a lightweight and cost effective measurement device. LIDAR-Lite can be accessed over I2C or PWM. The JetsonHacks Github repository contains a small library for accessing the LIDAR-Lite v2 over I2C. Looky here:
The LIDAR-Lite v2 in the demo was purchased from Sparkfun.
Earlier this year, we covered the LIDAR-Lite v1 installation. Refer to that article for a quick background on LIDAR and the device. Recently, a new and improved version was introduced. A summary of the new goodness taken from the Sparkfun website:
Each LIDAR-Lite v2 features an edge emitting, 905nm (75um, 1 watt, 4 mrad, 14mm optic), single stripe laser transmitter and a surface mount PIN, 3° FOV with 14mm optics receiver. The second version of the LIDAR-Lite still operates at 5V DC with a current consumption rate of <100mA at continuous operation. On top of everything else, the LIDAR-Lite has an acquisition time of only 0.02 seconds or less and can be interfaced via I2C or PWM.
The LIDAR-Lite v2 has received a number of upgrades from the previous version. With the implementation of a new signal processing architecture, LIDAR-Lite v2 can operate at measurement speeds of up to 500 readings per second offering greater resolution for scanning applications. Additionally, the LIDAR-Lite v2 has had its I2C communications improved to operate at 100 kbits/s or 400 kbits/s with you, the user, able to assign your own addressing! Just in case you are wondering: yes, the LIDAR-Lite v2 is compatible with its previous version in all primary functions and their compatibility will extend into the next version and beyond.
LIDAR-Lite v2 Installation
The LIDAR-Lite is connected to the Jetson J3A1 connector as follows:
LIDAR-Lite v2 5V to J3A1 Pin 1 (+)
LIDAR-Lite v2 GND J3A1 Pin 8 (-)
LIDAR-Lite v2 SCL J3A1 Pin 18 (C)
LIDAR-Lite v2 SDA J3A1 Pin 20 (D)
PulsedLight advises using a 680 uF capacitor between +5V and GND.
Note: The LIDAR-Lite V2 software is not backward compatible with the LIDAR-Lite V1.
Once you have the LIDAR-Lite connected, you’re ready to test. There is a small library written for the Jetson to interface with the LIDAR-Lite over I2C available on Github. First, install some prerequisites:
$ sudo apt-get install libi2c-dev i2c-tools
You can then check to see if the Jetson TK1 can detect the LIDAR-Lite v2 address:
$ sudo i2cdetect -y -r 1
You should see ’62’ as one of the entries, which is the address of the LIDAR-Lite.
You can then run the example:
$ git clone https://github.com/jetsonhacks/JHLidarLite_V2.git
$ cd JHLidarLite_V2
$ cd example
After the example compiles, run:
$ sudo ./example
The sudo is required to access the I2C bus from user space. The example program will show the measured distance, the previous measured distance, and the velocity (rate of change) repeatedly. If the distance is always -1, even after passing your hand over the LIDAR-Lite, this probably means that it is not being recognized by the Jetson.
Also included in the examples folder is a little graphics plotting example as seen in the video. It’s beyond the scope of this article to give step by step instructions on how build the program, but the overview follows.
In order to compile the program, you will need to install Qt Creator as described in an earlier article. Using Qt Creator, compile the program contained in the ‘JHLidarLite_V2/example/LidarPlotSketch’. Once the program is compiled, find the executable in the build folder, and from a Terminal execute the application using ‘sudo’.
Note: This software was demonstrated using L4T 21.4.
The LIDAR-Lite v2 is a nice upgrade from the original product. As is usual for most products, the second version straightens out the niggles that the early adopters encountered, and adds useful features to make the product more user friendly and provide a basis for an even better product going forward.