in robogym/envs/dactyl/face_perpendicular.py [0:0]
def __init__(self, mujoco_simulation):
super().__init__(mujoco_simulation)
self.register_joint_group("cube_position", prefix="cube:cube:t")
self.register_joint_group("cube_rotation", prefix="cube:cube:rot")
self.register_joint_group_by_name(
"cube_top_face_driver", name="cube:cubelet:driver:pos_z"
)
self.register_joint_group_by_name(
"cube_bottom_face_driver", name="cube:cubelet:driver:neg_z"
)
self.register_joint_group_by_name(
"cube_drivers",
name=["cube:cubelet:driver:pos_z", "cube:cubelet:driver:neg_z"],
)
self.register_joint_group_by_name(
"cube_top_face",
name=[
"cube:cubelet:driver:pos_z",
"cube:cubelet:rotz:neg_x_pos_y_pos_z",
"cube:cubelet:rotz:neg_x_neg_y_pos_z",
"cube:cubelet:rotz:neg_x_pos_z",
"cube:cubelet:rotz:pos_x_pos_z",
"cube:cubelet:rotz:pos_x_neg_y_pos_z",
"cube:cubelet:rotz:pos_x_pos_y_pos_z",
"cube:cubelet:rotz:neg_y_pos_z",
"cube:cubelet:rotz:pos_y_pos_z",
],
)
self.register_joint_group_by_name(
"cube_bottom_face",
name=[
"cube:cubelet:driver:neg_z",
"cube:cubelet:rotz:neg_x_pos_y_neg_z",
"cube:cubelet:rotz:neg_x_neg_y_neg_z",
"cube:cubelet:rotz:neg_x_neg_z",
"cube:cubelet:rotz:pos_x_neg_z",
"cube:cubelet:rotz:pos_x_neg_y_neg_z",
"cube:cubelet:rotz:pos_x_pos_y_neg_z",
"cube:cubelet:rotz:neg_y_neg_z",
"cube:cubelet:rotz:pos_y_neg_z",
],
)
self.register_joint_group("cube_springs", prefix="cube:cubelet:spring:")
self.register_joint_group("target_position", prefix="target:cube:t")
self.register_joint_group("target_rotation", prefix="target:cube:rot")
self.register_joint_group_by_name(
"target_top_face_driver", name="target:cubelet:driver:pos_z"
)
self.register_joint_group_by_name(
"target_bottom_face_driver", name="target:cubelet:driver:neg_z"
)
self.register_joint_group_by_name(
"target_drivers",
name=["target:cubelet:driver:pos_z", "target:cubelet:driver:neg_z"],
)
self.register_joint_group_by_name(
"target_top_face",
name=[
"target:cubelet:driver:pos_z",
"target:cubelet:rotz:neg_x_pos_y_pos_z",
"target:cubelet:rotz:neg_x_neg_y_pos_z",
"target:cubelet:rotz:neg_x_pos_z",
"target:cubelet:rotz:pos_x_pos_z",
"target:cubelet:rotz:pos_x_neg_y_pos_z",
"target:cubelet:rotz:pos_x_pos_y_pos_z",
"target:cubelet:rotz:neg_y_pos_z",
"target:cubelet:rotz:pos_y_pos_z",
],
)
self.register_joint_group_by_name(
"target_bottom_face",
name=[
"target:cubelet:driver:neg_z",
"target:cubelet:rotz:neg_x_pos_y_neg_z",
"target:cubelet:rotz:neg_x_neg_y_neg_z",
"target:cubelet:rotz:neg_x_neg_z",
"target:cubelet:rotz:pos_x_neg_z",
"target:cubelet:rotz:pos_x_neg_y_neg_z",
"target:cubelet:rotz:pos_x_pos_y_neg_z",
"target:cubelet:rotz:neg_y_neg_z",
"target:cubelet:rotz:pos_y_neg_z",
],
)
self.register_joint_group("target_springs", prefix="target:cubelet:spring:")
self.register_joint_group("target_all_joints", prefix="target:")
self.register_joint_group("hand_angle", prefix="robot0:")