-
ooctipus authored
# Description As discussed by several earlier commit and issues #2135 #1654 #1384 #1509, there is a distinction between motor hardware velocity 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`. ## 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) - This change requires a documentation update ## Screenshots 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. --> ## 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 - [ ] 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:
Kelly Guo <kellyg@nvidia.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| __init__.py | ||
| actuator_base.py | ||
| actuator_cfg.py | ||
| actuator_net.py | ||
| actuator_pd.py |