koide3 / hdl_graph_slam

3D LIDAR-based Graph SLAM
BSD 2-Clause "Simplified" License
1.93k stars 723 forks source link

How to use wheel odometry as the initial position for scan matching #251

Open SaltUhey opened 1 year ago

SaltUhey commented 1 year ago

Hey, @koide3 and all.

I want to use my own wheel odometry as the initial position for scan matchingin in your hdl_graph_slam.

How to perform SLAM using only wheel odometry has already been described in #74. According to what was stated in #74, You have to remove scan_matching_odometry_nodelet and publish my own odometry to use my own /odom topic.

However, I want to use my own wheel odometry as the initial position for scan matchingin in your hdl_graph_slam.

I believe that I can use the wheel odometry as the initial position for scan matching by using the optional arguments in the launch file, but I don't know how to use it. I think it has something to do with the following that exists in each launch file.

<!-- optional arguments -->
<arg name="enable_robot_odometry_init_guess" default="false" />
<arg name="robot_odom_frame_id" default="robot_odom" />

I don't understand what robot_odom_frame_id corresponds to. If you could tell me what it is, I would appreciate it.

rokusottervanger commented 7 months ago

Same question here. I am trying to set enable_robot_odometry_init_guess to true and I set the robot_odom_frame_id to odom (whereas the output of the lidar odometry nodelet is icp_odom). However, I'm repeatedly getting this error:

[ WARN] [1700147569.776347216, 1699979736.812924720]: failed to look up transform between base_link and odom