from legged_gym.envs.base.legged_robot_config import LeggedRobotCfg, LeggedRobotCfgPPO class H1RoughCfg( LeggedRobotCfg ): class init_state( LeggedRobotCfg.init_state ): pos = [0.0, 0.0, 1.0] # x,y,z [m] default_joint_angles = { # = target angles [rad] when action = 0.0 'left_hip_yaw_joint' : 0. , 'left_hip_roll_joint' : 0, 'left_hip_pitch_joint' : -0.4, 'left_knee_joint' : 0.8, 'left_ankle_joint' : -0.4, 'right_hip_yaw_joint' : 0., 'right_hip_roll_joint' : 0, 'right_hip_pitch_joint' : -0.4, 'right_knee_joint' : 0.8, 'right_ankle_joint' : -0.4, 'torso_joint' : 0., 'left_shoulder_pitch_joint' : 0., 'left_shoulder_roll_joint' : 0, 'left_shoulder_yaw_joint' : 0., 'left_elbow_joint' : 0., 'right_shoulder_pitch_joint' : 0., 'right_shoulder_roll_joint' : 0.0, 'right_shoulder_yaw_joint' : 0., 'right_elbow_joint' : 0., } class control( LeggedRobotCfg.control ): # PD Drive parameters: control_type = 'P' stiffness = {'joint': 20.} # [N*m/rad] damping = {'joint': 0.5} # [N*m*s/rad] # action scale: target angle = actionScale * action + defaultAngle action_scale = 0.25 # decimation: Number of control action updates @ sim DT per policy DT decimation = 4 class asset( LeggedRobotCfg.asset ): file = '{LEGGED_GYM_ROOT_DIR}/resources/robots/h1/urdf/h1.urdf' name = "h1" foot_name = "ankle" penalize_contacts_on = ["thigh", "calf"] terminate_after_contacts_on = ["base"] self_collisions = 1 # 1 to disable, 0 to enable...bitwise filter class rewards( LeggedRobotCfg.rewards ): soft_dof_pos_limit = 0.9 base_height_target = 0.98 class scales( LeggedRobotCfg.rewards.scales ): torques = -0.0002 dof_pos_limits = -10.0 class H1RoughCfgPPO( LeggedRobotCfgPPO ): class algorithm( LeggedRobotCfgPPO.algorithm ): entropy_coef = 0.01 class runner( LeggedRobotCfgPPO.runner ): run_name = '' experiment_name = 'rough_go2'