-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Adds teleop support for Unitree G1 with Inspire 5-finger hand, take PickPlace task as an example #3242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Adds teleop support for Unitree G1 with Inspire 5-finger hand, take PickPlace task as an example #3242
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rwiltz @peterd-NV - would be great to get your review on the retargeting and pick-place task changes
# | ||
# SPDX-License-Identifier: BSD-3-Clause | ||
|
||
# Copyright (c) 2022-2025, The Isaac Lab Project Developers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you clean up the headers to keep just the first section?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, will update in the next commit along with the correct USD asset location.
""" | ||
G1_INSPIRE_FTP_CFG = ArticulationCfg( | ||
spawn=sim_utils.UsdFileCfg( | ||
usd_path=f"./usecase/humanoid_teleop/g1_29dof_rev_1_0_with_inspire_hand_FTP/g1_29dof_rev_1_0_with_inspire_hand_retarget_inspire_white.usd", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should get this USD uploaded to the Isaac Sim nucleus folder so that we can make it available publicly on the S3 bucket
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how different is this asset from the existing G1 on S3?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The USD file and corresponding URDF files(left hand and right hand) for dex retargeting configuration have been uploaded to temp position Collected_g1_29dof
I am confirming with @renato Gasoto regarding the correct destination and access permissions.
This G1_29dof asset is different from the existing G1 on S3 in the following ways:
- Number of DOFs: The current G1 on S3 has 23 DOFs, while the new version has 29 DOFs.
- Composited asset: The new asset integrates the 5-finger Inspire hand, and both the robot/hand asset and merging code are provided below.
"""
Configuration for the Unitree G1 Humanoid robot with Inspire 5fingers hand.
The Unitree G1 URDF can be found here: https://github.com/unitreerobotics/unitree_ros/tree/master/robots/g1_description/g1_29dof_with_hand_rev_1_0.urdf
The Inspire hand URDF is available at: https://github.com/unitreerobotics/xr_teleoperate/tree/main/assets/inspire_hand
The merging code for the hand and robot can be found here: https://github.com/unitreerobotics/unitree_ros/blob/master/robots/g1_description/merge_g1_29dof_and_inspire_hand.ipynb,
Necessary modifications should be made to ensure the correct parent–child relationship.
"""
Note: There is a related PR3150, which includes modifications to some common files. Once PR3150 is merged, I can rebase my code to avoid any duplication. Thanks.
Signed-off-by: yami007007 <weihuaz@nvidia.com>
Description
Teleop support for Unitree G1 with Inspire 5-finger hand, take PickPlace task as an example.
Type of change
Changes:
-Preparation of the humanoid robot asset: Unitree G1 (29 DOF) with Inspire 5-finger hand
-Configuration of the robot’s articulation
-Retargeting setup for the humanoid robot
-Creation of the manipulation task environment: pickplace_unitree_g1_inspire_hand_env_cfg.py
-Addition of the step-by-step README in the pick_place folder
Below is a diagram showing the robot asset and the workflow in teleop.

Test Steps
Run the teleop task with:
python scripts/tools/record_demos.py
--task Isaac-PickPlace-G1-InspireFTP-Abs-v0
--teleop_device handtracking
--enable_pinocchio
Replay the collected demos with:
python scripts/tools/replay_demos.py
--task Isaac-PickPlace-G1-InspireFTP-Abs-v0
--enable_pinocchio
--dataset_file datasets/dataset.hdf5
Screenshots
Please attach before and after screenshots of the change if applicable.

Checklist
pre-commit
checks with./isaaclab.sh --format
config/extension.toml
fileCONTRIBUTORS.md
or my name already exists there