四足运动控制中的强化学习
四足机器人的运动依赖感知、状态估计、策略、关节控制和执行等环节。本篇先说明强化学习策略在系统中的位置,再讨论训练与运行的区别。后续以十二关节四足机器人的速度跟踪任务为例;具体输入、输出和控制频率属于任务设计,并非所有框架的固定配置。
1. 四足运动控制系统的层次结构
Section titled “1. 四足运动控制系统的层次结构”| 环节 | 输入与输出 | 一个例子 |
|---|---|---|
| 任务与导航 | 将用户目标转换成运动指令 | 将“向前走”转换成期望前进速度 |
| 感知与状态估计 | 将传感器数据转换成可用状态 | 由 IMU 和编码器获得姿态、角速度和关节状态 |
| 运动策略 | 根据观测和指令产生动作 | 输出十二个关节的目标位置偏移 |
| 关节控制 | 将动作转换成执行命令 | 由目标角度和当前状态计算 PD 力矩 |
| 驱动与机构 | 执行命令并产生新的运动状态 | 电机驱动关节,足端与地面接触 |

强化学习通常承担运动策略这一环节。策略可以写成 :参数为 的网络接收观测 ,输出动作 。训练时还可能从策略定义的分布中采样动作。
这个边界取决于方案。有的系统单独估计速度,有的策略带有估计模块或利用观测历史推断运动状态。因此阅读项目时,应先画出实际数据流,再判断哪些功能由策略承担。
2. 策略观测与动作的接口规范
Section titled “2. 策略观测与动作的接口规范”策略接收的是有顺序的数值。输入中的第一个数究竟是前进速度指令还是机身角速度,由任务定义决定;模型权重不会替使用者核对这个含义。
一份可用的接口说明至少要记录:
- 观测各项的来源、单位、坐标系、顺序、缩放和历史长度;
- 动作的关节顺序、物理含义、缩放、默认姿态和限幅;
- 策略调用周期,以及两次调用之间关节控制如何执行。
例如,训练时动作第 0 项对应左前腿髋关节,部署时却被送到右后腿,向量维度仍然正确,但物理行为已经改变。接口一致性需要逐项核对,不能只检查网络是否成功加载。
3. 策略训练与部署推理
Section titled “3. 策略训练与部署推理”训练时,策略与仿真环境反复交互。环境提供状态转移、奖励和回合边界,训练算法使用这些数据更新网络参数。
运行一个训练好的策略时,通常只做推理:构建观测、计算动作、执行控制,再读取新状态。此时一般不再根据奖励在线更新参数。训练中的随机探索和评估时采用的动作选择方式也可能不同。
| 内容 | 训练阶段 | 常规部署阶段 |
|---|---|---|
| 状态来源 | 仿真状态及模拟的传感器、估计量 | 传感器与状态估计 |
| 指令来源 | 按任务规则采样,也可使用预设序列 | 遥控器、导航或任务程序 |
| 奖励 | 用于评价交互并支持参数更新 | 通常不参与策略推理 |
| 网络参数 | 由训练算法更新 | 通常固定 |
| 执行对象 | 仿真机器人 | 真实机器人 |
仿真中能读取的信息,不一定能在实机获得。训练时可以为价值网络提供额外信息,但部署所需的策略输入必须有明确来源,详见 环境状态与策略观测。
4. 强化学习与模型化控制的关系
Section titled “4. 强化学习与模型化控制的关系”模型化控制常通过运动学、动力学、步态规划和优化来确定运动命令;强化学习通过交互数据优化策略。两者可以组合,例如由策略给出关节目标,再由 PD 控制器执行,也可以由策略调整控制器的部分参数。
不能仅凭使用了神经网络就推断整套系统不需要模型、估计器或执行约束。一个策略在仿真中表现良好,也不能说明模型误差、通信延迟和关节映射已经解决。
5. 思考与练习
Section titled “5. 思考与练习”选一套你能读到的机器人程序,画出“传感器 → 观测 → 策略 → 动作处理 → 关节执行”的流程,并回答:
- 期望速度来自哪里,在哪一步进入策略?
- 策略输出的是角度、角度偏移还是力矩?
- 哪些输入由传感器直接提供,哪些需要估计?
- 关闭训练算法后,推理和控制是否仍能独立运行?
能标清每个箭头上传递的数据及其单位,就具备了阅读训练环境的基础。
相关问题讨论
Section titled “相关问题讨论”策略是否能同时处理导航和运动? 可以设计这样的系统,但本文采用上层给运动指令、下层策略跟踪指令的分工,避免把不同层级任务混在一起。
机器人摔倒是否说明策略没训练好? 还应检查状态估计、观测处理、关节映射、控制参数和执行时序,沿数据流定位原因。