【技术实现步骤摘要】
基于相关性扫描匹配算法的硬件加速电路、芯片及机器人
[0001]本专利技术涉及计算机加速器的
,尤其涉及基于相关性扫描匹配算法的硬件加速电路、芯片及机器人。
技术介绍
[0002]目前,基于激光雷达的移动机器人SLAM算法中,一般使用相关性扫描匹配算法将激光雷达采集的点云数据转换匹配到栅格地图上,相关性扫描匹配算法是一种基于概率的点云帧间匹配算法,能够在当前处理出的栅格地图中,设定的窗口作为一定尺寸的搜索模板,从预测位姿开始搜索,遍历所有可能存在的栅格位姿,通过变换矩阵将点云从扫描帧坐标系(激光坐标系)变换到当前处理出的栅格地图的坐标系下,并进行可能的栅格位置的占用概率的计算以获得该栅格位置的得分值,再基于得分值的计算结果完成机器人精确的定位。
[0003]相关性扫描匹配(CSM)算法是目前应用最广泛的扫描匹配算法之一,但是实时扫描匹配算法涉及到大量的循环计算,其产生的计算复杂度极高,很难将其部署于算力受限的嵌入式计算平台,成为机器人定位的实时性的瓶颈。
技术实现思路
[0004]针对机器人的激光雷达扫描生成的点云集合在软件层面执行前述相关性扫描匹配算法时,需要计算量较大的变换过程,本专利技术采用硬件加速的方式来加快计算获得相应栅格位置的概率值,具体的技术方案如下:
[0005]一种基于相关性扫描匹配算法的硬件加速电路,所述硬件加速电路与激光雷达存在电性连接关系;所述硬件加速电路包括存储器模块、点云处理模块、栅格索引模块、状态机模块和互连总线;存储器模块、点云处理模块、栅格索引模 ...
【技术保护点】
【技术特征摘要】
1.一种基于相关性扫描匹配算法的硬件加速电路,其特征在于,所述硬件电路与激光雷达存在电性连接关系;所述硬件电路包括存储器模块、点云处理模块、栅格索引模块、状态机模块和互连总线;存储器模块、点云处理模块、栅格索引模块和状态机模块都通过所述互连总线建立数据传输关系;点云处理模块,还用于在状态机模块的控制下,从存储器模块读取当前存储的点云,再控制读取到的点云执行旋转变换;点云处理模块,用于在状态机模块的控制下,读取当前一次旋转变换的结果,再控制当前一次旋转变换的结果执行离散化,再将离散化的结果设置为离散点云,然后将离散点云通过所述互连总线存储到存储器模块内;栅格索引模块,用于在状态机模块的控制下,从所述存储器模块内获取离散点云,再按照预设坐标偏移值和搜索步长,计算出离散点云映射到地图存储空间的索引值,并将索引值设置为相应栅格点的占用概率的读取地址;存储器模块,设置有地图存储空间,用于存储所述总线接口传输过来的待搜索栅格地图;存储器模块,用于存储激光雷达采集的一圈点云和预先设置出的三角函数值;所述当前存储的点云是激光雷达采集的一圈点云;其中,相应栅格点的占用概率是点云经过所述点云处理模块处理后,在待搜索栅格地图内相匹配的栅格点的概率值;在所述待搜索栅格地图内,栅格点的占用概率存在一个相匹配的索引值。2.根据权利要求1所述硬件加速电路,其特征在于,所述点云处理模块包括点云旋转子模块;所述点云旋转子模块包括第一寄存器、第二寄存器、第一流水线结构和第二流水线结构;第一寄存器和第二寄存器都与第一流水线结构相连接,第一流水线结构用于在状态机模块的控制下,从存储器模块读取当前存储的点云的横坐标,再控制读取到的点云的横坐标执行旋转变换;第一寄存器和第二寄存器都与第二流水线结构相连接,第二流水线结构用于在状态机模块的控制下,从存储器模块读取当前存储的点云的纵坐标,再控制读取到的点云的纵坐标执行旋转变换;其中,所述互连总线将点云的横坐标传输给第一寄存器;所述互连总线传输给所述第一寄存器的点云的横坐标是来源于所述当前存储的点云的横坐标;其中,所述互连总线将点云的纵坐标缓存到第二寄存器;所述互连总线传输给所述第二寄存器的点云的纵坐标是来源于所述当前存储的点云的纵坐标;其中,第一流水线结构和第二流水线结构是并行的流水线结构。3.根据权利要求2所述硬件加速电路,其特征在于,所述第一流水线结构包括第一点云乘法器、第二点云乘法器和点云减法器;第一点云乘法器和第二点云乘法器都属于乘法器,点云减法器属于减法器;第一点云乘法器的第一输入端与第一寄存器的输出端连接;第一点云乘法器的第二输入端,用于接收当前一次旋转变换所达到的旋转角度对应的
余弦函数值,其中,当前一次旋转变换所达到的旋转角度是角度搜索步长与上一次旋转变换所达到的旋转角度的和值;第二点云乘法器的第一输入端与第二寄存器的输出端连接;第二点云乘法器的第二输入端,用于接收当前一次旋转变换所达到的旋转角度对应的正弦函数值;点云减法器的第一输入端与第一点云乘法器的输出端连接,点云减法器的第二输入端与第二点云乘法器的输出端连接;点云减法器用于将输出的差值传输给所述点云离散化子模块,并将点云减法器输出的差值设置为所述第一流水线结构输出的当前一次旋转变换出的横坐标结果。4.根据权利要求2所述硬件加速电路,其特征在于,所述第二流水线结构包括第三点云乘法器、第四点云乘法器和点云加法器;第三点云乘法器和第四点云乘法器都属于乘法器,点云加法器属于加法器;第三点云乘法器的第一输入端与所述第一寄存器的输出端连接;第三点云乘法器的第二输入端,用于接收所述当前一次旋转变换所达到的旋转角度对应的正弦函数值;其中,当前一次旋转变换所达到的旋转角度是角度搜索步长与上一次旋转变换所达到的旋转角度的和值;第四点云乘法器的第一输入端与所述第二寄存器的输出端连接;第四点云乘法器的第二输入端,用于接收所述当前一次旋转变换所达到的旋转角度对应的余弦函数值;点云加法器的第一输入端与第三点云乘法器的输出端连接,点云加法器的第二输入端与第四点云乘法器的输出端连接;点云加法器用于将输出的和值传输给所述点云离散化子模块,并将点云加法器输出的和值设置为所述第二流水线结构输出的当前一次旋转变换出的纵坐标结果。5.根据权利要求3所述硬件加速电路,其特征在于,所述点云处理模块还包括点云离散子模块;所述点云离散化子模块包括第三流水线结构;第三流水线结构,用于在所述状态机模块的控制下,读取所述第一流水线结构输出的当前一次旋转变换出的横坐标结果,再控制所述当前一次旋转变换出的横坐标结果执行离散化,再将离散化的结果设置为离散点云的横坐标值,然后将离散点云的横坐标值通过所述互连总线存储到存储器模块内。6.根据权利要求5所述硬件加速电路,其特征在于,所述第三流水线结构包括第一离散加法器、第一离散减法器和第一离散乘法器;第一离散加法器属于加法器,第一离散减法器属于减法器,第一离散乘法器属于乘法器;第一离散加法器的第一输入端与所述第一流水线结构中的所述点云减法器的输出端连接,第一离散加法器的第一输入端用于接收所述当前一次旋转变换出的横坐标结果;第一离散加法器的第二输入端,用于接收所述互连总线传输过来的机器人位置的横坐标,其中,机器人位置的横坐标是预先计算出的机器人在世界坐标系下的横轴坐标值;第一离散加法器,用于控制所述当前一次旋转变换出的横坐标结果与机器人位置的横坐标相加,再将相加得到的和值输出,使得该和值成为点云转换到世界坐标系下的横轴坐标值;第一离散减法器的第一输入端与第一离散加法器的输出端连接;第一离散减法器的第
二输入端,用于接收所述互连总线传输过来的地图最大横坐标值;第一离散乘法器的第一输入端与第一离散减法器的输出端连接;第一离散乘法器的第二输入端,用于接收所述互连总线传输过来的地图分辨率的倒数;第一离散乘法器,用于通过所述互连总线将相乘得到的积值输出至所述存储器模块;第一离散乘法器输出的积值被配置为所述离散点云的横坐标值,确定完成横坐标的离散化,实现将当前存储的点云的横坐标值对齐到所述待搜索栅格地图的坐标系内,同时将第一离散乘法器输出的积值设置为所述第三流水线结构输出的离散化的结果。7.根据权利要求4所述硬件加速电路,其特征在于,所述点云离散化子模块还包括第四流水线结构;第四流水线结构,用于在所述状态机模块的控制下,读取所述第二流水线结构输出的当前一次旋转变换出的纵坐标结果,再控制所述当前一次旋转变换出的纵坐标结果执行离散化,再将离散化的结果设置为离散点云的纵坐标值,然后将离散点云的纵坐标值通过所述互连总线存储到存储器模块内。8.根据权利要求...
【专利技术属性】
技术研发人员:王珂,肖刚军,包敏杰,马宝腾,周和文,许登科,孙明,
申请(专利权)人:哈尔滨工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。