Skip to content

Updates docstring clarifications for joint modeling in 4.5 vs 5.0#3869

Merged
kellyguo11 merged 2 commits into
isaac-sim:mainfrom
matthewtrepte:mtrepte/joint_name_docstrings
Oct 31, 2025
Merged

Updates docstring clarifications for joint modeling in 4.5 vs 5.0#3869
kellyguo11 merged 2 commits into
isaac-sim:mainfrom
matthewtrepte:mtrepte/joint_name_docstrings

Conversation

@matthewtrepte

Copy link
Copy Markdown
Contributor

Description

Add docstring clarifications for joint modeling in 4.5 vs 5.0

Replaces this MR - #3461

Type of change

  • Documentation update

Screenshots

Please attach before and after screenshots of the change if applicable.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks 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

@github-actions github-actions Bot added the isaac-lab Related to Isaac Lab team label Oct 29, 2025

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Loading

4 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Comment on lines +157 to +158
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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +164 to +165
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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@kellyguo11 kellyguo11 changed the title add docstring clarifications for joint modeling in 4.5 vs 5.0 Updates docstring clarifications for joint modeling in 4.5 vs 5.0 Oct 29, 2025

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 friction and dynamic_friction parameter docstrings in ActuatorBaseCfg
  • 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
Loading

4 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@kellyguo11 kellyguo11 merged commit 90af2be into isaac-sim:main Oct 31, 2025
8 of 9 checks passed
gattra-rai pushed a commit to gattra-rai/IsaacLab that referenced this pull request Nov 17, 2025
…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
-->
koghalai123 pushed a commit to koghalai123/IsaacLab that referenced this pull request Dec 7, 2025
…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
-->
Edify0991 pushed a commit to Edify0991/IsaacLab that referenced this pull request Jan 14, 2026
…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
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants