Create a copy of the base_link frame

asked 2019-05-09 11:10:46 -0500

Dylan gravatar image

updated 2019-05-09 13:33:21 -0500

Each frame can only have 1 parent but can have many children. That's why I want to go from here:

image description

to here:

image description

i.e, I want to create a copy of ardrone_base_link, that is in the same place and moves in the same way that ardrone_base_link, but has a different transform (given by the robot_localization package)

How can I do that?

Would that fix my problem of having 2 different transforms from odom to base_link? I suppose I need the one given by ardrone_driver because it also broadcasts between base_link and the bottom and front camera. Is that right?

Or do you think that something like this would work better?

image description

Would the broadcaster between ardrone_base_link and the bottom and front camera still work when the transform between odom and base_link is given by other broadcaster?

This is the output of roswtf:

ERROR TF multiple authority contention:
 * node [/ekf_localization] publishing transform [ardrone_base_link] with parent [odom] already published by node [/ardrone_driver]
 * node [/ardrone_driver] publishing transform [ardrone_base_link] with parent [odom] already published by node [/ekf_localization]

(what I called robot_localization is ekf_localization)

Edited:

I think I found a solution, just changing the parameter of the base_link in the robot_localization. But the odometry given by ardrone_driver and the one given by ekf_localization are very different.

image description

The problem is that I never defined ardrone_base_link_copy. Is that OK?

edit retag flag offensive close merge delete

Comments

Isn't this a duplicate of #q322668?

gvdhoorn gravatar image gvdhoorn  ( 2019-05-09 11:51:49 -0500 )edit

No. Its a different solution for the same problem. I was told to open a new question

Dylan gravatar image Dylan  ( 2019-05-09 11:56:33 -0500 )edit

So tf_remap didn't work?

gvdhoorn gravatar image gvdhoorn  ( 2019-05-09 12:20:18 -0500 )edit

I couldn't make tf_remap work, but I think that this solution could be better, because I would just make a duplicate of the frame (I don't know how to do that but I suppose it has to be simple (I'm trying to make that using Google, but if you could help me it would be better)) and I don't disable the transformations that come with the ardrone_driver

Dylan gravatar image Dylan  ( 2019-05-09 12:22:35 -0500 )edit

@gvdhoorn please see my edited question

Dylan gravatar image Dylan  ( 2019-05-09 13:01:49 -0500 )edit