news 2026/5/26 20:29:12

【强化学习笔记】从数学推导到电机控制:深入理解 Policy Gradient 与 Sim-to-Real。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【强化学习笔记】从数学推导到电机控制:深入理解 Policy Gradient 与 Sim-to-Real。

【强化学习笔记】从数学推导到电机控制:深入理解 Policy Gradient 与 Sim-to-Real

前言
最近在研究基于/* by 01022.hk - online tools website : 01022.hk/zh/json2java.html */ legged_gym的四足机器人控制。在啃代码和论文的过程中,Policy Gradient(策略梯度)是一个绕不开的核心概念。
面对一堆\(\nabla\)\(\log\)符号,我不禁思考:这些抽象的数学公式,到底是如何变成控制电机输出扭矩的指令的?
本文将从最基础的目标函数出发,推导策略梯度公式,并结合 Sim-to-Real(仿真到真机)的工程难点,记录我的理解。


1. 核心目标:我们在优化什么?

在强化学习(RL)中,我们的机器狗(Agent)拥有一个策略网络(Policy Network),参数为\(\theta\)。我们的终极目标是找到一组参数,使得机器人在环境中的期望回报(Expected Return)最大化。

我们将这个目标函数记为\(U(\theta)\)

\[U(\theta) = E_{\tau \sim P_\theta(\tau)} [R(\tau)] \]

这里的符号含义如下:

  • \(\tau\)(Trajectory):轨迹。代表机器人从开机到结束的一连串状态\(s\)和动作\(a\)的序列。
  • \(R(\tau)\):回报。这条轨迹获得的总分数(例如:走得远+10分,摔倒-100分,电机发热-5分)。
  • \(P_\theta(\tau)\):概率。在当前策略\(\pi_\theta\)下,走出这条特定轨迹的概率。

简单来说,\(U(\theta)\)就是机器人目前的“平均考试成绩”。我们要做的,就是通过梯度上升,把这个分数提上去。


2. 数学推导:Log-Derivative Trick

为了提升\(U(\theta)\),我们需要求它的梯度\(\nabla_\theta U(\theta)\)。这里的核心难点在于:我们无法直接对环境(物理世界)求导。但是,利用似然比技巧(Likelihood Ratio Trick),我们可以巧妙地绕过环境模型。

2.1 展开为积分

期望本质上是加权平均。我们将\(U(\theta)\)写成积分形式:

\[\nabla_\theta U(\theta) = \nabla_\theta \int P_\theta(\tau) R(\tau) d\tau \]

假设奖励函数\(R(\tau)\)是由环境给出的客观反馈,与\(\theta\)无关,我们可以把梯度算子移进去:

\[= \int \nabla_\theta P_\theta(\tau) R(\tau) d\tau \]

2.2 引入 Log 技巧

利用微积分恒等式\((\log x)' = \frac{1}{x} \Rightarrow \nabla x = x \cdot \nabla \log x\),我们可以将\(\nabla_\theta P_\theta(\tau)\)替换为:

\[\nabla_\theta P_\theta(\tau) = P_\theta(\tau) \nabla_\theta \log P_\theta(\tau) \]

代回原式:

\[\nabla_\theta U(\theta) = \int \color{red}{P_\theta(\tau) \nabla_\theta \log P_\theta(\tau)} R(\tau) d\tau \]

2.3 变回期望,消掉环境

现在积分里又出现了\(P_\theta(\tau)\),这正是期望的定义。同时,将轨迹概率\(P_\theta(\tau)\)展开后,所有与策略参数\(\theta\)无关的环境转移概率(Dynamics)在求导时都变成了 0。

最终,我们得到经典的策略梯度公式:

\[\nabla_\theta U(\theta) = E_{\tau \sim P_\theta(\tau)} \left[ \sum_{t} \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot R(\tau) \right] \]

Note: 这个公式的强大之处在于Model-Free。它不需要知道机器人腿有多重、地面摩擦系数是多少,只要能采样(Rollout),就能训练。


3. 物理直觉:梯度如何影响电机?

公式中的\(\nabla_\theta \log \pi_\theta(a_t|s_t)\)实际上是在调整策略网络输出分布的均值(对于高斯策略)。

我们可以将参数更新过程具象化为:

  1. 正反馈(Reward > 0)

    • 如果机器狗做了一个动作(比如前腿抬高),并且之后没有摔倒,获得了正奖励。
    • 梯度会增加该状态下输出“前腿抬高”的概率。
    • 电机层面的效果:神经网络会记住这个关节位置,下次遇到类似状态,会更倾向于输出这个位置指令。
  2. 负反馈(Reward < 0)

    • 如果机器狗因为步幅过大导致劈叉,获得了负奖励。
    • 梯度方向反转,抑制该动作的概率。
    • 电机层面的效果:神经网络会学会“收敛”,减小输出幅度。

4. 工程挑战:Sim-to-Real Gap

在 Isaac Gym 仿真中,基于上述原理训练出的策略往往表现完美,但直接部署到真机(如 A1 或自定义的 8010 电机狗)上,常常会失效。

这就是著名的Sim-to-Real Gap,主要源于以下差异:

4.1 执行器动力学(Actuator Dynamics)

这是最关键的差异。

  • Sim: 理想电机。指令\(T_{cmd}\)下发,实际扭矩\(T_{out}\)瞬间到达。
  • Real: 真实电机(如宇树 8010)是一个复杂的动力学系统,存在带宽限制、死区、摩擦。高频的剧烈抖动指令在真机上根本执行不出来,甚至会导致电机过热保护。

4.2 延迟(Latency)

  • Real: 传感器数据(IMU MINS-200)通过串口回传\(\rightarrow\)C++解析\(\rightarrow\)Python推理\(\rightarrow\)指令下发。这个闭环通常有15ms-30ms的延迟。
  • 如果训练时没有模拟这个延迟,策略网络在真机上就会因为“反应慢半拍”而发生振荡。

4.3 解决方案:域随机化(Domain Randomization)

既然无法精准建模真实世界,我们就让仿真环境变得足够“恶劣”。在/* by 01022.hk - online tools website : 01022.hk/zh/json2java.html */ legged_gym中,我们通常会开启:

  • Mass Randomization: 随机改变机身质量。
  • Friction Randomization: 地面摩擦系数在 0.5~1.5 之间跳变。
  • Push Robots: 定时给机器人施加随机外力推挤。
  • Lag Simulation: 模拟随机的控制回路延迟。

只要策略能在这个充满了随机扰动的“混沌宇宙”中存活,它在那个唯一的真实世界中大概率也能稳定行走。


5. 总结

Policy Gradient 将数学上的概率优化与物理上的电机控制连接了起来。理解了这个过程,不仅有助于调参(Reward Scaling),更能让我们在面对 Sim-to-Real 失败时,理性分析是哪一部分分布(Distribution)出了问题。

目前的计划是先在 Isaac Gym 和 MuJoCo 之间跑通Sim-to-Sim的验证流程,利用 MuJoCo 更精准的物理引擎来检验策略的鲁棒性,为之后的真机部署打好基础。


本文基于个人学习理解整理,欢迎指正交流。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 16:49:22

南京大学学位论文LaTeX模板:5分钟快速上手指南

还在为论文格式排版头疼吗&#xff1f;南京大学学位论文LaTeX模板&#xff08;njuthesis&#xff09;就是你的终极解决方案&#xff01;这个专业模板能让你在5分钟内轻松搞定所有格式问题&#xff0c;把宝贵时间真正用在内容创作上。无论你是本科生、研究生还是博士后&#xff…

作者头像 李华
网站建设 2026/5/27 7:15:52

Chatgpt+飞书多维表格,让 AI 在表格里变成“超强业务员”!

咱们先聊一下Chatgpt大模型 —— 它是由OpenAI 推出的生成式 AI 工具&#xff0c;核心能力是理解自然语言、处理非结构化信息&#xff0c;能做文本创作、数据提炼、逻辑分析等工作&#xff0c;早已成为职场人处理文字和数据的帮手。但单独用这个大模型的时候&#xff0c;总会免…

作者头像 李华
网站建设 2026/5/27 16:50:02

基于YOLO13-C3k2-Star的阿塞拜疆传统服饰目标检测模型实现

1. 基于YOLO13-C3k2-Star的阿塞拜疆传统服饰目标检测模型实现 1.1. 项目背景 阿塞拜疆拥有丰富多彩的传统服饰文化&#xff0c;这些服饰不仅是日常穿着&#xff0c;更是国家历史和民族身份的重要象征。随着计算机视觉技术的发展&#xff0c;目标检测算法能够有效识别和分类这…

作者头像 李华
网站建设 2026/5/27 11:01:56

【详解】hydra工具安装与使用

目录 Hydra工具安装与使用 1. 安装Hydra 1.1 系统要求 1.2 安装依赖 1.3 下载Hydra源码 1.4 编译和安装 1.5 验证安装 2. 使用Hydra 2.1 基本用法 2.2 常用选项 2.3 示例 2.3.1 SSH暴力破解 2.3.2 HTTP表单暴力破解 3. 注意事项 安装 Hydra 使用 Hydra 的基本示…

作者头像 李华
网站建设 2026/5/26 18:19:30

入行科普|FPGA 设计岗位对专业能力有哪些要求?

近年来&#xff0c;随着国产算力、自主可控和专用硬件需求持续增长&#xff0c;FPGA 从“边缘岗位”逐渐走向主流应用场景。无论是在通信、数据中心、AI 加速&#xff0c;还是工业控制、国防军工领域&#xff0c;FPGA 工程师的需求都在快速释放。 那么&#xff0c;FPGA 设计岗位…

作者头像 李华
网站建设 2026/5/27 2:04:44

FPGA 还是 ASIC?一篇把概念、差异和选择说清楚

FPGA 开发流程在工程方法论上与 ASIC 高度相似&#xff0c;同样属于集成电路方向&#xff1a; 开发遵循 RTL → 综合 → 实现 → 验证的逻辑&#xff0c;coding 使用的语言以 Verilog / VHDL 为主&#xff0c;设计思想也基本一致。 在功能层面&#xff0c;绝大多数电子类硬件产…

作者头像 李华