• Özhan Özen's avatar
    Adds null-space control option within `OperationSpaceController` (#1557) · 71df8680
    Özhan Özen authored
    # 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
    
    - [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: 's avatarÖzhan Özen <41010165+ozhanozen@users.noreply.github.com>
    Co-authored-by: 's avatarKelly Guo <kellyguo123@hotmail.com>
    71df8680
Name
Last commit
Last update
..
benchmarks Loading commit data...
demos Loading commit data...
environments Loading commit data...
tools Loading commit data...
tutorials Loading commit data...
workflows Loading commit data...