本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 {{htmlmetatags>metatag-robots=(index,follow) metatag-keywords=(LeRobot,策略架构,ACT,Diffusion,VQ-BeT,Pi0,模仿学习,VLA,强化学习) metatag-description=(LeRobot 策略架构详解:模仿学习、强化学习和视觉-语言-动作(VLA)模型的统一接口和实现) }} ====== LeRobot 策略架构 ====== LeRobot 实现了多种最先进的策略架构,统一在 ''PreTrainedPolicy'' 抽象基类下。 [[机器人:lerobot:home|返回概述]] ===== 策略接口和基类 ===== 所有策略继承自 ''PreTrainedPolicy'' 抽象基类,提供标准化接口: * **模型生命周期**:初始化、加载预训练权重、保存检查点 * **训练**:前向传播计算损失和优化器参数获取 * **推理**:通过分块(''predict_action_chunk'')或单步选择(''select_action'')预测动作 * **Hub 集成**:通过 ''HubMixin'' 推拉模型到 Hugging Face Hub * **PEFT 支持**:集成参数高效微调(如 LoRA) ===== 策略生命周期 ===== 策略的典型生命周期如下: <code> # 初始化 policy = ACTPolicy(config) # 训练 loss = policy.forward(batch) loss.backward() optimizer.step() # 推理 action_chunk = policy.select_action(observation) </code> ''lerobot.policies.utils'' 模块提供管理环境和策略之间数据流的关键函数: * **''build_obs_frame''**:使用数据集的特征配置从原始观测中提取特征 * **''make_robot_action''**:将策略输出的数值张量映射回命名的机器人动作字典 ===== 策略类别 ===== ==== 模仿学习策略 ==== 模仿学习(IL)策略从专家演示中学习: ^ 策略 ^ 特点 ^ | **ACT** (Action Chunking Transformer) | 基于 Transformer 的动作分块,适合高精度任务 | | **Diffusion** | 扩散策略,通过去噪过程生成动作序列 | | **VQ-BeT** (Vector Quantized Behavior Transformer) | 基于向量量化的行为 Transformer | | **Multitask DiT** | 多任务 Diffusion Transformer | ==== 视觉-语言-动作模型 ==== VLA 模型结合视觉和语言理解进行机器人控制: ^ 策略 ^ 特点 ^ | **Pi0 / Pi0Fast** | 预训练视觉-语言-动作模型,支持高效微调 | | **Pi0.5** | 轻量级变体 | | **SmolVLA** | 小型 VLA 模型,适合资源受限场景 | | **GR00T** | NVIDIA 人形机器人通用基础模型 | | **XVLA** | 可扩展 VLA 架构 | | **MolmoAct2** | 基于多模态理解的 VLA 模型 | ==== 强化学习策略 ==== ^ 策略 ^ 特点 ^ | **HIL-SERL** | 人类介入的强化学习,结合示教和自主探索 | | **TDMPC** | 基于模型预测控制的强化学习 | ===== 实时分块 ===== 策略支持实时动作分块,使推理能够在严格的实时约束下进行。这通过分块缓冲区实现,允许异步推理和同步执行。 ===== 策略工厂和插件系统 ===== 策略通过工厂模式创建,支持插件式注册: * ''PolicyFactory'' 维护策略类型注册表 * 自定义策略可以通过装饰器注册 * 工厂位于 ''src/lerobot/policies/factory.py'' * 通过 ''--policy.type=xxx'' 在 CLI 中选择 ===== 相关页面 ===== * [[机器人:lerobot:home|LeRobot 框架概述]] * [[机器人:lerobot:训练与评估|训练与评估]] * [[机器人:lerobot:核心概念|核心概念]]