定位和地图绘制装置及方法与流程

文档序号:11288118阅读:282来源:国知局
定位和地图绘制装置及方法与流程

本发明涉及由在环境中移动的机器使用的定位和地图绘制技术。

更加具体地,本发明涉及用于装配到这样的移动机器的定位和地图绘制装置和方法。

在传感器提供关于障碍物相对于移动机器的定位的定位数据的情形中,本发明的应用是特别有利的。



背景技术:

存在已知的定位和地图绘制装置,其被设计成被装配到移动机器(诸如机器人),以便在移动机器的环境中定位移动机器,同时也生成该环境的地图。

这些装置通常被叫做slam,来自“同时定位和地图绘制(simultaneouslocalizationandmapping)”的英文缩写。

它们一般基于概率方法。在一些方案中,例如,覆盖环境的网格的每个单元格的占用概率被确定为由传感器供应的数据的函数。关于智能计算机通信和处理的ieee第五届国际会议,2009,iccp2009,2009,410-408页中的文章"onlinelocalizationandmappingwithmovingobjectsdetectionindynamicoutdoorenvironments"可以查阅该主题.



技术实现要素:

在本文中,本发明的提出一种定位和地图绘制装置,用于装配到在包括多个区域的环境中移动的移动机器,该定位和地图绘制装置具有:接收模块,接收模块被设计成接收关于障碍物相对于机器的定位的定位数据;处理模块,处理模块被设计成,作为接收到的数据的函数和针对相对于机器定位的多个区域,确定分别代表有关区域的占用概率、有关区域的未占用概率和有关区域的未知概率的测量值;地图绘制模块,地图绘制模块被设计成,针对环境中的所述多个区域中的每个区域,构建分别代表有关区域的占用概率、有关区域的未占用概率和有关区域的未知概率的值;和定位模块,定位模块被设计成确定使得测量值和构建值之间的匹配量度最大化的、机器在环境中的定位。

因而,通过寻找测量值和构建值之间的最佳匹配来确定移动机器的位置,所述测量值是基于在给定瞬间从传感器接收到的定位数据生成的,所述构件值描述在先前迭代中由装置产生的地图。

然而,这些值不限于在环境的各个区域中的障碍物的存在或不存在的概率的估计,如在传统概率方法中那样,但是通过使用代表一些区域的未知概率的值,也允许这些区域的信息的缺失。

应注意的是,代表区域的占用概率和区域的未占用概率的值也受到有关区域的信息缺失的影响,由于前述原因,三个代表值(占用概率、未占用概率和未知概率),在下文中叫做“可能性”,通常具有固定和(通常等于1).

根据可选的(并因此非限制性的)其它特性:

-定位模块被设计成通过使用测量值和构建值之间的冲突量度来确定匹配的量度;

-匹配量度指示代表占用概率的测量值的空间分布和代表占用概率的构建值的空间分布之间的匹配;

-定位模块被设计成,使用与环境的给定区域相关联的每个项的和,确定用于移动机器的给定定位的匹配量度,并且通过使用代表与机器的给定定位的给定区域对应的区域的占用概率的测量值和代表给定区域的占用概率的构建值的乘积来计算每一项。

-定位模块被设计成,通过使用冲突因子来计算每一项,所述冲突因子使用代表与所述机器的所述给定定位的给定区域对应的区域的占用概率的测量值与代表所述给定区域的未占用概率的构建值的乘积和代表与所述机器的所述给定定位的给定区域对应的区域的未占用概率的测量值与代表所述给定区域的占用概率的构建值的乘积的和;

-所述地图绘制模块包括组合模块,所述组合模块被设计成,对于每个区域,通过将与有关区域相关的所述测量值和在先前迭代中对于有关区域由地图绘制模块构建的值组合,确定分别代表有关区域的占用概率、有关区域的未占用概率、有关区域的未知概率和有关区域中的冲突概率的原始值;

-所述地图绘制模块包括归一化模块,所述归一化模块被设计成,作为所述原始值的函数,确定所述构建值;

-所述处理模块包括转换模块,所述转换模块被设计成,对于相对于所述机器定位的所述多个区域中的每个区域,作为在极坐标网格中被分配到与所述有关区域对应的单元格的对应值的函数,确定与所述有关区域相关的所述测量值。

本发明也提出一种系统,所述系统包括上述定位和地图绘制装置和被设计成生成所述定位数据的传感器。该传感器例如是激光雷达传感器,但是其可以是另一类型的传感器,诸如雷达传感器。

本发明也提出与上述相关的一种定位和地图绘制方法,所述方法被在包括多个区域的环境中移动的机器使用,所述方法包括以下步骤:

-接收关于障碍物相对于所述机器的定位的定位数据;

-作为所接收的数据的函数并且对于相对于所述机器定位的多个区域,确定分别代表有关区域的占用概率、有关区域的未占用概率和有关区域的未知概率的测量值;

-对于所述环境的所述多个区域中的每一个区域,构建分别代表有关区域的占用概率、有关区域的未占用概率和有关区域的未知概率的值;

-通过确定使得所述测量值和所述构建值之间的匹配量度最大化的、所述机器在所述环境中的定位,来定位所述机器。

该方法可以视需要包括以下步骤:通过将与有关区域相关的所述测量值和在先前迭代中对于有关区域由所述地图绘制模块构建的值组合,以便生成分别代表有关区域的占用概率、有关区域的未占用概率、有关区域的未知概率和有关区域中的冲突概率的原始值。

关于定位和地图绘制装置的上述可选特征也可以被应用到这些方法。

附图说明

参考通过非限制示例提供的附图,以下描述将解释本发明的本质和应用。

在附图中:-图1示出包括传感器和根据本发明的定位和地图绘制装置的示例的系统;

-图2以功能形式示出有图1中的定位和地图绘制装置执行的处理;

-图3示出基于从传感器接收到的定位数据构建的极坐标网格。

具体实施方式

图1示意性地示出包括定位和地图绘制装置10的系统的主要元件。

该系统被装配到在环境中移动的机器,例如,机动车辆或机器人。如从以下说明显而易见的,配备有定位和地图绘制装置的、有时被称为slam(英文表达“simultaneouslocalizationandmapping”的缩写)的系统能被同时用于在环境中定位系统(并由此定位移动机器)和用于确定环境的地图。

图1的系统包括传感器2,传感器2生成关于环境中存在的障碍物(相对于系统)的定位的定位数据。传感器2是例如激光雷达型的;在该情形中,对于相对于系统的基准方向的多个取向α,定位数据代表在与该取向α相关的方向上遇到第一障碍物(距离系统)的距离d(α)。

在变型中,可以使用另一类型的传感器,诸如雷达传感器。

图1的系统也包括定位和地图绘制装置10,定位和地图绘制装置10在它的输入端接收由传感器2生成的定位数据,并且在每个时刻t在它的输出端处生成关于系统(并且因此关于装配有该系统的移动机器)的位置信息xt以及地图绘制信息gri。

该地图绘制信息gri例如是占用网格(如在英文中已知的),其以网格的形式描述已经检测到的障碍物在环境中的位置。

在这里所描述的情形中,以二维方式绘制环境,位置信息xt包括例如系统在绘图方案中的坐标x、y(更具体地,它的横坐标x和它的纵坐标y)以及它的航向(heading)(如在英文中已知)θ。相对于按照惯例定义的初始坐标x0、y0和初始航向θ0(例如,假设x0=0,y0=0并且θ0=0),如下所述确定该位置信息x。

为了执行下述处理,在此情形中,定位和地图绘制装置10包括处理器4(例如,微处理器)和存储器件6(例如,硬盘)。

处理器4被设计成,特别是参照图2,例如通过执行存储在存储器件6中的计算机程序指令,执行下述处理。在变型中,可以通过被嵌入在定位和地图绘制装置10中的专用集成电路(如在英文中已知的)或asic执行这些处理。

存储器件6也可以被用于存储在下述处理中使用的数据,特别是代表概率或可信性(下文中也称为“可能性(masses)”)的数据。

图2以功能形式示出由定位和地图绘制装置10执行的处理,以便基于由传感器2生成的定位数据d(α)确定位置信息xt和地图绘制信息gri。

因而,由定位和地图绘制装置10执行的不同处理在图2中被示出成被不同的模块11、12、14、16、18、20、22执行,但是在实践中,可以作为由同一处理器4执行指令的结果来执行这些处理。

定位和地图绘制装置10包括接收模块11,接收模块11被连接到传感器2,并且因而接收由传感器2生成的定位数据d(α),并且然后将它们传输到极坐标网格构建模块12。

作为在时刻t在它的输入端处接收的定位数据d(α)的函数,极坐标网格构建模块12为极坐标网格的每个单元格确定以下三个参数:

-占用可能性m_polt,j(o)(英文中的“占用可能性”);

-未占用可能性m_polt,j(f)(英文中的“未占用可能性”);

-未知可能性m_polt,j(u)(英文中的“未知可能性”)。

对于每个单元格j,与该单元格相关的不同可能性的和等于1。

如图3所示,极坐标网格是一组环境的单元格(这里以二维方式示出),其中每个单元格对应于距离系统(或者更精确地距传感器2)的距离的给定范围并且对应于给定角度的扇区(角度被相对于前述的系统的基准方向测量)。

根据一定信息,在此情形中根据在时刻t从传感器2接收的定位数据,占用可能性m_polt,j(o)代表极坐标网格中的有关单元格j被占用的概率。因此占用可能性m_polt,j(o)代表该单元格j的占用概率或可信性。

根据一定信息,在此情形中根据在时刻t从传感器2接收的定位数据,未占用可能性m_polt,j(f)代表极坐标网格中的有关单元格j未被占用的概率。因此未占用可能性m_polt,j(f)代表该单元格j的未占用概率或可信性。

未知可能性m_polt,j(u)代表有关单元格j还没有被探究的可能性,换言之,根据可用信息(在此情形中为定位数据),对与该单元格j,没有可用的知识。未知可能性m_polt,j(o)因此代表单元格j未知的概率或可信性。

对于位于与方向θ对应的角度扇区中的单元格j,例如,不同可能性被如下确定:

-对于位于距系统距离d(θ)的单元格j(在图3中黑色阴影)(也就是说,如果传感器2是激光雷达传感器,则是其中障碍物被图3中的虚线所示的激光束撞到的单元格),

m_polt,j(o)=iconf,m_polt,j(f)=0,m_polt,j(u)=1-iconf,其中iconf是传感器2的置信度指数(例如,由传感器2预先定义或提供),通常在0.5至1的范围中。

-对于位于小于距离d(θ)的距离处的单元格j(即,在激光传感器的情形中激光束已经经过的那些单元格),

m_polt,j(o)=0,m_polt,j(f)=iconf,m_polt,j(u)=1-iconf;

-对于位于大于距离d(θ)的距离处的单元格j(即,在激光雷达的情形中位于激光束的撞击以外的那些单元格,在图3中被示出为带阴影线),

m_polt,j(o)=0,m_polt,j(f)=0,m_polt,j(u)=1。

如果传感器提供用于极坐标网格的同一角度扇区的多个定位数据d(θ)(例如,如果激光雷达传感器提供用于多个高度或层的数据,或者如果激光传感器的分辨率比极坐标网格的分辨率更精细),则例如最小距离d(θ)被选择用于确定如上所述的可能性。

极坐标网格构建模块12将由此确定的所有可能性参数m_polt,j发送到转换模块14,对于极坐标网格的每个单元格j,转换模块14把针对该单元格j确定的可能性分配到笛卡尔坐标中的测量网格的一个(或多个)对应单元格i(表达成在t时刻相对于系统的当前位置)。

换言之,当测量网格与极坐标网格的单元格j匹配时,对于任意a{o,f,u},m_scant,i(a)=m_polt,j(a)。

因而,对于测量网格的每个单元格i,做出以下限定:

-每个单元格i的占用可能性m_scant,i(o),其代表(根据在时刻t处由传感器2提供的定位数据的)单元格i的占用概率(或可信性);

-每个单元格i的未占用可能性m_scant,i(f),其代表(根据在时刻t处由传感器2提供的定位数据的)单元格i的未占用概率;

-每个单元格i的未知可能性m_scant,i(u),其代表(根据在时刻t处由传感器2提供的定位数据的)单元格i的未知概率。

对于每个单元格i,与该单元格相关的不同可能性的和等于1。

术语“处理模块”这里被应用到由极坐标构建模块12和转换模块14形成的组件。处理模块因而能够基于定位数据d(θ)来确定可能性m_scant,j(a)。

如在图2中可见的,对于测量网格的不同单元格i由转换模块16产生的不同的可能性m_scant,i(a)(其中a{o,f,u})一方面被输送到定位模块16并且另一方面被输送到组合模块18。

定位模块16在其输入端还接收以下信息,其由组合模块18和归一化模块20在先前迭代t-1(如以下针对当前迭代t所解释的)中产生并且与代表环境的网格的单元格k相关(在笛卡尔坐标中与固定基准诸如系统的初始位置相关):

-对于每个单元格k,占用可能性m_grit-1,k(o),其代表,作为直到时刻t1所执行的处理的结果,由装置10构建的单元格k的占用概率;

-对于每个单元格k,未占用可能性m_grit-1,k(f),其代表,作为直到时刻t1所执行的处理的结果,由装置10构建的单元格k的未占用概率;

-对于每个单元格k,未知可能性m_grit-1,k(u),其代表,作为直到时刻t1所执行的处理的结果,由装置10构建的单元格k的未知概率。

应指出的是,该信息在第一次迭代中是不可用的。然而,在第一次迭代中不要求处理:此时,定位模块16仅仅指示当前位置(由坐标x、y和航向θ限定)等于前述初始位置(由坐标x0、y0和航向θ0限定)。

对于其它迭代,定位模块16确定系统(和因此移动机器)的位置xt,其由坐标x、y和航向θ限定,这使得同(被相对于系统的位置定位的)测量网格相关的值与同代表环境的固定网格相关的值之间的匹配量度最大化。

例如,以下量度被用于该目的,其对于位置z被定义为:

其中i(k,z)是与当系统在位置z处时固定网格的单元格k对应的(相对于系统定位的,即相对于如上所提及的移动机器定位的)测量网格的单元格,并且其中mt,k,z(c)度量分子中使用的信息之间的冲突:

mt,k,z(c)=m_grit-1,k(f).m_scant,i(k,z)(o)+m_grit-1,k(o).m_scant,i(k,z)(f)。

因而使用匹配量度,其量化测量网格中的占用概率的空间分布(在单元格内)与在固定网格中的占用概率的空间分布之间的匹配。

通过使用分母(1-mt,k,z(c)),可以在单元格的和中施加权重,其与在分子中使用的信息相反,以便允许以可取的方式对此进行考虑。

在变型中,对于前述和中的每一项,可以使用另一合并运算符以便将(经由归一化模块20)从组合模块18接收到的可能性m_grit-1,k和从转换模块14接收到的可能性m_scant,i(k,z)组合,例如合并运算符,诸如在证据理论(也称登普斯特—谢菲尔理论)中使用的那些。

因此,在这种情形中,由定位模块16提供的值xt是使量度n(z)最大化的z的值:x使得n(x)=maxzn(z)。

例如,这是在实践中通过计算多个位置z的量度n(z)来确定的。在下文中,符号zx、zy、zθ分别表示限定位置z的横坐标、纵坐标和航向。

根据第一可能实施例,对于一组(离散的)位置z,计算测量值,对于所述位置z:

|zx–xt-1|≤sx,|zy-yt-1|≤sy,|zθ-θt-1|≤sθ

其中,xt-1、yt-1、θt-1是限定在先前迭代中确定的位置xt-1的横坐标、纵坐标和航向(或者在t=1的迭代中的初始横坐标、纵坐标和航向),并且其中sx、sy、sθ是预定阈值。

将坐标表达成固定网格的间隔的数目(这里在固定网格和测量网格中单元格尺寸相同),或者表达成航向的度数,例如,我们使用sx=sy=5和sθ=10°,并且:

zx{xt-1-5;|t-1-4;xt-1-3;xt-1-2;xt-1-1;xt-1;xt-1+1;xt-1+2;xt-1+3;xt|t-1+4;xt|t-1+5}

zy{yt-1-5;yt-1-4;yt-1-3;yt-1-2;yt-1-1;yt-1;yt-1+1;yt-1+2;yt-1+3;yt-1+4;yt-1+5}

zθ{θt-1-10°;θt-1-8°;θt-1-6°;θt-1-4°;θt-1-2°;θt-1;θt-1+2°;θt-1+4°;θt-1+6°;θt-1+8°;θt-1+10°},

也就是说,对于1331个可能位置z计算量度n(z)。

根据第二可能实施例,我们使用从在先前迭代中确定出的位置xt-1基于恒定速度模型推导出的先验(priori)位置xt|t-1=(xt|t-1,yt|t-1,θt|t-1):

其中,是在时刻t-1处的位置xt-1的导数:

然后,对于一组(离散的)位置z可计算量度n(z),对于所述位置z:

|zx–xt|t-1|≤sx,|zy-yt|t-1|≤sy,|zθ-θt|t-1|≤sθ

其中sx、sy、sθ是预定阈值。

将坐标表达成固定网格的间隔的数目(这里在固定网格和测量网格中单元格尺寸相同),例如,我们使用sx=sy=5和sθ=10°,并且:

zx{xt|t-1-5;xt|t-1-4;xt|t-1-3;xt|t-1-2;xt|t-1-1;xt|t-1;xt|t-1+1;xt|t-1+2;xt|t-1+3;xt|t-1+4;xt|t-1+5}

zy{yt|t-1-5;yt|t-1-4;yt|t-1-3;yt|t-1-2;yt|t-1-1;yt|t-1;yt|t-1+1;yt|t-1+2;yt|t-1+3;yt|t-1+4;yt|t-1+5}

zθ{θt|t-1-10°;θt|t-1-8°;θt|t-1-6°;θt|t-1-4°;θt|t-1-2°;θt|t-1;θt|t-1+2°;θt|t-1+4°;θt|t-1+6°;θt|t-1+8°;θt|t-1+10°},

也就是说,对于基于恒定速度模型确定出的先验位置xt|t-1周围的1331个可能位置z计算量度n(z)。

在这个问题上,可以参考j.xie、f.nashashibi、m.n.parent和o.garcia-favrot在2010年its世界大会中的文章“areal-timerobustslamforlarge-scaleoutdoorenvironments”。

由定位模块16确定的位置xt被传递到组合模块18,如上所述,组合模块18在其输入端处还接收由转换模块14对于测量网格中的不同单元格i产生的不同可能性m_scant,i(a)(其中a{o,f,u}),以及对于固定网格的单元格k在先前迭代t-1中由归一化模块20如上所述解释那样产生的不同可能性m_grit-1,k(a)(其中a{o,f,u})。

组合模块18然后将在时刻t处由传感器2提供的信息(由可能性m_scant,i(a)表示)和直到时刻t-1由装置10构建的信息(由可能性m_grit-1,k(a)表示)组合,以便从其中推断出代表在时刻t处固定网格的了解状态的原始可能性m_combt,k(a),例如,通过将以下类型的公式应用到固定网格的每个单元格k:

m_combt,k=m_grit-1,k∩m_scant,i(k,xt)

其中,i(k,xt)是当系统在位置xt时与固定网格的单元格k对应的测量网格的单元格,并且其中∩是合取(conjunction)运算符,例如被限定在如下文章中,即,ieee机器人与自动化国际会议(icra2011),第84-89页,2011,作者j.moras、v.cherfaoui和p.bonnifait,“credibilistoccupancygridsforvehicleperceptionindynamicenvironments”。

弄清被执行为该运算符∩的结果的计算,对于每个单元格k,我们因此获得:

-原始占用可能性m_combt,k(o),其代表单元格k的占用概率,其通过以下得出:

m_combt,k(o)=m_grit-1,k(o).m_scant,i(k,xt)(o)

+m_grit-1,k(u).m_scant,i(k,xt)(o)+m_grit-1,k(o).m_scant,i(k,xt)(u);

-原始未占用可能性m_combt,k(f),其代表单元格k的未占用概率,其通过以下得出:

m_combt,k(f)=m_grit-1,k(f).m_scant,i(k,xt)(f)

+m_grit-1,k(u).m_scant,i(k,xt)(f)+m_grit-1,k(f).m_scant,i(k,xt)(u);

-原始未知可能性m_combt,k(f),其代表单元格k的未知概率,其通过以下得出:

m_combt,k(u)=m_grit-1,k(u).m_scant,i(k,xt)(u);

-原始冲突可能性m_combt,k(c),其代表关于该单元格k(由传感器2提供的信息和由装置10构建的信息之间直到时刻t-1)的冲突概率,其通过以下得出:

m_combt,k(c)=m_grit-1,k(f).m_scant,i(k,xt)(o)+m_grit-1,k(o).m_scant,i(k,xt)(f)。

对于每个单元格k,与该单元格相关的不同原始可能性的和等于1。

由组合模块18产生的原始可能性m_combt,k被传递到归一化模块20,如果不受移动障碍物干扰,归一化模块20(在每个单元格中)保持占用、未占用和未知可能性的分布,但是使得冲突可能性的概念消失。根据可行的实施例,每个不同的单元格k的原始冲突可能性m_combt,k(c)可以被存储以在检测移动障碍物中使用。

归一化模块20因而计算以下可能性(在归一化之后):

对于任意a{o,f,u}并且对于所有单元格k,m_grit,k(a)=m_combt,k(a)/(1-m_combt,k(c))。

因而,对于每个单元格k,我们获得占用可能性m_grit,k(o)、未占用可能性m_grit,k(f)和未知可能性m_grit,k(u),在该情形中,其形成由装置10提供的地图绘制信息gri。因为归一化,对于每个单元格k,关于该单元格的不同可能性m_grit,k(o)、m_grit,k(f)、m_grit,k(u)的和等于1。

术语“地图绘制模块”这里被应用到由组合模块18和归一化模块20形成的组件。

该信息然后可以例如被呈现在地图上(例如,被显示在移动机器的屏幕上),如果需要的话将每个单元格k以根据与该单元格k相关的可能性m_grit,k(o)、m_grit,k(f)、m_grit,k(u)的函数限定的颜色显示;例如,对于单元格k,使用这样的颜色,该颜色在rgb基准坐标系中的三色坐标是:m_grit,k(o)、m_grit,k(f)、m_grit,k(u)。

如上所提及的,在归一化模块20的出口端处产生的可能性m_grit,k(通过迭代延迟装置22)被传递到定位模块16和组合模块18,以在下一迭代中使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1