• 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
..
add_own_library.rst Loading commit data...
cloudxr_teleoperation.rst Loading commit data...
configure_rendering.rst Loading commit data...
curriculums.rst Loading commit data...
draw_markers.rst Loading commit data...
estimate_how_many_cameras_can_run.rst Loading commit data...
import_new_asset.rst Loading commit data...
index.rst Loading commit data...
make_fixed_prim.rst Loading commit data...
master_omniverse.rst Loading commit data...
multi_asset_spawning.rst Loading commit data...
optimize_stage_creation.rst Loading commit data...
record_animation.rst Loading commit data...
record_video.rst Loading commit data...
save_camera_output.rst Loading commit data...
simulation_performance.rst Loading commit data...
wrap_rl_env.rst Loading commit data...
write_articulation_cfg.rst Loading commit data...