
1.本技术涉及无人机技术领域,尤其涉及一种飞行决策生成方法和装置、计算机设备、存储介质。
背景技术:2.目前,无人机自主导航的目的在于:无人机通过自主决策,在环境中避开障碍物,从起点安全飞行到终点。在通常情况下,一般将无人机自主导航建模为一个飞行决策过程,并训练一个最优控制策略,从而完成无人机自主导航任务。然而,在实际应用中,对于无人机的自主导航任务,往往需要考虑更多的目标,现有的飞行决策过程无法有效解决多目标的无人机自主导航任务,灵活性较差。
技术实现要素:3.本公开实施例的主要目的在于提出一种飞行决策生成方法和装置、计算机设备、存储介质,能够通过生成飞行决策,提高无人机自主导航任务的灵活性。
4.为实现上述目的,本公开实施例的第一方面提出了一种飞行决策生成方法,包括:
5.获取任务需求数据;
6.根据所述任务需求数据构建飞行决策模型;其中,所述飞行决策模型包括用于表征无人机的原始飞行决策的多个决策元组数据,每一所述决策元组数据包括原始超参数组,每一所述原始超参数组集合以形成原始超参数种群;
7.基于所述飞行决策模型,构建对应的目标学习函数;
8.根据所述目标学习函数对所述原始超参数种群进行更新优化,以得到目标超参数种群;
9.根据所述目标超参数种群,获取所述无人机的目标飞行决策。
10.在一些实施例,每一所述决策元组数据包括状态数据、动作数据、状态转移函数、奖励函数和折扣因子;
11.所述状态数据包括某一时刻下,所述无人机到障碍物之间的第一距离、所述无人机的传感器对应的最大探测范围、所述无人机所处的当前位置与预设终点之间的第二距离和角度数据、所述无人机当前的飞行速度和视角方向,以及所述无人机的最大限速;
12.所述动作数据包括某一时刻下所述无人机的加减速数据和转向数据;
13.所述状态转移函数用于生成所述无人机在下一时刻的所述状态数据;
14.所述奖励函数包括所述原始超参数组,所述奖励函数用于评价所述无人机在某一状态下执行动作的初步优劣程度;
15.所述折扣因子用于与所述奖励函数结合计算出所述无人机在某一状态下执行动作的优劣程度。
16.在一些实施例,所述目标学习函数包括第一目标函数和第二目标函数;所述根据所述飞行决策模型,构建对应的目标学习函数,包括:
17.根据所述飞行决策模型获取优化目标;其中,所述优化目标包括所述无人机的飞行时间目标和飞行风险目标;
18.根据所述飞行时间目标构建所述第一目标函数,并根据所述飞行风险目标构建所述第二目标函数。
19.在一些实施例,所述根据所述目标学习函数对所述原始超参数种群进行更新优化,以得到目标超参数种群,包括:
20.通过所述飞行决策模型,对所述原始超参数种群中的每一所述原始超参数组进行强化学习训练,得到对应的多个原始控制策略;
21.对每一所述原始超参数组进行变异操作,生成多个子代超参数组;
22.通过所述飞行决策模型对每一所述子代超参数组进行强化学习训练,得到对应的多个子代控制策略;
23.通过所述多个原始控制策略和所述多个子代控制策略,得到所述目标超参数种群。
24.在一些实施例,所述通过所述多个原始控制策略和所述多个子代控制策略,得到目标超参数种群,包括:
25.利用每一所述原始控制策略控制所述无人机与环境进行互动,以根据所述目标学习函数计算每一所述原始超参数组的第一目标函数值;
26.利用每一所述子代控制策略控制所述无人机与环境进行互动,以根据所述目标学习函数计算每一所述子代超参数组的第二目标函数值;
27.将所述多个子代超参数组添加至所述原始超参数种群中,以形成更新后的原始超参数种群;
28.根据所述第一目标函数值和所述第二目标函数值,对更新后的所述原始超参数种群进行环境选择操作,得到所述目标超参数种群。
29.在一些实施例,所述根据所述第一目标函数值和所述第二目标函数值,对更新后的所述原始超参数种群进行环境选择操作,得到所述目标超参数种群,包括:
30.将更新后的所述原始超参数种群进行划分,得到多个初步超参数种群;其中,每一所述初步超参数组为所述原始超参数组或所述子代超参数组,每一所述初步超参数种群包括多个初步超参数组,且每一所述初步超参数种群中的每一所述初步超参数组之间相互不帕累托支配;
31.根据所述第一目标函数值和所述第二目标函数值的数值大小,对所述多个初步超参数种群进行非支配排序,得到环境选择顺序;
32.根据所述环境选择顺序对每一所述初步超参数种群进行环境选择操作,得到所述目标超参数种群。
33.在一些实施例,所述根据所述环境选择顺序对每一所述初步超参数种群进行环境选择操作,得到所述目标超参数种群,包括:
34.获取预设的个体数量阈值;
35.根据所述环境选择顺序,依次从所述多个初步超参数种群中选择满足所述个体数量阈值的多个所述初步超参数组,以形成所述目标超参数种群。
36.本公开实施例的第二方面提出了一种飞行决策生成装置,包括:
37.数据获取模块:用于获取任务需求数据;
38.模型构建模块:用于根据所述任务需求数据构建飞行决策模型;其中,所述飞行决策模型包括用于表征无人机的原始飞行决策的多个决策元组数据,每一所述决策元组数据包括原始超参数组,每一所述原始超参数组集合以形成原始超参数种群;
39.函数构建模块:用于基于所述飞行决策模型,构建对应的目标学习函数;
40.种群优化模块:用于根据所述目标学习函数对所述原始超参数种群进行更新优化,以得到目标超参数种群;
41.决策获取模块:用于根据所述目标超参数种群,获取所述无人机的目标飞行决策。
42.本公开实施例的第三方面提出了一种计算机设备,所述计算机设备包括存储器和处理器,其中,所述存储器中存储有程序,所述程序被所述处理器执行时所述处理器用于执行如本技术第一方面实施例任一项所述的方法。
43.本公开实施例的第四方面提出了一种存储介质,该存储介质为计算机可读存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本技术第一方面实施例任一项所述的方法。
44.本公开实施例提出的飞行决策生成方法和装置、计算机设备、存储介质,通过获取任务需求数据;根据任务需求数据构建飞行决策模型;其中,飞行决策模型包括用于表征无人机的原始飞行决策的多个决策元组数据,每一决策元组数据包括原始超参数组,每一原始超参数组集合以形成原始超参数种群;基于飞行决策模型,构建对应的目标学习函数;根据目标学习函数对原始超参数种群进行更新优化,以得到目标超参数种群;根据目标超参数种群,获取无人机的目标飞行决策。本公开实施例在建立无人机的飞行决策模型的基础上,定义用于优化的目标学习函数,在使无人机通过目标飞行决策完成自主导航任务的基础上,通过目标学习函数的优化目标进一步对原始超参数种群进行更新优化,以得到目标飞行决策,提高了无人机自主导航任务的灵活性。
附图说明
45.图1是本公开实施例提供的飞行决策生成方法的流程图;
46.图2是本公开实施例提供的无人机的第一状态示意图;
47.图3是本公开实施例提供的无人机的第二状态示意图;
48.图4是图1中的步骤s130的流程图;
49.图5是图1中的步骤s140的流程图;
50.图6是图5中的步骤s540的流程图;
51.图7是图6中的步骤s640的流程图;
52.图8是图7中的步骤s730的流程图;
53.图9是本公开实施例提供的多目标深度强化学习算法的流程图;
54.图10是本公开实施例提供的飞行决策生成装置的模块结构框图;
55.图11是本公开实施例提供的计算机设备的硬件结构示意图。
具体实施方式
56.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
57.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
58.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
59.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
60.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
61.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
62.首先,对本技术中涉及的若干名词进行解析:
63.人工智能(art i f i c i a l i nte l l i gence,a i):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
64.马尔可夫决策过程(markov dec i s i on process,mdp):是序贯决策(sequent i a l dec i s i on)的数学模型,用于在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报。mdp基于一组交互对象,即智能体和环境进行构建,所具有的要素包括状态、动作、策略和奖励。在mdp的模拟中,智能体会感知当前的系统状态,按策略对环境实施动作,从而改变环境的状态并得到奖励,奖励随时间的积累被称为回报。
65.深度强化学习:将深度学习的感知能力和强化学习的决策能力相结合,可以直接根据输入的图像进行控制,是一种更接近人类思维方式的人工智能方法。深度学习具有较强的感知能力,但是缺乏一定的决策能力;而强化学习具有决策能力,对感知问题束手无策。因此,将两者结合起来,优势互补,为复杂系统的感知决策问题提供了解决思路。
66.异步优势动作评价算法(asynchronous advantage actor-cr it i c,a3c):a3c的基本框架是ac框架,只是它不再利用单个线程,而是利用多个线程。每个线程相当于一个
智能体在随机探索,多个智能体共同探索,并行计算策略梯度,维持一个总的更新量。
67.高斯白噪声(wh ite gauss i an noi se):高斯是指概率分布是正态函数,而白噪声是指它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。高斯白噪声是分析信道加性噪声的理想模型,通信中的主要噪声源——热噪声就属于这类噪声。
68.欧氏距离:是欧几里得空间中两点间“普通”(即直线)距离。使用这个距离,欧氏空间成为度量空间。是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离),在二维和三维空间中的欧氏距离就是两点之间的实际距离。
69.目前,无人机自主导航的目的在于:无人机通过自主决策,在环境中避开障碍物,从起点安全飞行到终点。在通常情况下,一般将无人机自主导航建模为一个飞行决策过程,并训练一个最优控制策略,从而完成无人机自主导航任务。然而,在实际应用中,对于无人机的自主导航任务,往往需要考虑更多的目标。例如,用户希望无人机在完成自主导航任务的基础上,飞行时间越短越好,飞行风险越低越好。然而,实际中往往很难同时满足所有目标。过于追求短的飞行时间往往带来更高的飞行风险,而过于追求低飞行风险往往带来更长的飞行时间。现有技术还无法有效解决这种复杂的多目标无人机自主导航任务,导致灵活性较差。
70.基于此,本公开实施例提供一种飞行决策生成方法和装置、计算机设备、存储介质,通过获取任务需求数据;根据任务需求数据构建飞行决策模型;其中,飞行决策模型包括用于表征无人机的原始飞行决策的多个决策元组数据,每一决策元组数据包括原始超参数组,每一原始超参数组集合以形成原始超参数种群;基于飞行决策模型,构建对应的目标学习函数;根据目标学习函数对原始超参数种群进行更新优化,以得到目标超参数种群;根据目标超参数种群,获取无人机的目标飞行决策。本公开实施例在建立无人机的飞行决策模型的基础上,定义用于优化的目标学习函数,在使无人机通过目标飞行决策完成自主导航任务的基础上,通过目标学习函数的优化目标进一步对原始超参数种群进行更新优化,以得到目标飞行决策,提高了无人机自主导航任务的灵活性。
71.本公开实施例提供飞行决策生成方法和装置、计算机设备、存储介质,具体通过如下实施例进行说明,首先描述本公开实施例中的飞行决策生成方法。
72.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(art i f i c i a l i nte l l i gence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
73.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
74.本公开实施例提供的飞行决策生成方法,涉及无人机技术领域,同样涉及人工智能领域。本公开实施例提供的飞行决策生成方法可应用于终端中,也可应用于服务端中,还可以是运行于终端或服务端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务端可以配置成独立的物理服务端,也可以配
置成多个物理服务端构成的服务端集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务端;软件可以是实现飞行决策生成方法的应用等,但并不局限于以上形式。
75.本公开实施例可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务端计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
76.参照图1,根据本公开实施例第一方面实施例的飞行决策生成方法,包括但不限于包括步骤s110至步骤s150。
77.步骤s110,获取任务需求数据;
78.步骤s120,根据任务需求数据构建飞行决策模型;
79.步骤s130,基于飞行决策模型,构建对应的目标学习函数;
80.步骤s140,根据目标学习函数对原始超参数种群进行更新优化,以得到目标超参数种群;
81.步骤s150,根据目标超参数种群,获取无人机的目标飞行决策。
82.在一些实施例的步骤s110中,获取无人机的任务需求数据,具体地,任务需求数据可以包括无人机的任务场景,以及无人机在任务场景中具体的飞行要求。在实际应用中,任务场景可以为无人机飞行在固定的高度,无人机从起点出发,并通过自主决策避开所有的障碍物,安全到达终点。
83.在一些实施例的步骤s120中,根据任务需求数据构建飞行决策模型,其中,飞行决策模型依据马尔可夫决策过程生成,该飞行决策模型的目标是找到一个最优的初步飞行控制策略,使无人机自主导航任务的累积奖励最大。其中,飞行决策模型包括用于表征无人机的原始飞行决策的多个决策元组数据,每一决策元组数据包括原始超参数组,每一原始超参数组集合以形成原始超参数种群。
84.在一些实施例的步骤s130中,基于飞行决策模型,构建对应的目标学习函数,具体地,通过飞行决策模型设置目标学习函数,通过目标学习函数定义无人机自主导航任务的多个优化目标。
85.在一些实施例的步骤s140中,根据目标学习函数对原始超参数种群进行更新优化,以得到目标超参数种群,使无人机在安全完成自主导航任务的基础上,考虑最小化多个优化目标,从而进一步优化原始超参数种群。
86.在一些实施例的步骤s150中,根据目标超参数种群,获取无人机的目标飞行决策。具体地,通过目标超参数种群能够得到一组最优的飞行策略集,用户可以根据任务需求和偏好,从该飞行策略集中选择其中一个目标飞行策略执行,能够提高无人机自主导航任务的灵活性。
87.在一些实施例中,每一决策元组数据包括状态数据、动作数据、状态转移函数、奖励函数和折扣因子。具体地,本技术的飞行决策模型,即马尔可夫决策过程可通过一个决策元组,即(s,a,p,r,γ,ρ0)表示,决策元组中的各种数据称为决策元组数据,其中s表示状态数据,a表示动作数据,p表示状态转移函数,r表示奖励函数,γ表示折扣因子,ρ0表示初始状态s0的分布,具体如下:
88.在一些实施例中,状态数据是无人机在某一时刻,例如t时刻的状态。在本技术实施例中,可将状态数据表示为一个12维向量其中表示无人机自身传感器探测到的与障碍物的第一距离,d
limit
表示传感器的最大探测范围,和ξ
t
∈[-π,π]表示t时刻无人机的当前位置和预设终点之间的第二距离和角度数据(相对于正北方向),v
t
∈[0,v
limit
]和φ
t
∈[-π,π]表示t时刻无人机当前的飞行速度和视角方向,也即第一视角方向(相对于正北方向),v
limit
表示无人机的最大限速。
[0089]
具体地,本技术实施例提到的无人机状态可参照图2和图3,图2表示无人机在高度确定的情况下对应的无人机状态平面图,其中,图2的8个方向表示无人机上的8个传感器,可以探测与周围障碍物的距离(即),所以无人机可以探测前后左右一共8个方向,图3表示无人机第一视角方向与终点之间的关系。通过图2和图3可知,本公开实施例的无人机可以全方位感知障碍物,且获取传感器与障碍物的第一距离。但是,如果无人机的某个方向无法感知障碍物,则可能导致撞上障碍物,从而导致安全性较低。需要说明的是,本领域技术人员可以根据实际需求在无人机上设置不同传感器的数量,本公开实施例不做具体限制。
[0090]
在一些实施例中,动作数据a
t
包括某一时刻下,例如t时刻下无人机的加减速数据ρ
t
∈[ρ
lb
,ρ
up
]和转向数据φ
t
∈[-π,π],综上,动作数据可表示为a
t
=[ρ
t
,φ
t
]。
[0091]
在一些实施例中,状态转移函数用于生成无人机在下一时刻的状态数据。具体地,无人机在t时刻,获取其状态s
t
,根据无人机的控制策略a~π(
·
|s)得到输出动作a
t
,环境将根据状态转移函数做出对应的环境状态转移,得到下一时刻状态s
t+1
。
[0092]
在一些实施例中,奖励函数包括原始超参数组,奖励函数用于评价无人机在某一状态下执行动作的初步优劣程度。具体地,可通过以下几种情况设计奖励函数,例如:
[0093]
情况一:当无人机与预设终点的第二距离变小时会得到奖励,反之会受到惩罚,定义为:
[0094]
情况二:当无人机太接近障碍物时会收到相应惩罚,定义为:情况二:当无人机太接近障碍物时会收到相应惩罚,定义为:其中ds表示无人机和障碍物之间的安全距离。
[0095]
情况三:当无人机非常接近终点时会得到奖励其中rd是一个预设的常数。
[0096]
情况四:无人机会得到一个恒定的惩罚rc(s
t
,a
t
)=-1,鼓励无人机尽快抵达终点。
[0097]
围内取值,4个超参数结合可形成一个原始超参数组。
[0098]
在一些实施例中,折扣因子用于与奖励函数结合计算出无人机在某一状态下执行动作的优劣程度,在实际应用中,折扣因子:γ∈[0,1]。
[0099]
进一步地,无人机自主导航任务的累积奖励定义为其中需要说明的是,上述马尔可夫决策过程的目标是找到一个最优控制策略a~π(
·
|s),使得无人机自主导航任务的累积奖励最大。
[0100]
在一些实施例中,目标学习函数包括第一目标函数和第二目标函数,如图4所示,步骤s130具体包括但不限于步骤s410至步骤s420。
[0101]
步骤s410,根据飞行决策模型获取优化目标;
[0102]
步骤s420,根据飞行时间目标构建第一目标函数,并根据飞行风险目标构建第二目标函数。
[0103]
在一些实施例的步骤s410中,根据飞行决策模型获取优化目标,具体地,优化目标包括无人机的飞行时间目标和飞行风险目标。
[0104]
在一些实施例的步骤s420中,根据飞行时间目标构建第一函数,设飞行时间目标为f1,则可将第一函数定义为f1=t,其中t为任务完成时间,其中,飞行时间越短越好。根据飞行风险目标构建第二函数,设飞行风险目标为f2,则可将第二函数定义为f2=1/d
min
,其中d
min
为任务中无人机与障碍物的最近距离,即其中,飞行风险越小越好。
[0105]
在一些实施例中,如图5所示,步骤s140具体包括但不限于步骤s510至步骤s540。
[0106]
步骤s510,通过飞行决策模型,对原始超参数种群中的每一原始超参数组进行强化学习训练,得到对应的多个原始控制策略;
[0107]
步骤s520,对每一原始超参数组进行变异操作,生成多个子代超参数组;
[0108]
步骤s530,通过飞行决策模型对每一子代超参数组进行强化学习训练,得到对应的多个子代控制策略;
[0109]
步骤s540,通过多个原始控制策略和多个子代控制策略,得到目标超参数种群。
[0110]
为了便于描述,在步骤s510至步骤s540之前,首先需要进行初始化原始超参数种群的操作,其中,将原始超参数种群设为p={β1,...,,βn},其中种群中的每个个体都是由上述提到的原始超参数组构成,本公开实施例所需要学习的目标是找到一组帕累托最优个体,每个个体代表了一组最优超参数,也即实现自动优化超参数的过程。
[0111]
进一步地,还需要初始化一个循环次数g=1,用来计算步骤s140的所执行的次数,
步骤s140每执行一次,则将g加1,直到g=g
max
,用于控制步骤s140执行一定的次数。
[0112]
在一些实施例的步骤s510中,通过飞行决策模型,对原始超参数种群中的每一原始超参数组进行强化学习训练,得到对应的多个原始控制策略。具体地,对种群p中每个个体应用深度强化学习算法进行训练,得到对应的最优控制策略{π1,...,,πn},即本公开实施例提到的多个原始控制策略。在实际应用中,可采用a3c算法训练每个个体,每个子代个体训练之前,首先继承其父代个体的策略,在其父代个体策略的基础上进行训练,从而加速子代个体的训练过程。需要说明的是,子代个体是由父代个体变异产生,一个父代个体通过变异产生对应的子代,所以每个子代有它唯一对应的父代个体。
[0113]
在一些实施例的步骤s520中,对每一原始超参数组进行变异操作,生成多个子代超参数组。具体地,对种群p中每个个体进行变异操作产生子代种群q=mutation(p),子代种群表示为q={β1′
,...,,βn′
},其中,子代种群即本公开实施例提到的子代超参数组。具体地,对每个父代个体β进行高斯白噪声变异操作,产生子代个体β
′
,即β
′
=β+δβ,其中δβ是基于标准正态分布n(0,i)采样产生的高斯白噪声。
[0114]
在一些实施例的步骤s530中,同样的,通过飞行决策模型对每一子代超参数组进行强化学习训练,得到对应的多个子代控制策略,即{π1′
,...,,πn′
}。
[0115]
在一些实施例的步骤s540中,通过多个原始控制策略和多个子代控制策略,得到目标超参数种群,即最优策略集。
[0116]
在一些实施例中,如图6所示,步骤s540具体包括但不限于步骤s610至步骤s640。
[0117]
步骤s610,利用每一原始控制策略控制无人机与环境进行互动,以根据目标学习函数计算每一原始超参数组的第一目标函数值;
[0118]
步骤s620,利用每一子代控制策略控制无人机与环境进行互动,以根据目标学习函数计算每一子代超参数组的第二目标函数值;
[0119]
步骤s630,将多个子代超参数组添加至原始超参数种群中,以形成更新后的原始超参数种群;
[0120]
步骤s640,根据第一目标函数值和第二目标函数值,对更新后的原始超参数种群进行环境选择操作,得到目标超参数种群。
[0121]
在一些实施例的步骤s610中,利用每一原始控制策略控制无人机与环境进行互动,以根据目标学习函数计算每一原始超参数组的第一目标函数值。换句话说,利用每个原始控制策略控制无人机与环境进行互动,通过目标学习函数评估原始超参数种群p的每个个体的第一目标函数值。
[0122]
在一些实施例的步骤s620中,同样的,利用每一子代控制策略控制无人机与环境进行互动,以根据目标学习函数计算每一子代超参数组的第二目标函数值。换句话说,利用每个子代控制策略控制无人机与环境互动,评估由子代超参数组形成子代超参数种群q中的每个个体的第二目标函数值。
[0123]
在实际应用中,利用目标学习函数对原始超参数组和子代超参数组的评估过程为:通过训练好的初步飞行策略a~π(
·
|s)控制无人机和环境进行互动,直到无人机完成任务。无人机完成任务后,需要记录无人机的任务完成时间t和距障碍物最近距离d
min
,得到该初步飞行策略对应的第一目标函数值和第二目标函数值(f1,f2)。设定最大完成时间t
max
,如果无人机在t
max
时间内无法到达终点,则判定任务失败,需要标记该初步飞行策略的第一
目标函数值和第二目标函数值为正无穷大,即(+∞,+∞)。如果无人机在任务过程中撞击障碍物(即则判定任务失败,标记该策略目标函数值为(+∞,+∞)。
[0124]
在一些实施例的步骤s630中,将多个子代超参数组添加至原始超参数种群中,以形成更新后的原始超参数种群,更新后的原始超参数种群p=p∪q。
[0125]
在一些实施例的步骤s640中,根据第一目标函数值和第二目标函数值,对更新后的原始超参数种群进行环境选择操作,得到目标超参数种群。
[0126]
在一些实施例中,如图7所示,步骤s640具体包括但不限于步骤s710至步骤s730。
[0127]
步骤s710,将更新后的原始超参数种群进行划分,得到多个初步超参数种群;
[0128]
步骤s720,根据第一目标函数值和第二目标函数值的数值大小,对多个初步超参数种群进行非支配排序,得到环境选择顺序;
[0129]
步骤s730,根据环境选择顺序对每一初步超参数种群进行环境选择操作,得到目标超参数种群。
[0130]
在一些实施例的步骤s710和步骤s720中,将更新后的原始超参数种群进行划分,得到多个初步超参数种群;其中,每一初步超参数组为原始超参数组或子代超参数组,每一初步超参数种群包括多个初步超参数组,且每一初步超参数种群中的每一初步超参数组之间相互不帕累托支配。根据第一目标函数值和第二目标函数值的数值大小,对多个初步超参数种群进行非支配排序,得到环境选择顺序;具体地,将包含2n个个体的种群p划分为l个子种群{p1,p2,...,p
l
},每个子种群内的个体相互不帕累托支配(即不存在某一个体的f1和f2目标函数值均小于另一个体),并且p1帕累托支配{p2,...,p
l
},p2帕累托支配{p3,...,p
l
}。以此类推,其中p1帕累托支配p2表示p2中的每个个体被p1中的某个个体帕累托支配(即被帕累托支配个体的f1和f2目标函数值均大于帕累托支配它的个体)。
[0131]
在一些实施例的步骤s730中,根据环境选择顺序对每一初步超参数种群进行环境选择操作,得到目标超参数种群。
[0132]
在一些实施例中,如图8所示,步骤s730具体包括但不限于步骤s810至步骤s820。
[0133]
步骤s810,获取预设的个体数量阈值;
[0134]
步骤s820,根据环境选择顺序,依次从多个初步超参数种群中选择满足个体数量阈值的多个初步超参数组,以形成目标超参数种群。
[0135]
在一些实施例的步骤s810中,获取预设的个体数量阈值n。
[0136]
在一些实施例的步骤s820中,根据环境选择顺序,也即步骤s1110和步骤s1120进行划分后的子种群{p1,p2,...,p
l
}的顺序,依次进行环境选择,直到选择n个初步超参数组后,进行进一步的选择,以形成目标超参数种群。
[0137]
具体地,步骤s810至步骤s820根据环境选择顺序,对子种群进行环境选择操作的步骤如下:
[0138]
第一步:从p1开始进行环境选择,如果p1中个体数量大于n,则进入下一步,否则继续选择p2。如果{p1,p2}中个体数量大于n,则进入下一步,否则继续选择p3。依次类推,直到选择pk,k≤l,{p1,p2,...,pk}中个体数量大于n,进入下一步。
[0139]
第二步:假设{p1,p2,...,pk}中个体数量为n
′
,则需要从pk中删掉n
′‑
n个个体。首先计算pk中个体之间在目标空间中的欧式距离。然后找到pk中最近的两个个体,并随机删除
其中一个。该步骤重复执行n
′
pn次,即从pk中删除n
′‑
n个个体。
[0140]
第三步:将p={p1,p2,...,pk}输出作为下一代种群。
[0141]
依次从多个初步超参数种群中选择满足个体数量阈值的多个初步超参数组,以形成目标超参数种群。
[0142]
在一些实施例中,如图9所示,本公开实施例的演化多目标深度强化学习算法的具体过程如下:
[0143]
首先初始化种群,其中,该种群包括多个个体,对每个个体依次进行变异、深度强化学习和目标函数值评估等操作,根据环境选择操作的结果决定是否退出,若不退出,则对环境选择操作生成的下一代种群的个体依次进行变异、深度强化学习和目标函数值评估等操作,直到满足预设条件后退出,从而结束优化过程。
[0144]
在实际应用中,环境选择操作的步骤可以为:假设存在种群p,一共由16个个体组成,首先将种群p划分为p1,p2,p3三个子种群。环境选择操作需要从16个个体中选择8个个体作为下一代种群,从p1开始选择,p1中含有6个个体,因此p1整体被选择;然后选择p2,p2中含有6个个体,因此只能从p2中选择2个个体,并与p1中6个个体合并组成下一代种群。计算p2个体之间的欧式距离并删除最近的2个个体中的1个,直到p2剩余2个个体,将p1和p2合并作为下一代种群,由此实现了环境选择操作的过程。
[0145]
本公开实施例提出的飞行决策生成方法,通过获取任务需求数据;根据任务需求数据构建飞行决策模型;其中,飞行决策模型包括用于表征无人机的原始飞行决策的多个决策元组数据,每一决策元组数据包括原始超参数组,每一原始超参数组集合以形成原始超参数种群;基于飞行决策模型,构建对应的目标学习函数;根据目标学习函数对原始超参数种群进行更新优化,以得到目标超参数种群;根据目标超参数种群,获取无人机的目标飞行决策。本公开实施例在建立无人机的飞行决策模型的基础上,定义用于优化的目标学习函数,在使无人机通过目标飞行决策完成自主导航任务的基础上,通过目标学习函数的优化目标进一步对原始超参数种群进行更新优化,以得到目标飞行决策,提高了无人机自主导航任务的灵活性。
[0146]
本公开实施例还提供一种飞行决策生成装置,如图10所示,可以实现上述飞行决策生成方法,该装置包括:数据获取模块1010、模型构建模块1020、函数构建模块1030、种群优化模块1040和决策获取模块1050。其中,数据获取模块1010用于获取任务需求数据;模型构建模块1020用于根据任务需求数据构建飞行决策模型;飞行决策模型包括用于表征无人机的原始飞行决策的多个决策元组数据,每一决策元组数据包括原始超参数组,每一原始超参数组集合以形成原始超参数种群;函数构建模块1030用于基于飞行决策模型,构建对应的目标学习函数;种群优化模块1040用于根据目标学习函数对原始超参数种群进行更新优化,以得到目标超参数种群;决策获取模块1050用于根据目标超参数种群,获取无人机的目标飞行决策。
[0147]
需要说明的是,本公开实施例的飞行决策生成装置用于执行上述实施例中的飞行决策生成方法,其具体处理过程与上述实施例中的飞行决策生成方法相同,此处不再一一赘述。
[0148]
本公开实施例提出的飞行决策生成装置,通过获取任务需求数据;根据任务需求数据构建飞行决策模型;其中,飞行决策模型包括用于表征无人机的原始飞行决策的多个
决策元组数据,每一决策元组数据包括原始超参数组,每一原始超参数组集合以形成原始超参数种群;基于飞行决策模型,构建对应的目标学习函数;根据目标学习函数对原始超参数种群进行更新优化,以得到目标超参数种群;根据目标超参数种群,获取无人机的目标飞行决策。本公开实施例在建立无人机的飞行决策模型的基础上,定义用于优化的目标学习函数,在使无人机通过目标飞行决策完成自主导航任务的基础上,通过目标学习函数的优化目标进一步对原始超参数种群进行更新优化,以得到目标飞行决策,提高了无人机自主导航任务的灵活性。
[0149]
本公开实施例还提供了一种计算机设备,包括:
[0150]
至少一个处理器,以及,
[0151]
与至少一个处理器通信连接的存储器;其中,
[0152]
存储器存储有指令,指令被至少一个处理器执行,以使至少一个处理器执行指令时实现如本技术第一方面实施例中任一项的方法。
[0153]
下面结合图11对计算机设备的硬件结构进行详细说明。该计算机设备包括:处理器1110、存储器1120、输入/输出接口1130、通信接口1140和总线1150。
[0154]
处理器1110,可以采用通用的中央处理器(centra l process i n un it,cpu)、微处理器、应用专用集成电路(app l i cat i on spec i f i c i ntegrated ci rcu it,as i c)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
[0155]
存储器1120,可以采用只读存储器(read on l y memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器1120可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1120中,并由处理器1110来调用执行本公开实施例的飞行决策生成方法;
[0156]
输入/输出接口1130,用于实现信息输入及输出;
[0157]
通信接口1140,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wi f i、蓝牙等)实现通信;和
[0158]
总线1150,在设备的各个组件(例如处理器1110、存储器1120、输入/输出接口1130和通信接口1140)之间传输信息;
[0159]
其中处理器1110、存储器1120、输入/输出接口1130和通信接口1140通过总线1150实现彼此之间在设备内部的通信连接。
[0160]
本公开实施例还提供一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行本公开实施例的飞行决策生成方法。
[0161]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0162]
本公开实施例提出的飞行决策生成方法和装置、计算机设备、存储介质,通过获取任务需求数据;根据任务需求数据构建飞行决策模型;其中,飞行决策模型包括用于表征无人机的原始飞行决策的多个决策元组数据,每一决策元组数据包括原始超参数组,每一原始超参数组集合以形成原始超参数种群;基于飞行决策模型,构建对应的目标学习函数;根据目标学习函数对原始超参数种群进行更新优化,以得到目标超参数种群;根据目标超参数种群,获取无人机的目标飞行决策。本公开实施例在建立无人机的飞行决策模型的基础上,定义用于优化的目标学习函数,在使无人机通过目标飞行决策完成自主导航任务的基础上,通过目标学习函数的优化目标进一步对原始超参数种群进行更新优化,以得到目标飞行决策,提高了无人机自主导航任务的灵活性。
[0163]
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
[0164]
本领域技术人员可以理解的是,图1、图4、图5、图6、图7和图8中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
[0165]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0166]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
[0167]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0168]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0169]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通
信连接,可以是电性,机械或其它的形式。
[0170]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0171]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0172]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-on ly memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
[0173]
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。