Updates docstring clarifications for joint modeling in 4.5 vs 5.0#3869
Conversation
There was a problem hiding this comment.
Greptile Overview
Greptile Summary
This PR adds documentation clarifications to highlight a breaking change in joint friction modeling between Isaac Sim 4.5 and 5.0+. In version 4.5, friction parameters (friction, dynamic_friction, and their corresponding coefficients in ArticulationData) were dimensionless coefficients, whereas in version 5.0+, they represent effort values (torque or force). The changes are exclusively documentation additions to docstrings in the actuator configuration and articulation data classes, along with a corresponding version bump to 0.47.4 and changelog entry. These notes help users understand how friction parameter values should be interpreted when working across different Isaac Sim versions, preventing potential simulation behavior issues when migrating or maintaining code that spans both versions.
Important Files Changed
| Filename | Score | Overview |
|---|---|---|
| source/isaaclab/config/extension.toml | 5/5 | Version bump from 0.47.3 to 0.47.4 to track this documentation update |
| source/isaaclab/docs/CHANGELOG.rst | 5/5 | Added version 0.47.4 entry documenting friction coefficient modeling clarifications |
| source/isaaclab/isaaclab/actuators/actuator_cfg.py | 5/5 | Added docstring notes for friction and dynamic_friction parameters explaining coefficient vs effort modeling |
| source/isaaclab/isaaclab/assets/articulation/articulation_data.py | 5/5 | Added docstring notes for all joint friction properties explaining the modeling difference across versions |
Confidence score: 5/5
- This is a documentation-only PR with no code changes, making it extremely safe to merge with no risk to production functionality
- The changes are accurate, well-placed, and address an important version compatibility concern that could confuse users
- No files require special attention - all documentation additions are clear and consistent
Sequence Diagram
sequenceDiagram
participant User
participant Documentation
participant ActuatorConfig
participant ArticulationData
User->>Documentation: "Read about joint friction modeling"
Documentation-->>User: "Note: Isaac Sim 4.5 uses coefficient, 5.0+ uses effort"
User->>ActuatorConfig: "Configure actuator friction parameter"
Note over ActuatorConfig: friction: dict[str, float] | float | None
ActuatorConfig-->>User: "Friction coefficient value"
User->>ArticulationData: "Access joint_friction_coeff property"
Note over ArticulationData: Shape: (num_instances, num_joints)
ArticulationData-->>User: "Returns friction coefficient from simulation"
Note over Documentation,ArticulationData: Docstrings clarify modeling differences<br/>between Isaac Sim versions
4 files reviewed, 2 comments
| Note: In Isaac Sim 4.5, this parameter is modeled as a coefficient. In Isaac Sim 5.0 and later, | ||
| it is modeled as an effort (torque or force). |
There was a problem hiding this comment.
style: The note format differs from the existing friction docstring structure. The main description already ends with 'If None...' so this note should likely be integrated into the existing docstring using a formal reStructuredText admonition block like .. note:: for consistency with other documentation in this file.
| Note: In Isaac Sim 4.5, this parameter is modeled as a coefficient. In Isaac Sim 5.0 and later, | ||
| it is modeled as an effort (torque or force). |
There was a problem hiding this comment.
style: Missing detailed description similar to the friction parameter. Should explain what dynamic friction coefficient represents and how it behaves in the physics engine before the version note.
There was a problem hiding this comment.
Greptile Overview
Greptile Summary
This PR adds important clarification notes to docstrings explaining that joint friction parameters (friction and dynamic_friction) are modeled differently between Isaac Sim versions: as coefficients in version 4.5, and as efforts (torque or force) in version 5.0 and later.
Changes Made
- actuator_cfg.py: Added version-specific modeling notes to
frictionanddynamic_frictionparameter docstrings inActuatorBaseCfg - articulation_data.py: Added the same clarifying notes to six friction-related attributes (three default attributes and three active attributes)
- CHANGELOG.rst: Documented the change in version 0.47.5
- extension.toml: Version bump to 0.47.5
Consistency with Codebase
The notes align with existing implementation in articulation.py:834-857 which already documents this version difference in detail, showing that Isaac Sim 5.0+ uses a more sophisticated friction model combining static, dynamic, and viscous components.
Confidence Score: 5/5
- This PR is safe to merge with no risk - it only adds clarifying documentation
- Documentation-only change that adds important clarifications about version-specific behavior. The notes are accurate based on the existing implementation code. No functional code changes, no risk of runtime errors or breaking changes.
- No files require special attention
Important Files Changed
File Analysis
| Filename | Score | Overview |
|---|---|---|
| source/isaaclab/isaaclab/actuators/actuator_cfg.py | 5/5 | Added clarifying notes about friction modeling differences between Isaac Sim 4.5 and 5.0 for friction and dynamic_friction parameters |
| source/isaaclab/isaaclab/assets/articulation/articulation_data.py | 5/5 | Added clarifying notes about friction modeling differences for default and active friction coefficient attributes |
Sequence Diagram
sequenceDiagram
participant User
participant ActuatorCfg as ActuatorBaseCfg
participant Articulation
participant ArticulationData
participant PhysX as PhysX Engine
User->>ActuatorCfg: Configure friction parameters<br/>(friction, dynamic_friction, viscous_friction)
Note over ActuatorCfg: Docstrings clarify:<br/>4.5: coefficient<br/>5.0+: effort (torque/force)
ActuatorCfg->>Articulation: Initialize with friction config
Articulation->>ArticulationData: Set default_joint_friction_coeff
Articulation->>ArticulationData: Set default_joint_dynamic_friction_coeff
Note over ArticulationData: Docstrings clarify:<br/>4.5: coefficient<br/>5.0+: effort (torque/force)
Articulation->>ArticulationData: Copy to joint_friction_coeff
Articulation->>ArticulationData: Copy to joint_dynamic_friction_coeff
Note over ArticulationData: Docstrings clarify:<br/>4.5: coefficient<br/>5.0+: effort (torque/force)
Articulation->>PhysX: Write friction coefficients
alt Isaac Sim < 5.0
Articulation->>PhysX: set_dof_friction_coefficients(static only)
Note over PhysX: Uses coefficient model
else Isaac Sim >= 5.0
Articulation->>PhysX: set_dof_friction_coefficients(static)
Articulation->>PhysX: set_dof_dynamic_friction_coefficients(dynamic)
Articulation->>PhysX: set_dof_viscous_friction_coefficients(viscous)
Note over PhysX: Uses effort model (torque/force)
end
4 files reviewed, no comments
…aac-sim#3869) <!-- Thank you for your interest in sending a pull request. Please make sure to check the contribution guidelines. Link: https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html 💡 Please try to keep PRs small and focused. Large PRs are harder to review and merge. --> Add docstring clarifications for joint modeling in 4.5 vs 5.0 Replaces this MR - isaac-sim#3461 <!-- 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. --> <!-- As you go through the list, delete the ones that are not applicable. --> - 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. --> - [ ] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] 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 <!-- 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 -->
…aac-sim#3869) # Description <!-- Thank you for your interest in sending a pull request. Please make sure to check the contribution guidelines. Link: https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html 💡 Please try to keep PRs small and focused. Large PRs are harder to review and merge. --> Add docstring clarifications for joint modeling in 4.5 vs 5.0 Replaces this MR - isaac-sim#3461 <!-- 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. --> - 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 - [ ] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] 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 <!-- 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 -->
…aac-sim#3869) # Description <!-- Thank you for your interest in sending a pull request. Please make sure to check the contribution guidelines. Link: https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html 💡 Please try to keep PRs small and focused. Large PRs are harder to review and merge. --> Add docstring clarifications for joint modeling in 4.5 vs 5.0 Replaces this MR - isaac-sim#3461 <!-- 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. --> - 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 - [ ] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] 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 <!-- 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 -->
Description
Add docstring clarifications for joint modeling in 4.5 vs 5.0
Replaces this MR - #3461
Type of change
Screenshots
Please attach before and after screenshots of the change if applicable.
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there