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

You are defining to much static transforms. The static transform won't move since they are static so your robot won't move at all.

The AMCL is responsible to publish the tf between map and odom so you have a conflict between AMCL and your static transform. Moreover it's your node rf2_laser_odometry that will deal with the tf between base_link and odom so all you have to do is get rid of these nodes :

  <node pkg="tf" type="static_transform_publisher" name="map_to_odom" 
    args="0.0 0.0 0.0 0 0 0.0 /map /odom 40" />
  <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 40" />

You probably need to change the parameter base_frame_id to :

<param name="base_frame_id" value="/base_footprint"/>

You are defining to much static transforms. The static transform won't move since they are static so your robot won't move at all.

The AMCL is responsible to publish the tf between map and odom so you have a conflict between AMCL and your static transform. Moreover it's your node rf2_laser_odometry that will deal with the tf between base_link and odom so all you have to do is get rid of these nodes :

  <node pkg="tf" type="static_transform_publisher" name="map_to_odom" 
    args="0.0 0.0 0.0 0 0 0.0 /map /odom 40" />
  <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 40" />

You probably need to change the parameter base_frame_id to :

<param name="base_frame_id" value="/base_footprint"/>

Edit : There are too much parameters for your node rf2o_laser_odometry, it should be like that :

 <node pkg="rf2o_laser_odometry" type="rf2o_laser_odometry_node" name="rf2o_laser_odometry" output="screen">
    <param name="laser_scan_topic" value="/scan"/>               
    <param name="base_frame_id" value="/base_footprint"/>
    <param name="odom_frame_id" value="/odom" /> 
    <param name="freq" value="6.0"/> 
  </node>

I've deleted the other params because they don't exist for this node. For the frequence I would set a higher rate, at least the same as for the static transforms (40).

For odom you can choose whatever you want as long as the other nodes needing odom (the topic not the frame) are correctly remapped (that's why I would keep it as odom).

For roswtf I don't know why you have those warnings the tf tree looks right (even more if you say that the frame moves correctly), maybe it's due to the frequence or simply because of your rviz configuration which was using the old static transforms that you have now removed. Maybe if you try launching rviz with the default configuration and then running roswtf the warning might disappear.