ConvolutedLadybug.com
LeRobot Experiments
IIT Delhi · Robotics and AI coursework
Building, recording and simulating with the SO-101 arm using LeRobot
A write-up of the experiments we ran with Hugging Face's LeRobot library: bringing up a leader/follower robot arm, collecting demonstrations, and extending the toolchain with a live 3D view, a MuJoCo simulator and a ROS 2 bridge.
Experiments
1TeleoperationA person moves the leader arm; the follower copies it, and everything is recorded.2ACT policy training with Hugging FaceTeach the arm the task from the recorded demonstrations.3Forward kinematics with MoveIt and RVizFrom joint angles to where the gripper is, derived by hand and checked against MoveIt.4Inverse kinematics with obstacle avoidance: sim to realThe gripper loops around and over a cylinder, first on a simulated arm and then on the real one.5Teleoperation with gesture control using computer visionMove the arm with your hand in front of a webcam.
Build notes
1Assembling the SO-101 and wiring it upLeader and follower builds, a circuit diagram, and how every motor, board and camera connects.2Setting up and calibrating the SO-101Bringing up the leader and follower arms: ports, motors and calibration.3Recording teleoperated datasets with two camerasA top camera and a wrist camera, a leader arm, and lerobot-record.4A live 3D robot model inside RerunOur --display_urdf_path extension to lerobot-record.5SO-101 in MuJoCo with live inverse kinematicsA simulated arm that implements the same Robot interface as the real one.6Streaming joint states to ROS 2A dependency-free publisher that a ROS 2 node wraps as a subprocess.
At a glance
| Robot | SO-101 leader + follower arms (Feetech STS3215 servos) |
|---|---|
| Cameras | Top (640×480, 30 fps) and wrist (640×480, 15 fps) |
| Task | “put the blue box in a bowl” |
| Data | 7 teleoperated episodes, about 8,700 frames at 30 fps (test sessions, 17–19 July) |
| Code we added | Rerun URDF display, MuJoCo robot and example, ROS joint-state publisher, motor-scan retry |
| Software | LeRobot (dataset format v3.0), Python 3.13, uv, Rerun, MuJoCo, placo |