• ooctipus's avatar
    Fixes implicit actuator limits configs for assets (#2952) · c907fa6c
    ooctipus authored
    As discussed by several earlier commit and issues #2135 #1654 #1384
    limit(velocity_limit), effort limit(effort_limit), simulation velocity
    limit(velocity_limit_sim) and effort limit(effort_limit_sim).
    
    ImplicitActuator, lacking the motor model, is inherently
    non-attributable to velocity_limit or effort_limit, and should be using
    velocity_limit_sim and effort_limit_sim instead if such limits should be
    set. However, since most of environment with `ImplicitActuatorCfg` was
    written before v1.4, when velocity_limit was basically ignored, and
    velocity_limit_sim did not exist. To not break those environments
    training, we remove all `velocity_limit` attribute from existing
    `ImplicitActuatorCfg`, change all `effort_limit` to `effort_limit_sim`,
    and added documentation to articulate this point .
    
    However, even with removing velocity_limit, effort_limit, there could be
    subtitles interacting with default USD value. USD may have joints that
    comes with velocity_limit_sim and effort_limit_sim unnoticed by user.
    Thus, user may thinking sim_limits are uncaped by not specifying limits
    in Cfg, but is silently set in USD.
    
    To make that more clear, this PR added flag:
    `actuator_value_resolution_debug_print(default to false)` in
    `ArticulationCfg`
    that has following behavior:
    
    case 1: if USD has default, ActuatorCfg has limits
           >if limits is same -> we are all good, no warning.
           >if limits is different -> we warn user we used cfg value.
    case 2: USD has default, ActuatorCfg no limits -> We warn user saying
    the USD defaults is used
    
    Note that his logging can apply to all other joint attributes where
    there could be USD-ArticulationCfg conflicts, not limited to
    `velocity_limit_si,` or `effort_limit_sim` -> such as : stiffness,
    damping, armature .....
    
     Note this section is also documented in articulation.rst
    This PR added actuator discrepancy logging into the
    :class:`ActuatorBase`.
    
    <!-- As you go through the list, delete the ones that are not
    applicable. -->
    
    - Bug fix (non-breaking change which fixes an issue)
    - This change requires a documentation update
    
    Please attach before and after screenshots of the change if applicable.
    
    <!--
    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.
    -->
    
    - [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
    - [ ] 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
    -->
    
    ---------
    Co-authored-by: 's avatarKelly Guo <kellyg@nvidia.com>
    c907fa6c
Name
Last commit
Last update
..
_redirect Loading commit data...
_templates Loading commit data...
licenses Loading commit data...
source Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
conf.py Loading commit data...
index.rst Loading commit data...
make.bat Loading commit data...
requirements.txt Loading commit data...