覆盖路径规划方法、装置、设备、计算机装置及存储介质与流程

文档序号:15679382发布日期:2018-10-16 20:24阅读:345来源:国知局

本发明属于路径规划领域,尤其涉及一种基于粗定位的覆盖路径规划方法、装置、设备、计算机装置及存储介质。



背景技术:

随着社会化程度的不断提高,移动机器人在生产、生活各领域中扮演着不可或缺的重要角色,从而引发人们对其所涉及的关键技术——路径规划的高度重视。覆盖路径规划属于路径规划的一种,其作用是确定经过区域内所有点位并且规避障碍物的一条路径,该技术主要应用于区域覆盖类任务的机器设备,如清扫、喷涂、研磨、排雷、割草、铲雪、擦窗机器人等,但目前的覆盖路径规划方法都存在一些问题,导致设备不能经济、高效地实现覆盖作业。



技术实现要素:

本发明实施例提供一种覆盖路径规划方法、装置、设备、计算机装置及存储介质,旨在解决现有的覆盖路径规划方法使设备不能经济、高效地实现覆盖作业的问题。

本发明实施例是这样实现的,一种基于粗定位的覆盖路径规划方法,应用于通过牛耕式分解法对工作区域进行分区的场景,所述方法包括:

控制设备以垂直于覆盖方向的z字型行走路径推进,使所述设备的行走路径覆盖目标分区;

若所述目标分区为末端分区,或者沿所述覆盖方向与所述目标分区邻接的下一个分区已被覆盖,则判断是否还有待覆盖分区;

若有待覆盖分区,则先控制所述设备进入所述待覆盖分区中,再控制所述设备以垂直于覆盖方向的z字型行走路径向所述待覆盖分区的边界退出,当所述设备已退至所述待覆盖分区的边界,则控制所述设备从所述待覆盖分区的边界开始以z字型行走路径将其覆盖。

本发明还提供了一种基于粗定位的覆盖路径规划装置,应用于通过牛耕式分解法对工作区域进行分区的场景,所述装置包括:

推进单元,用于控制设备以垂直于覆盖方向的z字型行走路径推进,使所述设备的行走路径覆盖目标分区;

待覆盖分区判断单元,用于若所述目标分区为末端分区,或者沿所述覆盖方向与所述目标分区邻接的下一个分区已被覆盖,则判断是否还有待覆盖分区;

待覆盖分区覆盖单元,用于若有待覆盖分区,则先控制所述设备进入所述待覆盖分区中,再控制所述设备以垂直于覆盖方向的z字型行走路径向所述待覆盖分区的边界退出,当所述设备已退至所述待覆盖分区的边界,则控制所述设备从所述待覆盖分区的边界开始以z字型行走路径将其覆盖。

本发明实施例还提供一种设备,所述设备为可移动设备,所述可移动设备包含上述的基于粗定位的覆盖路径规划装置。

本发明实施例还提供一种计算机装置,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现所述基于粗定位的覆盖路径规划方法的步骤。

本发明实施例还提供一种存储介质,所述存储介质存储有计算机可读指令的,所述计算机可读指令被一个或多个处理器执行时实现所述基于粗定位的覆盖路径规划方法的步骤。

本发明实施例提供的基于粗定位的覆盖路径规划方法中,设备处于末端分区时,或者沿覆盖方向的下一个邻接分区已被覆盖时,若还存在待覆盖分区则控制设备先进入该待覆盖分区内,再控制设备退出该待覆盖分区以寻找边界,最后再从该待覆盖分区的边界开始对其进行覆盖作业;本发明提供的方法实现了基于粗定位的覆盖路径规划,由于无需精确定位即可实现,本方法对设备的要求不高,成本大幅度降低,而且相比于传统的随机式覆盖方法其覆盖作业的效率大幅度提高。

附图说明

图1是本发明实施例提供的一种基于粗定位的覆盖路径规划方法的应用场景图;

图2是本发明实施例提供的一种基于粗定位的覆盖路径规划方法的流程图;

图3是本发明实施例提供的牛耕式分解法的单元分解示意图;

图4是本发明实施例提供的步骤s1的细化流程图;

图5是本发明实施例提供的设备识别待覆盖分区的边界的方法的流程图;

图6是本发明实施例提供的仅存在单个障碍物的工作区域中的设备的轨迹图一;

图7是本发明实施例提供的仅存在单个障碍物的工作区域中的设备的轨迹图二;

图8是本发明实施例提供的至少存在两个障碍物的工作区域中的设备的行走轨迹图;

图9是本发明实施例提供的一种基于粗定位的覆盖路径规划装置。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供的路径规划方法是这样实现的:控制设备执行覆盖工作,设备处于末端分区时,或者沿覆盖方向的下一个邻接分区已被覆盖时,若还存在待覆盖分区则控制设备先进入该待覆盖分区内,再控制设备退出该待覆盖分区以寻找边界,最后再从该待覆盖分区的边界开始对其进行覆盖作业;本发明提供的方法实现了基于粗定位的覆盖路径规划,由于无需精确定位即可实现,本方法对设备的要求不高,成本大幅度降低。

本发明中的设备最常见的应用是移动机器人,如图1所示,在本发明的一种应用场景中,移动机器人为割草机器人,割草机器人依靠多种传感器实时获取环境信息,按照设定方式自主完成任务规划和执行,相比传统割草机具有明显的优势,而覆盖路径规划(coveragepathplanning)是其关键技术之一。

目前割草机器人的路径规划以随机行走式为主,这种方案的原理是当机器人到达边界时,以一个随机角度折返,当运行时间足够长时,大量的路径以随机方式交叠,覆盖率可接近预期水平。随机式路径的优点是割过的草面比较平整,缺点是由于路径以随机方式交叠,造成大量重复,效率较低;且随着草坪面积的增加,消耗的时间和能量将呈指数级增加,在智能和节能方面呈明显劣势。

图1中外边框为草坪边界,菱形为草坪1内一景观,即障碍物2,其中,草坪边界与障碍物均以导线围绕,当执行覆盖作业的设备(可以是移动机器人,例如割草机器人3)到达导线上方时,可通过内置的电磁传感器感知到边界信息。界内空白处为待割区域,假设割草机从左下角开始任务,以垂向z字型行走路径沿从左到右的推进方向(如图1中的箭头所示)进行推进,最终目标是对整个草坪区域达到完整覆盖。

割草机器人3启动后,如无离线地图,首先执行建图流程,其中,建图环节需保证提取到外边界及内部所有障碍物2边界;建图完毕后,需对地图进行单元分解(图1中的虚线为单元分界线),得到若干单连通区域,然后依次对各个分区进行覆盖作业;最后,所有分区都已覆盖完毕,割草机器人3便返回基站(图中未示出)。

实施例一

图2示出了本发明实施例提供的一种覆盖路径规划方法的流程图,应用于通过牛耕式分解法进行分区的工作区域,该方法包括如下步骤:

步骤s1,控制所述设备以垂直于覆盖方向的z字型行走路径推进,使所述设备的行走路径覆盖目标分区;

步骤s2,若所述目标分区为末端分区,或者沿所述覆盖方向与所述目标分区邻接的下一个分区已被覆盖,则判断是否还有待覆盖分区;

步骤s3,若有待覆盖分区,则先控制所述设备进入所述待覆盖分区中,再控制所述设备以垂直于覆盖方向的z字型行走路径向所述待覆盖分区的边界退出,当所述设备已退至所述待覆盖分区的边界,则控制所述设备从所述待覆盖分区的边界开始以z字型行走路径将其覆盖。

在本发明实施例中,覆盖路径规划需要保证覆盖的完整性,这就涉及到三个处理环节,即单元分解、单元切换,以及单元内覆盖。

在进行单元分解时,往往需要分析待分解的区域是单连通域还是多连通域,对于单连通域,机器人可以通过简单路径达到完整覆盖,而对于多连通域,一般需要将其作单元分解(celldecomposition),然后分别对分解后的区域进行覆盖。

单元分解的方法有多种,按分割原理的不同可以分为梯形分解(trapezoidaldecomposition)、牛耕式分解(boustrophedondecomposition)、莫尔斯分解(morsedecomposition)、局部分解(brushfiredecomposition)、波面分解(wavefrontdecomposition)等,其中,本发明实施例采用的是牛耕式分解法(boustrophedondecomposition),牛耕式分解法是莫尔斯分解法中的一种特殊情况,当morse函数取h(x,y)=x时,即对应牛耕式分解法的情况。参见图3,通过牛耕式分解法对工作区域进行分区的方式具体为:

在待分解的工作区域上,以一条划线q从预设方向p(该预设方向可以是该工作区域所在平面的任意方向)扫过该工作区域m,每遇到障碍n时,该划线会被障碍物n切分,每离开障碍物n时,划线会便重新融合。划线发生变化(即被障碍物切分或离开障碍物后重新融合)的位置(如图3中的g、h、i、j、k、l所代表的位置)形成子分区的边界,其他位置为子分区的连续域(如图3中的a、b、c、d、e、f所代表区域);其中,某一位置的划线即是该处的子分区横截线。

其中,这里的子分区包含但不限于上述的目标分区、末端分区、与所述目标分区邻接的下一个分区、待覆盖分区等。

最后一步便是单元内覆盖,上述的工作区域通过牛耕式分解法分解后,形成的各个子单元(子区域)均为单连通域,本发明提供的覆盖路径规划方法中,设备覆盖过程中的行走路径可采用z字(也称弓字、之字)型、螺旋型、混合型等,本发明实施例采用z字型行走路径。

在本发明的一个实施例中,当工作区域进行单元分解后,整个区域变为若干单连通域(即上述通过牛耕式分解法进行分区后的子分区),执行本发明步骤s1遍历各个子分区。其中,步骤s1中的目标分区是指当前正在被执行覆盖的子分区,这里也称为当前分区;步骤s1中的覆盖方向与上述牛耕式分解法中划线段扫过工作区域m的方向p相同。

结合上述牛耕式分解法,如图4所示,步骤s1具体可以分解为如下几个步骤:

s11,控制所述设备以垂直于覆盖方向的z字型行走路径推进;

s12,判断所述设备的z字型行走路径的行程是否发生突变;

此处判断所述设备的z字型行走路径的行程是否发生突变,即判断设备是否行走至目标分区(当前分区)的边界,结合上述的牛耕式分解法,该边界也即划线发生变化(即被障碍物切分或离开障碍物后重新融合)的位置。

s13,若是,则判定所述设备的行走路径已覆盖所述目标分区,若否则继续执行步骤s11,即控制所述设备以垂直于覆盖方向的z字型行走路径推进。

作为本发明的一个优选实施例,进入步骤s1之前,往往需要控制设备进入各个子分区的方式,结合上述的牛耕式分解法,上述工作区域m的各个子分区在覆盖方向上存在一个起始分区,即设备在该工作区域m上所进入的第一个子分区,本发明在步骤s1之前还包括如下步骤:

控制设备进入目标分区的入口点;

若所述目标分区为预设的起始分区,则控制所述设备行至所述起始分区的起始边界,并以垂直于覆盖方向的z字型行走路径推进;

若所述目标分区非预设的起始分区,则跳转至步骤s1。

详细的,设备进入各个子分区要看其否到达各子分区的入口点,其中各子分区的入口点一般为各自的几何中心点,当然也可以是其他点,比如对该子分区进一步进行划分,形成多个更小的小块,然后标记某个小块的几何中心,以此几何中心作为对应子分区的入口点;或者标记若干个小块各自的几何中心,这些几何中心均作为对应子分区的入口点,即一个子分区对应多个入口点,设备进入该子分区时,可选择离其较近的入口点作为目标,以节省行程。因此,设备是否进入目标分区时,是以其是否到达目标分区的入口点为判断标准。本实施例中的入口点设置方式特别适合于粗定位的覆盖路径规划方法。

优选的,结合上述的牛耕式分解法,划线q沿预设方向p(或者覆盖方向)对工作区域m进行扫描时,碰到工作区域m上的第一个位置可作为起始分区的起始边界。

在本发明实施例中,若要控制设备(例如机器人)进行覆盖工作,那么需要设备覆盖完某个单元后能够正确切换至下个目标单元。这里涉及三个条件,首先,需要能确认设备当前处于哪个子区,其次,需要保证设备能从目标子区的起始区域开始覆盖,第三,需要能确认目标子区何时覆盖完毕;这些判别条件都需要相对精确的导航定位能力支持,但是目前受限于室外定位技术(如gps)的精度水平,基于单元分解的覆盖路径规划技术尚未在割草机器人领域获得成熟应用,而本发明提供覆盖路径规划方法无需精确定位便可实现。

在本发明的一个实施例中,如图6、图7所示,工作区域1的场地中间具有障碍物2,通过牛耕式分解法将工作区域1划分为r、s、t、u(其中u’为子分区u的入口点)四个子分区,其中设备3从图6所示的左下角3’的位置开始以z字型路径对工作区域1进行覆盖作业,覆盖方向从图示的左侧指向右侧。基于此,步骤s2具体包含如下步骤:

判断所述目标分区是否为末端分区,或者沿所述覆盖方向的下一个邻接分区是否已被覆盖;其中,末端分区是指:工作区域m进行单元分解后,沿覆盖方向的最末端子分区,图中的子分区t即为末端分区。

若所述目标分区非末端分区,且沿所述覆盖方向的下一个邻接分区也未被覆盖,则跳转至步骤s11,即控制所述设备以垂直于覆盖方向的z字型行走路径推进;

若所述目标分区为末端分区,或者沿所述覆盖方向的下一个邻接分区已被覆盖,则判断是否还有待覆盖分区;

若存在待覆盖分区,则跳转至步骤s3,即,先控制所述设备进入所述待覆盖分区中,再控制所述设备以垂直于覆盖方向的z字型行走路径向所述待覆盖分区的边界退出;

若无待覆盖分区,可判定所有的子分区已经被覆盖完毕,则控制所述设备返回基站。

图6、7中是工作区域只存在一个障碍物的情况,当设备3位于末端分区t且当前分区的覆盖作业已经完成时,则会判断是否存在待覆盖分区,在本示例中,存在待覆盖分区u,则需要控制设备前往待覆盖分区u。

在本发明实施例中,可以将步骤s3分解为以下三个动作:设备向待覆盖分区内移动的第一动作、设备从待覆盖分区内向待覆盖分区边界移动的第二动作、设备从待覆盖分区的边界开始对该待覆盖分区进行覆盖作业的第三动作,以下详细对这三个动作进行说明。

所谓的第一动作是指:若有待覆盖分区u,则先控制所述设备进入所述待覆盖分区u中。该动作的主要目的是让设备先找到并进入待覆盖分区u中,之所以这么做,是因为基于粗定位的覆盖路径规划方案中,设备是无法精确地定位到待覆盖分区u的边界上,但是仅仅要求设备找到待覆盖分区便比较容易,因此本发明实施例中对待覆盖分区u执行覆盖工作的第一步便是找到该待覆盖分区u。控制设备找到待覆盖分区u的方法同上述进入目标分区的方式类似,即,让设备向待覆盖分区u的入口点u’移动过去,待覆盖分区的入口点u’一般设置在待覆盖分区的几何中心,或者待覆盖分区进一步切分的小块的几何中心处,因此,待覆盖分区的入口点u’离其边界具有一定的距离,当设备移动到待覆盖分区的入口点处u’时,即使设备的定位精度不高,其误差也不至于导致设备仍在待覆盖分区的边界或边界之外,基于此,本发明才能够基于粗定位进行覆盖路径规划。也正因为是基于粗定位,所以设备移动到待覆盖分区u的入口点u’处,实际上是存在比较大的误差,但这并不影响本发明的效果。

所谓的第二动作是指:控制所述设备以垂直于覆盖方向的z字型行走路径向所述待覆盖分区的边界退出。该动作主要目的是为了寻找待覆盖分区的边界,这里的待覆盖分区的边界一般是指沿着或背离覆盖方向上的边界。结合图7,设备在上一个动作中已经移动到了待覆盖分区u的入口点u’,从待覆盖分区的入口点u’向待覆盖分区的边界退出的过程中,设备必须以垂直于覆盖方向的z字型行走路径推进,原因是设备无法进行精确定位,不能直接、精准地找到待覆盖分区的边界,因此在粗定位的基础上,设备识别待覆盖区域边界的方法是通过行走路径的行程变化来进行边界识别,如图5所示,详细步骤如下:

步骤s31,控制所述设备以垂直于覆盖方向的z字型行走路径在所述待覆盖分区内推进;

步骤s32,判断所述设备的z字型行走路径的行程是否发生突变;

其中,判断所述设备的z字型行走路径(即图7中加粗部分的行走路径)的行程是否发生突变,即判断设备是否行走至待覆盖分区的边界,即图中子分区u与t之间的虚线处。

步骤s33,若是,则判定所述设备的行走路径已覆盖待覆盖分区,若否,则跳转至步骤s31,即继续控制设备以垂直于覆盖方向的z字型行走路径推进。

步骤s32、s33中,设备根据识别行走路径的行程突变来识别待覆盖分区的边界,即,设备可以判定自身已经退至待覆盖分区的边界,这里所说的退至待覆盖分区的边界可以是在边界上,也可以是在边界的内侧或者外侧,具体由程序设定,可根据工作要求来进行调整,这里不作限定。

所谓的第三动作是指:若所述设备已退至所述待覆盖分区的边界,则控制所述设备从所述待覆盖分区的边界开始以z字型行走路径将其覆盖。通过前两个动作,设备已经在粗定位基础上识别到了待覆盖分区的边界,第三动作便是作最后的覆盖作业,即进一步对待覆盖分区进行全面的覆盖作业。

图8中,是工作区域中存在至少两个障碍物的情况,图示中根据牛耕式分解法将工作区域分解为w1~w7等7个子分区,图中x1~x4为子分区分界线。以图8示出的情景作为示例,设备的覆盖作业分为以下几步:从v1处以z字型行走路径,沿从左到右的覆盖方向依次覆盖w1~w4。设备到了w4分区的末端v3处,由于w4分区为末端分区,此时,需判断是否有待覆盖分区,在本示例中存在待覆盖分区,于是设备跳转至待第一处覆盖分区w5,即从v3跳转至v4处(即上述的第一动作);然后,设备再从v4处以z字型行走路径向w5的边界移动,设备到了v5处,并从v5处到v6处,z字型行走路径的行程发生了突变,说明设备到了w5的边界(即上述的第二动作);最后,设备从待覆盖分区w5的边界(图示中v7为其边界上的一点)开始对其进行覆盖作业(即上述的第三动作)。设备对w5覆盖该完毕后,其沿覆盖方向的下一个邻接分区尚未覆盖,因此顺延的,设备将第二处待覆盖分区w6也进行了覆盖。当设备从v8到v9处,z字型行走路径突变,因此可判定对子分区w6覆盖完毕,由于子分区w6既非末端分区,且其沿覆盖方向的下一个邻接分区w4已被覆盖,于是,此时需要判断当前是否存在待覆盖分区;在本示例中,存在第三处待覆盖分区w7,于是,设备需要移动至待覆盖w7,并对其进行覆盖作业,其具体过程也是按照上述的第一动作(其路径从v9处到v10处)、第二动作(其路径从v10到v11)、第三动作(从v12开始对w7进行覆盖作业)进行操作,具体不再赘述。

上述发明实施例的方法是这样实现的:控制设备执行覆盖工作,设备处于末端分区时,或者沿覆盖方向的下一个邻接分区已被覆盖时,若还存在待覆盖分区则控制设备先进入该待覆盖分区内,再控制设备退出该待覆盖分区以寻找边界,最后再从该待覆盖分区的边界开始对其进行覆盖作业;本发明提供的方法实现了基于粗定位的覆盖路径规划,由于无需精确定位即可实现,本发明方法对设备的要求不高,成本大幅度降低;同时相比于传统随机式路径规划方法,本发明方法不但效率大幅度提高,而且大大降低能源的损耗。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

实施例二

图9示出了本发明实施例提供的一种覆盖路径规划装置的流程图,应用于通过牛耕式分解法进行分区的工作区域,该装置包括如下单元:

推进单元100,用于控制所述设备以垂直于覆盖方向的z字型行走路径推进,使所述设备的行走路径覆盖目标分区;

待覆盖分区判断单元200,用于若所述目标分区为末端分区,或者沿所述覆盖方向与所述目标分区邻接的下一个分区已被覆盖,则判断是否还有待覆盖分区;

待覆盖分区覆盖单元300,用于若有待覆盖分区,则先控制所述设备进入所述待覆盖分区中,再控制所述设备以垂直于覆盖方向的z字型行走路径向所述待覆盖分区的边界退出,当所述设备已退至所述待覆盖分区的边界,则控制所述设备从所述待覆盖分区的边界开始以z字型行走路径将其覆盖。

在本发明实施例中,覆盖路径规划需要保证覆盖的完整性,这就涉及到三个处理环节,即单元分解、单元切换,以及单元内覆盖。

在进行单元分解时,往往需要分析待分解的区域是单连通域还是多连通域,对于单连通域,机器人可以通过简单路径达到完整覆盖,而对于多连通域,一般需要将其作单元分解(celldecomposition),然后分别对分解后的区域进行覆盖。

单元分解的方法有多种,按分割原理的不同可以分为梯形分解(trapezoidaldecomposition)、牛耕式分解(boustrophedondecomposition)、莫尔斯分解(morsedecomposition)、局部分解(brushfiredecomposition)、波面分解(wavefrontdecomposition)等,其中,本发明实施例采用的是牛耕式分解法(boustrophedondecomposition),牛耕式分解法是莫尔斯分解法中的一种特殊情况,当morse函数取h(x,y)=x时,即对应牛耕式分解法的情况。参见图3,通过牛耕式分解法对工作区域进行分区的方式具体为:

在待分解的工作区域上,以一条划线q从预设方向p(该预设方向可以是该工作区域所在平面的任意方向)扫过该工作区域m,每遇到障碍n时,该划线会被障碍物n切分,每离开障碍物n时,划线会便重新融合。划线发生变化(即被障碍物切分或离开障碍物后重新融合)的位置(如图3中的g、h、i、j、k、l所代表的位置)形成子分区的边界,其他位置为子分区的连续域(如图3中的a、b、c、d、e、f所代表区域);其中,某一位置的划线即是该处的子分区横截线。

其中,这里的子分区包含但不限于上述的目标分区、末端分区、与所述目标分区邻接的下一个分区、待覆盖分区等。

最后一步便是单元内覆盖,上述的工作区域通过牛耕式分解法分解后,形成的各个子单元(子区域)均为单连通域,本发明提供的覆盖路径规划方法中,设备覆盖过程中的行走路径可采用z字(也称弓字、之字)型、螺旋型、混合型等,本发明实施例采用z字型行走路径。

在本发明的一个实施例中,当工作区域进行单元分解后,整个区域变为若干单连通域(即上述通过牛耕式分解法进行分区后的子分区),执行本发明的推进单元100遍历各个子分区。其中,推进单元100中的目标分区是指当前正在被执行覆盖的子分区,这里也称为当前分区;推进单元100中的覆盖方向与上述牛耕式分解法中划线段扫过工作区域m的方向p相同。

结合上述牛耕式分解法,推进单元100具体用于:

控制所述设备以垂直于覆盖方向的z字型行走路径推进;

判断所述设备的z字型行走路径的行程是否发生突变;

此处判断所述设备的z字型行走路径的行程是否发生突变,即判断设备是否行走至目标分区(当前分区)的边界,结合上述的牛耕式分解法,该边界也即划线发生变化(即被障碍物切分或离开障碍物后重新融合)的位置。

若是,则判定所述设备的行走路径已覆盖所述目标分区,若否则继续执行推进单元的第一个步骤,即控制所述设备以垂直于覆盖方向的z字型行走路径推进。

作为本发明的一个优选实施例,进入推进单元100之前,往往需要控制设备进入各个子分区的方式,结合上述的牛耕式分解法,上述工作区域m的各个子分区在覆盖方向上存在一个起始分区,即设备在该工作区域m上所进入的第一个子分区,本发明装置还包括起始分区识别单元,其具体用于:

控制设备进入目标分区的入口点;

若所述目标分区为预设的起始分区,则控制所述设备行至所述起始分区的起始边界,并以垂直于覆盖方向的z字型行走路径推进;

若所述目标分区非预设的起始分区,则跳转至推进单元100。

详细的,设备进入各个子分区要看其否到达各子分区的入口点,其中各子分区的入口点一般为各自的几何中心点,当然也可以是其他点,比如对该子分区进一步进行划分,形成多个更小的小块,然后标记某个小块的几何中心,以此几何中心作为对应子分区的入口点;或者标记若干个小块各自的几何中心,这些几何中心均作为对应子分区的入口点,即一个子分区对应多个入口点,设备进入该子分区时,可选择离其较近的入口点作为目标,以节省行程。因此,设备是否进入目标分区时,是以其是否到达目标分区的入口点为判断标准。本实施例中的入口点设置方式特别适合于粗定位的覆盖路径规划方法。

优选的,结合上述的牛耕式分解法,划线q沿预设方向p(或者覆盖方向)对工作区域m进行扫描时,碰到工作区域m上的第一个位置可作为起始分区的起始边界。

在本发明实施例中,若要控制设备(例如机器人)进行覆盖工作,那么需要设备覆盖完某个单元后能够正确切换至下个目标单元。这里涉及三个条件,首先,需要能确认设备当前处于哪个子区,其次,需要保证设备能从目标子区的起始区域开始覆盖,第三,需要能确认目标子区何时覆盖完毕;这些判别条件都需要相对精确的导航定位能力支持,但是目前受限于室外定位技术(如gps)的精度水平,基于单元分解的覆盖路径规划技术尚未在割草机器人领域获得成熟应用,而本发明提供覆盖路径规划方法无需精确定位便可实现。

在本发明的一个实施例中,如图6、图7所示,工作区域1的场地中间具有障碍物2,通过牛耕式分解法将工作区域1划分为r、s、t、u(其中u’为子分区u的入口点)四个子分区,其中设备3从图示的左下角3’的位置开始以z字型路径对工作区域1进行覆盖作业,覆盖方向从图示的左侧指向右侧。基于此,待覆盖分区判断单元200具体用于:

判断所述目标分区是否为末端分区,或者沿所述覆盖方向的下一个邻接分区是否已被覆盖;其中,末端分区是指:工作区域m进行单元分解后,沿覆盖方向的最末端子分区,图中的子分区t即为末端分区。

若所述目标分区非末端分区,且沿所述覆盖方向的下一个邻接分区也未被覆盖,则跳转至推进单元100的第一个步骤,即控制所述设备以垂直于覆盖方向的z字型行走路径推进;

若所述目标分区为末端分区,或者沿所述覆盖方向的下一个邻接分区已被覆盖,则判断是否还有待覆盖分区;

若存在待覆盖分区,则跳转至待覆盖分区覆盖单元300,即,先控制所述设备进入所述待覆盖分区中,再控制所述设备以垂直于覆盖方向的z字型行走路径向所述待覆盖分区的边界退出;

若无待覆盖分区,可判定所有的子分区已经被覆盖完毕,则控制所述设备返回基站。图6、7中是工作区域只存在一个障碍物的情况,当设备3位于末端分区t且当前分区的覆盖作业已经完成时,则会判断是否存在待覆盖分区,在本示例中,存在待覆盖分区u,则需要控制设备前往待覆盖分区u。

在本发明实施例中,可以将待覆盖分区覆盖单元300的执行内容分解为以下三个动作:设备向待覆盖分区内移动的第一动作、设备从待覆盖分区内向待覆盖分区边界移动的第二动作、设备从待覆盖分区的边界开始对该待覆盖分区进行覆盖作业的第三动作,以下详细对这三个动作进行说明。

所谓的第一动作是指:若有待覆盖分区u,则先控制所述设备进入所述待覆盖分区u中。该动作的主要目的是让设备先找到并进入待覆盖分区u中,之所以这么做,是因为基于粗定位的覆盖路径规划方案中,设备是无法精确地定位到待覆盖分区u的边界上,但是仅仅要求设备找到待覆盖分区便比较容易,因此本发明实施例中对待覆盖分区u执行覆盖工作的第一步便是找到该待覆盖分区u。控制设备找到待覆盖分区u的方法同上述进入目标分区的方式类似,即,让设备向待覆盖分区u的入口点u’移动过去,待覆盖分区的入口点u’一般设置在待覆盖分区的几何中心,或者待覆盖分区进一步切分的小块的几何中心处,因此,待覆盖分区的入口点u’离其边界具有一定的距离,当设备移动到待覆盖分区的入口点处u’时,即使设备的定位精度不高,其误差也不至于导致设备仍在待覆盖分区的边界或边界之外,基于此,本发明才能够基于粗定位进行覆盖路径规划。也正因为是基于粗定位,所以设备移动到待覆盖分区u的入口点u’处,实际上是存在比较大的误差,但这并不影响本发明的效果。

所谓的第二动作是指:控制所述设备以垂直于覆盖方向的z字型行走路径向所述待覆盖分区的边界退出。该动作主要目的是为了寻找待覆盖分区的边界,这里的待覆盖分区的边界一般是指沿着或背离覆盖方向上的边界。结合图7,设备在上一个动作中已经移动到了待覆盖分区u的入口点u’,从待覆盖分区的入口点u’向待覆盖分区的边界退出的过程中,设备必须以垂直于覆盖方向的z字型行走路径推进,原因是设备无法进行精确定位,不能直接、精准地找到待覆盖分区的边界,因此在粗定位的基础上,设备识别待覆盖区域边界的方法是通过行走路径的行程变化来进行边界识别,如图5所示,详细步骤如下:

步骤s31,控制所述设备以垂直于覆盖方向的z字型行走路径在所述待覆盖分区内推进;

步骤s32,判断所述设备的z字型行走路径的行程是否发生突变;

其中,判断所述设备的z字型行走路径(即图7中加粗部分的行走路径)的行程是否发生突变,即判断设备是否行走至待覆盖分区的边界,即图中子分区u与t之间的虚线处。

步骤s33,若是,则判定所述设备的行走路径已覆盖待覆盖分区,若否,则跳转至步骤s31,即继续控制设备以垂直于覆盖方向的z字型行走路径推进。上述步骤中,设备根据识别行走路径的行程突变来识别待覆盖分区的边界,即,设备可以判定自身已经退至待覆盖分区的边界,这里所说的退至待覆盖分区的边界可以是在边界上,也可以是在边界的内侧或者外侧,具体由程序设定,可根据工作要求来进行调整,这里不作限定。

所谓的第三动作是指:若所述设备已退至所述待覆盖分区的边界,则控制所述设备从所述待覆盖分区的边界开始以z字型行走路径将其覆盖。通过前两个动作,设备已经在粗定位基础上识别到了待覆盖分区的边界,第三动作便是作最后的覆盖作业,即对待覆盖分区进行全面的覆盖作业。

图8中,是工作区域中存在至少两个障碍物的情况,图示中根据牛耕式分解法将工作区域分解为w1~w7等7个子分区,图中x1~x4为子分区分界线。以图8示出的情景作为示例,设备的覆盖作业分为以下几步:从v1处以z字型行走路径,沿从左到右的覆盖方向依次覆盖w1~w4。设备到了w4分区的末端v3处,由于w4分区为末端分区,此时,需判断是否有待覆盖分区,在本示例中存在待覆盖分区,于是设备跳转至待第一处覆盖分区w5,即从v3跳转至v4处(即上述的第一动作);然后,设备再从v4处以z字型行走路径向w5的边界移动,设备到了v5处,并从v5处到v6处,z字型行走路径的行程发生了突变,说明设备到了w5的边界(即上述的第二动作);最后,设备从待覆盖分区w5的边界(图示中v7为其边界上的一点)开始对其进行覆盖作业(即上述的第三动作)。设备对w5覆盖该完毕后,其沿覆盖方向的下一个邻接分区尚未覆盖,因此顺延的,设备将第二处待覆盖分区w6也进行了覆盖。当设备从v8到v9处,z字型行走路径突变,因此可判定对子分区w6覆盖完毕,由于子分区w6既非末端分区,且其沿覆盖方向的下一个邻接分区w4已被覆盖,于是,此时需要判断当前是否存在待覆盖分区;在本示例中,存在第三处待覆盖分区w7,于是,设备需要移动至待覆盖w7,并对其进行覆盖作业,其具体过程也是按照上述的第一动作(其路径从v9处到v10处)、第二动作(其路径从v10到v11)、第三动作(从v12开始对w7进行覆盖作业)进行操作,具体不再赘述。

上述发明实施例的装置是这样实现的:控制设备执行覆盖工作,设备处于末端分区时,或者沿覆盖方向的下一个邻接分区已被覆盖时,若还存在待覆盖分区则控制设备先进入该待覆盖分区内,再控制设备退出该待覆盖分区以寻找边界,最后再从该待覆盖分区的边界开始对其进行覆盖作业;本发明提供的方法实现了基于粗定位的覆盖路径规划,由于无需精确定位即可实现,本发明方法对设备的要求不高,成本大幅度降低;同时相比于传统随机式路径规划方法,本发明方法不但效率大幅度提高,而且大大降低能源的损耗。

实施例三

本发明实施例提供了一种设备,所述设备为可移动设备,该可移动设备包含如上述的实施例二中的任意一个实施例所提供的基于粗定位的覆盖路径规划装置。

作为本发明的一个具体实施例,所述可移动设备为割草机器人。

上述发明实施例的可移动设备是这样实现的:控制设备执行覆盖工作,设备处于末端分区时,或者沿覆盖方向的下一个邻接分区已被覆盖时,若还存在待覆盖分区则控制设备先进入该待覆盖分区内,再控制设备退出该待覆盖分区以寻找边界,最后再从该待覆盖分区的边界开始对其进行覆盖作业;本发明提供的方法实现了基于粗定位的覆盖路径规划,由于无需精确定位即可实现,本发明方法对设备的要求不高,成本大幅度降低;同时相比于传统随机式路径规划方法,本发明方法不但效率大幅度提高,而且大大降低能源的损耗。

实施例四

本发明实施例提供一种计算机装置,该计算机装置包括存储器和处理器,存储器中存储有计算机可读指令,该可读指令被处理器执行时实现上述各个方法实施例提供的基于粗定位的覆盖路径规划方法的步骤。

示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。例如,所述计算机程序可以被分割成上述各个方法实施例提供的基于粗定位的覆盖路径规划方法的步骤。

本发明实施例还提供了一种存储介质,其上存储有计算机可读指令/程序,所述计算机可读指令/程序被处理器执行时,实现上述各个方法实施例所提供的基于粗定位的覆盖路径规划方法的步骤。

本领域技术人员可以理解,上述计算机装置的描述仅仅是示例,并不构成对计算机装置的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个用户终端的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。所述计算机装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。

在本说明书的描述中,参考术语“一个/些/种/另一种实施例”、“示例”、“具体示例”、“本发明实施例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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