您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页基于LQR的四轴飞行器控制算法设计

基于LQR的四轴飞行器控制算法设计

来源:爱玩科技网
罗配明:基于LQR的四轴飞行器控制算法设计

产业经济

基于LQR的四轴飞行器控制算法设计

罗配明

(广东工业大学 自动化学院,广东 广州 510000)

[摘 要]为有效解决四轴飞行器的稳定性控制响应慢、精度不高的问题,提出一种基于LQR的反馈控制算法;重点描述了四轴飞行器的控制模型、LQR的算法设计原理及稳定性判据、LQR在四轴飞行器控制中的设计步骤,并通过Matlab仿真验证了算法的可行性。

[关键词]LQR算法;四轴飞行器模型;Matlab仿真[DOI]1013939/jcnkizgsc201709069

  LQR(LinearQuadraticRegulator)即线性二次型调节器,是现代控制理论中较为经典的控制算法,其设计的目标是寻找状态反馈控制器K使得二次型目标函数J

取得最小值。[1~2]四轴飞行器又称四旋翼飞行器,是一个能够在6个

活动自由度自由运行,但是控制自由度却只有4个的系统,因此也被称为欠驱动系统。研究四轴飞行器的控制算法,就是针对四轴欠驱动的本质,设计控制算法,使得飞行器能够很好地响应控制指令,并保持性能稳定。

[3]

基于以上原因,论文基于LQR算法设计了四轴飞行器的控制回路,通过Matlab仿真验证算法的可行性。

1 四轴飞行器模型

四轴飞行器由十字交叉排列的4个电机提供升力,分别

为F1

、F2

、F3

和F4

,通过控制四个升力的大小并进行配合

控制,可分别实现四轴飞行器的上升、下降、前进、后退、左移和右移。其力学模型如图1所示。其中,y1正向表示飞行器前进方向,φ为机体俯仰角,θ为滚动角,Ψ为横摆角,p,q,r分别为φ,θ,Ψ的角速度。飞行器机体坐标系

为(x[41,y1,z1),地面坐标系为(x2,y]

2,z2

)。图1 四轴飞行器力学模型

根据图1可得,由机体坐标系到地面坐标系的变换公式为

Rx=[100

0c

osφ-sinφ0sinφ

cosφ

]cosθ0sinθRy=

[0

-sinθ0cosθ

]cosψ-sinψ0

Rz=[s

inψcosψ00

]组合变换为

[cosψcosθ

abR=RxRyRz=s

inψcosθc

-sinθ

sinθcosφcosθcosφ

]式中:a

=cosφsinθsin-cossinφb=cosφsinθcos+sinφsinc=sinφsinθsin+cosφcosd=sinφsinθcos-sincosφ

四轴飞行器通常使用电机作为驱动力,结合驱动力矩的方程,使用雅克比行列式表示四轴飞行器的状态方程为

00

00000

0000

A=

000000

100000

osφ-sinφ000

0c

0sinφcosφ

000

参考张忠民[2]

提出的模型,令状态矩阵A为

0

00

000

0

00000

A=

000000



100000

00

995-00998000

0009980995

000



0560560-56056

560560-560560B=-2802828028-2802828028

0000

由于系

00000000统输入输出之间不存在直接联系,D=0,输入矩阵C可设为

 .com.cn. All Rights Reserved.产业经济

100000010000

C=

0010000001000000100

0000

2 LQR算法设计

LQR算法的核心就是设计状态反馈系数K,假设四轴飞行器控制系统能用状态向量的形式表示成:

x=Ax+Bu

pq

y=Cx+Du=r



θφ

其中x(t)∈Rn,u(t)∈Rm

,初始条件为x(0),且系

统所有的状态变量都是可以测量到的。

设计LQR控制器,即设计一个能量函数,最优的控制轨迹应该使得能量函数最小,通常取能量函数为

J=

1∫

TT

2xQx+uRudt0

其中,Q为设定的半正定矩阵,R为正定矩阵。根据反馈控制系统的结构,u=-Kx,代入得到J=1∞

2∫

xT(Q+KT

RK)xdt0

选择系数Q和R,解方程

ATP+PA+Q-PBR-1BT

P=0

求出P,计算K=R-1BT

3 Matlab仿真

Matlab中带有计算K的函数,按如下方式输入矩阵:A=[000000;000000;000000;100000;00995-00998000;0009980995000];B=[0560560-56056;560560-560560;-2802828028-2802828028;0000;0000;0000];C=[100000;010000;001000;000100;000010;000001];D=[0];

Q=[100000;010000;001000;000100;000010;000001];R=[1000;0100;0010;0001];

k,p,e]=lqr(A,B,Q,R);Ac=[(A-Bk)];Bc=[B];Cc=[C];Dc=[D];

y,x,t]=step(Ac,Bc,Cc,Dc);y1=y(:,4);y2=y(:,5);y3=y(:,6);plot(t,y1,'r:',t,y2,t,y3),gridxlabel('Time/s','FontSize',14)

 中国市场 2017年第9期(总第928期)

legend('y1','y2','y3

')通过plot函数可绘制出y1,y2,y3的曲线,也就是φ

,θ

,Ψ的值,通过图2可知,这三个变量最终稳定。图2 输出值

最终可得到K值为0

071605088007535

-04269k=

0

71600508807071-0049904975

0-0716-050880

-06527-05681

-0716005088

-07071-0049904975

反馈控制中,通过设置K值,即可得到稳定的控制

系统。

4 结 论

LQR是现代控制领域的经典算法,通过选择合适的Q和R,就可以使用Matlab来求解状态反馈系数K的值,使用Matlab还可以很好地观察系统的性能曲线,从而可以可以判断系统能否达到稳定的状态。

后续的工作可以继续研究的Q和R的值的取值规律,以便得到性能更好的曲线,还可以研究离散控制情况下,如何使用LQR算法,以便适应飞行器离散控制的特点。

参考文献:

[1]刘丽丽,左继红四旋翼飞行器的力学建模及LQR控制算法研究[J].机械管理开发,2016(10):1-2,23

[2]张忠民,丛梦苑基于线性二次调节器的四旋翼飞行器控制[J].应用科技,2011(5):38-42,60

[3]宋西蒙倒立摆系统LQR—模糊控制算法研究[D].西安:西安电子科技大学,2006

[4]王晓侃,冯冬青基于MATLAB的LQR控制器设计方法研究[J].微计算机信息,2008(10):37-39

檶檶檶檶檶檶檶檶檶[作者简介]罗配明(1987—),女,瑶族,广西贵港人,硕士,实验员。研究方向:无线传感器网络。

.com.cn. All Rights Reserved.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务