-
James Tigue authored
Changes the quat_box_minus implementation and adds quat_box_plus and rigid_body_twist_transform (#2217) # Description <!-- Thank you for your interest in sending a pull request. Please make sure to check the contribution guidelines. Link: https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html --> - Changes the quat_box_minus implementation see changes for reference links - Adds quat_box_plus and rigid_body_twist_transform methods # Reason for Change While using `quat_box_minus` to get angular velocities through finite differences we encountered that the angular velocity contained some unreasonably large values at given points along the trajectory. After some investigation we observed: - The problem comes from `quat_box_minus` yielding unreasonably large axis-angle differences at some points (”outliers”) of the trajectory. - Those “outliers” appear when the real part of the difference quaternion (`quat_diff = quat_mul(q1, quat_conjugate(q2))`) becomes negative ($w < 0$). - This happens even when the inputs are standardized with $w≥0$. ## Type of change <!-- As you go through the list, delete the ones that are not applicable. --> - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) <!-- Example: | Before | After | | ------ | ----- | | _gif/png before_ | _gif/png after_ | To upload images to a PR -- simply drag and drop an image while in edit mode and it should upload the image directly. You can then paste that source into the above before/after sections. --> ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task --> credit to @alopez-bdai --------- Signed-off-by:
James Tigue <166445701+jtigue-bdai@users.noreply.github.com>
Signed-off-by:
Kelly Guo <kellyg@nvidia.com>
Signed-off-by:
Kelly Guo <kellyguo123@hotmail.com>
Co-authored-by:
Kelly Guo <kellyguo123@hotmail.com>
Co-authored-by:
Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Co-authored-by:
Kelly Guo <kellyg@nvidia.com>