一种用于避碰动态障碍物的无人机类脑避障方法

文档序号:31054339发布日期:2022-08-06 11:09阅读:415来源:国知局
一种用于避碰动态障碍物的无人机类脑避障方法

1.本发明主要涉及无人机技术领域,具体涉及一种用于避碰动态障碍物的无人机类脑避障方法。


背景技术:

2.无人机(unmanned aerial vehicle,uav)在学术界和工业界都受到了空前重视并得到迅速发展。目前,无人机广泛应用于情报侦察、军事打击、信息对抗、搜索救援等军事领域,以及航空摄影、环境保护、农林作业、货物递送、道路交通监控等民用领域。
3.许多无人机都涉及到在低空和受限环境的飞行,例如空中格斗、复杂环境快速穿越、巡航过程中遇到突发情况等。这些情况对无人机的快速避障提出了很大的考验。无人机对障碍物识别距离和数量有限,在面对近距离障碍或者障碍速度较快时,无人机需要做出非常剧烈和频繁的机动动作。准确而快速的机动动作决策可以确保无人机自身安全,极大地提高无人机的生存能力。
4.随着应用的不断扩展,无人机越来越多地面临着复杂动态的飞行环境。在复杂动态的环境中,无人机遇到突发事故的可能性不断提高,为了能够智能、自主地完成任务,无人机必须具备对快速运动障碍实现快速避障的能力。因此,使无人机能够完成快速的机动动作决策,实现对近距离或者动态障碍的快速避障,是其保全自身并顺利完成任务的基础。对无人机避障快速决策展开研究具有重要的理论意义和应用价值。
5.无人机通过动作决策实现快速避障主要面临以下挑战:
6.其一,快速性挑战。面对快速避障任务时,无人机面临的是运动速度较快或相对距离近的目标,这就要求其必须在短时间内完成快速避障任务。这不仅包括运动规划和底层控制的快速响应,还需要无人机迅速完成运动规划的顶层决策。这对于传统的无人机运动规划和控制方法来说较难实现:一方面,在获知目标的运动状态时才能较快地完成运动规划,在目标运动状态未知的情况下,则很难在短时间内完成运动规划;另一方面,多层嵌套的反馈控制回路束缚了无人机的动作执行频率,难以满足快速避障需求。而传统的无人机决策方法,往往高度依赖于环境信息的预处理,而这往往占据了决策算法的大部分时间。若能想办法将这部分时间节省下来,则可以大大加快无人机决策的速度。
7.其二,机载资源受限。小型无人机受限于自身的机型和载荷大小,无法携带较多的计算资源:复杂的决策算法会消耗大量的计算资源,从而依赖高性能的计算设备实现,然而这些重量较大,无法在载荷受限的小型无人机上使用,这导致了无人机需要在机载资源受限的条件下选用轻量级算法进行快速决策。
8.为应对这两个重大挑战,需要探索耗时短、消耗计算资源少、能耗低的快速避障方法。在处理一些复杂任务时,人脑的决策机制十分高效。因此,通过借鉴人脑的决策机制,很有可能找到一种耗时短、消耗计算资源少、能耗低的快速决策方法。
9.起源于脑科学的脉冲神经网络(spiking neural network,snn)是第三代人工神经网络,以其丰富的时空领域的神经动力学特性、多样的编码机制、事件驱动的优势引起了
学者的关注。近年来,脉冲神经网络的发展使得当前以脑科学成果为基础和启发的一种新型计算范式——类脑计算(brain-inspired computing,bic)产生了极大的发展。通过脉冲神经网络来实现类脑决策方法,可以显著缩小网络规模,同时高密度的信息传递方式具备降低资源消耗的特性。
10.脉冲神经网络在快速决策方法中的研究可以分为两条脉络。第一条脉络是从对生物脑的理解开始的,是对脑启发决策方法的研究。在过去的二十年中,基底神经节和丘脑逐渐被认为参与了人脑中对于运动行为的选择过程。第二条脉络是从强化学习算法在脉冲神经网络上的实现开始的,是脉冲神经网络在决策上的实现,强化学习的目标是实现从状态空间到动作空间的映射,天然适合运用到决策中。脉冲神经网络的训练方法分成两类,一类是按照相应的对照关系,将参数学习的过程从传统的人工神经网络映射到脉冲神经网络上,另一类则是依据stdp直接在脉冲神经网络上进行训练。
11.总的来看,在基于脉冲神经网络的无人系统决策领域,已经出现了一些研究成果,奠定了一定的理论基础,但是并没有一个通用的学习范式。同时,现有的方法对于状态空间的描述和状态神经元的建模实现尚不成熟,没有充分发挥出脉冲神经网络的潜力。


技术实现要素:

12.本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种响应速度快的用于避碰动态障碍物的无人机类脑避障方法。
13.为解决上述技术问题,本发明提出的技术方案为:
14.一种用于避碰动态障碍物的无人机类脑避障方法,包括步骤:
15.1)分析脉冲神经元的响应特性,建立神经元脉冲响应模型;
16.2)对脉冲ac网络的输入相机数据进行差分编码处理,对输出时序信号进行时序编码调制,基于a3c算法的异步更新机制和基于λ回归算法的多步更新机制对脉冲ac网络的网络更新机制进行更新;
17.3)获取无人机的相机数据,通过神经元脉冲响应模型和更新后的脉冲ac网络输出避障决策以进行避障。
18.优选地,在步骤2)中,对相机数据进行脉冲化编码,使其能够直接被脉冲神经网络识别;其中对相机数据的脉冲化编码是通过识别对应像素上的数据变化来实现的;其中需要对相机的数据进行差分操作,具体为:
19.相机的数据是rgb的亮度值,根据每个像素位置的亮度变化,产生识别变化的脉冲信号;将每个像素的亮度转化为对数亮度,如下式:
20.l(u,t)=log(0.299ir(u,t)+0.5781ig(u,t)+0.1141ib(u,t))
ꢀꢀ
(1)
21.其中,ir、ig、ib分别是相机的rgb数据,u是对应的像素位置,t为对应的时间;
22.对像素的对数亮度做差分,产生对应的亮度变化;选取一个阈值δl,设定亮度变化超过阈值δl的变化是无人机需要关注的明显变化,即:
23.f(u,t)=1,l(u,t)-l(u,t-δt)》δl(2)
24.通过f(u,t)记录这些明显变化;f(u,t)就是所需要的无人机的脉冲输入。
25.优选地,在步骤2)中,相机输入的帧之间的时间间隔δt与仿真时使用的时间间隔δt是不同的;采用线性插值的方法,将两帧之间的像素对数亮度变化,平摊到帧时间间隔
中,以补足帧与帧之间的脉冲信号编码。
26.优选地,在步骤2)中,对输出时序信号进行时序编码调制的过程为:
27.critic网络中,输出层只需要一个脉冲神经元来对信息进行编码,用以表示当前状态的价值函数;经过调制,脉冲神经元可以在任意时刻产生第一个脉冲,即将信息编码到正向时轴上,取值范围为t
out
∈(0,+∞);
28.设置调制神经元与输出神经元之间连接的权重,调制神经元激发的脉冲,在抵达输出神经元后,会使输出神经元激发一个脉冲,且输出神经元激发脉冲的时间为脉冲响应抵达峰值的时间;
29.在actor网络中,通过多个脉冲神经元分别产生的第一个脉冲进行编码,使每个神经元分别代表一个待选择的动作;其中为输出层的每一个神经元添加适当的随机操作,使神经元产生脉冲的时间随机化,然后通过不同的脉冲神经元产生脉冲的顺序,编码选择某个动作而不选择另外的动作的概率。
30.优选地,在基于a3c算法的异步更新机制对脉冲ac网络进行更新时,采用n步更新的方式,用优势函数a(s
t
,a
t
;θ’,w’)代替时序差分δ;每当actor网络产生动作信号时,输入的脉冲序列被截断,新时刻的状态开始,此时引入一个新的critic网络,将新时刻的状态输入到新的critic网络中,而旧时刻的状态则仍然在原来的critic网络中传递,直到原来的critic网络输出旧时刻的状态值函数,此时才开始更新网络的参数;最开始,脉冲序列同时输入到actor网络和critic1网络中;在t1时刻,actor网络产生动作信号,此时,输入脉冲序列以t1时刻为新的初始0时刻,产生新的状态,输入到critic2网络中;在t2时刻,actor网络产生动作信号,此时,输入脉冲序列以t2时刻为新的初始0时刻,产生新的状态,输入到critic3网络中;以此类推。
31.优选地,基于λ回归算法的多步更新机制对脉冲ac网络进行更新时,将回合合并,把网络参数更新的时间转为大回合结束时更新;其中λ回归包含所有n步回归,权重系数分别为(1-λ)λ
n-1
,其中λ∈[0,1],λ回归在最大的回合结束之后再返回更新,λ回归包含所有的n步回归。
[0032]
优选地,所述避障决策包括向左飞行、向右飞行和悬停。
[0033]
本发明还公开了一种用于避碰动态障碍物的无人机类脑避障系统,包括:
[0034]
第一程序模块,用于分析脉冲神经元的响应特性,建立神经元脉冲响应模型;
[0035]
第二程序模块,用于对脉冲ac网络的输入相机数据进行差分编码处理,对输出时序信号进行时序编码调制,基于a3c算法的异步更新机制和基于λ回归算法的多步更新机制对脉冲ac网络进行更新;
[0036]
第三程序模块,用于获取无人机的相机数据,通过神经元脉冲响应模型和更新后的脉冲ac网络输出避障决策以进行避障。
[0037]
本发明进一步公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时执行如上所述方法的步骤。
[0038]
本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序在被处理器运行时执行如上所述方法的步骤。
[0039]
与现有技术相比,本发明的优点在于:
[0040]
本发明针对动态障碍物避碰决策任务带来的快速性需求,分别对脉冲ac网络的输
入相机数据进行差分编码等处理,对输出时序信号进行了时序编码调制。其次,基于a3c算法的异步更新机制和基于λ回归算法的多步更新机制对脉冲ac网络进行更新,然后基于lif模型和三层输入输出网络对无人机的相机数据进行处理,快速得到避障决策以进行避障。本发明首次通过简单的神经元脉冲响应模型和2-3层小规模脉冲ac网络,实现了无人机躲避动态障碍物等相对复杂的决策任务,具有比传统ac算法决策速度快、资源消耗少和生物可解释性强等优点。
附图说明
[0041]
图1为本发明中依概率激发脉冲示意图。
[0042]
图2为本发明中异步更新示意图。
[0043]
图3为本发明中gt:t+2/2+gt:t+4回归法示意图。
[0044]
图4为本发明中的λ回归示意图。
[0045]
图5为本发明中无人机躲避飞来篮球任务示意图。
[0046]
图6为本发明中actor-critic网络结构示意图。
[0047]
图7为本发明训练过程中获得的累积奖励信号示意图。
[0048]
图8为本发明中球飞来时,无人机未能即时做出正确决策示意图。
[0049]
图9为本发明中球在无人机面前落下,无人机维持悬停示意图。
[0050]
图10为本发明中球从左前向无人机后部飞来,无人机向右飞行示意图。
[0051]
图11为本发明中球从左前向无人机前部飞来,无人机向左飞行示意图。
[0052]
图12为本发明中第2000回合的无人机决策时间示意图。
[0053]
图13为本发明中训练过程中回合内平均决策时间变化示意图。
[0054]
图14为传统actor-critic网络结构示意图。
[0055]
图15为本发明中一次躲避篮球实验的决策时间的分布示意图。
[0056]
图16为本发明中一百次躲避篮球实验的回合内平均决策时间示意图。
[0057]
图17为本发明的方法在实施例的流程图。
具体实施方式
[0058]
以下结合说明书附图和具体实施例对本发明作进一步描述。
[0059]
如图17所示,本发明实施例的用于避碰动态障碍物的无人机类脑避障方法,包括步骤:
[0060]
1)分析脉冲神经元的响应特性,建立神经元脉冲响应模型;
[0061]
2)对脉冲ac网络的输入相机数据进行差分编码处理,对输出时序信号进行时序编码调制,基于a3c算法的异步更新机制和基于λ回归算法的多步更新机制对脉冲ac网络进行网络更新机制的更新;
[0062]
3)获取无人机的相机数据,通过神经元脉冲响应模型和更新后的脉冲ac网络输出避障决策以进行避障。
[0063]
本发明针对动态障碍物避碰决策任务带来的快速性需求,分别对脉冲ac网络的输入相机数据进行差分编码等处理,对输出时序信号进行了时序编码调制。其次,基于a3c算法的异步更新机制和基于λ回归算法的多步更新机制对脉冲ac网络进行更新,然后基于lif
模型和三层输入输出网络对无人机的相机数据进行处理,快速得到避障决策以进行避障。本发明首次通过简单的神经元脉冲响应模型和2-3层小规模脉冲ac网络,实现了无人机躲避动态障碍物等相对复杂的决策任务,具有比传统ac算法决策速度快、资源消耗少和生物可解释性强等优点。
[0064]
在一具体实施例中,在快速避障任务中,无人机的传感器选用的是单目相机,而单目相机输出的数据帧是无法直接输入到脉冲神经网络中进行学习训练的。动态环境的快速避障任务重,需要考虑时间因素的影响。本发明将对相机数据进行脉冲化编码,使其能够直接被脉冲神经网络识别。其中对相机数据的脉冲化编码是通过识别对应像素上的数据变化来实现的。相机的数据,是对周边环境信息的反应。对于无人机快速避障而言,静止的环境信息是没有意义的,动态的环境信息才是无人机快速避障所必须的。为了监测这样的变化,需要对相机的数据进行差分操作,具体地:
[0065]
相机的数据是rgb的亮度值,根据每个像素位置的亮度变化,可以产生识别变化的脉冲信号。现将每个像素的亮度转化为对数亮度,如下式:
[0066]
l(u,t)=log(0.299ir(u,t)+0.5781ig(u,t)+0.1141ib(u,t))
ꢀꢀꢀꢀ
(1)
[0067]
其中,ir、ig、ib分别是相机的rgb数据,u是对应的像素位置,t为对应的时间。rgb数据综合之后产生的像素的亮度数据,如果直接用来做差分,难免会受到一些噪声的限制。尤其是无人机在空中悬停的过程中,其位置状态始终处于不断微调的情况下,则对于无人机而言,环境信息是每时每刻都在变化的。而这样的变化是无人机决策所不需要的,取对数后可以将这些变化也识别出来。
[0068]
对像素的对数亮度做差分,即可产生对应的亮度变化。选取一个阈值δl,设定亮度变化超过阈值δl的变化是无人机需要关注的明显变化,即:
[0069]
f(u,t)=1,l(u,t)-l(u,t-δt)》δl (2)
[0070]
这样,通过f(u,t)可以记录这些明显变化。f(u,t)就是所需要的无人机的脉冲输入。设定当f(u,t)=1时,输入神经元产生一个脉冲,产生脉冲的位置和时间分别为u和t。
[0071]
需要注意的是,相机输入的帧之间的时间间隔δt与仿真时使用的时间间隔δt是不同的。因此,为了补足帧与帧之间的脉冲信号编码,采用线性插值的方法,将两帧之间的像素对数亮度变化,平摊到帧时间间隔中,如式(3)和(4)所示:
[0072][0073][0074]
其中,n(u)是在像素u处生成的事件数量,nmax是对可能生成的事件数量的最大约束,ceil(
·
)是向上取整函数。
[0075]
在一具体实施例中,脉冲ac网络的输出时序编码调制过程为:critic网络中,输出层只需要一个脉冲神经元来对信息进行编码,用以表示当前状态的价值函数。对于脉冲神经元而言,能够进行有意义的编码的是输出神经元产生的第一个脉冲。经过适当的调制,脉冲神经元可以在任意时刻产生第一个脉冲,即将信息编码到正向时轴上,取值范围为t
out
∈(0,+∞)。
[0076]
考虑在神经网络隐藏层引入一个调制神经元。该神经元的作用是在足够长的时间
后,激发一个脉冲,传递到输出神经元。设置调制神经元与输出神经元之间连接的权重,
[0077][0078]
调制神经元激发的脉冲,在抵达输出神经元后,会使输出神经元激发一个脉冲,且输出神经元激发脉冲的时间为脉冲响应抵达峰值的时间。
[0079]
设调制神经元激发脉冲的时间为t
ad
,则调制神经元令输出神经元上产生脉冲的时间为
[0080]
t
out
=t
ad
+t
p

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0081]
需要注意的是,调制神经元的作用是使输出神经元在任何条件下都能产生脉冲,因而实际上起到的是“保底”的作用。因此,调制神经元激发脉冲的时间必须足够大,这样才能不影响输出神经元对正常状态输入的响应。记最后一个抵达输出神经元的脉冲的激发时间为t
last
,则t
ad
应当满足的条件为:
[0082]
t
ad
》t
last
+t
p
ꢀꢀꢀꢀꢀꢀ
(7)
[0083]
在actor网络中,考虑动作空间离散且有限的情况,可以通过多个脉冲神经元分别产生的第一个脉冲进行编码,使每个神经元分别代表一个待选择的动作。这样,单个脉冲神经元输出的第一个脉冲的时间不再存在具体意义,有意义的是不同脉冲神经元之间产生第一个脉冲的先后顺序。在泄露整合放电模型和脉冲响应模型中,脉冲神经元的状态都能通过方程得到确切的解,这样,每个神经元产生脉冲的时间是严格确定的,不同神经元之间产生第一个脉冲的先后顺序也是严格确定的。因此,为了应用这种编码方式,需要为输出层的每一个神经元添加适当的随机操作,使神经元产生脉冲的时间随机化。然后通过不同的脉冲神经元产生脉冲的顺序,就可以编码选择某个动作而不选择另外的动作的概率。
[0084]
在一具体实施例中,动态环境下脉冲ac更新机制的改进为:通过调制神经元和添加随机操作的方法,使网络输出能够适应于动态环境。在本发明中,于已有的输入输出表示,完善脉冲网络的更新机制,实现动态环境下的脉冲ac网络快速决策方法,其中critic网络的更新机制改进:
[0085]
设critic网络的参数为w,列出critic网络的更新公式:
[0086][0087]
其中,g

和v(s
t
,w)随着网络输出可以较为轻易地得到,然后计算得到值函数梯度据此进行critic网络的参数更新。
[0088]
其中,基于a3c算法的异步更新机制为:针对动态障碍物规避等快速决策任务,actor网络的动作决策速度应该尽可能快;而critic网络为了保证输出更加精确的状态值函数,输出的第一次脉冲应该在更大的时间范围内取值。如此导致的问题就是在actor网络产生动作信号的时侯,critic网络可能仍需一段时间才能产生值函数信号。critic网络的速度远远落后于actor网络,导致critic网络产生阻塞,无法及时产生当前状态值函数的同时,也会阻碍下一时刻状态值函数的产生,造成ac网络的参数无法更新。为了解决这个问题,可以借鉴异步优势ac算法(asynchronous advantage actor critic,a3c)对更新机制进行改进。
[0089]
其中异步优势actor-critic算法是一种基于actor-critic算法的改进算法,其基本思想是在环境的多个实例上,异步并行地执行多个智能体,通过各并行智能体收集的样
本训练降低样本相关性。因为在任何给定的时间步,并行的智能体将经历各种不同的状态,因此这种并行性使得智能体的数据通过解相关而变为一个更平稳的过程。一般情况下,一个智能体通过一个单独的线程来实现,而a3c算法的学习速度和线程数大约成线性关系。
[0090]
在a3c算法中,一个主线程负责保存actor-critic网络的所有参数,包括v(s,w)的参数w和π
θ
(a|s,θ)的参数θ。分线程在开始训练时,需要从主线程下载actor-critic网络的参数,然后通过单独训练积累参数的梯度dw和dθ,训练一段时间后再将积累的梯度上传到主线程进行更新。
[0091]
a3c算法因为需要积累参数的梯度,所以在更新时采用的是n步更新的方式,其与一般actor-critic算法的区别是用优势函数a(s
t
,a
t
;θ’,w’)代替时序差分δ。
[0092]
将a3c算法异步更新的思想运用到脉冲ac网络中,就可以解决脉冲神经网络中actor网络和critic网络产生信号不同步的问题。
[0093]
借鉴这种思路,每当actor网络产生动作信号,输入的脉冲序列被截断,新时刻的状态开始,此时引入一个新的critic网络,将新时刻的状态输入到新的critic网络中,而旧时刻的状态则仍然在原来的critic网络中传递,直到原来的critic网络输出旧时刻的状态值函数,此时才开始更新网络的参数,如图2所示。最开始,脉冲序列同时输入到actor网络和critic1网络中;在t1时刻,actor网络产生动作信号,此时,输入脉冲序列以t1时刻为新的初始0时刻,产生新的状态,输入到critic2网络中;在t2时刻,actor网络产生动作信号,此时,输入脉冲序列以t2时刻为新的初始0时刻,产生新的状态,输入到critic3网络中;以此类推。
[0094]
需要注意的是,通过截断脉冲序列产生新时刻的状态,并把新状态传递到新的critic网络中的做法,并没有在实际意义上将两个网络分割开来。新的critic网络的参数,沿用自原来的critic网络的参数。对于原来的critic网络而言,当它产生出状态值函数时,它的回合结束,开始更新网络;而对于新的网络而言,并没有什么新的回合,原来的回合并没有结束,原来的critic网络产生的状态值函数仍然在回合之中,直到新的网络也产生了状态值函数,该回合才结束。
[0095]
当critic产生状态值函数,并且对网络参数进行更新后,再新引入的critic不再使用原来的参数,此时两个网络才在实际意义上分割开来,并且原来的回合不再继续应用。
[0096]
其中基于λ回归算法的多步更新机制为:
[0097]
基于a3c更新机制的类脑决策方法在引入新的critic网络时,原来的更新回合并没有就此中断。原来的critic网络在它产生出状态值函数时回合结束,并且以自身产生的状态值函数v0开始更新网络;对于新的critic网络,在它产生出自身的状态值函数v1时回合结束,并且综合考虑原来critic网络的状态值函数v0和新critic网络的值函数v1,开始更新网络。
[0098]
在实际训练过程中,按照a3c算法不断累积参数梯度的方法,会导致越早引入的critic网络,其产生的状态值函数影响越大。原来的critic网络产生的状态值函数,不仅在原网络自身的回合内用以更新参数,而在新网络的回合内,仍然被用以更新参数。等到更加新的网络产生时,之前的状态值函数仍然会在更加新的回合内被用以更新参数。
[0099]
导致这个现象的原因,是借鉴a3c更新机制完成的算法,本质上并不是并行运行的,各个critic网络之前有着很明显的时间延续关系。为了回避这个现象,可以将回合合
并,把网络参数更新的时间转为大回合结束时更新。这样,对于每一个critic网络而言,它本身回合结束时,对于大回合而言只是一步,而大回合结束才把参数梯度上传进行更新,相当于把每个回合的容量都“减小”到了一步,这样就避免了状态值函数的过度重复利用。
[0100]
在多步的回合内进行更新的方法,可以借鉴λ回归算法。λ回归算法是一种复合更新方法,它更新网络时,会综合考虑之后状态的值函数。
[0101]
n步回归可以作为拟合函数参数更新的学习目标。这个结论对不同步数的n步回归的平均值也成立。当这个平均值的权重和为1时,这种组合回归复合更新的方式和n步回归一样,通过减小td时序差分进行更新,可以保证参数收敛。
[0102]
以g
t:t+2
/2+g
t:t+4
为例,如图3所示。状态更新到s
t+2
时,可以计算得到2步回归g
t:t+2
,状态更新到s
t+4
时,可以计算得到4步回归g
t:t+4

[0103]
λ回归是一种特殊的组合回归方式,如图4。λ回归包含所有n步回归,权重系数分别为(1-λ)λ
n-1
,其中λ∈[0,1]。因为权重和为1,仍然可以保证参数收敛。λ的取值体现了离当前状态越远的状态,其影响就越小的思想。和所有的组合回归方法一样,λ回归需要在最大的回合结束之后再返回更新,而λ回归包含所有的n步回归,它最大的回合有无穷步。当然,在无穷步之后再回归更新当前状态是不可能的,在实际运用中,往往在h步时将其截断。
[0104]
将基于λ算法的多步更新公式应用到脉冲ac网络的类脑决策方法中,结合基于a3c算法的异步更新机制,采用动态环境下调整过的输入输出编码,则可以得到动态环境下的脉冲ac网络算法。
[0105]
在一具体实施例中,在步骤1)中,建立神经元脉冲响应模型的具体过程为:通过核函数η(s)和核函数κ(s),再加上阈值条件,构成神脉冲经元响应模型。其中核函数η(s)描述了膜电势的重置,解释了神经元激发脉冲的行为;核函数κ(s)总结了神经元膜表面的线性电特性。
[0106]
仿真验证:令无人机悬停于空中,使动态的障碍物迅速地接近悬停的无人机。无人机监测到接近的障碍物后,根据算法迅速做出决策,以躲避飞来的障碍物。如图5所示。篮球从无人机悬停位置前方3-5米处抛出,抛出速度为3-5米/秒。无人机监测飞行障碍物所选用的传感器为单目相机,其帧率为31fps。为了便于网络的训练和计算,无人机所能采取的动作,被限定为三个:向左飞行、向右飞行、维持原地悬停。在实验中限制无人机最大飞行速度为3米/秒。篮球被抛出的位置在无人机前方3-5米处任意选取,并且,其飞行轨迹会经过无人机初始位置的周边区域。无人机必须判断篮球是否会对自己产生威胁,然后做出决策。因为篮球的飞行轨迹会集中到无人机的初始位置,所以为了避免无人机做出躲避的决策后不再回到原位,降低训练效果,应当使无人机尽量保持原位,并且即便做出躲避决策之后,也会再次返回。
[0107]
设置了实验场景之后,开始在仿真环境中进行脉冲神经网络的训练。仿真环境平台选取的仍然是xtdrone无人机仿真平台。在xtdrone平台中设计动态障碍物,训练脉冲神经网络。
[0108]
脉冲ac网络的结构如图6所示。输入层的神经元数目与单目相机的像素数相同。输入神经元完成对像素的对数亮度取差分的操作,并根据差分结果,在亮度产生明显变化的像素对应的神经元产生脉冲。
[0109]
actor网络和critic网络的隐藏层由16*16的脉冲神经元组成。
[0110]
actor网络的输出层有3个神经元,分别表示向左飞行、向右飞行和维持原地悬停。critic网络的输出层有1个神经元,表示状态值函数。
[0111]
在仿真过程中,篮球的抛出位置位于无人机前方3-5米的区域内,抛出速度设置为4m/s至5m/s,篮球的落点位于无人机初始位置周围1米的区域内。以球的一次抛出为一个回合,一般情况下,一回合的时间长度在1秒左右。仿真过程中,脉冲神经网络整体时间是离散的,时间步长为1毫秒。
[0112]
记一次投球的过程为1个回合,参数学习设置为2000个回合,学习过程中,无人机获得的累积奖励信号如图7所示。整体上,无人机获得的累积奖励信号呈上升趋势,表明训练卓有成效,无人机的存活时间不断增长。
[0113]
如图8所示,在等待动作信号的过程中,即决策的过程中,无人机位于原来的位置,处于悬停状态。当球飞向无人机,而无人机未能即时做出正确决策时,无人机没有成功躲避飞来的球,此时无人机受到惩罚。需要注意的是,无人机因未能即时做出决策而导致受到惩罚时,actor网络的参数增大以加快决策速度。
[0114]
如图9所示,该场景下,球从无人机正前方落下,其轨迹与无人机没有碰撞,无人机做出的正确的决策是维持原位悬停,任球自由落下。
[0115]
如图10所示,该场景下,球从无人机的左前方向无人机的后部飞来,无人机迅速做出决策,选择向右飞行,以避开飞来的球。
[0116]
如图11所示,球从无人机的左前方向无人机的前部飞来,无人机迅速做出决策,选择向左飞行,以避开飞来的球。以上这些典型场景并不是孤立出现的。当网络训练到后期,无人机决策速度进一步加快时,在球飞来的过程中,无人机可能做出多次决策。
[0117]
在训练过程中,无人机做出决策所花费的时间逐渐减小,表1是训练过程中无人机决策时间的分布表。回合0的数据表示还未开始训练时的随机参数的表现。为了便于网络的优化和提升,在初始化参数时,选择的是偏小的参数,因此,未开始训练时,无人机做出决策所花的时间较长。
[0118]
除此之外,选择了第500、第1000、第1500和第2000这四个回合的数据进行分析。注意到,总体上的趋势是,在一回合内,无人机做出决策所花费的时间逐渐减小,无人机做出决策的次数逐渐增多。回合2000时,即训练结束时,无人机决策的平均花费时间降为30.7毫秒。
[0119]
表1无人机决策时间分布表
[0120][0121]
训练结束时,无人机具体的决策时间如图12所示。可以看到,在第2000回合,无人机总计进行了32次决策,决策时间集中在25ms到35ms的区间内。
[0122]
训练过程中,无人机的平均决策时间变化如图13所示。可以看到,在训练过程中,无人机的平均决策时间总体呈下降趋势。
[0123]
与传统actor-critic算法相比。本发明采用的基于神经元脉冲响应模型和脉冲ac网络决策方法是基于脉冲神经网络提出的,且在基于时序的编码上,脉冲神经网络能够减小无人机的决策时间。
[0124]
对于传统的ac网络,为了识别运动障碍的轨迹,需要将相机的连续三帧作为输入。整体的网络结构是两个卷积层和一个全连接层,全连接层本身分成两个部分,分别表示actor和critic。如图14所示。
[0125]
下面对两个方法的决策时间进行对比:网络训练结束后,在仿真平台内进行一百次投掷篮球的实验,无人机分别采用脉冲ac算法和传统ac算法进行决策。图15显示的是其中一次躲避篮球的决策时间的分布。注意到,基于脉冲ac网络的类脑决策算法,其决策时间主要集中于25ms到35ms的区间内,而基于传统ac网络的决策算法的决策时间集中于55ms到65ms的区间内。故本发明提出的类脑决策算法明显较快,因此在一回合内决策次数也明显较多。
[0126]
图16所示,显示的是一百次躲避篮球实验的回合内平均决策时间。采用本发明提出的类脑决策算法的无人机平均决策时间约30ms,而基于传统ac网络决策算法的无人机平均决策时间约60ms。因此,本发明提出的无人机类脑决策算法大大加快了无人机的决策速度。
[0127]
相比于传统的神经网络,脉冲神经网络具有功耗低、规模小的特点。与传统的ac网络相比,本发明中基于脉冲ac网络规模大大减小。传统的ac网络需要3帧数据作为输入,而脉冲ac网络的输入层规模仅为其1/3。同时,本发明提出的脉冲ac网络没有两层卷积的操作,而以一个全连接的隐藏层替代。因此,相比之下,本发明提出的类脑决策网络,规模远小于传统ac网络。
[0128]
此外,脉冲神经网络传递脉冲信息,是以脉冲事件驱动的神经网络。当脉冲信号没
有抵达时,网络整体处于不工作的状态。与之相反的是,传统ac网络是基于真实值的,所以在任意时刻,网络都处于工作状态。因此,基于本文提出的类脑决策算法在机理上就能降低资源消耗。
[0129]
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1