Abstract
This paper, by proposing a wheel-LiDAR method of odometry and mapping(WLOAM), using wheel encoder, steering encoder,LiDAR, and optional GPS for autonomous vehicles, estimates the low-drift pose at real-time and builds a high-accurate map. The odometry consists of the wheel odometry algorithm and the LiDAR odometry algorithm. The former estimates the 3-DOF ego-motion of LiDAR at a high frequency based on Ackermann steering geometry, whose resulting pose increment is applied in point clouds de-skewing and works as a fine initial guess for LiDAR odometry while the latter performs the 6-DOF scan-to-map LiDAR pose optimization at a relatively low frequency to compensate the pose error accumulated by the wheel odometry, whose core is a two-stage method with an angle-based metric for extracting features. The mapping method is based on the factor graph consisting of the LiDAR odometry factor, the loop closure factor, and the optional GPS factor, which is solved via incremental smoothing and mapping (iSAM) to produce a global map online. An auto-aligned-GPS-factor is proposed for fusing GPS measurement incrementally without explicit initialization. The proposed method was extensively evaluated on the datasets gathered from the autonomous vehicle platform and compared with related open-sourced works. The results show a lower drift rate, which reaches 0.53% in the largest test described in this paper. The implementation of the proposed method is open-sourced for communication (https://github.com/Saki-Chen/W-LOAM).
Simultaneous Localization and Mapping (SLAM) has been researched for the last 30 years but remains a popular topic among the field of robotic
It is desirable to design an accurate, robust and real-time SLAM system with carefully designed architecture for autonomous vehicles. The LiDAR odometry and mapping (LOAM) method proposes a good example of that kind using dual-layer optimization to achieve high frequency LiDAR odometry and low frequency LiDAR mapping as well as correction to odometr
Feature extraction lies in the core of feature-based LiDAR odometry method determining the accuracy, robustness and even computational efficiency. Reference [
Another important issue for the system is correction of drift. One possible technique is applying loop-closure, which is widely used in SLAM. Reference [
In summary, this paper proposed a SLAM system consisting of three layers for performing odometry and mapping online. In the first layer, a wheel odometry method based on Ackermann steering geometry is introduced to output high frequency ego-motion in real time, which serves as a fine initial guess of accurate pose and is used for point cloud de-skewing. In the second layer, an improved two-stage feature-based method with an angle-based metric is applied to extract edge features, planar features and degenerated features from point cloud, which process features respectively in local scan scale and local map scale for more robust feature extraction. The features are then parsed to form constraints to the sensor pose in a scan-to-map manner for LiDAR odometry optimization. In the third layer, a graph-based method is applied to formulate a factor graph optimization problem with LiDAR odometry, loop closure and optional GPS measurement, which is solved via iSAM. Here, an Auto-Aligned-GPS-factor for fusing GPS measurements without explicit initialization is proposed for large scale mapping task. With the three-layer framework, odometry runs with very low delay in the first layer and the accumulated error is compensated by the LiDAR odometry optimization in the second layer. And mapping runs in the third layer with lower demand of real-time processing. The main contributions of this paper are summarized as follows:
(1) A robust and real-time front end based on Ackermann steering geometry for car-like platforms.
(2) An improved two-stage feature-based method for scan matching: an angle-based metric for parsing point cloud in first stage, and a principal-component-analysis-based (PCA) method for extracting edge features, planar features and degenerated features in second stage.
(3) Auto-Aligned-GPS-factor.
The following chapters are arranged as follows: The Method chapter presents an overview of system firstly and then makes detailed description of each module. The experiments chapter introduces the benchmark results of proposed algorithm using datasets gathered from our autonomous vehicle platform. The Conclusion chapter reviews main contributions of this work and prospects the future work.
As a convention in this paper, represents the 6-DOF pose of frame source with respect to frame target at time t. represents point p with timestamp t expressed in the frame source. And the point can be transformed to the frame target by applying , which results .
The proposed algorithm is validated using data collected from the autonomous vehicle platform shown in

Fig.1 Autonomous vehicle platform and sensors setup
The steering encoder and wheel encoder for each wheel are the original parts of the vehicle, which are accessed through CAN. Three sets of RS-LiDAR-16 produced by Robosense are mounted atop the vehicle but only the central one is exploited for the proposed algorithm. An inertial and GPS measurement system, RT 3002, is mounted at the center of rear axle, which provides precise ground truth data for validation.
The overall system consists of five modules illustrated by

Fig. 2 Overview of WLOAM algorithm

Fig.3 Coordinate transformation tree
In Fig.3, earth means the local coordinate system of GPS which can be ENU or UTM; map means the coordinate system for global map and global trajectory whose origin is located at the start point; local map means the coordinate system for LiDAR odometry, which drifts slowly as the system travels over a long distance; odom means the coordinate system for wheel odometry, which drift fast but has a low delay; base link is attached to the center of rear axle of vehicle shown by Fig.4;lidar link and gps link are attached to corresponding sensors. The arrows between circles are defined as transformations between coordinate systems, where , , and are estimated by their corresponding modules while and are directly calibrated as constant. Other transformations not shown in Fig.3 can be derived from combination like .
The kinematic model for performing wheel odometry is derived from Ackermann steering geometry shown in
(1) |
(2) |
(3) |
(4) |
(5) |

Fig. 4 Ackermann steering geometry
This is a simple model for car-like platforms, where R denotes turning radius, L denotes wheel base, denotes front wheel track and denotes rear wheel track.
where: denotes front-left wheel, denotes front-right wheel, denotes rear-left wheel, and denotes rear-right wheel.
Assuming that there is no longitudinal slip of wheel, the , where , can be calculated using the increment of count by any wheel encoder and the average value is used as final .
Assuming that there is no lateral slip of wheel, the curvature depends on the steering angle, which can be calculated using
(6) |
where denotes transmission ratio of steering system.
Finally, the 3-DOF pose of the vehicle can be simply estimated as:
(7) |
where: x and y denote the position of the center of rear axle, and denotes the yaw angle of the vehicle. When converting the 3-DOF pose to 6-DOF transformation , the remaining three degrees of freedom are simply assumed to be zero.
Most LiDAR sensors perform beam steering to scan the environmen
The motion of LiDAR causes distortion of point cloud, which should be recovered firstly. Point cloud is de-skewed point by point using:
(8) |
where: means the kth point in one frame of point cloud with timestamp ; is interpolated from the transformations estimated by wheel odometry assuming a linear motion model between updating of wheel odometry. Compared with LOAM, which assumes constant angular and linear velocity during one period of scannin

Fig.5 De-skewing of point cloud
This is sample data for an in-door parking lot. The sensor platform is turning left at the corner. For clarity, the points on ground and ceiling is removed. The top-right de-skewed points are slightly different from the original ones. The reason for this is that the points are back-propagated to about 0.1 s ago to remove the distortion caused by the motion of sensor.
Exactly, this module does the first stage work, which extracts features in local scan scale. The points are classified by a geometric criterion called corner angle in

Fig.6 Extracting corner angle from laser measurements
Firstly, a scan is divided to segments according to the angle or difference of distance between neighbor points. Segments with too few points are ignored for filtering out noisy points. And then the first and last points of remained segments are label as edge points, but the occluded points are removed for the reason described in reference [
(9) |
Last but not least, the extraction is done using not-de-skewed point cloud, because the corner angle is calculated using neighbor points obtained within a very short duration of time, where the sensor can be treated as still, while the process of de-skewing may introduce extra noise to these local points resulting a worse quality of feature extraction.
LiDAR odometry is performed in a scan-to-map manner which is widely used in previous wor
As shown by

Fig.7 Sliding window updating strategy for local map
With local map, the point cloud registration is to minimize the registration error by optimizing the pose of incoming frame using
(10) |
where: means Mahalanobis distance parameterized by covariance matrix , and
(11) |
(12) |
where: denotes point-to-line distance; denotes point-to-plane distance; denotes the center of feature; denotes the direction vector of feature, which indicates the direction of an edge line or the direction orthogonal to a plane.
For nonlinear optimization, the initial guess of is given by
(13) |
where: is given by wheel odometry; is the most important state maintained by this module, which estimates the accumulated pose error of wheel odometry. It is updated using optimized LiDAR pose as following:
(14) |
In summary, the optimization part of LiDAR odometry algorithm is just an iteration using
An important detail is the second stage of feature extraction in local map scale. The resulting features are parameterized by a triplet , which is calculated with several nearest neighbor points using PCA algorithm. PCA is also adopted by previous works for extracting vector , among which reference [
(15) |
where | (16) |
if | (17) |
and | (18) |
where: denotes the noise of LiDAR measurement; denotes threshold for planar feature; denotes the single cell size of local voxel map .
(19) |
where | (20) |
if | (21) |
But in fact, edge feature is not as stable as planar feature due to noisy points in the real data, which may be points of vegetation. Thus, before classified as an edge feature, the feature must not be a degenerated feature. The feature is degenerated feature parameterized as:
where | (22) |
If it meets
(23) |
where denotes the single cell size of local voxel map .
The form of degenerated feature is very similar to planar feature but with punishment of uncertainty in
(24) |
where is point-to-plane distance analogous to
Although LiDAR odometry is much more accurate than wheel odometry, it suffers from drift after travelling a long distance because of the nature of odometry, which accumulates error. Extra measurements are required for eliminating drift for creating global map with internal consistency. Loop closure is a solution for the trajectory with loop. And fusing GPS measurements is another practical way when the GPS signal is available. Both approaches are integrated to correct drift using a unified factor grap

Fig.8 Factor graph for fusing measurements
Factors are visualized as lines with different markers. Estimated variables are visualized as circle with variable names.
The global map is arranged as a series of poses associated with submap generated from registered frames, which is a kind of topological ma
For fusing GPS measurement, an unknown transformation is assumed, which transforms point from mapping coordinate to GPS coordinate. The GPS factor evaluates the difference between GPS measurement and its prediction using and the poses of submap as:
(25) |
where: is the pose of submap; is GPS measurement expressed in cartesian coordinate like ENU system; is covariance matrix expressing the uncertainty of GPS measurement. The graph structure for GPS factor is similar to that in reference [
The GPS factor requires no extra process to transform GPS measurements to the local, but estimates the transformation automatically as well as correcting the drift in a unified optimization process, which simplifies the GPS fusion and is compatible to iSAM for it can fuse GPS measurement incrementally. This makes the system robust to the GPS signal quality, because it only requires a few GPS measurements to correct pose instead of continuous GPS measurements. Once GPS fails, the measurement is just dropped out till the signal recovers. The system may drift during the GPS-denied time, but the error can be corrected when GPS is available or a loop closure is detected. Only one limit is that it requires at least three GPS factors to form a closed constraint (see
The proposed algorithm is tested on the laptop with i5-8265U CPU under Ubuntu 18.04.
Modules | Frequency/Hz |
---|---|
Wheel odometry | 10‒50 |
Feature extraction and point de⁃skewing | 10 |
LiDAR odometry | 8‒10 |
Graph based mapping | 1 |
For further evaluation of the performance of accuracy, the proposed method was compared to several previous works using their open-sourced implementation, which are listed in
Algorithm | Sensors configuration | Loop closure |
---|---|---|
A-LOA | LiDAR | No |
LeGO-LOA | LiDAR | Yes |
LIO-SA | IMU+LiDAR+optional GPS | Yes |
Proposed WLOAM | Wheel+LiDAR+optional GPS | Yes |
Dataset | Trajectory length/m | Environment | Average speed/(km/h) |
---|---|---|---|
Single Loop | 2 883 | Building and vegetation | 14.8 |
West Campus | 2 276 | Almost building | 13.3 |
South campus | 8 088 | Building and vegetation | 15.8 |
The accuracy of trajectory was evaluated by comparing it with the ground truth trajectory obtained from RT 3002, which was expected to be of high accuracy with 2 cm standard deviation in the RTK mode. But due to the signal quality, the accuracy would degenerate occasionally and the device would indicate no RTK mode available. Thus, only the data in RTK mode was exploited. Noting that the GPS measurement is of worse accuracy in altitude, the accuracy is also evaluated by projecting trajectory to ground plane and calculating horizontal position error.
Absolute pose error (APE) and relative pose error (RPE) are widely used for evaluating precision of SLAM algorith
(26) |
(27) |
where: denotes the ground truth pose; denotes the estimated pose; denotes transformation for aligning trajectory; means extracting translation part of a pose; means extracting 2D pose from 3D pose by projection.
For calculating the RPE, a pair of poses meters apart along the trajectory are selected from ground truth trajectory and estimated trajectory respectively. And it is calculated using
(28) |
The drift rate with respect to trajectory length is defined as:
(29) |
Just as described in reference [
(30) |
(31) |

Fig.9 Comparison of odometry
In pure odometry mode, the drift in the z direction is significant for LeGO-LOAM and LIO-SAM.
mode | drift/% |
---|---|
LeGO-LOAM | 2.79 |
LIO-SAM | 0.99 |
WLAOM | 0.76 |

a Single loop

b West campus

c South campus
Fig. 10 Comparison of trajectories
The GPS-RTK is not always available due to the signal quality, thus the trajectory is the disconnected line segments in Fig. 10. Most trajectories match the GPS-RTK trajectory well excepting the A-LOAM and LeGO-LOAM.

a Single loop

b West campus

c South campus
Fig. 11 Comparison of drift rate.
The proposed method and LIO-SAM achieve much better performance than the other methods on drift rate. For all datasets, the proposed method with GPS performs best. In a and b, without GPS, LIO-SAM and the proposed method achieve a closed performance. In c, all methods without GPS failed. Only the proposed method and LIO-SAM with GPS survive and the proposed method has a lower drift rate.
Algorithm | Single loop | West campus | South campus | ||||||
---|---|---|---|---|---|---|---|---|---|
APE/m | APE 2D/m | drift/% | APE/m | APE 2D/m | drift/% | APE/m | APE 2D/m | drift/% | |
A-LOAM | 16.00 | 14.60 | 1.92 | 6.19 | 4.03 | 1.38 | - | - | - |
LeGO-LOAM | 16.30 | 14.45 | 2.30 | 1.80 | 0.33 | 1.49 | - | - | - |
LIO-SAM w/o GPS | 4.55 | 1.65 | 1.08 | 0.78 | 0.23 | 0.68 | - | - | - |
LIO-SAM with GPS | 1.11 | 1.05 | 0.82 | 0.46 | 0.11 | 0.57 | 0.85 | 0.78 | 0.70 |
WLOAM w/o GPS | 4.94 | 0.85 | 1.18 | 0.64 | 0.19 | 0.51 | - | - | - |
WLOAM with GPS | 0.32 | 0.30 | 0.49 | 0.14 | 0.09 | 0.24 | 0.27 | 0.26 | 0.53 |

Fig. 12 Global point cloud map of the South campus aligned with satellite map
The point cloud is visualized as brighter points.
This paper proposeds a SLAM system WLAOM exploiting different sensors for real-time odometry and online mapping. An improved feature-based LiDAR odometry method is enhanced by a kinetic-model-based wheel odometry method to produce low-drift pose estimation with low delay. A graph-based method is introduced for fusing loop closure and GPS measurement, where an Auto-Aaligned-GPS factor is modeled to correct pose and estimate alignment parameters. This makes it possible for the system to map a broad area covering several kilometers even when the GPS signal is not always available. But GPS measurement contains more uncertainty in altitude, which is ignored now and may cause bad estimation of roll and pitch when the signal quality is poor. Thus, a future work is to fuse the information about the roll and pitch angle. It may come from inertial measurement which contains information about the gravity.In addition, because the system is well de-coupled as separated modules, it is possible to transplant the system to other platforms like drone by only replacing the Wheel Oodometry module with the inertial system. And Moreover, as described in chapter 2.4, a general LiDAR data format requirement makes the system compatible with different type of LiDAR, but the evaluation work is left for the future.
References
CADENA C, CARLONE L, CARRILLO H, et al. Past, present, and future of simultaneous localization and mapping: toward the robust-perception age[J]. IEEE Transactions on Robotics, 2016, 32(6):1309. DOI: 10.1109/TRO.2016.2624754. [Baidu Scholar]
BRESSON G, ALSAYED Z, YU L, et al. Simultaneous localization and mapping: a survey of current trends in autonomous driving[J]. IEEE Transactions on Intelligent Vehicles, 2017, 2(3):194. DOI: 10.1109/TIV.2017.2749181. [Baidu Scholar]
MOHAMED S A S, HAGHBAYAN M H, WESTERLUND T, et al. A survey on odometry for autonomous navigation systems[J]. IEEE Access, 2019, 7: 97466. DOI: 10.1109/ACCESS.2019.2929133. [Baidu Scholar]
ZHANG J, SINGH S. Low-drift and real-time lidar odometry and mapping[J]. Autonomous Robots, 2017, 41(2): 401. DOI: 10.1007/s10514-016-9548-2. [Baidu Scholar]
SHAN T, ENGLOT B, MEYERS D, et al. LIO-SAM: tightly-coupled lidar inertial odometry via smoothing and mapping[C]// 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Las Vegas: IEEE, 2020: 5135. [Baidu Scholar]
BRUNKER A, WOHLGEMUTH T, FREY M, et al. Odometry 2.0: a slip-adaptive EIF-based four-wheel-odometry model for parking[J]. IEEE Transactions on Intelligent Vehicles, 2019, 4(1): 114. DOI: 10.1109/TIV.2018.2886675. [Baidu Scholar]
SHAN T, ENGLOT B. LeGO-LOAM: Lightweight and ground-optimized lidar odometry and mapping on variable terrain[C]// 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Madrid: IEEE, 2018: 4758. [Baidu Scholar]
KAESS M, RANGANATHAN A, DELLAERT F. iSAM: Incremental smoothing and mapping[J]. IEEE Transactions on Robotics, 2008, 24(6): 1365. DOI: 10.1109/TRO.2008.2006706. [Baidu Scholar]
KAESS M, JOHANNSSON H, ROBERTS R, et al. iSAM2: Incremental smoothing and mapping using the bayes tree[J]. The International Journal of Robotics Research, 2012, 31(2): 216. DOI: 10.1177/0278364911430419. [Baidu Scholar]
UMEYAMA S. Least-squares estimation of transformation parameters between two point patterns[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1991, 13(4): 376. DOI: 10.1109/34.88573. [Baidu Scholar]
QUIGLEY M, GERKEY B, CONLEY K, et al. ROS: An open-source robot operating system[C/OL]. (2009-01-01)[2021-08-25]. https://www.researchgate.net/publication/303138182_ROS_An_open-source_Robot_Operating_System. [Baidu Scholar]
郭媛媛. 全自动泊车系统的位姿估计技术研究[D]. 上海:同济大学, 2016. [Baidu Scholar]
GUO Yuanyuan. Research on pose estimation technology of fully automatic parking system[D]. Shanghai: Tongji University, 2016. [Baidu Scholar]
RAJ T, HASHIM F H, HUDDIN A B, et al. A survey on LiDAR scanning mechanisms[J]. Electronics, 2020, 9(5): 741. DOI: 10.3390/electronics9050741. [Baidu Scholar]
XU W, ZHANG F. FAST-LIO: A fast, robust lidar-inertial odometry package by tightly-coupled iterated Kalman filter[J]. IEEE Robotics and Automation Letters, 2021, 6(2): 3317. DOI: 10.1109/LRA.2021.3064227. [Baidu Scholar]
HARTLEY R, ZISSERMAN A. Multiple view geometry in computer vision[M]. 2nd ed. Cambridge: Cambridge University Press, 2003. [Baidu Scholar]
ZHANG S, XIAO L, NIE Y, et al. Lidar odometry and mapping based on two-stage feature extraction[C]// 39th Chinese Control Conference (CCC 2020). Shenyang: Chinese Association of Automation, 2020: 3966. [Baidu Scholar]
DELLAERT F, KAESS M. Factor graphs for robot perception[J]. Foundations and Trends in Robotics, 2017, 6(1/2): 1. DOI: 10.1561/2300000043. [Baidu Scholar]
DELLAERT F. Factor graphs and GTSAM: A hands-on introduction[J]. Georgia Institute of Technology, 2012. [2021-06-25]. https://www.semanticscholar.org/paper/Factor-Graphs-and-GTSAM%3A-A-Hands-on-Introduction-Dellaert/b94fbf48299d78cd586c057e700763ec09b88f80. [Baidu Scholar]
YANG A, LUO Y, CHEN L, et al. Survey of 3D map in SLAM: Localization and navigation[C]// FEI M, MA S, LI X, et al. Advanced Computational Methods in Life System Modeling and Simulation. Singapore: Springer Singapore, 2017: 410. DOI: 10.1007/978-981-10-6370-1_41. [Baidu Scholar]
DING W, HOU S, GAO H, et al. LiDAR inertial odometry aided robust LiDAR localization system in changing city scenes[C]// 2020 IEEE International Conference on Robotics and Automation (ICRA). Paris: IEEE, 2020: 4322. [Baidu Scholar]
STURM J, ENGELHARD N, ENDRES F, et al. A benchmark for the evaluation of RGB-D SLAM systems[C]// 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems. Vilamoura-Algarve, Portugal: IEEE, 2012. [Baidu Scholar]
GEIGER A, LENZ P, URTASUN R. Are we ready for autonomous driving? The KITTI vision benchmark suite[C]// 2012 IEEE Conference on Computer Vision and Pattern Recognition. Providence: IEEE, 2012. [Baidu Scholar]