目录

LeRobot 命令行界面

本页面是 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

硬件设置命令

lerobot-find-port

识别特定电机控制器对应的 USB 设备路径(如 /dev/ttyACM0)。列出所有串口,提示用户断开目标控制器,通过计算前后端口集合的差异来识别目标端口。

lerobot-find-cameras

用于发现 OpenCVCameraRealSenseCamera 设备。列出序列号、分辨率和默认流配置等元数据。

lerobot-setup-motors

配置电机 ID 和波特率到电机非易失性存储器(EEPROM)中。共享串行总线上的每个电机必须有唯一的 ID(通常 1-254)。

lerobot-calibrate

为单个机器人从站或遥操作主站运行交互式校准程序。校准数据保存为 JSON 文件,通常位于 ~/.cache/huggingface/lerobot/calibration/{device_id}.json

lerobot-find-joint-limits

在校准后使用,通过遥操作引导机器人运动,利用 URDF 运动学来经验性地发现关节的安全运动范围和末端执行器的可达工作空间。

机器人操作命令

lerobot-teleoperate

运行实时遥操作循环。从 Teleoperator 读取动作,通过可选的处理器流水线传递,发送到 Robot

lerobot-record

通过遥操作录制机器人 episodes 到 LeRobotDataset 中。此工具严格用于通过遥操作进行数据采集。

lerobot-replay

在机器人上回放录制的 episodes,用于验证数据质量。

lerobot-rollout

将训练好的策略部署到硬件的主要工具。支持多种评估策略(如自主、DAgger)和推理后端(同步或实时分块)。

训练和工具命令

lerobot-train

配置驱动的训练命令:

lerobot-train --policy.type=act --dataset.repo_id=...

由训练流水线协调,处理数据集加载、通过 accelerate 的分布式训练和策略更新。

lerobot-eval

统一的评估脚本,支持仿真和真实硬件。支持 LIBERO、MetaWorld 和 RoboTwin 等基准测试。

lerobot-info

显示系统和依赖信息,用于调试和环境确认。

参数解析架构

LeRobot 使用 draccus 库进行参数解析。配置以嵌套数据类组织:

插件注册

策略通过工厂模式注册。自定义策略类型可以注册到 PolicyFactory 中,然后通过 CLI 的 –policy.type=… 参数使用。

相关页面