0
$\begingroup$

Rosanswers logo

When I launch my move_base.launch, ( http://wiki.ros.org/navigation/Tutorials/RobotSetup) , I got this error :

Waiting on transform from /base_link to /map to become available before running costmap, tf error: 
[ WARN] [1406541885.908819812]: No laser scan received (and thus no pose updates have been published) for 1406541885.908702 seconds.  Verify that data is being published on the /scan topic.

This is my frames.pdf file

image description

This is the rqt_graph :

image description


Originally posted by Moda on ROS Answers with karma: 133 on 2014-07-28

Post score: 0


Original comments

Comment by bvbdort on 2014-07-28:
did you run roslaunch my_robot_configuration.launch first ?

Comment by Moda on 2014-07-28:
yes I did.

Comment by bvbdort on 2014-07-28:
check if tf is available using $ rosrun tf view_frames $ evince frames.pdf

Comment by Moda on 2014-07-28:
I've posted the result

Comment by bvbdort on 2014-07-28:
check laser is published on /scan topic. otherwise remap your laser topic to /scan. please upload picture of rqt_graph .

Comment by Moda on 2014-07-28:
When I make rostopic echo /scan I see that somethink is published

Comment by bvbdort on 2014-07-28:
you can see that /odom is not subscribe by none. No idea about it.

Comment by Moda on 2014-07-28:
No, I don't know how to link /odom to base_link

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Hey !

You need to publish the TF between odom and map. Not on the topic, the actual tf (check out the wiki for more information on it).

For a direct answer, in a launch file, use those lines of code :

<!-- Run a static transform between /odom and /map -->
<node pkg="tf" type="static_transform_publisher" name="odom_map_broadcaster" args="0 0 0 0 0 0 /map /odom 100" />

They will launch a node named odom_map_broadcaster that will publish a constant transform between /map and /odom. Here I suppose they are at the same place at first. Hope this help.

The laser scan is a warning only, it means tf is waiting for it (probably because you told move_base to use it) and you actually don't publish the transform for now. Understand that, even though you publish on the topic, what you miss here is the tf transform.


Originally posted by Maya with karma: 1172 on 2014-07-28

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by Moda on 2014-07-28:
But I don't have the package tf I tried to git clone https://github.com/ros/geometry.git but when I catekin_make, i got too much error

Comment by Moda on 2014-07-28:
Moreover, I tried to add your command in my launch file and it said
cannot launch node of type [tf/static_transform_publisher]: can't locate node [static_transform_publisher] in package [tf]

Comment by Maya on 2014-07-29:
Why don't you sudo apt-get install the tf package then ? But according to your second comment it seems like you have it. Could you edit your question to add those information : Do you have the tf package (in the depot, no need to git clone) ?

Comment by Moda on 2014-07-29:
No, I didn't manage to do it in groovy, so yesterday I installed a second distro, hydro, in which i managed to install, but it still doesn't work. So if in groovy you have the solution, I'm still ready to take it. Thank you

Comment by Moda on 2014-07-29:
I groovy when i maid sudo apt-get install ros-groovy-tf it said there is any package of this name

Comment by Maya on 2014-07-29:
That solution work with groovy and hydro. Try apt-cache search ros-groovy-tf to search for the package to install. TO make sure it's install use dkpg -l | grep tf

Comment by Moda on 2014-08-01:
It found this in apt-cache search ros-groovy-tf

Comment by Moda on 2014-08-01:
ros-groovy-tf2-geometry-msgs - tf2_geometry_msgs ros-groovy-tf2-kdl - KDL binding for tf2 ros-groovy-tf2-msgs - tf2_msgs ros-groovy-tf2-ros - This package contains the ROS bindings for the tf2 library, for both Python and C++.

Comment by Moda on 2014-08-01:
ros-groovy-tf2-tools - tf2_tools ros-groovy-tf2-web-republisher - Republishing of Selected TFs

Comment by Moda on 2014-08-01:
I only have tf2, not tf, is-it the error?

Comment by Maya on 2014-08-02:
http://wiki.ros.org/tf2 and read about it. Tf2 is the new tf so it's good use this

$\endgroup$

Your Answer

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