0
$\begingroup$

Rosanswers logo

Hello, My name is Drew and i'v just started work in the robotics field, as well as with ROS so my understanding of even some more general things could be lacking if not totally missing. I'm looking for more information concerning the TF tree between the Navigation stack, hokuyo_node, and my odometry. I'v muddled through all the Q&A's i could find relating the subjects at hand but to no avail. So to the point.

I have set up my robot so far to have odometry information via an arduino using ardros as a base. It sends odometry information as well as receives twist commands for my motor controller. I'v also got a hokuyo_node and publishing its scans. I'v also been through the entire navigation stack tutorial many many times and i do believe i'v got all of the costmap, amcl, and other properties for my robot set up ok. My issue is when i try to run the stack it errors out and says

"Waiting on transform from base_link to /map to become available before running costmap, tf error: Frame id /map does not exist!"

now this i'v tracked down to be associated with the amcl node publishing this transform which leads me to believe that the hokuyo_node isnt doing whats needed so the amcl node isnt functioning properly. My main question is how to perform the TF from base_link -> base_laser because im am confused on the subject. i'v read about the transform publisher in the navigation stack setup but i'v also read that the hokuyo_node does the posting by itself. So im not overly sure exactly how to clear up this issue.

Thanks ahead of time, and if you need any more information I can try my best to get it ASAP.


Originally posted by D_mangus on ROS Answers with karma: 121 on 2011-05-29

Post score: 0


Original comments

Comment by mohammad on 2014-08-07:
hi. i like to use ardros package as my base controller but i dont know its repository to install. can i ask u to help me??? many tanks:))

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Some debugging steps which might be helpful to pinpoint where the system breaks:

  1. Verify your laser data: Start rviz, add a LaserScan display type, and set the "fixed frame" to base_laser (or whatever the frame of your laser is). Are you seeing data?

  2. Verify your odometry: Set the "fixed frame" in rviz to odom, and add a "tf" display type. Is the base_link frame moving as you would expect, reported by your odometry?

  3. Debug your tf tree. You can do that by running

    rosrun tf tf_monitor

Or even better, start rviz, and add a "tf" display type.

This is what your tree should look like:

  • map->odom (published by amcl or gmapping)
  • odom->base_link (published by robot_pose_ekf)
  • base_link->base_laser (static, published by static tf published in one of your launch files)

If any of these are missing, you need to address that specific node.


Originally posted by Ivan Dryanovski with karma: 4954 on 2011-05-29

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by D_mangus on 2011-05-31:
Also since it started to actually print out that information, the map->odom error was fixed. It seems that it isnt localizing properly now, but thats value issues i do believe so it will take a bit more tinkering. Thanks greatly for the help, and very interesting work on the 6D Kinect stuff.

Comment by D_mangus on 2011-05-31:
I actually found part of the issue that i was getting thanks to your post :) the needed to have /laser instead of base_laser to actually recognize the hokuyo_node output.

Comment by D_mangus on 2011-05-29:
I will when i get back to the lab, I do not currently have access at the moment. I posted this in hopes that it would be looked at by monday. Thank you for the insight i will post more when i get a hold of the system and can perform more diagnostics.

Comment by Ivan Dryanovski on 2011-05-29:
The static tf looks ok. Are you sure the laser is publishing in the "laser" frame? The default for hokuyo is "laser". Also can you edit your original Q to include the output of tf_monitor?

Comment by D_mangus on 2011-05-29:
I did indeed verify my laser data as well as odometry data using rviz, and debugging the TF tree is where i was having issues. Do i need a node that subscribes to the /scan topic and the publishes transforms, or will the be ok? cause i do believe it is an issue with the amcl not starting properly as far as the link from map->odom not being published

$\endgroup$

Your Answer

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