-
Notifications
You must be signed in to change notification settings - Fork 15
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
Feature/jlog #22
base: master
Are you sure you want to change the base?
Feature/jlog #22
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @simeon-ned! This is a great first pass.
I left some comments. It seems like the main things that need addressing are:
- Handling leading batch axes.
- Making sure we handle all divide by zero cases, including preventing revese-mode AD-specific NaNs1 for the
jlog
methods.
For tests:
- Move tests to pytest.
- Tests for batch axes.
- Tests for autodiff through
jlog
. (perhaps using thejacnumerical
or_assert_jacobians_close
helpers, seetest_autodiff.py
)
Does that sound right? Am I missing anything?
Footnotes
Actually, for SE(2) and SE(3), are you able to reuse/refactor the code for the "V" and "V_inv" matrices? Lines 164 to 175 in 84babf5
Lines 142 to 159 in 84babf5
Lines 208 to 221 in 84babf5
Lines 183 to 205 in 84babf5
These already seem to describe the parts of the left/right Jacobians that are the trickiest to compute. |
Great suggestion, should I encupsulate |
I'd vote for a helper function for now so it's not exposed in the API, it's easier to add things to the API later than to remove them! |
Reduce the size of following text, specifically do not use separate bullet for groups, just make list of them:"Thank you for providing that information. Based on the content you shared, I can summarize the key points:
This pull request adds analytical Jacobians for the logarithm (log) operation for all groups presented in
jaxlie
. These Jacobians are also known as right inverse Jacobians. They represent the partial derivative of the log operation with respect to the group element:The implementation are based on derivations presented in the "micro Lie theory" paper, specifically equations 41c, 79, 126, 144, 163, and 179. Similar functionality is also implemented in established robotics libraries like Pinocchio, indicating the practical importance of these Jacobians in robotics applications.