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

tf tree slam and base link

asked 2015-11-27 15:47:55 -0500

Lolita390 gravatar image

updated 2015-11-28 10:24:20 -0500

Hello,

I am trying to use a quadrotor with ROS moveit! The driver node of the quadrotor publishes a tf tree, which contains odom, base, frontcam and bottomcam, where odom is the parent frame of base and base is the parent frame of frontcam and bottom cam. Besides this diver I am running a Slam algorithm, which publishes another tf tree, which contains two frames, map and sensor.

When setting up moveit with a urdf model, I create a virtual link between the map frame from the slam algorithm and the base link of the quadrotor. When I launch the resulting demo.launch I get the following warn messages:

[ WARN] [1448659454.360465559]: Unable to transform object from frame 'ardrone_base_frontcam' to planning frame 'Map' (Could not find a connection between 'Map' and 'ardrone_base_frontcam' because they are not part of the same tree.Tf has two or more unconnected trees.) 
[ WARN] [1448659454.360597000]: Unable to transform object from frame 'ardrone_base_link' to planning frame 'Map' (Could not find a connection between 'Map' and 'ardrone_base_link' because they are not part of the same tree.Tf has two or more unconnected trees.) 
[ WARN] [1448659454.360687375]: Unable to transform object from frame 'ardrone_base_bottomcam' to planning frame 'Map' (Could not find a connection between 'Map' and 'ardrone_base_bottomcam' because they are not part of the same tree.Tf has two or more unconnected trees.) 
[ WARN] [1448659454.360741781]: No transform available between frame 'odom' and planning frame 'Map' (Could not find a connection between 'Map' and 'odom' because they are not part of the same tree.Tf has two or more unconnected trees.)

Apparently I need to publish transforms to connect the trees and have only one. I see the following problem: on one tree odometry is being published from the IMU. I am not interested in this data, I only wish to represent the pose of the urdf model in rviz with the data from the Slam algorithm. I would like the base of the quadrotor to share the pose output from the sensor frame.

Any help is appreciated. Thanks

EDIT1: I cannot provide the tf frames right now because I do not have the quadrotor with me, for now, I can give a brief explanation of this. I am using visual slam Ptam so in one tree I have map and sensor, where map is the fixed frame. In the other tf tree I have odom followed by base and the two children of base are frontcam and bottomcam. In this post ( [ http://answers.ros.org/question/21682... ] I read that there would have to be a static transform between world and odom. I have found no files for parameter configuration.

edit retag flag offensive close merge delete

Comments

@Lolita390 where you able to solve your problem? Im facing the exact same issue right now.

Would be great if you could share your solution!

paul3333 gravatar image paul3333  ( 2021-03-04 16:06:06 -0500 )edit

Please don't use an answer to leave a comment. This isn't a forum

jayess gravatar image jayess  ( 2021-03-06 21:50:52 -0500 )edit

Sorry about that.

paul3333 gravatar image paul3333  ( 2021-03-08 03:43:38 -0500 )edit

No worries

jayess gravatar image jayess  ( 2021-03-09 00:08:17 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2015-11-28 04:18:36 -0500

Akif gravatar image

In fact, your slam node should broadcast transformation from map to odom. It seems missing.

It may be helpful if you can post the screenshot of rosrun tf view_frames output and your content of launch files with any relevant parameter (or .yaml) files.

edit flag offensive delete link more

Comments

I replied in EDIT1.

Lolita390 gravatar image Lolita390  ( 2015-11-28 10:24:57 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2015-11-27 15:47:55 -0500

Seen: 1,454 times

Last updated: Mar 04 '21