Skip to content

Conversation

@ozhanozen
Copy link
Contributor

@ozhanozen ozhanozen commented Dec 17, 2024

Description

This PR adds an option to enable null-space control within OperationSpaceController (following the discussions in #913).

Details

Currently, OperationSpaceController controls only the task space, which results in joint movements within the null-space of redundant robotic manipulators. In general, it is desirable to have some control over the robot null-space, e.g., to prevent the joints from going near their limits. Hence, the PR adds the following:

  • An optional nullspace (position) control integrated into OperationSpaceController. This controller attracts the robot joints to provided targets whereas possible, in parallel to the task-space target.
  • Test cases for OperationSpaceController that use null-space control.
  • Updates to the related tutorial script and documentation to use and describe null-space control.
  • Integration of (optional) null-space control to OperationSpaceControllerAction with predefined joint targets, e.g., default joint positions, joint centers, zero joint position.
  • Integration of null-space control to "Isaac-Reach-Franka-OSC-v0" manager-based environment.

Null-space control utilizes either the dynamically consistent Jacobian inverse or the Moore–Penrose inverse, depending on whether the full inertia matrix is available.

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Checklist

  • 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

@ozhanozen ozhanozen changed the title Adds null-space control option within OperationSpaceController Adds null-space control option within OperationSpaceController Dec 17, 2024
Co-authored-by: Kelly Guo <[email protected]>
Signed-off-by: Özhan Özen <[email protected]>
@kellyguo11 kellyguo11 merged commit 71df868 into isaac-sim:main Dec 18, 2024
4 of 5 checks passed
@ozhanozen ozhanozen deleted the feature/osc-nullspace branch December 18, 2024 15:15
SevenFo pushed a commit to SevenFo/IsaacLab that referenced this pull request May 19, 2025
…ac-sim#1557)

# Description

This PR adds an option to enable null-space control within
`OperationSpaceController` (following the discussions in isaac-sim#913).

## Details

Currently, `OperationSpaceController` controls only the task space,
which results in joint movements within the null-space of redundant
robotic manipulators. In general, it is desirable to have some control
over the robot null-space, e.g., to prevent the joints from going near
their limits. Hence, the PR adds the following:

- An optional nullspace (position) control integrated into
`OperationSpaceController`. This controller attracts the robot joints to
provided targets whereas possible, in parallel to the task-space target.
- Test cases for `OperationSpaceController` that use null-space control.
- Updates to the related tutorial script and documentation to use and
describe null-space control.
- Integration of (optional) null-space control to
`OperationSpaceControllerAction` with predefined joint targets, e.g.,
default joint positions, joint centers, zero joint position.
- Integration of null-space control to `"Isaac-Reach-Franka-OSC-v0"`
manager-based environment.

Null-space control utilizes either the dynamically consistent Jacobian
inverse or the Moore–Penrose inverse, depending on whether the full
inertia matrix is available.

## Type of change

- New feature (non-breaking change which adds functionality)
- This change requires a documentation update

## 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
- [x] 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

---------

Signed-off-by: Özhan Özen <[email protected]>
Co-authored-by: Kelly Guo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants