工控网首页
>

应用设计

>

基于Sarsa算法的无人直升机悬停控制

基于Sarsa算法的无人直升机悬停控制

2007/12/12 16:23:00
摘要:无人直升机悬停控制,利用Sarsa增强学习算法设计。将Sarsa增强学习算法与多层前馈神经网络相结合,对控制器参数进行在线调整,实现对微小型无人直升机悬停控制性能的在线优化。增强学习的值函数逼近器采用N10-12-16结构的多层前馈神经网络,权值学习采用直接梯度下降的近似梯度迭代算法,用ε-Greed策略进行行为选择。

0 引言
由于无人直升机系统的复杂性、不确定性和强耦合性,难以建立精确数学模型,因此无人直升机悬停控制是国际上具有挑战性的课题。故将增强学习算法应用于直升机悬停运动控制

1 微小型直升机悬停动力学模型
该直升机是多输入/输出的非线性、时变、高度耦合系统,如图1。设直升机为六自由度规则长方体刚体,由刚体动力学得到直升机动力学模型:




其中,(θ,φ,ψ)为直升机俯仰、滚转和偏航角;(u,v,w)、(p,q,r)、(Ix,Iy,Iz)分别为直升机速度在体坐标中的分量、旋转角速度、轴转动惯量。∑F和∑M为直升机受到的合力和合力矩。
悬停或低速前飞时,直升机系统可简化为对简单的线性模型,各通道的耦合较小。设直升机处于理想的悬停状态,则其速度可近似趋于0,姿态角很小(假设sin(*)=*、cos(*)=1),模型简化为:


合力及合力矩方程为:


其中:(lM,yM,hM)为主旋翼旋转中心在体坐标系中的坐标;(lT,yT,hT)为尾翼旋转中心在体坐标系中的坐标。变量中,主旋翼各参数用下标M表示,尾桨旋翼各参数用下标T表示。将式(3)带入式(2),即可得到直升机在悬停状态下的状态空间方程:


x=[u,V,w,p,q,r,φ,θ,ψ);控制变量u=[A,B,θ0T]分别为前向和侧向周期变距、主旋翼和尾桨总距。

2 增强学习控制器
增强学习基于动物学习心理学的“试错法”原理,能在与环境的交互过程中根据评价性的反馈信号实现MDP的优化,可用于解决优化控制问题。
Sarsa算法基于模型,是一种在线策略TD(Temporal Difference)学习,算法中对MDP行为值函数的;迭代公式为:


其中:(st,at)为MDP在时刻t的状态行为对;(st+1,at+1)为时刻t+1的状态行为对;r为时刻t的回报;αt>0为学习因子并满足:


基于Sarsa的学习控制器,其值函数逼近器采用多层前馈神经网络,通常采用直接梯度下降的近似梯度迭代公式:


其中:wt为神经网络的输出层权值;

为神经网络的值函数估计输出。
建立甚于Sarsa学习算法的增强学习控制器。如图2。原理如下:采用结构为N10-12-16多层前馈神经网络控制方案,网络输入为直升机系统的9个状态(因处于悬停状态,3个方向的速度假设为0)和环境的评价回报共10个变量: x=[u,v,w,p,q,r,φ,θ,ψ]和R。隐含层神经网络节点数为12。


由模型可知,系统控制输入为4个变量:u=[A,B,θ0,θT],每个控制量的控制力矩分别为-1和+1,故离散化的控制行为包括16个元素的集合,而神经网络的输出分别逼近16个控制行为的行为值函数的估计值

。隐含层神经元的激活函数为Sigmoid函数,权值学习采用带阻尼项的BP算法。输出层采用线性加权函数,权值学习采用式(7)算法。针对神经网络16个输出,通过ε-Greed选择策略行为。设直升机悬停控制的回报:


可确定各学习周期的性能优化指标J:


其中,γ为折扣因子,选择接近1的常数,为此取0.99。通过对性能指标J的优化,可保证系统状态或输出要求,确保系统性能的优化。

3 仿真与结论
利用上述设计方法,针对直升机的悬停动力学模型俯仰和滚转2个状态的数值仿真。因无人直升机在悬停状态时,偏航角ψ,易确定,故只对直升机的俯仰角θ和滚转角φ进行控制。设直升机的俯仰角θ和滚转角φ的初始姿态设为6°,学习因子设为0.2。进行300个周期的学习,每个周期的最大时间步为1000步,成功后俯仰角和滚转角稳定在0°。






图4、图5分别给出180个学习周期后俯仰角和滚转角的变化趋势。从变化趋势可知,学习稳定后得到的控制器,能很好控制直升机的俯仰角和滚转角在0°附近很小的范围内变化。解决了高维状态空间输入和输出的问题,成功实现了微小型无人直升机悬停控制,具有一定的应用价值。
投诉建议

提交

查看更多评论
其他资讯

查看更多

智光节能内蒙古阿拉善左旗瀛海建材余热发电机组首次启动成功

智光电气台州电厂给水泵系统节能改造项目成功投运

智光节能荣登2014年度全国节能服务公司百强榜第五位

索引程序编程凸轮表

奥越信300系列PLC手册