ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Hi, I ran into this same issue while also enabling multi robot simulation for ridgeback.
I had the correct tf prefixes for ekf_localization however I was still seeing the same /base_link error caused by the missing namespace/tf prefix.
I was able to fix this by modifying the velocity controller's base_frame_id
and odom_frame_id
.
<rosparam param="ridgeback_velocity_controller/base_frame_id" subst_value="True">$(arg tfpre)/base_link</rosparam>
<rosparam param="ridgeback_velocity_controller/odom_frame_id" subst_value="True">$(arg tfpre)/odom</rosparam>
In addition to the nre_simmultihusky repo, there is shehancaldera's more recent multi husky repo. I found both useful for figuring out the tf tree for ridgeback.
The top portion of my tf tree looks like this:
Each translation is handled by the following broadcaster:
+-----------------+--------------------+------------------------------------------------------+
| Parent | Child | Broadcaster |
+-----------------+--------------------+------------------------------------------------------+
| map | r0_tf/odom | r0/map_odom_broadcaster (static_transform_publisher) |
+-----------------+--------------------+------------------------------------------------------+
| r0_tf/odom | r0_tf/base_link | r0/ekf_localization |
+-----------------+--------------------+------------------------------------------------------+
| r0_tf/base_link | r0_tf/chassis_link | r0/robot_state_publisher |
+-----------------+--------------------+------------------------------------------------------+