unilab.envs.manipulation.sharpa_inhand¶
- class unilab.envs.manipulation.sharpa_inhand.RewardConfig[source]¶
Bases:
objectRewardConfig(scales: ‘dict[str, float]’ = <factory>, angvel_clip_min: ‘float’ = -0.5, angvel_clip_max: ‘float’ = 0.5)
- class unilab.envs.manipulation.sharpa_inhand.SharpaInhandRotationCfg[source]¶
Bases:
SharpaInhandBaseCfgSharpaInhandRotationCfg(scene: ‘SceneCfg’ = <factory>, sim_dt: ‘float’ = 0.004166666666666667, max_episode_seconds: ‘float’ = 20.0, ctrl_dt: ‘float’ = 0.05, render_spacing: float = 1.0, render_offset_mode: str = ‘grid’, motrix_max_iterations: Optional[int] = None, post_step_forward_sensor: bool = False, action_space: ‘int’ = 22, observation_space: ‘int’ = 192, prop_hist_len: ‘int’ = 30, critic_info_dim: ‘int’ = 9, clip_obs: ‘float’ = 5.0, clip_actions: ‘float’ = 1.0, num_hand_dofs: ‘int’ = 22, frame_obs_dim: ‘int’ = 64, obs_lag_steps: ‘int’ = 3, obs_history_len: ‘int’ = 80, base_name: ‘str’ = ‘right_hand_C_MC’, object_body_name: ‘str’ = ‘object’, object_geom_name: ‘str’ = ‘object’, actuated_joint_names: ‘list[str]’ = <factory>, fingertip_body_names: ‘list[str]’ = <factory>, control_config: ‘SharpaControlConfig’ = <factory>, sensor: ‘SharpaSensorConfig’ = <factory>, obs: ‘SharpaObservationConfig’ = <factory>, priv_info: ‘SharpaPrivilegedInfoConfig’ = <factory>, domain_rand: ‘SharpaDomainRandConfig’ = <factory>, reset_height_lower: ‘float’ = 0.59906, reset_height_upper: ‘float’ = 0.63906, reset_angle_diff: ‘float’ = 0.7853981633974483, rot_axis: ‘tuple[float, float, float]’ = (0.0, 0.0, 1.0), grasp_cache_path: ‘str’ = ‘/home/admin1/ws/Eric/UniLab/src/unilab/assets/caches/sharpa_grasp_linspace’, disable_tactile_ids: ‘list[int]’ = <factory>, use_default_object_pose_for_object_pos_anchor: ‘bool’ = False, debug_show_axes: ‘bool’ = False, reward_config: ‘RewardConfig | None’ = None, zero_action_test_mode: ‘bool’ = False)
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)action_space (int)
observation_space (int)
prop_hist_len (int)
critic_info_dim (int)
clip_obs (float)
clip_actions (float)
num_hand_dofs (int)
frame_obs_dim (int)
obs_lag_steps (int)
obs_history_len (int)
base_name (str)
object_body_name (str)
object_geom_name (str)
actuated_joint_names (list[str])
fingertip_body_names (list[str])
control_config (SharpaControlConfig)
sensor (SharpaSensorConfig)
obs (SharpaObservationConfig)
priv_info (SharpaPrivilegedInfoConfig)
domain_rand (SharpaDomainRandConfig)
reset_height_lower (float)
reset_height_upper (float)
reset_angle_diff (float)
rot_axis (tuple[float, float, float])
grasp_cache_path (str)
disable_tactile_ids (list[int])
use_default_object_pose_for_object_pos_anchor (bool)
debug_show_axes (bool)
reward_config (RewardConfig | None)
zero_action_test_mode (bool)
- critic_info_dim: int = 9¶
- reward_config: RewardConfig | None = None¶
- zero_action_test_mode: bool = False¶
- __init__(scene=<factory>, sim_dt=0.004166666666666667, max_episode_seconds=20.0, ctrl_dt=0.05, render_spacing=1.0, render_offset_mode='grid', motrix_max_iterations=None, post_step_forward_sensor=False, action_space=22, observation_space=192, prop_hist_len=30, critic_info_dim=9, clip_obs=5.0, clip_actions=1.0, num_hand_dofs=22, frame_obs_dim=64, obs_lag_steps=3, obs_history_len=80, base_name='right_hand_C_MC', object_body_name='object', object_geom_name='object', actuated_joint_names=<factory>, fingertip_body_names=<factory>, control_config=<factory>, sensor=<factory>, obs=<factory>, priv_info=<factory>, domain_rand=<factory>, reset_height_lower=0.59906, reset_height_upper=0.63906, reset_angle_diff=0.7853981633974483, rot_axis=(0.0, 0.0, 1.0), grasp_cache_path='/home/admin1/ws/Eric/UniLab/src/unilab/assets/caches/sharpa_grasp_linspace', disable_tactile_ids=<factory>, use_default_object_pose_for_object_pos_anchor=False, debug_show_axes=False, reward_config=None, zero_action_test_mode=False)¶
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)action_space (int)
observation_space (int)
prop_hist_len (int)
critic_info_dim (int)
clip_obs (float)
clip_actions (float)
num_hand_dofs (int)
frame_obs_dim (int)
obs_lag_steps (int)
obs_history_len (int)
base_name (str)
object_body_name (str)
object_geom_name (str)
actuated_joint_names (list[str])
fingertip_body_names (list[str])
control_config (SharpaControlConfig)
sensor (SharpaSensorConfig)
obs (SharpaObservationConfig)
priv_info (SharpaPrivilegedInfoConfig)
domain_rand (SharpaDomainRandConfig)
reset_height_lower (float)
reset_height_upper (float)
reset_angle_diff (float)
rot_axis (tuple[float, float, float])
grasp_cache_path (str)
disable_tactile_ids (list[int])
use_default_object_pose_for_object_pos_anchor (bool)
debug_show_axes (bool)
reward_config (RewardConfig | None)
zero_action_test_mode (bool)
- class unilab.envs.manipulation.sharpa_inhand.SharpaInhandRotationEnv[source]¶
Bases:
SharpaInhandBaseEnv- Parameters:
cfg (
SharpaInhandRotationCfg)num_envs (
int)backend_type (
str)dr_provider (
DomainRandomizationProvider|None)
- __init__(cfg, num_envs=1, backend_type='motrix', dr_provider=None)[source]¶
- Parameters:
cfg (
SharpaInhandRotationCfg)num_envs (
int)backend_type (
str)dr_provider (
DomainRandomizationProvider|None)
- apply_action(actions, state)[source]¶
子类实现:action → ctrl
- Parameters:
actions (
ndarray)state (
NpEnvState)
- Return type:
- property obs_groups_spec: dict[str, int]¶
101}.
Subclasses MUST override this property.
- Type:
Return observation group dimensions, e.g. {“obs”
- Type:
98, “critic”
- update_state(state)[source]¶
子类实现:计算 obs/reward/terminated
- Parameters:
state (
NpEnvState)- Return type:
- class unilab.envs.manipulation.sharpa_inhand.SharpaInhandRotationGraspCfg[source]¶
Bases:
SharpaInhandRotationCfgSharpaInhandRotationGraspCfg(scene: ‘SceneCfg’ = <factory>, sim_dt: ‘float’ = 0.004166666666666667, max_episode_seconds: ‘float’ = 3.0, ctrl_dt: ‘float’ = 0.05, render_spacing: float = 1.0, render_offset_mode: str = ‘grid’, motrix_max_iterations: Optional[int] = None, post_step_forward_sensor: bool = False, action_space: ‘int’ = 22, observation_space: ‘int’ = 192, prop_hist_len: ‘int’ = 30, critic_info_dim: ‘int’ = 9, clip_obs: ‘float’ = 5.0, clip_actions: ‘float’ = 1.0, num_hand_dofs: ‘int’ = 22, frame_obs_dim: ‘int’ = 64, obs_lag_steps: ‘int’ = 3, obs_history_len: ‘int’ = 80, base_name: ‘str’ = ‘right_hand_C_MC’, object_body_name: ‘str’ = ‘object’, object_geom_name: ‘str’ = ‘object’, actuated_joint_names: ‘list[str]’ = <factory>, fingertip_body_names: ‘list[str]’ = <factory>, control_config: ‘SharpaControlConfig’ = <factory>, sensor: ‘SharpaSensorConfig’ = <factory>, obs: ‘SharpaObservationConfig’ = <factory>, priv_info: ‘SharpaPrivilegedInfoConfig’ = <factory>, domain_rand: ‘SharpaDomainRandConfig’ = <factory>, reset_height_lower: ‘float’ = 0.61406, reset_height_upper: ‘float’ = 0.62406, reset_angle_diff: ‘float’ = 0.5235987755982988, rot_axis: ‘tuple[float, float, float]’ = (0.0, 0.0, 1.0), grasp_cache_path: ‘str’ = ‘’, disable_tactile_ids: ‘list[int]’ = <factory>, use_default_object_pose_for_object_pos_anchor: ‘bool’ = False, debug_show_axes: ‘bool’ = False, reward_config: ‘RewardConfig’ = <factory>, zero_action_test_mode: ‘bool’ = False, grasp_collection_target: ‘int’ = 50000, grasp_auto_save: ‘bool’ = True)
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)action_space (int)
observation_space (int)
prop_hist_len (int)
critic_info_dim (int)
clip_obs (float)
clip_actions (float)
num_hand_dofs (int)
frame_obs_dim (int)
obs_lag_steps (int)
obs_history_len (int)
base_name (str)
object_body_name (str)
object_geom_name (str)
actuated_joint_names (list[str])
fingertip_body_names (list[str])
control_config (SharpaControlConfig)
sensor (SharpaSensorConfig)
obs (SharpaObservationConfig)
priv_info (SharpaPrivilegedInfoConfig)
domain_rand (SharpaDomainRandConfig)
reset_height_lower (float)
reset_height_upper (float)
reset_angle_diff (float)
rot_axis (tuple[float, float, float])
grasp_cache_path (str)
disable_tactile_ids (list[int])
use_default_object_pose_for_object_pos_anchor (bool)
debug_show_axes (bool)
reward_config (RewardConfig)
zero_action_test_mode (bool)
grasp_collection_target (int)
grasp_auto_save (bool)
- max_episode_seconds: float = 3.0¶
- reset_height_lower: float = 0.61406¶
- reset_height_upper: float = 0.62406¶
- reset_angle_diff: float = 0.5235987755982988¶
- grasp_cache_path: str = ''¶
- domain_rand: SharpaDomainRandConfig¶
- grasp_collection_target: int = 50000¶
- grasp_auto_save: bool = True¶
- __init__(scene=<factory>, sim_dt=0.004166666666666667, max_episode_seconds=3.0, ctrl_dt=0.05, render_spacing=1.0, render_offset_mode='grid', motrix_max_iterations=None, post_step_forward_sensor=False, action_space=22, observation_space=192, prop_hist_len=30, critic_info_dim=9, clip_obs=5.0, clip_actions=1.0, num_hand_dofs=22, frame_obs_dim=64, obs_lag_steps=3, obs_history_len=80, base_name='right_hand_C_MC', object_body_name='object', object_geom_name='object', actuated_joint_names=<factory>, fingertip_body_names=<factory>, control_config=<factory>, sensor=<factory>, obs=<factory>, priv_info=<factory>, domain_rand=<factory>, reset_height_lower=0.61406, reset_height_upper=0.62406, reset_angle_diff=0.5235987755982988, rot_axis=(0.0, 0.0, 1.0), grasp_cache_path='', disable_tactile_ids=<factory>, use_default_object_pose_for_object_pos_anchor=False, debug_show_axes=False, reward_config=<factory>, zero_action_test_mode=False, grasp_collection_target=50000, grasp_auto_save=True)¶
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)action_space (int)
observation_space (int)
prop_hist_len (int)
critic_info_dim (int)
clip_obs (float)
clip_actions (float)
num_hand_dofs (int)
frame_obs_dim (int)
obs_lag_steps (int)
obs_history_len (int)
base_name (str)
object_body_name (str)
object_geom_name (str)
actuated_joint_names (list[str])
fingertip_body_names (list[str])
control_config (SharpaControlConfig)
sensor (SharpaSensorConfig)
obs (SharpaObservationConfig)
priv_info (SharpaPrivilegedInfoConfig)
domain_rand (SharpaDomainRandConfig)
reset_height_lower (float)
reset_height_upper (float)
reset_angle_diff (float)
rot_axis (tuple[float, float, float])
grasp_cache_path (str)
disable_tactile_ids (list[int])
use_default_object_pose_for_object_pos_anchor (bool)
debug_show_axes (bool)
reward_config (RewardConfig)
zero_action_test_mode (bool)
grasp_collection_target (int)
grasp_auto_save (bool)
- class unilab.envs.manipulation.sharpa_inhand.SharpaInhandGraspEnvCfg[source]¶
Bases:
SharpaInhandRotationGraspCfgSharpaInhandGraspEnvCfg(scene: ‘SceneCfg’ = <factory>, sim_dt: ‘float’ = 0.004166666666666667, max_episode_seconds: ‘float’ = 3.0, ctrl_dt: ‘float’ = 0.05, render_spacing: float = 1.0, render_offset_mode: str = ‘grid’, motrix_max_iterations: Optional[int] = None, post_step_forward_sensor: bool = False, action_space: ‘int’ = 22, observation_space: ‘int’ = 192, prop_hist_len: ‘int’ = 30, critic_info_dim: ‘int’ = 9, clip_obs: ‘float’ = 5.0, clip_actions: ‘float’ = 1.0, num_hand_dofs: ‘int’ = 22, frame_obs_dim: ‘int’ = 64, obs_lag_steps: ‘int’ = 3, obs_history_len: ‘int’ = 80, base_name: ‘str’ = ‘right_hand_C_MC’, object_body_name: ‘str’ = ‘object’, object_geom_name: ‘str’ = ‘object’, actuated_joint_names: ‘list[str]’ = <factory>, fingertip_body_names: ‘list[str]’ = <factory>, control_config: ‘SharpaControlConfig’ = <factory>, sensor: ‘SharpaSensorConfig’ = <factory>, obs: ‘SharpaObservationConfig’ = <factory>, priv_info: ‘SharpaPrivilegedInfoConfig’ = <factory>, domain_rand: ‘SharpaDomainRandConfig’ = <factory>, reset_height_lower: ‘float’ = 0.61406, reset_height_upper: ‘float’ = 0.62406, reset_angle_diff: ‘float’ = 0.5235987755982988, rot_axis: ‘tuple[float, float, float]’ = (0.0, 0.0, 1.0), grasp_cache_path: ‘str’ = ‘’, disable_tactile_ids: ‘list[int]’ = <factory>, use_default_object_pose_for_object_pos_anchor: ‘bool’ = False, debug_show_axes: ‘bool’ = False, reward_config: ‘RewardConfig’ = <factory>, zero_action_test_mode: ‘bool’ = False, grasp_collection_target: ‘int’ = 50000, grasp_auto_save: ‘bool’ = True)
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)action_space (int)
observation_space (int)
prop_hist_len (int)
critic_info_dim (int)
clip_obs (float)
clip_actions (float)
num_hand_dofs (int)
frame_obs_dim (int)
obs_lag_steps (int)
obs_history_len (int)
base_name (str)
object_body_name (str)
object_geom_name (str)
actuated_joint_names (list[str])
fingertip_body_names (list[str])
control_config (SharpaControlConfig)
sensor (SharpaSensorConfig)
obs (SharpaObservationConfig)
priv_info (SharpaPrivilegedInfoConfig)
domain_rand (SharpaDomainRandConfig)
reset_height_lower (float)
reset_height_upper (float)
reset_angle_diff (float)
rot_axis (tuple[float, float, float])
grasp_cache_path (str)
disable_tactile_ids (list[int])
use_default_object_pose_for_object_pos_anchor (bool)
debug_show_axes (bool)
reward_config (RewardConfig)
zero_action_test_mode (bool)
grasp_collection_target (int)
grasp_auto_save (bool)
- __init__(scene=<factory>, sim_dt=0.004166666666666667, max_episode_seconds=3.0, ctrl_dt=0.05, render_spacing=1.0, render_offset_mode='grid', motrix_max_iterations=None, post_step_forward_sensor=False, action_space=22, observation_space=192, prop_hist_len=30, critic_info_dim=9, clip_obs=5.0, clip_actions=1.0, num_hand_dofs=22, frame_obs_dim=64, obs_lag_steps=3, obs_history_len=80, base_name='right_hand_C_MC', object_body_name='object', object_geom_name='object', actuated_joint_names=<factory>, fingertip_body_names=<factory>, control_config=<factory>, sensor=<factory>, obs=<factory>, priv_info=<factory>, domain_rand=<factory>, reset_height_lower=0.61406, reset_height_upper=0.62406, reset_angle_diff=0.5235987755982988, rot_axis=(0.0, 0.0, 1.0), grasp_cache_path='', disable_tactile_ids=<factory>, use_default_object_pose_for_object_pos_anchor=False, debug_show_axes=False, reward_config=<factory>, zero_action_test_mode=False, grasp_collection_target=50000, grasp_auto_save=True)¶
- Parameters:
scene (SceneCfg)
sim_dt (float)
max_episode_seconds (float)
ctrl_dt (float)
render_spacing (
float)render_offset_mode (
str)post_step_forward_sensor (
bool)action_space (int)
observation_space (int)
prop_hist_len (int)
critic_info_dim (int)
clip_obs (float)
clip_actions (float)
num_hand_dofs (int)
frame_obs_dim (int)
obs_lag_steps (int)
obs_history_len (int)
base_name (str)
object_body_name (str)
object_geom_name (str)
actuated_joint_names (list[str])
fingertip_body_names (list[str])
control_config (SharpaControlConfig)
sensor (SharpaSensorConfig)
obs (SharpaObservationConfig)
priv_info (SharpaPrivilegedInfoConfig)
domain_rand (SharpaDomainRandConfig)
reset_height_lower (float)
reset_height_upper (float)
reset_angle_diff (float)
rot_axis (tuple[float, float, float])
grasp_cache_path (str)
disable_tactile_ids (list[int])
use_default_object_pose_for_object_pos_anchor (bool)
debug_show_axes (bool)
reward_config (RewardConfig)
zero_action_test_mode (bool)
grasp_collection_target (int)
grasp_auto_save (bool)
- class unilab.envs.manipulation.sharpa_inhand.SharpaInhandRotationGraspEnv[source]¶
Bases:
SharpaInhandRotationEnv- __init__(cfg, num_envs=1, backend_type='motrix')[source]¶
- apply_action(actions, state)[source]¶
子类实现:action → ctrl
- Parameters:
actions (
ndarray)state (
NpEnvState)
- Return type:
- update_state(state)[source]¶
子类实现:计算 obs/reward/terminated
- Parameters:
state (
NpEnvState)- Return type:
Modules