Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to invert camera->tag transformation for each Standalone/ Bundle April Tag #113

Open
JohnTGZ opened this issue Jan 7, 2022 · 2 comments

Comments

@JohnTGZ
Copy link

JohnTGZ commented Jan 7, 2022

The problem that this enhancement is targeting

When multiple cameras are used to detect a standalone/bundle April Tag, it leads to the april tag frame having multiple camera frames as parents.

Example

Let's say we use April Tag with ID0 from the family "tag36h11", and we set the apriltag_ros_continuous_node param publish_tf to true, we will end up with the following tf being published "<CAMERA1>_optical_frame" -> "tag_0", "<CAMERA2>_optical_frame" -> "tag_0" etc.
If we use multiple cameras, we ultimately end up with the frame "tag_0" having multiple parents.

Other possible solutions

Of course, there are a few ways around this, one of which is to set publish_tf to false, take the desired bundle/standalone pose from /tag_detections message, publish an inverted frame transformation in the form of "tag_0" -> "<CAMERA1>_optical_frame" where 'tag_0' is now the parent instead of the child.

Proposal

To deal with the problems mentioned above, there could be an option to invert the published transformation between the camera and the april tag.
If you think such an enhancement would be useful for say, extrinsic camera calibration or frame manipulation. This is would be something Im happy to contribute to. Comments are appreciated too.

@JSaunders97
Copy link

Hi @JohnTGZ ,

I've come across this same issue when doing extrinsic camera calibration, I think it would be really great if there was an option for this in apriltag ros! It seem like it would be relatively easy to implement as well.

Let me know if you decide to implement this?

@JohnTGZ
Copy link
Author

JohnTGZ commented Feb 22, 2022

Yes I would definitely like to implement this, hopefully by mid-march. Just gathering comments to see if this feature is something that might be useful enough that it's worth implementing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants