Ask Your Question
0

transform from /base_link to /map

asked Feb 22

Cav gravatar image Cav
140 3 11

updated Feb 22

Hi,

I was following the navigation tutorials. I have a map already, now I'm starting map_server and amcl as described in the tutorials but I'm getting following message:

Waiting on transform from /base_link to /map to become available before 
running costmap, tf error: Could not find a connection between '/map' and
'/base_link' because they are not part of the same tree.Tf has two or more 
unconnected trees.

The robot is being displayed in the corner of the map and setting pose estimation does not work (I get a message e.g. "Setting pose: 4.996 2.068 -2.645 [frame=/map]" but nothing happens).

tftree looks like this (I have a kinect mounted on a car-like robot):

tf tree

so obviously map -> odom are not connected. Is that the reason pose-estimation does not work? How/where should I connect them? For testing I've tried static_transform_publisher (map to odom) but it did not change anything.

I'll be grateful for any help.

delete close flag offensive retag edit

2 Answers

Sort by ยป oldest newest most voted
0

answered Feb 23

Cav gravatar image Cav
140 3 11

updated Feb 23

fixed it. my mistakes were:

  • scan_topic was not properly set in amcl
  • both laser_scan_matcher and my node were publishing tf odom->base_link

after fixing that I can set pose estimation in rviz.

link delete flag offensive edit
2

answered Feb 22

joq gravatar image joq
7304 29 68 133
http://www.austinrobot.co...

The usual convention for these mobile robot frames is described in REP-0105.

Localization would normally provide the /map->/odom transform.

Why did static_transform_publisher not work? What parameter did you pass it?

link delete flag offensive edit

Comments

So amcl should provide the transformation in my case? I've tried this: <node pkg="tf" type="static_transform_publisher" name="map_to_odom" args="0.0 0.0 0.0 0 0 0.0 /map /odom 100"/>

Cav (Feb 22)edit

Yes. That transform looks OK to me. I do it the same, except for specifying 1000 ms instead of 100 ms.

joq (Feb 22)edit

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[hide preview]

Question tools

Follow

subscribe to rss feed

Stats

Asked: Feb 22

Seen: 287 times

Last updated: Feb 23