ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

LeRobot 实战指南:机器人学习框架从采数到部署的完整路径

LeRobot 实战指南:机器人学习框架从采数到部署的完整路径 LeRobot 实战指南机器人学习框架从采数到部署的完整路径【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobotLeRobot 是 Hugging Face 用 PyTorch 构建的端到端机器人学习框架面向机器人开发者和研究者覆盖遥操作采数、数据集标准化、策略训练与真机部署的全流程。项目定位与能力全景LeRobot 的价值在于把机器人学习中最碎的三件事——硬件适配、数据管理、算法集成——收敛到同一套接口和同一套 CLI 之下。你写的训练脚本、采集命令、部署配置在不同机器人之间可以原样复用换硬件时只改--robot.type参数。核心能力硬件抽象层统一Robot接口内置 SO100、LeKiwi、Koch、OMX、EarthRover、Reachy2、OpenARM、Unitree G1、reBot B601 等 13 类硬件源码在 src/lerobot/robots/标准数据格式LeRobotDataset v3.0 用 Parquet MP4 存状态与视频支持从 Hub 流式加载配套删集、切分、合并工具src/lerobot/datasets/策略库20 策略覆盖 ACT、Diffusion、Pi0/Pi0.5、GR00T N1.7、SmolVLA 等模仿学习、强化学习与 VLA 模型src/lerobot/policies/CLI 工具链19 个lerobot-*命令record、train、eval、rollout、annotate各司其职仿真评估环境内置 LIBERO、MetaWorld、RoboCasa、RoboTwin 等 benchmark 的 Gymnasium 封装src/lerobot/envs/工程化组件gRPC 异步推理、accelerate 多 GPU 训练、wandb 日志、RL 训练器src/lerobot/rl/环境搭建与首次运行项目要求 Python 3.12、PyTorch 2.7。建环境conda create -y -n lerobot python3.12 conda activate lerobot装视频解码依赖。默认走 TorchCodec需要 ffmpegmacOS Intel、Linux ARM 平台会自动回退到 pyav可跳过此步conda install ffmpeg -c conda-forge按工作流装依赖。基础包刻意保持轻量重依赖都放在 extras 里pip install lerobot[core_scripts] # 采数/回放/标定 pip install lerobot[training] # 训练策略验证安装lerobot-info能打印出版本和可用模块即成功。从源码安装贡献代码时git clone https://gitcode.com/GitHub_Trending/le/lerobot后pip install -e .[all]。跨平台差异一览平台视频解码备注Linux x86_64 / macOS Apple Silicontorchcodec ffmpeg需先装 ffmpegmacOS Intel / Linux ARMpyav 自动回退无需 ffmpegWSLpyav 或 ffmpeg额外安装evdevJetson (aarch64 CUDA)pyav无 GPU 加速可用 docker/Dockerfile.jetson 从源码构建核心能力拆解数据层文件化的 v3.0 格式v3.0 的关键设计是把存储和用户 API 解耦底层是少量大文件上层仍按 episode 访问。三个支柱——Parquet 存状态/动作/时间戳MP4 存多相机视频同一 episode 的帧归组、按相机分片meta/info.json存 schema、FPS 和 episode 在共享文件中的起止偏移。多 episode 拼接进同一文件后文件系统压力大幅下降初始化更快。加载和取帧只要两行视频解码自动处理from lerobot.datasets.lerobot_dataset import LeRobotDataset dataset LeRobotDataset(lerobot/aloha_mobile_cabinet) print(dataset[0][action].shape)不需要落盘全量数据时用StreamingLeRobotDataset直接从 Hub 流式消费。格式细节见 docs/source/lerobot-dataset-v3.mdx。策略层按任务范式分组的模型库策略全部用纯 PyTorch 实现按范式分组模仿学习ACT、Diffusion、VQ-BeT、Multitask DiT强化学习HIL-SERL、TDMPCQC-FQL 在路线图中VLA 模型Pi0、Pi0Fast、Pi0.5、GR00T N1.7、SmolVLA、XVLA、EO-1、MolmoAct2、WALL-OSS、EVO1世界模型VLA-JEPA、LingBot-VA、FastWAM、LaWAM奖励模型SARM、TOPReward、Robometer训练只需一条命令加两个参数lerobot-train \ --policy.typeact \ --dataset.repo_idlerobot/aloha_mobile_cabinet写自定义策略时实现统一接口即可接入采集、训练、可视化工具链指南在 docs/source/bring_your_own_policies.mdx。硬件层一套接口管所有机器人控制逻辑与硬件解耦后切换机器人只换配置对象from lerobot.robots.so_follower import SO101Follower, SO101FollowerConfig robot SO101Follower(configSO101FollowerConfig(...)) robot.connect() obs robot.get_observation() robot.send_action(policy.select_action(obs))内置之外第三方生态通过包名约定自动发现装任何lerobot_robot_*、lerobot_teleoperator_*、lerobot_camera_*前缀的插件包xArm、UR5e、Franka、Piper、Quest 手柄、ROS 2 桥接等即可在 CLI 里直接用其注册的type。工程层processor 管道与异步推理每个策略的前后处理被拆成可组合的 processor 管道归一化、重命名、设备迁移、tokenizer、delta action 等见 src/lerobot/processor/训练时离线跑、推理时在线跑的是同一条链避免两边行为漂移。需要高并发或多机分离部署时src/lerobot/async_inference/ 提供 gRPC 策略服务器与机器人客户端分布式多 GPU 训练由 accelerate 驱动docs/source/multi_gpu_training.mdx。一条完整落地链路遥操作采数lerobot-record是纯数据工具不含策略推理。下面这条用 SO100 主从臂录 5 个 episodelerobot-record \ --robot.typeso100_follower --robot.port/dev/ttyACM0 \ --teleop.typeso100_leader --teleop.port/dev/ttyACM1 \ --dataset.repo_id${HF_USER}/demo \ --dataset.num_episodes5 --dataset.single_taskGrab the cube加--display_datatrue可把观测流到 Rerun 实时查看。自动标注lerobot-annotate调用 VLM 给数据集补language_persistent和language_events两列标注直接写进 Parquet无需人工逐帧打点lerobot-annotate \ --root/path/to/dataset \ --vlm.model_idQwen/Qwen2.5-VL-7B-Instruct训练策略lerobot-train \ --policy.typeact \ --dataset.repo_id${HF_USER}/demo--policy下可覆盖 batch_size、learning_rate、epochs 等检查点与归一化统计随 checkpoint 一起保存。仿真评估先在 LIBERO 里量化成功率再上真机lerobot-eval \ --policy.pathlerobot/pi0_libero_finetuned \ --env.typelibero --env.tasklibero_object \ --eval.n_episodes10真机部署lerobot-rollout是部署唯一入口四种策略对应不同场景——base跑一段自主执行sentry持续录像并定期推 Hubhighlight用环形缓冲抓关键时刻dagger人在环干预采数lerobot-rollout \ --strategy.typebase \ --policy.path${HF_USER}/demo \ --robot.typeso100_follower --robot.port/dev/ttyACM0 \ --taskGrab the cube --duration60调优清单采数时开--dataset.streaming_encodingtrue边录边压视频避免收尾时长时间等待编码训练高分辨率图像先降分辨率验证收敛再提分辨率省 GPU 显存评估失败 episode 用lerobot-replay回放对比动作轨迹定位是感知还是执行问题真机动作卡顿优先检查推理耗时是否超过控制周期必要时换 GPU 推理或缩短 action chunk换机器人前用lerobot-info核对策略输入特征与数据集 schema 是否一致踩坑与排错速查现象import torchcodec 报错或视频无法解码原因当前平台macOS Intel、Linux ARM 等没有对应 torchcodec wheel或 conda 外环境缺 ffmpeg。Linux x86_64 / Apple Silicon 上执行conda install ffmpeg -c conda-forge其他平台确认日志中出现 pyav 回退提示无需额外操作Jetson 用 docker/Dockerfile.jetson 构建带 CUDA 的镜像现象打开串口被拒PermissionError: [Errno 13] Permission denied: /dev/ttyACM0原因当前用户不在dialout组无硬件端口权限。sudo usermod -aG dialout $USER后重新登录确认 USB 转串口线未被其他进程占用现象训练报 CUDA 显存不足RuntimeError: CUDA out of memory原因batch size、图像分辨率或 VLA 模型参数量超出单卡容量。降--policy.batch_size并配合梯度累积降低相机输入分辨率多卡机器启用 accelerate 数据并行现象loss 不下降或收敛极慢原因数据集归一化统计缺失、任务描述与动作不对应或 policy 输入特征与数据集 schema 不匹配。用lerobot-dataset-viz先抽查数据质量核对--dataset.repo_id指向的数据集特征与策略 config 一致降低学习率、检查是否误用了他人数据集的私有归一化统计现象rollout 时机器人动作抖动原因推理耗时超过控制周期动作在周期间堆积后一次性下发。用 GPU 推理或--device显式指定设备核对控制频率与策略 action chunk 长度匹配必要时启用动作插值平滑生态协作与参与方式文档主入口docs/source/按硬件、策略、benchmark 分目录lerobot-dataset-v3.mdx、inference.mdx是两块必读可运行示例examples/含 SO100 到 SO101 的采集/回放/评估脚本、LeKiwi 全流程、手机遥操作等贡献规范CONTRIBUTING.md社区讨论在 LeRobot Discord数据集与模型托管在 Hugging Face Hub 的 lerobot 组织下镜像docker/ 提供各 benchmarkLIBERO、MetaWorld、RoboCasa 等与 Jetson 的预置 Dockerfile路线图方面近期可见的是 QC-FQL 强化学习策略接入、新 benchmark 环境VLABench、RoboMME继续补齐中期目标在 pyproject.toml 里有明确痕迹——docstring 覆盖率从当前 52% 阶梯式提到 100%mypy 逐模块从宽松走向严格。参与入口一句话从修文档 typo 或给新硬件写lerobot_robot_*插件包开始都是有效的第一份 PR。建议下一步装好环境后先跑通examples/so100_to_so100_EE/下的record.py用自己或 Hub 上的公开数据集训练一个 ACT再用lerobot-eval在 LIBERO 上对照成功率整条链路一天内可以走完。【免费下载链接】lerobot LeRobot: Making AI for Robotics more accessible with end-to-end learning项目地址: https://gitcode.com/GitHub_Trending/le/lerobot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表