A radar has implemented five SLAM algorithms
An experiment with M360: running five different SLAM algorithms in the same scenario to see which one performs better.
Not to prove the compatibility of M360 - this doesn't need proof, as theoretically any ROS2-supported LiDAR can run. What we want to know is how much the non-repetitive scanning point clouds of M360 differ in different algorithms, and which algorithm is most suitable for M360.
Test Environment
Hardware: Industrial computer (Intel i7-12700H, 32GB memory), M360 installed on an AGV.
Software: Ubuntu 22.04, ROS2 Humble, five SLAM algorithms: FAST-LIO2, LIO-SAM, Point-LIO, RT-LOAM, and Cartographer.
Test Scenario: A 200m long warehouse aisle with shelves on both sides, 3m wide, with a 90° turn at the end.
The AGV travels at a constant speed of 0.8m/s, with the M360 mounted in the center of the roof, the optical center facing up 5°.
FAST-LIO2: The Most Stable Choice
FAST-LIO2 is the most commonly used LiDAR-IMU fusion SLAM algorithm, with mature support for non-repetitive scanning.
Test results: The mapping effect is the best. The point cloud map is very clean, with almost no drift. After running 200m of the channel and returning to the starting point, the loop closure error is about 2~3cm.
CPU usage is only 15~20% on the i7-12700H, which is very lightweight. The built-in IMU data of M360 is directly fed into the IMU pre-integration module of FAST-LIO2, and no external IMU is needed.
There is a small issue: the default point cloud downsampling resolution of FAST-LIO2 is 0.5m, which is too coarse for a 3m-wide channel. After we changed it to 0.1m, the map became much more detailed, but the CPU usage increased to 35%. It's fine for the i7, but for low-performance platforms (Raspberry Pi, Jetson Nano), it needs to be weighed.
Reasons suitable for M360The iKD-Tree data structure of FAST-LIO2 is highly efficient in processing high-density point clouds for non-repetitive scanning, and it can work well without uniform scanning.
LIO-SAM: Established but not very suitable
LIO-SAM is a factor graph optimization-based SLAM algorithm that performs well on mechanical radar with uniform scanning.
Test results: It works, but not as good as FAST-LIO2.
The problem lies in the corner extraction module of LIO-SAM. The corner extraction algorithm assumes that the point cloud is uniformly distributed scanning lines (each line is a horizontal line), but M360's non-repetitive scanning is not linear, and the corner extraction effect is discounted. After mapping, the map details are much less than those of FAST-LIO2, and the edges are not sharp enough.
Another problem: LIO-SAM's loop detection module depends on sub-map matching, and in the channel scenario, the features are relatively single, resulting in frequent failure of loop detection. Although FAST-LIO2 also has this problem, it has better IMU fusion, resulting in less drift and smaller loop closure error.
ConclusionNot the best match for M360. If you already have LIO-SAM code and experience, migrating to M360 will not be too difficult, but the effect is not as good as FAST-LIO2.
Point-LIO: The Savior for Low-Compute-Power Platforms
Point-LIO is a streamlined version of FAST-LIO2, specifically optimized for low-compute-power platforms.
Test results: The mapping effect is nearly as good as that of FAST-LIO2, but the CPU usage is lower. It is only 8~12% on the i7, which is about half the usage of FAST-LIO2.
The core idea of Point-LIO is to process point by point rather than frame by frame—update the state estimation with each point received, without waiting for a complete point cloud frame. This feature naturally fits with M360's non-repetitive scanning: M360's point cloud is non-uniform, and the concept of "a frame" is relatively blurred, making point-by-point processing more suitable.
Suitable scenariosPoint-LIO is the preferred choice if the industrial computer performance is limited (Jetson Nano, Raspberry Pi 4).
RT-LOAM: Real-time Cost
RT-LOAM emphasizes real-time performance, running quickly on embedded platforms.
Test Results: The speed is indeed fast, with a CPU usage of 5~8%. However, the mapping quality is not as good as FAST-LIO2 and Point-LIO, the map is relatively sparse, and drift is slightly larger.
The real-time performance of RT-LOAM comes from simplifying the process of feature extraction and state estimation. This simplification has little impact on radar with uniform scanning, but the simplified process is weaker in handling irregular point clouds in non-repetitive scanning radar.
ConclusionConsiderable if extremely high real-time requirements and moderate precision are needed. Most projects still recommend using FAST-LIO2 or Point-LIO.
Cartographer: Google's Solution
Cartographer is an open-source 2D/3D SLAM algorithm from Google that supports pure LiDAR (no need for IMU).
Test Results: It can run in 3D mode, but the effect is average. The drift in pure LiDAR mode is much larger than that in the scheme with IMU, with loop closure errors in the 200m channel around 10~15cm.
Cartographer has high requirements for the uniformity of point clouds, and non-repetitive scanning presents some challenges to it. It uses a series of filters internally to process point clouds, assuming that the input is uniformly scanned point clouds. When encountering non-uniform point clouds like M360, the filtering effect is reduced.
In 2D mode, it performs quite well - Cartographer first projects the 3D point cloud onto a 2D plane for mapping, and the uniformity of the projected point cloud is much better. If your project only needs 2D maps (such as simple indoor navigation), Cartographer's 2D mode with M360 is a simple and reliable solution.
ConclusionNot recommended for 3D scenarios.
Summary
| Algorithms | Mapping Quality | CPU Usage | Suitable for M360 | Recommended |
|---|---|---|---|---|
| FAST-LIO2 | ⭐⭐⭐⭐⭐ | 15~20% | ✅ | Preferred |
| Point-LIO | ⭐⭐⭐⭐⭐ | 8~12% | ✅✅ | Low computational power preferred |
| LIO-SAM | ⭐⭐⭐ | 20~30% | ⚠️ | Available but not optimal |
| RT-LOAM | ⭐⭐⭐ | 5~8% | ⚠️ | Ultimate real-time scenario |
| Cartographer 3D | ⭐⭐ | 30~40% | ❌ | Not recommended |
| Cartographer 2D | ⭐⭐⭐⭐ | 15~25% | ✅ | 2D navigation available |
The most commonly used combination in actual projects is: FAST-LIO2 + M360Covers 90% of scenarios. If the industrial computer performance is insufficient, switch to Point-LIO. If only 2D navigation is needed, Cartographer 2D can also be used.
The built-in IMU of the M360 played a significant role in this test—the algorithms with IMU fusion (FAST-LIO2, Point-LIO, LIO-SAM) all performed better than the pure LiDAR solution (Cartographer). The short-term pose estimation provided by the IMU compensates for the shortcomings of non-repetitive scanning in single frame coverage.
The above test results are based on specific hardware and scenarios and are for reference only. Performance may vary in different environments.