Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Added
^^^^^

* Added a manager-based counterpart for the state-based Shadow Hand
reorientation environment.
* Added manager-based counterparts for the Shadow Hand OpenAI feed-forward and
recurrent reorientation environments.
* Added an RSL-RL LSTM training configuration for the Shadow Hand OpenAI
reorientation environment.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,18 @@

reorient_direct_entry = "isaaclab_tasks.core.reorient.reorient_direct_env:ReorientDirectEnv"

gym.register(
id="Isaac-Reorient-Cube-Shadow",
entry_point="isaaclab.envs:ManagerBasedRLEnv",
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": f"{__name__}.shadow_hand_manager_env_cfg:ShadowHandManagerEnvCfg",
"rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_cfg.yaml",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:ShadowHandPPORunnerCfg",
"skrl_cfg_entry_point": f"{agents.__name__}:skrl_ppo_cfg.yaml",
},
)

gym.register(
id="Isaac-Reorient-Cube-Shadow-Direct",
entry_point=reorient_direct_entry,
Expand All @@ -29,6 +41,29 @@
},
)

gym.register(
id="Isaac-Reorient-Cube-Shadow-OpenAI-FF",
entry_point="isaaclab.envs:ManagerBasedRLEnv",
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": f"{__name__}.shadow_hand_manager_env_cfg:ShadowHandOpenAIManagerEnvCfg",
"rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_ff_cfg.yaml",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:ShadowHandAsymFFPPORunnerCfg",
"skrl_cfg_entry_point": f"{agents.__name__}:skrl_ff_ppo_cfg.yaml",
},
)

gym.register(
id="Isaac-Reorient-Cube-Shadow-OpenAI-LSTM",
entry_point="isaaclab.envs:ManagerBasedRLEnv",
disable_env_checker=True,
kwargs={
"env_cfg_entry_point": f"{__name__}.shadow_hand_manager_env_cfg:ShadowHandOpenAIManagerEnvCfg",
"rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_lstm_cfg.yaml",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:ShadowHandAsymLSTMPPORunnerCfg",
},
)

gym.register(
id="Isaac-Reorient-Cube-Shadow-OpenAI-FF-Direct",
entry_point=reorient_direct_entry,
Expand All @@ -48,6 +83,7 @@
kwargs={
"env_cfg_entry_point": f"{__name__}.shadow_hand_env_cfg:ShadowHandOpenAIEnvCfg",
"rl_games_cfg_entry_point": f"{agents.__name__}:rl_games_ppo_lstm_cfg.yaml",
"rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:ShadowHandAsymLSTMPPORunnerCfg",
},
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from isaaclab.utils.configclass import configclass

from isaaclab_rl.rsl_rl import RslRlMLPModelCfg, RslRlOnPolicyRunnerCfg, RslRlPpoAlgorithmCfg
from isaaclab_rl.rsl_rl import RslRlMLPModelCfg, RslRlOnPolicyRunnerCfg, RslRlPpoAlgorithmCfg, RslRlRNNModelCfg


@configclass
Expand Down Expand Up @@ -47,6 +47,7 @@ class ShadowHandAsymFFPPORunnerCfg(RslRlOnPolicyRunnerCfg):
max_iterations = 10000
save_interval = 250
experiment_name = "shadow_hand_openai_ff"
obs_groups = {"actor": ["policy"], "critic": ["critic"]}
actor = RslRlMLPModelCfg(
hidden_dims=[400, 400, 200, 100],
activation="elu",
Expand Down Expand Up @@ -74,12 +75,37 @@ class ShadowHandAsymFFPPORunnerCfg(RslRlOnPolicyRunnerCfg):
)


@configclass
class ShadowHandAsymLSTMPPORunnerCfg(ShadowHandAsymFFPPORunnerCfg):
"""RSL-RL recurrent policy configuration for the asymmetric OpenAI observations."""

experiment_name = "shadow_hand_openai_lstm"
actor = RslRlRNNModelCfg(
hidden_dims=[400, 400, 200, 100],
activation="elu",
obs_normalization=True,
distribution_cfg=RslRlMLPModelCfg.GaussianDistributionCfg(init_std=1.0),
rnn_type="lstm",
rnn_hidden_dim=256,
rnn_num_layers=1,
)
critic = RslRlRNNModelCfg(
hidden_dims=[512, 512, 256, 128],
activation="elu",
obs_normalization=True,
rnn_type="lstm",
rnn_hidden_dim=256,
rnn_num_layers=1,
)


@configclass
class ShadowHandCameraFFPPORunnerCfg(RslRlOnPolicyRunnerCfg):
num_steps_per_env = 64
max_iterations = 50000
save_interval = 250
experiment_name = "shadow_hand_camera"
obs_groups = {"actor": ["policy"], "critic": ["critic"]}
actor = RslRlMLPModelCfg(
hidden_dims=[1024, 512, 512, 256, 128],
activation="elu",
Expand Down
Loading
Loading