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

AdjointMap jacobians #433

Closed
Tracked by #824
gchenfc opened this issue Jul 25, 2020 · 2 comments · Fixed by #885
Closed
Tracked by #824

AdjointMap jacobians #433

gchenfc opened this issue Jul 25, 2020 · 2 comments · Fixed by #885
Assignees
Labels
feature New proposed feature

Comments

@gchenfc
Copy link
Member

gchenfc commented Jul 25, 2020

Feature

Lie Groups have AdjointMap implemented.

Just as (lowercase) Pose3.adjointMap has functions for

Matrix66 adjointMap() { ... }
Vector6 adjoint(Vector6 y) { ... }
Vector6 adjoint(Vector6 y, OptionalJacobian H) { ... }

It would be useful to have the equivalent one with jacobians for (uppercase) AdjointMap. Also, I propose to add another argument:

Vector Adjoint(Vector6 y, OptionalJacobian H, OptionalJacobian H_y) { ... }

to avoid having to calculate the AdjointMap again.

Unless there is a reason against this, I can begin working on this.

Motivation

Factors which need to convert tangent vectors to different frames will need the derivatives of AdjointMap. For example, in GTDynamics many factors such as TwistFactor, TwistAccelFactor, and WrenchEquivalenceFactor need this. Currently, GTDynamics is using an ugly way that would become much cleaner if this were implemented, at least for Pose3.

Notes

Currently only Pose3 has a function Adjoint(Vector6 y) { return AdjointMap() * y; }, and also Pose3's AdjointMap has a comment " /// FIXME Not tested - marked as incorrect".

@dellaert
Copy link
Member

Sure. Make sure Jacobians for methods are ordered HSelf, Hargument. If this means the API changes, we need to think a bit how to handle, e.g., force the use of the two-argument jacobian version by not having defaults.

@ProfFan
Copy link
Collaborator

ProfFan commented Jul 19, 2021

Ping @gchenfc

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

Successfully merging a pull request may close this issue.

4 participants