CN116774725B - 一种改进sac算法的低空无人机路径规划及避障方法 - Google Patents
一种改进sac算法的低空无人机路径规划及避障方法 Download PDFInfo
- Publication number
- CN116774725B CN116774725B CN202310567737.0A CN202310567737A CN116774725B CN 116774725 B CN116774725 B CN 116774725B CN 202310567737 A CN202310567737 A CN 202310567737A CN 116774725 B CN116774725 B CN 116774725B
- Authority
- CN
- China
- Prior art keywords
- unmanned aerial
- aerial vehicle
- algorithm
- network
- sac
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012549 training Methods 0.000 claims description 58
- 230000009471 action Effects 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 34
- 238000009826 distribution Methods 0.000 claims description 19
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 11
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 9
- 230000007613 environmental effect Effects 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 9
- 238000011478 gradient descent method Methods 0.000 claims description 6
- 230000004888 barrier function Effects 0.000 claims description 5
- 230000009194 climbing Effects 0.000 claims description 5
- 230000002787 reinforcement Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 238000011112 process operation Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 235000001968 nicotinic acid Nutrition 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种改进SAC算法的低空无人机路径规划及避障方法,属于无人机在低空环境中的路径规划和自主避障领域。在无人机的自主避障和路径规划方面,面对低空中复杂多变的环境,自主避障能力是无人机最关键的技术要点,传统的算法难以满足实际需求,本发明采用了LSTM网络进行状态特征提取,并通过VAE对这些特征进行优化,将这些优化后的特征与SAC算法相结合,采用无人机预警距离使得SAC算法与IIFDS算法快速决策,实现高效和准确的无人机路径规划和避障,可使无人机能够更快地避开障碍物,从而提高了其避障能力,并进一步保证了其安全性和可靠性。
Description
技术领域
本发明涉及无人机在低空环境中的路径规划和自主避障领域,具体为一种改进SAC算法的低空无人机路径规划及避障方法。
背景技术
当今,无人机技术的迅速发展与广泛应用,为许多领域带来了前所未有的机会和挑战。然而,在无人机的自主避障和路径规划方面,面对低空中复杂多变的环境,自主避障能力是无人机最关键的技术要点,传统的算法难以满足实际需求。因此,如何开发出一种既能够适应复杂环境又能够保证高效、准确的无人机低空自主避障和路径规划算法,一直是该领域研究人员的重点关注点。
无人机自主避障和路径规划领域广泛应用三种算法:传统算法、基于智能仿生学算法和基于深度强化学习算法。传统算法中例如A*算法、Dijkstra算法等在面对复杂环境和动态障碍物时,其性能和鲁棒性不足,而IIFDS算法虽然具有更高的效率和精确性,但处理复杂场景能力有限,无法应对超大规模的搜索空间。此外,基于智能仿生学算法更具有生物学启发性,如基于蚁群优化、遗传算法和粒子群优化等,能提高无人机的避障性能,但训练时间长、计算复杂度高,难以处理动态环境中的避障问题,限制了其实际应用的效果和适用性。
目前SAC算法在复杂动态环境中存在着一些问题:一是遇到复杂动态障碍物时,SAC算法存在着算法收敛速度慢、容易陷入局部最优等问题,从而影响了无人机的避障性能和稳定性。这些问题主要源于SAC算法采用的强化学习框架,无法快速适应环境变化并找到最优解。且对于动态环境中的障碍物运动方向的感知不够准确,导致无人机避障时存在着不必要的误判。
发明内容
本发明的目的在于提供一种改进SAC算法的低空无人机路径规划及避障方法,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:
一种改进SAC算法的低空无人机路径规划及避障方法,所述路径规划及避障方法包括以下步骤:
S1、构建无人机的飞行控制模型,并初始化环境模型及神经网络参数;
S2、设定经验回放池,并对SAC算法的奖励机制进行设定;
S3、构建深度强化学习网络进行训练,使用LSTM网络对无人机当前的状态空间进行特征提取,并使用VAE对提取的特征进行优化;
S4、判断当无人机距离最近障碍物的距离大于最大预警距离时,将优化后的状态特征输入SAC网络中,决策下一步动作,并更新目标参数;
当无人机距离最近障碍物的距离小于最大预警距离时,计算新的目标点,并采用改进的IIFDS算法与SAC算法进行智能决策;
S5、增加时间步数,进行下一轮训练直至结束,得出训练好的模型。
根据上述技术方案,在步骤S1中,构建飞行控制模型,初始化环境模型及神经网络参数的步骤如下:
S2-1、设置无人机传感器的探测范围为d,无人机的最大警戒碰撞距离为dmin,无人机的偏航角速度和爬升角速度的最大值分别为vp和vs,其中限制无人机的偏航角速度和爬升角速度的最大值分别为vp和vs,是为了确保无人机的稳定性和安全性,为了进一步限制无人机的飞行姿态,还需要设置最大爬升角为θmax,最大俯冲角为-θmax;
这些限制将有助于构建无人机飞行控制模型,从而实现更加精准的路径规划和避障。
S2-2、构建三维地图与起点终点,并设置环境的时间步数和无人机初始状态空间,初始化静态障碍物和通过时间步长Δt来改变状态的动态障碍物,并分别加入到静态障碍物列表StaticB和动态障碍物列表DynamicB中;
S2-3、对LSTM网络、VAE编码器网络、解码器网络的参数分别进行初始化,用随机的网络参数ω1、ω2和θ分别初始化SAC算法的Critic网络Qω1(s,a)、Qω2(s,a)和Actor网络πθ(s)。
根据上述技术方案,在步骤S2中,设定奖励机制的步骤如下:
S3-1、设定经验回放池R,对SAC算法的奖励机制进行设定:
rt=r1+r2+r3+r4+r5
其中r1表示为正常距离奖励,r2表示碰撞奖励,r3表示自由空间奖励,r4表示步数奖励,r5表示预警距离奖励,rt表示在该时间步数下无人机在环境内获得的总奖励值。
根据上述技术方案,在步骤S3中,提取和优化特征的步骤如下:
S4-1、对无人机的状态空间的特征进行提取;
S4-2、将提取到的特征输入到VAE网络中,得到潜在变量集z,作为优化后的特征表示;
S4-3、计算重构损失Lrec和KL散度,得出VAE的总损失Ltotal;
S4-4、使用梯度下降法最小化总损失;
根据上述技术方案,在步骤S4-1和S4-2中,所述得到优化特征表示的步骤如下:
S5-1、将当前时间步数下的无人机状态空间特征输入到LSTM网络中,利用当前时刻的输入和上一个时刻的中间状态值来生成当前时刻的状态值;
S5-2、将当前时刻的状态值与当前时刻的输入值合并,并将合并后的值输入到多层感知机中,多层感知机利用非线性函数对特征进行提取,将多层感知机的输出结果输入到VAE中;
S5-3、采用编码器将特征信息x的分布经过卷积层、激活层和全连接层转码成类高斯分布di,编码器输出类高斯分布的均值μ和标准差σ,基础构建完美的高斯分布D,利用完美高斯分布D的均值μ和标准差σ来得到潜在变量集z,作为优化后的特征表示:
z=μ+σ⊙∈
其中∈表示一个服从高斯分布的噪声向量。
根据上述技术方案,在步骤S4-3和S4-4中,计算总损失Ltotal和最小化总损失的步骤如下:
S6-1、从潜在变量集z中随机抽取一个潜在变量zi,用f∈(x)来表示编码器工作过程,根据不同维度的均值μ和标准差σ计算出KL散度DKL,公式如下:
式中i与zi中i的表示意义一样,都代表潜变量集z的维度;
其中,KL散度是一个重要的指标,用于衡量潜在空间的分布与标准正态分布之间的差异;
S6-2、解码器生成一个与zi相关的样本xi,用p(xi|zi)来表示解码器输入潜在变量zi后生成样本xi的过程,同时将优化后的特征表示z输入到SAC网络中;
其中,解码器的目标是将zi转化为与训练数据相似的样本,解码器是一个结构与编码器相同的神经网络,但是输入是zi,输出是特征向量xi;
在变分自编码器中,使用梯度下降法来最小化总损失,优化模型参数,计算VAE中的重构损失Lrec:
Lrec=ЕX~D[|x-p∈(xi|f∈(x))|]2
其中,|·|表示向量的二范数,D表示该过程运算后的数据集,Lrec表示这个生成样本与原始输入样本之间的平方误差的期望;
具体来说,对于将特征向量x作为输入样本,首先通过编码器f∈(x)将其映射为一个潜在向量zi,然后再通过解码器p(xi|zi)将其还原为一个生成样本xi;
解码器重构输入特征样本能力的高低体现在重构损失的大小上,重构损失越小,代表解码器网络优化输入特征样本的能力越强,所以最小化重构损失可以提高解码器优化输入特征样本能力;
S6-3、使用最小化重构损失和KL散度的加权和作为VAE的总损失Ltotal,公式如下:
Ltotal=Lrec+βDKL
其中,β是一个权重参数,用于平衡重构损失和KL散度之间的重要程度;
S6-4、计算总损失函数关于模型参数的梯度即通过计算损失函数关于VAE网络模型参数θ的梯度,确定了当前参数的下降方向,接下来使用梯度下降算法按照下降方向更新模型参数最终达到最小化损失的目的;
其中,θ为参数,α为学习率;
调节每次参数更新的步长大小,通过迭代更新参数,总损失逐渐减小,直到达到最大迭代次数或总损失的变化量小于设置的阈值。
根据上述技术方案,在步骤S4中,使用SAC算法和IIFDS算法进行综合决策的步骤如下:
S7-1、在当前时间步数下,根据当前策略将优化后的特征表示作为st输入到SAC算法的Actor网络的全连接层中,其中st为输入状态向量,将st进行线性变换,得到一个隐藏层的输出;
S7-2、通过RELU激活函数进行非线性变换,并将非线性变换后的输出经过一个激活函数tanh得到最终动作at:
ht=ReLU(W1st+b1)
at=tanh(W2ht+b2)
其中,W1,W2,b1,b2分别表示Actor网络中的权重和偏置参数,ht表示隐藏层的输出,at表示最终的动作,θ为其网络的网络参数;
S7-3、执行动作at判断是否到达终点,终止则设定e为1,否则为0,其中,e为是否终止训练的标志。
在训练中,通常会设定最大步数,也就是最大时间步数,具体根据环境场景大小而定,同时也会设置一个距离阈值,在实验中可设置为0.2,在每个时间步计算无人机当前位置与终点位置之间的距离,如果距离小于阈值,就认为无人机已经接近终点,即e为1,终止这次训练,否则为0,如果在时间步数超过最大时间步数时无人机当前位置与终点位置之间的距离并没有小于0.2,依然终止这次训练,e设为1,否则为0。
根据上述技术方案,在步骤S4中,所述更新目标参数的步骤如下:
S8-1、根据奖励公式得到rt,将(st,at,rt,st+1,e)存入回放池R和LSTM的数据集中,其中,st+1表示执行at后得到的下一步环境状态向量;
在训练轮数K截止之前,从R中采样N个元组{(st,at,rt,st+1,e)},i=1,…,N,对每个元组用目标网络计算TD目标yt:
其中,为目标Q值函数,πθ为策略函数,at+1是根据Actor网络输入st+1后得到的下一步动作,但是本身不执行动作at+1,at+1仅用来计算TD目标,得到最小化损失函数,来更新SAC算法的Critic网络,γ代表折扣因子,αt是当前时刻的温度系数;
S8-2、对SAC算法的两个Critic网络进行损失函数L的最小化,更新对应的神经网络的参数;
其中,j=1或2;和/>代表SAC算法的两个Critic网络在状态st下执行动作at的状态-动作价值,yt表示TD目标,N表示从R中采样的元组个数;
S8-3、用重参数化技巧采样动作来更新当前Actor网络,得到其代价函数Lπ(θ),
其中,α表示熵正则项的系数,表示SAC算法的Actor网络函数,表示两个Critic网络在状态st下执行动作/>的状态-价值的最小值;
S8-4、更新熵正则项的系数α后,更新其目标网络参数和/>直到e为1后终止训练。
根据上述技术方案,在步骤S4中,所述采用改进的IIFDS算法与SAC算法进行智能决策的步骤如下:
S9-1、计算避障方向向量davoid:
其中,p表示预警范围内障碍物的三维坐标,n表示预警范围内障碍物的个数,pdrone表示无人机在空间中的三维坐标;
S9-2、计算新的速度向量vnew:
vnew=vdrone+αdavoid
其中,α是调整避障权重的系数,vdrone代表无人机当前速度向量;
这个公式表示,将避障方向向量乘以一个权重系数,然后加到无人机的速度向量上,得到新的速度向量vnew;
S9-3、计算新的目标点pgoal:
pgoal=pdrone+vnewΔt;
这个公式表示,将新的速度向量乘以时间间隔后,加到当前的无人机位置上,得到新的目标点pgoal;
S9-4、根据原点与目标点位置得到方向,根据SAC算法的Actor网络和改进的IIFDS算法所得到的方向和速度进行综合决策,并根据dmin进行权重调整,以获得下一步动作:
Ofinal=(1-w)·Onew+w·O’new
vfinal=(1-w)·vnew+w·v’new
其中,Onew和νnew分别代表IIFDS算法所得到的方向和速度,O'new和ν'new分别代表SAC算法所得到的方向和速度,Ofinal为最终的运动方向,vfinal为最终的运动速度,w是一个在[0,1]区间的权重系数,表示SAC算法和IIFDS算法对综合决策的重要程度;
S9-5、根据距离最近障碍物的dmin进行动态调节w,w的计算方法为:
其中,k和b是人为设置的超参数,这个函数可以使得当dmin越大时,w越接近于1,SAC算法对综合决策的重要程度越高;当dmin越小时,w越接近于0,IIFDS算法对综合决策的重要程度越高;最终得到的Ofinal和vfinal能够作为无人机下一步的飞行方向和速度。
根据上述技术方案,在步骤S5中,所述得出训练好的模型步骤如下:
S10-1、增加时间步数,无人机进入新的状态空间,重新使用LSTM网络对无人机的状态空间进行特征提取,并通过VAE对LSTM网络输出进行优化,最终将优化结果作为特征直接输入到SAC网络中重新决策下一步动作;
S10-2、若判断距离最近障碍物小于dmin,则综合SAC算法与IIFDS算法进行决策,直至达到预设的最大训练轮数或者达到预设的最大步数;
S10-3、若在达到预设的最大训练轮数或者最大步数之前到达终点,将认为该轮训练成功,保存相应的模型参数,并结束整个训练过程;
若到达最大训练轮数或最大步数但仍未到达终点,则认为该轮训练失败,保存最后一次训练的模型参数,并结束整个训练过程;
S10-4、当达到结束指标时,最后的结果为一个训练好的模型,能够直接用于实际场景中的无人机自主避障和路径规划任务。
与现有技术相比,本发明所达到的有益效果是:本发明能够使无人机在低空复杂动态环境下进行高效路径规划且能够及时躲避静态或动态障碍物,大大增强了无人机的即时避障功能,帮助无人机预测未来的运动轨迹和可能的障碍物位置和飞行路径,实现更加精确和稳定的飞行控制。在预警范围内综合SAC算法和IIFDS算法进行决策,能够实现快速、高效的避障,有助于避免无人机因控制失误而导致的事故。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明一种改进SAC算法的低空无人机路径规划及避障方法的方法流程示意图;
图2是本发明一种改进SAC算法的低空无人机路径规划及避障方法的具体决策流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-图2,本发明提供技术方案:
一种改进SAC算法的低空无人机路径规划及避障方法,所述路径规划及避障方法包括以下步骤:
S1、构建无人机的飞行控制模型,并初始化环境模型及神经网络参数;
S2、设定经验回放池,并对SAC算法的奖励机制进行设定;
S3、构建深度强化学习网络进行训练,使用LSTM网络对无人机当前的状态空间进行特征提取,并使用VAE对提取的特征进行优化;
S4、判断当无人机距离最近障碍物的距离大于最大预警距离时,将优化后的状态特征输入SAC网络中,决策下一步动作,并更新目标参数;
当无人机距离最近障碍物的距离小于最大预警距离时,计算新的目标点,并采用改进的IIFDS算法与SAC算法进行智能决策;
S5、增加时间步数,进行下一轮训练直至结束,得出训练好的模型。
在步骤S1中,构建飞行控制模型,初始化环境模型及神经网络参数的步骤如下:
S2-1、设置无人机传感器的探测范围为d,无人机的最大警戒碰撞距离为dmin,无人机的偏航角速度和爬升角速度的最大值分别为vp和vs,最大爬升角为θmax,最大俯冲角为-θmax;
S2-2、构建三维地图与起点终点,并设置环境的时间步数和无人机初始状态空间,初始化静态障碍物和通过时间步长Δt来改变状态的动态障碍物,并分别加入到静态障碍物列表StaticB和动态障碍物列表DynamicB中;
S2-3、对LSTM网络、VAE编码器网络、解码器网络的参数分别进行初始化,用随机的网络参数ω1、ω2和θ分别初始化SAC算法的Critic网络和Actor网络πθ(s)。
在步骤S2中,设定奖励机制的步骤如下:
S3-1、设定经验回放池R,对SAC算法的奖励机制进行设定:
rt=r1+r2+r3+r4+r5
其中r1表示为正常距离奖励,r2表示碰撞奖励,r3表示自由空间奖励,r4表示步数奖励,r5表示预警距离奖励,rt表示在该时间步数下无人机在环境内获得的总奖励值。
在步骤S3中,提取和优化特征的步骤如下:
S4-1、对无人机的状态空间的特征进行提取;
S4-2、将提取到的特征输入到VAE网络中,得到潜在变量集z,作为优化后的特征表示;
S4-3、计算重构损失Lrec和KL散度,得出VAE的总损失Ltotal;
S4-4、使用梯度下降法最小化总损失;
在步骤S4-1和S4-2中,所述得到优化特征表示的步骤如下:
S5-1、将当前时间步数下的无人机状态空间特征输入到LSTM网络中,利用当前时刻的输入和上一个时刻的中间状态值来生成当前时刻的状态值;
S5-2、将当前时刻的状态值与当前时刻的输入值合并,并将合并后的值输入到多层感知机中,多层感知机利用非线性函数对特征进行提取,将多层感知机的输出结果输入到VAE中;
S5-3、采用编码器将特征信息x的分布经过卷积层、激活层和全连接层转码成类高斯分布di,编码器输出类高斯分布的均值μ和标准差σ,基础构建完美的高斯分布D,利用完美高斯分布D的均值μ和标准差σ来得到潜在变量集z,作为优化后的特征表示:
z=μ+σ⊙∈
其中∈表示一个服从高斯分布的噪声向量。
在步骤S4-3和S4-4中,计算总损失Ltotal和最小化总损失的步骤如下:
S6-1、从潜在变量集z中随机抽取一个潜在变量zi,用f∈(x)来表示编码器工作过程,根据不同维度的均值μ和标准差σ计算出KL散度DKL,公式如下:
式中i与zi中i的表示意义一样,都代表潜变量集z的维度;
S6-2、解码器生成一个与zi相关的样本xi,用p(xi|zi)来表示解码器输入潜在变量zi后生成样本xi的过程,同时将优化后的特征表示z输入到SAC网络中;
在变分自编码器中,使用梯度下降法来最小化总损失,优化模型参数,计算VAE中的重构损失Lrec:
Lrec=ЕX~D[|x-p∈(xi|f∈(x))|]2
其中,|·|表示向量的二范数,D表示该过程运算后的数据集,Lrec表示这个生成样本与原始输入样本之间的平方误差的期望;
S6-3、使用最小化重构损失和KL散度的加权和作为VAE的总损失Ltotal,公式如下:
Ltotal=Lrec+βDKL
其中,β是一个权重参数,用于平衡重构损失和KL散度之间的重要程度;
S6-4、计算总损失函数关于模型参数的梯度
其中,θ为参数,α为学习率;
调节每次参数更新的步长大小,通过迭代更新参数,总损失逐渐减小,直到达到最大迭代次数或总损失的变化量小于设置的阈值。
在步骤S4中,使用SAC算法和IIFDS算法进行综合决策的步骤如下:
S7-1、在当前时间步数下,根据当前策略将优化后的特征表示作为st输入到SAC算法的Actor网络的全连接层中,其中st为输入状态向量,将st进行线性变换,得到一个隐藏层的输出;
S7-2、通过RELU激活函数进行非线性变换,并将非线性变换后的输出经过一个激活函数tanh得到最终动作at:
ht=ReLU(W1st+b1)
at=tanh(W2ht+b2)
其中,W1,W2,b1,b2分别表示Actor网络中的权重和偏置参数,ht表示隐藏层的输出,at表示最终的动作,θ为其网络的网络参数;
S7-3、执行动作at判断是否到达终点,终止则设定e为1,否则为0,其中,e为是否终止训练的标志。
在步骤S4中,所述更新目标参数的步骤如下:
S8-1、根据奖励公式得到rt,将(st,at,rt,st+1,e)存入回放池R和LSTM的数据集中,其中,st+1表示执行at后得到的下一步环境状态向量;
在训练轮数K截止之前,从R中采样N个元组{(st,at,rt,st+1,e)},i=1,…,N,对每个元组用目标网络计算TD目标yt:
其中,为目标Q值函数,πθ为策略函数,at+1是根据Actor网络输入st+1后得到的下一步动作,但是本身不执行动作at+1,at+1仅用来计算TD目标,得到最小化损失函数,来更新SAC算法的Critic网络,γ代表折扣因子,αt是当前时刻的温度系数;
S8-2、对SAC算法的两个Critic网络进行损失函数L的最小化,更新对应的神经网络的参数;
其中,j=1或2;和/>代表SAC算法的两个Critic网络在状态st下执行动作at的状态-动作价值,yt表示TD目标,N表示从R中采样的元组个数;
S8-3、用重参数化技巧采样动作来更新当前Actor网络,得到其代价函数Lπ(θ),
其中,α表示熵正则项的系数,表示SAC算法的Actor网络函数,表示两个Critic网络在状态st下执行动作/>的状态-价值的最小值;
S8-4、更新熵正则项的系数α后,更新其目标网络参数和/>直到e为1后终止训练。
在步骤S4中,所述采用改进的IIFDS算法与SAC算法进行智能决策的步骤如下:
S9-1、计算避障方向向量davoid:
其中,p表示预警范围内障碍物的三维坐标,n表示预警范围内障碍物的个数,pdrone表示无人机在空间中的三维坐标;
S9-2、计算新的速度向量vnew:
vnew=vdrone+αdavoid
其中,α是调整避障权重的系数,vdrone代表无人机当前速度向量;
S9-3、计算新的目标点pgoal:
pgoal=pdrone+vnewΔt;
S9-4、根据原点与目标点位置得到方向,根据SAC算法的Actor网络和改进的IIFDS算法所得到的方向和速度进行综合决策,并根据dmin进行权重调整,以获得下一步动作:
Ofinal=(1-w)·Onew+w·O’new
vfinal=(1-w)·vnew+w·v’new
其中,Onew和vnew分别代表IIFDS算法所得到的方向和速度,O'new和v'new分别代表SAC算法所得到的方向和速度,Ofinal为最终的运动方向,vfinal为最终的运动速度,w是一个在[0,1]区间的权重系数,表示SAC算法和IIFDS算法对综合决策的重要程度;
S9-5、根据距离最近障碍物的dmin进行动态调节w,w的计算方法为:
其中,k和b是人为设置的超参数,这个函数可以使得当dmin越大时,w越接近于1,SAC算法对综合决策的重要程度越高;当dmin越小时,w越接近于0,IIFDS算法对综合决策的重要程度越高;最终得到的Ofinal和vfinal能够作为无人机下一步的飞行方向和速度。
在步骤S5中,所述得出训练好的模型步骤如下:
S10-1、增加时间步数,无人机进入新的状态空间,重新使用LSTM网络对无人机的状态空间进行特征提取,并通过VAE对LSTM网络输出进行优化,最终将优化结果作为特征直接输入到SAC网络中重新决策下一步动作;
S10-2、若判断距离最近障碍物小于dmin,则综合SAC算法与IIFDS算法进行决策,直至达到预设的最大训练轮数或者达到预设的最大步数;
S10-3、若在达到预设的最大训练轮数或者最大步数之前到达终点,将认为该轮训练成功,保存相应的模型参数,并结束整个训练过程;
若到达最大训练轮数或最大步数但仍未到达终点,则认为该轮训练失败,保存最后一次训练的模型参数,并结束整个训练过程;
S10-4、当达到结束指标时,最后的结果为一个训练好的模型,能够直接用于实际场景中的无人机自主避障和路径规划任务。
在本实施例中:
步骤一:构建无人机飞行控制模型
限制无人机在偏航角度和速度、爬升角度和速度方面的最大值,同时设置无人机的最大测量距离以及最大警戒碰撞距离。
步骤二:初始化环境模型及神经网络参数
首先,需建立三维地图,确定起点和终点,并确定环境的时间步数和无人机状态空间的初始设置。接下来,初始化多个静态障碍物和动态障碍物,并利用时间步长Δt更新其状态,并将它们分别加入到静态障碍物列表StaticB和动态障碍物列表DynamicB中。此外,需要对LSTM网络、VAE编码器网络和解码器网络的参数进行初始化,采用随机网络参数ω1、ω2和θ,对SAC算法的Critic网络和Actor网络πθ(s)进行初始化,复制相同的参数用于初始化目标网络。在此基础上,建立经验回放池R,并为SAC算法设定奖励机制。具体而言,设定奖励机制,包含正常距离奖励、碰撞距离奖励、自由空间奖励、步数奖励和预警距离奖励。
步骤三:开始训练
首先在在该时间步数下,使用LSTM网络对无人机此刻的状态空间进行特征提取,并使用VAE对提取的特征进行优化,将优化结果输入到策略网络生成一个动作向量,同时计算出此时无人机的速度向量及方向向量,判断此时离最近障碍物的距离是否小于最大预警距离,如果小于,使用改进的IIFDS算法计算避障方向与速度,再与SAC算法得到的速度与方向进行综合决策得到下一步动作并执行,否则,直接执行SAC算法决策出来的动作,判断是否终止,然后将该动作向量输入环境中得到下一步状态和奖励,将当前状态、当前动作、当前奖励、下一步状态和终止标志存入经验回放缓存中,从经验回放缓存中随机采样一批数据,用于训练Q值网络和策略网络。在训练Q值网络中,使用双Q网络结构来估计Q值,同时使用目标网络来计算Q值的目标。由于使用了最小化操作来计算Q值的目标,所以需要使用两个Q值网络来计算Q值,同时使用两个目标网络来计算Q值的目标,从而实现Critic网络的更新,即如下公式:
另外需要更新温度系数α:在SAC算法中,温度系数α用于平衡策略熵和奖励的影响。具体来说,α越大,策略熵的影响越大,α越小,奖励的影响越大。在SAC算法中,使用一个自适应的方式来更新α的值,即使用以下公式来更新α的值:
α←α+γα(logπ(ai|si)-target)
其中,target表示目标熵的值,这里本发明设置为负动作空间的维度并使用一个指数移动平均值来平滑logπ(ai|si)的值,从而使α的更新更加稳定。随后进入下一步时间,重复本步骤操作直至终止。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于,所述路径规划及避障方法包括以下步骤:
S1、构建无人机的飞行控制模型,并初始化环境模型及神经网络参数;
S2、设定经验回放池,并对SAC算法的奖励机制进行设定;
S3、构建深度强化学习网络进行训练,使用LSTM网络对无人机当前的状态空间进行特征提取,并使用VAE对提取的特征进行优化;
S4、判断当无人机距离最近障碍物的距离大于最大预警距离时,将优化后的状态特征输入SAC网络中,决策下一步动作,并更新目标参数;
当无人机距离最近障碍物的距离小于最大预警距离时,计算新的目标点,并采用改进的IIFDS算法与SAC算法进行智能决策;所述采用改进的IIFDS算法与SAC算法进行智能决策的步骤如下:
S9-1、计算避障方向向量:
;
其中,表示预警范围内障碍物的三维坐标,/>表示预警范围内障碍物的个数,/>表示无人机在空间中的三维坐标;
S9-2、计算新的速度向量:
;
其中,是调整避障权重的系数,/>代表无人机当前速度向量;
S9-3、计算新的目标点:
;
其中,Δt表示时间步长;
S9-4、根据原点与目标点位置得到方向,根据SAC算法的Actor网络和改进的IIFDS算法所得到的方向和速度进行综合决策,并根据进行权重调整,以获得下一步动作:
;
其中,和/>分别代表IIFDS算法所得到的方向和速度,/>和/>分别代表SAC算法所得到的方向和速度,/>为最终的运动方向,/>为最终的运动速度,/>是一个在[0,1]区间的权重系数,表示SAC算法和IIFDS算法对综合决策的重要程度;
S9-5、根据距离最近障碍物进行动态调节/>,/>的计算方法为:
;
其中,k和b是人为设置的超参数,这个函数可以使得当越大时,/>越接近于1,SAC算法对综合决策的重要程度越高;当/>越小时,/>越接近于0,IIFDS算法对综合决策的重要程度越高;最终得到的/>和/>能够作为无人机下一步的飞行方向和速度;
S5、增加时间步数,进行下一轮训练直至结束,得出训练好的模型。
2.根据权利要求1所述的一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于:在步骤S1中,构建飞行控制模型,初始化环境模型及神经网络参数的步骤如下:
S2-1、设置无人机传感器的探测范围为d,无人机的最大警戒碰撞距离为,无人机的偏航角速度和爬升角速度的最大值分别为/>和/>,最大爬升角为/>,最大俯冲角为-;
S2-2、构建三维地图与起点终点,并设置环境的时间步数和无人机初始状态空间,初始化静态障碍物和通过时间步长Δt来改变状态的动态障碍物,并分别加入到静态障碍物列表StaticB和动态障碍物列表DynamicB中;
S2-3、对LSTM网络、VAE编码器网络、解码器网络的参数分别进行初始化,用随机的网络参数ω1、ω2和分别初始化SAC算法的Critic网络/>、/>和Actor网络/>。
3.根据权利要求2所述的一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于:在步骤S2中,设定奖励机制的步骤如下:
S3-1、设定经验回放池R,对SAC算法的奖励机制进行设定:
;
其中表示为正常距离奖励,/>表示碰撞奖励,/>表示自由空间奖励,/>表示步数奖励,表示预警距离奖励,/>表示在该时间步数下无人机在环境内获得的总奖励值。
4.根据权利要求3所述的一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于:在步骤S3中,提取和优化特征的步骤如下:
S4-1、对无人机的状态空间的特征进行提取;
S4-2、将提取到的特征输入到VAE网络中,得到潜在变量集z,作为优化后的特征表示;
S4-3、计算重构损失和KL散度,得出VAE的总损失/>;
S4-4、使用梯度下降法最小化总损失。
5.根据权利要求4所述的一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于:在步骤S4-1和S4-2中,所述得到优化特征表示的步骤如下:
S5-1、将当前时间步数下的无人机状态空间特征输入到LSTM网络中,利用当前时刻的输入和上一个时刻的中间状态值来生成当前时刻的状态值;
S5-2、将当前时刻的状态值与当前时刻的输入值合并,并将合并后的值输入到多层感知机中,多层感知机利用非线性函数对特征进行提取,将多层感知机的输出结果输入到VAE中;
S5-3、采用编码器将特征信息的分布经过卷积层、激活层和全连接层转码成类高斯分布di,编码器输出类高斯分布的均值μ和标准差σ,基础构建完美的高斯分布D,利用完美高斯分布D的均值μ和标准差σ来得到潜在变量集z,作为优化后的特征表示:
;
其中ϵ表示一个服从高斯分布的噪声向量。
6.根据权利要求5所述的一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于:在步骤S4-3和S4-4中,计算总损失和最小化总损失的步骤如下:
S6-1、从潜在变量集z中随机抽取一个潜在变量,用/>来表示编码器工作过程,根据不同维度的均值/>和标准差/>计算出KL散度/>,公式如下:
;
式中与/>中/>的表示意义一样,都代表潜变量集/>的维度;
S6-2、解码器生成一个与相关的样本/>,用/>来表示解码器输入潜在变量/>后生成样本/>的过程,同时将优化后的特征表示z输入到SAC网络中;
在变分自编码器中,使用梯度下降法来最小化总损失,优化模型参数,计算VAE中的重构损失:
Lrec = Ex~D[|x - p∈(xi|f∈(x))|2]
其中,表示向量的二范数,/>表示该过程运算后的数据集,/>表示这个生成样本与原始输入样本之间的平方误差的期望;
S6-3、使用最小化重构损失和KL散度的加权和作为VAE的总损失,公式如下:
;
其中,是一个权重参数,用于平衡重构损失和KL散度之间的重要程度;
S6-4、计算总损失函数关于模型参数的梯度,
其中,为参数,/>为学习率;
调节每次参数更新的步长大小,通过迭代更新参数,总损失逐渐减小,直到达到最大迭代次数或总损失的变化量小于设置的阈值。
7.根据权利要求6所述的一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于:在步骤S4中,使用SAC算法和IIFDS算法进行综合决策的步骤如下:
S7-1、在当前时间步数下,根据当前策略将优化后的特征表示作为输入到SAC算法的Actor网络的全连接层中,其中/>为输入状态向量,将/>进行线性变换,得到一个隐藏层的输出;
S7-2、通过RELU激活函数进行非线性变换,并将非线性变换后的输出经过一个激活函数tanh得到最终动作:
;
其中,,/>,/>,/>分别表示Actor网络中的权重和偏置参数,/>表示隐藏层的输出,/>表示最终的动作,/>为其网络的网络参数;
S7-3、执行动作判断是否到达终点,终止则设定e为1,否则为0,其中,e为是否终止训练的标志。
8.根据权利要求7所述的一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于:在步骤S4中,所述更新目标参数的步骤如下:
S8-1、根据奖励公式得到,将(/>,/>)存入回放池R和LSTM的数据集中,其中,表示执行/>后得到的下一步环境状态向量;
在训练轮数K截止之前,从R中采样N个元组{(,/>)},i=1,…,N,对每个元组用目标网络计算TD目标/>:
;
其中,为目标Q值函数,/>为策略函数,/>是根据Actor网络输入/>后得到的下一步动作,但是本身不执行动作/>,/>仅用来计算TD目标,得到最小化损失函数,来更新SAC算法的Critic网络,/>代表折扣因子,/>是当前时刻的温度系数;
S8-2、对SAC算法的两个Critic网络进行损失函数L的最小化,更新对应的神经网络的参数;
2;
其中,j=1或2; 和/>代表SAC算法的两个Critic网络在状态/>下执行动作/>的状态-动作价值,/>表示TD目标,N表示从R中采样的元组个数;
S8-3、用重参数化技巧采样动作来更新当前Actor网络,得到其代价函数/>,
= />(/>(/>)/>);
其中,表示熵正则项的系数,/>(/>)表示SAC算法的Actor网络函数,/>表示两个Critic网络在状态/>下执行动作/>的状态-价值的最小值;
S8-4、更新熵正则项的系数后,更新其目标网络参数/>和/>,直到e为1后终止训练。
9.根据权利要求1所述的一种改进SAC算法的低空无人机路径规划及避障方法,其特征在于:在步骤S5中,所述得出训练好的模型步骤如下:
S10-1、增加时间步数,无人机进入新的状态空间,重新使用LSTM网络对无人机的状态空间进行特征提取,并通过VAE对LSTM网络输出进行优化,最终将优化结果作为特征直接输入到SAC网络中重新决策下一步动作;
S10-2、若判断距离最近障碍物小于,则综合SAC算法与IIFDS算法进行决策,直至达到预设的最大训练轮数或者达到预设的最大步数;
S10-3、若在达到预设的最大训练轮数或者最大步数之前到达终点,将认为该轮训练成功,保存相应的模型参数,并结束整个训练过程;
若到达最大训练轮数或最大步数但仍未到达终点,则认为该轮训练失败,保存最后一次训练的模型参数,并结束整个训练过程;
S10-4、当达到结束指标时,最后的结果为一个训练好的模型,能够直接用于实际场景中的无人机自主避障和路径规划任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310567737.0A CN116774725B (zh) | 2023-05-19 | 2023-05-19 | 一种改进sac算法的低空无人机路径规划及避障方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310567737.0A CN116774725B (zh) | 2023-05-19 | 2023-05-19 | 一种改进sac算法的低空无人机路径规划及避障方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116774725A CN116774725A (zh) | 2023-09-19 |
CN116774725B true CN116774725B (zh) | 2024-01-16 |
Family
ID=87992041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310567737.0A Active CN116774725B (zh) | 2023-05-19 | 2023-05-19 | 一种改进sac算法的低空无人机路径规划及避障方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116774725B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117519278B (zh) * | 2023-12-04 | 2024-04-30 | 上海市建筑科学研究院有限公司 | 一种用于桥梁巡检的无人机避障方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109269502A (zh) * | 2018-09-19 | 2019-01-25 | 沈阳航空航天大学 | 一种基于多策略改进粒子群算法的无人机三维航路规划方法 |
CN110188836A (zh) * | 2019-06-21 | 2019-08-30 | 西安交通大学 | 一种基于变分自编码器的脑功能网络分类方法 |
WO2020113228A1 (en) * | 2018-11-30 | 2020-06-04 | Google Llc | Controlling robots using entropy constraints |
CN111880561A (zh) * | 2020-07-16 | 2020-11-03 | 河南大学 | 城市环境下基于改进鲸鱼算法的无人机三维路径规划方法 |
CN113505477A (zh) * | 2021-06-29 | 2021-10-15 | 西北师范大学 | 一种基于svae-wgan的过程工业软测量数据补充方法 |
CN115129088A (zh) * | 2022-08-26 | 2022-09-30 | 中国人民解放军国防科技大学 | 基于频谱地图的无人机轨迹规划和避障方法及系统 |
-
2023
- 2023-05-19 CN CN202310567737.0A patent/CN116774725B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109269502A (zh) * | 2018-09-19 | 2019-01-25 | 沈阳航空航天大学 | 一种基于多策略改进粒子群算法的无人机三维航路规划方法 |
WO2020113228A1 (en) * | 2018-11-30 | 2020-06-04 | Google Llc | Controlling robots using entropy constraints |
CN110188836A (zh) * | 2019-06-21 | 2019-08-30 | 西安交通大学 | 一种基于变分自编码器的脑功能网络分类方法 |
CN111880561A (zh) * | 2020-07-16 | 2020-11-03 | 河南大学 | 城市环境下基于改进鲸鱼算法的无人机三维路径规划方法 |
CN113505477A (zh) * | 2021-06-29 | 2021-10-15 | 西北师范大学 | 一种基于svae-wgan的过程工业软测量数据补充方法 |
CN115129088A (zh) * | 2022-08-26 | 2022-09-30 | 中国人民解放军国防科技大学 | 基于频谱地图的无人机轨迹规划和避障方法及系统 |
Non-Patent Citations (5)
Title |
---|
Autonomous Decision-Making Generation of UAV based on Soft Actor-Critic Algorithm;Yan Cheng;《Proceedings of the 39th Chinese Control Conference》;全文 * |
Procapra Przewalskii Tracking Autonomous Unmanned Aerial Vehicle Based on Improved Long and Short-Term Memory Kalman Filters;段龙方;《sensors》;全文 * |
无人机反应式扰动流体路径规划;吴健发;《自 动 化 学 报》;第273-280页 * |
虚拟环境中基于ICM-SA...人机飞行控制及路径规划研究;胡仕柯;《中国优秀硕博士论文全文数据库》;全文 * |
面向无人机自主避障导航的 深度强化学习算法研究;张运涛;《中国优秀硕博士论文全文数据库》;第3-5章 * |
Also Published As
Publication number | Publication date |
---|---|
CN116774725A (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110308649B (zh) | 应用于工业过程控制的基于pso-soa融合算法的pid参数优化方法 | |
CN103381826B (zh) | 基于近似策略迭代的自适应巡航控制方法 | |
CN113110592A (zh) | 一种无人机避障与路径规划方法 | |
CN111103798B (zh) | 一种基于反演滑模控制的agv路径跟踪方法 | |
CN116774725B (zh) | 一种改进sac算法的低空无人机路径规划及避障方法 | |
Botteghi et al. | On reward shaping for mobile robot navigation: A reinforcement learning and SLAM based approach | |
CN114967721B (zh) | 一种基于DQ-CapsNet的无人机自助路径规划和避障策略方法 | |
CN113741533A (zh) | 一种基于模仿学习与强化学习的无人机智能决策系统 | |
CN114089776B (zh) | 一种基于深度强化学习的无人机避障方法 | |
CN115016534A (zh) | 一种基于记忆增强学习的无人机自主避障导航方法 | |
CN112965487B (zh) | 基于策略迭代的移动机器人轨迹跟踪控制方法 | |
CN116804879A (zh) | 一种改进蜣螂算法融合dwa算法的机器人路径规划框架方法 | |
CN111882047A (zh) | 一种基于强化学习与线性规划的快速空管防冲突方法 | |
CN113406957B (zh) | 基于免疫深度强化学习的移动机器人自主导航方法 | |
Hu et al. | Infrared target tracking based on improved particle filtering | |
CN118034373A (zh) | 一种平流层飞艇环境最优智能区域驻留控制方法及系统 | |
CN116562332B (zh) | 一种人机共融环境下的机器人社交性运动规划方法 | |
CN111738046B (zh) | 对用于基于深度学习的装置的学习的虚拟世界模拟器的物理引擎进行标定的方法及装置 | |
Chen et al. | A study of unmanned path planning based on a double-twin RBM-BP deep neural network | |
CN118732705A (zh) | 基于深度学习和强化学习的自主避障无人机 | |
CN115731747B (zh) | 一种低空多无人机概率型冲突探测方法及存储介质 | |
CN114326826B (zh) | 多无人机队形变换方法及系统 | |
Chen et al. | Research on intelligent merging decision-making of unmanned vehicles based on reinforcement learning | |
CN115562258A (zh) | 基于神经网络的机器人社会自适应路径规划方法及系统 | |
CN114200936B (zh) | 基于最优控制及宽度学习的agv实时路径规划方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |