Skip to content

feat(retargeters): add SO-101 5-DOF arm retargeters#651

Open
jiwenc-nv wants to merge 1 commit into
NVIDIA:mainfrom
jiwenc-nv:jiwenc/so101-retargeters
Open

feat(retargeters): add SO-101 5-DOF arm retargeters#651
jiwenc-nv wants to merge 1 commit into
NVIDIA:mainfrom
jiwenc-nv:jiwenc/so101-retargeters

Conversation

@jiwenc-nv

@jiwenc-nv jiwenc-nv commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Add a SO101 retargeter package for the SO-101 5-DOF arm under position-only task-space IK, alongside the existing G1 set:

  • SO101ClutchRetargeter: absolute EE pose with clutch-style rebasing around an origin captured on engage (no teleport on Play), rotating the world-frame controller delta into the seated base frame and optionally latching the live end-effector pose as home.
  • SO101RollRetargeter: recovers the controller's roll as a dedicated wrist_roll channel via swing-twist decomposition about world Z.
  • SO101GripperRetargeter: proportional (analog) jaw closedness in [0, 1] from the controller trigger, with a released-end deadzone.

The three classes are lazy-loaded from isaacteleop.retargeters. Add sim-free unit tests (trigger/roll/clutch math plus per-frame compute behavior) and a retargeting reference doc.

Summary by CodeRabbit

  • New Features

    • Added three SO-101 retargeters for XR teleop applications: clutch-based position control with rebasing, wrist roll recovery, and proportional gripper control with analog trigger deadzone mapping
  • Documentation

    • Added SO-101 retargeting guide including component descriptions, frame conversions, and Python example for pipeline configuration
  • Tests

    • Added unit test suite validating SO-101 retargeter behavior

@jiwenc-nv jiwenc-nv requested a review from rwiltz June 9, 2026 06:43
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

📝 Docs preview is not auto-deployed for fork PRs.

A maintainer with write access to NVIDIA/IsaacTeleop can deploy a preview by
commenting /preview-docs on this PR. Once deployed, the preview
will live at:

https://nvidia.github.io/IsaacTeleop/preview/pr-651/

@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: dedab8f8-3b88-4007-a840-c5529270b4b2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This pull request introduces a complete SO-101 5-DOF arm retargeting system for XR teleoperation. It adds three complementary retargeters—SO101GripperRetargeter (analog trigger-to-closedness mapping), SO101RollRetargeter (quaternion swing-twist wrist roll extraction), and SO101ClutchRetargeter (clutch-rebased end-effector pose control with frame conversion)—along with comprehensive unit tests covering pure math helpers and end-to-end behavior. Documentation explains the position-only IK constraints, frame relationships, and usage patterns. Build configuration and package exports make the new retargeters available for pipeline wiring.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(retargeters): add SO-101 5-DOF arm retargeters' accurately and directly describes the main change: adding three new retargeter classes for the SO-101 arm to the retargeters module.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

📝 Docs preview is not auto-deployed for fork PRs.

A maintainer with write access to NVIDIA/IsaacTeleop can deploy a preview by
commenting /preview-docs on this PR. Once deployed, the preview
will live at:

https://nvidia.github.io/IsaacTeleop/preview/pr-651/

@jiwenc-nv jiwenc-nv force-pushed the jiwenc/so101-retargeters branch 4 times, most recently from 8fc9f70 to 530062c Compare June 11, 2026 07:23
Add the SO-101 retargeters used by the cube-stack IK-Abs teleop pipeline:

- SO101ClutchRetargeter: clutch-rebased absolute end-effector pose,
  seeded from a configured reset-origin home so engaging does not move
  the arm and a mid-task re-clutch resumes from the last commanded pose.
- SO101WristRetargeter: emits an engage-relative wrist roll (swing-twist
  about the controller's local Z axis) and an absolute world-elevation
  wrist pitch taken from the controller's AIM (pointer-ray) pose. Keeps a
  back-compat SO101RollRetargeter alias.
- SO101GripperRetargeter: analog trigger mapped to a jaw closedness in
  [0, 1] (released-end deadzone, then rescale and clamp).

Register the retargeters in the lazy-import registry and add sim-free
unit tests covering the swing-twist math, clutch rebasing, pitch
elevation and the gripper mapping.
@jiwenc-nv jiwenc-nv force-pushed the jiwenc/so101-retargeters branch from 530062c to 7231563 Compare June 11, 2026 08:42
@jiwenc-nv

Copy link
Copy Markdown
Collaborator Author

/preview-docs

@github-actions

Copy link
Copy Markdown
Contributor

✅ Preview deployed: https://NVIDIA.github.io/IsaacTeleop/preview/pr-651/

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.

1 participant