[发明专利]一种基于SLAM导航移动机器人的全局定位方法有效

专利信息
申请号: 201510644986.0 申请日: 2015-10-06
公开(公告)号: CN105258702B 公开(公告)日: 2019-05-07
发明(设计)人: 王斌;李国飞 申请(专利权)人: 深圳力子机器人有限公司
主分类号: G01C21/20 分类号: G01C21/20
代理公司: 暂无信息 代理人: 暂无信息
地址: 518055 广东省深圳市*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于SLAM导航移动机器人的全局定位方法,属于移动机器人自动导航技术领域。为解决现有技术中实现移动机器人全局定位需要对应用环境进行改造,增加辅助定位的特征物体,或者需要在移动机器人设备上安装辅助设备等。这些方案本身不能适应较为复杂环境、成本较高、定位精度较差、极为不方便,因此定位精度难以有更大的优化与提高的问题,本方法包括以下4个步骤:步骤1移动机器人应用环境的子区域的选取,步骤2数据点的采集,步骤3子区域选取合理与否的分析判断,步骤4基于ICP实现移动机器人全局定位。用于基于激光SLAM导航移动机器人尤其是AGV(自动导航小车)复杂环境下的全局定位。
搜索关键词: 一种 基于 slam 导航 移动 机器人 全局 定位 方法
【主权项】:
1.一种基于SLAM导航移动机器人的全局定位方法,其特征在于,所述方法包括以下步骤:步骤1 移动机器人应用环境的子区域的选取通过移动机器人自带的传感器,获取室内环境的数据信息,并通过SLAM技术,构建关于室内环境完整的平面地图,设整个应用环境为∑,在该环境下选取多个矩形的子区域,取地图中位姿为零点所对应的环境区域为∑0,其它的子区域分别为∑1,∑2,...,∑n;假设移动机器人人工移动最大距离不超过D,那么任意相邻的两个子区域的几何中心的距离都不应该超过2D,且应该满足2D>l,l表示子区域沿移动机器人运行方向的长度;步骤2 数据点的采集步骤1中在移动机器人应用环境中选取矩形的子区域,它的宽度和长度分别设为d、l,宽度d表示子区域沿垂直于移动机器人运行方向的宽度,长度l表示子区域沿移动机器人运行方向的长度,那么每个子区域宽度与长度分别表示为d1,d2,...,dn,l1,l2,...,ln,将第i个子区域分别沿宽度与长度方向上分别等距分割为mi、ki等份,得到mi*ki个矩形,将移动机器人放在分割得到的每个小矩形的几何中心,可获取沿前进或后退方向上移动机器人自带传感器扫描数据Qi,Qi包含mi*ki组匹配数据,并保存在全局定位数据库中,每个子区域获取的数据都存在一个到移动机器人在构建地图中位姿的一一映射ψ:Qit→(xit,yit,θit)’1≤i≤n,1≤t≤mi*ki;设用于Delaunay迭代最近点算法匹配的函数为L:(P,Q)→(R,T),该函数的输入为待匹配的两个点集,定义P为目标点集,Q为模型点集,输出为两个点集进行匹配的旋转矩阵R与平移向量T,旋转矩阵R(θ)表示沿逆时针方向旋转θ,θ>0,是2×2的矩阵,而平移向量T表示2×1的列向量,并定义每个点集中点的个数为N(Qi);步骤3 子区域选取合理与否的分析判断步骤3A 设第i个子区域,第r组匹配数据,表示为Qir,初始值i=1,r=1,P表示数据库中任意一组模型点集,匹配误差εir表示与第i个子区域中第r组数据匹配的误差,εir计算方法为:其中pj、qj分别表示点集P1、Qir中的任一点坐标;步骤3B 将Qir与数据库中已选取的所有子区域内的所有组数据进行匹配,获取对应的匹配误差如下:步骤3C 当中的任何一个元素的值都小于中任何一个元素值,r=r+1,再返回步骤3B,否则退出循环,重新从应用环境中选取子区域∑i,当r=mi*ki+1时,执行步骤3D;步骤3D 改变变量i=i+1,r=1,然后返回步骤3B,继续执行,直至i=n+1,退出循环;步骤4 基于ICP实现移动机器人全局定位步骤4A 将移动机器人置于应用环境中已选取的任一子区域∑i内,任何位置获取一组传感器原始数据P2,数据Qi表示在第i个子区域∑i采集的数据,设在定位程序启动前移动机器人在地图中的位姿为(x0,y0,θ0),定义初始变量c=0,0<δ<π/6,定义初始总误差Eic=0,i=1;步骤4B 先将数据P2进行处理得Ph=R(cδ)*P2,然后通过定义的ICP匹配函数L,与全局定位数据库中的数据Qi进行匹配得到mi*ki组变换矩阵(Rt,Tt)=L(Ph,Qit),1≤t≤mi*ki,其中Qit表示第i个子区域采集的第t组匹配数据;步骤4C 根据每组变换矩阵先计算变换后的点集可表示为Pt=Rt*Ph+Tt,然后计算每组匹配数据的误差为其中pr、qr分别表示点集Pt、Qit中的任一点,其中N(P)表示点集P的个数,在子区域∑i内将所有组数据匹配一次得到总的匹配误差可表示为步骤4D 将子区域∑i的数据库与传感器原始数据P2在2π弧度内进行多次匹配,改变参数的值c=c+1,当满足时继续执行步骤4E,否则返回步骤4B,其中Γ(x)表示取不超过x的最大整数,x>0,步骤4E 改变全局定位数据库中匹配点集的子区域,i=i+1,当i=n时继续执行步骤4F,否则返回步骤4A;步骤4F 共获得多组总的匹配误差E1, E2,...,Ei,取误差中最小的两组Emin1与Emin2作为移动机器人全局定位的数据,设此时对应的min1=(x1,y1),min2=(x2,y2),由于移动机器人在全局中的位姿只能在某一个子区域内,因此,必须同时满足条件x1=x2=x,其中Emin为匹配误差最小值,l(x1)与d(x1)分别表示第x1子区间所分割的小矩形的长度与宽度,当满足条件时继续执行步骤4G,否则让移动机器人自动向前或者向后移动一定的距离,再返回步骤4A重新执行;步骤4G 根据步骤4F确定的满足条件的误差中最小的两组Emin1与Emin2,确定移动机器人在全局地图中的位置,根据第x个子区域内采集的mxkx组点集Qx与Ph(c=y1∪y2)之间匹配可得到mxkx组误差,将其按照从小到大顺序排列,分别取前三个最小的误差,设结果分别为其对应的Qx中的六组匹配点集可设为步骤4H 步骤4G中共得到的六个误差,同样按照从小到大的顺序排列,并取前三个最小的误差,设得到对应误差为{ε1′,ε2′,ε3′},对应的点集可分别设为{Qx1′,Qx2′,Qx3′},根据映射关系ψ,设三个点集对应的移动机器人在地图中的位姿分别为步骤4I 设定方差阈值σ,计算三个误差的方差σ3,如果满足σ3<σ,则继续执行步骤4J,否则去掉三个误差中最大的那个,然后再计算两个误差的方差σ2,如果满足σ2<σ,则继续执行步骤4K,否则去掉两个误差中最大的那个,然后继续执行步骤4L;步骤4J 假设最终有三个误差{ε1′,ε2′,ε3′},每个误差对应的匹配变换矩阵分别 为(x0,y0,θ0)表示移动机器人丢失位姿后保存的位姿,首先根据R(cδ)变换其位姿为:其中x0与y0不变,然后根据匹配变换矩阵计算移动机器人三个全局地图的位姿可表示如下;[θ1 θ2 θ3]T=[θ01 θ02 θ03]T+[β1 β2 β3]T计算三个权重其中i=1,2,3,根据权重可最终确定移动机器人全局定位的位姿可表示如下:步骤4K 假设最终有两个误差{ε1′,ε2′},每个误差对应的匹配变换矩阵分别为(x0,y0,θ0)表示移动机器人丢失位姿后保存的位姿,首先根据R(cδ)变换其位姿为:其中x0与y0不变,然后根据匹配变换矩阵计算移动机器人两个全局地图的位姿可表示如下;[θ1 θ2]T=[θ01 θ02]T+[β1 β2]T计算两个权重其中i=1,2,根据权重可最终确定移动机器人全局定位的位姿可表示如下:步骤4L 假设最只有误差ε1′,对应的匹配变换矩阵为(R(βl),Tl),(x0,y0,θ0)表示移动机器人丢失位姿后保存的位姿,首先根据R(cδ)变换其位姿为:θ01=θ0+δc1其中x0与y0不变,然后根据匹配变换矩阵计算移动机器人全局地图的位姿可表示如下;θ1=θ011计算权重ω1=1,根据权重可最终确定移动机器人全局定位的位姿可表示如下:
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳力子机器人有限公司,未经深圳力子机器人有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510644986.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top