前言
在机器人领域,弥合仿真环境与现实世界的动力学差异是实现精准运动控制的关键挑战。地瓜机器人在地平线机器人实验室优化《Aligning Simulation and Real-World Physics for Learning Agile Humanoid Whole-Body Skills》框架的基础上,成功在RDK S100上部署了其优化后的ASAP 框架。ASAP框架采用两阶段训练策略,并结合 Delta 动作模型,实现了人形机器人在真实环境中的高效全身运动控制,有效降低了仿真与现实世界之间的动力学差异,实机表现稳定出色。本次突破在于大幅降低部署工程的资源占用:在BPU上推理时,模型推理占用率仅为2%;相较纯CPU推理,CPU占用降低250%,可为视觉检测、目标识别、路径导航和智能决策等更复杂任务留出更多算力空间,全面提升系统综合能力!
优化后的ASAP框架暂未对外开源,预计六月份对外释放,此处提供项目链接,RDK-ASAP-optimized,训练以及部署过程将在后续释放时补充完整,欢迎大家持续关注。此处仅提供量化方案介绍。
模型量化
环境准备
#拉取S100工具链docker镜像(docker镜像与OE包请联系工程师获取)#拉取用于模型量化的文件夹解压,见文末附件(该文件夹中包含量化需使用的配置文件以及校准数据)#将导出的onnx模型放到量化用的文件夹下(确保模型名称与配置文件中一致),并将该文件夹挂在至docker环境中,创建容器sudo docker run -it --entrypoint="/bin/bash" -v 主机文件夹路径:/g1_model_convert_s100 镜像ID
量化编译
#进入文件夹cd /g1_model_convert_s100#量化模型,生成model_output文件夹,存放.bin模型hb_compile -c dance_bpu.yaml
不做优化的话,量化精度不够高。需要对量化过程中产生的优化后的float模型(xx_optimized_float_model)进行拆解,拆解脚本见文末。(修改模型名称并将卷积算子名称替换为上图圈红的卷积算子名称)
python split_float_model.py
将拆解得到的float模型进行量化(使用原来的配置文件,指定为算子拆解后的模型),得到高精度的hbm模型
hb_compile -c dance_bpu.yaml
效果展示
附件
通过网盘分享的文件:g1_model_convert_s100.zip
链接: 百度网盘 请输入提取码 提取码: fkt3
鸣谢
感谢地平线机器人实验室的大力支持!感谢王煜城、王凯辉、陈迈越三位的鼎力相助!