一种基于slam导航移动机器人的全局定位方法_3

文档序号:9504579阅读:来源:国知局

[0069] 步骤3C当Es1中的任何一个元素的值都小于中任何一个元素值,r = r+Ι,再返 回步骤3B,否则退出循环,重新从应用环境中选取子区域Σ i。当r = n^kjl时,执行步骤 3D ;
[0070] 步骤3D改变变量i = i+1,r = 1,然后返回步骤3B,继续执行,直至i = n+1,退 出循环。
[0071] 步骤4基于ICP实现移动机器人全局定位:
[0072] 步骤4A将AGV置于应用环境中已选取的任一子区域乙i内,任何位置获取一组激 光传感器原始数据P,数据%表示在第i个子区域Σ i采集的数据。设在定位程序启动前 AGV在地图中的位姿为(xQ,y。,Θ。),定义初始变量C = 〇,〇< δ < π/6,定义初始总误差 Eic= 0, i = 1 ;
[0073] 步骤4B先将数据P进行处理得Ph= R(c δ )*P,然后通过定义的ICP匹配函数 L,与全局定位数据库中的数据Q1进行匹配得到Hijk1组变换矩阵(Rt,T t) =L(Ph,Qlt) (1彡t彡Hi1^k1),其中Q lt表示第i个子区域采集的第t组匹配数据;
[0074] 步骤4C根据每组变换矩阵先计算变换后的点集可表示为Pt= R t*Ph+Tt,然后计算 每组匹配数据的误差为
其中P1^ 分别表示点集P t、 Qlt中的任一点坐标,在子区域Σ i内将所有组数据匹配一次得到总的匹配误差可表示为
[0075] 步骤4D将子区域S1的数据库与激光传感器扫描的数据P在231弧度内进行多 次匹配,改变参数的值c = c+1,当满足
时继续执行步骤4E,否则返回步骤4B,其 中Γ (X) (X > 〇)表示取不超过X的最大整数;
[0076] 步骤4E改变全局定位数据库中匹配点集的子区域,i = i+Ι,当i = η时继续执行 步骤4F,否则返回步骤4Α ;
[0077] 步骤4F共获得多组总的匹配误差
取误差中最小 的两组Emin^ E min2作为AGV全局定位的数据,设此时对应的mini = (X i,Y1),min2 = (χ2, y2),由于AGV在全局中的位姿只能在某一个子区域内,因此,该结果必须同时满足条件X1 = X2= X,
y其中I (X1)与Cl(X1)分别表示第X1子区间所分割 的小矩形沿AGV运行方向的长度与沿垂直于AGV运行方向的宽度,当满足条件时继续执行 步骤4G,否则让AGV自动向前或者向后移动一定的距离,再返回步骤4A重新执行;
[0078] 步骤4G根据上述结果确定AGV在全局地图中的位置。根据第X个 子区域内采集的mxk x组点集Q )!与P h (c = Y1 U y 2)之间匹配可得到mxkx组 误差,将其按照从小到大顺序排列,分别取前三个最小的误差,设结果分别为
其对应的Qx中的六组匹配点集可
[0079] 步骤4H步骤4G中共得到的六个误差,同样按照从小到大的顺序排列,并取 前三个最小的误差,设得到对应误差为{> /,ε2',ε3' },对应的点集可分别设为 {Qxl',Qx2',Qx3' },根据映射关系Φ,设三个点集对应的AGV在地图中的位姿分别为
[0080] 步骤41设定方差阈值σ,方差阈值σ根据下述公式确定:
[0081] σ = (2 ~5) Xmin({ ε /,ε 2',ε 3' })。
[0082] 计算三个误差的方差σ 3,如果满足σ 3< σ,则继续执行步骤4J,否则去掉三个误 差中最大的那个,然后再计算两个误差的方差σ2,如果满足 〇2< σ,则继续执行步骤4K, 否则去掉两个误差中最大的那个,然后继续执行步骤4L。
[0083] 步骤4J假设最终有三个误差{ε/,ε2',ε3' },每个误差对应的匹配变换 矩阵分别为
表示AGV丢失位姿后保存的位姿,首先根据 R(cS)变换其位姿为:
[0085] 其中x。与y。不变,然后根据匹配变换矩阵计算AGV三个全局地图的位姿可表示如 下;
[0088] 计算三个权重
其中i = 1,2,3,根据权重可最终确定AGV全 局定位的位姿可表示如下:
[0090] 步骤4K假设最终有两个误差{ε/,ε2',},每个误差对应的匹配变换矩阵分别 为
.表示AGV丢失位姿后保存的位姿,首先根据R(c δ )变 换其位姿为:
[0092] 其中X。与y。不变,然后根据匹配变换矩阵计算AGV两个全局地图的位姿可表示如 下;
[0095] 计算两个权重
其中i = 1,2,根据权重可最终确定AGV全局 定位的位姿可表示如下:
[0097] 步骤4L假设最只有误差ε/,,对应的匹配变换矩阵分别为 Θ。)表示AGV丢失位姿后保存的位姿,首先根据R (c δ )变换其位姿为:
[0098] θ 〇1= Θ 〇+ δ C1
[0099] 其中X。与y。不变,然后根据匹配变换矩阵计算AGV全局地图的位姿可表示如下;
[0100] θ 1= θ 〇1+β 1
[0102] 计算权重ω 1= 1,根据权重可最终确定AGV全局定位的位姿可表示如下:
[0104] 本【具体实施方式】使用的自动导航叉车AGV平台,AGV在任一子区域获取的激光数 据与数据库中的数据如图2所示,AGV在任一子区域获取的激光数据与数据库中的数据,在 基于ICP全局定位匹配后位姿状态如图3所示,图2及图3中加号与星号分别表示模型点 集与目标点集,通过图3与图2对比可以看出,采用基于激光SLAM导航AGV全局定位方法 即图3中模型点集与目标点集更为接近,定位更加精确。
[0105] 上述实施方式中使用的是自动导航叉车AGV平台,本发明也可以应用到其它各种 移动机器人如餐厅服务机器人和家用机器人等领域。只需移动机器人自带的传感器能够获 得数据进行SLAM导航即可,传感器可以是【具体实施方式】中的激光传感器,也可以是视觉传 感器,通过视觉传感器获得点云数据,使用相同的算法进行计算,实现全局定位,也可以应 用到其它类型的传感器。
[0106] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也 应视为本发明的保护范围。
【主权项】
1. 一种基于SLAM导航移动机器人的全局定位方法,其特征在于,所述方法包括以下步 骤: 步骤1移动机器人应用环境的子区域的选取 通过移动机器人自带的传感器,获取室内环境的数据信息,并通过SLAM技术,构建关 于室内环境完整的平面地图,设整个应用环境为Σ,在该环境下选取多个矩形的子区域,取 地图中位姿为零点所对应的环境区域为Σ。,其它的子区域分别为Σ1;Σ2,…,Ση; 假设移动机器人人工移动最大距离不超过D,那么任意相邻的两个子区域的几何中心 的距离都不应该超过2D,且应该满足2D>1,1表示子区域沿移动机器人运行方向的长度; 步骤2数据点的采集 步骤1中在移动机器人应用环境中选取矩形的子区域,它的宽度和长度分别设为d、l, 宽度d表示子区域沿垂直于移动机器人运行方向的宽度,长度1表示子区域沿移动机器人 运行方向的长度,那么每个子区域宽度与长度分别表示
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1