navigation using ground truth position..?

asked 2023-03-22 02:32:22 -0500

mirakim gravatar image

Hello,

I want to navigate using ground truth coordinate of robot, considering the situation without odometry drift. However, the navigation ROS2 package itself seems to require an odom frame as a necessity. I also deleted the command related to extended kalman filter in navigation tutorial, but the odom frame still drifted. How can I navigate with ground truth frame?

The code that I commented is as below:

  # Start robot localization using an Extended Kalman filter
  start_robot_localization_cmd = Node(
    package='robot_localization',
    executable='ekf_node',
    name='ekf_filter_node',
    output='screen',
    parameters=[robot_localization_file_path, 
    {'use_sim_time': use_sim_time}])

How can I navigate without odom frame using ground truth position?

edit retag flag offensive close merge delete

Comments

Did you try to remap the ground truth coordinate publisher to publish the /odom frame? So it will be the same?

ljaniec gravatar image ljaniec  ( 2023-03-22 05:49:02 -0500 )edit

Thank you for the response! You mean that I should publish the ground truth position of the robot to the /odom frame?

mirakim gravatar image mirakim  ( 2023-03-22 20:40:36 -0500 )edit

Yes, just double it and check if this will be enough

ljaniec gravatar image ljaniec  ( 2023-03-24 11:59:27 -0500 )edit
1

@mirakim For historical reasons, the odom->base_link info is special. Some nodes look for data in the /tf topic, and others look for it in the /odom topic. You'll need to publish accurate messages in both to make everything work.

You also need to make sure there are no other nodes publishing conflicting information e.g. from wheel encoders. You need to configure these nodes to not publish.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2023-03-25 09:45:12 -0500 )edit