• ooctipus's avatar
    Fixes inconsistent data reading in body, link, com for RigidObject,... · c75bc5c5
    ooctipus authored
    Fixes inconsistent data reading in body, link, com for RigidObject, RigidObjectCollection and Articulation (#2736)
    
    # Description
    When WriteState, WriteLink, WriteCOM, WriteJoint are invoked, there is a
    inconsistency when reading values of ReadState, ReadLink, ReadCOM. The
    Source of the bug is because of missing timestamp invalidation of
    relative data or missing update to the related data within the write
    function. Below I list the all functions that is problematics
    
    RigitObject:
    write_root_link_pose_to_sim
    write_root_com_velocity_to_sim
    
    RigitObjectCollection:
    write_object_link_pose_to_sim
    write_object_com_velocity_to_sim
    
    Articulation:
    write_joint_state_to_sim
    
    The bug if fixed by invalidating the relevant data timestamps in
    write_joint_state_to_sim function for articulation, and added direct
    update to the dependent data in write_(state|link|com)_to_sim of
    RigitObject and RigitObjectCollection.
    
    I have added the tests cases that checks the consistency among
    ReadState, ReadLink, ReadCOM when either WriteState, WriteLink,
    WriteCOM, WriteJoint is called and passed all tests.
    
    Fixes #2534 #2702 
    
    <!-- As a practice, it is recommended to open an issue to have
    discussions on the proposed pull request.
    This makes it easier for the community to keep track of what is being
    developed or added, and if a given feature
    is demanded by more than one party. -->
    
    ## 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)
    
    ## Checklist
    
    - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
    `./isaaclab.sh --format`
    - [ ] 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
    -->
    
    ---------
    Signed-off-by: 's avatarKelly Guo <kellyg@nvidia.com>
    Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
    c75bc5c5
Name
Last commit
Last update
.aws Loading commit data...
.github Loading commit data...
.vscode Loading commit data...
apps Loading commit data...
docker Loading commit data...
docs Loading commit data...
scripts Loading commit data...
source Loading commit data...
tools Loading commit data...
.dockerignore Loading commit data...
.flake8 Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.pre-commit-config.yaml Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS.md Loading commit data...
LICENSE Loading commit data...
LICENSE-mimic Loading commit data...
README.md Loading commit data...
SECURITY.md Loading commit data...
VERSION Loading commit data...
environment.yml Loading commit data...
isaaclab.bat Loading commit data...
isaaclab.sh Loading commit data...
pyproject.toml Loading commit data...