Bimanual vs. Single-Arm Teleoperation
If you completed the OpenArm path, you already understand what teleoperation is and why it produces better training data than scripted motions. Bimanual teleoperation shares those fundamentals but introduces two additional challenges that will shape everything you do in Units 4 and 5:
One action space
6 joint angles + gripper. Your mental focus is entirely on end-effector position and the grasp. Recovery from errors is local — only the one arm needs to reset.
Two coupled action spaces
12 joint angles + 2 grippers. The arms must coordinate in time. A mistake by one arm often invalidates the state for the other. Both arms must return to a consistent home pose before retrying.
The key implication: bimanual teleoperation requires more deliberate, slower motion — especially in the early sessions. Rushing produces inconsistent demonstrations that are hard to train from. Aim for smooth and repeatable over fast.
Teleoperation Systems Overview
Covers leader-follower architectures, haptic feedback, latency analysis, and the tradeoffs between different teleoperation paradigms for bimanual systems. Open in Robotics Library →
Bimanual Session Setup
The full session setup guide is at hardware/dk1/data-collection. The five steps below summarize the flow for your first bimanual session:
-
Home both follower arms
Before every session, send both arms to their home pose using
robot.home(). The home pose is defined in your config file and places both arms in a neutral, symmetric position with end-effectors pointing upward and grippers open. Confirm both arms reach home without error flags before proceeding. -
Launch the bimanual teleoperation server
Start the DK1 teleop node:
ros2 launch dk1_teleop bimanual_leader_follower.launch.py config:=~/dk1-config.yaml. You will see synchronized joint state mirroring in the terminal for both left and right followers. The web UI atlocalhost:8080/dk1/teleopshows both arms' live visualization. -
Set speed to 25% for your first session
Bimanual sessions benefit from a lower initial speed than single-arm work. Set
speed_scale:=0.25in the launch command. At 25%, you have time to think about coordination between the two arms before reacting. Increase to 50% once you can execute the cube handoff consistently. -
Calibrate workspace for two simultaneous arms
With the teleop session running, slowly move the leader arm through the edges of your intended task space and observe where the followers reach their joint limits. Identify the bimanual overlap zone — the region where both arms can reach simultaneously — and mark its boundary with tape if you haven't already from Unit 1. All task objects during data collection will start and end inside this zone.
-
Practice the cube handoff task
Place a 5cm foam cube in the center of the bimanual workspace. Practice this sequence: right arm grasps the cube from the table → lifts it to center workspace → left arm grasps from the right arm → right arm releases → left arm places the cube on the left side of the workspace → both arms return to home. Repeat until you can execute this sequence cleanly 6 times in a row. This is the task you will record in Unit 4.
The 5-Minute Continuous Milestone
Once you are comfortable with the cube handoff, run a 5-minute continuous teleoperation session without stopping, disconnecting, or triggering a joint limit error on either arm. This confirms that your hardware, USB connections, and CAN bus are stable enough to support a full 100-demonstration recording session in Unit 4.
If either arm stops during the 5-minute test, note the error code and check Unit 2's troubleshooting table before moving on. A hardware problem that interrupts a 5-minute test will interrupt your data collection session at the worst possible moment.
Unit 3 Complete When...
You can teleoperate both arms continuously for 5 minutes without interruption, sync errors, or joint limit trips on either arm. You can execute the cube handoff task cleanly — same start position, same handoff point, same end position — at least 6 times out of 10 attempts. Both arms return to the home pose before each attempt without manual adjustment. That consistency is what you carry into Unit 4.