• Ö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
..
run_diff_ik.rst Loading commit data...
run_osc.rst Loading commit data...