四足强化学习任务的定义与组成
训练算法决定如何改进策略,任务定义决定策略在什么条件下学习什么行为。本篇建立一份完整的任务说明,后续“仿真与任务构建”再分别展开。示例采用平地速度跟踪:十二关节四足机器人接收速度指令,输出相对默认姿态的关节位置偏移。
1. 任务目标与运行条件
Section titled “1. 任务目标与运行条件”“让机器人走好”无法直接实现。可以将目标具体化为:在规定速度范围内跟踪前进、侧移和转向指令,同时控制动作变化、关节负载和不期望的碰撞。
这里至少包含三类设计:任务目标、允许的运动条件、评价与结束规则。平地行走和复杂地形跨越即使都使用 PPO,也不是同一个训练任务。
2. 训练任务的基本要素
Section titled “2. 训练任务的基本要素”| 要素 | 需要回答的问题 | 速度跟踪例子 |
|---|---|---|
| 模型与场景 | 什么机器人,在什么物理条件下运动? | 浮动基座、十二个驱动关节、平地接触 |
| Command | 希望机器人做什么? | 前进速度、侧向速度、偏航角速度 |
| Observation | 策略能获得哪些信息? | 指令、角速度、重力投影、关节状态、动作历史 |
| Action | 策略通过什么接口影响机器人? | 十二个目标关节角偏移,经 PD 转换成力矩 |
| Reward | 怎样评价动作后的结果? | 跟踪奖励及动作变化、负载等惩罚 |
| Episode | 何时结束,下一回合如何开始? | 失败终止、时长截断和状态重置 |
模型和场景承载物理转移,其余要素共同定义学习问题。改变机器人质量、控制周期或初始化分布,也会改变策略面对的任务。
3. 任务要素之间的一致性约束
Section titled “3. 任务要素之间的一致性约束”指令、观测与奖励的目标一致性
Section titled “指令、观测与奖励的目标一致性”若奖励要求跟踪某个随机速度,却没有向策略提供该目标或可推断目标的信息,策略就难以知道本回合希望它做什么。速度指令与实际速度还必须在一致的坐标约定下比较。
动作定义与执行接口的一致性
Section titled “动作定义与执行接口的一致性”位置偏移动作可以写为:
这只定义目标角度,后面还需要关节控制和力矩约束。零动作表示回到默认目标姿态,并不表示电机不出力。动作裁剪也不能代替关节位置与力矩约束。
训练与部署的观测可用性
Section titled “训练与部署的观测可用性”策略部署时需要的输入应当有获取途径。仿真真值可以用于奖励、评价,也可以作为训练阶段价值网络的特权输入;是否进入策略观测,是另一项需要明确的设计。
奖励评价与终止判定的功能划分
Section titled “奖励评价与终止判定的功能划分”奖励给出评价,终止规定转移是否继续。一项碰撞惩罚不一定导致重置;失败终止也不一定自动附带负奖励。需要分别定义,不能依赖名称猜测。
4. 控制周期内的环境执行时序
Section titled “4. 控制周期内的环境执行时序”下面是用于理解的顺序,不是某个框架的可运行接口:
- 从当前状态和当前指令构建观测,策略产生动作。
- 处理动作,推进若干物理步。
- 读取动作后的状态,判定失败或截断,计算该次转移的奖励。
- 保存需要的回合末信息;重置结束的环境,并准备后续指令。
- 构建下一次策略调用的观测。
指令更新、奖励计算和重置的实际位置需要看实现。若本步中途更换指令,应说明奖励评价的是哪个指令;自动重置后也要区分新回合初始观测与上一回合末观测。
5. 任务定义的规范化描述
Section titled “5. 任务定义的规范化描述”先用文字确定这些字段,再打开框架配置:
| 字段 | 要记录的内容 |
|---|---|
| 机器人与场景 | 模型来源、驱动关节、地面、初始姿态 |
| 时间 | 物理步长、策略周期、回合时限 |
| 指令 | 单位、坐标系、范围、采样与更新规则 |
| 观测 | 各项来源、维度、顺序、缩放和历史 |
| 动作 | 关节映射、缩放、控制律和限幅 |
| 奖励 | 各项公式、权重、时间缩放与记录方式 |
| 回合 | 失败条件、截断规则、重置状态与缓存 |
完成标准是:另一位成员能依据这张表解释策略输入输出,并指出实现时需要核对的代码位置。尚未确定的字段应明确标出,不能用框架默认值掩盖任务决策。
相关问题讨论
Section titled “相关问题讨论”换框架后,任务是否不变? 设计目标可以保持,但需要重新核对模型导入、控制、观测、奖励缩放和重置等语义。同名参数不能保证物理效果相同。
奖励越多越好吗? 每项都增加权衡。先建立可解释的基本目标与约束,再针对观察到的问题调整,并保存修改前后的对照结果。