一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法
未命名
07-12
阅读:161
评论:0
1.本发明属于四旋翼飞行器轨迹跟踪控制技术领域,具体涉及一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法。
背景技术:
2.目前控制四旋翼飞行器跟踪目标轨迹飞行一般采用pid控制方法。pid控制是工业过程控制中最常用的方法,优点是算法简单、鲁棒性好和可靠性高,目前仍有90%左右的控制回路采用pid控制结构。pid控制设计中最重要的步骤是参数整定,合适的pid参数是保证系统控制性能的前提。
3.现有技术中对四旋翼飞行器控制过程中pid参数进行整定的主要方法有ziegler-nichols法、稳定边界法、衰减曲线法等。但是现有的pid控制主要用试凑的方式整定,有很强的经验主义色彩,而且一旦实验发现控制性能不佳,只能重新整定,盲目而低效。
4.总之,现有技术存在利用试凑的方式调整pid参数来控制四旋翼飞行器的轨迹跟踪行为,参数整定过程盲目而低效的问题。
技术实现要素:
5.为了克服上述现有技术存在的不足,本发明提供了一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法。
6.为了实现上述目的,本发明提供如下技术方案:
7.一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,包括:
8.建立四旋翼飞行器的物理模型,并设定其所需要跟踪的目标轨迹跟踪效果的约束条件;
9.根据所需要的跟踪效果设定性能指标函数l;
10.搭建四旋翼飞行器的仿真模型和pid控制模块,设定初始pid参数;
11.根据性能指标函数l设置强化学习中的reward函数,将pid参数选为强化学习的中的action,所述约束条件作为强化学习的isdone条件,搭建强化学习框架进行学习,得到最优pid控制参数;
12.利用最优pid控制参数下的pid控制器控制四旋翼飞行器的期望姿态角和期望拉力,来控制四旋翼飞行器跟踪目标轨迹飞行。
13.进一步,所述四旋翼飞行器的物理模型为:
[0014][0015][0016][0017]
[0018][0019][0020]
其中,ph为四旋翼飞行器的水平面位置,pz为四旋翼飞行器的垂直位置,vh为水平速度,vz为垂直速度,θ为欧拉角,包括:俯仰角θ,滚转角φ和偏航角ψ,g为重力加速度,a
ψ
为由偏航角定义的旋转矩阵j为转动惯量,ω为机体旋转角速度,f为四个旋翼的总拉力,m为四旋翼飞行器总质量,τ为旋翼在机体轴上产生的力矩。
[0021]
进一步,所述根据性能指标函数l为:
[0022][0023]
其中,e2为跟踪4s时间之后跟踪误差,f(e)为误差容许函数。
[0024]
进一步,所述误差容许函数f(e)为:
[0025][0026]
进一步,所述四旋翼飞行器的期望姿态角和期望拉力的pid控制算法为:
[0027][0028][0029]
其中,k
hp
,k
hd
,k
zp
,k
zi
,k
zd
是需要整定的pid参数,k
hi
=0,fd为期望拉力,θ
hd
为期望姿态角,eh、ez、分别为水平方向和垂直方向的跟踪误差以及它们的导数。
[0030]
进一步,所述isdone条件为:
[0031]
跟踪4s时间之后跟踪误差e2》0.1,或跟踪过程中飞行器的俯仰角大于
[0032]
进一步,所述设置reward函数包括:将所述性能指标函数离散化后得到reward函数。
[0033]
进一步,其特征在于,所述初始pid参数设置为[50,40,21,5,13]。
[0034]
进一步,所述pid参数的上界和下界分别为[50,0,40,30,6,15]和[45,0,35,10,4,10]。
[0035]
本发明提供的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法具有以下有益效果:
[0036]
本发明针对所要控制的四旋翼飞行器,为四旋翼飞行器构建物理模型,并通过强化学习框架训练得到最优pid参数,来控制控制四旋翼飞行器跟踪目标轨迹飞行。
[0037]
由于pid控制这种试凑-实验-调整的思想与强化学习不谋而合,强化学习中智能体通过不断试错的方式在和环境的交互中学习。强化学习把学习看作探索-评价的过程,智能体根据当前策略选择一个action,环境接受action后状态发生变化,并将reward值反馈
给智能体,reward值越大,智能体以后采取这个action的概率越大。利用强化学习,可以自动调整pid控制参数,解决了现有技术中,利用试凑的方式调整pid参数来控制四旋翼飞行器的轨迹跟踪行为,参数整定过程盲目而低效的问题。
附图说明
[0038]
为了更清楚地说明本发明实施例及其设计方案,下面将对本实施例所需的附图作简单地介绍。下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]
图1为本发明实施例的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法示意图;
[0040]
如图2为本发明实施例的基于强化学习的pid参数整定策略示意图;
[0041]
如图3为本发明实施例的给定性能指标函数和约束条件时,强化学习的框架示意图;
[0042]
如图4为本发明实施例的利用pid控制被控对象解决待解决任务示意图;
[0043]
如图5为本发明实施例的四旋翼飞行器的仿真模型和pid控制模块示意图;
[0044]
如图6为本发明实施例的最优pid参数中k
hp
和k
hd
曲线图;
[0045]
如图7为本发明实施例的最优pid参数中k
zp
、k
zi
和k
zd
曲线图。
具体实施方式
[0046]
为了使本领域技术人员更好的理解本发明的技术方案并能予以实施,下面结合附图和具体实施例对本发明进行详细说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0047]
实施例:
[0048]
本发明提供了一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,具体如图1、2、3、4所示,包括:建立四旋翼飞行器的物理模型,并设定其所需要跟踪的目标轨迹跟踪效果的约束条件;根据约束条件设定性能指标函数l;搭建四旋翼飞行器的仿真模型和pid控制模块,设定初始pid参数;根据性能指标函数l设置强化学习中的reward函数,将pid参数选为强化学习的中的action,约束条件作为强化学习的isdone条件,搭建强化学习框架进行学习,得到最优pid控制参数;利用最优pid控制参数下的pid控制器控制四旋翼飞行器的期望姿态角和期望拉力,来控制四旋翼飞行器跟踪目标轨迹飞行。
[0049]
具体的,建立四旋翼飞行器的物理模型,并设定其所需要跟踪的目标轨迹跟踪效果的约束条件的具体操作可为:将四旋翼飞行器的物理模型在计算机上进行仿真,以验证物理模型的准确性。如simulink和solidworks等专业软件。
[0050]
四旋翼飞行器的一个简化线性模型如下:
[0051][0052][0053]
[0054][0055][0056][0057]
其中,ph为四旋翼飞行器的水平面位置,pz为四旋翼飞行器的垂直位置,vh为水平速度,vz为垂直速度,θ为欧拉角,包括俯仰角θ,滚转角φ和偏航角ψ,g为重力加速度,a
ψ
为由偏航角定义的旋转矩阵j为转动惯量,ω为机体旋转角速度,f为四个旋翼的总拉力,m为四旋翼飞行器总质量,τ为旋翼在机体轴上产生的力矩。
[0058]
具体的,根据所需要的跟踪效果设定性能指标函数l,性能指标函数l是人为规定的控制目标,希望使其达到最小,即minl,性能指标函数为:
[0059][0060]
其中误差容许函数f(e)为
[0061][0062]
接着在simulink中搭建四旋翼飞行器的仿真模型和pid控制模块。用pid控制器控制四旋翼飞行器的期望姿态角和期望拉力
[0063][0064][0065]
其中,k
hp
,k
hd
,k
zp
,k
zi
,k
zd
是需要整定的pid参数,k
hi
=0,fd为期望拉力,θ
hd
为期望姿态角,eh、ez、分别为水平方向和垂直方向的跟踪误差以及它们的导数。并设定初始pid参数为[50,40,21,5,13]。
[0066]
pid控制是根据实际状态和期望状态构成的控制误差e(t),将误差按比例(p)、积分(i)和微分(d)通过线性组合构成控制输入,其中,k
p
,ki和kd是pid参数。
[0067]
具体的,根据性能指标函数设置强化学习中的reward函数包括:将性能指标函数l离散化后得到reward函数,在强化学习的每个时刻对照reward函数,用于评价所采取行动在当前状态下的好坏。将pid参数选为action进行学习,目的是寻找最优的pid参数,由于强化学习需要规定action的范围,因此在可行的pid参数附近指定action的上界和下界。isdone条件为约束条件,当不满足约束条件时立即结束当前的训练,可以避免无意义的训练。
[0068]
具体的,搭建强化学习框架进行学习包括:构建actor神经网络和critic神经网络,利用强化学习算法进行学习。强化学习算法采用ddpg或dqn或sac。actor-critic神经网
络可以处理连续状态和动作的情形,利用现有强化学习算法(ddpg、dqn和sac等)训练得到最优的pid参数,得到的pid参数是一串随时间变化的序列。
[0069]
pid控制这种试凑-实验-调整的思想与强化学习不谋而合,强化学习中智能体通过不断试错的方式在和环境的交互中学习。强化学习把学习看作探索-评价的过程,智能体根据当前策略选择一个action,环境接受action后状态发生变化,并将reward值反馈给智能体,reward值越大,智能体以后采取这个action的概率越大。将强化学习用于pid参数的整定,只要合理设置isdone条件,就可以方便地处理复杂约束条件。例如,在无人机的姿态控制中,为了保证安全性,要求姿态角不应过大。此外,强化学习是一种动态规划方法,学习到的策略是一串时间序列,而其他参数整定方法得到的pid参数是静态的。因此,用强化学习对pid参数进行整定,得到的最优pid参数不仅可以在约束条件下使性能指标函数达到最优,而且还是时变的,适合解决动态规划任务。
[0070]
以下为应用本发明控制四旋翼飞行器的具体操作步骤:
[0071]
首先建立四旋翼飞行器的物理模型,并根据实际需要设定约束条件。四旋翼飞行器的一个简化线性模型如下:
[0072][0073][0074][0075][0076][0077][0078]
其中,ph为四旋翼飞行器的水平面位置,pz为四旋翼飞行器的垂直位置,vh为水平速度,vz为垂直速度,θ为欧拉角,包括:俯仰角θ,滚转角φ和偏航角ψ,g为重力加速度,a
ψ
为由偏航角定义的旋转矩阵j为转动惯量,ω为机体旋转角速度,f为四个旋翼的总拉力,m为四旋翼飞行器总质量,τ为旋翼在机体轴上产生的力矩。
[0079]
此实施例中需要跟踪的目标轨迹为一个侧立圆,仿真时间为20s
[0080][0081][0082][0083]
为了保证飞行器的跟踪效果,约束条件规定为:跟踪4s时间之后跟踪误差e2《0.1,跟踪过程中飞行器的俯仰角始终小于
[0084]
之后针对该问题设计性能指标函数其中误差容许函数f(e)为
[0085][0086]
接着在simulink中搭建如图5所示的四旋翼飞行器的仿真模型和pid控制模块。用pid控制器控制四旋翼飞行器的期望姿态角和期望拉力
[0087][0088][0089]
其中,k
hp
,k
hd
,k
zp
,k
zi
,k
zd
是需要整定的pid参数,k
hi
=0,fd为期望拉力,θ
hd
为期望姿态角,eh、ez、分别为水平方向和垂直方向的跟踪误差以及它们的导数。并设定初始pid参数为[50,40,21,5,13]。
[0090]
最后搭建强化学习框架。reward函数由性能指标函数离散化得到,r=f(e)-e2,state为飞行器的位置、速度和角速度,action为需要整定的pid参数,上界和下界分别为[50 0 40 30 6 15]和[45 0 35 10 4 10],isdone条件为:跟踪4s时间之后跟踪误差e2》0.1,或跟踪过程中飞行器的俯仰角大于
[0091]
经过训练,最优pid参数如图6和图7所示。
[0092]
以上实施例仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换,均属于本发明的保护范围。
技术特征:
1.一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,包括:建立四旋翼飞行器的物理模型,并设定其所需要跟踪的目标轨迹跟踪效果的约束条件;根据所需要的跟踪效果设定性能指标函数l;搭建四旋翼飞行器的仿真模型和pid控制模块,设定初始pid参数;根据性能指标函数l设置强化学习中的reward函数,将pid参数选为强化学习的中的action,所述约束条件作为强化学习的isdone条件,搭建强化学习框架进行学习,得到最优pid控制参数;利用最优pid控制参数下的pid控制器控制四旋翼飞行器的期望姿态角和期望拉力,来控制四旋翼飞行器跟踪目标轨迹飞行。2.根据权利要求1所述的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,所述四旋翼飞行器的物理模型为:征在于,所述四旋翼飞行器的物理模型为:征在于,所述四旋翼飞行器的物理模型为:征在于,所述四旋翼飞行器的物理模型为:征在于,所述四旋翼飞行器的物理模型为:征在于,所述四旋翼飞行器的物理模型为:其中,p
h
为四旋翼飞行器的水平面位置,p
z
为四旋翼飞行器的垂直位置,v
h
为水平速度,v
z
为垂直速度,θ为欧拉角,包括俯仰角θ,滚转角φ和偏航角ψ,g为重力加速度,a
ψ
为由偏航角定义的旋转矩阵j为转动惯量,ω为机体旋转角速度,f为四个旋翼的总拉力,m为四旋翼飞行器总质量,τ为旋翼在机体轴上产生的力矩。3.根据权利要求1所述的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,所述根据性能指标函数l为:其中,e2为跟踪4s时间之后跟踪误差,f(e)为误差容许函数。4.根据权利要求3所述的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,所述误差容许函数f(e)为:5.根据权利要求1所述的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,所述四旋翼飞行器的期望姿态角和期望拉力的pid控制算法为:
其中,k
hp
,k
hd
,k
zp
,k
zi
,k
zd
是需要整定的pid参数,k
hi
=0,f
d
为期望拉力,θ
hd
为期望姿态角,e
h
、e
z
、分别为水平方向和垂直方向的跟踪误差以及它们的导数。6.根据权利要求1所述的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,所述isdone条件为:跟踪4s时间之后跟踪误差e2>0.1,或跟踪过程中飞行器的俯仰角大于7.根据权利要求1所述的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,所述设置reward函数包括:将所述性能指标函数离散化后得到reward函数。8.根据权利要求1所述的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,所述初始pid参数设置为[50,40,21,5,13]。9.根据权利要求1所述的一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,其特征在于,所述pid参数的上界和下界分别为[50,0,40,30,6,15]和[45,0,35,10,4,10]。
技术总结
本发明提供了一种基于强化学习的四旋翼飞行器轨迹跟踪控制方法,属于四旋翼飞行器轨迹跟踪控制技术领域,包括:建立四旋翼飞行器的物理模型,并设定其所需要跟踪的目标轨迹跟踪效果的约束条件;根据约束条件设定性能指标函数L;搭建四旋翼飞行器的仿真模型和PID控制模块,设定初始PID参数;根据性能指标函数L设置强化学习中的reward函数,将PID参数选为强化学习的中的action,约束条件作为强化学习的isdone条件,搭建强化学习框架进行学习,得到最优PID控制参数;利用最优PID控制参数下的PID控制器控制四旋翼飞行器的期望姿态角和期望拉力,来控制四旋翼飞行器跟踪目标轨迹飞行。该发明可利用强化学习整定PID控制参数。该发明可利用强化学习整定PID控制参数。该发明可利用强化学习整定PID控制参数。
技术研发人员:刘洋 徐一超 卢剑权 楼俊钢
受保护的技术使用者:浙江师范大学
技术研发日:2022.10.09
技术公布日:2023/7/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
