本页面是 LeRobot 所有 CLI 工具的参考文档,涵盖其用途、入口点、配置结构和代表性用法示例。
所有 CLI 命令在 pyproject.toml 的 [project.scripts] 部分注册。每个入口将命令名称映射到 src/lerobot/scripts/ 下对应脚本中的 main() 函数。
参数解析由 draccus 库处理。大多数脚本使用 @draccus.wrap() 将 CLI 参数绑定到类型化数据类配置对象。参数以 –field.subfield=value 形式表达以反映嵌套数据类结构。
| 类别 | 命令 |
|---|---|
| 硬件设置 | lerobot-find-port, lerobot-find-cameras, lerobot-setup-motors, lerobot-setup-can, lerobot-calibrate, lerobot-find-joint-limits |
| 机器人操作 | lerobot-teleoperate, lerobot-record, lerobot-replay, lerobot-rollout |
| 数据集管理 | lerobot-edit-dataset, lerobot-dataset-viz, lerobot-imgtransform-viz, lerobot-annotate |
| 训练和评估 | lerobot-train, lerobot-train-tokenizer, lerobot-eval |
| 工具 | lerobot-info |
识别特定电机控制器对应的 USB 设备路径(如 /dev/ttyACM0)。列出所有串口,提示用户断开目标控制器,通过计算前后端口集合的差异来识别目标端口。
用于发现 OpenCVCamera 和 RealSenseCamera 设备。列出序列号、分辨率和默认流配置等元数据。
配置电机 ID 和波特率到电机非易失性存储器(EEPROM)中。共享串行总线上的每个电机必须有唯一的 ID(通常 1-254)。
为单个机器人从站或遥操作主站运行交互式校准程序。校准数据保存为 JSON 文件,通常位于 ~/.cache/huggingface/lerobot/calibration/{device_id}.json。
在校准后使用,通过遥操作引导机器人运动,利用 URDF 运动学来经验性地发现关节的安全运动范围和末端执行器的可达工作空间。
运行实时遥操作循环。从 Teleoperator 读取动作,通过可选的处理器流水线传递,发送到 Robot。
通过遥操作录制机器人 episodes 到 LeRobotDataset 中。此工具严格用于通过遥操作进行数据采集。
在机器人上回放录制的 episodes,用于验证数据质量。
将训练好的策略部署到硬件的主要工具。支持多种评估策略(如自主、DAgger)和推理后端(同步或实时分块)。
配置驱动的训练命令:
lerobot-train --policy.type=act --dataset.repo_id=...
由训练流水线协调,处理数据集加载、通过 accelerate 的分布式训练和策略更新。
统一的评估脚本,支持仿真和真实硬件。支持 LIBERO、MetaWorld 和 RoboTwin 等基准测试。
显示系统和依赖信息,用于调试和环境确认。
LeRobot 使用 draccus 库进行参数解析。配置以嵌套数据类组织:
TrainPipelineConfig 是训练的唯一根数据类,组合所有子配置并在启动时通过 validate() 验证EvalPipelineConfig 用于评估流水线配置– 前缀,支持点号嵌套
策略通过工厂模式注册。自定义策略类型可以注册到 PolicyFactory 中,然后通过 CLI 的 –policy.type=… 参数使用。