The new Xaxxon OpenLIDAR sensor was mentioned a few times on robotics blogs recently (including adafruit and hackster), and there’s a thorough write up/interview on the 3D location technology website Spar3D.
The Spar3D article mentions the Oculus Prime accessory version, and here is a photo of what is hopefully the final version of that, installed:
This will be available soon; we’re still ironing out the software update that goes along with it. It drops the use of the depth camera for making maps and instead uses the lidar only (much faster and easier!). For auto-navigating, it simultaneously uses the lidar for localization, and the depth camera for detecting obstacles that are lower or higher than the lidar’s horizontal scanning plane (ie., otherwise invisible to the lidar).
OpenLIDAR Firmware Update
The firmware has had a few updates and is now at version 1.185. The code now uses a version of the Arduino I2C Wire library that allows a timeout parameter. Previously, if the Garmin LIDAR-Litev3 sensor failed to respond to a single I2C read/write request, it would cause the entire microcontroller to lock up, throwing a fatal ROS error and requiring a reset of PCB. There are six I2C read/write requests per sensor reading, so at 715Hz that’s 4290 per second… that’s lots of I2C requests to go wrong! The sensor and the stepper motor are running off the same power supply, so motor noise is likely one of the causes of rare I2C errors (even though the board design isolates the two as much as possible).
Now, instead of locking up, the I2C function will timeout after 1ms and the sensor will try the distance reading again.
You can see what version firmware the sensor has by running the ROS node with:
rosrun xaxxon_openlidar lidarbroadcast.py
The version will be output to the ROS log when the sensor connects. Alternatively, you can use the Arduino IDE terminal and enter the command
'y' to get the version.
To get the latest firmware, go into your
xaxxon_openlidar Arduino sketch folder and do a
git clone from
https://github.com/xaxxontech/xaxxon_openlidar_pcb.git if you don’t already have it).
Then upload to the board using the Arduino IDE.