一种基于环境直线特征的定位方法

文档序号:6309159阅读:213来源:国知局
一种基于环境直线特征的定位方法
【专利摘要】本发明公开了一种基于环境直线特征的定位方法,包括以下步骤:1)设置全局坐标系;2)创建环境特征地图;3)机器人从起点开始不断扫描环境信息;4)对扫描数据点进行滤波处理;5)将滤波后数据点分割为不同的类别;6)采用IEP算法对每一个类别进行直线特征识别;7)从直线特征的数据点集中拟出直线,计算特征参数;8)将直线特征从激光坐标系下变换到全局坐标系下,并利用激光扫描数据校正惯性导航的航位误差;9)将得到的直线特征添加到环境特征地图中;10)重复上述步骤,得到环境特征地图;11)机器人从起点开始运动,通过不断扫描到的环境特征与已创建的环境特征地图进行匹配以实现自定位。
【专利说明】一种基于环境直线特征的定位方法

【技术领域】
[0001]本发明属于移动机器人定位【技术领域】,特别涉及一种基于环境直线特征的定位方法。

【背景技术】
[0002]在移动机器人的应用中,导航定位是机器人系统的关键功能。导航是指移动机器人通过传感器获得环境信息和自身位姿状态,实现在障碍物的环境中自主运动到目的地。导航的关键和前提是定位,定位是指实时确定机器人自身在环境中的位置和姿态。
[0003]目前较为常见的机器人定位技术主要是根据先验的环境信息,结合当前机器人位置信息和传感器获取的信息确定机器人位姿状态。定位技术主要分为绝对定位和相对定位;绝对定位常用的有卫星GPS定位、导航路标、地图匹配等,相对定位通过计算相对于初始位姿的位姿变化来确定当前的位姿状态,常见的有里程计、惯性导航系统。GPS定位误差较大,且容易受电磁干扰;导航路标定位需要建立导航路标改变已有环境,费时费力;而已有的地图匹配算法需要手动创建环境地图或者自主创建的地图精度不高无法形成闭环等;而里程计、惯性导航系统等长时间或大尺度下累积误差较大,定位精度较差。现有的导航定位方法存在的各种问题,无法准确、省力地为机器人提供位姿信息。


【发明内容】

[0004]本发明的目的是为了解决上述问题,提供一种无需改变环境即可完成机器人自主创建地图和定位,且精度较高的基于环境直线特征的定位方法。
[0005]为此,本发明的技术方案是:一种基于环境直线特征的定位方法,在至少具有运动控制系统、惯性导航系统、激光扫描传感器的机器人上使用;其特征在于:它包括以下步骤:
1)首先在新的未知环境下,设置起点位姿Z0,并以此为基准设置全局坐标系,即以起点位置为坐标系原点,以起点运动朝向为I轴正向,按右手法则确定X轴正向;
2)控制机器人在环境中运动以自主创建环境特征地图;
3)机器人从起点开始运动,机器人所载激光传感器不断扫描环境信息得到以激光传感器为原点的角度、距离极坐标点数据;机器人每运动一定距离就要处理一次激光扫描数据;
惯性导航系统不断输出机器人当前的航位信息,利用该航位信息不断计算当前点与上一次扫描数据处理位置的距离delta_d,当该距离大于等于设定的阈值delta_dthreshod时则进行下面的激光扫描数据处理,并将delta_d清0,从当前点重新开始计算delta_d ;
4)对杂乱无规律的激光扫描数据点进行滤波处理,去除在有效计算距离范围之外的无用点;
5)将滤波后数据点根据其分布的连续特性聚类处理,分割为不同的类别;计算相邻两激光扫描点距离nd_laser,若该距离小于等于设定阈值thr_cate则判定为同一类别,同一类别代表该点集来自障碍物的连续表面;同时设置合适的阈值thr_cate,将数据点较少的类别剔除以加快数据处理速度;
6)采用IEP算法对每一个类别进行直线特征识别,在每个类别中找出构成直线特征的数据点集;设置合理的阈值thr_cate,将数据点较少的直线点集剔除;
7)利用最小二乘准则从直线特征的数据点集中拟合出直线,并计算其特征参数;
以机器人为中心坐标系与激光传感器为中心的坐标系重合,所述参数为在激光传感器坐标系下,直线到原点距离d、直线与坐标原点的垂线与极坐标轴夹角theta、直线端点坐标pi (X,y),p2(x, y)和线性相关系数r ;其中d,theta直线方程参数,利用线段端点pl,p2计算线段长度和直线匹配;利用线性系数r作为判别其直线特征相似程度,优先利用线性系数高的直线特征进行定位计算;
8)将上述步骤中得到的直线特征从激光坐标系下变换到全局坐标系下,并利用激光扫描数据校正惯性导航的航位误差;
以相同直线的两次激光扫描数据提取的特征参数为基准,反推计算坐标系变换关系,激光扫描器坐标系下特征直线位姿变化即为两次激光扫描间机器人在全局坐标系下位姿变化量,以此校正惯性导航输出的位姿状态;
9)将上述步骤校正得到的直线特征添加到环境特征地图中,所述环境特征地图为记录特征直线参数的数据库,每条记录为一特征直线,记录的属性分别为直线的特征参数d,theta,pi,p2 ;
10)使机器人在整个环境中运动重复上述步骤,以得到整个环境的特征地图;
11)机器人从起点开始运动,通过不断扫描到的环境特征与已创建的环境特征地图进行匹配以实现自定位;
机器人从起点开始运动,惯性导航输出当前位姿的粗略值,激光不断当前扫描当前环境,每隔一定距离按照上述特征提取过程得到特征直线变换到全局坐标系,在已创建地图中查找相对应的直线特征,判别地图中是否已有直线与当前特征直线相对应。
[0006]本发明以惯性导航的输出位姿为基础,利用激光扫描获取自然环境中的直线特征,通过前后两次扫描中重叠部分校正惯性导航误差,创建高精度的环境特征地图,然后利用该创建的地图与实时扫描数据匹配进行定位。本发明无需改变环境即可完成机器人自主创建地图和定位,且精度较高。

【专利附图】

【附图说明】
[0007]以下结合附图和本发明的实施方式来做进一步详细说明。
[0008]图1本发明的工作流程图。
[0009]图2本发明的直线特征提取流程图。
[0010]图3本发明的地图创建流程图。
[0011]图4本发明的误差校正流程图。
[0012]图5本发明的地图匹配流程图。

【具体实施方式】
[0013]参见附图。本实施例包括以下步骤: 1)首先在新的未知环境下,设置起点位姿Z0,并以此为基准设置全局坐标系,即以起点位置为坐标系原点,以起点运动朝向为I轴正向,按右手法则确定X轴正向;
2)控制机器人在环境中运动以自主创建环境特征地图;
3)如图1所示主要包括地图创建模块和地图匹配定位模块;如图3所示为基于环境特征的地图自主创建过程:
机器人从起点开始运动,机器人所载激光传感器不断扫描环境信息得到以激光传感器为原点的角度、距离极坐标点数据;机器人每运动一定距离就要处理一次激光扫描数据;
惯性导航系统不断输出机器人当前的航位信息,利用该航位信息不断计算当前点与上一次扫描数据处理位置的距离delta_d,当该距离大于等于设定的阈值delta_dthreshod时则进行下面的激光扫描数据处理,并将delta_d清O,从当前点重新开始计算delta_d ;
4)如图2所示从激光扫描数据中提取直线特征过程:对杂乱无规律的激光扫描数据点进行滤波处理,去除在有效计算距离范围之外的无用点;
5)将滤波后数据点根据其分布的连续特性聚类处理,分割为不同的类别;方法为计算相邻两激光扫描点距离nd_laser,若该距离小于等于设定阈值thr_cate则判定为同一类另IJ,同一类别代表该点集来自障碍物的连续表面;同时设置合适的阈值thr_cate,将数据点较少的类别剔除以加快数据处理速度;
6)采用IEP算法对每一个类别进行直线特征识别,在每个类别中找出构成直线特征的数据点集;设置合理的阈值thr_cate,将数据点较少的直线点集剔除;
7)利用最小二乘准则从直线特征的数据点集中拟合出直线,并计算其特征参数;
假设以机器人为中心坐标系与激光传感器为中心的坐标系重合,所述参数为在激光传感器坐标系下,直线到原点距离d、直线与坐标原点的垂线与极坐标轴夹角theta、直线端点坐标pi (X,y),p2(x,y)和线性相关系数r ;其中d、theta直线方程参数,利用线段端点pl,p2计算线段长度和直线匹配;利用线性系数!■作为判别其直线特征相似程度,优先利用线性系数高的直线特征进行定位计算;
8)将上述步骤中得到的直线特征从激光坐标系下变换到全局坐标系下,并利用激光扫描数据校正惯性导航的航位误差;
如图4所示为误差校正过程,其中LI表示提取的特征直线在激光传感器坐标系下参数,{LI,...}表示特征直线集,{LI’,...}表示将直线集{LI,...}变换到全局坐标系下,{ (LI’’,L2’表示由{LI,...}到{L2,...}的对应直线对映射集;
在两次激光扫描中相同的特征直线变换全局坐标系下其特征参数会存在差异,主要原因为惯性导航导致的当前位姿存在误差,即坐标变换关系存在误差,因而导致环境中相同直线在全局坐标下有不同参数;因而以相同直线的两次激光扫描数据提取的特征参数为基准,反推计算坐标系变换关系,激光扫描器坐标系下特征直线位姿变化即为两次激光扫描间机器人在全局坐标系下位姿变化量,以此校正惯性导航输出的位姿状态;其中采用最近邻法判别两次不同扫描数据中是否为同一直线。具体方法为,假设LI (rl,thetal)为Tl时刻激光扫描数据提取的某一直线参数,此时刻机器人位姿坐标为Zl (XI,Yl, THETA1);L2 (r2,theta2)为T2时刻激光扫描数据提取的某一直线参数,此时刻机器人位姿为Z2 (X2,Y2,THETA2)将前后两次直线参数变换到全局坐标系下,根据判别标准确定两直线是否来自同一物体;采用的判别标准为,两直线距离差绝对值小于设定阈值lthr_d,且两直线角度差绝对值小于设定阈值lthr_theta,且两直线对应端点距离小于设定阈值lthr_pd ;假设LLL2判定为同一直线,则很容易计算Tl时候到T2时刻机器人位姿变化量deltaZ,利用该位姿校正位姿Z2=Zl+deltaZ ;
9)将上述步骤校正得到的直线特征添加到环境特征地图中,所述环境特征地图为记录特征直线参数的数据库,每条记录为一特征直线,记录的属性分别为直线的特征参数d,theta, pl,p2 ;
10)使机器人在整个环境中运动重复上述步骤,以得到整个环境的特征地图;
11)机器人从起点开始运动,通过不断扫描到的环境特征与已创建的环境特征地图进行匹配以实现自定位;
如图5所示为地图匹配定位过程,其中MLl为地图中所记录某一特征直线,{ML1,...}为地图记录的直线集;机器人从起点开始运动,惯性导航输出当前位姿的粗略值,激光不断当前扫描当前环境,每隔一定距离按照上述特征提取过程得到特征直线变换到全局坐标系,在已创建地图中查找相对应的直线特征,用上述判别准则判别是地图中是否已有直线与当前特征直线相对应。若在地图中可找到对应的特征直线记录假设为ML1,则以此记录MLl为基础和当前扫描数据LI计算当前位姿Z。若在地图中无法找到对应的特征直线记录,假设L2’,则判定当前扫描数据为一新特征,将该新特征ML2’添加到地图中以更新当前地图。
【权利要求】
1.一种基于环境直线特征的定位方法,在至少具有运动控制系统、惯性导航系统、激光扫描传感器的机器人上使用;其特征在于:它包括以下步骤: 1)首先在新的未知环境下,设置起点位姿Z0,并以此为基准设置全局坐标系,即以起点位置为坐标系原点,以起点运动朝向为I轴正向,按右手法则确定X轴正向; 2)控制机器人在环境中运动以自主创建环境特征地图; 3)机器人从起点开始运动,机器人所载激光传感器不断扫描环境信息得到以激光传感器为原点的角度、距离极坐标点数据;机器人每运动一定距离就要处理一次激光扫描数据; 惯性导航系统不断输出机器人当前的航位信息,利用该航位信息不断计算当前点与上一次扫描数据处理位置的距离delta_d,当该距离大于等于设定的阈值delta_dthreshod时则进行下面的激光扫描数据处理,并将delta_d清O,从当前点重新开始计算delta_d ; 4)对杂乱无规律的激光扫描数据点进行滤波处理,去除在有效计算距离范围之外的无用点; 5)将滤波后数据点根据其分布的连续特性聚类处理,分割为不同的类别;计算相邻两激光扫描点距离nd_laser,若该距离小于等于设定阈值thr_cate则判定为同一类别,同一类别代表该点集来自障碍物的连续表面;同时设置合适的阈值thr_cate,将数据点较少的类别剔除以加快数据处理速度; 6)采用IEP算法对每一个类别进行直线特征识别,在每个类别中找出构成直线特征的数据点集;设置合理的阈值thr_cate,将数据点较少的直线点集剔除; 7)利用最小二乘准则从直线特征的数据点集中拟合出直线,并计算其特征参数; 以机器人为中心坐标系与激光传感器为中心的坐标系重合,所述参数为在激光传感器坐标系下,直线到原点距离d、直线与坐标原点的垂线与极坐标轴夹角theta、直线端点坐标pi (X,y),p2(x, y)和线性相关系数r ;其中d,theta直线方程参数,利用线段端点pl,p2计算线段长度和直线匹配;利用线性系数r作为判别其直线特征相似程度,优先利用线性系数高的直线特征进行定位计算; 8)将上述步骤中得到的直线特征从激光坐标系下变换到全局坐标系下,并利用激光扫描数据校正惯性导航的航位误差; 以相同直线的两次激光扫描数据提取的特征参数为基准,反推计算坐标系变换关系,激光扫描器坐标系下特征直线位姿变化即为两次激光扫描间机器人在全局坐标系下位姿变化量,以此校正惯性导航输出的位姿状态; 9)将上述步骤校正得到的直线特征添加到环境特征地图中,所述环境特征地图为记录特征直线参数的数据库,每条记录为一特征直线,记录的属性分别为直线的特征参数d,theta,pi,p2 ; 10)使机器人在整个环境中运动重复上述步骤,以得到整个环境的特征地图; 11)机器人从起点开始运动,通过不断扫描到的环境特征与已创建的环境特征地图进行匹配以实现自定位; 机器人从起点开始运动,惯性导航输出当前位姿的粗略值,激光不断当前扫描当前环境,每隔一定距离按照上述特征提取过程得到特征直线变换到全局坐标系,在已创建地图中查找相对应的直线特征,判别地图中是否已有直线与当前特征直线相对应。
【文档编号】G05D1/02GK104503449SQ201410677187
【公开日】2015年4月8日 申请日期:2014年11月24日 优先权日:2014年11月24日
【发明者】陈如申, 黎勇跃, 王海瑞, 马丽艳 申请人:杭州申昊科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1