Robotics StackExchange | Archived questions

Create a copy of the base_link frame

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 ardronebaselink, that is in the same place and moves in the same way that ardronebaselink, 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 baselink? I suppose I need the one given by ardronedriver 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 ardronebaselink 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 robotlocalization is ekflocalization)

Edited:

I think I found a solution, just changing the parameter of the baselink in the robotlocalization. But the odometry given by ardronedriver and the one given by ekflocalization are very different.

image description

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

Asked by Dylan on 2019-05-09 11:10:46 UTC

Comments

Isn't this a duplicate of #q322668?

Asked by gvdhoorn on 2019-05-09 11:51:49 UTC

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

Asked by Dylan on 2019-05-09 11:56:33 UTC

So tf_remap didn't work?

Asked by gvdhoorn on 2019-05-09 12:20:18 UTC

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

Asked by Dylan on 2019-05-09 12:22:35 UTC

@gvdhoorn please see my edited question

Asked by Dylan on 2019-05-09 13:01:49 UTC

Answers