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

question about ObjectPoseGraph.h #27

Open
zpwithme opened this issue Jan 4, 2023 · 1 comment
Open

question about ObjectPoseGraph.h #27

zpwithme opened this issue Jan 4, 2023 · 1 comment

Comments

@zpwithme
Copy link

zpwithme commented Jan 4, 2023

hello, in function linearizeOplus() ObjectPoseGraph.h. Does the variable _jacobianOplusXj lack to multiply _measurement.inverse().adj() ?

@JingwenWang95
Copy link
Owner

Hi @zpwithme, actually for _jacobianOplusXj you don't need to multiply with the adjoint. Here the error residual is defined as log(Tij^-1 * Ti * Tj^-1). Since we apply the perturbation to the left, to compute _jacobianOplusXi, you will have to get rid of the part on its left, which is T_ij^-1. And to do so you need to multiply the adjoint of Tij^-1 to the right of the expression, which is why the adjoint term exists in _jacobianOplusXi. But for _jacobianOplusXj, you can simply inverse the whole expression inside the bracket and negate the log value, which will make Tj already appear on the left.

For more detailed derivation you can refer to this thesis (Appendix B.6): https://www.doc.ic.ac.uk/~ajd/Publications/Strasdat-H-2012-PhD-Thesis.pdf

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

No branches or pull requests

2 participants