User guide / Scene (physics) /

Leader and follower arms

A leader and follower rig is two arms in one scene. You move the leader by its handle, and a control script on the follower copies the leader's joint angles. The article Leader-follower teleoperation walks through a full setup, with GELLO as the example.

Setting it up

  1. Put both arms in the scene with File → Import assembly: the follower (for example a UR5e from MuJoCo Menagerie) and the leader (a workspace of your project, or the follower a second time).
  2. Ask the agent for the rig, naming it if it is a known one: "make the GELLO leader drive the UR5e".

The agent then:

  • writes a copy script on the follower, with the rig's facts in a RIG block at the top: the loop rate, the start ramp, and for each joint which leader joint it copies, its sign, ratio and offset, plus the gripper scaling;
  • puts a handle point on the leader's wrist or gripper;
  • makes the leader hold its pose when let go, like a real leader whose servos have torque off. This changes the leader in this scene only;
  • runs the scene once and fixes any joint the script cannot find.

Using it

Press Play, then drag the leader's handle (see Grabbing an arm). At the start the follower ramps toward the leader's pose in small steps, then copies it at the rig's rate, inside its own joint limits. Let go and the leader stays where it is.

To check the copy, open Diagnostics, record a leader joint's actual and the matching follower joint's actual on one chart, and move the leader (see Diagnostics and charts).

Changing the rig

The RIG block is plain data, so a correction is a small change: ask the agent to flip a joint's sign, change an offset or the rate ("the follower's wrist turns the wrong way"). The script's joint keys are the paths in the arm's joint list, relative to the arm, such as upper_arm/elbow.

The copy loop on a board

A rig whose copy loop runs on a microcontroller, with potentiometers in the leader and hobby servos in the follower, works too. Ask the agent to run the loop on the board, for example "run the copy loop on an ESP32 with a potentiometer per leader joint". The sketch goes in a firmware codebase on the follower, and the board runs in the emulator.