LOAM-Livox Makes Easier Lidar by Shortening the Algorithm Development

[Copy Link]
Author: Livox Pioneer | Time: 2020-11-24 16:56:38 | Robotics|
1 17203

36

Threads

38

Posts

490

Credits

Administrator

Rank: 9Rank: 9Rank: 9

Credits
490
Posted on 2020-11-24 16:56:38| All floors |Read mode
LOAM-Livox Makes Easier Lidar by Shortening the Algorithm Development Cycle

2020/06/08  The demonstration of actual effect of Livox Horizon proves the feasibility of applying its non-repetitive scanning of point cloud data to existing high-performance algorithms. The cost reduction far surpasses the inevitable cost of algorithm swapping.
  

   
  At the beginning of this year, Livox launched the top-notched product Horizon, a lidar which is applicable to autonomous driving. Priced at $1499, Livox Horizon makes high-performance lidars more affordable. Since its launch, customers from all industries have tried and purchased the product. Livox Horizon is different from mechanical lidars and requires adjustments for use. This document introduces some open-source algorithms and use cases of Livox Horizon.
   
   
  
Horizon loam_livox algorithm demo

  Traditional mechanical lidars implement a repetitive scanning pattern across laser beams. As a result, point clouds are highly repeatable between adjacent frames. Therefore, ICP, NDT, and other common algorithms can be used to map point clouds, obtain laser odometry information, and then complete motion estimation and 3D mapping.
   
  For lidars using non-repetitive scanning patterns, the scanning locations of laser beams are constantly changing, causing significant variations in the point cloud form that is collected in each data frame. Therefore, point clouds cannot be accurately mapped in point-to-point (P2P) mode. Rather, the point clouds can be directly mapped in Scan to Map mode. For example, LOAM-Livox obtains the position and orientation of each frame of point cloud in the world coordinate system to estimate the position and orientation of the lidar.
   
  Livox Horizon can output about 24,000 points in 0.1 seconds, which are enough to obtain abundant 3D information in a field of view (FOV) range of 81.7° × 25.1°. It can map point clouds between frames to estimate the position and orientation, allowing a series of functions such as laser odometry, ego-motion, and 3D mapping. The open-source algorithm Livox-Horizon-LOAM is used as an example to explain how a single Livox Horizon lidar and the LOAM [1] algorithm work together to implement laser SLAM.
   
  Hardware configuration: Mobile platform × 1 and Horizon lidar × 1
   
  

  

  Software environment:Ubuntu 16.04, ROS Kinetic, PCL 1.7, Ceres 1.13.0, Eigen 3.3.7, or OpenCV 3.3.1
   
  Algorithm introduction
   
  01 Extraction of point cloud features
  This algorithm extracts edge feature points and flat feature points from Livox Horizon's single-frame point clouds, which correspond to point cloud data in a period of 0.1 seconds. Then, the algorithm registers point clouds in point-to-line and point-to-plane modes to reduce the volume of single-frame cloud point data generated by Livox Horizon. This helps accelerate the arithmetic speed, mitigate the adverse impact on point cloud mapping due to the non-repetitive scanning pattern, and improve the accuracy and stability of mapping.
   
  Livox Horizon is a type of six-beam lidar that outputs point clouds based on fixed line numbers in chronological order, as shown in video 1. This scanning method facilitates the ease of extracting point cloud features.
   
  

  
Schematic drawing of point cloud scanning by Livox Horizon in 0.1 seconds(10HZ)

  

  Livox Horizon allows you to easily acquire information about each point cloud data item, such as its line number and timestamp. Figure 1 shows the custom message data format for the Livox ROS driver.
  

  
  

  
Image 2 Curvature calculation

  

  Figure 3 illustrates the point cloud features extracted by Livox Horizon. Generic points are in white, edge points in red, and flat points in green.
   
  

  
Figure 3 Point cloud features extracted by Livox Horizon

  

  02 Point cloud mapping, and position and orientation correction
   
  After Livox Horizon corrects the mapping error between two frames of point clouds, it registers cloud points to obtain the estimated radar motion status. After correcting each point cloud frame's position and orientation in the global map coordinate system, Livox Horizon outputs the laser odometry information in real time and builds a high-quality 3D point cloud map for the scene. The implementation method is the same as that of LOAM[1]. Video 2 shows the final effect.
   
  Deeper Study
   
  The demonstration of actual effect of Livox Horizon proves the feasibility of applying its non-repetitive scanning of point cloud data to existing high-performance algorithms. The cost reduction far surpasses the inevitable cost of algorithm swapping. From this demonstration as well as successful stories of clients of Livox, it is easy to conclude that algorithm swapping from a mechanical rotary lidar to Livox Horizon is not complex at all.
   
  Technically speaking, the point cloud neighborhood information used by traditional algorithms is also applicable to Livox Horizon's point clouds, which can be adapted to existing algorithms simply by tuning the parameters of specific algorithms. The deep learning algorithms used by traditional radars are also applicable to Livox Horizon after the processes of data collection, annotation, and training are completed.
   
  The example in video 3 shows how to locate and map IMU data in Livox Horizon. This improves Livox Horizon's locating accuracy and enhances its capability of applying point clouds to complex scenes, such as urban roads, overpasses, and tunnels. After being integrated with deep learning, Livox Horizon can detect and monitor vehicles that appear in each frame of point cloud, improving situational awareness of the lidar. With the improved awareness, Livox Horizon is the ideal product for applications in autonomous driving and related fields.
   
   
   
  Ref.
  [1] loam_livox: https://github.com/hku-mars/loam_livox
  [2] livox_horizon_loam: https://github.com/Livox-SDK/livox_horizon_loam
  [3] LOAM: https://ri.cmu.edu/pub_files/2014/7/Ji_LidarMapping_RSS2014_v8.pdf
Reply

Use props Report

1

Threads

3

Posts

19

Credits

Kindergarten

Rank: 1

Credits
19
Posted on 2021-5-17 16:49:43| All floors
Hi Sir ,

Good day!

I have seen  a 4WD mechanum wheeled robot in the above documentations.

Just a questions:

Is there any development guide (howto) how to run this DIY mobile robot using Livox Lidar
sensor , with autoware and ROS.

Second, there opening a code where a Livox Lidar give a point cloud data, and was used by auto ware and link to twist message of ROS?

I think it can be more comprehensive and encouraging to put on this kind of documentations.
Because , a can afford hobbyists, engineers, and researchers or students can buy a Mid40 Lidar.
So why not put this knowledge on instructables and let other folks DIY it and share to the open community. More users more buyers more opportunity sales  for Livox Lidar.

Let us not forget Arduino, its a complete details from newbies to expert , its not an opensource yet incomplete , incomprehensive  knowledge which eliminates an opensource purpose itself.

Thank you!

Hi-Techno Barrio
Philippines
Reply

Use props Report

You need to log in before you can reply Login | Register

Credit Rules

Quick Reply Back to top