Currently building a autonomous mecanum drive robot with wheel encoders, IMU, and LiDAR (with GPS to be implemented using a global EKF later). The current configuration uses a local EKF from the robot_localization package to fuse sensor data, and teb_local_planner for local planning.

Below is the rqt_graph output (only using encoders with dummy input for testing off robot), displaying how the odometry/local topic generated by the robot_localization node isn't connected to move_base. rqt_graph image The published / subscribed topic has been remapped respectively when the robot_localization and move_base nodes are launched:

<node pkg="robot_localization" type="ekf_localization_node" name="ekf_local" clear_params="true" >
  <rosparam command="load" file="$(find jiqi_navigation)/config/robot_localization/ekf_local.yaml" />
  <!-- Remap publications -->
  <remap from="odometry/filtered" to="odometry/local" />

<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
  <rosparam file="$(find jiqi_navigation)/config/move_base/costmap_common_params.yaml"    command="load" ns="global_costmap" />
  <rosparam file="$(find jiqi_navigation)/config/move_base/costmap_common_params.yaml"    command="load" ns="local_costmap"  />
  <rosparam file="$(find jiqi_navigation)/config/move_base/local_costmap_params.yaml"     command="load" ns="local_costmap"  />
  <rosparam file="$(find jiqi_navigation)/config/move_base/global_costmap_params.yaml"    command="load" ns="global_costmap" />
  <rosparam file="$(find jiqi_navigation)/config/move_base/teb_local_planner_params.yaml" command="load" />
  <rosparam file="$(find jiqi_navigation)/config/move_base/move_base_params.yaml"         command="load" />
  <!-- Remap subscriptions -->
  <remap from="odom" to="odometry/local" />
  <!-- Remap publications -->
  <remap from="cmd_vel" to="cmd_vel" />

And the odometry topic has also been changed in the teb_local_planner_params.yaml config file:


  odom_topic: odometry/local # Odometry topic name
  map_frame: odom # Change to map if using a static map

Is there any other issues that may be causing this disconnect between odometry/local and move_base?

Full config files can be found here: GitHub repository



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.