I am experiencing a significant discrepancy between the raw IMU data and the final odometry output from the LIO-SAM mapping module. My setup uses a Unitree B2 robot and a Robosense Helios 32 LiDAR、ROS2 humble.
Configuration
The relevant topic configurations from my parameter file are:
pointCloudTopic: "/rslidar_points_converted"
imuTopic: "/dog_imu_raw"
odomTopic: "odometry/imu"
gpsTopic: "odometry/gpsz"
Observed Data
-
Raw IMU Data (topic: /dog_imu_raw):
The linear acceleration data from the IMU appears stable and shows small, plausible changes in position, consistent with the robot's movement on a relatively flat surface (note the Z-axis acceleration is close to gravity, ~9.8 m/s²).
x: 0.014365210197865963
y: 0.1041477769613266
z: 9.740509986877441
x: 0.014365210197865963
y: 0.1041477769613266
z: 9.740509986877441
x: 0.03232172131538391
y: 0.13198037445545197
z: 9.807847023010254
-
LIO-SAM Odometry Output (topic: /lio_sam/mapping/odometry):
The pose position from the final odometry topic shows enormous and unrealistic values.
x: -27.7979679107666
y: 1.8861989974975586
z: 0.05000000074505806
x: -33.032894134521484
y: -3.063706398010254
z: 0.05000000074505806
x: -39.27899169921875
y: -9.487403869628906
z: 0.05000000074505806
x: -45.427345275878906
y: -18.16677474975586
z: 0.05000000074505806
Problem
The estimated position from /lio_sam/mapping/odometry drifts massively compared to the stable input from the IMU. The values jump to tens of meters, which is not physically possible for the robot's movement.
Questions
- What could be causing this massive drift in the odometry output?
- Could the issue be related to the coordinate frame transformations or the configuration of the IMU/LiDAR parameters (e.g., extrinsics, noise models)?
Any insights or suggestions for debugging this issue would be greatly appreciated.
Environment:
• Robot: Unitree B2
• LiDAR: Robosense Helios 32

I am experiencing a significant discrepancy between the raw IMU data and the final odometry output from the LIO-SAM mapping module. My setup uses a Unitree B2 robot and a Robosense Helios 32 LiDAR、ROS2 humble.
Configuration
The relevant topic configurations from my parameter file are:
pointCloudTopic: "/rslidar_points_converted"
imuTopic: "/dog_imu_raw"
odomTopic: "odometry/imu"
gpsTopic: "odometry/gpsz"
Observed Data
Raw IMU Data (topic: /dog_imu_raw):
The linear acceleration data from the IMU appears stable and shows small, plausible changes in position, consistent with the robot's movement on a relatively flat surface (note the Z-axis acceleration is close to gravity, ~9.8 m/s²).
x: 0.014365210197865963
y: 0.1041477769613266
z: 9.740509986877441
x: 0.014365210197865963
y: 0.1041477769613266
z: 9.740509986877441
x: 0.03232172131538391
y: 0.13198037445545197
z: 9.807847023010254
LIO-SAM Odometry Output (topic: /lio_sam/mapping/odometry):
The pose position from the final odometry topic shows enormous and unrealistic values.
x: -27.7979679107666
y: 1.8861989974975586
z: 0.05000000074505806
x: -33.032894134521484
y: -3.063706398010254
z: 0.05000000074505806
x: -39.27899169921875
y: -9.487403869628906
z: 0.05000000074505806
x: -45.427345275878906
y: -18.16677474975586
z: 0.05000000074505806
Problem
The estimated position from /lio_sam/mapping/odometry drifts massively compared to the stable input from the IMU. The values jump to tens of meters, which is not physically possible for the robot's movement.
Questions
Any insights or suggestions for debugging this issue would be greatly appreciated.
Environment:
• Robot: Unitree B2
• LiDAR: Robosense Helios 32