基于DQN模拟航空器自动着陆的方法及相关设备

专利类型 发明授权 法律事件 公开; 实质审查; 授权;
专利有效性 有效专利 当前状态 授权
申请号 CN201910161433.8 申请日 2019-03-04
公开(公告)号 CN110045747B 公开(公告)日 2023-09-05
申请人 平安科技(深圳)有限公司; 申请人类型 企业
发明人 于凤英; 王健宗; 第一发明人 于凤英
权利人 平安科技(深圳)有限公司 权利人类型 企业
当前权利人 平安科技(深圳)有限公司 当前权利人类型 企业
省份 当前专利权人所在省份:广东省 城市 当前专利权人所在城市:广东省深圳市
具体地址 当前专利权人所在详细地址:广东省深圳市福田区福田街道福安社区益田路5033号平安金融中心23楼 邮编 当前专利权人邮编:518000
主IPC国际分类 G05D1/10 所有IPC国际分类 G05D1/10
专利引用数量 5 专利被引用数量 0
专利权利要求数量 9 专利文献类型 B
专利代理机构 深圳市联鼎知识产权代理有限公司 专利代理人 刘抗美;
摘要 本 发明 公开了一种基于DQN模拟航空器自动着陆的方法及相关设备,涉及 深度学习 领域,该方法包括:对每个时间片t,获取模拟航空器的当前状态st;基于DQN确定所述模拟航空器在当前状态st下要执行的动作at;控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功。该方法提高了模拟航空器自动着陆的效率。
权利要求

1.一种基于DQN模拟航空器自动着陆的方法,其特征在于,包括:
对每个时间片t,获取模拟航空器的当前状态st;
基于DQN确定所述模拟航空器在当前状态st下要执行的动作at,所述DQN是指基于Q‑learning算法的深度卷积神经网络
控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;
确定所述状态st+1中每个变量与预设的目标状态中对应的变量的相似度;
如果所述状态st+1中每个变量与预设的目标状态中对应的变量的相似度均大于或等于与所述变量对应的预设阈值,则判定所述模拟航空器着陆成功。
2.根据权利要求1所述的方法,其特征在于,所述基于DQN确定所述模拟航空器在当前状态st下要执行的动作at,包括:
将所述模拟航空器的当前状态st输入DQN,得到预设的动作集中每个动作a与所述当前状态st对应的预期收益Q(s,a);
基于所述预期收益Q(s,a),确定所述模拟航空器在当前状态st下要执行的动作at。
3.根据权利要求2所述的方法,其特征在于,所述基于所述预期收益Q(s,a),确定所述模拟航空器在当前状态st下要执行的动作at,包括:
确定所述预期收益Q(s,a)中值最大的Q(s,a)所对应的动作amax;
基于贪婪算法,以预设概率P选取动作amax作为所述at,以概率(1‑P)从所述动作集中随机选取一个a作为所述at。
4.根据权利要求1所述的方法,其特征在于,所述控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1之后,包括:
确定所述模拟航空器执行完所述动作at后,获得的实际收益rt;
作为一个经验样本,置于经验池中;
基于所述经验池,对所述DQN进行更新。
5.根据权利要求4所述的方法,其特征在于,所述经验池中的经验样本还通过以下方法获得:
从历史模拟航空器的历史模拟记录中随机选取一时间片k,确定所述历史模拟航空器对应的状态sk、执行的动作ak、执行动作ak后的状态sk+1、获得的实际收益rk;
作为一个经验样本,置于经验池中。
6.根据权利要求4所述的方法,其特征在于,所述基于所述经验池,对所述DQN进行更新,包括:
从所述经验池中随机选取预定数目个经验样本;
基于反向传播算法与所述预定数目个经验样本,对所述DQN进行更新。
7.一种基于DQN模拟航空器自动着陆的装置,其特征在于,包括:
获取模,用于对每个时间片t,获取模拟系统中模拟航空器的当前状态st;
第一确定模块,用于基于DQN确定所述模拟航空器在当前状态st下要执行的动作at;
第二确定模块,用于控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;
第三确定模块,用于确定所述状态st+1中每个变量与预设的目标状态中对应的变量的相似度;如果所述状态st+1中每个变量与预设的目标状态中对应的变量的相似度均大于或等于与所述变量对应的预设阈值,则判定所述模拟航空器着陆成功。
8.一种基于DQN模拟航空器自动着陆的电子设备,其特征在于,包括:
存储器,配置为存储可执行指令;
处理器,配置为执行所述存储器中存储的可执行指令,以执行根据权利要求1‑6中任一个所述的方法。
9.一种计算机可读存储介质,其特征在于,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行根据权利要求1‑6中任一个所述的方法。

说明书全文

基于DQN模拟航空器自动着陆的方法及相关设备

技术领域

[0001] 本发明涉及深度学习领域,特别是涉及基于DQN模拟航空器自动着陆的方法及相关设备。

背景技术

[0002] 在进行航空器的自动模拟着陆过程中,一般使用机器学习模型进行所述模拟过程。在对所述航空器着陆的交互场景进行模拟时,使用有监督的学习无法有效进行,而一般的无监督的学习也无法从一堆未标记的样本中发现隐藏的结构/知识,无法达到交互场景中要获得最大“奖励”以达到训练目标的目的。

发明内容

[0003] 基于此,为解决相关技术中如何从技术层面上更加高效地模拟航空器自动着陆所面临的技术问题,本发明提供了一种基于DQN模拟航空器自动着陆的方法及相关设备。
[0004] 第一方面,提供了一种基于DQN模拟航空器自动着陆的方法,包括:
[0005] 对每个时间片t,获取模拟航空器的当前状态st;
[0006] 基于DQN确定所述模拟航空器在当前状态st下要执行的动作at;
[0007] 控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;
[0008] 基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功。
[0009] 在本公开的一示例性实施例中,基于DQN确定所述模拟航空器在当前状态st下要执行的动作at,包括:
[0010] 将所述模拟航空器的当前状态st输入DQN,得到预设的动作集中每个动作a与所述当前状态st对应的预期收益Q(s,a);
[0011] 基于所述预期收益Q(s,a),确定所述模拟航空器在当前状态st下要执行的动作at。
[0012] 在本公开的一示例性实施例中,基于所述预期收益Q(s,a),确定所述模拟航空器在当前状态st下要执行的动作at,包括:
[0013] 确定所述预期收益Q(s,a)中值最大的Q(s,a)所对应的动作amax;
[0014] 基于贪婪算法,以预设概率P选取动作amax作为所述at,以概率(1‑P)从所述动作集中随机选取一个a作为所述at。
[0015] 在本公开的一示例性实施例中,控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1之后,包括:
[0016] 确定所述模拟航空器执行完所述动作at后,获得的实际收益rt;
[0017] 将作为一个经验样本,置于经验池中;
[0018] 基于所述经验池,对所述DQN进行更新。
[0019] 在本公开的一示例性实施例中,经验池中的经验样本还通过以下方法获得:
[0020] 从历史模拟航空器的历史模拟记录中随机选取一时间片k,确定所述历史模拟航空器对应的状态sk、执行的动作ak、执行动作ak后的状态sk+1、获得的实际收益rk;
[0021] 将作为一个经验样本,置于经验池中。
[0022] 在本公开的一示例性实施例中,基于所述经验池,对所述DQN进行更新,包括:
[0023] 从所述经验池中随机选取预定数目个经验样本;
[0024] 基于反向传播算法与所述预定数目个经验样本,对所述DQN进行更新。
[0025] 在本公开的一示例性实施例中,基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功,包括:
[0026] 确定所述状态st+1中每个变量与预设的目标状态中对应的变量的相似度;
[0027] 如果所述状态st+1中每个变量与预设的目标状态中对应的变量的相似度均大于或等于与所述变量对应的预设阈值,则判定所述模拟航空器着陆成功。
[0028] 根据本公开的第二方面,提供了一种基于DQN模拟航空器自动着陆的装置,包括:
[0029] 获取模,用于对每个时间片t,获取模拟系统中模拟航空器的当前状态st;
[0030] 第一确定模块,用于基于DQN确定所述模拟航空器在当前状态st下要执行的动作at;
[0031] 第二确定模块,用于控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;
[0032] 第三确定模块,用于基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功。
[0033] 根据本公开的第三方面,提供了一种基于DQN模拟航空器自动着陆的电子设备,包括:
[0034] 存储器,配置为存储可执行指令。
[0035] 处理器,配置为执行所述存储器中存储的可执行指令,以执行以上所述的方法。
[0036] 根据本公开的第四方面,提供一种计算机可读存储介质,其存储有计算机程序指令,当所述计算机指令被计算机执行时,使计算机执行以上所述的方法。
[0037] 与传统技术中基于一般强化学习进行航空器的模拟着陆相比,本公开的实施例通过使用基于Q‑learning的增强学习算法,即DQN,进行航空器的模拟着陆,提高了模拟航空器自动着陆的效率。
[0038] 本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0039] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。附图说明
[0040] 图1示出根据本公开一示例实施方式的基于DQN模拟航空器自动着陆的流程图
[0041] 图2示出根据本公开一示例实施方式的基于DQN模拟航空器自动着陆的装置的方框图
[0042] 图3示出根据本公开一示例实施方式的基于DQN确定所述模拟航空器在当前状态st下要执行的动作at的详细流程图。
[0043] 图4示出根据本公开一示例实施方式的基于所述预期收益Q(s,a),确定所述模拟航空器在当前状态st下要执行的动作at的详细流程图。
[0044] 图5示出根据本公开一示例实施方式的控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1之后的详细流程图。
[0045] 图6示出根据本公开一示例实施方式的获得经验池中的经验样本的详细流程图。
[0046] 图7示出根据本公开一示例实施方式的基于所述经验池,对所述DQN进行更新的详细流程图。
[0047] 图8示出根据本公开一示例实施方式的基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功的详细流程图。
[0048] 图9示出根据本公开一示例实施方式的基于DQN模拟航空器自动着陆的系统架构图。
[0049] 图10示出根据本公开一示例实施方式的基于DQN模拟航空器自动着陆的电子设备图。
[0050] 图11示出根据本公开一示例实施方式的基于DQN模拟航空器自动着陆的计算机可读存储介质图。

具体实施方式

[0051] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
[0052] 此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0053] 本公开的目的在于从技术方面提高模拟航空器自动着陆的效率。根据本公开一个实施例的基于DQN模拟航空器自动着陆的方法,包括:对每个时间片t,获取模拟航空器的当前状态st;基于DQN确定所述模拟航空器在当前状态st下要执行的动作at;控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功。与传统技术中基于一般强化学习进行航空器的模拟着陆相比,本公开的实施例通过使用基于Q‑learning的增强学习算法,即DQN,进行航空器的模拟着陆,提高了模拟航空器自动着陆的效率。
[0054] 图1示出根据本公开一示例实施方式的基于DQN模拟航空器自动着陆的流程图:
[0055] 步骤S100:对每个时间片t,获取模拟航空器的当前状态st;
[0056] 步骤S110:基于DQN确定所述模拟航空器在当前状态st下要执行的动作at;
[0057] 步骤S120:控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;
[0058] 步骤S130:基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功。
[0059] 下面,将结合附图对本示例实施方式中基于DQN模拟航空器自动着陆的各步骤进行详细的解释以及说明。
[0060] 在步骤S100中,对每个时间片t,获取模拟航空器的当前状态st。
[0061] 时间片是指分配给模拟过程中每个进程的一个时间段,一般只有十几毫秒。
[0062] 当前状态st是指模拟航空器当前所处的空间、运动状态,使用一个多维变量表示:坐标(x,y)、速度(u,v)、度(g)、角速度(w)、左右支脚是否着地(l,r)。其中,l=0代表左支脚未着地,l=1代表左支脚着地;r=0代表右支脚未着地,r=1代表右支脚着地。
[0063] 通过获取模拟航空器的当前状态st,使得模拟系统能够基于所述模拟航空器的当前状态st,确定模拟航空器接下来要执行的动作。
[0064] 在一实施例中,对时间片t,获取到的模拟航空器的当前状态st为:【坐标(‑5.5m,13.0m)、速度(2.1m/s,1.0m/s)、角度(21°)、角速度(0.7rad/s)、左右支脚是否着地(0,0)】。
[0065] 在步骤S110中,基于DQN确定所述模拟航空器在当前状态st下要执行的动作at。
[0066] DQN是指基于Q‑learning的增强学习算法,能够输出预期收益值Q(s,a)的深度卷积神经网络
[0067] 预期收益值Q(s,a)是指在状态s时,执行动作a后预期获得的收益大小。所述预期收益值Q(s,a)越大,说明执行对应的动作a越能以更高的效率达到训练/模拟的目的。
[0068] 通过这种方法,确定了模拟航空器在当前状态st下要执行的、能够获得最大收益的动作at。
[0069] 在一实施例中,如图3所示,步骤S110包括:
[0070] 步骤S1101:将所述模拟航空器的当前状态st输入DQN,得到预设的动作集中每个动作a与所述当前状态st对应的预期收益Q(s,a);
[0071] 步骤S1102:基于所述预期收益Q(s,a),确定所述模拟航空器在当前状态st下要执行的动作at。
[0072] 预设的动作集是指预先设定的模拟航空器能够执行的动作a的集合,所述动作a例如:机身右倾/左倾、机身抬头、机身俯冲、向右/向左转弯、刹车
[0073] 通过这种方法,确定了所述模拟航空器在当前状态st下要执行的动作at。
[0074] 在一实施例中,如图4所示,步骤S1102包括:
[0075] 步骤S11021:确定所述预期收益Q(s,a)中值最大的Q(s,a)所对应的动作amax;
[0076] 步骤S11022:基于贪婪算法,以预设概率P选取动作amax作为所述at,以概率(1‑P)从所述动作集中随机选取一个a作为所述at。
[0077] 贪婪算法是指对问题进行求解时,在每一步选择中都采取最优的选择,从而希望能够得到最优结果的算法。
[0078] 由于通过计算得到的amax是在当前神经网络的“经验/知识”不甚完备的情况下,预期能够得到最优结果(最大预期收益)的动作。实际执行过程中,也许存在其它动作a,能够得到更优的结果。因此,为了达到更好的训练效果,在训练神经网络时,要给予其一定的探索空间:即,并不会一定选取amax作为所述at,而是基于贪婪算法,以预设概率P选取amax作为所述at,以概率(1‑P)从动作集中随机选取一个a作为所述at。其中,P的选取与训练性能相关:P在区间[0,1]间,P值越大,将神经网络训练完成的速度就越快;P值越小,在训练过程中,神经网络的探索空间更大,最终训练完成的神经网络,在解决问题的表现上更加优异。
[0079] 在一实施例中,预设的动作集为【机身右倾、机身左倾、机身抬头、机身俯冲】。将模拟航空器的当前状态st:【坐标(‑5.5m,13.0m)、速度(2.1m/s,1.0m/s)、角度(21°)、角速度(0.7rad/s)、左右支脚是否着地(0,0)】输入DQN中,得到所述动作集中每个动作对应的预期收益Q(s,a)分别为【‑20、35、22、‑7】。由此可得:动作“机身左倾”对应的预期收益Q(s,a)最大,则所述amax就是动作“机身左倾”。
[0080] 其中,基于对DQN性能的需求,预设的概率P为85%。即,以85%的概率选取“机身左倾”作为模拟航空器在当前状态st下要执行的动作at,以15%的概率从动作集中随机选取一个动作作为模拟航空器在当前状态st下要执行的动作at。
[0081] 在步骤S120中,确定所述模拟航空器执行完所述动作at后的状态st+1。
[0082] 状态st+1是指模拟航空器执行完所述动作at,进入时间片t+1后的状态。
[0083] 通过这种方法,使得服务器能够确定模拟航空器执行完所述动作at后的状态变化。
[0084] 在一实施例中,模拟航空器的当前状态st为:【坐标(‑5.5m,13.0m)、速度(2.1m/s,1.0m/s)、角度(21°)、角速度(0.7rad/s)、左右支脚是否着地(0,0)】,确定的动作at为“机身左倾”。所述模拟航空器执行所述动作at后,进入下一时间片t+1,同时航空器状态也变为st+1:【坐标(‑2.0m,13.0m)、速度(2.1m/s,1.0m/s)、角度(21°)、角速度(0.7rad/s)、左右支脚是否着地(0,0)】。
[0085] 在一实施例中,如图5所示,所述确定所述模拟航空器执行完所述动作at后的状态st+1之后,包括:
[0086] 步骤S122:确定所述模拟航空器执行完所述动作at后,获得的实际收益rt;
[0087] 步骤S124:将作为一个经验样本,置于经验池中;
[0088] 步骤S126:基于所述经验池,对所述DQN进行更新。
[0089] 不同于预期收益Q(s,a),实际收益rt是指模拟航空器执行完所述动作at后实际获得的收益。
[0090] 经验样本是指历史模拟过程中,模拟航空器在当前状态st,执行动作at后,获得了实际收益rt,进入时间片t+1后状态变为st+1的记录,可用于更新DQN。
[0091] 经验池是指用来存放经验样本的数据库
[0092] 通过这种方法,实现了对DQN的更新,使得在下一时间片t+1,可以使用更新后的DQN继续进行所述模拟过程。
[0093] 在一实施例中,如图6所示,所述经验池中的经验样本还通过以下方法获得:
[0094] 步骤S1241:从历史模拟航空器的历史模拟记录中随机选取一时间片k,确定所述历史模拟航空器对应的状态sk、执行的动作ak、执行动作ak后的状态sk+1、获得的实际收益rk;
[0095] 步骤S1242:将作为一个经验样本,置于经验池中。
[0096] 通过将历史模拟航空器的历史模拟记录对应的作为一个经验样本,置于经验池中,使得对DQN进行更新时,能够使用更为丰富多样的经验样本。在这种情况下,相当于模拟航空器不仅从来源于本次模拟过程中的经验样本中学习到了知识——更新了DQN,也从来源于其他模拟过程中的经验样本中学习到了知识——更新了DQN。这种方法,提高了DQN的泛化性,有效提高了DQN的训练效率。
[0097] 在一实施例中,如图7所示,所述基于所述经验池,对所述DQN进行更新,包括:
[0098] 步骤S1261:从所述经验池中随机选取预定数目个经验样本;
[0099] 步骤S1262:基于反向传播算法与所述预定数目个经验样本,对所述DQN进行更新。
[0100] 通过使用反向传播算法及所述经验样本,完成了对DQN的更新。
[0101] 在一实施例中,模拟航空器执行完动作a“t 机身左倾”后,获得的实际收益rt为33,状态由st变为st+1:【坐标(‑2.0m,13.0m)、速度(2.1m/s,1.0m/s)、角度(21°)、角速度(0.7rad/s)、左右支脚是否着地(0,0)】。
[0102] 将<【坐标(‑5.5m,13.0m)、速度(2.1m/s,1.0m/s)、角度(21°)、角速度(0.7rad/s)、左右支脚是否着地(0,0)】,机身左倾,33,【坐标(‑2.0m,13.0m)、速度(2.1m/s,1.0m/s)、角度(21°)、角速度(0.7rad/s)、左右支脚是否着地(0,0)】>作为一个经验样本,置于经验池中。其中,经验池中的部分经验样本是从其他模拟航空器的历史记录中获得的。之后,从经验池中随机选取预定数目个经验样本,基于反向传播算法更新DQN。上述过程中,相当于DQN从自身的经验以及其他模拟航空器的经验中学习到了关于模拟着陆的知识,从而能够在接下来的模拟着陆过程中,以更加正确、高效的方式进行模拟航空器的着陆。
[0103] 在步骤S130中,基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功。
[0104] 目标状态是指在模拟着陆之前,事先确定的要让模拟航空器降落在哪个地点以及降落后的运动状态。
[0105] 通过这种方法,使得服务器能够根据匹配结果确定是否要继续所述模拟着陆过程。
[0106] 在一实施例中,如图8所示,步骤S130包括:
[0107] 步骤S1301:确定所述状态st+1中每个变量与预设的目标状态中对应的变量的相似度;
[0108] 步骤S1302:如果所述状态st+1中每个变量与预设的目标状态中对应的变量的相似度均大于或等于与所述变量对应的预设阈值,则判定所述模拟航空器着陆成功。
[0109] 由于状态st+1不可能与目标状态完全一致,因此使用状态中变量的相似度来衡量状态st+1是否足够接近目标状态,即,是否着陆成功。
[0110] 在一实施例中,对于不同的变量有着对应的预设阈值、以及对应的相似度计算方法。例如:预设的目标状态为:【坐标(0.0m,0.0m)、速度(0.0m/s,0.0m/s)、角度(30°)、角速度(0rad/s)、左右支脚是否着地(1,1)】,状态st+1为:【坐标(‑2.0m,13.0m)、速度(2.1m/s,1.0m/s)、角度(21°)、角速度(0.7rad/s)、左右支脚是否着地(0,0)】。
[0111] 对于坐标这一变量,预设相似度阈值为98%:模拟系统中模拟地面的平均半径为100m,将状态st+1的坐标与目标状态的坐标间的距离(13.15m)除以模拟地面的平均半径,得到13.15%。使用100%减去13.15%,得到相似度为86.85%。
[0112] 对于速度这一变量,预设相似度阈值为100%:如果状态st+1中的速度与目标状态中的速度完全一致,则相似度为100%;如果状态st+1中的速度与目标状态中的速度不完全一致,则相似度为0。由此可得,相似度为0。
[0113] 对于角度这一变量,预设相似度阈值为98%:将状态st+1中的角度与目标状态的角度间的角度差值(9°),除以360°,得到2.5%。使用100%减去2.5%,得到相似度为97.5%。
[0114] 对于角速度这一变量,预设相似度阈值为100%:如果状态st+1中的角速度与目标状态中的角速度完全一致,则相似度为100%;如果状态st+1中的角速度与目标状态中的角速度不完全一致,则相似度为0。由此可得,相似度为0。
[0115] 对于左右支脚是否着地这一变量,预设相似度阈值为100%:如果状态st+1中的左右支脚是否着地与目标状态中的左右支脚是否着地完全一致,则相似度为100%;如果状态st+1中的左右支脚是否着地与目标状态中的左右支脚是否着地不完全一致,则相似度为0。由此可得,相似度为0。
[0116] 由于状态st+1中每个变量与预设的目标状态中对应的变量的相似度并未均大于或等于与所述变量对应的预设阈值,由此可得,着陆未成功。因此,继续上述模拟着陆的过程。直到状态st+1中每个变量与预设的目标状态中对应的变量的相似度均大于或等于与所述变量对应的预设阈值,即,着陆成功时,终止上述模拟着陆的过程。
[0117] 在一实施例中,如图2所示,提供了一种基于DQN模拟航空器自动着陆的装置,具体包括:
[0118] 获取模块200,用于对每个时间片t,获取模拟系统中模拟航空器的当前状态st;
[0119] 第一确定模块210,用于基于DQN确定所述模拟航空器在当前状态st下要执行的动作at;
[0120] 第二确定模块220,用于控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;
[0121] 第三确定模块230,用于基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功。
[0122] 上述装置中各个模块的功能和作用的实现过程具体详见上述基于DQN模拟航空器自动着陆的方法中对应步骤的实现过程,在此不再赘述。
[0123] 应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0124] 此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0125] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
[0126] 图9示出根据本公开一示例实施方式的基于DQN模拟航空器自动着陆的系统架构图。该系统架构包括:服务器310、数据库320、管理端330。
[0127] 在一实施例中,模拟航空器自动着陆的模拟系统位于服务器310中,模拟着陆由服务器310进行。服务器310从管理端330获取对模拟系统预设的参数,例如:预设的目标状态、对各变量预设的相似度阈值,用于上述方法中模拟过程的进行。服务器310从数据库320中获取其他模拟航空器的历史记录以获取经验样本,并将本次模拟着陆生成的经验样本存储入数据库320中。
[0128] 通过以上对系统架构的描述,本领域的技术人员易于理解,这里描述的系统架构能够实现图2所示的基于DQN模拟航空器自动着陆的装置中各个模块的功能。
[0129] 在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0130] 所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0131] 下面参照图10来描述根据本发明的这种实施方式的电子设备400。图10显示的电子设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0132] 如图10所示,电子设备400以通用计算设备的形式表现。电子设备400的组件可以包括但不限于:上述至少一个处理单元410、上述至少一个存储单元420、连接不同系统组件(包括存储单元420和处理单元410)的总线430。
[0133] 其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元410执行,使得所述处理单元410执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元410可以执行如图1中所示步骤S100:对每个时间片t,获取模拟航空器的当前状态st;步骤S110:基于DQN确定所述模拟航空器在当前状态st下要执行的动作at,所述DQN是指基于Q‑learning算法的深度卷积神经网络;步骤S120:控制所述模拟航空器执行所述动作at,确定所述模拟航空器执行完所述动作at后的状态st+1;步骤S130:基于所述状态st+1与预设的目标状态的匹配结果,确定所述模拟航空器是否着陆成功。
[0134] 存储单元420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)4201和/或高速缓存存储单元4202,还可以进一步包括只读存储单元(ROM)4203。
[0135] 存储单元420还可以包括具有一组(至少一个)程序模块4205的程序/实用工具4204,这样的程序模块4205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0136] 总线430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0137] 电子设备400也可以与一个或多个外部设备500(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备400交互的设备通信,和/或与使得该电子设备400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口450进行。并且,电子设备400还可以通过网络适配器460与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器460通过总线430与电子设备400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0138] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0139] 在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0140] 参考图11所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD‑ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0141] 所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0142] 计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0143] 可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0144] 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0145] 此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0146] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
QQ群二维码
意见反馈