# Robots Every robot in LeRobot implements the [`Robot`] interface: connect, read an observation, send an action, disconnect. Writing a policy or a recording script against that interface means it works with any supported arm without change. This page is the generated reference. For wiring, calibration and first-run instructions, start with the hardware guides — [SO-101](../so101), [LeKiwi](../lekiwi), [Hope Jr](../hope_jr), [Reachy 2](../reachy2), [OpenArm](../openarm) — or [Imitation Learning for Robots](../il_robots) for the end-to-end workflow. To add a robot of your own, see [Bring Your Own Hardware](../integrate_hardware). ## Robot The abstract base class. Subclasses implement every method below; the contract described here is what a policy or recording loop can rely on. [[autodoc]] lerobot.robots.Robot - connect - disconnect - configure - calibrate - get_observation - send_action - observation_features - action_features - is_connected - is_calibrated ## RobotConfig [[autodoc]] lerobot.robots.RobotConfig ## make_robot_from_config [[autodoc]] lerobot.robots.make_robot_from_config ## SO-100 and SO-101 followers `SO100Follower` and `SO101Follower` are aliases of the same `SOFollower` class; the two arms differ in their configuration, not their control code. `SO100FollowerConfig` and `SO101FollowerConfig` are likewise aliases of `SOFollowerRobotConfig`. [[autodoc]] lerobot.robots.so_follower.SOFollower - all [[autodoc]] lerobot.robots.so_follower.SOFollowerRobotConfig ## BiSOFollower Two SO followers driven as one bimanual robot. [[autodoc]] lerobot.robots.bi_so_follower.BiSOFollower - all [[autodoc]] lerobot.robots.bi_so_follower.BiSOFollowerConfig ## KochFollower [[autodoc]] lerobot.robots.koch_follower.KochFollower - all [[autodoc]] lerobot.robots.koch_follower.KochFollowerConfig ## LeKiwi `LeKiwi` runs on the robot itself. `LeKiwiClient` is the host-side proxy that talks to it over the network and presents the same [`Robot`] interface. [[autodoc]] lerobot.robots.lekiwi.LeKiwi - all [[autodoc]] lerobot.robots.lekiwi.LeKiwiConfig [[autodoc]] lerobot.robots.lekiwi.LeKiwiClient - all [[autodoc]] lerobot.robots.lekiwi.LeKiwiClientConfig ## OpenArmFollower [[autodoc]] lerobot.robots.openarm_follower.OpenArmFollower - all [[autodoc]] lerobot.robots.openarm_follower.OpenArmFollowerConfig ## BiOpenArmFollower [[autodoc]] lerobot.robots.bi_openarm_follower.BiOpenArmFollower - all [[autodoc]] lerobot.robots.bi_openarm_follower.BiOpenArmFollowerConfig ## OmxFollower [[autodoc]] lerobot.robots.omx_follower.OmxFollower - all [[autodoc]] lerobot.robots.omx_follower.OmxFollowerConfig ## Reachy2Robot [[autodoc]] lerobot.robots.reachy2.Reachy2Robot - all [[autodoc]] lerobot.robots.reachy2.Reachy2RobotConfig ## UnitreeG1 [[autodoc]] lerobot.robots.unitree_g1.UnitreeG1 - all [[autodoc]] lerobot.robots.unitree_g1.UnitreeG1Config ## Hope Jr The Hope Jr humanoid is exposed as two independent robots, an arm and a hand. [[autodoc]] lerobot.robots.hope_jr.HopeJrArm - all [[autodoc]] lerobot.robots.hope_jr.HopeJrArmConfig [[autodoc]] lerobot.robots.hope_jr.HopeJrHand - all [[autodoc]] lerobot.robots.hope_jr.HopeJrHandConfig ## RebotB601Follower [[autodoc]] lerobot.robots.rebot_b601_follower.RebotB601Follower - all [[autodoc]] lerobot.robots.rebot_b601_follower.RebotB601FollowerRobotConfig ## BiRebotB601Follower [[autodoc]] lerobot.robots.bi_rebot_b601_follower.BiRebotB601Follower - all [[autodoc]] lerobot.robots.bi_rebot_b601_follower.BiRebotB601FollowerConfig ## EarthRoverMiniPlus [[autodoc]] lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlus - all [[autodoc]] lerobot.robots.earthrover_mini_plus.EarthRoverMiniPlusConfig