ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The robot frame is usually published by your robot driver which integrates wheel encoder values (or in addition with a gyro/imu) in order to broadcast the relative transformation between odom
and base_link
. The location of base_link
w.r.t. the robot body is driver specific here.
Options:
base_link
and add a static_transform_publisher to your robot launch file in order to create a new base_link
at the rotational center.nav_link
at the rotational center with a static_transform_publisher in your robot launch file. Configure the navigation stack accordingly (the base frame can be set in the global and local costmap parameters). I haven't tried this option yet. Ideally, planners should adhere to the base frame specification for all internal transformation.Some drivers are only publishing joint states and utilize a robot_state_publisher to provide the corresponding robot frames from a robot model description, usually a URDF file. Sometimes xacro is utilized to generate URDF files. In that case, you can adjust the robot model in one of the following ways:
base_link
frame to the rotational center and adjust all inherited transformations (children frames) as well.base_link
frame and add a new base_link
at the rotational center (e.g. as a child frame from the old one).nav_link
at the rotational center. Refer to option 3. above for further comments.2 | No.2 Revision |
The robot frame is usually published by your robot driver which integrates wheel encoder values (or in addition with a gyro/imu) in order to broadcast the relative transformation between odom
and base_link
. The location of base_link
w.r.t. the robot body is driver specific here.
Options:
base_link
and add a static_transform_publisher to your robot launch file in order to create a new base_link
at the rotational center.nav_link
at the rotational center with a static_transform_publisher in your robot launch file. Configure the navigation stack accordingly (the base frame can be set in the global and local costmap parameters). I haven't tried this option yet. Ideally, planners should adhere to the base frame specification Some drivers are only publishing joint states and utilize a robot_state_publisher to provide the corresponding robot frames from a robot model description, usually a URDF file. Sometimes xacro is utilized to generate URDF files. In that case, you can adjust the robot model in one of the following ways:
base_link
frame to the rotational center and adjust all inherited transformations (children frames) as well.base_link
frame and add a new base_link
at the rotational center (e.g. as a child frame from the old one).nav_link
at the rotational center. Refer to option 3. above for further comments.