OpenDubsBest example
N arms, one planner: ArmGroup
- Code I wrote
- 3,200 lines
- Language
- Python
- Tools
- MuJoCo
- Hardware
- 2× OpenArm
- Role
- Solo
- Status
- On the robot
Also shows: Motion planningPythonSimulation (MuJoCo)
The lab plans with its own MuJoCo planning library, mj_manipulator, which planned one arm at a time. With two arms on one torso, two plans that are each safe can still hit each other. I added an ArmGroup to it that plans all arms' joints together, so every step is checked arm against arm. On the clip's goals, the two arms planned separately collide in 58 of 210 frames; ArmGroup's plan bends one gripper about 16 cm around the other and touches in none. The same group plans to joint goals, gripper poses and lockstep Cartesian paths, keeps 5 mm between all geometry, retimes the trajectory at 125 Hz, and re-checks it at every sample. I made single-arm planning a one-arm group, and ArmGroup is what plans both arms on the robot today.