规划飞行设备的飞行路径的方法、装置及存储介质
技术领域
本发明涉及飞行设备技术领域,特别涉及一种规划飞行设备的飞行路径的方法、装置及计算机可读存储介质。
背景技术
近些年,随着无人载物机、无人摄像机等飞行设备技术的迅速发展,诸如此类的飞行设备在非军事方面的应用越来越广泛。例如,利用无人载物机可以进行地理测绘、农药喷洒,除此之外,在城市中,还可以利用无人摄像机进行交通路况的监测等。当利用飞行设备执行任务时,飞行设备可以根据飞行起点和飞行终点进行路径规划,从而按照规划的路径飞行。
相关技术中,当对飞行设备的飞行路径进行规划时,可以基于飞行设备的飞行起点和飞行终点,从地图中获取从该飞行起点到飞行终点之间的多条可通行的道路。之后,可以从该多条道路中选取一条道路作为飞行设备的飞行路径。
然而,通过上述方法从地图中获取的多条可通行的道路通常均是指对于地面行驶的车辆而言的可通行道路,由于地面行驶的车辆和空中飞行的飞行设备的运动特点并不相同,因此,适用于地面行驶的车辆的可通行道路不一定适用于飞行设备,也就是说,通过上述方法确定的飞行路径对于飞行设备而言缺乏适用性。
发明内容
为了解决现有技术中直接从地图中获取的飞行路径缺乏适用性的问题,本发明实施例提供了一种规划飞行设备的飞行路径的方法、装置及计算机可读存储介质。所述技术方案如下:
第一方面,提供了一种规划飞行设备的飞行路径的方法,所述方法包括:
确定从飞行设备的飞行起点到飞行终点的目标路径;
获取所述目标路径的道路矢量和道路属性,每个道路矢量对应至少一个道路属性;
基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化;
基于优化后的道路矢量和道路矢量的平面高度,确定所述飞行设备从所述飞行起点到所述飞行终点的飞行路径信息。
可选地,所述确定从飞行设备的飞行起点到飞行终点的目标路径,包括:
调用电子地图;
从所述电子地图中获取从所述飞行起点到所述飞行终点的多条路径以及每条路径所对应的路径距离,所述多条路径中的每条路径均包括多个道路矢量;
将所述多条路径中对应的路径距离最短的路径确定为所述目标路径。
可选地,所述确定从飞行设备的飞行起点到飞行终点的目标道路之前,所述方法还包括:
将电子地图中用于指示道路矢量为单行道路的道路属性进行删除,或者,将电子地图中用于指示道路矢量为单行道路的道路属性修改为用于指示道路矢量为双向道路的道路属性;
或者,
获取电子地图中覆盖所述飞行起点和所述飞行终点的预设区域内的道路矢量,将获取的道路矢量中用于指示相应的道路矢量为单行道路的道路属性进行删除,或者,将获取的道路矢量中用于指示相应的道路矢量为单行道路的道路属性修改为用于指示相应的道路矢量为双向道路的道路属性。
可选地,所述基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化之前,还包括:
判断所述目标路径的道路属性中是否存在用于指示所述道路矢量为隧道的道路属性;
若存在用于指示所述道路矢量为隧道的道路属性,则确定所述目标路径为禁止飞行路径;
所述基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化是指在不存在用于指示所述道路矢量为隧道的道路属性时,基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化。
可选地,所述基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化,包括:
按照从所述飞行起点到所述飞行终点的顺序,基于每个道路矢量的道路属性,对所述每个道路矢量和所述每个道路矢量的平面高度逐一进行优化,直到优化完所述多个路径矢量为止。
可选地,所述基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化,包括:
对于所述目标路径的道路矢量中的任一道路矢量A,判断所述道路矢量A的道路属性中是否包括第一属性,所述第一属性用于指示所述道路矢量A为高架或立交桥;
若包括所述第一属性,则获取所述高架或所述立交桥的高度,并基于所述高架或所述立交桥的高度设置所述道路矢量A的平面高度;
判断所述道路矢量A中是否存在环绕路径;
若存在环绕路径,则对所述道路矢量A中的环绕路径进行优化。
可选地,所述对所述道路矢量A中的环绕路径进行优化,包括:
将与所述道路矢量A相邻的上一道路矢量从所述上一道路矢量的终点起进行延长,得到第一延长线;
将与所述道路矢量A相邻的下一道路矢量从所述下一道路矢量的起点起反向延长,得到第二延长线;
确定所述第一延长线和所述第二延长线的交点;
将所述上一道路矢量的终点与所述交点之间的线段以及所述交点与所述下一道路矢量的起点之间的线段确定为优化后的道路矢量A。
可选地,所述基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化,包括:
对于所述目标路径的道路矢量中的任一道路矢量A,判断所述道路矢量A的道路属性中是否包括第二属性,所述第二属性用于指示所述道路矢量A为圆盘路口;
若包括所述第二属性,则将所述路径矢量A的平面高度设置为预设高度,并对所述道路矢量A中的环绕路径进行优化。
可选地,所述对所述道路矢量A中的环绕路径进行优化,包括:
将与所述道路矢量A相邻的上一道路矢量从所述上一道路矢量的终点起进行延长,得到第一延长线;
将与所述道路矢量A相邻的下一道路矢量从所述下一道路矢量的起点起反向延长,得到第二延长线;
确定所述第一延长线和所述第二延长线的交点;
连接所述交点与所述上一道路矢量的终点,得到第一线段,连接所述交点与所述下一道路矢量的起点,得到第二线段;
基于所述道路矢量A的道路属性中用于指示车道数量的道路属性,确定所述道路矢量A所对应的道路的左边界和右边界,判断所述交点、所述第一线段和所述第二线段是否均位于所述道路矢量A所对应的道路的左边界和右边界之间;
若所述交点、所述第一线段和所述第二线段均位于所述道路矢量A所对应的道路的左边界和右边界之间,则将所述第一线段和所述第二线段构成的折线确定为优化后的道路矢量A。
可选地,所述对所述道路矢量A中的环绕路径进行优化,包括:
若所述环绕路径的路径距离大于反向环绕路径的路径距离,则用所述反向环绕路径代替所述环绕路径,所述反向环绕路径为所述道路矢量A中与所述环绕路径的起点和终点相同,且环绕方向相反的路径。
可选地,所述基于优化后的道路矢量和道路矢量的平面高度,确定所述飞行设备从所述飞行起点到所述飞行终点的飞行路径信息,包括:
将所述优化后的道路矢量依次进行连接,得到飞行路径;
将所述飞行路径和每个道路矢量的平面高度确定为所述飞行设备从所述飞行起点和所述飞行终点的飞行路径信息。
第二方面,提供了一种规划飞行设备的飞行路径的装置,所述装置包括:
第一确定模块,用于确定从飞行设备的飞行起点到飞行终点的目标路径;
获取模块,用于获取所述目标路径的道路矢量和道路属性,每个道路矢量对应至少一个道路属性;
优化模块,用于基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化;
规划模块,用于基于优化后的道路矢量和道路矢量的平面高度,确定所述飞行设备从所述飞行起点到所述飞行终点的飞行路径信息。
可选地,所述第一确定模块包括:
调用子模块,用于调用电子地图;
获取子模块,用于从所述电子地图中获取从所述飞行起点到所述飞行终点的多条路径以及每条路径所对应的路径距离,所述多条路径中的每条路径均包括多个道路矢量;
第一确定子模块,用于将所述多条路径中对应的路径距离最短的路径确定为所述目标路径。
可选地,所述装置还包括:
处理模块,用于将电子地图中用于指示道路矢量为单行道路的道路属性进行删除,或者,将电子地图中用于指示道路矢量为单行道路的道路属性修改为用于指示道路矢量为双向道路的道路属性;
或者,
所述处理模块用于获取电子地图中覆盖所述飞行起点和所述飞行终点的预设区域内的道路矢量,将获取的道路矢量中用于指示相应的道路矢量为单行道路的道路属性进行删除,或者,将获取的道路矢量中用于指示相应的道路矢量为单行道路的道路属性修改为用于指示相应的道路矢量为双向道路的道路属性。
可选地,所述装置还包括:
判断模块,用于判断所述目标路径的道路属性中是否存在用于指示所述道路矢量为隧道的道路属性;
第二确定模块,用于若存在用于指示所述道路矢量为隧道的道路属性,则确定所述目标路径为禁止飞行路径;
所述优化模块,用于在不存在用于指示所述道路矢量为隧道的道路属性时,基于所述道路属性,对所述道路矢量和所述道路矢量的平面高度进行优化。
可选地,所述优化模块用于:
按照从所述飞行起点到所述飞行终点的顺序,基于所述每个道路矢量的道路径属性,对所述每个道路矢量和所述每个道路矢量的平面高度逐一进行优化,直到优化完所述目标路径的道路矢量和道路矢量的平面高度为止。
可选地,所述优化模块包括:
第一判断子模块,用于对于所述目标路径的道路矢量中的任一道路矢量A,判断所述道路矢量A的道路属性中是否第一属性,所述第一属性用于指示所述道路矢量A为高架或立交桥;
设置子模块,用于若包括所述第一属性,则获取所述高架或所述立交桥的高度,并基于所述高架或所述立交桥的高度设置所述道路矢量A的平面高度;
第二判断子模块,用于判断所述道路矢量A中是否存在环绕路径;
优化子模块,用于若存在环绕路径,则对所述道路矢量A中的环绕路径进行优化。
可选地,所述优化子模块具体用于:
将与所述道路矢量A相邻的上一道路矢量从所述上一道路矢量的终点起进行延长,得到第一延长线;
将与所述道路矢量A相邻的下一道路矢量从所述下一道路矢量的起点起反向延长,得到第二延长线;
确定所述第一延长线和所述第二延长线的交点;
将所述上一道路矢量的终点与所述交点之间的线段以及所述交点与所述下一道路矢量的起点之间的线段确定为优化后的道路矢量A。
可选地,所述优化模块包括:
判断子模块,用于对于所述目标路径的道路矢量中的任一道路矢量A,判断所述道路矢量A的道路属性中是否包括第二属性,所述第二属性用于指示所述道路矢量A为圆盘路口;
设置子模块,用于若包括所述第二属性,则将所述路径矢量A的平面高度设置为预设高度,并对所述道路矢量A中的环绕路径进行优化。
可选地,所述优化子模块具体用于:
将与所述道路矢量A相邻的上一道路矢量从所述上一道路矢量的终点起进行延长,得到第一延长线;
将与所述道路矢量A相邻的下一道路矢量从所述下一道路矢量的起点起反向延长,得到第二延长线;
确定所述第一延长线和所述第二延长线的交点;
连接所述交点与所述上一道路矢量的终点,得到第一线段,连接所述交点与所述下一道路矢量的起点,得到第二线段;
基于所述道路矢量A的道路属性中用于指示车道数量的道路属性,确定所述道路矢量A所对应的道路的左边界和右边界,判断所述交点、所述第一线段和所述第二线段是否均位于所述道路矢量A所对应的道路的左边界和右边界之间;
若所述交点、所述第一线段和所述第二线段均位于所述道路矢量A所对应的道路的左边界和右边界之间,则将所述第一线段和所述第二线段构成的折线确定为优化后的道路矢量A。
可选地,所述优化子模块具体用于:
若所述环绕路径的路径距离大于反向环绕路径的路径距离,则用所述反向环绕路径代替所述环绕路径,所述反向环绕路径为所述道路矢量A中与所述环绕路径的起点和终点相同,且环绕方向相反的路径。
可选地,所述规划模块包括:
连接子模块,用于将优化后的道路矢量依次进行连接,得到飞行路径;
第二确定子模块,用于将所述飞行路径和每个道路矢量的平面高度确定为所述飞行设备从所述飞行起点和所述飞行终点的飞行路径信息。
第三方面,提供了一种规划飞行设备的飞行路径的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器执行所述存储器中的可执行指令来执行上述第一方面所述的任一项方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的任一项方法。
本发明实施例提供的技术方案带来的有益效果是:确定从飞行设备的飞行起点到飞行终点的目标路径,获取该目标路径的道路矢量和道路属性,每个道路矢量对应至少一个道路属性,基于该道路属性,对道路矢量和道路矢量的平面高度进行优化,并基于优化后的道路矢量和道路矢量的平面高度,确定飞行设备从飞行起点和飞行终点的飞行路径信息。由此可见,在本发明实施例中,可以根据目标路径包括的多个道路矢量中每个道路矢量对应的至少一个道路属性,对每个道路矢量以及每个道路矢量的平面高度的进行优化,这样,根据优化后的道路矢量和道路矢量的平面高度规划得到的飞行路径将更适于飞行设备飞行,提高了规划的飞行路径的适用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例提供的一种规划飞行设备的飞行路径的***架构图;
图1B是本发明实施例提供的一种智能设备的结构示意图;
图2是本发明实施例提供的一种规划飞行设备的飞行路径的方法流程图;
图3A是本发明实施例提供的一种规划飞行设备的飞行路径的方法流程图;
图3B是本发明实施例提供的一种对高架或立交桥中的环绕路径进行优化的示意图;
图3C是本发明实施例提供的一种对圆盘路口中的环绕路径进行优化的示意图;
图3D是本发明实施例提供的另一种对圆盘路口中的环绕路径进行优化的示意图;
图4A是本发明实施例提供的一种规划飞行设备的飞行路径的装置的结构示意图;
图4B是本发明实施例提供的一种第一确定模块的结构示意图;
图4C是本发明实施例提供的一种规划飞行设备的飞行路径的装置的结构示意图;
图4D是本发明实施例提供的一种优化模块的结构示意图;
图4E是本发明实施例提供的一种规划模块的结构示意图;
图5是本发明实施例提供的一种智能设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本公开实施例进行详细的解释说明之前,先对本公开实施例涉及的应用场景予以介绍。
当前,诸如无人载物机、无人摄像机等飞行设备被广泛的应用于各行各业中。例如,利用无人载物机可以对指定路线上的农作物进行农药喷洒,或者,可以将货物从预设起点运输至预设终点。再例如,利用无人摄像机,可以对指定区域进行图像采集,从而对该指定区域内的交通路况进行检测等等。其中,当通过诸如此类的飞行设备在城市中执行任务时,由于城市中的建筑物高度普遍较高,尤其是随着城市化的不断发展,超过100米的建筑也越来越多,而根据空管要求,诸如此类的飞行设备的飞行高度一般要低于120米,因此,当根据飞行设备的飞行起点和飞行终点为该飞行设备规划路径时,需要为飞行设备规划一条既能规避高层建筑同时又能保证飞行设备飞行高度不致过高且适于飞行设备进行飞行的飞行路径。本发明实施例提供的规划飞行设备的飞行路径的方法即可以用于上述场景中,以根据飞行起点和飞行终点进行规划,从而得到适于飞行设备在复杂的城市场景中进行飞行的飞行路径。
接下来对本发明实施例涉及的***架构进行介绍。
图1A是本发明实施例提供的一种规划飞行设备的飞行路径的方法的***架构图,如图1A所示,该***中包括飞行设备001和智能设备002。
在一种可能的实现方式中,飞行设备001可以通过无线通信网络与智能设备002进行通信。智能设备002可以根据预先指定的飞行起点和飞行终点对飞行设备的飞行路径进行规划,之后,智能设备002可以将规划好的飞行路径通过该无线通信网络发送至飞行设备001。飞行设备001在接收到该智能设备002发送的飞行路径之后,可以按照该飞行路径进行飞行。
在另一种可能的实现方式中,智能设备002可以集成或搭载在飞行设备001中。也即是,智能设备002可以为飞行设备001中用于控制该飞行设备001的核心控制设备。在这种情况下,该智能设备002可以作为飞行设备101的组成部分。
需要说明的是,在本发明实施例中,飞行设备001可以为诸如固定翼无人机、伞翼无人机、无人直升机、扑翼无人机等搭载有各种任务载荷的无人机,且该飞行设备可以只搭载有单种任务载荷,也可以同时搭载有多种任务载荷,例如,该飞行设备可以为搭载有一个或两个任务载荷的多旋翼无人机。另外,智能设备002可以为工控机、工业电脑等各种可以进行复杂的数据处理的计算机设备。
基于图1A所示的***架构可知,智能设备002可以对飞行设备001的飞行路径进行规划,基于此,如图1B所示,本发明实施例还提供了一种智能设备的结构示意图。图1A中所示的智能设备002的功能可以通过图1B所示的智能设备来完成。如图1B所示,该智能设备包括任务规划模块101、电子地图API(Application Programming Interface,应用程序编程接口)调用模块102以及特殊特征处理模块103。可选地,当该智能设备还用于控制飞行设备时,该智能设备中还包括路径执行模块104。
其中,任务规划模块101是飞行设备的总调度模块,可以为飞行设备分配飞行任务,确定飞行起点和飞行终点。电子地图API调用模块102用于调用电子地图,并根据任务规划模块101确定的飞行起点和飞行终点从电子地图中确定目标路径,获取目标路径包括的多个道路矢量和多个道路属性。特殊特征处理模块103可以根据电子地图API调用模块102获取的目标路径的道路属性对目标路径中的道路矢量以及道路矢量的平面高度进行优化,从而得到优化后的道路矢量和道路矢量的平面高度,进而得到从飞行起点到飞行终点适用于飞行设备的飞行路径。
可选地,当智能设备还可以用于控制飞行设备飞行时,该智能设备中还包括路径执行模块104。该路径执行模块104用于按照特殊特征处理模块103规划得到的飞行路径控制飞行设备进行飞行。
接下来对本发明实施例提供的规划飞行设备的飞行路径的方法进行介绍。
图2是本发明实施例提供的一种规划飞行设备的飞行路径的方法的流程图。该方法可以应用于图1A和图1B所示的智能设备中,该智能设备可以是搭载或集成在飞行设备中的智能设备,也可以是飞行设备之外的专门用于对该飞行设备进行飞行路径规划的设备,例如,该智能设备可以为工业电脑、工控机、移动终端或者是其他计算机设备。如图2所示,该方法包括以下步骤:
步骤201:确定从飞行设备的飞行起点到飞行终点的目标路径。
其中,从飞行起点到飞行终点可能存在多条路径,该目标路径可以为多条路径中的任一路径,也可以为按照一定原则从该多条路径中选择的一条路径,本发明实施例对此不做具体限定。
步骤202:获取目标路径包括的道路矢量和道路属性,每个道路矢量对应至少一个道路属性。
其中,该目标路径中包括多个道路矢量以及多个道路属性,多个道路属性与飞行设备的运动特点相关,每个道路矢量对应至少一个道路属性。
需要说明的是,飞行设备的飞行起点和飞行终点是预先指定的。另外,道路属性是用于描述道路矢量的道路特征的信息,例如,该道路属性可以用于指示相应地道路矢量为隧道、圆盘路口、高架、立交桥等等。
步骤203:基于道路属性,对道路矢量和道路矢量的平面高度进行优化。
步骤204:基于优化后的道路矢量和道路矢量的平面高度,确定飞行设备从飞行起点到飞行终点的飞行路径信息。
在本发明实施例中,智能设备可以确定从飞行设备的飞行起点到飞行终点的目标路径,并获取该目标路径的道路矢量和道路属性,每个道路矢量对应至少一个道路属性,基于该道路属性,对该道路矢量和道路矢量的平面高度进行优化,并基于优化后的道路矢量和道路矢量的平面高度,确定飞行设备从飞行起点和飞行终点的飞行路径信息。由此可见,在本发明实施例中,可以根据目标路径包括的多个道路矢量中每个道路矢量对应的至少一个道路属性,对每个道路矢量和每个道路矢量的平面高度进行优化,这样,根据优化后的道路矢量和道路矢量的平面高度规划得到的飞行路径将更适于飞行设备飞行,提高了规划的飞行路径的适用性。
图3A是本发明实施例提供的一种规划飞行设备的飞行路径的方法的流程图。该方法可以应用于图1A和图1B所示的智能设备中,该智能设备可以是搭载或集成在飞行设备中的智能设备,也可以是飞行设备之外的专门用于对该飞行设备进行飞行路径规划的设备,例如,该智能设备可以为工业电脑、工控机、移动终端或者是其他计算机设备。如图3A所示,该方法包括以下步骤:
步骤301:对电子地图中道路矢量的道路属性进行预处理。
其中,智能设备可以调用电子地图,并对电子地图中道路矢量的道路属性进行预处理。
需要说明的是,由于电子地图是为地面行驶车辆提供行驶路径的,而对于地面行驶车辆而言,组成行驶路径的道路矢量通常需要区分该道路矢量是单行道路还是双行道路,在单行道路上,地面行驶车辆只能按照指定的行驶方向进行行驶,而不能逆向行驶,在这种情况下,当为地面行驶车辆规划行驶路径时,在遇到与车辆行驶方向相反的单行道路时,往往需要考虑绕过该单行道路。但是,对于飞行设备而言,当采用电子地图中的道路矢量进行飞行路径规划时,即使单行道路指定的行驶方向与飞行设备的飞行方向反向,飞行设备也可以直接飞过,而无需绕路,也即,飞行设备并不会受到该单行道路所指定的行驶方向的约束,换句话说,电子地图中用于指示道路矢量是否为单行道路的道路属性并不适用于对飞行设备的飞行路径规划。基于此,在采用电子地图中的道路矢量进行飞行路径规划之前,为了排除用于指示道路矢量为单行道路的道路属性对飞行路径规划的干扰,首先可以对电子地图中用于指示道路矢量为单行道路的道路属性进行预处理。
具体的,在一种可能的实现方式中,智能设备可以将电子地图中用于指示道路矢量为单行道路的道路属性均进行删除,或者,将电子地图中用于指示道路矢量为单行道路的道路属性全部修改为用于指示道路矢量为双行道路的道路属性。
在另一种可能的实现方式中,为了减少预处理的计算量,智能设备可以只对电子地图中可能用于飞行路径规划的道路矢量的道路属性进行预处理。智能设备可以获取电子地图中覆盖飞行起点和飞行终点的预设区域内的道路矢量,将获取的道路矢量中用于指示相应的道路矢量为单行道路的道路属性进行删除,或者,将获取的道路矢量中用于指示相应的道路矢量为单行道路的道路属性修改为用于指示相应的道路矢量为双向道路的道路属性。
其中,预设区域可以是以飞行设备的飞行起点和飞行终点为基础扩展得到的区域,该预设区域内尽可能多的包括了可能会用于飞行路径规划的道路矢量。具体的,该预设区域可以是一个矩形区域,该矩形区域的两条边可以分别与飞行起点和飞行终点的连线平行,且长度大于飞行起点与飞行终点的连线,并且,该飞行起点和飞行终端均位于该矩形区域内。
需要说明的是,在本发明实施例中,飞行设备的飞行起点和飞行终点是预先设定好的,其中,该飞行起点可以是任务起点,而飞行终点则是任务终点。例如,当利用无人载物机进行货物运输时,该飞行起点是任务起点,也即搬运货物的起点,而飞行终点则是任务终点,也即货物运输的终点。当然,该飞行起点也可以与飞行设备所要执行的任务不相关。例如,该飞行起点可以是飞行设备当前所在的位置,而飞行终点则是该飞行设备需要执行任务的地点。
步骤302:确定从飞行设备的飞行起点到飞行终点的目标路径。
在已知飞行起点和飞行终点的情况下,智能设备可以获取从该飞行起点到飞行终点的目标路径。
其中,智能设备可以调用经过预处理的电子地图,从电子地图中获取从飞行起点到飞行终点的多条路径以及每条路径所对应的路径距离;之后,将多条路径中对应的路径距离最短的路径确定为目标路径。
需要说明的是,电子地图中的路径是已规划好的用于地面车辆行驶的可通行路径,也就是说,电子地图中的可通行路径本身就是规避了诸如高层建筑物等各类障碍物的路径,这些路径的上空通常均为净空区域,飞行设备在这些路径的上空进行飞行可以有效降低与障碍物发生碰撞的风险,并且,相较于飞行设备在建筑物边缘飞行,可以避免由于建筑物影响飞行设备的卫星定位精度所导致的飞行设备位置漂移,进而降低与高层建筑物发生碰撞的风险。基于此,智能设备可以利用电子地图中已知的路径来规划飞行设备的飞行路径。另外,当前,各类电子地图中均提供有API调用接口,基于此,智能设备可以通过API调用接口调用电子地图,并在电子地图中输入飞行起点和飞行终点,从而获取从飞行起点到飞行终点的多条路径。
实际应用中,从飞行起点到飞行终点往往不止包括一条路径,智能设备可以从该多条路径中随机选择一条路径作为目标路径。当然,由于不同路径的路径距离不同,因此,为了使得飞行设备的飞行路径尽可能短,在获取到从飞行起点到飞行终点的多条路径时,智能设备还可以同时获取每条路径对应的路径距离,之后,智能设备可以从该多条路径中选取对应的路径距离最短的一条路径作为目标路径。
可选地,在某些情况下,用户可能想要飞行设备在从飞行起点飞到飞行终点的过程中经过某个特定的目标点,例如,用户可能想要飞行设备在从A点飞到B点的过程中,经过C点以拍摄一张C点的图像。在这种情况下,智能设备还可以接收用户输入的目标点,并从该多条路径中选取经过该目标点的一条路径作为目标路径。
步骤303:获取目标路径包括的道路矢量和道路属性,每个道路矢量对应至少一个道路属性。
由于电子地图输出的道路均是通过道路矢量来表达的,因此,智能设备确定的目标路径将由多个道路矢量连接而成,并且每个道路矢量可以对应有至少一个道路属性。基于此,智能设备在确定目标路径之后,可以获取该目标路径包括的道路矢量和道路属性。
其中,道路属性是用于描述道路矢量的道路特征的信息,例如,该道路属性可以包括隧道、圆盘路口、高架、立交桥等等。并且,由于本发明实施例中道路属性用于对道路矢量进行优化,以得到适用于飞行设备的飞行路径,因此,该道路属性是指与飞行设备的飞行特点相关的道路属性,也即是,该道路属性是能够影响到飞行设备的飞行路径的属性,或者说,该道路属性是造成飞行设备与地面行驶的车辆的运动路径不同的属性。
步骤304:基于道路属性,对道路矢量和道路矢量的平面高度进行优化。
当确定目标路径之后,智能设备可以基于目标路径包括的多个道路属性对多个道路矢量进行优化。
由步骤302中的描述可知,该目标路径是从电子地图中获取的用于地面行驶的车辆的路径。在实际应用中,某些特殊的路径可能仅仅是对于地面行驶车辆可通行,但对于飞行设备则并不能通行,例如隧道,对于地面行驶的车辆而言,可以从隧道中穿行。而对于飞行设备,由于隧道内的高度较低,因此无法在隧道中穿行,并且,考虑到隧道通常均是在山体中穿凿而成,如果飞行设备从山体上方飞行,可能会由于山体高度太高而导致飞行设备飞行高度过高,不利于任务的执行。基于此,智能设备在对该目标路径进行优化之前,可以先判断该目标路径包括的多个道路属性中是否存在用于指示道路矢量为隧道的道路属性,以此来判断该目标路径对于该飞行设备是否可以通行。当智能设备确定多个道路属性中存在用于指示道路矢量为隧道的道路属性时,则将该目标路径确定为禁止飞行路径,此时,智能设备则不再对该目标路径进行优化,而是可以在从飞行起点到飞行终点的多条路径中重新选择一条目标路径。当智能设备确定多个道路属性中不存在用于指示道路矢量为隧道的道路属性时,则可以基于多个道路属性,对目标路径包括的多个道路矢量进行优化。
需要说明的是,一方面,虽然从电子地图中得到的不包括隧道的目标路径的上空通常均为净空区域,可以使得飞行设备有效的规避高层建筑,但是,由于电子地图中的路径是为地面行驶车辆规划的道路,因此,这些路径还规定了车辆行驶的方向,在一些特殊路段,车辆还需要按照环绕路径进行行驶,而对于空中飞行的飞行设备,则完全无需按照环绕路径进行行驶,也即是,对于飞行设备而言,如果直接将电子地图中获取的路径作为飞行路径,可能会导致不必要的飞行距离的增加,基于此,智能设备在确定目标路径之后,还需要基于组成目标道路的多个道路矢量中每个道路矢量对应的至少一个道路属性,对相应地道路矢量和道路矢量进行优化。
另一方面,即使目标路径的上方为净空区域,但是,在实际应用中,飞行设备在空中飞行时仍需要考虑飞行高度。其中,由于空管要求,飞行设备的飞行高度一般不允许超过120米。另外,当飞行设备的飞行高度过高时,可能不利于任务的执行。例如,用于拍摄图像的无人摄像机,当飞行高度过高时,可能无法对地面图像进行清晰的拍摄。当飞行设备的飞行高度过低时,可能会增加飞行设备与城市中的某些具有一定高度的设施的碰撞风险。例如,城市中存在大量的路牌和路灯,如果飞行设备的飞行高度过低,则极有可能与路牌或路灯发生碰撞。基于此,在对目标路径的道路矢量进行优化的同时,还需要对每个道路矢量的平面高度进行设置,从而得到飞行设备在优化后的每个道路矢量上对应的飞行高度。
其中,由于目标路径是由多个道路矢量首尾相连组成的,因此,智能设备可以按照从飞行起点到飞行终点的顺序,依次对每个道路矢量进行优化,直到优化完该多个道路矢量为止。其中,根据每个道路矢量所对应的至少一个道路属性,智能设备可以针对性的对每个道路矢量和道路矢量的平面高度进行优化。下面将主要介绍几种典型道路矢量和道路矢量的平面高度的优化方法。
(一)对于目标路径的道路矢量中的任一道路矢量A,判断该道路矢量A的道路属性中是否包括第一属性,该第一属性用于指示道路矢量A为高架或立交桥;若包括第一属性,则获取高架或立交桥的高度,并基于高架或立交桥的高度设置道路矢量A的平面高度;判断道路矢量A中是否存在环绕路径,若存在环绕路径时,则对道路矢量A中的环绕路径进行优化。
由于目标路径是电子地图为地面行驶车辆规划的路径,因此,该目标路径中就有可能存在高架或立交桥。
一方面,高架或立交桥的高度会高出地面一定高度,该高度可能会影响到飞行设备的飞行高度。基于此,为了飞行设备能够顺利飞过高架或立交桥,智能设备在检测到该道路矢量A的道路属性中包括用于指示道路矢量A为高架或立交桥的第一属性时,可以获取高架或立交桥的高度,并基于高架或立交桥的高度设置该道路矢量A的平面高度。
其中,智能设备可以直接设置道路矢量A的平面高度大于高架或立交桥的高度。
或者,智能设备还可以通过以下方式来设置道路矢量A的平面高度:通常,电子地图输出的道路矢量的道路属性中还可以包括该道路矢量所在的地面的海拔高度。基于此,智能设备可以根据该道路矢量A所在的地面的海拔高度来设置该道路矢量A的平面高度。具体的,智能设备可以将该道路矢量A所在地面的海拔高度加上高架或立交桥的高度,从而得到该道路矢量A的平面高度。
当采用该种方式确定每个道路矢量的平面高度,以得到飞行设备的飞行高度之后,飞行设备按照该飞行高度进行飞行时,随着地势的起伏,飞行设备可以实时的调整距离地面的高度。
另一方面,除了设置该道路矢量A的平面高度之外,若该道路矢量A为高架或立交,由于目标路径是电子地图为地面行驶车辆规划的路径,因此,当车辆通过高架或立交桥时,可能需要从某个车道驶入该路段,然后按照环绕路径进行行驶直到驶出该路段为止。而飞行设备在空中飞行时,并不需要按照环绕路径进行飞行。基于此,智能设备在检测到该道路矢量A的道路属性中包括高架或立交桥时,还可以进一步检测该道路矢量A中是否存在环绕路径,如果存在环绕路径,则可以进一步地对该环绕路径进行优化。
具体的,在本发明实施例中,智能设备可以将与该道路矢量A相邻的上一道路矢量从该上一道路矢量的终点起进行延长,得到第一延长线;将与道路矢量A相邻的下一道路矢量从该下一道路矢量的起点起反向延长,得到第二延长线;确定第一延长线和第二延长线的交点;将上一道路矢量的终点与该交点之间的线段以及该交点与下一道路矢量的起点之间的线段确定为优化后的道路矢量A。
其中,按照从飞行起点到飞行终点的顺序,在紧挨着该道路矢量A之后的道路矢量即为与该道路矢量A相邻的下一道路矢量,而在紧挨着该道路数量A之前的道路矢量即为与该道路矢量A相邻的上一道路矢量。并且,通常,表征一条道路的道路矢量往往是该条道路的中心线。智能设备可以将该上一道路矢量从终点处开始向着道路矢量A的方向进行延长,得到第一延长线,而将下一道路矢量A从起点处开始也向着道路矢量A的方向进行延长,得到第二延长线,两个延长线相交于一点,这样,将上一道路矢量的终点、两条延长线的交点以及下一道路矢量的起点这三个点连接起来所形成的折线段即为优化后的道路矢量A。
图3B是本发明实施例提供的一种对道路矢量A中的环绕路径进行优化的示意图。如图3B所示,假设与道路矢量A相邻的上一道路矢量的终点为O1,与道路矢量A相邻的下一道路矢量的起点为O2。将上一道路矢量从O1开始延长,得到第一延长线,将下一道路矢量从O2开始反向延长,得到第二延长线。第一延长线和第二延长线相交于一点B。此时,依次连接O1、B和O2这三个点,得到的折线段即为优化后的道路矢量A。
(二)对于目标路径的道路矢量中的任一道路矢量A,判断道路矢量A的道路属性中是否包括第二属性,第二属性用于指示道路矢量A为圆盘路口;若包括第二属性,则将道路矢量A的平面高度设置为预设高度,并对道路矢量A中的环绕路径进行优化。
其中,一方面,若道路矢量A为圆盘路口,由于圆盘路口一般不会高出地面,因此,在设置该道路矢量A的平面高度时,则只需考虑地面上的设施如路牌、路灯等的高度,以避免飞行设备与路牌、路灯等设施发生碰撞即可。基于此,智能设备可以参考《城市道路照明设计标准》等标准文件,获取路灯和路牌等设施的标准高度,并从中选取最大高度,之后,智能设备可以将道路矢量A的平面高度设置为大于该最大高度的预设高度。或者,智能设备也可以将该路径矢量A所在地面的海拔高度加上预设高度,得到该路径矢量A所在平面的高度,也即是,飞行设备的在该路径矢量A上飞行时的飞行高度。
另一方面,智能设备在确定道路矢量A的道路属性中包括第二属性时,
由于该第二属性用于指示该道路矢量为圆盘路口,而车辆在驶过圆盘路口时,通常均会存在环绕路径,基于此,若该道路矢量A为圆盘路口时,则可以进一步的对该道路矢量A中的环绕路径进行优化。
具体的,在该道路矢量A为圆盘路口时,智能设备可以通过以下两种方式来对道路矢量A中的环绕路径进行优化。
第一种方式:将与道路矢量A相邻的上一道路矢量的中心线从上一道路矢量的终点起进行延长,得到第一延长线;将与道路矢量A相邻的下一道路矢量的中心线从下一道路矢量的起点起反向延长,得到第二延长线;确定第一延长线和第二延长线的交点;连接该交点与上一道路矢量的终点,得到第一线段,连接该交点与下一道路矢量的起点,得到第二线段;基于道路矢量A的道路属性中用于指示车道数量的道路属性,确定道路矢量A所对应的道路的左边界和右边界,判断该交点、第一线段和第二线段是否均位于道路矢量A所对应的道路的左边界和右边界之间;若该交点、第一线段和第二线段均位于道路矢量A所对应的道路的左边界和右边界之间,则将第一线段和第二线段构成的折线确定为优化后的道路矢量A。
其中,按照从飞行起点到飞行终点的顺序,在紧挨着该道路矢量A之后的道路矢量即为与该道路矢量A相邻的下一道路矢量,而在紧挨着该道路数量A之前的道路矢量即为与该道路矢量A相邻的上一道路矢量。并且,通常,表征一条道路的道路矢量是该条道路的中心线。基于此,智能设备可以将该上一道路矢量从终点处开始向着道路矢量A的方向进行延长,得到第一延长线,而将下一道路矢量A的从起点处开始也向着道路矢量A的方向进行延长,得到第二延长线,两条延长线相交于一点。考虑到圆盘路口中心可能会存在较高的障碍物,而若将上一道路矢量的终点、两条延长线的交点以及下一道路矢量的起点这三个点连接起来所形成的折线段作为优化后的道路矢量A,该优化后的道路矢量A很可能会经过该障碍物,这样,飞行设备在该优化后的道路矢量A上飞行时,极有可能会与该障碍物发生碰撞,风险较高。在这种情况下,智能设备在确定两条延长线的交点之后,可以将该交点与上一道路矢量的终点连接,得到第一线段,将该交点与下一道路矢量的起点连接,得到第二线段,并进一步地确定该道路矢量A所对应的道路的左边界和右边界,以此来判断该交点、第一线段和第二线段是否位于该道路矢量所对应的道路上。其中,智能设备可以获取道路矢量A所对应的道路属性中所指示的车道数量,由于每个车道的宽度是均是固定的,因此,根据该车道数量,可以计算得到该道路矢量A所对应的道路的宽度L。基于前述描述可知,由于表征一条道路的道路矢量通常均是该道路矢量的中心线,因此,在距离道路矢量A左右各L/2处的两条线即是道路矢量A的对应的道路的左边界和右边界。之后,智能设备可以判断该交点、第一线段和第二线段是否均位于该左边界和右边界之间,若该交点、第一线段和第二线段均位于该左边界和右边界之间,则飞行设备沿着第一线段和第二线段飞行时将不会与圆盘路口中心的障碍物发生碰撞,也即,智能设备可以将该第一线段和第二线段所组成的折线段确定为优化后的道路矢量A。
图3C是本发明实施例示出的一种对道路矢量A中的环绕路径进行优化的示意图。如图3C所示,假设与道路矢量A相邻的上一道路矢量的终点为O1,与道路矢量A相邻的下一道路矢量的起点为O2。将上一道路矢量从O1开始延长,得到第一延长线,将下一道路矢量从O2开始反向延长,得到第二延长线。第一延长线和第二延长线相交于一点B。此时,如图3C所示,该点B、第一线段O1B和第二线段O2B位于该道路矢量A所对应的道路的左边界和右边界之间,在这种情况下,可以将线段O1B和线段O2B构成的折线段确定为优化后的道路矢量A。
第二种方式:若环绕路径的路径距离大于反向环绕路径的路径距离,则用反向环绕路径代替环绕路径,反向环绕路径为道路矢量A中与环绕路径的起点和终点相同,且环绕方向相反的路径。
其中,对于圆盘路口而言,往往会存在两个环绕方向,而当车辆经过圆盘路口时,一般需要根据车辆的出口方向来确定车辆按照什么方向来环绕行驶。而对于飞行设备而言,则可以从任一方向进行环绕。基于此,为了尽可能减少飞行设备的飞行距离,以减少飞行设备的资源消耗,智能设备可以判断环绕路径的路径距离与反向环绕路径的路径距离的大小。若环绕路径的路径距离大于反向环绕路径的路径距离,则可以直接用反向环绕路径来代替该环绕路径,以完成对该道路矢量A的优化。其中,反向环绕路径是指与该环绕路径的起点和终点相同,但环绕方向相反的路径。例如,若该环绕路径的环绕方向为顺时针环绕,则反向环绕路径的环绕方向为逆时针,若该环绕路径的环绕方向为逆时针,则反向环绕路径的环绕方向为顺时针。
图3D是本发明实施例示出的一种对道路矢量A中的环绕路径进行优化的示意图。如图3D所示,道路矢量A中的环绕路径如图中虚线所示,该环绕路径的环绕方向为逆时针,反向环绕路径如图中粗实线所示,环绕方向为顺时针。由于该环绕路径大于反向环绕路径,因此,智能设备可以直接用反向环绕路径来代替环绕路径,以完成对道路矢量A中环绕路径的优化。
需要说明的是,对于目标路径中非高架或立交桥的道路矢量,在设置该道路矢量的平面高度时,均可以按照(二)中提供的设置道路矢量的平面高度的方式进行设置。
上述仅是本发明实施例给出的几种根据道路属性对道路矢量和道路矢量的平面高度进行优化的方法,在实际应用中,可能还存在具有其他道路属性的道路矢量,智能设备均可以根据飞行设备与地面行驶车辆之间运动特点的差异性,来对需要优化的道路矢量和道路矢量的平面高度进行优化,以尽量减少飞行设备的飞行距离以及减少与障碍物的碰撞风险。
步骤305:基于优化后的道路矢量和道路矢量的平面高度,确定飞行设备从飞行起点到飞行终点的飞行路径信息。
在本发明实施例中,当对目标路径包括的每个道路矢量和每个道路矢量的平面高度进行优化之后,智能设备可以将优化后的每个道路矢量按照从飞行起点到飞行终点的顺序依次连接,从而得到从飞行起点到飞行终点的一条飞行路径。之后,智能设备可以将连接得到的飞行路径和组成该飞行路径的每个道路矢量的平面高度确定为该飞行设备从飞行起点到飞行终端的飞行路径信息。
需要说明的是,智能设备确定飞行路径的步骤和步骤304中设置每个道路矢量的平面高度的步骤可以同时执行,也可以先执行确定飞行路径的步骤,再执行步骤304中设置每个道路矢量的平面高度的步骤,本发明实施例中仅以先执行步骤304中设置每个道路矢量的平面高度,再执行确定飞行路径的顺序为例进行说明,但并不构成对上述执行顺序先后的限定。
当确定飞行路径信息之后,智能设备即可以将确定的飞行路径信息作为对飞行路径的规划结果进行输出。飞行设备可以根据该飞行路径信息中的飞行路径,按照确定的每个道路矢量的平面高度,从飞行起点向飞行终点飞行。
在本发明实施例中,智能设备可以调用电子地图确定从飞行设备的飞行起点到飞行终点的目标路径,由于该目标路径是电子地图为地面行驶车辆规划的道路,因此,该目标路径的上空基本为净空区域,以此目标路径为基础进行飞行路径的规划,可以有效的规避城市中的大量高层建筑。当确定目标路径之后,智能设备可以根据目标路径的道路属性对每个道路矢量进行优化,也即是,智能设备可以将目标路径中不适于飞行设备飞行的道路矢量按照飞行设备的飞行特点进行优化,从而使得优化后的道路矢量更符合飞行设备的飞行特点,最大程度的缩短飞行设备的飞行距离,提高规划的飞行路径的适用性。除此之外,智能设备还可以根据每个道路矢量对对应的至少一个道路属性,对每个道路矢量的平面高度进行设置,也即是,针对不同的道路属性,可以将相应地道路矢量的平面高度设置为不同的高度,这样,飞行设备即可以按照每个道路矢量的平面高度进行飞行,既避免了飞行设备与障碍物发生碰撞,又避免了飞行设备飞行高度过高时对任务执行的不利影响。
接下来对本发明实施例提供的规划飞行设备的飞行路径的装置进行介绍。
参见图4A,本发明实施例提供了一种规划飞行设备的飞行路径的装置400,该装置400包括:
第一确定模块401,用于确定从飞行设备的飞行起点到飞行终点的目标路径;
获取模块402,用于获取目标路径包括的道路矢量和道路属性,每个道路矢量对应至少一个道路属性;
优化模块403,用于基于道路属性,对道路矢量和道路矢量的平面高度进行优化;
规划模块404,用于基于优化后的道路矢量和道路矢量的平面高度,确定飞行设备从飞行起点到飞行终点的飞行路径信息。
可选地,参见图4B,第一确定模块401包括:
调用子模块4011,用于调用电子地图;
获取子模块4012,用于从电子地图中获取从飞行起点到飞行终点的多条路径以及每条路径所对应的路径距离,多条路径中的每条路径均包括多个道路矢量;
第一确定子模块4013,用于将多条路径中对应的路径距离最短的路径确定为目标路径。
可选地,所述装置还包括:
处理模块,用于将电子地图中用于指示道路矢量为单行道路的道路属性进行删除,或者,将电子地图中用于指示道路矢量为单行道路的道路属性修改为用于指示道路矢量为双向道路的道路属性;
或者,
该处理模块用于获取电子地图中覆盖飞行起点和飞行终点的预设区域内的道路矢量,将获取的道路矢量中用于指示相应的道路矢量为单行道路的道路属性进行删除,或者,将获取的道路矢量中用于指示相应的道路矢量为单行道路的道路属性修改为用于指示相应的道路矢量为双向道路的道路属性。
可选地,参见图4C,该装置400还包括:
判断模块405,用于判断目标路径的道路属性中是否存在用于指示所述道路矢量为隧道的道路属性;
第二确定模块406,用于若存在用于指示道路矢量为隧道的道路属性,则确定目标路径为禁止飞行路径;
优化模块403,用于在不存在用于指示道路矢量为隧道的道路属性时,基于道路属性,对道路矢量和道路矢量的平面高度进行优化。
可选地,优化模块403用于:
按照从飞行起点到飞行终点的顺序,基于每个道路矢量的道路属性,对每个道路矢量和每个道路矢量的平面高度逐一进行优化,直到优化完目标路径的道路矢量和道路矢量的平面高度为止。
可选地,参见图4D,优化模块403包括:
第一判断子模块4031,用于对于目标路径的道路矢量中的任一道路矢量A,判断道路矢量A的道路属性中是否第一属性,该第一属性用于指示道路矢量A为高架或立交桥;
设置子模块4032,用于若包括第一属性,则获取高架或立交桥的高度,并基于高架或立交桥的高度设置道路矢量A的平面高度;
第二判断子模块4033,用于判断道路矢量A中是否存在环绕路径;
优化子模块4034,用于若存在环绕路径,则对道路矢量A中的环绕路径进行优化。
可选地,优化子模块4034具体用于:
将与道路矢量A相邻的上一道路矢量从上一道路矢量的终点起进行延长,得到第一延长线;
将与道路矢量A相邻的下一道路矢量从下一道路矢量的起点起反向延长,得到第二延长线;
确定第一延长线和第二延长线的交点;
将上一道路矢量的终点与交点之间的线段以及交点与下一道路矢量的起点之间的线段确定为优化后的道路矢量A。
可选地,优化模块包括:
判断子模块,用于对于目标路径的道路矢量中的任一道路矢量A,判断道路矢量A的道路属性中是否第二属性,该第二属性用于指示该道路矢量A为圆盘路口;
优化子模块,用于若包括第二属性,则将道路矢量A的平面高度设置为预设高度,并对道路矢量A中的环绕路径进行优化。
可选地,优化子模块具体用于:
将与道路矢量A相邻的上一道路矢量从上一道路矢量的终点起进行延长,得到第一延长线;
将与道路矢量A相邻的下一道路矢量从下一道路矢量的起点起反向延长,得到第二延长线;
确定第一延长线和第二延长线的交点;
连接交点与上一道路矢量的终点,得到第一线段,连接交点与下一道路矢量的起点,得到第二线段;
基于道路矢量A的道路属性中用于指示车道数量的道路属性,确定道路矢量A所对应的道路的左边界和右边界,判断交点、第一线段和第二线段是否均位于道路矢量A所对应的道路的左边界和右边界之间;
若交点、第一线段和第二线段均位于道路矢量A所对应的道路的左边界和右边界之间,则将第一线段和第二线段构成的折线确定为优化后的道路矢量A。
可选地,优化子模块具体用于:
若环绕路径的路径距离大于反向环绕路径的路径距离,则用反向环绕路径代替环绕路径,反向环绕路径为道路矢量A中与环绕路径的起点和终点相同,且环绕方向相反的路径。
可选地,参见图4E,规划模块404包括:
连接子模块4041,用于将优化后的道路矢量依次进行连接,得到飞行路径;
第二确定子模块4042,用于将飞行路径和每个道路矢量的平面高度确定为飞行设备从飞行起点和飞行终点的飞行路径信息。
综上所述,在本发明实施例中,确定从飞行设备的飞行起点到飞行终点的目标路径,获取该目标路径的道路矢量和道路属性,每个道路矢量对应至少一个道路属性,基于该道路属性,对道路矢量和道路矢量的平面高度进行优化,并基于优化后的道路矢量和道路矢量的平面高度,确定飞行设备从飞行起点和飞行终点的飞行路径信息。由此可见,在本发明实施例中,可以根据目标路径包括的多个道路矢量中每个道路矢量对应的至少一个道路属性,对每个道路矢量以及每个道路矢量的平面高度的进行优化,这样,根据优化后的道路矢量和道路矢量的平面高度规划得到的飞行路径将更适于飞行设备飞行,提高了规划的飞行路径的适用性。
需要说明的是:上述实施例提供的规划飞行设备的飞行路径的装置在规划飞行设备的飞行路径时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的规划飞行设备的飞行路径的装置与规划飞行设备的飞行路径的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5示出了本发明一个示例性实施例提供的智能设备500的结构框图。该智能设备可以为图1所述***架构中的智能设备,也即是,该智能设备可以为飞行设备中集成或搭载的智能设备,也可以为与飞行设备独立的用于进行飞行路径规划的智能设备。其中,该智能设备500可以是:工业电脑、工控机、笔记本电脑、台式电脑、智能手机或平板电脑等。智能设备500还可能被称为用户设备、便携式智能设备、膝上型智能设备、台式智能设备等其他名称。
通常,智能设备500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的规划飞行设备的飞行路径的方法。
在一些实施例中,智能设备500还可选包括有:***设备接口503和至少一个***设备。处理器501、存储器502和***设备接口503之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口503相连。具体地,***设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
***设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和***设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和***设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它智能设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near FieldCommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置智能设备500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在智能设备500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在智能设备500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在智能设备的前面板,后置摄像头设置在智能设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在智能设备500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位智能设备500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或欧盟的伽利略***的定位组件。
电源509用于为智能设备500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,智能设备500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以智能设备500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测智能设备500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对智能设备500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在智能设备500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在智能设备500的侧边框时,可以检测用户对智能设备500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置智能设备500的正面、背面或侧面。当智能设备500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在智能设备500的前面板。接近传感器516用于采集用户与智能设备500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与智能设备500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与智能设备500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
也即是,本发明实施例不仅提供了一种规划飞行设备的飞行路径的装置,该装置可以应用于上述智能设备500中,包括处理器和用于存储处理器可执行指令的存储器,其中,处理器被配置为执行图2和图3A所示的实施例中的方法,而且,本发明实施例还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时可以实现图2和图3A所示的实施例中的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。