Recommended setup: MuJoCo 3.8.1+, Python 3.10+. Drift can clone Menagerie for you on the first run if it isn’t on disk yet.
The prompt
- Locates or clones
mujoco_menagerie - Composes
aloha_scene.xmlthat<include>s the Menagerie Aloha and adds the table + three cubes at the requested colors and positions - Writes joint-space targets per arm that approximate the wrist hovering over each target cube. The first attempt comes from MuJoCo’s forward kinematics — pose, check wrist position, nudge — but it’s not a full IK solver and may overshoot or undershoot by a few centimetres. Refine with a follow-up like
"the left wrist is 5cm short — adjust the shoulder-pitch target by +0.1 rad". - Writes a
run_sim.pythat linearly interpolates between current and target joint angles over 5 seconds, applies position control, and logs at 100 Hz - Runs headless, prints the final EE positions vs targets, and notes any contact between wrist and table
What ends up on disk
What the viewer shows
sensor_log.csv are near-zero through the motion (free space) and would spike if the arms touched the table.
Iterating from here
Where the demo gets interesting is the follow-ups:Honest scope
Things this guide does:- Compose the bimanual scene around the Menagerie Aloha model
- Write a per-arm joint-space interpolation controller
- Wire both wrist F/T sensors and the 14 joint angles, log them
- Open the viewer / run headless
- A learned bimanual grasp policy (ALOHA Unleashed–style behaviour cloning) — those are policies you train; Drift can scaffold the data-collection environment but not the policy
- Full collision-aware motion planning between the arms
- Tactile-sensor-driven manipulation — Aloha’s grippers don’t carry tactile sensors in the Menagerie model
Common gotchas
Cubes fall through the table
Cubes fall through the table
The table needs
condim=3 (or higher) on its contact and a non-zero friction. The default plane material in some Menagerie scenes is frictionless. Tell Drift "the cubes fall through the table — make the table-cube contact realistic" and it’ll fix the <geom> block.Arms reach the targets but oscillate at the end
Arms reach the targets but oscillate at the end
Position-control PD gains are model-specific. Aloha’s default
kp in Menagerie is conservative. Ask Drift to ramp the gains:The right arm's reach overshoots
The right arm's reach overshoots
Aloha’s right arm has a different joint convention than the left in the original ROS package — but Menagerie normalises this. If you see overshoot only on one side, double-check the sign convention in your interpolation. Drift will catch this if you ask
"why is the right arm overshooting".Next steps
Quadruped Go2
Locomotion-shaped showcase
Humanoid H1
Full-body PD-balanced demo
Building a MuJoCo Scene
The base MuJoCo guide — useful background for everything in Showcase
Custom Skills
Capture your manipulation conventions (IK solver pick, gripper-force rules) as a skill