用于点云变换的硬件加速电路、芯片及机器人制造技术

技术编号:37293681 阅读:23 留言:0更新日期:2023-04-21 22:40
本发明专利技术公开一种用于点云变换的硬件加速电路、芯片及机器人,所述硬件加速电路与激光雷达存在电性连接关系;所述硬件加速电路包括点云处理模块和存储器模块;所述点云处理模块包括点云旋转子模块和点云离散子模块;点云旋转子模块和点云离散子模块都与存储器模块存在电性连接关系,点云旋转子模块和点云离散子模块存在电性连接关系;点云旋转子模块,用于从存储器模块读取当前存储的点云,再控制读取到的点云执行旋转变换;点云离散子模块,用于读取点云旋转子模块在当前一次旋转变换下输出的结果,再控制当前一次旋转变换的结果执行离散化,再将离散化的结果设置为离散点云,然后将离散点云存储到存储器模块内。后将离散点云存储到存储器模块内。后将离散点云存储到存储器模块内。

【技术实现步骤摘要】
用于点云变换的硬件加速电路、芯片及机器人


[0001]本专利技术涉及硬件加速器的
,尤其涉及用于点云变换的硬件加速电路、芯片及机器人。

技术介绍

[0002]目前,基于激光雷达的移动机器人SLAM算法中,一般使用相关性扫描匹配算法将当前时刻的雷达点云通过旋转与平移变换与地图对齐;或将相邻两帧或多帧激光点云,通过坐标变换转换到同一坐标系下;或者将激光点云与已知地图配准。
[0003]为了让点云在不同的旋转角度下都有命中地图上的每个区域的可能,现有技术公开的加速器需使用数字电路系统中的状态机来控制点云不断进行坐标变换,以转换匹配到栅格地图上,预测更新栅格地图中的机器人的位姿。但是状态机调度坐标旋转平移变换涉及到大量的工作状态循环、频繁的计数触发、时钟延时等待,必要时产生的CPU轮询,更是增加系统的计算复杂度,很难将其部署于算力受限的SLAM计算平台。

技术实现思路

[0004]针对激光点云在状态机调度过程中面临庞大计算量和延时问题,本专利技术采用非状态机控制下的硬件加速方式来加快点云的变换过程,具体的技术方案如下:
[0005]一种用于点云变换的硬件加速电路,所述硬件加速电路与激光雷达存在电性连接关系;所述硬件加速电路包括点云处理模块和存储器模块;所述点云处理模块包括点云旋转子模块和点云离散子模块;点云旋转子模块和点云离散子模块都与存储器模块存在电性连接关系,点云旋转子模块和点云离散子模块之间存在电性连接关系;点云旋转子模块,用于从存储器模块读取当前存储的点云,再控制读取到的点云执行旋转变换;点云离散子模块,用于读取点云旋转子模块在当前一次旋转变换下输出的结果,再控制当前一次旋转变换的结果执行离散化,再将离散化的结果设置为离散点云,然后将离散点云存储到存储器模块内;存储器模块,设置有地图存储空间,用于存储预先构建的待搜索地图;存储器模块,用于存储激光雷达采集的一圈点云和预先设置出的三角函数值;所述当前存储的点云是激光雷达采集的一圈点云。
[0006]与现有技术相比,本技术方案不利用状态机去控制的硬件加速电路去完成点云的旋转平移变换,实现点云变换到栅格地图上,即可完成激光点云与已知地图配准,能够直接与存储器进行数据交互,不需使用总线协议去协调状态机的运转。另一方面,所述点云处理模块是设计为用于坐标系变换的流水线结构,不需使用状态机在特定的时钟周期下进行地址信息的索引,避免出现工作状态循环、频繁的计数触发、时钟延时等待等现象,减轻电路系统的负载,加快并行计算的速度。
[0007]作为一种技术方案,所述点云旋转子模块包括第一寄存器、第二寄存器、第一流水线结构和第二流水线结构;第一寄存器和第二寄存器都与第一流水线结构相连接,第一流水线结构用于从存储器模块读取当前存储的点云的横坐标,再控制读取到的点云的横坐标
执行旋转变换;第一寄存器和第二寄存器都与第二流水线结构相连接,第二流水线结构用于从存储器模块读取当前存储的点云的纵坐标,再控制读取到的点云的纵坐标执行旋转变换;其中,所述存储器模块将点云的横坐标传输给第一寄存器;所述存储器模块传输给所述第一寄存器的点云的横坐标是来源于所述当前存储的点云的横坐标;其中,所述存储器模块将点云的纵坐标缓存到第二寄存器;所述存储器模块传输给所述第二寄存器的点云的纵坐标是来源于所述当前存储的点云的纵坐标;其中,第一流水线结构和第二流水线结构是并行的流水线结构。
[0008]进一步地,所述第一流水线结构包括第一点云乘法器、第二点云乘法器和点云减法器;第一点云乘法器和第二点云乘法器都属于乘法器,点云减法器属于减法器;第一点云乘法器的第一输入端与第一寄存器的输出端连接;第一点云乘法器的第二输入端,用于接收当前一次旋转变换所达到的旋转角度对应的余弦函数值,其中,所述预先设置出的三角函数值包括当前一次旋转变换所达到的旋转角度对应的余弦函数值;第二点云乘法器的第一输入端与第二寄存器的输出端连接;第二点云乘法器的第二输入端,用于接收当前一次旋转变换所达到的旋转角度对应的正弦函数值,其中,所述预先设置出的三角函数值包括当前一次旋转变换所达到的旋转角度对应的正弦函数值;点云减法器的第一输入端与第一点云乘法器的输出端连接,点云减法器的第二输入端与第二点云乘法器的输出端连接;点云减法器用于将输出的差值传输给所述点云离散化子模块,并将点云减法器输出的差值设置为所述第一流水线结构输出的当前一次旋转变换出的横坐标结果。
[0009]进一步地,所述第二流水线结构包括第三点云乘法器、第四点云乘法器和点云加法器;第三点云乘法器和第四点云乘法器都属于乘法器,点云加法器属于加法器;第三点云乘法器的第一输入端与所述第一寄存器的输出端连接;第三点云乘法器的第二输入端,用于接收所述当前一次旋转变换所达到的旋转角度对应的正弦函数值;其中,所述预先设置出的三角函数值包括当前一次旋转变换所达到的旋转角度对应的正弦函数值;第四点云乘法器的第一输入端与所述第二寄存器的输出端连接;第四点云乘法器的第二输入端,用于接收所述当前一次旋转变换所达到的旋转角度对应的余弦函数值;其中,所述预先设置出的三角函数值包括当前一次旋转变换所达到的旋转角度对应的余弦函数值;点云加法器的第一输入端与第三点云乘法器的输出端连接,点云加法器的第二输入端与第四点云乘法器的输出端连接;点云加法器用于将输出的和值传输给所述点云离散化子模块,并将点云加法器输出的和值设置为所述第二流水线结构输出的当前一次旋转变换出的纵坐标结果。
[0010]前述两个技术方案以旋转矩阵为基本的组合逻辑运算架构,仅使用加法器、减法器和乘法器构建出点云的横坐标和点云的纵坐标同时旋转变换的并行流水线结构,用于接收并处理软件预先计算出的三角函数值,省去三角函数硬件计算模块。
[0011]作为一种技术方案,所述点云处理模块还包括点云离散子模块;所述点云离散化子模块包括第三流水线结构;第三流水线结构,用于读取所述第一流水线结构输出的当前一次旋转变换出的横坐标结果,再控制所述当前一次旋转变换出的横坐标结果执行离散化,再将离散化的结果设置为离散点云的横坐标值,然后将离散点云的横坐标值存储到存储器模块内。
[0012]进一步地,所述第三流水线结构包括第一离散加法器、第一离散减法器和第一离散乘法器;第一离散加法器属于加法器,第一离散减法器属于减法器,第一离散乘法器属于
乘法器;第一离散加法器的第一输入端与所述第一流水线结构中的所述点云减法器的输出端连接,第一离散加法器的第一输入端用于接收所述当前一次旋转变换出的横坐标结果;第一离散加法器的第二输入端,用于接收所述存储器模块传输过来的机器人位置的横坐标,其中,机器人位置的横坐标是预先计算出的机器人在世界坐标系下的横轴坐标值;第一离散加法器,用于控制所述当前一次旋转变换出的横坐标结果与机器人位置的横坐标相加,再将相加得到的和值输出,使得该和值成为点云转换到世界坐标系下的横轴坐标值;第一离散减法器的第一输入端与第一离散加法器的输出端连接;第一离散减法器的第二输入端,用于接收所述存储器模块传输过来的地图最大横坐标值;第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于点云变换的硬件加速电路,其特征在于,所述硬件加速电路与激光雷达存在电性连接关系;所述硬件加速电路包括点云处理模块和存储器模块;所述点云处理模块包括点云旋转子模块和点云离散子模块;点云旋转子模块和点云离散子模块都与存储器模块存在电性连接关系,点云旋转子模块和点云离散子模块存在电性连接关系;点云旋转子模块,用于从存储器模块读取当前存储的点云,再控制读取到的点云执行旋转变换;点云离散子模块,用于读取点云旋转子模块在当前一次旋转变换下输出的结果,再控制当前一次旋转变换的结果执行离散化,再将离散化的结果设置为离散点云,然后将离散点云存储到存储器模块内;存储器模块,设置有地图存储空间,用于存储预先构建的待搜索地图;存储器模块,用于存储激光雷达采集的一圈点云和预先设置出的三角函数值;所述当前存储的点云是激光雷达采集的一圈点云。2.根据权利要求1所述硬件加速电路,其特征在于,所述点云旋转子模块包括第一寄存器、第二寄存器、第一流水线结构和第二流水线结构;第一寄存器和第二寄存器都与第一流水线结构相连接,第一流水线结构用于从存储器模块读取当前存储的点云的横坐标,再控制读取到的点云的横坐标执行旋转变换;第一寄存器和第二寄存器都与第二流水线结构相连接,第二流水线结构用于从存储器模块读取当前存储的点云的纵坐标,再控制读取到的点云的纵坐标执行旋转变换;其中,所述存储器模块将点云的横坐标传输给第一寄存器;所述存储器模块传输给所述第一寄存器的点云的横坐标是来源于所述当前存储的点云的横坐标;其中,所述存储器模块将点云的纵坐标缓存到第二寄存器;所述存储器模块传输给所述第二寄存器的点云的纵坐标是来源于所述当前存储的点云的纵坐标;其中,第一流水线结构和第二流水线结构是并行的流水线结构。3.根据权利要求2所述硬件加速电路,其特征在于,所述第一流水线结构包括第一点云乘法器、第二点云乘法器和点云减法器;第一点云乘法器和第二点云乘法器都属于乘法器,点云减法器属于减法器;第一点云乘法器的第一输入端与第一寄存器的输出端连接;第一点云乘法器的第二输入端,用于接收当前一次旋转变换所达到的旋转角度对应的余弦函数值,其中,所述预先设置出的三角函数值包括当前一次旋转变换所达到的旋转角度对应的余弦函数值;第二点云乘法器的第一输入端与第二寄存器的输出端连接;第二点云乘法器的第二输入端,用于接收当前一次旋转变换所达到的旋转角度对应的正弦函数值,其中,所述预先设置出的三角函数值包括当前一次旋转变换所达到的旋转角度对应的正弦函数值;点云减法器的第一输入端与第一点云乘法器的输出端连接,点云减法器的第二输入端与第二点云乘法器的输出端连接;点云减法器用于将输出的差值传输给所述点云离散化子模块,并将点云减法器输出的差值设置为所述第一流水线结构输出的当前一次旋转变换出的横坐标结果。
4.根据权利要求2所述硬件加速电路,其特征在于,所述第二流水线结构包括第三点云乘法器、第四点云乘法器和点云加法器;第三点云乘法器和第四点云乘法器都属于乘法器,点云加法器属于加法器;第三点云乘法器的第一输入端与所述第一寄存器的输出端连接;第三点云乘法器的第二输入端,用于接收所述当前一次旋转变换所达到的旋转角度对应的正弦函数值;其中,所述预先设置出的三角函数值包括当前一次旋转变换所达到的旋转角度对应的正弦函数值;第四点云乘法器的第一输入端与所述第二寄存器的输出端连接;第四点云乘法器的第二输入端,用于接收所述当前一次旋转变换所达到的旋转角度对应的余弦函数值;其中,所述预先设置出的三角函数值包括当前一次旋转变换所达到的旋转角度对应的余弦函数值;点云加法器的第一输入端与第三点云乘法器的输出端连接,点云加法器的第二输入端与第四点云乘法器的输出端连接;点云加法器用于将输出的和值传输给所述点云离散化子模块,并将点云加法器输出的和值设置为所述第二流水线结构输出的当前一次旋转变换出的纵坐标结果。5.根据权利要求3所述硬件加速电...

【专利技术属性】
技术研发人员:许登科邓文拔
申请(专利权)人:珠海一微半导体股份有限公司
类型:发明
国别省市:

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

1