RM2026 · 轮足步兵强化学习运动控制训练与部署框架开源

华南理工大学 华南虎战队

瞄不了一点2026-08-25 03:026.2k 字11 个链接 · 7 张图

训练仓库

仓库链接:https://github.com/scutrobotlab/wheeled-legged_RL.git

部署仓库(上位机)

仓库链接:https://github.com/scutrobotlab/wheelbipe_ros2_sim2sim.git

Image

Image

                                   图一.4号步兵武宁                                                                图二.3号步兵文远

本次开源主要包含

  • flat平地+小陀螺,rough平地+小陀螺训练框架,PPO、Dreamwaq、Himloco、NP3O等算法用例
  • 基于ros2 control与mujoco的sim2sim+sim2real上位机部分方案

项目核心方案简介:

基于isaacsim/isaaclab自研训练与部署框架,rl训练中保留腿部并联结构与气弹簧,通过单一policy实现end2end的多任务盲走鲁棒控制,sim2real无需做任何补偿策略。

1. 展示!!

高燃集锦:

点滴日常:

2. RL运控的优势与难点

优势:

  1. 无需对机器人进行数学建模,容易入门:相比于传统控制中较复杂的数学建模,RL只需导出准确的urdf模型。机器人模型处理的思路从对复杂物理系统的抽象,转变为对真实机器人模型的物理参数辨识。
  2. 高响应与优秀的运动性能:RL控制器的训练是一个“探索->采样->优化”的过程,能够实现各种非线性控制策略。而传统控制为了简化计算,或多或少需要对非线性模型进行一定程度上的线性化处理,不可避免地丢失模型精度。因此,在复杂或高动态场景下,RL控制器相比于传统控制器有更快的响应速度和更优异的运动性能。
  3. 鲁棒性强:经过测试,在没有专门微调特训情况下RL的鲁棒性会比传统控制更好,在极端工况下不易发散。需要注意的是,若训练配置不得当,探索不充分,也会出现OOD(out of distribution)的情况,导致policy推理发散。
  4. 开发生态丰富:在当下具身智能浪潮下,无论是仿真训练框架如isaacsim,isaaclab,还是相关算法开源,都百花齐放。在开发工作中,我们参考了诸如robotlab云深处科技逐际动力本末科技等开源方案,在此以表感谢。
  5. 上场轻松传承简单:相比于传统控制复杂的状态机处理,RL端到端控制逻辑简单,多种功能一次满足。

劣势:

  1. 调参闭环周期长,时间成本较高,参数或reward的修改需要数小时的训练才能见效,如果基于checkpoint训练可以缩短到1h左右;我们整个项目开发需要的算力成本如下:
  • 5070TI*1 9个月长期使用

•  3080TI*1 9个月长期使用

•  远程服务器4090*1 500卡时

【此处广告位招租,期待能有更多算力支持!!!】

3. 开发时间节点

2025.11 训练仓库雏形+串联腿flat训练 baseline

2025.12 串联腿webots/mujoco sim2sim 、上台阶&跳跃demo

2026.1 并联腿训练

2026.2 sim2real 初步成功

2026.3~4月中 持续优化rough复杂地形运动与平地性能,幼龙;

2026.4中下旬~2026.5中旬 没有8009P真机停摆,多种方案探索

2026.5下旬~2026.6 一代车,游龙!

2026.7 国赛车,解锁小陀螺+平移、飞坡、跳跃...

2026.8 春茧

4. 开发重点与研发方向

4.1 模型导出与并联机构设计

   这是整个RL开发比较坐牢的一部分,在笔者看来实际上也是最重要的一部分,这里提供两份这一年开发沉淀下来相关的技术文档,两份内容交叉配合食用:从solidwork导出anything从solidwork导出anythingV2.0

   Isaac Sim 中的 Articulation 本质上是树结构,闭链通常通过额外约束交由迭代求解器处理。由于时间步长和求解迭代次数有限,闭链约束会存在一定数值残差,因此剧烈运动时容易在闭链连接点出现“脱链”。若求解后仍存在相对速度误差 (dv),经过一步积分会产生约 (ds=dv\cdot dt) 的位置误差。提高 position/velocity iteration 可减小约束残差,而减小 (dt) 可降低单步积分误差并提高整体时间分辨率;两种方案均会带来开销,测试下来减小dt,即提高仿真频率如200HZ~~>500HZ对于闭链解算精度提升更显著。脱链效果参考图三:

Image

图三.闭链关节存在脱链问题

4.2 系统辨识

RM赛事的轮腿结构相对于市面上的机器人结构不可谓不复杂,以及考虑到品控上的差异,诸如结构设计缺陷、装配误差、链传动、闭链、气弹簧、减速箱、电池的供电能力包括每个关节的阻尼等等都会都会带来sim2real gap;

从学术层面最优雅的方案当然是通过迭代算法,在线辨识物理参数,实现整体控制分布的偏移;

但RM是高强度的竞技赛事,可以离线做的就不要留到在线完成

我们尝试过多种辨识方案,

  1. 对于轮电机,直接对关节进行静摩擦、粘滞阻尼的辨识即可
  2. 而对于关节电机,我们测试下来单关节的辨识意义不大,参数并没有很准,轮腿很大一部分的gap是来自于并联的耦合性;这里推荐的方法是real2sim,把真机架起,驱动关节电机跟踪预设轨迹,并录制关节数据bag;随后,在mujoco中设置同样的预设轨迹跟踪,同时回放真机数据进行比对;调整仿真中的关节参数,使得仿真中的关节跟踪曲线与实机尽可能地相近。采用该方法的好处是操作简单,辨识速度快,且可以通过AI coding辅助快速寻找参数。

视频1:辨识后的真机与仿真曲线

  1. 同时这里还推荐一种方案是ETH 的actor network,采用learning的方法去解决gap;
  2. mujoco和isaac中joint提供的可调参数,如armature,friction。在正常工况下和真机的gap比较小。但当需要剧烈运动的工况,如跳跃等需要关节电机负载拉满的情况下,电机foc端带来的gap就体现出来了。目前观测到的gap包括:力矩响应滞后,力矩跟随存在超调,力矩输出存在抖动等,可参考图四

Image

图四.真实电机力矩响应不理想

4.3 reward设计

   强化学习控制器作为一种最优控制器,与LQR和MPC没有本质上的区别,LQR和MPC中根据损失函数和可调参数求解控制量,而强化学习控制器通过reward来实现高层的损失函数定义,然后通过策略提升收敛成可用的policy;从该层面来看,RL与传统控制的区别更多在于求解优化的方法不同。reward的设置,是一脉相承的。基于该思想,本方案在reward shaping中大量参考了已有成熟传统控制方案的处理方法。

   reward 设计的要点是将自身带入轮足训练,带入整个系统的流程中;

  • 以跳跃功能为例,假如需要设计一个跳高的reward,那么如果只给一个跳跃窗口腾空最高点的奖励,那么这个奖励是极其稀疏的,所带来的梯度也极其稀疏,在“探索->采样->优化”的机制下,难以找到可行的优化梯度。以图五为例,此时若能学会跳跃,概率较低;
  • 这时可能会想到一些直观的补救方案,比如在训练过程中施加一个辅助力或施加向上的初速度,让机器人在仿真环境中更多地采样到高reward片段。随着训练轮次的增加,逐渐衰减辅助力度,用类似退火的思路让算法探索到可行的优化梯度。这似乎是合理的,但是从PPO策略提升的视角呢?在初期辅助力度较大时,action输出较小,靠辅助力就能够获得较高reward,但是随着辅助力度衰减,action增大后,reward反而变低了。换言之,这会让算法认为增大action的行为并不是正确的迭代方向,最终使得施加辅助力的课程学习方案没有达到预期效果。

Image

图五.优化稀疏奖励函数的概率较低

  • 相比之下,如果设计更稠密的reward奖励函数,能够带来持续的优化梯度,那么算法能够学的又快又好。举个例子,jump不仅仅是追一个最高点的奖励,而是根据目标最高点设计一套参考轨迹,再引导机器人在跳跃过程中跟踪该轨迹,则模型可以稳定且高效的学会jump行为。
  • 除了借鉴传统控制的方案,我们还有些难以解决的sim2real gap,也可以通过reward 设计方式来给policy注入一些先验,从而尽可能的弥补sim2real的gap。
  • reward的权重很重要,权重和reward项构成了最终的损失函数,而损失函数决定了最终policy的工作方式。传统控制LQR和MPC同样有权重调节的步骤,这种最优化的思想是类似的。在RL reward 的函数设计中,会用到各种核函数,如何更好地分析这些函数的作用机制和收敛范围?这里推荐的方法是直接通过desmos查看该函数的形状,如图六。举个例子,针对跳跃收腿的动作,我们会设计松紧两种reward交替使用;在训练初期,要求policy先学会收腿,此时奖励函数可以是更松弛的,在还没完全收腿时就能找到优化梯度;这一阶段可以总结为“定性”,也可以称为pretrain阶段;当policy学会收腿后,可以设置更紧致的奖励函数,此时要求则转变为policy实现更准确的“定量”的目标跟踪;

Image

图六.通过desmos图形计算器分析奖励函数

4.4 网络架构

我们尝试了很多不同的网路架构以及输入输出,诸如Dreamwaq、Himloco、NP3O等经典工作的网络架构和想法

以下文档包含几种不同网络框架对应的框架说明和对应的实机效果,训练时尽量采用了控制变量的思想,除了网络结构没有其他超参数的区别

实验

网络

当前观测

历史信息

Actor 内部输入

Actor 输出

核心设计意图

Exp059

ActorCriticResidualGRU

35D

GRU hidden 64D

35D + 64D = 99D

6D

用递归记忆补充当前观测,同时保留当前观测直通路径

Exp060

ActorCritic FrameStack5

5×35D = 175D

175D

6D

直接让 MLP 从多帧原始观测中提取动态信息

Exp063

ActorCriticHIMLiteResponse

35D

5×35D = 175D

35D + 6D response + 16D latent = 57D

6D

把可解释的系统响应预测显式提供给 Actor

Exp064

ActorCriticRMAPrivLatent

35D

5×35D = 175D

35D + 16D latent = 51D

6D

用紧凑 latent 表达历史响应,避免 Actor 直接依赖显式预测值

不同网络架构对比

考虑到时间、算力和部署和不同架构的表现,最后实车我们采用的是历史帧观测的MLP结构,在大部分任务中,该网络架构已取得了优异的表现,是性价比很高的选择。

4.5 sim2real gap的分析与排查经验

  • 从policy的input和output入手排查bug;常见问题如imu四元数、scale没对齐、output限幅与训练不一致等等
  • 逐帧分析real视频与仿真差异,锁定gap出现的位置

4.6 数据与探索泛化

  • 数据分布的多样性很重要,如果给模型输入了没训练过的数据分布很可能会OOD(out of distribution),因此在训练过程中要注意设计不同的重启条件,帮助算法探索更多的运动工况。
  • Policy 有较强的泛化能力,在训练过程中或许不需要完整的数据链。比如下二级台阶,policy能够过坎,能够下台阶,那么在遇见二级台阶时就能很从容的泛化出过坎+下台阶的连续动作。

4.7 Delay(系统延迟)

  • 延迟是真机推理中重要的影响因素,赛季初我们使用的方案是小电脑推理,串口与下位机通信,下位机算PD;由于小电脑的非实时系统以及串口通信的不稳定,整个通信链路波动很大。串口2M波特率,500HZ收发频率下回环延迟测试,如图七所示

Image

图七.回环延迟采样测试

  • 回环延迟并不是真正的延迟时间,还需要算上传感器到下位机的observation delay,下位机下发指令到电机响应的action delay;这部分隐藏的延迟难以测量,这里依旧推荐采用real2sim的方法,采样真机的bag,回放命令与仿真中的曲线对比,因为仿真是理想电机,对比曲线可以得到比较准确的回环延迟+action delay。
  • 当实车存在delay而训练没配置相应的域随机化或随机化太小时,policy会产生明显的抖动,我们最后采用的observation和action delay都是20ms左右,isaacsim并没有直接提供observation delay,这部分需要单独设计。
  • 国赛车考虑到整车空间和串口通信的不稳定性,加上policy的网络架构规模不大,采用stm32h7推理可以满足性能要求。最终采用了下位机cubeai部署,可以进一步降低延迟。
  • 综上,通过stm32h7+cubeai直接部署模型推理,可以有效提高推理实时性和稳定性。如果想要部署更加复杂的网络,或者需要感知perception,纯上位机是一个更加全能的方案。若通过上位机与电机直接通信,通信实时性以及底层的高频PD控制必须得到有效保证。

4.8 定点问题

  • 当任务涉及高精度控制,如轮足定点(0速度指令收敛),消除roll轴姿态静差等,由于RL调试迭代时间较长,因此调试时间和调试难度相对于传统控制可能不降反增。
  • 一方面是RL的控制链路中一般不会加入积分器,缺少积分项的补偿,容易产生静差;另一方面是sim2real的gap没法完全排除以及域随机化的使用,域随机化与模型极致性能实际上是一个trade off的过程。
  • 定点问题还与policy网络架构以及系统延迟息息相关。经测试,当训练中的delay域随机化较大,并且使用了没有考虑多历史帧信息的policy网络结构(当前项目方案),将难以实现完美的0速定点控制。系统延迟方面,在使用stm32h7+cubeai进行推理后,减小了系统延迟,0速定点性能也得到了明显改善。

5. 通讯信息与致谢

开源作者:

华南理工大学 华南虎战队

张至睿 WeChat / QQ: 18042844330 / 2231625449

崔宇 WeChat / QQ: ctty694 / 2308439685

特别鸣谢:

4号步兵武宁、3号步兵文远、26赛季步兵组全体成员以及关锦贤、陈科旭、蒋武轩、刘玮涵等一系列队员的帮助与支持

正文与图片来自原文,版权归原作者所有;本站仅作检索与阅读。原文链接 ↗