LeRobot机器人控制框架入门指南从遥操作录制到策略训练的完整实践【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot你想让机械臂学会一个抓取动作最先要面对的不是算法而是一串工程问题舵机怎么控制、演示数据存成什么格式、数据怎么变成能跑在机器人上的策略。LeRobot是Hugging Face开源的机器人学习框架它把硬件控制、数据集格式和策略训练打包进同一个 PyTorch 库让你用几条 CLI 命令就能走完遥操作录数据 → 训练 → 上机运行的完整流程。值不值得用LeRobot的能力边界与使用前提先看30秒速览再决定要不要继续读。项目说明能做什么遥操作录制数据集、从 Hugging Face Hub 加载/管理机器人数据集、训练模仿学习与 VLA 策略ACT、Diffusion、Pi0、SmolVLA、GR00T 等、在 LIBERO/MetaWorld 等仿真环境或真机上评估与部署支持硬件SO-100/SO-101、LeKiwi、Koch、HopeJR、OMX、EarthRover、Reachy2、Unitree G1、OpenARM、reBot B601xArm、UR5e、Franka 等可通过第三方插件接入系统前提Python ≥ 3.12硬性要求Linux 实测体验最好macOS/Windows 建议用 WSL视频读写依赖 ffmpeg训练建议有 NVIDIA GPU技术栈Python PyTorch核心库轻量重依赖按工作区拆成可选 extras没有机器人也不影响入门加载数据集、训练策略、仿真评估这条主线完全不需要硬件。三条命令完成安装与环境验证用虚拟环境隔离避免污染系统 Pythonpython3.12 -m venv .venv source .venv/bin/activate pip install lerobot[training]lerobot[training]这个 extra 会带上数据集、加速训练accelerate、实验记录wandb所需的依赖是后面训练步骤的直接前提。只想跑 CLI 录数据的话装lerobot[core_scripts]即可。装完立刻验证lerobot-info这一步会打印 LeRobot 版本、Python/torch/ffmpeg 版本和 GPU 信息。确认Torch能识别到你的 CUDA、FFmpeg不是 N/A环境就算就绪。ffmpeg 缺失或版本不对是后面视频解码报错的常见源头可以现在就处理掉。如果要从源码安装想改代码时才需要clone 后用pip install -e .[training]git clone https://gitcode.com/GitHub_Trending/le/lerobot cd lerobot pip install -e .[training]加载一个现成数据集看懂数据长什么样LeRobot 的数据集是MP4 视频存相机画面 Parquet存关节状态/动作的同步存储可以直接从 Hugging Face Hub 拉取。跑一个最小加载脚本from lerobot.datasets import LeRobotDataset dataset LeRobotDataset(lerobot/aloha_mobile_cabinet) sample dataset[0] print(sample[action].shape) print(list(sample[observation.images].keys()))这一步做两件事第一次运行时自动从 Hub 下载数据集到本地缓存dataset[0]会触发视频解码把指定时刻的相机帧解出来和动作向量对齐。如果打印出了动作形状和相机键名说明视频解码链路torchcodec 或 pyav 回退工作正常。训练一个 ACT 策略并判断是否成功数据集到手后训练只需要一条命令lerobot-train \ --policy.typeact \ --dataset.repo_idlerobot/aloha_mobile_cabinet \ --policy.devicecuda \ --output_diroutputs/train/act_aloha \ --steps3000这一步里lerobot-train自动完成按数据集 features 构建 ACT 模型、用数据集统计量做输入输出归一化、按--steps跑训练循环并把 checkpoint 写进output_dir。想换策略只改--policy.typediffusion、smolvla等想用自己的数据集把--dataset.repo_id换成自己的仓库 id 就行。判断成功看两个信号一是终端日志里 loss 在数百步内稳定下降而不是 NaN二是outputs/train/act_aloha/下出现 checkpoint 目录里面带有pretrained_model/。最后加载回来验证一下from lerobot.policies.act import ACTPolicy policy ACTPolicy.from_pretrained(outputs/train/act_aloha/pretrained_model) print(policy.cfg.input_features) print(policy.select_action(policy.preprocess_observation({})[action]) if hasattr(policy, preprocess_observation) else loaded)能从本地路径构造出模型对象并看到输入特征定义就说明 checkpoint 完整、可部署。有真机时SO-101 从校准到上机的最短路径如果你手上有一对 SO-101 主从臂把上面训好的策略跑上机器人的流程是四个固定命令顺序不能乱。第一步找到 USB 串口号lerobot-find-port按提示拔插 USB它会告诉你每根臂对应的/dev/ttyACM*端口。第二步校准每根臂做一次lerobot-calibrate --robot.typeso101_follower --robot.port/dev/ttyACM0 --robot.idmy_follower_arm把每个关节转到最小、最大位置并回车确认校准文件按--robot.id命名后续命令必须用同一个 id否则找不到校准结果。第三步遥操作录制数据集lerobot-record \ --robot.typeso101_follower --robot.port/dev/ttyACM0 --robot.idmy_follower_arm \ --robot.cameras{ top: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} } \ --teleop.typeso101_leader --teleop.port/dev/ttyACM1 --teleop.idmy_leader_arm \ --dataset.repo_id${HF_USER}/so101_grab \ --dataset.num_episodes30 \ --dataset.single_taskgrab the cube \ --display_datatrue录制时移动主臂从臂同步跟随右箭头保存当前回合左箭头重录ESC 结束并上传。数据集直接推到你的 Hub 仓库之后lerobot-train --dataset.repo_id${HF_USER}/so101_grab就能复用上面的训练命令。第四步部署推理lerobot-rollout \ --strategy.typebase \ --policy.pathoutputs/train/act_aloha/pretrained_model \ --robot.typeso101_follower --robot.port/dev/ttyACM0 \ --robot.cameras{ top: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} } \ --taskgrab the cube --duration60注意相机配置必须和录制时一致索引、分辨率、帧率否则会触发 key 不匹配。跑 60 秒后观察从臂是否复现抓取轨迹就是这条主线的终点。原理速览一次前向传播里发生了什么LeRobot 的数据流是一条单向管道。录制时相机帧被编码进 MP4、关节状态和动作写进 Parquet统一成 LeRobotDataset 格式训练时采样器按策略的delta_timestamps取出过去若干帧的图像和状态经 preprocessor 用数据集统计量归一化后送入策略网络。以 VLA 类策略为例图像和任务指令先进入视觉语言模型主干提取特征动作头如 flow matching 或高斯策略头基于这些特征预测一个动作块postprocessor 反归一化后交给robot.send_action()执行。训练目标就是让预测动作块逼近人类演示动作。所有策略都继承同一个PreTrainedPolicy接口select_action/forward所以数据集、训练脚本、评估工具对所有策略通用——这也是换策略只需改一个参数的原因。真实坑位清单Python 3.10/3.11 环境里安装报错pyproject.toml硬性要求requires-python 3.12用旧版本 venv 装什么都救不回来直接用 3.12 重建环境。加载数据集时视频解码报错默认用 TorchCodec 解码它依赖 ffmpegconda 环境里conda install ffmpeg -c conda-forge解决。macOS Intel 和 Linux ARM 没有 TorchCodec wheel框架会自动回退 pyav这类平台可以跳过 ffmpeg。WSL 下遥操作命令无响应缺少evdev库conda install evdev -c conda-forge裸 pip 用户先sudo apt install libevdev-dev再装。插上 USB 找不到串口Linux 下当前用户不在dialout组没有读权限sudo usermod -aG dialout $USER后重新登录不确定口名时用lerobot-find-port拔插识别别猜。lerobot-record 结束时报权限/上传错误录制会把数据集推送到 Hub先hf auth login登录账号并把--dataset.repo_id写成你自己的${HF_USER}/xxx。训练 Pi0/SmolVLA 直接 OOMVLA 模型显存需求远高于 ACT 这类模仿学习模型。第一遍跑通用轻量的act或diffusion等流程走通再上 VLA必要时降低相机分辨率或缩短delta_timestamps窗口。延伸路径想接自己的机器人硬件从 硬件接入文档 开始再对照 robots/ 下已有实现的目录结构写一个Robot子类。想换策略或写新策略读 策略开发指南参考 policies/ 下 ACT、Diffusion、Pi0 的最小实现。想裁剪、合并、可视化数据集看 LeRobotDataset v3 文档 和 datasets/。命令记不住很正常cheat-sheet.mdx 汇总了全部 CLIquickstart.ipynb 则把改配置 → 生成命令做成了可交互的 notebook。装好环境后建议先把上面的加载数据集 → 训练 ACT主线在本地跑通一遍再按手头的硬件走校准录制流程。遇到问题优先查 docs/source/ 下的安装与硬件文档或在仓库 issue 入口提交报错信息lerobot-info的输出会直接附在 issue 里方便定位。【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考