[IEEE ICRA'23] A new lightweight LiDAR-inertial odometry algorithm with a novel coarse-to-fine approach in constructing continuous-time trajectories for precise motion correction.
MIT License
521
stars
101
forks
source link
Disaligned point clouds and motion issues with TurtleBot3 Burger #26
Hi! I was trying to test DLIO (ROS2 branch) algorithm with a TurtleBot3 Burger in a simulated scenario for educational purpose. I am using Ubuntu 20.04 and ROS2 Foxy as ROS2 distro. However, I got into some troubles and I am currently trying to solve them.
1) If I understood correctly, the extrinsic parameters (i.e. baselink2imu and baselink2lidar) should be equivalent to the base_link->imu_link and base_link->base_scan transforms that are defined in the .xacro file. Am I right?
2) What I wish to obtain is a reference frame map as in the tf tree below (to do so, I used a static transform publisher but other packages such as Cartographer provide a better transform, hence I tried both). That is, I wish my fixed frame to be map instead of odom. My idea is to change the reference frame point clouds are published to, from odom to map.
However, if I launch DLIO I not only get a big disalignment between the built map and the actual scan. It also sometimes happens that reference frames "jump". Here I took some screens from RViz and Gazebo.
(The purple point cloud is the current scan, while the red one represents the map)
3) A last problem concerns the position that is computed with respect to the origin. I see that, even if the robot does not move, the position somehow oscillates. Furthermore, the trajectory is badly computed. Is this related to IMU calibration or is it related to the reference frame issue?
EDIT: Terminal shows that the position significantly changes but the traveled distance is still 0. However, if I move around the robot and then I stop it, the position keeps changing and the traveled distance strangely increases.
I may test with a real copy of TurtleBot3 Burger tomorrow and check if I encounter the same problems.
Hi! I was trying to test DLIO (ROS2 branch) algorithm with a TurtleBot3 Burger in a simulated scenario for educational purpose. I am using Ubuntu 20.04 and ROS2 Foxy as ROS2 distro. However, I got into some troubles and I am currently trying to solve them.
1) If I understood correctly, the extrinsic parameters (i.e.
baselink2imu
andbaselink2lidar
) should be equivalent to thebase_link->imu_link
andbase_link->base_scan
transforms that are defined in the .xacro file. Am I right?2) What I wish to obtain is a reference frame
However, if I launch DLIO I not only get a big disalignment between the built map and the actual scan. It also sometimes happens that reference frames "jump". Here I took some screens from RViz and Gazebo.
(The purple point cloud is the current scan, while the red one represents the map)
map
as in the tf tree below (to do so, I used a static transform publisher but other packages such as Cartographer provide a better transform, hence I tried both). That is, I wish my fixed frame to bemap
instead ofodom
. My idea is to change the reference frame point clouds are published to, fromodom
tomap
.3) A last problem concerns the position that is computed with respect to the origin. I see that, even if the robot does not move, the position somehow oscillates. Furthermore, the trajectory is badly computed. Is this related to IMU calibration or is it related to the reference frame issue? EDIT: Terminal shows that the position significantly changes but the traveled distance is still 0. However, if I move around the robot and then I stop it, the position keeps changing and the traveled distance strangely increases.
I may test with a real copy of TurtleBot3 Burger tomorrow and check if I encounter the same problems.