掌桥专利:专业的专利平台
掌桥专利
首页

一种航线编辑方法、装置及控制设备

文献发布时间:2023-06-19 10:11:51


一种航线编辑方法、装置及控制设备

技术领域

本发明涉及控制技术领域,尤其涉及一种航线编辑方法、装置及控制设备。

背景技术

导航路线包括用于指示飞行器飞行的航线,还可以包括用于指示地面移动物体例如自动汽车移动的路线,用户可以通过打点的方式在界面上显示的地图中指定多个位置点,将这些位置点在地图上依次连线,即可得到导航路线,这些位置点可以称之为航点。在无人机或者地面无人汽车等设备进行区域巡航时,需要预先规划好导航路线,以便于更好地实现区域自动巡航。

现有技术中需要用户一次性在需要巡航的区域打完所有的位置点,在需要增加新的区域时,只能删除由原有位置点形成的导航路线,再重新规划包括新的位置点的导航路线,费时费力。

发明内容

本发明实施例提供了一种航线编辑方法、装置及控制设备,可动态进行角点的编辑规划航线。

一方面,本发明实施例提供了一种航线编辑方法,包括:

在新增加的第一角点时,根据初始区域上各个角点的位置和所述第一角点的位置,从所述初始区域各个角点中确定出第二角点;

以所述第一角点和第二角点作为端点构成待分析线段,并从所述初始区域上由两个角点构成的边界线段中判断是否存在与所述待分析线段之间的关系满足交叉条件的线段;

若不存在,则将所述第一角点插入到所述第二角点和第三角点之间,构成新的边界线段,并确定出包括所述第一角点的目标区域;所述第三角点在所述初始区域上,且所述第三角点与所述第一角点的距离仅大于所述第二角点与所述第一角点之间的距离;

在所述目标区域中规划巡航航线。

相应地,本发明实施例还提供了一种航线编辑装置,包括:

获取模块,用于获取新增加的第一角点的位置;

确定模块,用于根据初始区域上各个角点的位置和所述第一角点的位置,从所述初始区域各个角点中确定出第二角点;

判断模块,用于以所述第一角点和第二角点作为端点构成待分析线段,并从所述初始区域上由两个角点构成的线段中确定是否存在与所述待分析线段之间的关系满足交叉条件的线段;

编辑模块,用于在所述判断模块的判断结果为不存在时,则将所述第一角点插入到所述第二角点和第三角点之间,构成新的边界线段,并确定出包括所述第一角点的目标区域;其中,所述第三角点在所述初始区域上,且所述第三角点与所述第一角点的距离仅大于所述第二角点与所述第一角点之间的距离。

相应地,本发明实施例还提供了一种控制设备,包括用户接口和处理器;

所述用户接口,用于对针对用户产生的交互数据进行处理;

所述处理器,用于执行如下步骤:

获取新增加的第一角点的位置;

根据初始区域上各个角点的位置和所述第一角点的位置,从所述初始区域各个角点中确定出第二角点;

以所述第一角点和第二角点作为端点构成待分析线段,并从所述初始区域上由两个角点构成的线段中判断是否存在与所述待分析线段之间的关系满足交叉条件的线段;

若不存在,则将所述第一角点插入到所述第二角点和第三角点之间,构成新的边界线段,并确定出包括所述第一角点的目标区域;

所述第三角点在所述初始区域上,且所述第三角点与所述第一角点的距离仅大于所述第二角点与所述第一角点之间的距离。

本发明实施例中用户只需简单地指定一个新的角点,通过判断两条线段是否交叉来确定出该新角点的插入位置,即可重新划定需要巡航的区域,进而能够在该重新划定的区域中进行后续的航线编辑等处理,满足用户对区域巡航的航线编辑需求,实现了对巡航区域的动态配置,提高了在巡航区域中航线编辑的效率。

附图说明

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

图1是本发明实施例的巡航区域编辑的界面示意图;

图2是本发明实施例的在巡航区域中编辑航线的界面示意图;

图3是本发明实施例的一种航线编辑界面的示意图;

图4是本发明实施例增加角点后的一个用户界面示意图;

图5是本发明实施例的再一种用户界面的示意图;

图6是本发明实施例的一种航线编辑方法的流程示意图;

图7是本发明实施例的另一种航线编辑方法的流程示意图;

图8是本发明实施例的一种航线编辑装置的结构示意图;

图9是本发明实施例的一种控制设备的结构示意图。

具体实施方式

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

在本发明实施例中,动态设定需要巡航的目标区域以便于在该目标区域中设定巡航的导航路线可以由一台控制设备执行,例如由个人电脑、平板电脑、甚至由高性能的智能手机执行。或者,动态设定需要巡航的目标区域也可以在前端客户端和后台服务器之间实现。所述前端客户端可以为仅带触摸显示屏的智能手机、平板电脑等,前端客户端只需完成相应的编辑界面的显示以及接收用户在编辑界面上的打点操作(如触屏点击操作)等,而后台服务器则根据前端打点操作所指定的角点的位置、新增加的角点的位置,进行目标区域的动态规划处理,完成在目标区域的巡航航线的动态编辑。本发明实施例以一台控制设备执行相应的处理为例来对航线编辑方法进行说明。

在本发明实施例中,涉及到角点、障碍物角点和航点,其中,角点用于限定需要巡航的区域,具体可以是指该需要巡航的区域的边界拐点,而航点则为飞行器等移动物体在由角点限定的需要巡航的区域中移动的位置点。具体如图1和图2所示,在图1中,用户可以通过点击触摸屏,打点得到的角点为A1、B1、C1,基于该三个角点的位置可以围合得到三角形A1B1C1区域,该区域为一个需要巡航的区域。在其他实施例中,用户也可以控制飞行器等移动物体在需要巡航的区域的边界移动,根据移动物体传回的位置坐标,将多个处于拐点的位置确定为角点。其中,由角点A1和B1,B1和C1,以及C1和A1构成的线段可以称之为边界线段。进一步地,在图1中还包括了障碍物角点A2、B2以及C2,这些障碍物角点可以是用户根据实际环境结合地图,通过点击触摸屏等方式确定的角点,也可以是飞行器等移动物体通过视觉传感器,距离传感器等传感器感测到障碍物后,自动设置的多个障碍物角点。在本发明实施例中,由障碍物角点A2、B2以及C2围合得到的三角形A2B2C2区域为禁止移动的区域,即,后续不会在该禁止移动的区域中设置导航路线的航点。如图2所示,包括了在上述的三角形A1B1C1区域内设置的导航路线,在该导航路线上包括了如D1等航点,其中的每一个数字位置点均为航点,所有的航点构成一条在三角形A1B1C1区域内的导航路线,其中,可以看出,由位置点1对应的航点D1到位置点5对应的航点构成的航线为图1中的XY线段,相应地,其他位置点构成的航线也可以对应于图1中的相应线段。

进一步地,如图3所示,是本发明实施例的一种航线编辑界面的示意图,在应用APP上进行航线编辑时,控制设备会展示图3所示的界面。在图3所示的界面中,用户通过在触摸屏触摸点击或者鼠标点击等方式在该界面中的一个局部地图上打3个点,得到角点A、角点B以及角点C,打点完成,控制设备基于角点A、B以及C得到如图3所示的一个多边形(三角形)区域,该多边形区域即为用户需要飞行器巡航的区域,以便于对该区域进行巡航监控或者其他诸如喷洒农药等作业。在图3中带H字样的圆点为配置的返航点或者为巡航结束后的降落点。

进一步地,用户还可以设置相机相关参数,例如拍照高度、拍照角度、相机FOV(Field Of View,视场角)角度,巡航相关参数,例如起点位置(即指定具体从那一个角点开始)、巡航方向、协同作业飞机数目、巡航重叠率、返航位置点、飞行基站位置点、障碍物位置点中的任意一个或者多个。其中,在飞行基站上,可以为飞行器更换电池、维修等处理。结合这些参数以及各个角点的位置坐标,控制设备将会自动计算更为详细的飞行器的巡航路线,实现无人机覆盖相关区域的巡航功能。

在编辑得到需要巡航的区域后,用户可以通过触屏点击等方式,继续添加新的角点(第一角点)。控制设备以该已经编辑得到的需要巡航的区域作为初始区域,在检测到新增加角点的操作需要增加第一角点后,确定该第一角点在地图上的位置坐标,并根据初始区域上各个角点的位置坐标,综合确定新增加的第一角点应当插入的位置。所述第一角点插入的原则为:所述第一角点与初始区域中某个角点组成线段后,该条线段不与该区域的各个边界线段相交,本发明实施例所说的相交并不包括端点相交。

具体的,如图4所示,是本发明实施例增加角点后的一个用户界面示意图。在角点A、B以及C的对应连线(即边界线段)构成需要巡航的区域(即为初始区域)后,新增加了第一角点D,第一角点D的具体位置如图4所示。第一角点D与原有角点C连接而成的线段DC,除了在DC的端点C与边界线段AC相交外,线段DC并不与初始区域其他的任意一个边界线段交叉,因此,第一角点D可以插入到角点B和角点C之间,其中,B为第三角点,B到D的距离仅大于C到D的距离,而小于A到B的距离。而相反,第一角点D如果与角点A构成线段DA,则DA会与边界线段BC相交,那么第一角点D则不能与角点A相邻构成目标区域的边界线段。

也就是说,对动态插入多边形的角点,判断在角点数组中插入位置的唯一标准是:保证整个连线不会出现交叉,也就是保持多边形。相应的算法流程为如下。

首先,计算插入角点(第一角点)与其他角点(初始区域的各个角点)的距离,并按距离的从小到大升序排列,例如,如图5所示,在图4的基础上再次插入新的第一角点E,则按照与第一角点E的距离,排序的结果为角点A、B、C以及D。其次,由于第一角点肯定处于某条边界线段所对应的角点之间,所以遍历每条边界线段,以第一角点插入该边界线段为前提,判断结果是否有相交的情况(不包括端点相交),如图5所示,边界线段包括:角点A和B构成的边界线段AB,角点B和D构成的边界线段BD,角点D和C构成的边界线段DC,以及角点C和A构成的边界线段CA。根据距离由小到大的升序排列,第一角点E首先与最近的角点A建立待分析线段EA,然后判断该待分析线段EA与各条边界线段之间的关系是否满足交叉条件,当AB、BD、DC以及CA中不存在满足交叉条件的边界线段(不包括端点A相交)时,则可以将第一角点E插入到角点A与角点B之间,角点B与第一角点E之间的距离仅大于角点A与第一角点E之间的距离。将边界线段AE、EB替换原来的边界线段AB,从而更新得到目标区域。

其中,判断两条线段之间是否相交的具体规则为:以已知某条线段AB,线段CD为例(此处的AB和CD仅为举例,与图3-图5中的A、B、C以及D没有关系)。先来判断线段AB所在的直线与线段CD是否相交,如果不相交,那么线段AB和线段CD肯定不相交。如果线段AB所在的直线和线段CD已经相交,那么继续判断线段CD所在的直线与线段AB是否相交,如果不相交,那么线段AB和线段CD肯定不相交。如果线段AB所在的直线与线段CD相交,且线段CD所在的直线与线段AB相交,那么可以断定线段AB和线段CD相交。也就是说,对于两个线段,如果任一线段所在的直线与另一线段不相交,则此两条线段肯定不相交;而如果其中任意线段所在的直线均与另一线段相交,则可以肯定两个线段相交。

关键问题是:如何判断线段AB所在的直线是否与线段CD相交。具体的计算方式如下:设线段AB所在的直线的方程为:f(x,y)=0,当C和D点不在直线的同侧时,线段AB所在的直线必然与线段CD相交,也就是说线段AB所在的直线与线段CD相交的条件为:f(C)*f(D)<=0。

设A点、B点坐标分别为(Xa,Ya),(Xb,Yb),线段AB所在的直线方程可表示为:

则进一步可以得到:

f(c)=(y

f(d)=(y

如果f(C)*f(D)<=0(C,D两点分布在线段AB所在的直线的两侧),即说明线段AB所在的直线与线段CD相交,同理判断线段CD所在的直线与线段AB。当线段AB所在的直线与线段CD相交,且线段CD所在的直线与线段AB相交,那么可以断定线段AB和线段CD相交。

因此,在本发明实施例中,根据角点距离的顺序构成待分析线段,然后依次去遍历初始区域上的所有边界线段,再按照上述的规则判断待分析线段与任意边界线段之间是否相交,如果不相交,则可以确认新角点的位置,如果相交,则依序获取下一个角点,重复执行本段描述的操作,直至找到与任一边界线段之间的关系都不满足交叉条件(不相交但允许端点相交)的待分析线段,确定出第一角点需要插入的位置为止。

另外,在多边形的巡航区域中,可能存在障碍物,此时,在地图上可以通过用户手动打点或者控制设备通过自动识别的方式确定多个可以绕开障碍物的障碍物角点。基于各个障碍物角点的位置,按照一定顺序分别将各角点作为第一角点执行相关插入处理,完成对初始区域的更新。所按照的一定顺序可以是打点的先后时间顺序。

图4相对于在图3的右下角插入一个角点D(第一角点),图5为在图4的基础上于左下角插入一个角点E(第一角点),通过控制设备的处理,可以看出,均返回了可信的计算结果,即得到了不存在交叉的多边形巡航区域。

当在采用前端客户端和后台服务器的组合来完成需要巡航的目标区域的处理的实施例中,执行的处理过程以及规则与上述控制设备的处理过程以及规则基本相同,所不同之处在于,采用前端客户端和后台服务器实现时存在信息的交互,例如,前端客户端在用户界面上接收到的第一角点的位置需要通过有线或者无线的方式发送给后台服务器。

具体再请参见图6,是本发明实施例的一种航线编辑方法的流程示意图,所述方法可以由控制设备执行,也可以由服务器来执行。具体的,本发明实施例的所述方法包括如下步骤。

S601:获取新增加的第一角点的位置。该第一角点可以是用户在包括地图的界面上新打点增加的角点。基于新增加的角点在地图上的位置,可以得到第一角点的位置,该位置可以为一个GPS坐标。

S602:根据初始区域上各个角点的位置和所述第一角点的位置,从所述初始区域各个角点中确定出第二角点。所述初始区域为一个已编辑得到的需要巡航的区域,即需要编辑的初始区域,具体为一个多边形巡航区域。所述第二角点为所述初始区域上的一个角点。具体是根据初始区域上各个角点与第一角点之间的距离,得到一个按照距离由小到大排列的角点序列,然后在依次从该角点序列中提取出角点作为第二角点。

S603:以所述第一角点和第二角点作为端点构成待分析线段,并从所述初始区域上由两个角点构成的边界线段中判断是否存在与所述待分析线段之间的关系满足交叉条件的线段。

具体将待分析线段和初始区域中的任意两个角点连接得到的边界线段进行比较,判断待分析线段和边界线段之间的关系是否满足交叉条件。如果在所有的边界线段中存在与所述待分析线段之间的关系满足交叉条件的线段,则结束,重新确定第二角点并与第一角点构成新的待分析线段,即重新执行所述S602;如果不存在,则执行下述的S604。

S604:将所述第一角点插入到所述第二角点和第三角点之间,构成新的边界线段,并确定出包括所述第一角点的目标区域。所述目标区域由原初始区域的部分边界线段和新的边界线段围成,包括了新插入的所述第一角点。

所述第三角点在所述初始区域上,所述第三角点与所述第一角点的距离仅大于所述第二角点与所述第一角点之间的距离。也就是说,所述第三角点到第一角点的距离大于第二角点到所述第一角点的距离,而小于所述初始区域上其他的未被作为第二角点的其他角点到所述第一角点的距离。

构成的新的边界线段将替换原来的关于所述第二角点与第三角点之间的边界线段,如图4所述,构成新的BD和DC边界线段,替换原来的BC边界线段,或者如图5所示,构成新的AE和EB边界线段,替换原来的AB边界线段。

S605:在所述目标区域中规划巡航航线。

本发明实施例中用户只需简单地指定一个新的角点,通过判断两条线段是否交叉来确定出该新角点的插入位置,即可重新划定需要巡航的区域,进而能够在该重新划定的区域中进行后续的航线编辑等处理,满足用户对区域巡航的航线编辑需求,实现了对巡航区域的动态配置,提高了在巡航区域中航线编辑的效率。

再请参见图7,是本发明实施例的另一种航线编辑方法的流程示意图,所述方法可以由控制设备执行,也可以由服务器来执行。具体的,本发明实施例的所述方法包括如下步骤。

S701:获取新增加的第一角点的位置。所述初始区域为一个已编辑确定的需要巡航的初始区域。所述初始区域为根据交互界面上设置的角点规划得到的多边形区域。具体的,所述第一角点的位置可以是用户新点击打点确定的角点。

S702:根据初始区域上各个角点的位置和所述第一角点的位置,确定出所述初始区域各个角点与所述第一角点的距离。基于两个点的GPS坐标,可以计算两个点的距离。

S703:按照距离由小到大的优先级顺序,从初始区域的各个角点中确定出第二角点。具体可以按照距离值由小到大的顺序生成一个角点序列,方便后续依次从该序列中取出角点作为第二角点。

S704:以所述第一角点和第二角点作为端点构成待分析线段,并从所述初始区域上由两个角点构成的边界线段中判断是否存在与所述待分析线段之间的关系满足交叉条件的线段。

所述初始区域上由两个角点构成的线段为边界线段,所述交叉条件中要求两个线段之间交叉但不包括端点相交,判断所述待分析线段与边界线段之间的关系是否满足交叉条件的原则包括:若所述待分析线段所在的直线与所述边界线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者,若所述边界线段所在的直线与所述待分析线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者,若所述待分析线段所在的直线与所述边界线段相交、且所述边界线段所在的直线与所述待分析线段相交,则确定所述待分析线段与所述边界线段之间的关系满足交叉条件;或者,若所述待分析线段所在的直线与所述边界线段相交、但所述边界线段所在的直线与所述待分析线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者,若所述边界线段所在的直线与所述待分析线段相交、但所述待分析线段所在的直线与所述边界线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件。具体的计算算法可参考上述实施例中的举例描述。

当判断结果为否时,即不存在与所述待分析线段之间的关系满足交叉条件的线段时,执行下述的S705。否则,则表明存在与所述待分析线段之间的关系满足交叉条件的线段,需要再次按照距离由小到大的优先级顺序,从初始区域的剩余角点中再次确定出新的角点作为第二角点,即跳转执行所述S703。

S705:将所述第一角点插入到所述第二角点和第三角点之间,构成新的边界线段,并确定出包括所述第一角点的目标区域。所述第三角点在所述初始区域上,且所述第三角点与所述第一角点的距离仅大于所述第二角点与所述第一角点之间的距离。所述第三角点是在所述S703中描述的角点序列中所述第二角点的下一角点。构成的新的边界线段将取代原来的第二角点和第三角点所对应的原有边界线段。

S706:根据预设的航点配置规则,在所述目标区域中自动生成航线,并得到航线数据,所述航线数据包括多个航点以及每一个航点位置,以便于移动物体按照该航线数据移动完成对所述目标区域的巡航。

进一步可选地,在自动生成了航线后,可以直接将航线对应的数据发送给执行巡航任务的飞行器或其他移动物体,以便于飞行器等移动物体对所述目标区域进行巡航。如果航线较长,则可以对生成的航线进行拆分,并将拆分得到的多条子航线分别发送给一个或者多个移动物体,以控制各移动物体执行相应的子航线,以便于分段对所述目标区域进行巡航。并且,在发送了航线数据的同时,或者发送之前或之后的任意时间段,可以向执行对应航线的移动物体发送特定位置点信息,所述特定位置点包括:返航位置点、飞行基站位置点、障碍物位置点中的任意一个或者多个。

进一步地,在一种实施例中,如果图7所述的方法由服务器执行,则服务器针对用户点击确定的角点生成需要巡航的区域的步骤为:接收客户端发送的包括多个角点的角点数据,所述多个角点是用户在客户端的交互界面上输入的,所述角点数据包括对应角点的位置;根据各个角点的角点数据生成需要巡航的区域,并在该生成的需要巡航的区域上设置航线。将设置的该航线发送给所述客户端,并展示给用户。即通过与控制设备等客户端的交互,来为用户通过角点圈定的需要巡航的区域生成一条航线。

进一步地,服务器针对新插入角点的处理步骤包括:获取所述客户端接收到的插入角点数据,所述插入角点数据是所述客户端在用户界面上接收到的新插入到所述初始区域的角点的数据;触发执行所述获取新增加的第一角点的位置。同样,服务器是通过与控制设备等客户端的交互,来为用户生成包括插入了新角点的航线。

另外,在其中一种实施例中,如果用户生成的初始区域或者在所述初始区域中先后不断插入新角点,导致目标区域较大,最终生成的航线过长(长度大于长度阈值)或者航点过多(航点个数大于个数阈值)或者飞行器的剩余电量不足以完成该航线时,则可以对航线进行拆分,并将拆分得到的多条子航线分别发送给一个或者多个目标飞行器,以控制各目标飞行器执行相应的子航线。当然,针对所拆分得到的多条子航线,也可以根据子航线在原来完整航线上所处的位置,依次先后发送给一个飞行器。

进一步可选地,在规划得到的目标区域中可能存在障碍物区域,例如一栋建筑或者小山,本发明实施例的所述方法在规划巡航航线之前,所述方法还可以包括:检测所述目标区域内存在的障碍物位置区域;根据障碍物位置区域确定多个障碍物角点;分别根据各个障碍物角点得到所述目标区域的障碍物区域,以便于在巡航航线规划时绕过该障碍物区域规划巡航航线。障碍物的位置和大致区域可以是基于摄像头、超声波传感器、红外传感器以及距离传感器等采集到的数据进行单独或者综合处理后得到的。当然,用户也可以根据实际地理环境,在用于显示目标区域的用户界面上设置的,具体的,在规划巡航航线之前,所述方法还可以包括:根据接收到的用户操作事件确定出在所述目标区域内设置的障碍物位置区域,以便于在所述目标区域中规划巡航航线时绕过该障碍物区域规划巡航航线。所述用户操作事件是指针对预置的区域图形的操作,所述针对预置的区域图形的操作包括:从预置的包括多个不同的区域图形的图形集合中选择一个或者多个区域图形的选择操作、在所述目标区域中放置所述选择出的一个或多个区域图形的放置操作、对已经放置在所述目标区域中的一个或多个区域图形的位置调整操作、对已经放置在所述目标区域中的一个或多个区域图形的尺寸调整操作中的任意一个或多个。所述预置的图像区域包括圆形图形,正方形图形,矩形图形,六边形等等图形。用户可以通过长按等操作,从显示图形集合的界面中选择区域图形,可以通过拖动的方式调整在已经设置在目标区域中的区域图形的位置,通过对区域图形的一个边或角的拖动来设置该区域图形的尺寸(例如边长、圆半径等尺寸)。

本发明实施例中用户只需简单地指定一个新的角点,通过判断两条线段是否交叉来确定出该新角点的插入位置,即可重新划定需要巡航的区域,进而能够在该重新划定的区域中进行后续的航线编辑等处理,满足用户对区域巡航的航线编辑需求,实现了对巡航区域的动态配置,提高了在巡航区域中航线编辑的效率。

请参见图8,是本发明实施例的一种航线编辑装置的结构示意图,所述装置可以应用于控制设备,也可以应用于服务器。具体的,本发明实施例的所述装置包括如下模块。

获取模块801,用于获取新增加的第一角点的位置。确定模块802,用于根据初始区域上各个角点的位置和所述第一角点的位置,从所述初始区域各个角点中确定出第二角点。判断模块803,用于以所述第一角点和第二角点作为端点构成待分析线段,并从所述初始区域上由两个角点构成的边界线段中判断是否存在与所述待分析线段之间的关系满足交叉条件的线段;编辑模块804,用于在所述判断模块803的判断结果为不存在时,将所述第一角点插入到所述第二角点和第三角点之间,确定出包括所述第一角点的目标区域,并在所述目标区域中规划巡航航线;其中,所述第三角点在所述初始区域上,且所述第三角点与所述第一角点的距离仅大于所述第二角点与所述第一角点之间的距离。

具体实现中,所述确定模块802,具体用于根据初始区域上各个角点的位置和所述第一角点的位置,确定出所述初始区域各个角点与所述第一角点的距离;按照距离由小到大的优先级顺序,从初始区域的各个角点中确定出第二角点。

具体实现中,所述确定模块802,还用于若所述判断模块803的判断结果为存在与所述待分析线段之间的关系满足交叉条件的线段,则按照距离由小到大的优先级顺序,从初始区域的剩余角点中再次确定出新的角点作为第二角点;基于再次确定出的第二角点触发所述判断模块803进行相应判断。

具体实现中,可选地,该装置还包括:检测模块805,用于检测所述目标区域内存在的障碍物位置区域;根据障碍物位置区域确定多个障碍物角点;分别根据各个障碍物角点得到所述目标区域的障碍物区域,以便于在所述目标区域中规划巡航航线时绕过该障碍物区域规划巡航航线。所述初始区域为根据交互界面上设置的角点规划得到的多边形区域。

具体实现中,可选地,该装置还包括:设置模块809,用于根据接收到的用户操作事件确定出在所述目标区域内设置的障碍物位置区域,以便于在所述目标区域中规划巡航航线时绕过该障碍物区域规划巡航航线。

所述用户操作事件是指针对预置的区域图形的操作,所述针对预置的区域图形的操作包括:从预置的包括多个不同的区域图形的图形集合中选择一个或者多个区域图形的选择操作、在所述目标区域中放置所述选择出的一个或多个区域图形的放置操作、对已经放置在所述目标区域中的一个或多个区域图形的位置调整操作、对已经放置在所述目标区域中的一个或多个区域图形的尺寸调整操作中的任意一个或多个。

具体实现中,所述判断模块803,具体用于若所述待分析线段所在的直线与所述边界线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者,若所述边界线段所在的直线与所述待分析线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者,若所述待分析线段所在的直线与所述边界线段相交、且所述边界线段所在的直线与所述待分析线段相交,则确定所述待分析线段与所述边界线段之间的关系满足交叉条件;或者,若所述待分析线段所在的直线与所述边界线段相交、但所述边界线段所在的直线与所述待分析线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者,若所述边界线段所在的直线与所述待分析线段相交、但所述待分析线段所在的直线与所述边界线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件。

具体实现中,可选地,该装置还包括:处理模块806,用于根据预设的航点配置规则,在所述目标区域中自动生成航线,并得到航线数据,所述航线数据包括多个航点以及每一个航点的位置,以便于移动物体按照该航线数据移动完成对所述目标区域的巡航。

具体实现中,所述处理模块806,还用于获取所述客户端接收到的插入角点数据,所述插入角点数据是所述客户端在用户界面上接收到的新插入到所述初始区域的角点的数据;触发所述获取模块801获取新增加的第一角点的位置。

具体实现中,可选地,该装置还包括:拆分处理模块807,用于对生成的航线进行拆分,并将拆分得到的多条子航线分别发送给一个或者多个移动物体,以控制各移动物体执行相应的子航线。

具体实现中,可选地,该装置还包括:控制模块808,用于向执行对应航线的移动物体发送特定位置点信息,所述特定位置点包括:返航位置点、飞行基站位置点、障碍物位置点中的任意一个或者多个。

本发明实施例中所述装置的各个模块的具体实现可参考上述实施例中相关部分的描述,在此不赘述。

本发明实施例中用户只需简单地指定一个新的角点,通过判断两条线段是否交叉来确定出该新角点的插入位置,即可重新划定需要巡航的区域,进而能够在该重新划定的区域中进行后续的航线编辑等处理,满足用户对区域巡航的航线编辑需求,实现了对巡航区域的动态配置,提高了在巡航区域中航线编辑的效率。

再请参见图9,是本发明实施例的一种控制设备的结构示意图,本发明实施例的所述控制设备可以为个人电脑、智能手机、平板电脑,或者为服务器。具体的,所述控制设备包括:供电模块、通信模块、以及物理按键、外壳等部件。所述控制设备还包括:用户接口901、处理器902以及存储器903。

所述用户接口901,用于对针对用户产生的交互数据进行处理;包括触摸显示屏等部件。

所述存储器903可以包括易失性存储器(volatile memory);存储器903也可以包括非易失性存储器(non-volatile memory);存储器903还可以包括上述种类的存储器的组合。所述处理器902可以是中央处理器(central processing unit,CPU)。所述处理器902还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA)或其任意组合。

可选地,所述存储器903还用于存储程序指令。所述处理器902可以调用所述程序指令,实现如本申请图6和5实施例中所示的航线编辑方法。

具体地,所述处理器902调用所述程序指令,用于执行如下步骤:

在新增加第一角点时,根据初始区域上各个角点的位置和所述第一角点的位置,从所述初始区域各个角点中确定出第二角点;

以所述第一角点和第二角点作为端点构成待分析线段,并从所述初始区域上由两个角点构成的边界线段中判断是否存在与所述待分析线段之间的关系满足交叉条件的线段;

若不存在,则将所述第一角点插入到所述第二角点和第三角点之间,确定出包括所述第一角点的目标区域;所述第三角点在所述初始区域上,且所述第三角点与所述第一角点的距离仅大于所述第二角点与所述第一角点之间的距离;

在所述目标区域中规划巡航航线。

具体地,可选地,所述处理器902调用所述程序指令用于执行所述根据初始区域上各个角点的位置和所述第一角点的位置,从所述初始区域各个角点中确定出第二角点时,具体用于执行如下步骤:

根据初始区域上各个角点的位置和所述第一角点的位置,确定出所述初始区域各个角点与所述第一角点的距离;

按照距离由小到大的优先级顺序,从初始区域的各个角点中确定出第二角点。

具体地,可选地,所述处理器902调用所述程序指令还执行如下步骤:

若存在与所述待分析线段之间的关系满足交叉条件的线段,则按照距离由小到大的优先级顺序,从初始区域的剩余角点中再次确定出新的角点作为第二角点;

基于再次确定出的第二角点触发执行所述以所述第一角点和第二角点作为端点构成待分析线段,并从所述初始区域上由两个角点构成的边界线段中判断是否存在与所述待分析线段之间的关系满足交叉条件的线段。

具体地,可选地,所述处理器902调用所述程序指令还用于执行如下步骤:

检测所述目标区域内存在的障碍物位置区域;

根据障碍物位置区域确定多个障碍物角点;

分别根据各个障碍物角点得到所述目标区域的障碍物区域,以便于在所述目标区域中规划巡航航线时绕过该障碍物区域规划巡航航线。

其中,所述初始区域为根据交互界面上设置的角点规划得到的多边形区域。

具体地,可选地,所述处理器902调用所述程序指令还用于执行如下步骤:

根据接收到的用户操作事件确定出在所述目标区域内设置的障碍物位置区域,以便于在所述目标区域中规划巡航航线时绕过该障碍物区域规划巡航航线。其中,所述用户操作事件是指针对预置的区域图形的操作,所述针对预置的区域图形的操作包括:从预置的包括多个不同的区域图形的图形集合中选择一个或者多个区域图形的选择操作、在所述目标区域中放置所述选择出的一个或多个区域图形的放置操作、对已经放置在所述目标区域中的一个或多个区域图形的位置调整操作、对已经放置在所述目标区域中的一个或多个区域图形的尺寸调整操作中的任意一个或多个。

具体地,可选地,所述初始区域上由两个角点构成的线段为边界线段,所述交叉条件中要求两个线段之间交叉但不包括端点相交,所述处理器902调用所述程序指令在用于执行所述判断所述待分析线段与边界线段之间的关系是否满足交叉条件时,具体用于执行如下步骤:

若所述待分析线段所在的直线与所述边界线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者

若所述边界线段所在的直线与所述待分析线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者

若所述待分析线段所在的直线与所述边界线段相交、且所述边界线段所在的直线与所述待分析线段相交,则确定所述待分析线段与所述边界线段之间的关系满足交叉条件;或者

若所述待分析线段所在的直线与所述边界线段相交、但所述边界线段所在的直线与所述待分析线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件;或者

若所述边界线段所在的直线与所述待分析线段相交、但所述待分析线段所在的直线与所述边界线段不相交,则确定所述待分析线段与所述边界线段之间的关系不满足交叉条件。

具体地,可选地,所述处理器902调用所述程序指令还用于执行如下步骤:

根据预设的航点配置规则,在所述目标区域中自动生成航线,并得到航线数据,所述航线数据包括多个航点以及每一个航点的位置,以便于移动物体按照该航线数据移动完成对所述目标区域的巡航。

具体地,可选地,所述处理器902调用所述程序指令还用于执行如下步骤:

获取所述客户端接收到的插入角点数据,所述插入角点数据是所述客户端在用户界面上接收到的新插入到所述初始区域的角点的数据;

触发执行所述获取新增加的第一角点的位置。

具体地,可选地,所述处理器902调用所述程序指令还用于执行如下步骤:

对生成的航线进行拆分,并将拆分得到的多条子航线分别发送给一个或者多个移动物体,以控制各移动物体执行相应的子航线。

具体地,可选地,所述处理器902调用所述程序指令还用于执行如下步骤:

向执行对应航线的移动物体发送特定位置点信息,所述特定位置点包括:返航位置点、飞行基站位置点、障碍物位置点中的任意一个或者多个。

本发明实施例的所述处理器902的具体实现可参考上述各个实施例中相关内容的描述,在此不赘述。

本发明实施例中用户只需简单地指定一个新的角点,通过判断两条线段是否交叉来确定出该新角点的插入位置,即可重新划定需要巡航的区域,进而能够在该重新划定的区域中进行后续的航线编辑等处理,满足用户对区域巡航的航线编辑需求,实现了对巡航区域的动态配置,提高了在巡航区域中航线编辑的效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

相关技术
  • 一种航线编辑方法、装置及控制设备
  • 一种航线编辑方法、装置及控制设备
技术分类

06120112458047