SO-101 Bimanual VLA Manipulation - AI Infra Summit Hackathon A from-scratch dual-arm SO-101 MuJoCo scene with a working drawer, four tableware objects (plate, cup, spoon, fork), and a scripted bimanual task controller. Built on the lerobot_mujoco_sim template, using the existing Mink IK solver. Results Drawer opening: 10/10 across 10 runs. The left arm reaches across, grips the handle, pulls the drawer open 12 cm, releases, and retracts. Tableware: partial. Cup picks and places in many runs but grip is unreliable. Spoon and fork are contacted but not reliably lifted. Plate not attempted (flat disk, no viable grasp). ### OpenVINO benchmark (Intel i9-11900H, 32GB, no NPU) Placeholder CNN at 1x3x224x224, 100 iters after 10 warmups: CPU: 0.221 ms mean / 4519 fps GPU: 0.614 ms mean / 1629 fps CPU beats iGPU because the network is tiny and GPU launch overhead dominates. ### What was built - Dual-arm scene with namespaced body/joint/site files - Sliding drawer with custom handle geometry - DualArmEnv wrapper driving both arms via mj_name2id + mj_step - Imperative bimanual task script with stall detection, solver reseed, live object lookups - OpenVINO benchmark (ONNX to IR conversion, per-device latency/throughput) Technical notes - MuJoCo 3.13.0 fails on relative mesh paths through include chains; fixed with absolute paths - Compiler angle=radian in included files applies globally; fixed with explicit quaternions - Arm actuator forcerange default +/-3.35 Nm too weak for loaded drawer; raised to +/-30 Nm - OpenVINO telemetry has an SSL crash on Windows Python 3.11.9; worked around by disabling it and targeting devices explicitly - PyTorch ONNX exports can carry external .data files; the ONNX internal filename must match Limitations Only drawer-open is reliable. Cup is partial. Spoon/fork don't lift. Plate skipped. No trained VLA policy. The LeRobot data pipeline is wired up but no SmolVLA/ACT fine-tune ran.
Category tags: