首页 / 专利库 / 脚踏车和非动力车辆 / 自行车前叉 / 前叉 / 舵管 / 一种基于流式计算的地图创建方法及其系统

一种基于流式计算的地图创建方法及其系统

阅读:775发布:2023-01-12

专利汇可以提供一种基于流式计算的地图创建方法及其系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于流式计算的地图创建方法及其系统,包括:移动 机器人 通过 数据采集 模 块 定时从 激光雷达 和惯性 传感器 读取数据并封装为消息,调用消息客户端将消息提交到流式计算集群;集群执行分布式并行基于的地图创建方法,从队列中取出消息,将数据分发给计算 节点 更新粒子;分发给下面的计算节点,实现粒子的 采样 和重采样,最终的 定位 和地图特征数据发送给 移动机器人 。本发明将流式计算集群端强大的计算能 力 和SR-UKF SLAM 算法 结合起来实现基于流式计算的分布式并行 SLAM算法 ,将特征地图生成过程在流式计算 框架 进行实时并行处理,弥补移动机器人地图生成时候机载能力不足,负担过重的短板,提高处理效率。,下面是一种基于流式计算的地图创建方法及其系统专利的具体信息内容。

1.一种基于流式计算的地图创建方法,应用于移动机器人,其特征在于:移动机器人将采集的数据传输至流式计算集群实现地图创建与更新;具体包括以下步骤:
步骤一:数据采集;所述移动机器人在移动,移动机器人端的激光雷达实时采集移动机器人的观测数据;移动机器人端的惯性传感器实时采集运动数据;所述运动数据与观测数据进行预处理后,存于移动机器人端;
步骤二:数据传输;将预处理后的数据封装为消息,通过消息网关提交到流式计算集群上;
步骤三:定位与地图创建;基于流式计算的地图创建方法,通过若干计算节点执行分布式并行的平方根卡尔曼滤波粒子滤波算法获得移动机器人位姿和地图特征信息;从队列中取出消息,将数据分发给计算节点,每个计算节点更新粒子,实现粒子的采样和重采样;最终的定位和地图特征数据发送给移动机器人;
步骤四:定位和地图更新;移动机器人根据返回的定位和地图特征数据,更新全局地图,同时推送给局部路径规划算法辅助移动机器人避障。
2.根据权利要求1所述的一种基于流式计算的地图创建方法,其特征在于:所述步骤三具体包括以下步骤:
S31:取出数据:从消息队列中取出运动数据和观测数据,分发给多个计算节点;所述运动数据包括线速度和;所述观测数据为与一组特征的距离和方向角;并行步骤S32与步骤S34;
S32:并行位姿预测:多个计算节点中的特定计算节点并行进行本步骤;其中每个计算节点采用基于平方根卡尔曼滤波算法实现相应粒子的位姿预测;该步骤首先根据上一时刻当前粒子的状态和协方差矩阵初始化Sigma点,然后通过运动模型更新Sigma点,最后预测新的位姿和协方差矩阵平方根;将计算的结果传输至步骤33;
S33:数据关联:将当前粒子的信息与观测到的环境路标和地图上已标注过的环境路标进行关联;将关联的结果传输至步骤S35;
S34:先验知识调整:多个计算节点中的另一部分特定计算节点根据移动机器人适应度函数调整先验知识Q和R,其中Q和R分别代表的是运动误差协方差矩阵和观测误差的协方差矩阵;该步骤是在粒子采样过程中融入先验知识修正的过程,使其能反映真实的先验知识;
该步骤将先验知识Q和R设定为动态的,并标记为Qt和Rt;调整通过临近观测的不一致性定义关于Q和R的适应度函数,在此适应度函数基础上,通过粒子群优化(PSO)算法搜索出Q和R的一个预估值据预估值,完成Qt和Rt的修正;将修正的结果传输至步骤S35;
S35:并行位姿更新,每个计算节点采用基于平方根卡尔曼滤波算法实现相应粒子位姿的更新;首先根据预测的Sigma点和观测方程更新观测信息;然后计算出基于预测观测值的协方差矩阵平方根,再通过QR分解和cholupdate函数更新该协方差矩阵平方根;最后计算卡尔曼增益,根据卡尔曼增益更新状态均值和协方差矩阵的平方根;
S36:并行地图更新;地图的估计被分解为M个相互独立特征的估计;通过卡尔曼滤波算法EKF来估计当前粒子的每个特征的均值和方差;最后按照目标分布和建议分布的比例计算该粒子的权值;
S37:将权值最大的粒子作为位姿和环境特征地图返回给移动机器人;
S38:计算有效粒子数Neff,当小于指定值执行粒子集重采样;
M是粒子数量, 是第k个粒子归一化的权重;如果Neff小于指定的阀值粒子集会被重采样。重采样过后,所有粒子权重被重置;
步骤S37与步骤S38能够并发执行;
步骤S39:将所有粒子信息存储到分布式数据库中;所述步骤S39与步骤S38能够并发执行。
3.根据权利要求2所述的一种基于流式计算的地图创建方法,其特征在于:所述并行位姿预测具体包括具体过程包括步骤S321至S322:
S321:计算t-1时刻的Sigma点Xt-1,如式(1):
Xt-1=[xt-1 xt-1+ηSt-1 xt-1-ηSt-1]        (1)
式(1)中:xt-1是t-1时刻该粒子对移动机器人位姿的估计,St-1是t-1时刻的协方差矩阵平方根,尺度常量η计算如式(2):
式(2)中,L为系统状态的维数,λ=α2(L+κ)-L为尺度调节因子,常量α决定了Sigma点在均值附近的分布,通常将α设置为1e-4≤α≤1,κ为次级尺度调节因子,一般设置为0;β是用来结合系统状态的先验分布,对于高斯分布,β取值为2;
S322:预测:根据t-1时刻的Sigma点和运动模型预测t时刻的Sigma点 如式(3);
(3)式中g函数描述了机器人的运动模型,ut是t时刻采自惯性导航的将运动数据;
位姿预测的均值和协方差矩阵平方根通过Sigma点来计算;首先通过QR分解来求 为保证协方差的平方根矩阵 的半正定性,使用Cholesky一阶更新 如式(4)
其中: 为第i个Sigma点均值的权值, 为第i个Sigma点方差的权值;且
根据预测的机器人位姿和协方差矩阵更新Sigma点
4.根据权利要求3所述的一种基于流式计算的地图创建方法,其特征在于:所述先验知识调整具体的过程包括步骤S341至S346;
S341:初始化:如果本次或者上次观测的路标数量小于3,不执行Qt和Rt的调整;否则将移动机器人上一时刻的位姿 设为原点,转向角设为0,位姿采用极坐标,地图信息由上一次的观测zt-1表示;即:
S342:位姿预测:根据极坐标下的运动模型预测t时刻机器人的位姿
(6)式中,f函数是极坐标下的机器人的运动模型;
S343:数据关联:将临近两次观测到的路标进行关联;关联过程使用动态联合最近邻算法实现数据关联;
S344:通过DFC&ASD-PSO算法搜索最优的参数;
将预测的位姿 上一时刻Qt-1和Rt-1以及观测zt和zt-1作为输入参数,通过DFC&ASD-PSO搜索最优的 和 使得适应度函数值尽可能大;
S345:观测预测:根据机器人位姿和地图信息预测t时刻的观测信息;
式中s函数是极坐标下的观测模型;
S346:Qt和Rt的调整;
根据预测的机器人位姿和通过DFC&ASD-PSO搜索的 进行对比,当两者之间差值较大的时候,调整Qt和Rt;即带入(7)式中:
式(7)中, 是第j个路标的观测值, 是第j个路标预测的观测值;Mo是临近两次重复观测到的路标数量;使用 表示运动误差,Dxt~N(0,1)服从正态分布;为了避免频繁地调整,只有当一定概率事件发生的情况下才调整Qt;如果|Dxt|大于1.4或者小于0.2,Qt调整如下:
否则Qt不调整;
Qt=Qt-1                (9)
式(8)中,ωq是一个根据观测到的路标数量动态调整的参数;设定 代表第j个路标的观测误差;Mn表示 绝对值大于1.4的数量,Ln表示 绝对值小于0.2的数量;
如果Mnp或者Lnp大于设定的阀值Nmax,Rt调整如下:
式(10)中,ωr是一个调整系数;当M0减少的时候,ωq和ωr减少;反之,ωq和ωr增加。
5.根据权利要求4所述的一种基于流式计算的地图创建方法,其特征在于:所述并行位姿更新具体包括步骤S351至S354;
S351根据预测的Sigma点和观测方程预测t时刻移动机器人的观测;
其中,h函数是观察模型,zt是t时刻的观测数据;
S352:根据式(12)计算出基于预测观测值的协方差矩阵平方根 QR分解和
cholupdate更新同样应用于 的更新;
S353;为了通过观测来更新对机器人位姿的预测值和协方差矩阵的平方根,计算卡尔曼增益Kt;如式(13);
S354;最后通过卡尔曼增益更新状态均值和协方差矩阵的平方根;如下式(14):
6.根据权利要求5所述的一种基于流式计算的地图创建方法,其特征在于:所述并行地图更新具体包括步骤S361至S362;
S361:地图特征的均值和方差的估计:
由于路标估计是基于粒子的,每个粒子关联了N个路标的EKF估计:;路标的更新确定于该路标在t时刻有没有被观测到;如果该路标是新近观测的,其均值和协方差初始化如下:
式(15)中,h-1是观测函数的逆函数,Hrz是函数h-1的雅可比矩阵;如果第j个路标在t时刻没有被观测到,则它的均值和方差保持不变;如果第j个路标在t时刻被观测到,均值和方差更新如下:
式(16)中,Kt是卡尔曼增益,Hz是函数h的雅可比矩阵;
S362:计算权值
权值被定义为目标分布和建议分布的比例;
代表t时刻第i个粒子的权值。
7.一种基于流式计算的地图创建系统,使用如权利要求1至6任一权利要求所述的一种基于流式计算的地图创建方法,其特征在于:包括移动机器人端和流式计算集群端;所述移动机器人端运行在嵌入式操作系统上;移动机器人端包括四个部分:数据采集模、地图管理模块、消息网关和消息客户端;
流式计算集群端包括分布式并行计算模块、消息服务模块、分布式存储模块、应用协调模块;流式计算集群端通过集群方式实现高可用和负载均衡的消息服务的消息服务集群模块;通过分布式方式实现移动机器人传感器数据和地图数据的存储的分布式存储模块;通过分布式并行计算节点实现的分布式地图创建模块;实现计算集群中主控节点、N个计算节点之间的协调、监控和管理的应用协调服务模块,N为大于等于1的整数。

说明书全文

一种基于流式计算的地图创建方法及其系统

技术领域

[0001] 本发明涉及移动机器人自主导航领域的应用,具体为一种基于流式计算的地图创建方法及其系统。

背景技术

[0002] 移动机器人广泛应用于军事、航天、深海、医疗、救灾、服务等领域,对其自主导航的精度和可靠性要求越来越高。地图创建和定位由于其重要的理论和应用价值,是实现移动机器人自主导航的关键。
[0003] 移动机器人机载能较难满足地图创建的计算量。传统地图创建方法完全依靠移动机器人本地的计算资源实时求解,执行速度慢。受益于网络数据传输速率的快速增长,计算技术在机器人领域开始得到应用。通过流式计算实时处理数据的特点,构建地图创建流式计算服务框架,实现地图创建分布式并行计算能够提高运行速度和精度,更好的支持移动机器人自主导航技术的快速发展。同时在集群端执行地图创建降低了移动机器人性能要求,可以对部分机载设备进行卸载,提高机器人的移动便携性能。

发明内容

[0004] 1.所要解决的技术问题:
[0005] 本发明的目的在于利用流式计算实时处理数据的特点,提供一种的地图创建的流式计算服务,弥补移动机器人地图创建时候机载能力不足和负担过重的短板,提高移动机器人地图创建的精度和效率。
[0006] 2.技术方案:
[0007] 一种基于流式计算的地图创建方法,应用于移动机器人,其特征在于:移动机器人将采集的数据传输至流式计算集群实现地图创建与更新;具体包括以下步骤:
[0008] 步骤一:数据采集;所述移动机器人在移动,移动机器人端的激光雷达实时采集移动机器人的观测数据;移动机器人端的惯性传感器实时采集运动数据;所述运动数据与观测数据进行预处理后,存于移动机器人端。
[0009] 步骤二:数据传输;将预处理后的数据封装为消息,通过消息网关提交到流式计算集群上。
[0010] 步骤三:定位与地图创建;基于流式计算的地图创建方法,通过若干计算节点执行分布式并行的平方根卡尔曼滤波粒子滤波算法获得移动机器人位姿和地图特征信息;从队列中取出消息,将数据分发给计算节点,每个计算节点更新粒子,实现粒子的采样和重采样;最终的定位和地图特征数据发送给移动机器人。
[0011] 步骤四:定位和地图更新;移动机器人根据返回的定位和地图特征数据,更新全局地图,同时推送给局部路径规划算法辅助移动机器人避障。
[0012] 进一步地,所述步骤三具体包括以下步骤:
[0013] S31:取出数据:从消息队列中取出运动数据和观测数据,分发给多个计算节点;所述运动数据包括线速度和;所述观测数据为与一组特征的距离和方向角;并行步骤S32与步骤S34。
[0014] S32:并行位姿预测:多个计算节点中的特定计算节点并行进行本步骤;其中每个计算节点采用基于平方根卡尔曼滤波算法实现相应粒子的位姿预测;该步骤首先根据上一时刻当前粒子的状态和协方差矩阵初始化Sigma点,然后通过运动模型更新Sigma点,最后预测新的位姿和协方差矩阵平方根;将计算的结果传输至步骤33。
[0015] S33:数据关联:将当前粒子的信息与观测到的环境路标和地图上已标注过的环境路标进行关联;将关联的结果传输至步骤S35。
[0016] S34:先验知识调整:多个计算节点中的另一部分特定计算节点根据移动机器人适应度函数调整先验知识Q和R,其中Q和R分别代表的是运动误差协方差矩阵和观测误差的协方差矩阵;该步骤是在粒子采样过程中融入先验知识修正的过程,使其能反映真实的先验知识;该步骤将先验知识Q和R设定为动态的,并标记为Qt和Rt;调整通过临近观测的不一致性定义关于Q和R的适应度函数,在此适应度函数基础上,通过粒子群优化(PSO)算法搜索出Q和R的一个预估值据预估值,完成Qt和Rt的修正;将修正的结果传输至步骤S35。
[0017] S35:并行位姿更新,每个计算节点采用基于平方根卡尔曼滤波算法实现相应粒子位姿的更新;首先根据预测的Sigma点和观测方程更新观测信息;然后计算出基于预测观测值的协方差矩阵平方根,再通过QR分解和cholupdate函数更新该协方差矩阵平方根;最后计算卡尔曼增益,根据卡尔曼增益更新状态均值和协方差矩阵的平方根。
[0018] S36:并行地图更新;地图的估计被分解为M个相互独立特征的估计;通过卡尔曼滤波算法EKF来估计当前粒子的每个特征的均值和方差;最后按照目标分布和建议分布的比例计算该粒子的权值。
[0019] S37:将权值最大的粒子作为位姿和环境特征地图返回给移动机器人。
[0020] S38:计算有效粒子数Neff,当小于指定值执行粒子集重采样;
[0021]
[0022] 其中,M是粒子数量, 是第k个粒子归一化的权重;如果Neff小于指定的阀值粒子集会被重采样。重采样过后,所有粒子权重被重置。
[0023] 步骤S37与步骤S38能够并发执行;
[0024] 步骤S39:将所有粒子信息存储到分布式数据库中;所述步骤S39与步骤S38能够并发执行。
[0025] 进一步地,所述并行位姿预测具体包括具体过程包括步骤S321至S322:
[0026] S321:计算t-1时刻的Sigma点Xt-1,如式(1):
[0027] Xt-1=[xt-1 xt-1+ηSt-1 xt-1-ηSt-1]        (1)
[0028] 式(1)中:xt-1是t-1时刻该粒子对移动机器人位姿的估计,St-1是t-1时刻的协方差矩阵平方根,尺度常量η计算如式(2):
[0029]
[0030] 式(2)中,L为系统状态的维数,λ=α2(L+κ)-L为尺度调节因子,常量α决定了Sigma点在均值附近的分布,通常将α设置为1e-4≤α≤1,κ为次级尺度调节因子,一般设置为0;β是用来结合系统状态的先验分布,对于高斯分布,β取值为2。
[0031] S322:预测:根据t-1时刻的Sigma点和运动模型预测t时刻的Sigma点 如式(3);
[0032]
[0033] (3)式中g函数描述了机器人的运动模型,ut是t时刻采自惯性导航的将运动数据。
[0034] 位姿预测的均值和协方差矩阵平方根通过Sigma点来计算;首先通过QR分解来求为保证协方差的平方根矩阵 的半正定性,使用Cholesky一阶更新 如式(4)[0035]
[0036]
[0037]
[0038] 其中: 为第i个Sigma点均值的权值, 为第i个Sigma点方差的权值;且[0039]
[0040]
[0041] 根据预测的机器人位姿和协方差矩阵更新Sigma点
[0042] 进一步地,所述先验知识调整具体的过程包括步骤S341至S346;
[0043] S341:初始化:如果本次或者上次观测的路标数量小于3,不执行Qt和Rt的调整;否则将移动机器人上一时刻的位姿 设为原点,转向角设为0,位姿采用极坐标,地图信息由上一次的观测zt-1表示;即:
[0044]
[0045]
[0046] S342:位姿预测:根据极坐标下的运动模型预测t时刻机器人的位姿[0047]
[0048] (6)式中,f函数是极坐标下的机器人的运动模型;
[0049] S343:数据关联:将临近两次观测到的路标进行关联;关联过程使用动态联合最近邻算法实现数据关联。
[0050] S344:通过DFC&ASD-PSO算法搜索最优的参数;
[0051] 将预测的位姿 上一时刻Qt-1和Rt-1以及观测zt和zt-1作为输入参数,通过DFC&ASD-PSO搜索最优的 和 使得适应度函数值尽可能大;
[0052]
[0053] S345:观测预测:根据机器人位姿和地图信息预测t时刻的观测信息;
[0054]
[0055] 式中s函数是极坐标下的观测模型;
[0056] S346:Qt和Rt的调整;
[0057] 根据预测的机器人位姿和通过DFC&ASD-PSO搜索的 进行对比,当两者之间差值较大的时候,调整Qt和Rt;即带入(7)式中:
[0058]
[0059]
[0060] 式(7)中, 是第j个路标的观测值, 是第j个路标预测的观测值;Mo是临近两次重复观测到的路标数量;使用 表示运动误差,Dxt~N(0,1)服从正态分布;为了避免频繁地调整,只有当一定概率事件发生的情况下才调整Qt;如果|Dxt|大于1.4或者小于0.2,Qt调整如下:
[0061]
[0062] 否则Qt不调整;
[0063] Qt=Qt-1                              (9)
[0064] 式(8)中,ωq是一个根据观测到的路标数量动态调整的参数;设定 代表第
[0065] j个路标的观测误差;Mn表示 绝对值大于1.4的数量,Ln表示 绝对值小于
[0066] 0.2的数量;
[0067]
[0068] 如果Mnp或者Lnp大于设定的阀值Nmax,Rt调整如下:
[0069]
[0070] 式(10)中,ωr是一个调整系数;当M0减少的时候,ωq和ωr减少;反之,ωq和ωr增加。
[0071] 进一步地,所述并行位姿更新具体包括步骤S351至S354。
[0072] S351根据预测的Sigma点和观测方程预测t时刻移动机器人的观测;
[0073]
[0074] 其中,h函数是观察模型,zt是t时刻的观测数据;
[0075]
[0076] S352:根据式(12)计算出基于预测观测值的协方差矩阵平方根 QR分解和cholupdate更新同样应用于 的更新;
[0077] S353;为了通过观测来更新对机器人位姿的预测值和协方差矩阵的平方根,计算卡尔曼增益Kt;如式(13);
[0078]
[0079]
[0080] S354;最后通过卡尔曼增益更新状态均值和协方差矩阵的平方根;如下式(14):
[0081]
[0082] 进一步地,所述并行地图更新具体包括步骤S361至S362。
[0083] S361:地图特征的均值和方差的估计:
[0084] 由于路标估计是基于粒子的,每个粒子关联了N个路标的EKF估计:;路标的更新确定于该路标在t时刻有没有被观测到;如果该路标是新近观测的,其均值和协方差初始化如下:
[0085]
[0086] 式(15)中,h-1是观测函数的逆函数,Hrz是函数h-1的雅可比矩阵;如果第j个路标在t时刻没有被观测到,则它的均值和方差保持不变;如果第j个路标在t时刻被观测到,均值和方差更新如下:
[0087]
[0088] 式(16)中,Kt是卡尔曼增益,Hz是函数h的雅可比矩阵。
[0089] S362:计算权值
[0090] 权值被定义为目标分布和建议分布的比例;
[0091]
[0092] 代表t时刻第i个粒子的权值。
[0093] 一种基于流式计算的地图创建系统,包括移动机器人端和流式计算集群端;所述移动机器人端运行在嵌入式操作系统上;移动机器人端包括四个部分:数据采集模、地图管理模块、消息网关和消息客户端;
[0094] 流式计算集群端包括分布式并行计算模块、消息服务模块、分布式存储模块、应用协调模块;流式计算集群端通过集群方式实现高可用和负载均衡的消息服务的消息服务集群模块;通过分布式方式实现移动机器人传感器数据和地图数据的存储的分布式存储模块;通过分布式并行计算节点实现的分布式地图创建模块;实现计算集群中主控节点、N个计算节点之间的协调、监控和管理的应用协调服务模块,N为大于等于1的整数。
[0095] 3.有益效果:
[0096] 本发明中采用一种的地图创建的流式计算服务,能够弥补移动机器人地图创建时候机载能力不足和负担过重的短板,提高移动机器人地图创建的精度和效率。附图说明
[0097] 图1为本发明的基于流式计算的地图创建方法及其设备架构图;
[0098] 图2为本发明的基于流式计算的地图创建方法流程图
[0099] 图3为本发明的基于流式计算的移动机器人位姿坐标系
[0100] 图4为本发明的基于流式计算的移动机器人运动模型;
[0101] 图5为本发明的基于流式计算的移动机器人激光雷达观测模型;
[0102] 图6为本发明的移动机器人运动和观测数据实时采集流程图;
[0103] 图7为本发明的移动机器人运动和观测数据信息实时上传流程图;
[0104] 图8为本发明的分布式并行平方根卡尔曼滤波粒子滤波算法的流程图;
[0105] 图9为本发明的先验知识调整流程图。

具体实施方式

[0106] 下面结合附图对本发明进行具体的说明。
[0107] 一种基于流式计算的地图创建方法,应用于移动机器人,其特征在于:移动机器人将采集的数据传输至流式计算集群实现地图创建与更新,如附图1所示;具体包括以下步骤:其流程图如附图2所示;
[0108] 步骤一:数据采集,如附图6所示;所述移动机器人在移动,移动机器人端的激光雷达实时采集移动机器人的观测数据如附图5所示;移动机器人端的惯性传感器实时采集运动数据,如附图4;所述运动数据与观测数据进行预处理后,存于移动机器人端。图3为本发明中的移动机器人位姿坐标系。
[0109] 步骤二:数据传输;将预处理后的数据封装为消息,通过消息网关提交到流式计算集群上。如附图7所示。
[0110] 步骤三:定位与地图创建;基于流式计算的地图创建方法,通过若干计算节点执行分布式并行的平方根卡尔曼滤波粒子滤波算法获得移动机器人位姿和地图特征信息;从队列中取出消息,将数据分发给计算节点,每个计算节点更新粒子,实现粒子的采样和重采样;最终的定位和地图特征数据发送给移动机器人。
[0111] 步骤四:定位和地图更新;移动机器人根据返回的定位和地图特征数据,更新全局地图,同时推送给局部路径规划算法辅助移动机器人避障。
[0112] 进一步地,所述步骤三具体包括以下步骤:
[0113] S31:取出数据:从消息队列中取出运动数据和观测数据,分发给多个计算节点;所述运动数据包括线速度和舵角;所述观测数据为与一组特征的距离和方向角;并行步骤S32与步骤S34。
[0114] S32:并行位姿预测:多个计算节点中的特定计算节点并行进行本步骤;如附图8所示,其中每个计算节点采用基于平方根卡尔曼滤波算法实现相应粒子的位姿预测;该步骤首先根据上一时刻当前粒子的状态和协方差矩阵初始化Sigma点,然后通过运动模型更新Sigma点,最后预测新的位姿和协方差矩阵平方根;将计算的结果传输至步骤33。
[0115] S33:数据关联:将当前粒子的信息与观测到的环境路标和地图上已标注过的环境路标进行关联;将关联的结果传输至步骤S35。
[0116] S34:先验知识调整,如附图9所示:多个计算节点中的另一部分特定计算节点根据移动机器人适应度函数调整先验知识Q和R,其中Q和R分别代表的是运动误差协方差矩阵和观测误差的协方差矩阵;该步骤是在粒子采样过程中融入先验知识修正的过程,使其能反映真实的先验知识;该步骤将先验知识Q和R设定为动态的,并标记为Qt和Rt;调整通过临近观测的不一致性定义关于Q和R的适应度函数,在此适应度函数基础上,通过粒子群优化(PSO)算法搜索出Q和R的一个预估值据预估值,完成Qt和Rt的修正;将修正的结果传输至步骤S35。
[0117] S35:并行位姿更新,每个计算节点采用基于平方根卡尔曼滤波算法实现相应粒子位姿的更新;首先根据预测的Sigma点和观测方程更新观测信息;然后计算出基于预测观测值的协方差矩阵平方根,再通过QR分解和cholupdate函数更新该协方差矩阵平方根;最后计算卡尔曼增益,根据卡尔曼增益更新状态均值和协方差矩阵的平方根。
[0118] S36:并行地图更新;地图的估计被分解为M个相互独立特征的估计;通过卡尔曼滤波算法EKF来估计当前粒子的每个特征的均值和方差;最后按照目标分布和建议分布的比例计算该粒子的权值。
[0119] S37:将权值最大的粒子作为位姿和环境特征地图返回给移动机器人。
[0120] S38:计算有效粒子数Neff,当小于指定的阀值执行粒子集重采样;
[0121]
[0122] 其中,M是粒子数量, 是第k个粒子归一化的权重;如果Neff小于指定的阀值粒子集会被重采样。重采样过后,所有粒子权重被重置。
[0123] 步骤S37与步骤S38能够并发执行;
[0124] 步骤S39:将所有粒子信息存储到分布式数据库中;所述步骤S39与步骤S38能够并发执行。
[0125] 进一步地,所述并行位姿预测具体包括具体过程包括步骤S321至S322:
[0126] S321:计算t-1时刻的Sigma点Xt-1,如式(1):
[0127] Xt-1=[xt-1 xt-1+ηSt-1 xt-1-ηSt-1]        (1)
[0128] 式(1)中:xt-1是t-1时刻该粒子对移动机器人位姿的估计,St-1是t-1时刻的协方差矩阵平方根,尺度常量η计算如式(2):
[0129]
[0130] 式(2)中,L为系统状态的维数,λ=α2(L+κ)-L为尺度调节因子,常量α决定了Sigma点在均值附近的分布,通常将α设置为1e-4≤α≤1,κ为次级尺度调节因子,一般设置为0;β是用来结合系统状态的先验分布,对于高斯分布,β取值为2。
[0131] S322:预测:根据t-1时刻的Sigma点和运动模型预测t时刻的Sigma点 如式(3);
[0132]
[0133] (3)式中g函数描述了机器人的运动模型,ut是t时刻采自惯性导航的将运动数据。
[0134] 位姿预测的均值和协方差矩阵平方根通过Sigma点来计算;首先通过QR分解来求为保证协方差的平方根矩阵 的半正定性,使用Cholesky一阶更新 如式(4)[0135]
[0136]
[0137]
[0138] 其中: 为第i个Sigma点均值的权值, 为第i个Sigma点方差的权值;且[0139]
[0140]
[0141] 根据预测的机器人位姿和协方差矩阵更新Sigma点
[0142] 进一步地,所述先验知识调整具体的过程包括步骤S341至S346;
[0143] S341:初始化:如果本次或者上次观测的路标数量小于3,不执行Qt和Rt的调整;否则将移动机器人上一时刻的位姿 设为原点,转向角设为0,位姿采用极坐标,地图信息由上一次的观测zt-1表示;即:
[0144]
[0145]
[0146] S342:位姿预测:根据极坐标下的运动模型预测t时刻机器人的位姿[0147]
[0148] (6)式中,f函数是极坐标下的机器人的运动模型。
[0149] S343:数据关联:将临近两次观测到的路标进行关联;关联过程使用动态联合最近邻算法实现数据关联。
[0150] S344:通过DFC&ASD-PSO算法搜索最优的参数;
[0151] 将预测的位姿 上一时刻Qt-1和Rt-1以及观测zt和zt-1作为输入参数,通过DFC&ASD-PSO搜索最优的 和 使得适应度函数值尽可能大;
[0152]
[0153] S345:观测预测:根据机器人位姿和地图信息预测t时刻的观测信息;
[0154]
[0155] 式中s函数是极坐标下的观测模型。
[0156] S346:Qt和Rt的调整;
[0157] 根据预测的机器人位姿和通过DFC&ASD-PSO搜索的 进行对比,当两者之间差值较大的时候,调整Qt和Rt;即带入(7)式中:
[0158]
[0159]
[0160] 式(7)中, 是第j个路标的观测值, 是第j个路标预测的观测值;Mo是临近两次重复观测到的路标数量;使用 表示运动误差,Dxt~N(0,1)服从正态分布;为了避免频繁地调整,只有当一定概率事件发生的情况下才调整Qt;如果|Dxt|大于1.4或者小于0.2,Qt调整如下:
[0161]
[0162] 否则Qt不调整;
[0163] Qt=Qt-1                              (9)
[0164] 式(8)中,ωq是一个根据观测到的路标数量动态调整的参数;设定 代表第j个路标的观测误差;Mn表示 绝对值大于1.4的数量,Ln表示 绝对值小于0.2的数量;
[0165]
[0166] 如果Mnp或者Lnp大于设定的阀值Nmax,Rt调整如下:
[0167]
[0168] 式(10)中,ωr是一个调整系数;当M0减少的时候,ωq和ωr减少;反之,ωq和ωr增加。
[0169] 进一步地,所述并行位姿更新具体包括步骤S351至S354;
[0170] S351根据预测的Sigma点和观测方程预测t时刻移动机器人的观测;
[0171]
[0172] 其中,h函数是观察模型,zt是t时刻的观测数据;
[0173]
[0174] S352:根据式(12)计算出基于预测观测值的协方差矩阵平方根 QR分解和cholupdate
[0175] 更新同样应用于 的更新;
[0176] S353;为了通过观测来更新对机器人位姿的预测值和协方差矩阵的平方根,计算卡尔曼增益Kt;如式(13);
[0177]
[0178]
[0179] S354;最后通过卡尔曼增益更新状态均值和协方差矩阵的平方根;如下式(14):
[0180]
[0181] 进一步地,所述并行地图更新具体包括步骤S361至S362;
[0182] S361:地图特征的均值和方差的估计:
[0183] 由于路标估计是基于粒子的,每个粒子关联了N个路标的EKF估计:;路标的更新确定于该路标在t时刻有没有被观测到;如果该路标是新近观测的,其均值和协方差初始化如下:
[0184]
[0185] 式(15)中,h-1是观测函数的逆函数,Hrz是函数h-1的雅可比矩阵;如果第j个路标在t时刻没有被观测到,则它的均值和方差保持不变;如果第j个路标在t时刻被观测到,均值和方差更新如下:
[0186]
[0187] 式(16)中,Kt是卡尔曼增益,Hz是函数h的雅可比矩阵。
[0188] S362:计算权值
[0189] 权值被定义为目标分布和建议分布的比例;
[0190]
[0191] 代表t时刻第i个粒子的权值。
[0192] 一种基于流式计算的地图创建系统,包括移动机器人端和流式计算集群端;所述移动机器人端运行在嵌入式操作系统上;移动机器人端包括四个部分:数据采集模块、地图管理模块、消息网关和消息客户端;
[0193] 流式计算集群端包括分布式并行计算模块、消息服务模块、分布式存储模块、应用协调模块;流式计算集群端通过集群方式实现高可用和负载均衡的消息服务的消息服务集群模块;通过分布式方式实现移动机器人传感器数据和地图数据的存储的分布式存储模块;通过分布式并行计算节点实现的分布式地图创建模块;实现计算集群中主控节点、N个计算节点之间的协调、监控和管理的应用协调服务模块,N为大于等于1的整数。
[0194] 虽然本发明已以较佳实施例公开如上,但它们并不是用来限定本发明的,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请权利要求保护范围所界定的为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈