基于高通平台的四足机器人强化学习实机部署实践

wwer1211 2026-11-11 19:02:11

大家好,我最近在做四足机器人的强化学习实机部署。项目基于开源框架 fan-ziqi/rl_sar,增加了机器人硬件适配、网页手柄,以及 AidLite/QNN 推理支持。

目前正在将原机工程整理成独立项目。借这个机会,分享系统结构和部署过程中遇到的问题,也希望与社区里做机器人、端侧 AI 和高通平台开发的朋友交流。

一、项目整体结构

这个项目的核心任务,是让强化学习策略根据机器人状态计算动作,再由主控生成电机控制命令。

完整过程如下:

IMU 数据 + 电机反馈 + 用户指令
              ↓
        构建观测与历史数据
              ↓
       AidLite / QNN 模型推理
              ↓
         输出 12 维动作
              ↓
       动作缩放与 PD 控制
              ↓
      通过 STM32 控制电机

除了模型推理,工程还包含起立、趴下、反馈检查、网页操作和进程管理等功能,让策略能够接入实际控制流程。

二、通过 AidLite/QNN 运行策略模型

当前工程通过 AidLite 调用 QNN248 DSP 后端,运行已经转换好的策略模型。

主控负责采集数据、整理模型输入和处理动作结果,模型计算交给设备上的 DSP 执行。

当前模型接口如下:

项目配置
模型文件.aidem
单帧观测46 维
历史观测6 帧
输入形状[1, 276]
输出形状[1, 12]
推理环境AidLite、QNN248 DSP 插件和设备授权

观测包括运动指令、目标高度、角速度、重力方向、关节位置、关节速度和上一时刻的动作。

当前配置的控制周期为 1 ms,每 20 个控制周期执行一次策略推理,对应目标策略频率为 50 Hz。实际推理耗时和调度抖动,还需要在目标设备上单独测量。

三、从模型推理到实机控制

硬件通信采用两路串口,分别连接 IMU 和 STM32 电机控制板。

控制系统通过状态机管理待机、起立、策略控制和趴下。电机反馈满足检查条件后,操作者才能通过新的按键操作授权起立。

网页手柄通过本机 UDP 向主控发送输入,用户可以从手机浏览器操作机器人。本机守护进程负责主控启停和阻尼控制。

模型负责计算动作,控制系统则需要判断什么时候允许执行动作。反馈异常、输入中断和进程退出等情况,都需要放在整个系统中考虑。

四、工程迁移中需要注意的问题

原机能够运行的工程,迁移到其他机器时,仍会遇到路径和环境问题。例如:

  • 启动脚本保留原机器的用户名、目录和网卡名。
  • 旧二进制依赖特定 CPU 架构和动态库版本。
  • CPU 绑定编号不一定适合新设备。
  • 模型、SDK、DSP 插件和设备授权需要匹配。
  • 网页证书应由新设备自行生成。

                     

五、后续计划

后续准备完善目标设备上的推理性能记录,重点关注平均耗时、P95 耗时和长时间运行时的抖动,并结合控制线程分析整个流程的时序。

希望通过“高通开发者菁英社”认识更多做端侧 AI 和机器人开发的朋友,后续也会继续分享项目整理和部署进展。

感谢 rl_sar 原作者及贡献者提供的开源框架。

...全文
9 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,994

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、IoT、PC 、XR、Auto等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
物联网人工智能开源 企业社区 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧