Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
0155773
cable insertion training
curiep Apr 29, 2026
da666c7
Fix cable-insertion grasp by aligning fingertips with plug mesh
curiep May 1, 2026
f6a6b55
Align cable-insertion ROS inference cfg with Hubble Lab Rizon mount
curiep May 1, 2026
3c84676
Add USD inspection and flattening tools for plug/socket assets
curiep May 1, 2026
31d4fe6
Register rsl_rl agent on gear-assembly PLAY tasks
curiep May 1, 2026
bff098c
Fixes as per Iretis codebase as reference.
shauryadNv May 1, 2026
5145ab2
Fixed plug grasp issues.
shauryadNv May 5, 2026
d004117
Fixed sim rendering settings.
shauryadNv May 5, 2026
df3d1b2
Env fixes as per working version like moving to task space, param val…
shauryadNv May 6, 2026
b6297f7
Reduced plug randomization.
shauryadNv May 6, 2026
c6f60ba
Adding scripts, env and assets for displayport asset checking.
shauryadNv May 29, 2026
ecb8378
Env for displayport cable insertion and required fixes in asset loading.
shauryadNv Jun 8, 2026
972fa1e
Minor fixes.
shauryadNv Jun 8, 2026
c8f2d7c
Viewer fix.
shauryadNv Jun 8, 2026
d0a7eac
Add simready USD assets for DisplayPort plug and socket
shauryadNv Jun 8, 2026
8ae2f98
Changed from wall mount to table-top mount.
shauryadNv Jun 9, 2026
3eeeedb
Added fixed assets and removed custom load-time fixes.
shauryadNv Jun 11, 2026
b401862
Fixed socket asset by re-enabling missing parts.
shauryadNv Jun 11, 2026
3cb1c80
New fixed assets and reduced contact offset for better behavior.
shauryadNv Jun 11, 2026
79e355e
Updated training env to use new assets.
shauryadNv Jun 11, 2026
c52ea1c
Adding SDF assets and using that in training env.
shauryadNv Jun 17, 2026
f8826d9
Debug scripts.
shauryadNv Jun 22, 2026
0f08392
Fixed plug SDF asset and env setup and added robot insertion test.
shauryadNv Jun 23, 2026
6b0d4bb
Fixed plug and socket SDF assets.
shauryadNv Jun 23, 2026
7873866
Fixed socket sdf asset (removed body4/inner walls) and updated env.
shauryadNv Jun 24, 2026
6ca8a96
Fixed env setup.
shauryadNv Jun 24, 2026
8597c09
Increased socket pose randomization.
shauryadNv Jun 24, 2026
0b50c99
Socket rotation randomization (2 deg).
shauryadNv Jun 24, 2026
2d88535
Reverted to prev env setup and removed rot randomization in socket.
shauryadNv Jun 24, 2026
8e0db5e
Adding socket rot randomization and moving to new socket setup.
shauryadNv Jun 25, 2026
291ad77
Increased socket z randomization to 2 cm.
shauryadNv Jun 25, 2026
a25a527
Removed socket rot rand.
shauryadNv Jun 25, 2026
7f59b60
Decreased socket z rand to 1cm.
shauryadNv Jun 25, 2026
a09281b
Fixed task space env setup to vertical mount.
shauryadNv Jun 29, 2026
1e41830
Fixed task space env to use TCP pose instead of flange.
shauryadNv Jun 29, 2026
24ee8dd
Adding socket rot randomization in taskspace env.
shauryadNv Jun 30, 2026
3c30047
Increased socket z randomization to 2 cm in taskspace.
shauryadNv Jun 30, 2026
499280c
Removed socket rot rand from taskspace.
shauryadNv Jun 30, 2026
ad60264
Enabled curriculum training for task space.
shauryadNv Jun 30, 2026
453fd1c
Added no joint vel variant for joint space policy.
shauryadNv Jun 30, 2026
00074f5
2cm for z and 2 deg rot for socket randomization.
shauryadNv Jun 30, 2026
ad6acf8
Removed socket rot rand from taskspace.
shauryadNv Jul 1, 2026
c5029c0
Added success rate logging.
shauryadNv Jul 1, 2026
915da0c
Fixed taskspace movement issue.
shauryadNv Jul 2, 2026
3e1720e
Removed socket rot rand from taskspace.
shauryadNv Jul 2, 2026
066e604
Disabled curriculum training.
shauryadNv Jul 2, 2026
79a15eb
Sysid based changes.
shauryadNv Jul 2, 2026
d3e7b2c
Adding socket rot randomization in joint space env.
shauryadNv Jul 2, 2026
7583544
Fixed sysid integration issues.
shauryadNv Jul 2, 2026
2fe92e6
Removed socket rot rand from jointspace.
shauryadNv Jul 2, 2026
ba2d759
Added curriculum support for joint space setup.
shauryadNv Jul 2, 2026
a4ce8cd
Added rotation rand in socket for joint space.
shauryadNv Jul 2, 2026
1774b73
Disabled sysid changes in jointspace.
shauryadNv Jul 2, 2026
66af434
Removed socket rot rand from jointspace.
shauryadNv Jul 2, 2026
3dade3d
Added rot rand and disabled curriculum training.
shauryadNv Jul 6, 2026
4ca15d2
Fixed curriculum training scheduling.
shauryadNv Jul 6, 2026
ef132f2
Relocate DisplayPort cable_insertion under contrib/deploy after upstr…
shauryadNv Jul 7, 2026
6da4b45
Prune DP cable insertion branch to training/inference essentials.
shauryadNv Jul 7, 2026
2765083
Formatting fixes.
shauryadNv Jul 7, 2026
afab7dd
Cleaned up comments, changes as per latest working policy setup.
shauryadNv Jul 16, 2026
bcde7e8
Formatting fixes.
shauryadNv Jul 16, 2026
5b28b68
Added documentation for dp cable insertion training.
shauryadNv Jul 17, 2026
ed7512d
Add Flexiv command shaping to DisplayPort env
ashwinvkNV Jul 20, 2026
9491cc7
Fix DisplayPort PPO configclass import
ashwinvkNV Jul 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions docs/source/policy_deployment/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Below, you'll find detailed examples of various policies for training and deploy

01_io_descriptors/io_descriptors_101
02_gear_assembly/gear_assembly_policy
06_displayport_insertion/displayport_insertion_policy
03_compass_with_NuRec/compass_navigation_policy_with_NuRec
04_reach/reach_policy
05_leapp/exporting_policies_with_leapp
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,7 @@

The deploy module includes:
- Reach environments for end-effector pose tracking
- Gear assembly environments for multi-gear insertion tasks
- Cable insertion environments for DisplayPort plug insertion tasks

"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

"""DisplayPort cable insertion environments."""
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

"""Configurations for arm-based cable insertion environments."""
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

import gymnasium as gym

from . import agents

_INSERTION_ENV_ENTRY = (
"isaaclab_tasks.contrib.deploy.cable_insertion.insertion_env:DisplayportInsertionEnv"
)

##
# Register Gym environments.
##

# Flexiv Rizon 4s - Joint space
gym.register(
id="Isaac-Deploy-DisplayportInsertion-Rizon4s-Grav-v0",
entry_point=_INSERTION_ENV_ENTRY,
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": f"{__name__}.joint_pos_env_cfg:Rizon4sGravDisplayportInsertionEnvCfg",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:Rizon4sGravDisplayportInsertionRNNPPORunnerCfg",
},
)

# Flexiv Rizon 4s - Joint space Play
gym.register(
id="Isaac-Deploy-DisplayportInsertion-Rizon4s-Grav-Play-v0",
entry_point=_INSERTION_ENV_ENTRY,
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": f"{__name__}.joint_pos_env_cfg:Rizon4sGravDisplayportInsertionEnvCfg_PLAY",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:Rizon4sGravDisplayportInsertionRNNPPORunnerCfg",
},
)

# Flexiv Rizon 4s - Joint space without joint velocity
gym.register(
id="Isaac-Deploy-DisplayportInsertion-Rizon4s-Grav-NoJointVel-v0",
entry_point=_INSERTION_ENV_ENTRY,
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": f"{__name__}.joint_pos_env_cfg:Rizon4sGravDisplayportInsertionNoJointVelEnvCfg",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:Rizon4sGravDisplayportInsertionRNNPPORunnerCfg",
},
)

# Flexiv Rizon 4s - Joint space without joint velocity Play
gym.register(
id="Isaac-Deploy-DisplayportInsertion-Rizon4s-Grav-NoJointVel-Play-v0",
entry_point=_INSERTION_ENV_ENTRY,
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": f"{__name__}.joint_pos_env_cfg:Rizon4sGravDisplayportInsertionNoJointVelEnvCfg_PLAY",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:Rizon4sGravDisplayportInsertionRNNPPORunnerCfg",
},
)

# Flexiv Rizon 4s - Joint space ROS Inference without joint velocity
gym.register(
id="Isaac-Deploy-DisplayportInsertion-Rizon4s-Grav-NoJointVel-ROS-Inference-v0",
entry_point=_INSERTION_ENV_ENTRY,
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": (
f"{__name__}.ros_inference_env_cfg:Rizon4sGravDisplayportInsertionNoJointVelROSInferenceEnvCfg"
),
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:Rizon4sGravDisplayportInsertionRNNPPORunnerCfg",
},
)

# Flexiv Rizon 4s - Joint space ROS Inference
gym.register(
id="Isaac-Deploy-DisplayportInsertion-Rizon4s-Grav-ROS-Inference-v0",
entry_point=_INSERTION_ENV_ENTRY,
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": f"{__name__}.ros_inference_env_cfg:Rizon4sGravDisplayportInsertionROSInferenceEnvCfg",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:Rizon4sGravDisplayportInsertionRNNPPORunnerCfg",
},
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

"""Package containing agent configurations for RL with Rizon 4s for DisplayPort insertion."""
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause

from isaaclab.utils.configclass import configclass

from isaaclab_rl.rsl_rl import RslRlOnPolicyRunnerCfg, RslRlPpoActorCriticRecurrentCfg, RslRlPpoAlgorithmCfg


@configclass
class Rizon4sGravDisplayportInsertionRNNPPORunnerCfg(RslRlOnPolicyRunnerCfg):
num_steps_per_env = 512
max_iterations = 1500
save_interval = 50
experiment_name = "displayport_insertion_rizon4s"
clip_actions = 1.0
resume = False
obs_groups = {
"policy": ["policy"],
"critic": ["critic"],
}
policy = RslRlPpoActorCriticRecurrentCfg(
state_dependent_std=True,
init_noise_std=1.0,
actor_obs_normalization=True,
critic_obs_normalization=True,
actor_hidden_dims=[256, 128, 64],
critic_hidden_dims=[256, 128, 64],
noise_std_type="log",
activation="elu",
rnn_type="lstm",
rnn_hidden_dim=256,
rnn_num_layers=2,
)
algorithm = RslRlPpoAlgorithmCfg(
value_loss_coef=1.0,
use_clipped_value_loss=True,
clip_param=0.2,
entropy_coef=0.0,
num_learning_epochs=8,
num_mini_batches=16,
learning_rate=5.0e-4,
schedule="adaptive",
gamma=0.99,
lam=0.95,
desired_kl=0.008,
max_grad_norm=1.0,
)
Loading
Loading