diff --git a/source/SO_100/SO_100/robots/so_arm100_roscon.py b/source/SO_100/SO_100/robots/so_arm100_roscon.py index 2b17869..b6dcd96 100644 --- a/source/SO_100/SO_100/robots/so_arm100_roscon.py +++ b/source/SO_100/SO_100/robots/so_arm100_roscon.py @@ -98,4 +98,23 @@ soft_joint_pos_limit_factor=1.0, ) -"""Configuration of SO-ARM robot arm more adapted for sim2real.""" +"""Configuration of SO-ARM robot more adapted for sim2real.""" + +SO_ARM100_ROSCON_HIGH_PD_CFG = SO_ARM100_ROSCON_CFG.copy() +SO_ARM100_ROSCON_HIGH_PD_CFG.spawn.rigid_props.disable_gravity = True +SO_ARM100_ROSCON_HIGH_PD_CFG.actuators["arm"].stiffness = { + "shoulder_pan_joint": 500.0, # Highest - moves all mass + "shoulder_lift_joint": 500.0, # Slightly less than rotation + "elbow_joint": 400.0, # Reduced based on less mass + "wrist_pitch_joint": 300.0, # Reduced for less mass + "wrist_roll_joint": 300.0, # Low mass to move +} +SO_ARM100_ROSCON_HIGH_PD_CFG.actuators["arm"].damping = { + "shoulder_pan_joint": 150.0, + "shoulder_lift_joint": 150.0, + "elbow_joint": 120.0, + "wrist_pitch_joint": 90.0, + "wrist_roll_joint": 90.0, +} + +"""Configuration of SO-ARM robot with stiffer PD control.""" diff --git a/source/SO_100/SO_100/tasks/reach/ik_rel_env_cfg.py b/source/SO_100/SO_100/tasks/reach/ik_rel_env_cfg.py index ed089e3..0bf4011 100644 --- a/source/SO_100/SO_100/tasks/reach/ik_rel_env_cfg.py +++ b/source/SO_100/SO_100/tasks/reach/ik_rel_env_cfg.py @@ -15,7 +15,7 @@ ## # Pre-defined configs ## -from SO_100.robots import SO_ARM100_CFG, SO_ARM100_ROSCON_CFG # noqa: F401 +from SO_100.robots import SO_ARM100_ROSCON_HIGH_PD_CFG # noqa: F401 from .joint_pos_env_cfg import SoArm100ReachRosConEnvCfg @@ -32,7 +32,7 @@ def __post_init__(self): # Set Franka as robot # We switch here to a stiffer PD controller for IK tracking to be better. - self.scene.robot = SO_ARM100_ROSCON_CFG.replace(prim_path="{ENV_REGEX_NS}/Robot") + self.scene.robot = SO_ARM100_ROSCON_HIGH_PD_CFG.replace(prim_path="{ENV_REGEX_NS}/Robot") # Set actions for the specific robot type (franka) self.actions.arm_action = DifferentialInverseKinematicsActionCfg( diff --git a/source/SO_100/SO_100/tasks/reach/joint_pos_env_cfg.py b/source/SO_100/SO_100/tasks/reach/joint_pos_env_cfg.py index c63ee99..2aee181 100644 --- a/source/SO_100/SO_100/tasks/reach/joint_pos_env_cfg.py +++ b/source/SO_100/SO_100/tasks/reach/joint_pos_env_cfg.py @@ -42,7 +42,7 @@ def __post_init__(self): self.rewards.end_effector_position_tracking_fine_grained.params["asset_cfg"].body_names = ["Fixed_Gripper"] self.rewards.end_effector_orientation_tracking.params["asset_cfg"].body_names = ["Fixed_Gripper"] - self.rewards.end_effector_orientation_tracking.weight = 0.0 + # TODO: reorient command target # override actions self.actions.arm_action = mdp.JointPositionActionCfg( @@ -103,7 +103,7 @@ def __post_init__(self): @configclass -class SoArm100ReachRosConEnvCfg_PLAY(SoArm100ReachEnvCfg): +class SoArm100ReachRosConEnvCfg_PLAY(SoArm100ReachRosConEnvCfg): def __post_init__(self): # post init of parent super().__post_init__() diff --git a/source/SO_100/SO_100/tasks/reach/reach_env_cfg.py b/source/SO_100/SO_100/tasks/reach/reach_env_cfg.py index 7cf340e..b4fc2de 100644 --- a/source/SO_100/SO_100/tasks/reach/reach_env_cfg.py +++ b/source/SO_100/SO_100/tasks/reach/reach_env_cfg.py @@ -79,8 +79,8 @@ class CommandsCfg: debug_vis=True, ranges=mdp.UniformPoseCommandCfg.Ranges( pos_x=(-0.1, 0.1), - pos_y=(-0.3, -0.1), - pos_z=(0.2, 0.35), + pos_y=(-0.25, -0.1), + pos_z=(0.1, 0.3), roll=(0.0, 0.0), pitch=(0.0, 0.0), yaw=(0.0, 0.0),