• James Tigue's avatar
    Changes the quat_box_minus implementation and adds quat_box_plus and... · 02c0a217
    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: 's avatarJames Tigue <166445701+jtigue-bdai@users.noreply.github.com>
    Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
    Signed-off-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
    Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
    Co-authored-by: 's avatarMayank Mittal <12863862+Mayankm96@users.noreply.github.com>
    Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
    02c0a217
Name
Last commit
Last update
..
isaaclab Loading commit data...
isaaclab_assets Loading commit data...
isaaclab_mimic Loading commit data...
isaaclab_rl Loading commit data...
isaaclab_tasks Loading commit data...