首页 / 专利分类库 / 控制;调节 / 非电变量的控制或调节系统 / 一种机器人越障的沿边路径规划方法、芯片及机器人

一种机器人越障的沿边路径规划方法、芯片及机器人

申请号 CN202010614176.1 申请日 2020-06-30 公开(公告)号 CN111949017B 公开(公告)日 2024-05-07
申请人 珠海一微半导体股份有限公司; 发明人 李明;
摘要 本 发明 公开一种 机器人 越障的沿边路径规划方法、芯片及机器人,包括:步骤1、机器人碰撞到障碍物后,在预先标记障碍物信息的栅格地图上标记碰撞点;步骤2、在当前标记的碰撞点的邻域上,选择满足沿边越障条件的栅格,并将选择出的栅格标记为用于机器人沿障碍物边缘行走的沿边路径上新规划的沿边行为点。该技术方案在机器人碰撞障碍物后,开启沿边行走之前,通过当前标记的碰撞点的邻域寻找具备最佳越障条件的栅格,以便后续机器人按照相应栅格规划出的越障路径进行沿边行走,减少机器人碰撞次数,加快导航越过障碍物。
权利要求

1.一种机器人越障的沿边路径规划方法,其特征在于,包括:
步骤1、机器人碰撞到障碍物后,在预先标记障碍物信息的栅格地图上标记碰撞点;
步骤2、在步骤1当前标记的碰撞点的邻域上,选择满足沿边越障条件的栅格,并将选择出的栅格标记为用于机器人沿障碍物边缘行走的沿边路径上新规划的沿边行为点;
所述步骤2具体方法包括:
步骤21、搜索与所述步骤1当前标记的碰撞点的距离关系满足最近距离条件的障碍物点;
步骤22、在步骤21搜索到的障碍物点的邻域上,选择满足预沿边条件的栅格;
步骤23、当统计到满足预沿边条件的栅格的数目达到第二预设栅格数时,从这些满足预沿边条件的栅格中选择满足最佳沿边条件的栅格,也作为满足所述沿边越障条件的栅格;
步骤24、将步骤23选择出的满足所述最佳沿边条件的栅格标记为新的碰撞点,并添加为用于机器人沿障碍物边缘行走对应的沿边路径上新规划的沿边行为点,同时将这个新的碰撞点更新为所述步骤1当前标记的碰撞点,再返回执行步骤21,直到标记出预设越障栅格数的沿边行为点为止。
2.根据权利要求1所述沿边路径规划方法,其特征在于,在所述步骤23中,满足所述最佳沿边条件的栅格包括:
从满足所述预沿边条件的栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格。
3.根据权利要求2所述沿边路径规划方法,其特征在于,所述步骤23具体包括:
当满足所述预沿边条件的栅格的统计数目达到第二预设栅格数时,根据这些满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系,从这些栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格,以满足所述沿边越障条件。
4.根据权利要求3所述沿边路径规划方法,其特征在于,满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系的计算方法包括:
以机器人的当前导航位置为原点,机器人的机身右侧方向为X轴正方向,机器人当前的前进方向为Y轴正方向,建立起机器人坐标系,其中,机器人的当前导航位置等效于机器人的机身中心所在的地图位置;
在机器人坐标系上,分别计算出每个满足所述最佳沿边条件的栅格相对于机器人坐标系的原点的坐标值和度值。
5.根据权利要求4所述沿边路径规划方法,其特征在于,所述碰撞点包括前碰撞点、左碰撞点和右碰撞点;
机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为左碰撞点;
机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为右碰撞点;
其中,左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧,当机器人的正前方碰撞到障碍物时,同时触发左碰撞探测器和右碰撞探测器检测,并将对应方向上的障碍物上的碰撞点标记为前碰撞点,使得机器人在同一位置下标记的前碰撞点、左碰撞点和右碰撞点都位于机器人正前方碰撞到的障碍物的轮廓线的切线上,障碍物的轮廓线是标记形成于栅格地图上。
6.根据权利要求5所述沿边路径规划方法,其特征在于,所述根据这些满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系,从这些栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格的方法包括:
当所述步骤1当前标记的碰撞点是所述左碰撞点时,选择出一个相对于机器人的当前导航位置是沿障碍物的边缘逆时针分布的、且相对于所述机器人当前导航位置的角度值最大的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,使得这个栅格与机器人的当前导航位置的连线最接近这个障碍物的边缘;
当所述步骤1当前标记的碰撞点是所述右碰撞点时,选择出一个相对于机器人的当前导航位置是沿障碍物的边缘顺时针分布的、且相对于所述机器人当前导航位置的角度值最小的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,使得这个栅格与机器人的当前导航位置的连线最接近这个障碍物的边缘。
7.根据权利要求2或6所述沿边路径规划方法,其特征在于,在所述步骤21中,满足所述最近距离条件的栅格包括:
建立起以所述步骤1当前标记的碰撞点为中心、半径为第一预设栅格数的第一预设搜索区域,然后在第一预设搜索区域内搜索距离所述步骤1当前标记的碰撞点最近且未被标记为碰撞点的障碍物点;
其中,在未执行过所述步骤24之前,所述步骤1当前标记的碰撞点是机器人通过执行所述步骤1在预先标记障碍物点的栅格地图上标记的第一个碰撞点;在执行过所述步骤24之后,所述步骤1当前标记的碰撞点是机器人在最新一次执行过的所述步骤24中标记的新的碰撞点。
8.根据权利要求7所述沿边路径规划方法,其特征在于,执行所述步骤22和所述步骤23之间,还包括:
每统计到一个满足所述预沿边条件的栅格时,计算出这个满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系。
9.根据权利要求8所述沿边路径规划方法,其特征在于,在所述步骤22中,满足所述预沿边条件的栅格包括:
在所述步骤21搜索到的障碍物点的邻域的8个栅格中,选择除了所述障碍物点和由所述步骤24已经规划出的沿边行为点之外的机器人遍历标记过的栅格。
10.一种芯片,其上存储有程序代码,其特征在于,该程序代码被芯片执行时实现如权利要求1至6任一项所述沿边路径规划方法。
11.一种机器人,其特征在于,该机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物;
该机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物;
该机器人设置有权利要求10所述的芯片,所述芯片分别与左碰撞探测器和右碰撞探测器连接,机器人被配置为保持在当前导航位置处执行权利要求1至6任一项所述沿边路径规划方法。

说明书全文

一种机器人越障的沿边路径规划方法、芯片及机器人

技术领域

[0001] 本发明涉及扫地机器人沿边行走的技术领域,尤其涉及一种机器人越障的沿边路径规划方法、芯片及机器人。

背景技术

[0002] 控制机器人导航,是控制机器人从地图的一个坐标点走到另一个坐标点,一般是先从地图上搜索一条路径,然后根据这条路径行走,直到到达目标点。然而现有的视觉扫地机器人中,由于地图精度不够高,地图障碍物标记不够准确,以及导航机器人不能准确地按照设置好的导航路径行走等因素影响,所以容易导致机器人在导航过程中碰撞到障碍物。
[0003] 当前,大多数机器人,通过不断碰撞,调整度,再碰撞,再调整角度的方式来实现机器人沿边导航行走。这种多次碰撞的方法不仅降低了导航工作的效率。
[0004] 目前,如何顺利快速地越过这些障碍物一直都是机器人导航过程中的一个难点。

发明内容

[0005] 为了解决上述技术问题,本发明公开一种机器人越障的沿边路径规划方法,根据地图障碍物的形状,规划出沿边所走路径栅格。具体的技术方案如下:
[0006] 一种机器人越障的沿边路径规划方法,包括:步骤1、机器人碰撞到障碍物后,在预先标记障碍物信息的栅格地图上标记碰撞点;步骤2、在所述步骤1当前标记的碰撞点的邻域上,选择满足沿边越障条件的栅格,并将选择出的栅格标记为用于机器人沿障碍物边缘行走的沿边路径上新规划的沿边行为点。该技术方案在机器人碰撞障碍物后,开启沿边行走之前,通过当前标记的碰撞点的邻域寻找具备保持沿边越障条件的栅格,以便后续机器人按照相应栅格规划出的越障路径进行沿边行走,减少机器人碰撞次数,加快导航越过障碍物。
[0007] 进一步地,所述步骤2具体方法包括:步骤21、搜索与所述步骤1当前标记的碰撞点的距离关系满足最近距离条件的障碍物点;步骤22、在步骤21搜索到的障碍物点的邻域上,选择满足预沿边条件的栅格;步骤23、当统计到满足预沿边条件的栅格的数目达到第二预设栅格数时,从这些满足预沿边条件的栅格中选择满足所述最佳沿边条件的栅格,也作为满足所述沿边越障条件的栅格;步骤24、将步骤23选择出的满足所述最佳沿边条件的栅格标记为新的碰撞点,并添加为用于机器人沿障碍物边缘行走对应的沿边路径上新规划的沿边行为点,同时将这个新的碰撞点更新为所述步骤1当前标记的碰撞点,再返回执行步骤21,直到标记出预设越障栅格数的沿边行为点为止。本技术方案通过迭代执行步骤21至步骤24,实现在合理栅格数量范围内,将规划出的满足所述沿边越障条件的栅格标记为新的碰撞点,规划出机器人绕障碍物边缘行走对应的沿边路径,有利于机器人依靠地图障碍物边缘预测出沿边所走出的路径。
[0008] 进一步地,在所述步骤23中,满足所述最佳沿边条件的栅格包括:从满足所述预沿边条件的栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格;其中,机器人的当前导航位置是固定不变的。使得该技术方案规划确定的栅格组成的沿边路径最大限度地逼近障碍物的轮廓线。
[0009] 进一步地,所述步骤23具体包括:当满足所述预沿边条件的栅格的统计数目达到第二预设栅格数时,根据这些满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系,从这些栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格,以满足所述沿边越障条件。该技术方案在满足一定的统计数目的前提下,规划出合理长度的沿边路径,减少相对位置的计算量,提高机器人导航越障的处理效率。
[0010] 进一步地,满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系的计算方法包括:以机器人的当前导航位置为原点,机器人的机身右侧方向为X轴正方向,机器人当前的前进方向为Y轴正方向,建立起机器人坐标系;在机器人坐标系上,分别计算出所述每个满足所述最佳沿边条件的栅格相对于机器人坐标系的原点的坐标值和角度值。利用机器人局部坐标系参与规划的栅格坐标计算,使得相关栅格的坐标计算合理准确。
[0011] 进一步地,所述碰撞点包括前碰撞点、左碰撞点和右碰撞点;机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为左碰撞点;机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为右碰撞点;其中,左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧,当机器人的正前方碰撞到障碍物时,同时触发左碰撞探测器和右碰撞探测器检测,并将对应方向上的障碍物上的碰撞点标记为前碰撞点,使得机器人在同一位置下标记的前碰撞点、左碰撞点和右碰撞点都位于机器人正前方碰撞到的障碍物的轮廓线的切线上,障碍物的轮廓线是标记形成于栅格地图上。有利于机器人适应在不同障碍物的边上作沿边行走。
[0012] 进一步地,所述根据这些满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系,从这些栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格的方法包括:当所述步骤1当前标记的碰撞点是所述左碰撞点时,选择出一个相对于机器人的当前导航位置是沿障碍物的边缘逆时针分布的、且相对于所述机器人当前导航位置的角度值最大的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,使得这个栅格与机器人的当前导航位置的连线最接近这个障碍物的边缘;当所述步骤1当前标记的碰撞点是所述右碰撞点时,选择出一个相对于机器人的当前导航位置是沿障碍物的边缘顺时针分布的、且相对于所述机器人当前导航位置的角度值最小的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,使得这个栅格与机器人的当前导航位置的连线最接近这个障碍物的边缘。该技术方案实现规划出支持机器人在最佳角度方向条件下进行越障的沿边路径,支持机器人沿障碍物边缘作顺时针或逆时针运动的栅格;实现按照障碍物的形状特征规划机器人沿边行走路径,有效地降低机器人在越障过程中碰撞的次数,加快机器人越障的速度。
[0013] 进一步地,在所述步骤21中,满足所述最近距离条件的栅格包括:建立起以所述步骤1当前标记的碰撞点为中心、半径为第一预设栅格数的第一预设搜索区域,然后在第一预设搜索区域内搜索距离所述步骤1当前标记的碰撞点最近且未被标记为碰撞点的障碍物点;其中,在未执行过所述步骤24之前,所述当前标记的碰撞点是机器人通过执行所述步骤1在预先标记障碍物点的栅格地图上标记的碰撞点,且是预先标记障碍物点的栅格地图上标记的第一个碰撞点;在执行过所述步骤24之后,所述当前标记的碰撞点是机器人在最新一次执行过的所述步骤24中标记的新的碰撞点。该技术方案选择的障碍物点能够用于描述出障碍物与机器人碰撞处的轮廓形状,避免机器人在后续沿边过程中偏离障碍物太远。
[0014] 进一步地,执行所述步骤22和所述步骤23之间,还包括:每统计到一个满足所述预沿边条件的栅格时,计算出这个满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系。该技术方案加快后续步骤筛选出用于引导机器人朝正确沿边方向行走的栅格。
[0015] 进一步地,在所述步骤22中,满足所述预沿边条件的栅格包括:在所述步骤21搜索到的障碍物点的邻域的8个栅格中,选择除了所述障碍物点和由所述步骤24已经规划出的沿边行为点之外的机器人遍历标记过的栅格。确保机器人在满足预沿边条件的栅格中是可通行的,也减少机器人沿边行走区域的重复率。
[0016] 一种芯片,其上存储有程序代码,该程序代码被芯片执行时实现所述沿边路径规划方法。
[0017] 一种机器人,该机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物;该机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物;该机器人设置有所述的芯片,所述芯片分别与左碰撞探测器和右碰撞探测器连接,机器人被配置为保持在所述当前导航位置处执行所述沿边路径规划方法。附图说明
[0018] 图1是本发明一实施例公开的一种机器人越障的沿边路径规划方法的基本构思的流程图
[0019] 图2是本发明又一实施例的一种机器人越障的沿边路径规划方法的具体步骤流程图。

具体实施方式

[0020] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
[0021] 在本发明专利中,需要理解的是术语“上”、“下”、“左”、“右”、“前”、“后”等指示方位或位置关系为基于附图所示的方位或位置关系,仅是为了方便描述本发明实施和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明专利的限制。
[0022] 所述机器人在沿边行走过程中,会遇到不同的障碍物,为了有效简化对室内环境的描述,便于在路径规划中提出合理的对应策略,可对室内障碍物做如下处理:1、只要障碍物与墙壁的距离不满足所述机器人通行的最小距离,机器人不能顺利通过,就按靠墙障碍物处理。2、当两个障碍物之间的距离很近而无法使所述机器人顺利通过时,可将二者看做一个障碍物进行处理。3、本案机器人导航区域主要是室内房间区域,障碍物为室内房间区域内可与移动机器人碰撞的物体,将移动机器人与物体发生碰撞的点定义为碰撞点。
[0023] 本发明实施例公开了一种机器人越障的沿边路径规划方法,其基本构思是一种预测性的路径规划方法,如图1所示,包括:步骤S101、机器人碰撞到障碍物后,也可能是机器人在当前导航位置碰撞到障碍物后,在预先标记障碍物信息的栅格地图上标记碰撞点,然后进入步骤S102。在当前执行步骤S101时,这个碰撞点相当于当前标记的碰撞点,也是将当前碰撞到的地图上障碍物对应的栅格标记为碰撞点。本发明实施例中,可以在执行沿边行走的机器人上设置有多个碰撞探测器,可以预先设置一定的碰撞强度值,碰撞探测器的碰撞强度大于该阈值时才可以判断该机器人与障碍物发生了碰撞。在此可以借助该阈值实现对多个不同探测器探测数据的分辨。在本实施例中,当机器人检测到障碍物时,则计算障碍物所处的栅格坐标并将地图上障碍物对应的栅格标记为障碍物点。步骤S102、在步骤S101当前标记的碰撞点的邻域上,选择满足沿边越障条件的栅格,并将选择出的栅格标记为用于机器人沿障碍物边缘行走的沿边路径上新规划的沿边行为点,即这个满足沿边越障条件的栅格组成机器人碰撞障碍物后规划的沿边路径的组成部分,这个规划的沿边路径是机器人启动沿边模式下的沿边路径,用于绕过障碍物以到达导航目标点。因此,本实施例在机器人检测到碰撞障碍物后,开启沿边行走之前,通过当前标记的碰撞点的邻域寻找具备保持沿边越障条件的栅格,以便后续机器人按照相应栅格规划出的越障路径进行沿边行走,减少机器人碰撞次数,加快导航越过障碍物。
[0024] 作为一种发明实施例,所述步骤S102具体方法包括:步骤21、搜索与步骤S101当前标记的碰撞点的距离关系满足最近距离条件的障碍物点,然后进入步骤22;步骤22、在步骤21搜索到的障碍物点的邻域上,选择满足预沿边条件的栅格,然后进入步骤23,其中障碍物点的邻域是包围这个障碍物点的8个栅格;步骤23、当统计到满足预沿边条件的栅格的数目达到第二预设栅格数时,从这些满足预沿边条件的栅格中选择满足所述最佳沿边条件的栅格,也作为满足所述沿边越障条件的栅格,然后进入步骤24,其中,满足所述沿边越障条件的栅格是建立在满足最近距离条件的障碍物点和满足所述最佳沿边条件的栅格的基础上,即先确定栅格是否满足最近距离条件,然后在此基础上确定相应选择的栅格是否满足所述最佳沿边条件;步骤24、将步骤23选择出的满足所述最佳沿边条件的栅格标记为新的碰撞点,并添加为用于机器人沿障碍物边缘行走对应的沿边路径上新规划的沿边行为点,同时将这个新的碰撞点更新为步骤S101当前标记的碰撞点,再返回执行步骤21,直到标记出预设越障栅格数的沿边行为点为止,其中,满足所述最佳沿边条件的栅格被标记为新的碰撞点并保存到沿边行为点的集合中,这些沿边行为点可以将机器人后续沿边方向划分为从机器人当前导航位置开始的左沿边方向和右沿边方向,左沿边方向上的机器人沿着障碍物的边做顺时针运动,右沿边方向上的机器人沿着障碍物的边做逆时针运动,后续机器人根据这些沿边行为点沿障碍物边缘行走,实现机器人沿着正确路径越过障碍物,较快摆脱障碍物碰撞的困扰。因此本实施例通过迭代执行步骤21至步骤24,实现在合理栅格数量范围内,将规划出的满足所述沿边越障条件的栅格标记为新的碰撞点,规划出机器人绕障碍物边缘行走对应的沿边路径,有利于机器人依靠地图障碍物边缘预测出沿边所走出的路径。
[0025] 在上述实施例中,所述步骤23中,满足所述最佳沿边条件的栅格包括:从满足所述预沿边条件的栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格,即该步骤中选择出的栅格与机器人的当前导航位置的连线与当前碰撞的障碍物的轮廓线的切线的夹角最小的栅格;或者形成:该步骤中选择出的栅格与机器人的当前导航位置的连线与机器人坐标系的一个坐标轴的夹角最小的栅格,这个满足所述最佳沿边条件的栅格与机器人的当前导航位置的连线与机器人坐标系的另一个坐标轴的夹角最大,使得该实施例规划确定的栅格组成的沿边路径最大限度地逼近障碍物的轮廓线。在本实施例中,机器人在执行前述方法步骤的过程中保留在当前导航位置不动。
[0026] 特别地,当满足所述预沿边条件的栅格的统计数目达到第二预设栅格数时,根据这些满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系,从这些栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格,以满足所述沿边越障条件,本实施例在满足一定的统计数目的前提下,规划出合理长度的沿边路径,减少相对位置的计算量,提高机器人导航越障的处理效率。
[0027] 一般地,满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系的计算方法包括:以机器人的当前导航位置为原点,机器人的机身右侧方向为X轴正方向,机器人当前的前进方向为Y轴正方向,建立起机器人坐标系,值得注意的是,这个坐标系的X轴方向和Y轴方向并不唯一固定,但需要考虑到机器人前进方向上的定位问题;本实施例在上述建立的机器人坐标系上,分别计算出所述每个满足所述最佳沿边条件的栅格相对于机器人坐标系的原点的坐标值和角度值。在本实施例中,世界坐标系XOY、机器人坐标系X’O’Y’,机器人的中心点(机器人的当前导航位置)为机器人坐标系的原点,当确定机器人在世界坐标系中的坐标和角度时,可以通过现有技术中的机器坐标转换为世界坐标的公式换算出各个碰撞点、障碍物点、以及所述沿边行为点相对于机器人的当前导航位置的世界坐标。本实施例利用机器人局部坐标系参与规划的栅格坐标计算,使得相关栅格的坐标计算合理准确。
[0028] 优选地,所述碰撞点包括前碰撞点、左碰撞点和右碰撞点;考虑到成本问题,本实施例在机器人上设置两个碰撞探测器,这两个碰撞探测器的探测能可以完全相同,由于碰撞探测器需要与障碍物发生碰撞才可实现障碍物的碰撞点探测,碰撞探测器需设置在机器人的底座前半扇的180度角范围内,在此可以将该扇面均分为两等份,每一份角度值为90度。机器人的机身左前部设置有左碰撞探测器,左碰撞探测器在本实施例中位于机身左侧的小扇面的弧线的中点处,用于检测机器人的前进方向左侧碰撞到的障碍物,具体用于检测在机器人沿障碍物的边缘作逆时针方向的沿边行走的过程中,机身左侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为左碰撞点;机器人的机身右前部设置有右碰撞探测器,右碰撞探测器在本实施例中位于机身右侧的小扇面的弧线的中点处,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为右碰撞点;左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧。由于左右碰撞探测器的探测能力完全相同,如果碰撞发生在在这两个小扇面的交界点处,处于该两个小扇面的碰撞探测器的碰撞强度相同,即在机器人的正前方碰撞到障碍物时,同时触发左碰撞探测器和右碰撞探测器检测,并将对应方向上的障碍物上的碰撞点标记为前碰撞点,使得机器人标记的前碰撞点、左碰撞点和右碰撞点分别位于机器人碰撞到正前方碰撞到的障碍物的轮廓线的切线上,障碍物的轮廓线是标记形成于栅格地图上。有利于机器人绕同一障碍物的不同侧边作沿边行走,让机器人以沿边行走的方式越过不同方位上的障碍物。
[0029] 需要说明的是,在同一机器人坐标系下,若机器人的机身中心所在的地图位置等效于机器人坐标系的原点,本实施例将机器人的机身中心视为机器人当前导航位置为原点,则为了实现机器人在同一位置下标记的前碰撞点、左碰撞点和右碰撞点都位于机器人正前方碰撞到的障碍物的轮廓线的切线上。当机器人在原点位置(0,0)处与障碍物发生碰撞时,如果左碰撞点的坐标记为(‑2,2),则右碰撞点的坐标记为(2,2),前碰撞点的坐标记为(0,2)。因此,机器人在原点位置(0,0)处,当机器人检测到坐标(‑2,2)(左碰撞点)处发生碰撞时,确定机器人的前进方向左侧碰撞到障碍物;当机器人检测到坐标(2,2)(右碰撞点)处发生碰撞时,确定机器人的前进方向右侧碰撞到障碍物;当机器人检测到坐标(0,2)(前碰撞点)处发生碰撞时,确定机器人的前进方向碰撞到障碍物。
[0030] 同时本实施例根据上述碰撞点距离碰撞探测器越远,碰撞强度越小,可以得出如果每一小扇面内的碰撞强度均由该扇面内的碰撞探测器测量,则各个扇面间的交点为碰撞发生后碰撞强度最小的碰撞点,即所述前碰撞点。综上可以设定碰撞强度阈值稍小于所述前碰撞点的碰撞强度,根据该阈值机器人与障碍物发生碰撞时永远只有一个小扇面内的碰撞探测器的碰撞强度大于阈值,从而使得机器人同时刻仅识别出一个碰撞探测器探测到障碍物,从而实现了碰撞探测器对机器人前方障碍物分区域性探测,方便了后续的沿边方向的规划判断。其中,该阈值的大小随小扇面的角度变化而变化,而小扇面的角度与碰撞探测器的数量相关,故该碰撞强度阈值需跟随机器人上设置的碰撞探测器数目变化。
[0031] 作为一种实施例,所述根据这些满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系,从这些栅格中选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格的方法包括:
[0032] 若机器人在所述步骤S101当前标记的碰撞点是所述左碰撞点时,选择出一个相对于机器人的当前导航位置是沿障碍物的边缘逆时针分布的、且相对于所述机器人当前导航位置的角度值最大的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,从整体上看等同于满足所述沿边越障条件的栅格,使得这个栅格与机器人的当前导航位置的连线最接近这个障碍物的边缘。需要说明的是,机器人沿着障碍物的边行走的过程中,存在右沿边行为,即机器人沿着障碍物的右侧边缘(轮廓线)做逆时针运动,所以,首先确定选择出一个相对于机器人的当前导航位置是沿障碍物的边缘逆时针分布的满足所述预沿边条件的栅格,有利于控制机器人后续从当前导航位置开始依次遍历选择出的满足所述最佳沿边条件的栅格,实现沿着障碍物的边缘(轮廓线)做逆时针运动,然后在此基础上再通过计算这些满足要求的栅格的角度信息来筛选出相对于所述机器人当前导航位置的角度值(相对于前述实施例建立的机器人坐标系的X轴正方向形成的夹角)最大的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,等效于在所述第二预设栅格数目的满足所述预沿边条件的栅格中,选择出与机器人的当前导航位置的连线最接近这个障碍物的边缘的栅格,从而获取满足所述沿边越障条件的栅格,后续沿边行走过程中的机器人按照所述沿边越障条件的栅格规划出的沿边路径沿着障碍物的边缘(轮廓线)做逆时针运动,当跨越过一定栅格数目的所述沿边行为点后可以跨过障碍物右侧边缘。值得注意的是,满足所述沿边越障条件需要同时满足所述最近距离条件和所述预沿边条件。
[0033] 同理,机器人在所述步骤S101当前标记的碰撞点是所述右碰撞点时,选择出一个相对于机器人的当前导航位置是绕障碍物的边缘顺时针分布的、且相对于所述机器人当前导航位置的角度值最小的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,从整体上看等同于满足所述沿边越障条件的栅格,使得这个栅格与机器人的当前导航位置的连线最接近这个障碍物的边缘。需要说明的是,机器人沿着障碍物的边行走的过程中,存在左沿边行为,即机器人沿着障碍物的左侧边缘(轮廓线)做顺时针运动,所以,首先确定选择出一个相对于机器人的当前导航位置是沿障碍物的边缘顺时针分布的满足所述预沿边条件的栅格,则机器人后续从当前导航位置开始依次遍历这些满足所述沿边越障条件的栅格的过程中,有利于控制实现沿着障碍物的边缘(轮廓线)做顺时针运动,然后在此基础上再通过计算这些满足要求的栅格的角度信息来筛选出相对于所述机器人当前导航位置的角度值(相对于前述实施例建立的机器人坐标系的X轴正方向形成的夹角,其中X轴正方向指向同一障碍物的右侧)最小的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,等效于在所述第二预设栅格数目的满足所述预沿边条件的栅格中,选择出与机器人的当前导航位置的连线最接近这个障碍物的边缘的栅格,从而获取满足所述沿边越障条件的栅格,并被标记为所述沿边行为点,后续沿边行走过程中的机器人按照所述沿边行为点规划出的沿边路径,沿着障碍物的边缘(轮廓线)做顺时针运动,当机器人跨越过一定栅格数目的所述沿边行为点后可以跨过障碍物左侧边缘。值得注意的是,满足所述沿边越障条件需要同时满足所述最近距离条件和所述预沿边条件。
[0034] 其中,满足所述沿边越障条件的栅格相对于机器人的当前导航位置(机器人的机身中心)的角度大小是满足所述沿边越障条件的栅格相对于机器人的当前导航位置(机器人的机身中心)的连线相对于机器人坐标系的X轴正方向的偏转角度,这个偏转角度的大小与X轴的设置位置相关,特别是与X轴正方向设置与障碍物的分布位置关系相关,确保选择出的满足所述沿边越障条件的栅格与机器人的当前导航位置的连线最接近障碍物的边缘,规划出最短的沿边路径。
[0035] 受限于机器人当前碰撞的障碍物的形状轮廓及其分布位置,满足所述沿边越障条件的栅格相对于机器人的当前导航位置(机器人的机身中心)的连线越往X轴正方向靠拢则相应的偏转角度越小,反之越大,但需要确保机器人通过所述沿边越障条件的栅格顺利越过障碍物且不与障碍物频繁碰撞。本实施例实现规划出用于机器人按照最佳角度方向进行越障的沿边路径,支持机器人绕障碍物边缘作顺时针或逆时针运动的栅格;实现按照障碍物的形状特征规划机器人沿边行走路径,降低机器人后续越障失败的概率。该技术方案通过对沿边方向的角度进行极值限定,有效地降低机器人在越障过程中碰撞的次数,加快机器人越障的速度。
[0036] 作为一种实施例,本实施例具体公开一种机器人越障的沿边路径规划方法,执行这一沿边路径规划方法的过程中,机器人在当前导航位置处不动。如图2所示,具体流程包括如下:
[0037] 步骤S201、机器人碰撞到障碍物后,也可能机器人在当前导航位置处碰撞到障碍物后,将机器人与障碍物发生碰撞的点定义为碰撞点,并在预先标记障碍物信息的栅格地图上标记出碰撞点,然后进入步骤S202。
[0038] 步骤S202、建立起以步骤S201当前标记的碰撞点为中心、半径为第一预设栅格数的第一预设搜索区域,然后进入步骤S203。其中,第一预设栅格数优选为3个栅格,步骤S202用于搜索出距离所述步骤S101中当前标记的碰撞点小于3个栅格边长长度的所有栅格,栅格之间的距离比较可以是栅格坐标点的距离比较。避免机器人在后续沿边过程中偏离障碍物太远。
[0039] 步骤S203、在第一预设搜索区域内搜索距离步骤S201当前标记的碰撞点最近且未被标记为碰撞点的障碍物点,作为满足最近距离条件的障碍物点,然后进入步骤S204。需要说明的是,在未规划出一个所述沿边行为点之前,所述步骤S101当前标记的碰撞点是机器人通过执行所述步骤S201在预先标记障碍物点的栅格地图上标记的碰撞点,且是预先标记障碍物点的栅格地图上标记的第一个碰撞点。步骤S203选择出的障碍物点用于围成障碍物与机器人碰撞处的轮廓形状。
[0040] 优选地,当所述步骤S203寻找不到满足最近距离条件的障碍物点时,则停止执行所述沿边路径规划方法,后续通过调整角度的方式来实现机器人沿着与最新一次获取过的所述沿边路径的沿边方向(机器人没开始执行所述沿边路径规划方法之前是系统默认设置的沿边方向)相反的方向移动。需要说明的是,实际的沿边路径不一定是按照预测的走的。预测不一定准,但至少表示出了大概路径。
[0041] 步骤S204、在步骤S203搜索到的障碍物点的邻域中,选择除了所述障碍物点和已经规划出的沿边栅格点之外的机器人遍历标记过的栅格,作为满足预沿边条件的栅格。然后进入步骤S205。其中,在所述步骤S203搜索到的障碍物点的邻域的8个栅格范围内,通过在机器人遍历标记过的栅格中搜索除了所述障碍物点和已经规划出的沿边栅格点之外的栅格,一方面是确保机器人在满足预沿边条件的栅格中是可通行的,另一方面是避免机器人重复行走已规划过的沿边路径区域,减少机器人沿边导航区域的遍历重复率。
[0042] 优选地,当所述步骤S204寻找不到满足最近距离条件的障碍物点时,则停止执行所述沿边路径规划方法,后续通过调整角度的方式来实现机器人沿着与最新一次获取过的所述沿边路径的沿边方向(机器人没开始执行所述沿边路径规划方法之前是系统默认设置的沿边方向)相反的方向移动。
[0043] 步骤S205、统计所述步骤S204中满足预沿边条件的栅格的数目;每统计到一个满足所述预沿边条件的栅格时,计算出这个满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系。然后进入步骤S206。有利于后续筛选出用于引导机器人朝正确沿边方向行走的栅格。
[0044] 步骤S206、步骤S205的统计数目达到第二预设栅格数时,根据这些满足所述预沿边条件的栅格与机器人的当前导航位置的相对位置关系,选择出与机器人的当前导航位置的连线最接近障碍物的边缘的栅格,作为满足最佳沿边条件的栅格,然后进入步骤S207。该步骤S206筛选出的满足最佳沿边条件的栅格属于满足沿边越障条件的栅格,后续直接用于规划出合理长度的沿边路径,减少相对位置的计算量,提高机器人导航越障的处理效率。
[0045] 步骤S207、将步骤S206选择出的栅格点标记为新的碰撞点,并添加到机器人沿障碍物边缘行走对应的沿边路径上,标记为新规划的沿边行为点,这个沿边行为点保存到机器人内部的沿边路径内存中,用于机器人后续行走遍历,以越过障碍物,同时将这个新的碰撞点更新为步骤S201当前标记的碰撞点,再进入步骤S208。
[0046] 步骤S208、判断是否标记出预设越障栅格数的沿边行为点,是则结束执行所述沿边路径规划方法以待机器人沿边行走到规划出的沿边行为点上,否则返回所述步骤S202,按照前述步骤使用更新后的当前标记的碰撞点继续选择满足沿边越障条件的栅格,并将选择出的栅格标记为用于机器人沿障碍物边缘行走的沿边路径上新规划的沿边行为点,因此,在执行过所述步骤S208之后,所述步骤S201当前标记的碰撞点是机器人在最新一次执行过的所述步骤S207中标记的新的碰撞点。其中,步骤S208用于判断机器人内部的沿边路径内存是否存储满所述沿边行为点,从机器人的当前导航位置开始,预设越障栅格数的沿边行为点足以规划成一条越过当前导航位置碰撞的障碍物的沿边路径。值得说明的是,上述的栅格的选取和计算可视为对应的栅格坐标点的选取和运算。
[0047] 一种芯片,其上存储有程序代码,该程序代码被芯片执行时实现所述沿边路径规划方法。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电 连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器 (ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0048] 一种机器人,该机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物;该机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物;该机器人设置有所述的芯片,所述芯片分别与左碰撞探测器和右碰撞探测器连接,机器人被配置为保持在所述当前导航位置处执行所述沿边路径规划方法。其中,左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧,当机器人的正前方碰撞到障碍物时,同时触发左碰撞探测器和右碰撞探测器检测,并将对应方向上的障碍物上的碰撞点标记为前碰撞点,使得机器人在同一位置下标记的前碰撞点、左碰撞点和右碰撞点都位于机器人正前方碰撞到的障碍物的轮廓线的切线上,障碍物的轮廓线是标记形成于栅格地图上。
[0049] 上述实施例只为说明本发明的技术构思及特点,其目的是让熟悉该技术领域的技术人员能够了解本发明的内容并据以实施,并不能以此来限制本发明的保护范围。凡根据本发明精神实质所作出的等同变换或修饰,都应涵盖在本发明的保护范围之内。
QQ群二维码
意见反馈