一种面向机器人EKF-SLAM算法的加速方法技术

技术编号:25801914 阅读:45 留言:0更新日期:2020-09-29 18:35
一种面向机器人EKF‑SLAM算法的加速方法,属于面向机器人环境地图构建及定位基础的EKF‑SLAM算法加速领域。解决了现有EKF‑SLAM算法运算速度慢的问题。本发明专利技术加速方法是基于FPGA实现的,通过FPGA对EKF‑SLAM算法中的矩阵(Z·K

【技术实现步骤摘要】
一种面向机器人EKF-SLAM算法的加速方法
本专利技术属于面向机器人环境地图构建及定位基础的EKF-SLAM算法加速领域,特别涉及一种借助现场可编程门阵列(FieldProgrammableGateArray,FPGA)实现EKF-SLAM算法硬件加速的方法。
技术介绍
面向机器人环境地图构建及定位的基础是采用EKF-SLAM算法实现,而对于EKF-SLAM算法,其过程可分为两个部分:预测循环:更新循环:式中,表示状态向量的先验;f表示状态方程;表示状态向量的后验;uk表示输入的控制向量;表示协方差矩阵的先验;F表示状态方程对状态向量的偏导数;表示协方差矩阵的后验;Rk表示状态向量噪声的协方差矩阵;Z表示新息协方差矩阵;H表示观测方程对状态向量的偏导数;Qk表示观测向量噪声的协方差矩阵;K表示卡尔曼增益矩阵;zk表示观测向量;h表示观测方程;研究表明:更新循环的最后一个公式中(Z·KT)T·KT占EKF-SLAM算法中所有方程所用时间的64本文档来自技高网...

【技术保护点】
1.一种面向机器人EKF-SLAM算法的加速方法,其特征在于,该加速方法是基于FPGA实现的,通过FPGA对EKF-SLAM算法中的矩阵(Z·K

【技术特征摘要】
1.一种面向机器人EKF-SLAM算法的加速方法,其特征在于,该加速方法是基于FPGA实现的,通过FPGA对EKF-SLAM算法中的矩阵(Z·KT)T·KT进行并行运算,从而实现对EKF-SLAM算法的加速;
其中,矩阵Z的维数为2×2,矩阵K的维数为n×2,n为整数。


2.根据权利要求1所述的一种面向机器人EKF-SLAM算法的加速方法,其特征在于,加速方法的具体过程为:
步骤一、将机器人DDR内存中矩阵K的转置KT划分成M个2×2的1号块矩阵,按照划分的次序分别定义为第一至第M个1号块矩阵,其中,DDR内存中还存储有矩阵Z,M为整数,n=2M;
步骤二、FPGA从DDR内存中依次调取第一至第M个1号块矩阵和矩阵Z,并进行存储;按照M个1号块矩阵的调取顺序,使矩阵Z分别与KT中M个1号块矩阵相乘,从而获得矩阵Z·KT;
其中,矩阵Z与任意一个1号块矩阵相乘的实现方式为:矩阵Z中的4个元素以并行运算的方式,与所述任意一个1号块矩阵中的4个元素进行乘法运算;
步骤三、对矩阵Z·KT进行转置,获得矩阵(Z·KT)T,并将矩阵(Z·KT)T划分成M个2×2的2号块矩阵,按照划分的次序分别定义为第一至第M个2号块矩阵;
步骤四、使矩阵(Z·KT)T中第一至第M个2号块矩阵分别与KT中的第一至第M个1号块矩阵相乘,从而获得矩阵(Z·KT)T·KT,完成对EKF-SLAM算法的加速;
其中,M个2号块矩阵中任意的一个2号块矩阵与相应的1号块矩阵相乘的实现方式为:任意的一个2号块矩阵中的4个元素以并行运算的方式,与相应的1号块矩阵中的4个元素进行乘法运算。


3.根据权利要求1所述的一种面向机器人EKF-SLAM算法的加速方法,其特征在于,FPGA与机器人DDR内存之间通过AXI协议的接口模块进行通信。


4.根据权利要求1所述的一种面向机器人EKF-SLAM算法的加速方法,其特征在于,FPGA包括8个...

【专利技术属性】
技术研发人员:王珂包敏杰李瑞峰赵立军
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1