System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于自主导航、同时定位与建图,具体涉及一种面向资源受限嵌入式系统平台的slam硬件加速器架构。
技术介绍
1、slam(同时定位与建图)是自主导航领域中最关键的技术之一,它使无人系统能够在一个未知环境中,依据传感器捕获的数据对周围环境进行增量式的地图构建,并提供实时、精确的自身位置信息,支持系统在复杂和动态环境中实现自主操作和智能决策。
2、slam在自动驾驶、导航机器人、三维重建等领域有广泛的应用,其核心需求包括高效的数据处理能力、实时的地图构建和定位能力,以及在复杂环境中的鲁棒性。slam算法通常需要处理大量的传感器数据,包括摄像头图像、激光雷达数据和惯性测量单元(imu)数据。这些数据的高吞吐量和实时处理需求使得slam在嵌入式平台上实现面临严峻挑战。传统的cpu往往无法满足slam算法的计算密集型要求,导致性能瓶颈和较高的功耗。
3、gpu(图形处理单元)拥有数千个计算核心,通过并行化处理图像数据、特征提取和匹配等计算密集型任务,大幅提升slam系统的性能。然而,gpu在slam加速上具有几个显著的缺点:首先,gpu功耗较高,不太适合对功耗敏感的嵌入式系统;其次,由于gpu复杂的架构和较长的数据传输路径,使其不适合应用于实时性要求极高的环境;此外,gpu的并行计算能力虽然强大,但其通用性较高,导致在特定应用中的不能通过灵活的架构设计实现性能优化。
4、fpga(现场可编程门阵列)是一种灵活的可编程逻辑器件,具有大量的可编程逻辑单元(如逻辑门、寄存器和dsp块),以及可编程的连
5、文献号为cn114253511a的现有技术公开了一种基于激光雷达的slam硬件加速,其包括位姿数据存储器、里程数据存储器、激光数据存储器和地图数据存储器,分别与位姿数据存储器和里程数据存储器连接、求得当前时刻的粒子初步位姿并叠加高斯噪声的运动模型模块,分别与运动模型模块、激光数据存储器和地图数据存储器连接、并结合运动模型模块输出的初步计算值对激光数据和地图数据进行粒子得分计算的扫描匹配模块,与扫描匹配模块连接的粒子数据存储器,与粒子数据存储器连接、累加激光数据的得分并得到粒子的权值、根据权值进行重采样的重采样模块,以及与重采样模块连接的粒子计算后位姿数据存储器。
6、文献号为cn109919825a的现有技术公开了一种orb-slam硬件加速器,其包括fpga硬件加速模块,用于对特征提取和特征匹配进行加速;传感器模块,用于捕获图像;处理器系统,作为主机控制fpga硬件加速模块和传感器模块,并负责运行位姿估计、位姿优化以及地图更新。其利用fpga硬件加速模块对orb-slam流程中计算量最大、耗时最多的过程进行加速,能够有效提高orb-slam的运行速度并降低功耗,大幅提高能耗比,降低orb-slam在功耗受限的平台上部署的难度
7、综上,现有技术中没有人专注于算力、存储、能源等资源严格受限的嵌入式系统平台提出解决方案。
技术实现思路
1、本专利技术要解决的技术问题为:
2、本专利技术的目的是提出了一种适用于资源受限环境的slam硬件加速架构,以实现在功耗、时延等方面大幅提升slam系统的性能,实现资源受限下的slam加速。
3、本专利技术为解决上述技术问题所采用的技术方案为:
4、一种适用于资源受限环境的slam硬件加速架构,所述slam硬件加速架构的设计过程为:
5、步骤一:基于fpga的同步双目图像采集
6、利用fpga系统的并行性,将双目相机采集到的左、右图像数据同步存储到fifo缓冲区中;对于每一路图像,开辟两个bank存储空间,采用乒乓操作进行数据管理;系统初始化结束后,将第一帧图像的第一个数据写入bank1的首地址,通过dram控制模块对输出的数据进行计数,并使这些数据分配到相应的地址空间;当计数器达到当前bank的最大写地址时,表明一帧图像的存储已完成;在每次帧复位信号到来时,系统将切换到bank2进行数据存储,此时,指针指向bank2的首地址,继续下一帧图像数据的存储过程;
7、同时对采集到的rgb图像进行预处理,首先,将rgb图像转换为灰度图像;然后,采用高斯滤波方法去除孤立噪点,增强图像的平滑性和稳定性;接下来,校正由于相机镜头引起的图像畸变问题,确保后续特征提取和匹配的精度和可靠性;
8、步骤二:图像特征提取与匹配
9、该步骤具体实施过程如下:首先,对步骤一接收的图像进行区块划分,采用多级缓冲流水线的方式进行并行处理;将输入数据和中间运算过程中的浮点数转换为定点数格式,并避免数据在计算过程中发生溢出;特征提取步骤利用fpga并行计算,同时检测图像中具有显著变化的多个像素块,并输出这些关键点的坐标对;特征描述步骤为每个特征点生成独特的描述子;特征匹配步骤使用汉明距离等方法对图像特征进行匹配,识别出帧间的对应特征点;
10、步骤三:fpga与cpu高速数据通信
11、在slam的特征匹配结束后,cpu通过高速总线向fpga发送内存地址信息,并启动数据传输;fpga将匹配结果通过dma写入指定的内存地址后,更新状态为处理完成;cpu检测到状态更新信号后,从内存中读取匹配结果,并执行以下算法操作:
12、首先进行误差计算和优化,利用ransac等算法剔除误匹配特征点,确保匹配结果的可靠性;接着,cpu进行位姿估计,计算当前帧相对于地图的位姿变换,并通过ba优化算法进一步优化位姿和地图点的位置;随后,更新关键帧管理,确保系统有效地选择和维护关键帧;完成上述步骤后,cpu再次通过dma高速总线将处理所得的位姿数据、地图数据、运动模型信息传到fpga,由fpga进行扩展卡尔曼滤波(ekf)流程的硬件加速处理;
13、步骤四:扩展卡尔曼滤波加速器
14、在上一步骤中,已经将滤波器的初始状态估计、协方差矩阵、系统模型参数和传感器观测数据加载到fpga的内部存储器中;在fpga内部设有状态预测单元、协方差预测单元、卡尔曼增益计算单元、状态更新单元和协方差更新单元,所述单元可通过并行计算,实现状态预测、协方差预测、卡尔曼增益计算和状态更新ekf算法核心步骤的硬件加速;
15、硬件架构还包括多个并行计算模块,用于高效执行矩阵运算;控制单元协调所有计算单元的工作流程,管理数据的传输、计算任务的分配和迭代过程的控制,确保slam系统在实时应用中稳定高效本文档来自技高网...
【技术保护点】
1.一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,所述SLAM硬件加速架构的设计过程为:
2.根据权利要求1所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,对RGB图像进行灰度处理,公式为:
3.根据权利要求2所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,步骤二的具体实现过程为:
4.根据权利要求3所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,步骤二的具体实现过程为:
5.根据权利要求4所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,步骤三的具体实现过程为:
6.根据权利要求5所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,步骤四的具体实现过程为:
7.根据权利要求6所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,采用有限状态机(FSM)来表示系统中的有限个状态,并对这些状态间的转移和行为进行约束;FSM的状态转移和行为依赖于当前状态和外部输入;设计合理的FSM,用以控制各运算步骤之间的转移,防止逻
8.根据权利要求7所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,步骤五的具体实再过程为:
9.根据权利要求8所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,算力分配模块根据方案实时配置FPGA逻辑电路,调整计算流水线结构、增减流水线及矩阵加速模块数量;在平台静止状态下作业时,关闭FPGA以节约功耗;基于配置过程存在短暂耗时,该模块将增量式更新计算流程,把当前时钟周期配置好的计算流水线/矩阵加速电路立即动态加载到计算过程中,以避免等待耗时,实现零延迟动态重配置;
10.根据权利要求9所述的一种适用于资源受限环境的SLAM硬件加速架构,其特征在于,
...【技术特征摘要】
1.一种适用于资源受限环境的slam硬件加速架构,其特征在于,所述slam硬件加速架构的设计过程为:
2.根据权利要求1所述的一种适用于资源受限环境的slam硬件加速架构,其特征在于,对rgb图像进行灰度处理,公式为:
3.根据权利要求2所述的一种适用于资源受限环境的slam硬件加速架构,其特征在于,步骤二的具体实现过程为:
4.根据权利要求3所述的一种适用于资源受限环境的slam硬件加速架构,其特征在于,步骤二的具体实现过程为:
5.根据权利要求4所述的一种适用于资源受限环境的slam硬件加速架构,其特征在于,步骤三的具体实现过程为:
6.根据权利要求5所述的一种适用于资源受限环境的slam硬件加速架构,其特征在于,步骤四的具体实现过程为:
7.根据权利要求6所述的一种适用于资源受限环境的slam硬件加速架构,其特征在于,采用有限状态机(fsm)来表示系统中的有限个状态,并对...
【专利技术属性】
技术研发人员:张立宪,魏正瑞,翁睿,吴桐,韩岳江,高天禹,张舜智,马雨婷,
申请(专利权)人:哈尔滨工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。