本文作者:kaifamei

室内外环境定位方法与流程

更新时间:2025-12-19 19:06:46 0条评论

室内外环境定位方法与流程



1.本发明涉及机器人导航技术领域,特别涉及一种室内外环境定位方法。


背景技术:



2.目前的自主导航机器人按应用场景主要可以分为室外机器人和室内机器人两种,室外机器人根据运动速度的不同,可以分为中低速机器人(《10m/s)和高速机器人。中低速机器人主要用于园区配送,安防巡检,草坪割草,而高速机器人主要面向自动驾驶行业。室内机器人又可以称做自动导引车(agv),主要用于工业,工厂中有大量物料配送的需求,而agv可以在工厂环境完美的达到高效率,低成本的物流配送。
3.目前的机器人只能单独用于室外或者室内,无法同时应用于室内和室外,而且,目前的室外激光定位方案存在着大场景地图过大,计算效率低,难以实时定位和定位鲁棒性不够的问题。


技术实现要素:



4.本发明要解决的技术问题是提供一种定位精度高、鲁棒性好的室内外环境定位方法。
5.为了解决上述问题,本发明提供了一种室内外环境定位方法,其包括以下步骤:
6.s10、将室外地图切割成多个局部地图,在室内地图和室外地图之间设置切换点,机器人通过所述切换点进行室内外切换,以实现在室内定位时加载室内地图,在室外定位时实时加载机器人所在的局部地图;
7.s20、使用误差状态卡尔曼滤波器融合安装于机器人上的惯性测量单元、轮式里程计和激光定位系统,对机器人进行定位。
8.作为本发明的进一步改进,在步骤s10中,将室外地图切割成若干局部地图,包括:
9.s111、计算室外地图的x坐标的最大值和最小值,以及y坐标的最大值和最小值;
10.s112、设置切换步长、激光测量范围和局部地图边长;
11.s113、遍历室外地图上的点,若该点的x坐标和y坐标都能够整除所述切换步长,则将该点作为局部地图的中心点,并将室外地图切割成若干局部地图。
12.作为本发明的进一步改进,所述切换步长、激光测量范围和局部地图边长满足:
13.size≥step+2*m
14.其中,size为局部地图边长;step为切换步长;m为激光测量范围。
15.作为本发明的进一步改进,在室内定位时使用2d激光定位系统,在室外定位时使用3d激光定位系统;在步骤s10中,所述机器人通过所述切换点进行室内外切换,包括:
16.当从室内到达所述切换点时,将2d激光定位系统的当前定位数据传输至3d激光定位系统,对3d激光定位系统进行初始化定位;
17.当从室外到达所述切换点时,将3d激光定位系统的当前定位数据传输至2d激光定位系统,对2d激光定位系统进行初始化定位。
18.作为本发明的进一步改进,通过以下步骤判断初始化定位时是否成功,步骤包括:
19.计算当前激光点云根据初始化定位位姿变换之后的点云中每一个点和地图点云之间的最短欧氏距离的平均值,然后将平均值通过指数函数得到定位的分数,如果分数大于阈值,则初始化定位成功,否则不成功。
20.作为本发明的进一步改进,步骤s20包括:
21.s21、状态初始化步骤;包括:进行位姿初始化,并进行误差状态卡尔曼滤波器初始化;
22.s22、模型预测步骤;包括:利用惯性测量单元测量的角速度和线性加速度积分来预测位姿,然后更新误差状态的雅可比矩阵和协方差矩阵;
23.s23、观测校正步骤;包括:先获取轮式里程计的速度观测值,并且根据ndt算法配准当前点云数据和地图得到位姿,然后将观测量传递到误差状态卡尔曼滤波器,计算误差状态卡尔曼增益,然后计算误差状态值和协方差矩阵,然后将误差状态值加到名义状态值中更新名义状态值,然后重置误差状态值。
24.作为本发明的进一步改进,s22模型预测步骤中,采用如下公式:
[0025][0026][0027][0028]
式中,p为机器人位置;r为机器人方向的旋转矩阵;dt为时间间隔;v代表机器人速度;am代表线加速度测量值;代表线加速度偏置;g代表重力加速度;q代表旋转方向四元数;ωm代表角速度测量值;ε代表角速度偏置;下标k、k-1分别代表k、k-1时刻;上标t代表转置;
[0029]
接着根据系统微分方程:计算系统状态方程:x
k-1
=f
k-1
x
k-1
+b
k-1uk-1
关于误差状态的雅可比矩阵f
k-1

[0030]
其中,为系统状态量的导数;f
t
为系统微分方程状态雅可比矩阵;e为系统微分方程扰动量;b
t
为系统微分方程扰动雅可比矩阵;f
k-1
为系统状态方程状态雅可比矩阵;u为系统状态方程扰动量,b
k-1
为系统状态方程扰动雅可比矩阵;之后系统状态方程状态使用雅可比矩阵f
k-1
更新误差状态的协方差矩阵,公式如下:
[0031][0032]
其中,p是误差状态的协方差矩阵。
[0033]
作为本发明的进一步改进,s23观测校正步骤中,采用如下公式:
[0034]
yk=gkx
k-1
+ckwk[0035]
其中,y是误差观测量,包括位置误差、角度误差和速度误差、x为误差状态量、w为观测扰动量、g和c分别是误差观测量关于误差状态和观测扰动的雅可比矩阵;
[0036]
由卡尔曼滤波可知,矫正方程为:
[0037][0038]
pk=(i-k
kgk
)pk[0039]
xk=xk+kk(y
k-gkxk)
[0040]
其中,p是误差状态的协方差矩阵;r是观测扰动的协方差矩阵;i是单位矩阵;k为卡尔曼增益;下标k、k-1分别代表k、k-1时刻;上标t代表转置。
[0041]
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述方法的步骤。
[0042]
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述方法的步骤。
[0043]
本发明的有益效果:
[0044]
一、本发明室内外环境定位方法通过在室内地图和室外地图之间设置切换点,机器人通过切换点进行室内外切换,实现在室内定位时加载室内地图,在室外定位时实时加载机器人所在的局部地图,保证机器人可同时应用于室内和室外。
[0045]
二、本发明针对室外大场景环境,机器人面临的激光点云地图占用内存大,计算效率低的问题,通过预先将室外地图分割成多个较小的局部地图,根据机器人所在位置实时加载局部地图,提高了计算效率,降低了系统计算负载。
[0046]
三、本发明使用了误差状态卡尔曼滤波器进行融合定位,预测部分使用惯性测量单元,观测部分使用激光配准的位姿数据和轮式里程计的速度,提升了定位的精确性和鲁棒性。
[0047]
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
[0048]
图1是本发明优选实施例中室内外环境定位方法的流程图;
[0049]
图2是本发明优选实施例中室外地图切割的流程图;
[0050]
图3是本发明优选实施例中实时加载局部地图的流程图;
[0051]
图4是本发明优选实施例中2d区域切换到3d区域的流程图;
[0052]
图5是本发明优选实施例中3d区域切换到2d区域的流程图;
[0053]
图6是本发明优选实施例中室内外切换的示意图;
[0054]
图7是本发明优选实施例中误差状态卡尔曼滤波器的流程图。
具体实施方式
[0055]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0056]
如图1所示,为本发明优选实施例中室内外环境定位方法,包括以下步骤:
[0057]
步骤s10、将室外地图切割成多个局部地图,在室内地图和室外地图之间设置切换点,机器人通过所述切换点进行室内外切换,以实现在室内定位时加载室内地图,在室外定位时实时加载机器人所在的局部地图;
[0058]
由于室外地图为大场景地图,占用的内存较大,以及激光点云和地图配准时的占
用的cpu也会因此增加。因此,本发明将室外的大场景地图分割为多个具有一定重合区域的局部地图。
[0059]
在已知需要切分出来的局部地图边界时,可以将大场景地图在局部地图边界以外的点云数据全部删除,从而得到的即为局部地图。边界的形式多种多样,可选地,本发明采用的立方体边界。
[0060]
分割后所有的局部地图必须包含大场景地图的所有区域,将大场景地图分割为若干个立方体局部地图。因为假设机器人从1号局部地图切换到2号局部地图时,在1号局部地图的该切换位置必须有激光雷达测量范围的视野,换而言之,切换位置距离地图边界至少有激光雷达测量范围的距离,并且切换位置距离1号和2号地图边界均至少有激光雷达测量范围的距离。因此相邻的局部地图在该方向上有两个激光测量距离的重合区域。
[0061]
参照图2,在其中一实施例中,在步骤s10中,将室外地图切割成若干局部地图,包括以下步骤:
[0062]
s111、计算室外地图的x坐标的最大值和最小值,以及y坐标的最大值和最小值;可分别表示为max_x、min_x、max_y、min_y。
[0063]
s112、设置切换步长、激光测量范围和局部地图边长;其中,所述切换步长、激光测量范围和局部地图边长满足:
[0064]
size≥step+2*m
[0065]
其中,局部地图xy平面为正方形,size为局部地图边长;step为切换步长;m为激光测量范围。
[0066]
s113、遍历室外地图上的点,若该点的x坐标和y坐标都能够整除所述切换步长,则将该点作为局部地图的中心点,并将室外地图切割成若干局部地图。
[0067]
具体地,若该点的x坐标和y坐标能够整除步长step,则将该点作为局部地图的中心点,其坐标为(x_center,y_center)。该局部地图xy平面的边界x轴最大值为中心点x坐标加上二分之一的局部地图大小(x_center+0.5*size),x轴最小值为中心点x坐标减去二分之一的局部地图大小(x_center-0.5*size),y轴最大值为中心点y坐标加上二分之一的局部地图大小(y_center+0.5*size),y轴最小值为中心点y坐标减去二分之一的局部地图大小(x_center-0.5*size)。z轴不做切割,全部保留。以该局部边界切割大场景地图,保存生成的地图命名为中心点x坐标_中心点y坐标。
[0068]
参照图3,在其中一实施例中,在步骤s10中,在室外定位时实时加载机器人所在的局部地图,包括以下步骤:
[0069]
s121、设置切换步长step;
[0070]
s122、获取当前机器人位置x,y,z;
[0071]
s123、计算当前所在位置所在的局部地图。当前位置x坐标除以步长与0.5的和向下取整再乘以步长,得到的结果是中心点x坐标,当前位置y坐标除以步长与0.5的和向下取整再乘以步长,得到的结果是中心点y坐标,如果中心点x,y坐标有任何一个改变了说明局部地图已经改变,此时加载改变以后的局部地图,如果没有变化,则不做修改。处理完成后,一个周期结束,返回上一步。
[0072]
参照图6,在其中一实施例中,在室内(2d区域)定位时使用2d激光定位系统,在室外(3d区域)定位时使用3d激光定位系统;在步骤s10中,所述机器人通过所述切换点进行室
内外切换,包括:
[0073]
当从室内到达所述切换点时,将2d激光定位系统的当前定位数据传输至3d激光定位系统,对3d激光定位系统进行初始化定位;参照图4。
[0074]
当从室外到达所述切换点时,将3d激光定位系统的当前定位数据传输至2d激光定位系统,对2d激光定位系统进行初始化定位;参照图5。
[0075]
具体地,通过以下步骤判断初始化定位时是否成功,步骤包括:
[0076]
计算当前激光点云根据初始化定位位姿变换之后的点云中每一个点和地图点云之间的最短欧氏距离的平均值,然后将平均值通过指数函数得到定位的分数,分数体现了点云和地图之间配准的准确性,如果分数大于阈值,则初始化定位成功,否则不成功。
[0077]
步骤s20、使用误差状态卡尔曼滤波器融合安装于机器人上的惯性测量单元、轮式里程计和激光定位系统,对机器人进行定位。
[0078]
其中,机器人上安装有多种类型的测量传感器,包括激光雷达,惯性测量元件、轮式里程计。激光雷达可以扫描出周围环境的点云数据,在和预先建立的环境地图配准以后,可以得到机器人在环境中的位置,激光雷达包括2d激光雷达和3d激光雷达,2d激光雷达构成2d激光定位系统,3d激光雷达构成3d激光定位系统;惯性测量单元可以测量车体的三轴角速度和三轴线性加速度,这些数据积分处理后可以得到一段时间内机器人的位置变化量、速度变化量以及角速度变化量;轮式里程计可以测量机器人当前的运动速度。使用这些传感器融合可以得到定位,融合的方式主要有滤波的方法和优化的方法,滤波的方法计算量更小,为了达到实时性的目的,采用了滤波的框架。滤波的问题可以简单理解为一种预测和观测融合的结果,在本发明中,是惯性测量单元预测位姿速度变化,激光点云配准观测位姿,轮式里程计观测速度的结果。
[0079]
误差状态卡尔曼滤波中有三种状态值:名义状态,误差状态和真实状态。真实状态由名义状态和误差状态组合而成(线性和,四元数乘积或者矩阵乘积)。高频率的惯性测量单元数据积分得到名义状态。在该名义状态中,没有包含噪声以及其他的模型缺陷。误差状态将会收集这些缺陷,并使用误差状态卡尔曼滤波进行估计,在观测数据到达后完成校正。
[0080]
参照图7,在其中一实施例中,步骤s20包括:
[0081]
s21、状态初始化步骤;包括:进行位姿初始化,并进行误差状态卡尔曼滤波器初始化;其中包含了预测噪声、观测噪声的设置。
[0082]
s22、模型预测步骤;包括:利用惯性测量单元测量的角速度和线性加速度积分来预测位姿,然后更新误差状态的雅可比矩阵和协方差矩阵;
[0083]
具体地,首先使用惯性测量单元测量的三轴角速度和三轴线加速度预测机器人位姿。当前时刻位置等于上一时刻位置,上一时刻速度乘以时间变化量,当前机器人方向的旋转矩阵与线加速度测量值减去线加速度偏置的结果的乘积与重力加速度的和再乘以时间变化量的平方除以2的值的和。当前速度等于上一时刻速度,当前机器人方向的旋转矩阵与线加速度测量值减去线加速度偏置的结果的乘积与重力加速度的和再乘以时间变化量的值的和。当前旋转方向四元数等于上一时刻旋转方向四元数和角速度减去角速度偏置的差值和时间变化量的乘积转化的四元数的乘积。采用如下公式:
[0084][0085]
[0086][0087]
式中,p为机器人位置;r为机器人方向的旋转矩阵;dt为时间间隔;v代表机器人速度;am代表线加速度测量值;代表线加速度偏置;g代表重力加速度;q代表旋转方向四元数;ωm代表角速度测量值;ε代表角速度偏置;下标k、k-1分别代表k、k-1时刻;上标t代表转置;
[0088]
接着根据系统微分方程:计算系统状态方程:x
k-1
=f
k-1
x
k-1
+b
k-1uk-1
关于误差状态的雅可比矩阵f
k-1

[0089]
其中,为系统状态量的导数;f
t
为系统微分方程状态雅可比矩阵;e为系统微分方程扰动量;b
t
为系统微分方程扰动雅可比矩阵;f
k-1
为系统状态方程状态雅可比矩阵;u为系统状态方程扰动量,b
k-1
为系统状态方程扰动雅可比矩阵;之后系统状态方程状态使用雅可比矩阵f
k-1
更新误差状态的协方差矩阵,公式如下:
[0090][0091]
其中,p是误差状态的协方差矩阵。
[0092]
s23、观测校正步骤;包括:先获取轮式里程计的速度观测值,并且根据ndt算法配准当前点云数据和地图得到位姿,然后将观测量传递到误差状态卡尔曼滤波器,计算误差状态卡尔曼增益,然后计算误差状态值和协方差矩阵,然后将误差状态值加到名义状态值中更新名义状态值,然后重置误差状态值。
[0093]
具体地,首先需要通过传感器获取观测数据,在本发明中有两种传感器作为观测,分别是轮式里程计和激光雷达,轮式里程计可以得到机器人本体坐标系下的运动速度,激光雷达得到的激光点云数据和地图配准可以得到机器人的全局位姿,配准的算法有多种可以选择,常用的有ndt,gicp,fast_gicp等,激光点云的配准算法通常需要设置目标点云,当前点云和初始估计位姿值。目标点云为地图点云,当前点云为激光雷达实时获取到的点云,而初始估计位姿值对配准具有重要的影响,更准确的初始估计位姿值可以避免配准算法进入局部最小值的计算,提高算法鲁棒性和效率,初始估计位姿值使用预测得到的位姿可以有较好的准确性。然后通过得到的速度和位姿计算误差状态测量,对于观测方程:
[0094]
yk=gkx
k-1
+ckwk[0095]
其中,y是误差观测量,包括位置误差、角度误差和速度误差、x为误差状态量、w为观测扰动量、g和c分别是误差观测量关于误差状态和观测扰动的雅可比矩阵;
[0096]
由卡尔曼滤波可知,矫正方程为:
[0097][0098]
pk=(i-k
kgk
)pk[0099]
xk=xk+kk(y
k-gkxk)
[0100]
其中,p是误差状态的协方差矩阵;r是观测扰动的协方差矩阵;i是单位矩阵;k为卡尔曼增益;下标k、k-1分别代表k、k-1时刻;上标t代表转置。
[0101]
其中,观测和预测有序地进行,预测传感器数据到达进行预测步骤,观测传感器数据到达执行观测步骤,不断地更新系统位姿数据,观测校正后的数据会发送给机器人进行定位。
[0102]
在一具体实施例中,采用本发明的室内外环境定位方法对机器人进行定位,包括以下步骤:
[0103]
一、地图分割步骤:
[0104]
1、假设计算出大场景地图的x,y轴的最大值和最小值max_x,max_y,min_x,min_y分别为1200,700,0,300;
[0105]
2、设置切换步长step为500,激光测量范围m为100和局部地图大小size为700(size》=(step+2*m));
[0106]
3、遍历x坐标0到1200,遍历y坐标300到700,x和y坐标能够整除步长step(500)的点有3个,分别为(0,500)、(500,500)和(1000,500)。(0,500)为中心点的局部地图xy平面的四个边界点分别为(-350,150)、(-350,850)、(350,150)、(350,850),生成的局部地图命名为0_500。(500,500)为中心点的局部地图xy平面的四个边界点分别为(150,150)、(150,850)、(850,150)、(850,850),生成的局部地图命名为500_500。(1000,500)为中心点的局部地图xy平面的四个边界点分别为(650,150)、(650,850)、(1350,150)、(1350,850),生成的局部地图命名为1000_500。
[0107]
二、实时加载局部地图步骤:
[0108]
1、设置切换步长step为500,step和地图分割时设置必须一致;
[0109]
2、获取当前机器人位置x、y、z,假设分别为248、600、0;
[0110]
3、计算中心点x坐标floor(248/500+0.5)*500=0;计算中心点y坐标floor(600/500+0.5)*500=500;
[0111]
4、得到中心点x、y坐标为(0,500),加载0_500地图,x坐标248+100《350(局部地图x轴最大值),激光雷达最大视野仍然在地图范围内;
[0112]
5、获取当前机器人位置x、y、z,假设分别为249、600、0;
[0113]
6、计算中心点x坐标floor(249/500+0.5)*500=0;计算中心点y坐标floor(600/500+0.5)*500=500;
[0114]
7、得到中心点x、y坐标为(0,500),地图没有改变,不加载地图;
[0115]
8、获取当前机器人位置x,y,z,假设分别为251,600,0;
[0116]
9、计算中心点x坐标floor(251/500+0.5)*500=500;计算中心点y坐标floor(600/500+0.5)*500=500;
[0117]
10、得到中心点x、y坐标为(500,500),加载500_500地图,x坐标350(0_500局部地图x轴最大值)《251+100《850(500_500局部地图x轴最大值)、150(500_500局部地图x轴最小值)《251-100,激光雷达最大视野不在0_500局部地图,在500_500局部地图范围内,地图切换成功。
[0118]
三、融合惯性测量单元和轮式里程计和激光雷达的误差状态卡尔曼滤波定位步骤:
[0119]
1、系统状态量x为δp为位置误差,δv为速度误差,φ为失准角,ε为角速度偏置,为线加速度偏置;
[0120]
2、获取前一时刻系统名义状态值,位置p
k-1
,姿态q
k-1
和速度v
k-1

[0121]
3、根据惯性测量单元数据和时间预测当前时刻系统位置pk,姿态qk和速度vk,下标k代表k时刻;
[0122]
4、位置预测:姿态预测:速度预测:
[0123]
5、系统微分方程:
[0124]
6、计算系统微分方程状态雅可比矩阵
[0125]
其中,是base_link相对于n系(静止的导航坐标系)的变换的旋转部分;fn是加速度(n系);fn×
是fn的反对称矩阵;i3×3代表3乘3的单位矩阵;i代表单位矩阵;下标3x3代表3乘3,其余下标同理;
[0126]
7、计算系统微分方程扰动雅可比矩阵
[0127]
8、系统状态方程:x
k-1
=f
k-1
x
k-1
+b
k-1uk-1

[0128]
9、计算f
k-1
=i+f
t
×
dt,b
k-1
=b
t
×
dt;
[0129]
10、更新误差状态协方差矩阵:
[0130]
11、获取激光雷达点云数据,设置点云,以预测的系统位姿作为初始值进行点云配准,得到配准后的位姿,作为观测值,获取轮式里程计速度值;
[0131]
12、系统观测方程yk=gkx
k-1
+ckwk;系统观测量y为
[0132]
13、计算系统误差状态观测量,系统预测位置,姿态和速度和相应传感器计算得到的结果之间的差值,得到观测量y;
[0133]
14、计算系统观测方程关于误差状态的雅可比矩阵:
[0134][0135]
其中,是n系相对于base_link的变换的旋转部分;vn是速度(n系);vn×
是vn的反对称矩阵;系统观测方程关于噪声的雅可比矩阵ck为单位矩阵。
[0136]
15、计算卡尔曼增益
[0137]
16、计算校正后协方差矩阵pk=(i-k
kgk
)pk;
[0138]
17、计算校正后误差状态值xk=xk+kk(y
k-gkxk);
[0139]
18、使用校正后的误差状态值更新名义状态值;
[0140]
19、重置系统误差状态值。
[0141]
本发明室内外环境定位方法通过在室内地图和室外地图之间设置切换点,机器人
通过切换点进行室内外切换,实现在室内定位时加载室内地图,在室外定位时实时加载机器人所在的局部地图,保证机器人可同时应用于室内和室外。
[0142]
本发明针对室外大场景环境,机器人面临的激光点云地图占用内存大,计算效率低的问题,通过预先将室外地图分割成多个较小的局部地图,根据机器人所在位置实时加载局部地图,提高了计算效率,降低了系统计算负载。
[0143]
本发明使用了误差状态卡尔曼滤波器进行融合定位,预测部分使用惯性测量单元,观测部分使用激光配准的位姿数据和轮式里程计的速度,提升了定位的精确性和鲁棒性。
[0144]
本发明优选实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中所述方法的步骤。
[0145]
本发明优选实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例中所述方法的步骤。
[0146]
以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

技术特征:


1.室内外环境定位方法,其特征在于,包括:s10、将室外地图切割成多个局部地图,在室内地图和室外地图之间设置切换点,机器人通过所述切换点进行室内外切换,以实现在室内定位时加载室内地图,在室外定位时实时加载机器人所在的局部地图;s20、使用误差状态卡尔曼滤波器融合安装于机器人上的惯性测量单元、轮式里程计和激光定位系统,对机器人进行定位。2.如权利要求1所述的室内外环境定位方法,其特征在于,在步骤s10中,将室外地图切割成若干局部地图,包括:s111、计算室外地图的x坐标的最大值和最小值,以及y坐标的最大值和最小值;s112、设置切换步长、激光测量范围和局部地图边长;s113、遍历室外地图上的点,若该点的x坐标和y坐标都能够整除所述切换步长,则将该点作为局部地图的中心点,并将室外地图切割成若干局部地图。3.如权利要求2所述的室内外环境定位方法,其特征在于,所述切换步长、激光测量范围和局部地图边长满足:size≥step+2*m其中,size为局部地图边长;step为切换步长;m为激光测量范围。4.如权利要求1所述的室内外环境定位方法,其特征在于,在室内定位时使用2d激光定位系统,在室外定位时使用3d激光定位系统;在步骤s10中,所述机器人通过所述切换点进行室内外切换,包括:当从室内到达所述切换点时,将2d激光定位系统的当前定位数据传输至3d激光定位系统,对3d激光定位系统进行初始化定位;当从室外到达所述切换点时,将3d激光定位系统的当前定位数据传输至2d激光定位系统,对2d激光定位系统进行初始化定位。5.如权利要求4所述的室内外环境定位方法,其特征在于,通过以下步骤判断初始化定位时是否成功,步骤包括:计算当前激光点云根据初始化定位位姿变换之后的点云中每一个点和地图点云之间的最短欧氏距离的平均值,然后将平均值通过指数函数得到定位的分数,如果分数大于阈值,则初始化定位成功,否则不成功。6.如权利要求1所述的室内外环境定位方法,其特征在于,步骤s20包括:s21、状态初始化步骤;包括:进行位姿初始化,并进行误差状态卡尔曼滤波器初始化;s22、模型预测步骤;包括:利用惯性测量单元测量的角速度和线性加速度积分来预测位姿,然后更新误差状态的雅可比矩阵和协方差矩阵;s23、观测校正步骤;包括:先获取轮式里程计的速度观测值,并且根据ndt算法配准当前点云数据和地图得到位姿,然后将观测量传递到误差状态卡尔曼滤波器,计算误差状态卡尔曼增益,然后计算误差状态值和协方差矩阵,然后将误差状态值加到名义状态值中更新名义状态值,然后重置误差状态值。7.如权利要求6所述的室内外环境定位方法,其特征在于,s22模型预测步骤中,采用如下公式:
式中,p为机器人位置;r为机器人方向的旋转矩阵;dt为时间间隔;v代表机器人速度;a
m
代表线加速度测量值;代表线加速度偏置;g代表重力加速度;q代表旋转方向四元数;ω
m
代表角速度测量值;ε代表角速度偏置;下标k、k-1分别代表k、k-1时刻;上标t代表转置;接着根据系统微分方程:计算系统状态方程:x
k-1
=f
k-1
x
k-1
+b
k-1
u
k-1
关于误差状态的雅可比矩阵f
k-1
;其中,为系统状态量的导数;f
t
为系统微分方程状态雅可比矩阵;e为系统微分方程扰动量;b
t
为系统微分方程扰动雅可比矩阵;f
k-1
为系统状态方程状态雅可比矩阵;u为系统状态方程扰动量,b
k-1
为系统状态方程扰动雅可比矩阵;之后系统状态方程状态使用雅可比矩阵f
k-1
更新误差状态的协方差矩阵,公式如下:其中,p是误差状态的协方差矩阵。8.如权利要求6所述的室内外环境定位方法,其特征在于,s23观测校正步骤中,采用如下公式:y
k
=g
k
x
k-1
+c
k
w
k
其中,y是误差观测量,包括位置误差、角度误差和速度误差、x为误差状态量、w为观测扰动量、g和c分别是误差观测量关于误差状态和观测扰动的雅可比矩阵;由卡尔曼滤波可知,矫正方程为:p
k
=(i-k
k
g
k
)p
k
x
k
=x
k
+k
k
(y
k-g
k
x
k
)其中,p是误差状态的协方差矩阵;r是观测扰动的协方差矩阵;i是单位矩阵;k为卡尔曼增益;下标k、k-1分别代表k、k-1时刻;上标t代表转置。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8中任意一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8任意一项所述方法的步骤。

技术总结


本发明公开了一种室内外环境定位方法,包括:S10、将室外地图切割成多个局部地图,在室内地图和室外地图之间设置切换点,机器人通过所述切换点进行室内外切换,以实现在室内定位时加载室内地图,在室外定位时实时加载机器人所在的局部地图;S20、使用误差状态卡尔曼滤波器融合安装于机器人上的惯性测量单元、轮式里程计和激光定位系统,对机器人进行定位。本发明可同时应用于室内和室外。根据机器人所在位置实时加载局部地图,提高了计算效率,降低了系统计算负载。本发明使用了误差状态卡尔曼滤波器进行融合定位,预测部分使用惯性测量单元,观测部分使用激光配准的位姿数据和轮式里程计的速度,提升了定位的精确性和鲁棒性。提升了定位的精确性和鲁棒性。提升了定位的精确性和鲁棒性。


技术研发人员:

俞剑敏 隋佳城 周杰 程艳涛

受保护的技术使用者:

苏州和仲智能科技有限公司

技术研发日:

2022.08.04

技术公布日:

2022/12/5


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-21553-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-07 12:01:55

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论