动态系统建模仿真实验报告(2)
四旋翼飞行器仿真
姓名:
学号:
指导教师:
院系:
2014.12.28
1实验容
基于Simulink建立四旋翼飞行器的悬停控制回路,实现飞行器的悬停控制;
建立GUI界面,能够输入参数并绘制运动轨迹;
基于VR Toolbox建立3D动画场景,能够模拟飞行器的运动轨迹。
2实验目的
通过在 Matlab 环境中对四旋翼飞行器进行系统建模,使掌握以下容:
四旋翼飞行器的建模和控制方法
在Matlab下快速建立虚拟可视化环境的方法。
3实验器材
硬件:PC机。
工具软件:操作系统:Windows系列;软件工具:MATLAB及simulink。
4实验原理
4.1四旋翼飞行器
四旋翼飞行器通过四个螺旋桨产生的升力实现飞行,原理与直升机类似。
四个旋翼位于一个几何对称的十字支架前,后,左,右四端,如图 1 所示。
旋翼由电机控制;整个飞行器依靠改变每个电机的转速来实现飞行姿态控制。
图1四旋翼飞行器旋转方向示意图
在图 1 中, 前端旋翼 1 和后端旋翼 3 逆时针旋转, 而左端旋翼 2 和右端的旋翼 4 顺时针旋转, 以平衡旋翼旋转所产生的反扭转矩。
由此可知, 悬停时, 四只旋翼的转速应该相等,以相互抵消反扭力矩;同时等量地增大或减小四只旋翼的转速,会引起上升或下降运动;增大某一只旋翼的转速,同时等量地减小同组另一只旋翼的转速,则产生俯仰、横滚运动;增大某一组旋翼的转速,同时等量减小另一组旋翼的转速,将产生偏航运动。
4.2建模分析
四旋翼飞行器受力分析,如图 2 所示
图2四旋翼飞行器受力分析示意图
旋翼机体所受外力和力矩为:
重力mg , 机体受到重力沿w z -方向;
四个旋翼旋转所产生的升力i F (i= 1 , 2 , 3 , 4),旋翼升力沿b z 方向; 旋翼旋转会产生扭转力矩i M (i= 1 , 2 , 3 , 4)。
i M 垂直于叶片的旋翼平面,与旋转矢量相反。
力模型为:2i F i F k ω= ,旋翼通过螺旋桨产生升力。
F k 是电机转动力系数,
可取826.1110/N rpm -⨯,i ω为电机转速。
旋翼旋转产生旋转力矩Mi(i=1,2,3,4),
力矩Mi 的旋向依据右手定则确定。
力矩模型为2i M i M k ω= ,其中M k 是电机转动力系数,可取921.510/Nm rpm -⨯i ω为电机转速。
当给定期望转速后,电机的实际转速需要经过一段时间才能达到。
实际转速与期望转速之间的关系为一阶延迟:()des i m i i k ωωω=-响应延迟时间可取0.05s(即20m k s
=)。
期望转速des i ω则需要限制在电机的最小转速和最大转速之间,围可分取[1200rpm ,7800rpm]。
飞行器受到外界力和力矩的作用,形成线运动和角运动。
线运动由合外力引起,符合牛顿第二定律:
0000i mr R mg F ⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦∑ r 为飞机的位置矢量。
角运动由合力矩引起。
四旋翼飞行器所受力矩来源于两个方面:1)旋翼升力作用于质心产生的力矩;2)旋翼旋转产生的扭转力矩。
角运动方程如下式所示。
其中,L 为旋翼中心建立飞行器质心的距离,I 为惯量矩阵。
24311234(-)=(-)L F F p p p I q L F F q I q r r r M M M M ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥-⨯⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢
⎥⎢⎥-+-⎣⎦⎣⎦⎣⎦⎣⎦ 4.3控制回路设计
控制回路包括外两层。
外回路由Position Control 模块实现。
输入为位置误差,输出为期望的滚转、俯仰和偏航角(()()())des des des t t t φθψ、、。
回路由Attitude Control 模块实现,输入为期望姿态角,输出为期望转速。
Motor Dynamics 模块模拟电机特性,输入为期望转速()φθψωωω∆∆∆、、,输出为力和力矩。
Rigid Body Dynamics 是被控对象,模拟四旋翼飞行器的运动特性。
图3包含外两个控制回路的控制结构
(1)回路:姿态控制回路
对四旋翼飞行器,我们唯一可用的控制手段就是四个旋翼的转速。
因此,这里首先对转速ω产生的作用进行分析。
假设我们希望旋翼1的转速达到1des
ω,那么它的效果可分解成以下几个分量: h ω:使飞行器保持悬停的转速分量;
F ω∆:除悬停所需之外,产生沿ZB 轴的净力;
θω∆:使飞行器负向偏转的转速分量;
ψω∆:使飞行器正向偏航的转速分量;
因此,可以将期望转速写成几个分量的线性组合:
1des h F θψωωωωω=+∆-∆+∆
其它几个旋翼也可进行类似分析,最终得到:
123410-111
10-110111-11-1des h F des des des φθψωωωωωωωωω⎡⎤+∆⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥∆⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥∆⎢⎥⎢⎥⎢⎥∆⎢⎥⎢⎥⎣⎦⎣⎦
⎣⎦ 在悬浮状态下,四个旋翼共同的升力应抵消重力,因此:
24F h K mg ω=
此时,可以把旋翼角速度分成几个部分分别控制,通过“比例-微分”控制律建立如下公式:
,,,,,,=()()
()()
()()des des p d des des p d des des p d k k k k k k φφφθθθψψψωφφφφωθθθθωψψψψ∆-+-∆=-+-∆=-+-
综合以上三式可得到期望姿态角-期望转速之间的关系,即回路。
外回路:位置控制回路
外回路采用以下控制方式:通过位置偏差计算控制信号(加速度);建立控制信号与姿态角之间的几何关系;得到期望姿态角,作为回路的输入。
期望位置记为des i r 。
可通过PID 控制器计算控制信号:
,,,,,,,()()()=des i T i d i i T i p i i T i i i i T i r r k r r k r r k r r -+-+-+-⎰()0 ,i T r 是目标悬停位置是我们的目标悬停位置(i=1,2,3),des i r 是期望加速度,
即控制信号。
注意:悬停状态下线速度和加速度均为0,即,,==0i T i T r r 。
通过俯仰角和滚转角控制飞行器在XW 和YW 平面上的运动,通过ψω∆控制偏航角,通过F ω∆控制飞行器在ZB 轴上的运动。
可得:
123(cos sin cos sin sin )(sin sin cos cos sin )cos cos i
i i mr F mr F mr mg F ψθθφψψθψθφφθ=+=-=-+∑∑∑
根据上式可按照以下原则进行线性化:
(1)将俯仰角、滚转角的变化作为小扰动分量,有sin θθ≈,sin φφ≈,cos 1θ≈,cos 1;φ≈(2)偏航角不变,有0==T ψψψ,其中0ψ初始偏航角,T ψ为期望偏航角(3)在悬停的稳态附近,有i F mg ≈∑
根据以上原则线性化后,可得到控制信号(期望加速度)与期望姿态角之间的关系:
123(cos sin )
(sin cos )8des des des T T des des des T T des F h F r g r g k r m
θψφψθψφψωω=+=-=∆
则回路的输入为:
121231(sin cos )1(cos sin )8des des des T T des des des T T des F F h r r g
r r g
m r k φψψθψψωω=
-=+∆= 5实验步骤与结果
(1)根据控制回路的结构建立simulink 模型;
(2)为了便于对控制回路进行参数调整,利用Matlab 软件为四旋翼飞行器创建GUI 参数界面;
(3)利用Matlab的VR Toolbox建立四旋翼飞行器的动画场景
(4)根据系统的结构框图,搭建Simulink模块以实现模拟飞行器在指定位置的悬停。
使用默认数据,此时xdes=3,ydes=4,zdes=5,开始仿真,可以得到运动轨迹x、y、z的响应函数,同时可以得到在xyz坐标中的空间运动轨迹。
然后点击GUI中的VR按钮使simulink的工作空间中载入系统仿真所需的参数,把x、y、z的运动轨迹和Roll,Pitch,Yaw输入至VR中的模拟飞行器中,观察飞行器的运动轨迹和运动姿态,然后再使用一组新的参数xdes=-8,ydes=3,zdes=6进行四旋翼飞行器运动进行仿真模拟,可以看出仿真结果和动画场景相吻合。
6实验总结与心得
此次MATLAB实验综合了SIMULINK、GUI和VR场景等多个部分,对四旋翼飞行器运动进行了仿真模拟。
由仿真结果可以看出,四旋翼飞行器最终位置达到了期望给定的位置,三个方向的响应曲线最终平稳,对应飞行器悬停在期望位置,达到了控制要求。
本次试验收获很多,学习到了很多知识,首先是熟悉了SIMULINK由简至繁搭建系统的过程,学习了利用VR建立虚拟模型,并在SIMULINK中连接。
其次是熟悉了MATLAB GUI界面的编写和搭建过程。
Matlab提供了强大的用户图形界面,以帮助用户不必编写底层程序而直接在软件包基础上进行自行开发,这点在诸多软件中都有所体现。
另外通过实验,对四旋翼飞行器的受力分析、模型建立、控制回路设计等有了较为细致的了解。