• Antoine RICHARD's avatar
    Adds position to set external forces and torques (#1680) · aa8121f5
    Antoine RICHARD authored
    # Description
    
    This PR adds the option to set wrench positions to
    `set_external_force_and_torque`. This is a non-breaking change as the
    positions are passed as an optional argument. When no positions are set,
    the function defaults to the original implementation, that is, no
    positions are passed to PhysX. The PR also adds tests to check that the
    position values are correctly set into their buffer, but does not check
    if the resulting wrenches are correct. I did test the Quadcopter task
    before and after this PR and the training results are exactly the same.
    
    As of now, the function follows the original layout. But it could make
    sense to offer the option to set the position in either the link frame
    or the CoM frame. This would follow the recent changes made to the
    set_pose and set_velocity methods for instance. However, this would be a
    breaking change. Hence, for now, this has not been implemented. One
    could also argue, that this could be done prior to feeding the positions
    outside this method. Please let me know what you feel is best, and I'll
    update the PR accordingly.
    
    If one wanted to test the resulting wrenches, it would require a simple
    test articulation like a 1kg sphere that would be used to accurately
    compute the expected velocities. This is also feasible, but I feel like
    this test is more on the PhysX side of things, let me know.
    
    This change will require an update of the API documentation to include
    the position argument.
    
    Fixes #1678 
    
    ## Type of change
    
    - New feature (non-breaking change which adds functionality)
    - This change requires a documentation update
    
    ## 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
    - [ ] I have updated the changelog and the corresponding version in the
    extension's `config/extension.toml` file
    - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
    exists there
    
    ---------
    Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
    aa8121f5
Name
Last commit
Last update
..
config Loading commit data...
docs Loading commit data...
isaaclab Loading commit data...
test Loading commit data...
utils Loading commit data...
pyproject.toml Loading commit data...
setup.py Loading commit data...