[发明专利]一种用于移动机器人自主探索的前沿目标点生成方法有效
申请号: | 201610473968.5 | 申请日: | 2016-06-24 |
公开(公告)号: | CN106197421B | 公开(公告)日: | 2019-03-22 |
发明(设计)人: | 李秀智;邱欢;贾松敏;龚月 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G01C21/20 | 分类号: | G01C21/20 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种用于移动机器人自主探索的前沿目标点生成方法,属于智能移动机器人领域。本方法能够解决移动机器人探索过程中前沿目标点的提取问题。该方法包括:原始激光数据的预处理,检测局部环境前沿,提取当前局部环境的前沿目标点,全局拓扑地图更新,前沿目标点全局更新。本发明针对未知环境下前沿目标点的提取问题,提出一种安全的、可到达的前沿目标点生成方法。该方法利用激光数据提取当前局部环境的前沿目标点,再结合创建的全局拓扑地图和已生成的前沿目标点,对前沿目标点进行全局更新,以保证前沿目标点全局最优。有效地提高了移动机器人自主探索的效率。该方法适用于与室内移动机器人自主探索有关的智能移动机器人领域。 | ||
搜索关键词: | 一种 用于 移动 机器人 自主 探索 前沿 目标 生成 方法 | ||
【主权项】:
1.一种用于移动机器人自主探索的前沿目标点生成方法,其特征在于:本方法包括以下几个步骤:步骤一,原始激光数据的预处理;本方法所述方法中利用激光测距仪来感知环境信息,然而激光测距仪对环境中某些特殊材质或者颜色是不敏感的,这些材质或者颜色为玻璃和黑色等,会导致原始激光数据中存在inf或者nan无效数据,其中,inf表示距离值为无限大,nan表示没有数据;为提高本方法所述方法的鲁邦性,本方法首先对原始的激光数据进行预处理,以剔除原始数据中的无效数据;令d[i]表示原始激光数据中的第i个距离值,dmax和dmin分别表示激光测距仪的最远和最小的有效距离值,size表示原始激光数据的个数;预处理方法如下:(1)顺序遍历每个原始激光数据d[i],若d[i]小于dmin,则将dmax赋值给d[i];记录第一个有效数据的索引号j;(2)令i等于j,若原始激光数据中第0个数据d[0]为无效数据,则将d[0]赋值为dmax;若原始数据中最后一个数据d[size‑1]为无效数据,则将d[size‑1]赋值为dmax;(3)令i等于i+1,若d[i]为无效数据,且i小于size‑1,则跳转到第(4)步;若d[i]为有效数据,且i小于size‑1,则重复第(3);若i等于或者大于size‑1,则令i等于j,跳转到第(5)步;(4)若与d[i]相邻的两个数据均为有效数据,则将两个数据中较小的值赋给d[i];若与d[i]相邻的两个数据中仅有一个有效数据,则将该有效数据赋给d[i];若i大于j,则跳转到第(3)步,否则跳转到第(5)步;(5)令i等于i‑1,若d[i]为无效数据,且i大于0,则跳转到第(4)步;若d[i]为有效数据,且i大于0,则重复第(5);若i等于或者小于0,则预处理结束;步骤二,检测局部环境前沿;本方法将局部环境前沿分为A、B两类前沿;A类前沿是由激光测距仪的量程制约而产生的,位于激光测距仪最大量程处;B类前沿是由障碍物遮挡而产生的;本方法认为两类前沿的长度均大于所用移动机器人的宽度,以保证移动机器人能够穿越该前沿;令当前局部环境下的前沿集合Fc=,针对每个前沿Fi有Fi=,其中,idxs表示该前沿起始端点在激光数据中对应的索引号,idxe表示该前沿终止端点在激光数据中对应的索引号,type表示该前沿的类型;令fmax表示略小于dmax的一个数,length表示前沿的长度,angle_inc表示激光测距仪的分辨率;针对A类前沿有length=fmax·angle_inc·(idxe‑idxs) (1)检测局部环境下A类前沿的方法如下:顺序遍历预处理后的激光数据,对于每个距离值均大于fmax的激光数据段,分别用idxs和idxe激光该数据段的开始和终止的索引号,利用公式(1)计算参数length,若length大于所用移动机器人的宽度,则检测出了A类前沿,并将添加到Fc集合中;继续遍历预处理后的激光数据,直至遍历完所有的激光数据;针对局部环境下B类前沿有length=|d[idxe]‑d[idxs]|, (2)其中,idxe与idxs是相邻的两个数;检测局部环境下B类前沿的方法如下:顺序遍历预处理后的激光数据,对于任意两个相邻的激光数据,分别用idxe和idxs记录其索引号,利用公式(2)计算参数length,若length大于所用移动机器人的宽度,则检测出了B类前沿,并将添加到Fc集合中;继续遍历预处理后的激光数据,直至遍历完所有的激光数据;步骤三,提取当前局部环境的前沿目标点;本方法将前沿目标点类型分为A、B两类,前沿目标点分别产生于A、B两类前沿附近;考虑到A、B两类前沿产生的原因不同,本方法利用不同的几何规则集来提取对应的前沿目标点;假设当前时刻为t,令当前时刻的局部前沿目标点集合为
则有
针对每个前沿目标点pi有pi=,其中,position=为前沿目标点pi的全局坐标,d表示pi与激光测距仪中心的距离,idx表示该目标点在激光数据中方向的索引号,typep表示该前沿目标点的类型;提取当前局部环境前沿目标点的方法如下:(1)初始前沿目标点提取;针对步骤二中检测出的不同类型的前沿,构建不同的几何规则集以提取对应的初始前沿目标点;(2)初始前沿目标点调整;为保证前沿目标点是安全的,且可到达的,针对不同类型的初始前沿目标点设定不同的成立条件,进而对初始的前沿目标点进行调整,使其满足各自成立的条件;调整后的前沿目标点即为本步骤提取的当前局部环境的前沿目标点;(1)初始前沿目标点提取对A类初始前沿目标点的提取规则如下:a.将A类前沿的中点与激光测距仪的中心相连;b.在连线上取一点pi作为当前的一个初始的前沿目标点,使pi与激光测距仪的距离为fmax;则pi的各个元素分别为
此时,会将初始的前沿目标点pi添加到集合
令safe_d略大于二分之一的机器人宽度,本方法对B类初始目标点的提取规则如下:a.将B类前沿的两端分别标记为N、L;b.在NL上取一点M,使MN=safe_d;c.以激光测距仪的中心位置为圆心,作经过点M的圆弧arc;d.在过N点的垂线上取一点Q,使NQ=safe_d,且点Q在自由区域内;e.作一条由激光测距仪的中心指向点Q的射线,射线与圆弧arc的交点即为初始的前沿目标点pi;此时po的各个元素分别为
其中,skip=safe_d/(angleinc·(d‑safe_d));此时,会将初始的前沿目标点pi添加到集合
(2)对初始前沿目标点的调整为方便对初始前沿目标点做调整,本方法引入可通行空间的概念;对机器人来说,可通行空间内的点是安全的、可到达的;同时,也引入了弧的概念;利用预处理后的激光数据,将距离机器人最近障碍物到激光最大量程的扫描区域划分为若干层,每层包含若干段弧;令section表示一条弧,则对每条弧有section={r,ss,se},其中,r表示弧的半径,ss和se分别表示弧的首末端点在激光数据中的索引值;调整的目的是将初始的前沿目标点调整到可通行空间中,但是本方法不会直接计算可通行空间,而是先构建前沿目标点的成立条件,然后调整初始的前沿目标点使其满足自身成立的条件,进而保证前沿目标点在可通行空间中;P为当前初始的前沿目标点,实线标记的圆弧表示与OP相交的一段弧,交点记为J,弧的首末端点分别标记为H、G,与可通行区域边界的交点分别标记为E、F,θ表示直线OP与弧的右边线的夹角;A类前沿目标点的成立条件为:
其中,|OP|表示前沿目标点P与激光测距仪中心的距离,d_tho是一个给定阈值,用于限定A类前沿目标点与激光测距仪中心的最小距离,
和
分别表示点H与J、H与E、J与G、F与G之间的弧长;为简化计算,条件a、b简化为
令β表示弧的圆心角,则有β=(se‑ss)·angle_inc, (5)那么,有
与A类前沿目标点相比,基于几何位置的考虑,仅对B类初始前沿目标点的方向做出调整,故B类前沿目标点仅需满足条件a和b即可;本方法通过调整θ和|OP|使目标点P满足自身成立的条件,其初始的|OP|=d;针对所有与OP相交的弧,若调整后的θ和|OP|均能使P满足自身成立的条件,则根据调整后的θ和|OP|计算调整后的前沿目标点的全局位置postion,否则,舍弃该初始的前沿目标点;令poset=表示当前时刻的机器人位姿,其中x、y分别表示机器人在全局坐标系下的横、纵坐标,th表示当前时刻机器人的正方向与全局坐标系x轴正方向的夹角;令α表示OP与机器人正方向的夹角,则
则有
其中,postion.x、postion.y分别表示postion的横、纵坐标,poset.x、poset.y分别表示poset的横、纵坐标;步骤四,全局拓扑地图更新;为方便前沿目标点的全局更新,本方法构建全局拓扑地图,以此来标记移动机器人已探测到的区域;在移动机器人运动的过程中,沿着移动机器人的运动轨迹构建一系列拓扑节点,并按构建节点的先后顺序构建拓扑树,进而创建全局拓扑地图;全局拓扑地图更新的方法如下:在移动机器人自主探索的过程中,每当移动机器人运动一段距离时,采集一次激光数据,按步骤一、二、三中的方法生成当前局部环境的前沿目标点;再结合当前移动机器人的位姿构建当前时刻的拓扑节点,并将该拓扑节点添加到全局拓扑地图中以完成全局拓扑地图的更新操作;在本方法中,全局拓扑地图用来标记移动机器人已感知到的区域;令TMap表示全局拓扑地图,则有TMap=其中,TMap表示从0时刻到t时刻构建的全局拓扑地图,Tk表示k时刻构建的一个拓扑节点;对于每个拓扑节点Tt有
其中,poset、
与前文所述意义一致,parent和children分别表示拓扑节点Tt的父节点和子节点;步骤五,前沿目标点全局更新;在移动机器人探索的过程中,由于新的前沿目标点的产生和移动机器人的运动,可能会导致某些前沿目标点出现在已探索的区域,也可能会出现前沿目标点之间过于接近的情况,此时需利用前沿目标点的全局更新规则对所有的前沿目标点进行添加、绑定与删除更新操作,以保证前沿目标点全局最优;令Tt表示当前时刻的拓扑节点,Tk表示前面时刻生成的一个拓扑节点,
表示在k时刻生成的第i个前沿目标点,
表示当前时刻生成的第j个前沿目标点,d(pi,T)表示一个前沿目标点与拓扑节点之间的距离,C(pi,T)表示从拓扑节点T到前沿目标点pi是可通行的,其值为true,表示pi与T连通,若为false,表示pi与T之间存在障碍物;Vr为一个给定阈值,用于限定拓扑节点之间的距离,或者是前沿目标点与拓扑节点之间的距离,Vp为一个给定的阈值,用于限定前沿目标点之间的距离;T=T/pi表示从拓扑节点T中删除前沿目标点pi,T=T∪pi表示将前沿目标点pi与拓扑节点T绑定;前沿目标点全局更新规则如下:规则1:
规则2:
规则3:
规则4:
规则5:![]()
。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610473968.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种多传感器的固定装置
- 下一篇:便携式全站仪固定支架