首页> 中国专利> 一种基于熵和灰关联度的室内环境特征提取方法

一种基于熵和灰关联度的室内环境特征提取方法

摘要

本发明公开了一种基于熵和灰关联度的室内环境特征提取方法,该方法通过模拟人类加工环境信息的知识处理方法,利用信息论中的相关技术方法完成对环境的逐步认知;一方面,通过利用熵和灰关联度实现环境特征提取,最大限度地减少计算和信息存储代价,还提高了数据处理鲁棒性;另一方面,在机器人漫游过程中通过熵对环境特征进行更新,提高了声纳数据处理的实时性和精确度;同时,基于熵和灰关联度的室内环境特征提取可以有效用于移动机器人定位、地图创建及路径规划过程中,提高了机器人导航任务的精度及鲁棒性。

著录项

  • 公开/公告号CN104793492A

    专利类型发明专利

  • 公开/公告日2015-07-22

    原文格式PDF

  • 申请/专利权人 中国科学技术大学;

    申请/专利号CN201510161001.9

  • 发明设计人 陈宗海;屈薇薇;王鹏;

    申请日2015-04-07

  • 分类号G05B13/04(20060101);

  • 代理机构11260 北京凯特来知识产权代理有限公司;

  • 代理人郑立明;郑哲

  • 地址 230026 安徽省合肥市包河区金寨路96号

  • 入库时间 2023-12-18 09:52:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-28

    授权

    授权

  • 2015-08-19

    实质审查的生效 IPC(主分类):G05B13/04 申请日:20150407

    实质审查的生效

  • 2015-07-22

    公开

    公开

说明书

技术领域

本发明涉及移动机器人导航技术领域,尤其涉及一种基于熵和灰关联度的室内环境特 征提取方法。

背景技术

随着人工智能的发展,机器人从不具备思维能力、沟通能力的只能按照预先编制的 程序运行的简单劳动者逐渐转变为“能够在环境中感知并提取信息,并且可以利用环境 知识,以有目的、有意义、安全的方式工作的机器”。智能体对于环境知识的表示是目 前人工智能研究的核心和热点,主要是寻求环境空间知识与空间实体表示之间的映射, 需要解决的问题有:1)怎样定性地表述知识;2)怎样反映表述中的信息不完备性和不确 定性;3)怎样实现定性定量知识的相互转换;4)怎样体现智能体的推理能力。

目前,国内外对于环境知识表示方法的研究主要分为:基于概率的度量地图,基于 符号表示的拓扑地图以及基于空间分层的认知地图。

其中,基于概率的度量地图使用定量手段描述环境中的不确定性,应用递归的方法 对环境实现逐步认知,用更新概率分布的方式实现知识的扩充,存在计算量大、数据关 联获取困难、无法在线绘制大规模地图等问题。通常应用于对精确性要求较高的领域, 属于人类最原始的对未知环境的知识表达方法。

基于符号表示的拓扑地图从连续、带噪的环境中可靠地提取有用的符号,由于其对 环境的离散化,因此不存在度量地图中的误差累计问题。拓扑地图是对环境知识经过初 步处理后的表达,通常应用于对环境的整体粗略表示。

基于空间分层的认知地图模拟人类对于环境的宏观描述将环境结构化,使目标地图 比度量地图更加简洁、明确,比拓扑地图更具鲁棒性,更接近于人对环境几何结构的感 知。不仅能够对机器人的可靠导航提供依据还能提供对环境空间的抽象和交叉推理、规 划和认知存储的依据以及人机交流的共同基础,该表示符合人类认知模式的发展过程。

综观目前认知地图的表示方法,一般是将局部环境表示为一组线段的集合,并将其 用于进一步提取环境更高层次的特征。移动机器人对室内环境进行直线特征提取的方法 主要有分裂与合并算法,递增算法,霍夫变换算法,直线回归算法,随机采样一致算法 以及期望最大化算法。其中,霍夫变换能够在大量不确定信息中有效地找出特征信息, 是检测直线或圆弧的有效方法,但对线段特征进行提取容易产生特征混淆,通常需要对 数据点进行聚类后再提取线段特征,因此只能用于离线处理距离数据。

发明内容

本发明的目的是提供一种基于熵和灰关联度的室内环境特征提取方法,提高了数据处 理的实时性、精确度及鲁棒性,同时,提取出的特征还可提高机器人导航任务的精度及 鲁棒性。

本发明的目的是通过以下技术方案实现的:

一种基于熵和灰关联度的室内环境特征提取方法,该方法包括:

对机器人静止状态时获取的初始数据进行预处理,再基于灰关联度的主方向提取方 法从预处理后的数据中提取若干直线特征,并基于最特殊法确定线段端点,从而从所述 若干直线特征中提取出对应的线段,组成初始线段特征集;

对机器人移动时获取到的新数据进行预处理,采用基于熵的方法从预处理后的新数 据中提取新的线段特征并加入到初始线段特征集中,再基于灰关联度的方法利用预处理 后的新数据对已有线段特征集进行更新;

基于熵的方法对更新后的线段特征集中的线段进行融合;

利用几何计算融合后线段之间的交点,得到环境的关键特征点,并将关键特征点按 照先后顺序两两连接,获得室内环境的特征表示。

进一步的,所述对机器人静止状态时获取的初始数据进行预处理包括:

根据声纳传感器的最大测量距离R过滤由于测量盲区或超出声纳测量范围而产生的 测量值(x,y,θ,r),其中,(x,y)表示目标的笛卡尔坐标,θ为目标相对机器人的方位,r为 目标到机器人的距离;

过滤后的数据集记为c,利用自组织映射对数据集c进行聚类,获得聚类后的数据集 C={C1,C2,…,Cn},完成初始数据的预处理。

进一步的,所述基于灰关联度的主方向提取方法从预处理后的数据中提取若干直线 特征,并基于最特殊法确定线段端点,从而从所述若干直线特征中提取出对应的线段, 组成初始线段特征集包括:

对于预处理后的初始数据集C={C1,C2,…,Cn}中的第m个点簇Cm,通过协方差矩阵 计算该点簇Cm的特征值λ1和λ2以及对应的特征向量v1、v2,并带入下式计算得分 score:

scoreu=λu/Σh=12λh,u=1,2;

使得分score最大的特征值对应的特征向量的方向即为主方向,若最大得分score大 于得分阈值scorethres,则提取其斜率km

计算具有斜率km的直线与点簇Cm的灰关联度,其公式为:

γ(ljm,Cm)=minidim+ξmaxdimidjm+ξmaxidim

其中,指斜率为km并经过点簇Cm内第j个点的直线,为点簇Cm中的点到 直线距离的最小值,点簇Cm中的点到直线距离的最大值,为点簇Cm中 的点到直线的平均距离,ξ为分辨系数;

将所有的直线中具有最大灰度关联度的直线作为待拟合的直线特征lm

将点簇Cm中的点投影到直线特征lm中,利用最边缘的两个投影点作为端点,生成特 征线段lm

将预处理后的所有点簇均通过上述方式进行处理,获得初始线段特征集 L={l1,l2,…,ln}。

进一步的,对机器人移动时获取到的新数据进行预处理的步骤包括:

计算新数据中每一个点pi与初始线段特征集L中各个线段的灰关联度,将灰关联度 值以及对应线段的序号存储为矩阵D;其中,最小灰关联度值记为gmin,对应的线段记为 l(Imin);若gmin大于噪声阈值gnoise,则将点pi作为噪声点去除;否则,进入下一步处 理;

判断点pi是否是在线段l(Imin)的延长线上,判断过程如下:记di1、di2以及d12分别为 点pi与线段l(Imin)的端点l_p1间距离、点pi与线段l(Imin)的端点间距离l_p2以及线段 l(Imin)的长度;若di1+di2-d12>dthres,其中dthres为距离阈值,则对点pi不作处理;否则 进入下一步处理;

分别计算点pi后获取到的k个点与pi之间的距离dki,若dki≤d_thres,则认为该点与 点pi相关,存储为矩阵P_rel,点数为nP_rel;其中,d_thres为距离阈值。

进一步的,所述基于熵的方法从预处理后的新数据中提取新的线段特征包括:

计算矩阵P_rel中的点与初始线段特征集L中各个线段之间的平均距离,存储为矩阵 d_LP_rel,其中,最小值记为d_LPmin,对应线段序号记为I_Pmin

若d_LPmin>d_LPthres、nP_rel>num,则计算矩阵P_rel的最大得分score;其 中,d_LPthres为距离阈值,num为数量阈值;

若其最大得分满足score>scorethres,则基于灰关联度的主方向提取方法以及最特殊法 提取对应的线段l。

进一步的,基于灰关联度的方法利用新的线段特征对所述初始线段特征集进行更新 包括:

将提取出的新的线段l加入到初始线段特征集L中,并将矩阵P_rel作为新的点簇加 入到数据集C中;

计算点pi与新线段l的灰关联度,使用该灰关联度以及对应线段的序号更新矩阵D, 得到新的矩阵D';该矩阵D'中最小灰关联度值记为g'min,对应的线段记为l(I'min);

若d_LPmin≤d_LPthres,g'min≤gnoise且di1'+di2'-d12'≤dthres,则点pi属于线段 l(I'min),将点pi加入到线段l(I'min)对应的点簇中,再重新计算该点簇对应的线段来代替该 点簇之前所计算出的线段。

进一步的,基于熵的方法对更新后的线段特征集中的线段进行融合的步骤包括:

将更新后的线段特征集中每一线段表示为其中ρi为全局坐标原点到线段li的距离,αi为该线段在全局坐标中与X轴之间的夹角,Pi1e、Pi2e为线段li的两个端点,为线段li的中点,qi为线段li的长度;

将线段按照笛卡尔坐标中从左到右的出现顺序进行排列,并按照排列后的顺序对线段 进行融合;若线段lk与其后的线段lk+1满足融合条件,则融合形成新的线段Lk,以融合后 的线段Lk代替原来的线段lk和lk+1,并将其与随后的线段lk+2进行融合条件的判断,若满 足条件,则进行融合,重复上述过程直至结束;融合后的线段集合表示为 L'={L1,L2,…,Lm},其中m≤n;

其中,融合条件的判断过程以及融合过程如下:

对于排序后的线段对(li,lj),先确定对应的参考线段Lr,该线段Lr在全局坐标中与x 轴的夹角为:

αg=qiαi+qjαjqi+qj;

该线段Lr的中点为:

pm=qiPim+qjPjmqi+qj;

其中qi与qj表示线段li与lj的权重;

计算线段li与lj的端点在参考线段Lr上的投影

通过与参考线段Lr的比较计算线段li与lj之间的不一致性,其公式为:

Dijp=Σk=12||pike-p^ike||+||pjke-p^jke||2;

若其中,Dth为阈值,则计算线段li与lj在参考线段Lr上的投影两两之间 的距离,其公式为:

def=||p^eiie-p^fjje||,e,f{i,j},ef,ii,jj{1,2}

将线段li与lj之间的重叠程度定义为:

Q=||p^i1e-p^i2e||+||p^j1e-p^j2e||dr;

其中,dr为投影点两两之间距离def最大者,dr=maxdef

若Q>Qth且|αij|<αth,其中,αth为角度阈值,Qth为重叠程度阈值,则对线段li与lj进行融合,融合后的线段位于参考线段Lr上,其端点为使得dmn最大的两个投影点。

进一步的,所述利用计算几何计算融合后线段之间的交点,得到环境的关键特征点 包括:

将融合后的线段集合L'={L1,L2,…,Lm}中的各个线段进行首尾各延长长度Len;

对于该集合L'中的任意两条线段Li和Lj,其端点分别为pi1、pi2以及pj1、pj2;设线 段Li为:

{Lii(x,y)=(y-yik)(xi2-xi1)-(x-xik)(yi2-yi1)=0};

其中,Δi(x,y)表示坐标为(x,y)的点p到线段Li的距离;(xik,yik),k∈(1,2)为线段Li端 点的笛卡尔坐标;

若Δi(xj1,yj1)·Δi(xj2,yj2)<0,则线段Lj的两个端点pj1、pj2位于线段Li的两侧;若 Δj(xi1,yi1)·Δj(xi2,yi2)<0,则线段Li的两个端点pi1、pi2位于线段Lj的两侧;其中, Δi(xj1,yj1)和Δi(xj2,yj2)分别表示线段Lj的两个端点pj1=(xj1,yj1)、pj2=(xj2,yj2)与线段 Li的距离,Δj(xi1,yi1)和Δj(xi2,yi2)分别表示线段Li的两个端点pi1=(xi1,yi1)、pi2=(xi2,yi2) 与线段Lj的距离;

若(Δi(xj1,yj1)·Δi(xj2,yj2)<0)∩(Δj(xi1,yi1)·Δj(xi2,yi2)<0)=1,则认为线段Li和Lj相 交;其交点作为关键特征点,表示为:

(x,y)|(Δi(x,y)=(y-yik)(xi2-xi1)-(x-xik)(yi2-yi1)=0)(Δj(x,y)=(y-yjk)(xj2-xj1)-(x-xik)(yi2-yi1)=0)

通过上述方式计算得到所有的关键特征点,将所有的关键特征点按照所属线段位置 关系进行排序,获得排序后的关键特征点集合,记为P={P1,P2,…,Pk}。

进一步的,所述将关键特征点按照先后顺序两两连接,获得室内环境的特征表示包 括:

将关键特征点P1和P2连接组成第一条线段,关键特征点P2和P3连接组成第二条线 段,以此类推,由此得到的线段组则为当前室内环境的特征表示。

由上述本发明提供的技术方案可以看出,模拟人类加工环境信息的知识处理方法,利 用信息论中的相关技术方法完成对环境的逐步认知;一方面,通过利用熵和灰关联度实 现环境特征提取,最大限度地减少计算和信息存储代价,提高数据处理鲁棒性;另一方 面,在机器人漫游过程中通过熵对环境特征进行更新,提高了声纳数据处理的实时性和 精确度;同时,基于熵和灰关联度的室内环境特征提取可以有效用于移动机器人定位、 地图创建及路径规划过程中,提高了机器人导航的精度及鲁棒性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的 附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得 其他附图。

图1为本发明实施一例提供的一种基于熵和灰关联度的室内环境特征提取方法的流程 图;

图2为本发明实施例二提供的一种基于熵和灰关联度的室内环境特征提取方法的流程 图;

图3为本发明实施例二提供的室内环境中初始线段特征集的示意图;

图4为本发明实施例二提供的提取新的线段特征加入初始线段特征集的示意图;

图5为本发明实施例二提供的对线段进行更新的示意图;

图6为本发明实施例二提供的线段集合初次提取后的示意图;

图7为本发明实施例二提供的对初次提取后的线段集合进行加固处理的示意图;

图8为本发明实施例二提供的加固处理后的线段集合进行融合处理后的示意图;

图9为本发明实施例二提供的融合后线段进行延长并提取关键特征点的示意图;

图10为本发明实施例二提供的排序后的关键特征点的示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地 描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明的保护范围。

实施例

图1为本发明实施例一提供的一种基于熵和灰关联度的室内环境特征提取方法的流程 图。如图1所示,该方法主要包括如下步骤:

步骤11、对机器人静止状态时获取的初始数据进行预处理,再基于灰关联度的主方 向提取方法从预处理后的数据中提取若干直线特征,并基于最特殊法确定线段端点,从 而从所述若干直线特征中提取出对应的线段,组成初始线段特征集。

具体来说,本步骤主要包括:数据预处理以及初始线段特征提取。

1、数据预处理

数据预处理主要是过滤由于测量盲区或超出声纳测量范围而产生的测量值。机器人 在获取到的测量点表示为(x,y,θ,r),其中,(x,y)表示目标的笛卡尔坐标,θ为目标相对 机器人的方位,r为目标到机器人的距离。

根据声纳传感器的最大测量距离R对获取到的数据进行过滤,本发明实施例中,设 R=5000mm;过滤后的数据集记为c,再利用自组织映射对数据集c进行聚类,获得聚类 后的数据集C={C1,C2,…,Cn},完成初始数据的预处理。

2、初始线段特征提取

本发明实施例中,对聚类后的各个点簇分别进行线段特征提取,得到环境的初始线 段特征。

令初始数据集C={C1,C2,…,Cn}中的第m个点簇Cm拟合出的直线lm为 {lm|y=kmx+bm},其中,x和y分别为直线上lm的点的横纵坐标(即直线上的所有点都 符合该公式,但点簇Cm中的点并不一定都位于该直线上),km为直线lm的斜率,bm为 直线lm的截距;即通过主方向提取得到斜率km可以确定一簇直线,假设待拟合直线必定 经过点簇Cm中的第j个点,再使用最特殊假设获取线段端点,则可提取点簇Cm的线段特 征。具体过程如下:

1)确定主方向,并提取斜率km

对于点簇Cm,由于在笛卡尔坐标P中观测到的数据点在X轴和Y轴上具有较大的离 散性,因此将观测点进行旋转变换到主方向坐标系P',使得变量(X,Y)的信息大部分集 中在新变量X'(主方向)上,小部分集中在新变量Y'(次方向)上,即通过协方差矩阵 计算该点簇Cm的特征值λ1和λ2以及对应的特征向量v1、v2。具体的:

令点簇Cm中的数据点在笛卡尔坐标中的观测变量(x1,y1),(x2,y2),…,(xR,yR)构成一个 n×2阶的数据阵列:

P=(X,Y)=x1y1x2y2......xRyR;

其中,pr=(xr,yr),r=[1,R]。由于受到噪声影响,在笛卡尔坐标中观测到的这R个样 本在X轴和Y轴轴具有较大的离散性,因此对数据点进行旋转变换到主方向坐标系P' (主方向坐标系则为每一个点簇的局部坐标,仅用来判断点簇分布的主方向,其参考的 水平方向为笛卡尔坐标的X轴),使得变量(X,Y)的信息大部分集中在新变量X'(主方 向)上,小部分集中在新变量Y'(次方向)上,该主方向即为待拟合直线所在的方向。 该过程通过线性组合表示为:

XY=cosαsinα-sinαcosαXY=AP;

其中,AT=A-1,且A是正交矩阵,有ATA=I。

带入下式计算得分score,使得分score最大的特征值对应的特征向量的方向即为主 方向:

scoreu=λu/Σh=12λh,u=1,2;

若最大得分score大于得分阈值scorethres(score>scorethres),则认为该主方向能够 表征该点簇Cm数据点的主要信息,提取其斜率km。若score<scorethres,则需要对该点簇 Cm数据点迭代聚类处理,以便找到能够表征主要信息的方向。

2)确定待拟合的直线特征lm

在前述步骤1)中已经确定了待拟合的直线特征lm的斜率为km,由于点簇Cm中存在 多个点,也就对应了多条斜率为km的直线,因此需要通过直线与点簇的灰关联度确定最 终的待拟合的直线特征lm;其过程如下:

令斜率为km并经过点簇Cm内第j个点(xj,yj)的直线与点簇Cm内第i个点之间的 距离为其计算公式为:

dijm=km·xi-yi-km·xj+yj(Km)2+1;

则点簇Cm中的点到直线的平均距离为:

djm=1nmΣi=1nmdijm=1nmΣi=1nmkm·xi-yi-km·xj+yj(km)2+1

其中,nm为该点簇Cm中点的数量;

将点簇Cm中的点到直线距离的最小值记为最大值记为再计算直 线与点簇Cm的灰关联度,其公式为:

γ(ljm,Cm)=minidim+ξmaxdimidjm+ξmaxidim

其中,ξ为分辨系数;

将所有的直线中具有最大灰度关联度的直线作为待拟合的直线特征lm

3)提取线段特征。

将点簇Cm中的点投影到直线特征lm中,利用最边缘的两个投影点作为端点,生成特 征线段lm

将预处理后的所有点簇均通过上述方式进行处理,则获得初始线段特征集 L={l1,l2,…,ln}。

步骤12、对机器人移动时获取到的新数据进行预处理,采用基于熵的方法从预处理 后的新数据中提取新的线段特征并加入到初始线段特征集中,再基于灰关联度的方法利 用预处理后的新数据对已有线段特征集进行更新。

步骤11是提取机器人静止时获取的数据的特征,得到最初的环境特征的步骤,从本 步骤开始就是机器人移动时的实时处理过程,将机器人获得的新输入逐个融入到之前得 到的环境特征中。

具体来说,本步骤主要包括:新数据预处理、提取新的线段特征以及更新初始线段 特征。

1、新数据预处理。

1)计算新数据中每一个点pi(笛卡尔坐标为(xi,yi))与初始线段特征集L中各个线 段的灰关联度;示例性的,令点pi与线段L0之间的差异信息为点pi到线段L0的距离:

di0=k0·xi-yi-k0·xj+yj(k0)2+1;

其中,(x0,y0)为线段L0上的点,k0为线段L0所在直线的斜率。则点pi与线段L0之间的灰 关联度为γ(pi,L0)∈[0,1]。其中,C为归一化常数,其数字大小与实际测量 精度有关。

将按照上述方法计算获得的所有灰关联度值以及对应线段的序号存储为矩阵D;其 中,最小灰关联度值记为gmin,对应的线段记为l(Imin)(该线段属于初始线段特征集 L);若gmin大于噪声阈值gnoise(gmin>gnoise),则将点pi作为噪声点去除;否则,进 入下一步处理。

2)判断点pi是否是在线段l(Imin)的延长线上,判断的目的是为了排除距离线段 l(Imin)很远,但是通过点到直线的距离公式计算会误认为位于线段l(Imin)上的点;

判断过程如下:记di1、di2以及d12分别为点pi与线段l(Imin)的端点l_p1间距离、点 pi与线段l(Imin)的端点间距离l_p2以及线段l(Imin)的长度;若di1+di2-d12>dthres,其中 dthres为距离阈值,则说明点pi在线段l(Imin)的延长线上,且距离l(Imin)较远,对点pi不作 处理;否则进入下一步处理。

3)分别计算点pi后获取到的k个点与pi之间的距离dki,若dki≤d_thres,则认为该 点与点pi相关,存储为矩阵P_rel(即预处理后的新数据),点数为nP_rel;其中, d_thres为距离阈值。

2、提取新的线段特征。

1)计算矩阵P_rel中的点与初始线段特征集L中各个线段之间的平均距离,存储为 矩阵d_LP_rel,其中,最小值记为d_LPmin,对应线段序号记为I_Pmin

2)若d_LPmin>d_LPthres、nP_rel>num,则计算矩阵P_rel的最大得分score;其 中,d_LPthres为距离阈值,num为数量阈值。

3)若其最大得分满足score>scorethres,则基于灰关联度的主方向提取方法以及最特 殊法提取对应的线段l(即利用步骤11中的方法)。

3、更新初始线段特征。

将提取出的新的线段l加入到初始线段特征集L中,并将矩阵P_rel作为新的点簇加 入到数据集C中;

计算点pi与新线段l的灰关联度(可按照前述新数据预处理步骤中的方法计算),使 用该灰关联度以及对应线段的序号更新矩阵D,得到新的矩阵D';该矩阵D'中最小灰关 联度值记为g'min,对应的线段记为l(I'min);

若d_LPmin≤d_LPthres,g'min≤gnoise且di1'+di2'-d12'≤dthres,则点pi属于线段 l(I'min),将点pi加入到线段l(I'min)对应的点簇中,再重新计算该点簇对应的线段来代替该 点簇之前所计算出的线段(即利用步骤11中的方法)。即根据前述内容可知,d_LPmin是 与点pi相关的点到初始线段特征集L的平均距离的最小值,若d_LPmin≤d_LPthres,则说 明点pi可能距离初始线段特征集L较远,但没有超过噪声阈值,不需要生成新的线段, 以免出现太多相似线段不利于后续处理。

步骤13、基于熵的方法对更新后的线段特征集中的线段进行融合;

本发明实施例中,将更新后的线段特征集中每一线段表示为 其中ρi为全局坐标原点到线段li的距离,αi为该线段 在全局坐标(笛卡尔坐标)中与X轴之间的夹角,Pi1e、Pi2e为线段li的两个端点,Pim为 线段li的中点,qi为线段li的长度。

将线段按照笛卡尔坐标中从左到右的出现顺序进行排列,并按照排列后的顺序对线段 进行融合;若线段lk与其后的线段lk+1满足融合条件,则融合形成新的线段Lk,以融合后 的线段Lk代替原来的线段lk和lk+1,并将其与随后的线段lk+2进行融合条件的判断,若满 足条件,则进行融合,重复上述过程直至结束;融合后的线段集合表示为 L'={L1,L2,…,Lm},其中m≤n。

其中,融合条件的判断过程以及融合过程如下:

对于排序后的线段对(li,lj),先确定对应的参考线段Lr,该线段Lr在全局坐标中与x 轴的夹角为:

αg=qiαi+qjαjqi+qj;

该线段Lr的中点为:

pm=qiPim+qjPjmqi+qj;

其中qi与qj表示线段li与lj的权重;

计算线段li与lj的端点在参考线段Lr上的投影

通过与参考线段Lr的比较计算线段li与lj之间的不一致性,其公式为:

Dijp=Σk=12||pike-p^ike||+||pjke-p^jke||2;

若其中,Dth为阈值,则计算线段li与lj在参考线段Lr上的投影两两之间 的距离,其公式为:

def=||p^eiie-p^fjje||,e,f{i,j},ef,ii,jj{1,2};

将线段li与lj之间的重叠程度定义为:

Q=||p^i1e-p^i2e||+||p^j1e-p^j2e||dr;

其中,dr为投影点两两之间距离def最大者,dr=maxdef

若Q>Qth且|αij|<αth,其中,αth为角度阈值,Qth为重叠程度阈值,则对线段li与lj进行融合,融合后的线段位于参考线段Lr上,其端点为使得dmn最大的两个投影点。

步骤14、利用计算几何计算融合后线段之间的交点,得到环境的关键特征点,并将 关键特征点按照先后顺序两两连接,获得室内环境的特征表示。

具体来说,本步骤主要包括:提取关键特征点以及连接关键特征点。

进一步的,在提取关键特征点之前还需要对融合后的线段集合L'进行加固,即,将机 器人在漫游过程中获得的所有过滤后数据S根据其与L'中各个线段的灰关联度更新C中各 个点簇以及对应的线段。

1、提取关键特征点。

1)将融合后的线段集合L'={L1,L2,…,Lm}中的各个线段进行首尾各延长长度Len; Len的大小设置与实际环境有关,既要保证相邻的线段直接必定存在交点,又要避免实际 相距较远的线段产生交点。

2)对于该集合L'中的任意两条线段Li和Lj,其端点分别为pi1、pi2以及pj1、pj2; 设线段Li为:

{Lii(x,y)=(y-yik)(xi2-xi1)-(x-xik)(yi2-yi1)=0};

其中,Δi(x,y)表示坐标为(x,y)的点p到线段Li的距离(包含点相对于线段的位置信 息,即位于线段的哪一侧);(xik,yik),k∈(1,2)为线段Li端点的笛卡尔坐标;

若Δi(xj1,yj1)·Δi(xj2,yj2)<0,则线段Lj的两个端点pj1、pj2位于线段Li的两侧;若 Δj(xi1,yi1)·Δj(xi2,yi2)<0,则线段Li的两个端点pi1、pi2位于线段Lj的两侧;其中, Δi(xj1,yj1)和Δi(xj2,yj2)分别表示线段Lj的两个端点pj1=(xj1,yj1)、pj2=(xj2,yj2)与线段 Li的距离,Δj(xi1,yi1)和Δj(xi2,yi2)分别表示线段Li的两个端点pi1=(xi1,yi1)、pi2=(xi2,yi2) 与线段Lj的距离;

若(Δi(xj1,yj1)·Δi(xj2,yj2)<0)∩(Δj(xi1,yi1)·Δj(xi2,yi2)<0)=1,则认为线段Li和Lj相 交;其交点作为关键特征点,表示为:

(x,y)|(Δi(x,y)=(y-yik)(xi2-xi1)-(x-xik)(yi2-yi1)=0)(Δj(x,y)=(y-yjk)(xj2-xj1)-(x-xik)(yi2-yi1)=0)

3)通过上述方式计算得到所有的关键特征点,将所有的关键特征点按照所属线段位 置关系进行排序,获得排序后的关键特征点集合,记为P={P1,P2,…,Pk}。

所述线段位置关系可以通过灰关联度来确定。示例性的,从所有的关键特征点中找 出笛卡尔坐标最小的关键特征点作为P1;查找出距离关键特征点P1最近的若干关键特征 点,将若干关键特征点中与关键特征点P1所在线段的灰度关联度最大者作为P2;按照上 述方式,直到关键特征点排序完毕。

2、连接关键特征点。

将关键特征点P1和P2连接组成第一条线段,关键特征点P2和P3连接组成第二条线 段,以此类推,由此得到的线段组则为当前室内环境的特征表示。

需要说明的是,本发明上述方案中所包含的各种类型的阈值,可以根据实际情况或 者经验进行设定。

本发明实施例通过模拟人类加工环境信息的知识处理方法,利用信息论中的相关技 术方法完成对环境的逐步认知;一方面,通过利用熵和灰关联度实现环境特征提取,最 大限度地减少计算和信息存储代价,提高了数据处理鲁棒性;另一方面,在机器人漫游 过程中通过熵对环境特征进行更新,提高了声纳数据处理的实时性和精确度;同时,基 于熵和灰关联度的室内环境特征提取可以有效用于移动机器人定位、地图创建及路径规 划过程中,提高机器人导航任务的精度及鲁棒性。

实施例二

为了便于理解,下面结合具体的示例对本发明的方案进行说明。

本示例中,利用机器人Pioneer 3-DX装备的16个声纳传感器在未知环境下漫游并通 过声纳传感器采集数据,利用Visual Studio 2008,以及Matlab R2009a混合编程实现室 内环境特征提取,其详细方案与实施例一类似,工作流程如图2所示,其具体步骤如下:

(1)利用机器人声纳采集当前局部环境数据,分离r<5000mm的声纳数据点,记过滤 后的数据集为c。

(2)实施例中取scorethres=0.9。对数据集c,使用自组织映射进行聚类,获得数据集 C,并对聚类后的各个点簇分别进行线段特征提取,得到环境的初始线段特征集L,其 结果如图3所示。

(3)机器人在环境中进行漫游,本实施例中取gnoise=0.9,k=50, d_thres=1000mm。对于新获取的任一数据点pi,计算pi与初始线段特征集L中各个线 段的灰关联度,将灰关联度值以及对应线段的序号存储为矩阵D。其中最小灰关联度值 为gmin,对应的线段为l(Imin),若gmin<gnoise,则将该点作为噪声删除,在该过程中使用 三角形法摒除点在线段延长线上的情况;然后在计算pi后感应到的k个点与pi之间的距 离dki,将dki≤d_thres的点存储为矩阵P_rel,共有nP_rel个点。

(4)将P_rel中的各个点到线段l(Imin)的距离,存储为矩阵D_P_rel,P_rel中的点 到线段l(Imin)的平均距离为d_P_rel;将P_rel点簇与初始线段特征集L中各个线段之 间的平均距离,存储为矩阵d_LP_rel,其中最小值为d_LPmin,对应线段序号为 I_Pmin

(5)生成新的线段。

步骤A、本实施例中取d_LPthres=50,num=20,scorethres=0.9。若 d_LPmin>d_LPthres、nP_rel>num,计算P_rel中的点的主方向得分score。

步骤B、若score>scorethres,对P_rel中的点提取新的线段l,并将该线段加入到初 始线段特征集L中,同时将P_rel作为新的点簇加入到数据集C中,如图4所示。

步骤C、计算点pi与新线段l的灰关联度,使用该灰关联度以及对应线段的序号更新 矩阵D,得到新的矩阵D';该矩阵D'中最小灰关联度值记为g'min,对应的线段记为 l(I'min);

(6)更新已有线段。

步骤A、本实施例中取dthres=20mm,判断点pi是否是在线段l(I'min)的延长线上:计 算点pi到线段l(I'min)端点的距离di1'、di2'以及线段自身的长度d12'。若 d_LPmin≤d_LPthres,g'min≤gnoise且di1'+di2'-d12'≤dthres,则点pi属于线段l(I'min),将点 pi加入到线段l(I'min)对应的点簇中。

步骤B、对更新后的点簇提取新的线段,并将其加入到L中,如图5所示。

对于机器人在漫游过程中获得的数据点重复上述步骤(3)-(6),直到整个漫游过程结 束,获得更新后的线段特征集合(即初次提取后的线段特征集合),如图6所示。

将在漫游过程中获得的所有过滤后数据S对线段进行了加固(即再次计算了点与已有 线段的灰关联度并对线段进行了更新),获得如图7所示的结果。

(7)对更新后的线段特征集合中的线段逐一进行两两融合。

步骤A、将线段按照笛卡尔坐标中从左到右的出现顺序进行排列,计算排序后的线段 对(li,lj)的参考线段Lr。该线段Lr在全局坐标中与x轴的夹角为中点 pm=qiPim+qjPjmqi+qj.

步骤B、计算该线段对(li,lj)之间的不一致性若 则继续下一步。

步骤C、计算线段对(li,lj)在参考线段Lr上的投影两两之间的距离: def=||p^eiie-p^fjje||,e,f{i,j},ef,ii,jj{1,2};线段对(li,lj)之间的重叠程度为 Q=||p^i1e-p^i2e||+||p^j1e-p^j2e||dr,dr=maxdmn.

步骤D、本实施例中取αth=30°,Qth=0.8,Dth=100mm,若|αij|<αth, Q>Qth,则认为该线段对可以进行合并,合并后的线段位于参考直线Lr上,其端点为使 得dmn最大的两个投影点。融合后的线段集合表示为L'={L1,L2,…,Lm},其中m≤n。融合 后的线段如图8所示。

(8)特征点提取。

提取任意线段对(Li,Lj)之间的交点。本实施例中取Len=500mm,将L'中的各个线段 进行首尾各延长长度Len,如图9a所示。二维平面上给定两条线段Li和Lj,其端点分别 为pi1、pi2以及pj1、pj2。设线段Li为 {Lii(x,y)=(y-yik)(xi2-xi1)-(x-xik)(yi2-yi1)=0},其中(xik,yik),k∈(1,2)为Li端点的笛 卡尔坐标若(Δi(xj1,yj1)·Δi(xj2,yj2)<0)∩(Δj(xi1,yi1)·Δj(xi2,yi2)<0)=1,则认为线段Li和Lj相交。其交点作为关键特征点,表示为:

(x,y)|(Δi(x,y)=(y-yik)(xi2-xi1)-(x-xik)(yi2-yi1)=0)(Δj(x,y)=(y-yjk)(xj2-xj1)-(x-xik)(yi2-yi1)=0)

通过上述方式计算得到所有的关键特征点,如图9b所示。

再将所有的关键特征点按照所属线段位置关系进行排序,获得排序后关键特征点集 合,记为P={P1,P2,…,Pk}。

示例性的,如图10所示,为排序后的关键特征点;排序过程如下:

a.在所有的关键特征点中找出笛卡尔坐标即x、y值最小的交点,如图所示为图中 P1

b.计算其余关键特征点与P1之间的距离,其中与P1之间的距离最小的两个点分别为 Pi和Pj

c.令融合后的线段集合L'={L1,L2,…,Lm}中P1所在线段为La,计算Pi和Pj分别与Lv之间的灰关联度,灰关联度最大者为P1的后续点,即图中所示P2

d.计算所有的关键特征点除P1、P2外其余点与P2之间的距离,其中与P2之间的距离 最小的两个点分别为Pi'和Pj'。(计算过程中需要摈除点在线段延长线上的情况)

e.令融合后的线段集合L'={L1,L2,…,Lm}中P2所在线段为Lb和Lc,计算Pi'和Pj'分 别与Lb和Lc之间的灰关联度,灰关联度最大者为P2的后续点,即图中所示P3

f.以此类推,得到关键特征点的有序排列。

上述的a,b,c均属于1~m。

(9)环境特征获取。将P中的点按照线段连接先后顺序进行排列。即P1和P2连接组成 第一条线段,P2和P3连接组成第二条线段,以此类推,由此得到的线段组即为当前环境 特征。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以 通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理 解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一 个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得 一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施 例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替 换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的 保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号