Robotics StackExchange | Archived questions

navigation using ground truth position..?

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?

Asked by mirakim on 2023-03-22 02:32:22 UTC

Comments

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

Asked by ljaniec on 2023-03-22 05:49:02 UTC

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

Asked by mirakim on 2023-03-22 20:40:36 UTC

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

Asked by ljaniec on 2023-03-24 11:59:27 UTC

@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.

Asked by Mike Scheutzow on 2023-03-25 09:45:12 UTC

Answers