Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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 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?

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 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?

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 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)

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 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)

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

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 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

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 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?