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

Pose3 derivative w.r.t. quaternion components #76

Closed
vovo-4K opened this issue Jun 19, 2019 · 1 comment
Closed

Pose3 derivative w.r.t. quaternion components #76

vovo-4K opened this issue Jun 19, 2019 · 1 comment

Comments

@vovo-4K
Copy link

vovo-4K commented Jun 19, 2019

I'm trying to implement custom factor derived from NoiseModelFactor1<Pose3>
As I understood concepts in method evaluateError() I should provide Jacobian matrix for error function with respect to pose vector components i.e. Rx, Ry, Rz, x, y, z, where Rx, Ry and Rz are euler angles components of corresponding Pose3.
In my case I need to perform some operations with rotation, which is better to do with quaternions. Also it helps to avoid trigonometric functions like sin/cos in error function and much simplifies derivatives.

Is there any way to provide Jacobian with respect to qw, qx, qy, qz of Pose3 with no breaking compatibility with current gtsam architecture and already implemented factors?

I've tried to set parameters USE_QUATERNIONS but it affects only internal representation of Rot3.

@dellaert
Copy link
Member

Not an issue but a question. I propose you re-pose it on Google group: https://groups.google.com/forum/#!forum/gtsam-users

Short answer: the tangent space of quaternion and matrix representations is identical and is isomorphic to R^3. Please read PDFS in docs folder to get some help on this.

varunagrawal added a commit that referenced this issue Apr 2, 2021
5ddaff8ba Merge pull request #77 from borglab/fix/template-as-template-arg
0b6f2d92b allow templates as paramters to templates
7f3e242b0 Merge pull request #76 from borglab/fix/cmake-config
0caa79b82 macro to find and configure matlab
522557232 fix GTWRAP_INCLUDE_NAME
78a5d3afa Use CMakePackageConfigHelpers to vastly simplify the package config
76f8b9e5d Merge pull request #75 from borglab/fix/template-args
3b8e8389e remove reference from shared pointers
045393c7b docs and flag renaming
d23d8beae tests
ef96b4bdc don't make template parameters as references
d1e1dc697 Merge pull request #74 from borglab/fix/type-recursion
8202ecf10 minor fixes
5855ea85b support for passing templated types as arguments
150cc0578 Support for templated return types
5c58f8d03 Merge pull request #73 from borglab/fix/types-refactor
c697aa9c8 refactored the basic and custom types to make it cleaner, added more tests
98e2c3fa1 Merge pull request #68 from borglab/fix/cmake
c6d5e786a make config agnostic to install prefix
4d6999f15 Merge pull request #69 from borglab/feature/call-and-index
ccf408804 add support for callable and indexing overloads
8f8e3ec93 add status messages
88566eca4 make WRAP_PYTHON_VERSION an optional argument
01b8368ad Merge pull request #67 from borglab/feature/operator-overloading
522a12801 remove unsupported operators
209346133 update check location for unary operator
39e290f60 fix small typo
faa589bec update DOCS
7ff83cec8 minor fixes
8ce37766f fixed tests
21c477c4d include pybind11/operators
a3534ac5e wrap operator overloads
67c8f2089 instantiate templates for operators
e9dce65d8 use ReturnType for ease in other places and use members in Class
3078aa6db added parser rule for operator overloading

git-subtree-dir: wrap
git-subtree-split: 5ddaff8bab6c05e8a943c94993bf496e13296dd6
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