Bimanual Reach#
Task key: bimanual_reach.
bimanual_reach is a two-arm baseline task. Each arm has its own target
sphere and the agent must move both TCPs to their targets.
Goal#
Move both TCPs to their respective targets.
Quickstart#
import dexsuite as ds
env = ds.make(
"bimanual_reach",
manipulator=("franka", "franka"),
gripper="robotiq",
arm_control="osc_pose",
gripper_control="joint_position",
render_mode="human",
)
obs, info = env.reset()
obs, reward, terminated, truncated, info = env.step(env.action_space.sample())
env.close()
Task Entities#
target_sphere_left: fixed target marker for the left arm.target_sphere_right: fixed target marker for the right arm.
Extra Observations#
Bimanual-reach adds (under obs["state"]["other"]):
target_left_pos,target_right_pos(each shape(n_envs, 3))target_left_quat,target_right_quat(each shape(n_envs, 4), wxyz)
Termination#
Success: both TCPs are within 3 cm of their targets.
Failure: either TCP leaves the workspace AABB.
Truncation: episode reaches the horizon.
Simulation Settings#
SIM_DT = 0.01SUBSTEPS = 1HORIZON = 300control steps
Source#
Dexsuite/dexsuite/environments/bimanual/baselines/bimanual_reach.py