ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

In your specific case, the issue exists since there is no frame called /odom as such that can be found. The odometry frame in the context of the Hector Mapping node is available as the argument "odom_frame" that you are setting as base_link. This has to be set as /odom to be used in your configuration.

I would recommend using the following for your use-case :

<arg name="base_frame" default="base_footprint">
<arg name="odom_frame" default="odom"/>
<node pkg="tf" type="static_transform_publisher" name="odom_to_basefootprint" args="0.0 0.0 0.0 0 0 0.0 odom base_footprint 100" />
<node pkg="tf" type="static_transform_publisher" name="basefootprint_to_base" args="0.0 0.0 0.0 0 0 0.0 base_footprint base_link 100" />
<node pkg="tf" type="static_transform_publisher" name="base_to_laser" args="0.0 0.0 0.0 0 0 0.0 base_link laser 100" />

If there really are no transformations between the different frames and they lie on the same point, you can just omit the base_footprint and odom link altogether by setting both base_frame and odom_frame to be equal to base_link and keep only the transform between laser and base_link.

In your specific case, the issue exists since there is no frame called /odom as such that can be found. The odometry frame in the context of the Hector Mapping node is available as the argument "odom_frame" that you are setting as base_link. This has to be set as /odom to be used in your configuration.

I would recommend using the following for your use-case :

<arg name="base_frame" default="base_footprint">
<arg name="odom_frame" default="odom"/>
 <node pkg="tf" type="static_transform_publisher" name="odom_to_basefootprint" args="0.0 0.0 0.0 0 0 0.0 odom base_footprint 100" />
<node pkg="tf" type="static_transform_publisher" name="basefootprint_to_base" args="0.0 0.0 0.0 0 0 0.0 base_footprint base_link 100" />
<node pkg="tf" type="static_transform_publisher" name="base_to_laser" args="0.0 0.0 0.0 0 0 0.0 base_link laser 100" />

If there really are no transformations between the different frames and they lie on the same point, you can just omit the base_footprint and odom link altogether by setting both base_frame and odom_frame to be equal to base_link and keep only the transform between laser and base_link.

In your specific case, the issue exists since there is no frame called /odom as such that can be found. The odometry frame in the context of the Hector Mapping node is available as the argument "odom_frame" that you are setting as base_link. This has to be set as /odom to be used in your configuration.

I would recommend using the following for your use-case :

<arg name="base_frame" default="base_footprint">
<arg name="odom_frame" default="odom"/>
 <node pkg="tf" type="static_transform_publisher" name="odom_to_basefootprint" args="0.0 0.0 0.0 0 0 0.0 odom base_footprint 100" />
<node pkg="tf" type="static_transform_publisher" name="basefootprint_to_base" args="0.0 0.0 0.0 0 0 0.0 base_footprint base_link 100" />
<node pkg="tf" type="static_transform_publisher" name="base_to_laser" args="0.0 0.0 0.0 0 0 0.0 base_link laser 100" />

If there really are no transformations between the different frames and they lie on the same point, you can just omit the base_footprint and odom link altogether by setting both base_frame and odom_frame to be equal to base_link and keep only the transform between laser and base_link.

In your specific case, the issue exists since there is no frame called /odom as such that can be found. The odometry frame in the context of the Hector Mapping node is available as the argument "odom_frame" that you are setting as base_link. This has to be set as /odom to be used in your configuration.

I would recommend using the following for your use-case :

<arg name="base_frame" default="base_footprint">
<arg name="odom_frame" default="odom"/>
 <node pkg="tf" type="static_transform_publisher" name="odom_to_basefootprint" args="0.0 0.0 0.0 0 0 0.0 odom base_footprint 100" />
 <node pkg="tf" type="static_transform_publisher" name="basefootprint_to_base" args="0.0 0.0 0.0 0 0 0.0 base_footprint base_link 100" />
 <node pkg="tf" type="static_transform_publisher" name="base_to_laser" args="0.0 0.0 0.0 0 0 0.0 base_link laser 100" />

If there really are no transformations between the different frames and they lie on the same point, you can just omit the base_footprint and odom link altogether by setting both base_frame and odom_frame to be equal to base_link and keep only the transform between laser and base_link.