task_name: TurnOffFaucet category_name: Articulated tool_keypoint_name_list: [tool_head, tool_tail, tool_side, ] object_keypoint_name_list: [articulated_object_head, articulated_object_tail] constraint_list: - keypoint_name: tool_head target_keypoint_name: articulated_object_head tolerance: 0.0001 type: point2point_constraint # ensure the gripper to point straight to the table - axis_from_keypoint_name: tool_head axis_to_keypoint_name: tool_tail target_axis: [0, 0, 1.0] target_axis_frame: world tolerance: 0.01 type: frame_axis_parallel target_inner_product: 1 # ensure the axis between gripper finger tips to be parallel to the table - axis_from_keypoint_name: tool_head axis_to_keypoint_name: tool_side target_axis: [0, 0, 1.0] target_axis_frame: frame_axis_parallel tolerance: 0.01 type: frame_axis_orthogonal target_inner_product: 0 # ensure the axis between gripper finger tips to be orthogonal to the faucet handle - axis_from_keypoint_name: tool_head axis_to_keypoint_name: tool_side target_axis: [0, 0, 1.0] target_axis_frame: object tolerance: 0.01 type: frame_axis_orthogonal target_inner_product: 0 - axis_from_keypoint_name: tool_head axis_to_keypoint_name: tool_side target_axis: [1.0, 0, 0] target_axis_frame: object tolerance: 0.01 type: frame_axis_parallel target_inner_product: 1 # for pre-actuation and post-actuation poses relative to the tool. # Z axis positive points from gripper to fingers and X axis points to the front direction. # Each pose is represented in the [[x,y,z,roll,pitch,yaw]] format # Units are in meters and radians respectively. # pre-actuation pose list. pre_actuation_motions: [["translate_y", -0.1], ["translate_z", -0.15]] # [move above handle] # post-actuation pose list. pushing down post_actuation_motions: [["translate_z", 0.05], ["translate_y", 0.08]] # [turn the handle by 90 degree from left to right, turn the handle by 180 degree from left to right] # trajectory time actuation_time: 16 # time to reach task goal pose pre_actuation_times: [8, 12] post_actuation_times: [20, 24]