基于CompactRIO的四旋翼飞控实时仿真平台设计
2016-03-17郑文华黄学进
郑文华,刘 渊,余 婷,黄学进
(1.中航工业航空 动力控制系统研究所,江苏 无锡 214063;2.南京航空航天大学 能源与动力学院,南京 210000)
基于CompactRIO的四旋翼飞控实时仿真平台设计
郑文华1,2,刘渊2,余婷1,黄学进1
(1.中航工业航空 动力控制系统研究所,江苏 无锡214063;2.南京航空航天大学 能源与动力学院,南京210000)
摘要:针对四旋翼无人机实时飞行控制系统的控制算法设计与参数整定,设计了一种基于CompactRIO的飞行控制系统实时仿真平台,该平台使用两台CompactRIO作为主控制器,分别在其嵌入式实时系统(VxWorks)中运行Simulink设计的无人机动力学模型与飞行控制系统模型,并使用LabVIEW开发PC上位机监控程序,用于调整飞行状态和整定控制参数;经试验证明,该平台实用性强,可视化程度高,实时性好,能较好地对四旋翼飞控系统进行实时仿真验证。
关键词:四旋翼无人机; CompactRIO;实时仿真
0引言
四旋翼无人机是一种能够垂直起降和自由悬停的多旋翼式遥控自主飞行器。它通过调整4个旋翼的转速,对姿态和位置进行控制[1]。与常规旋翼式飞行器相比,其结构更为紧凑,产生的升力更大,稳定性也更好,飞行性能卓越,所以在很多领域内有着广阔的应用前景[2-3]。然而,四旋翼飞行控制算法多种多样,参数的调整也缺乏可视化的参考,目前多采用简单的数字仿真。为了保证飞行安全,缩短算法开发周期,提高参数整定效率,确保飞行控制系统的准确性与实时性,急需构建一个低成本高效率的飞控系统实时仿真平台[4-5]。
本文利用CompactRIO实时运行飞行控制系统和四旋翼无人机数学模型,使用VeriStand软件部署和设置模型,并用LabVIEW编写可视化的参数设置与监控上位机,搭建了四旋翼飞控系统实时仿真平台,在该平台上可以快速搭建四旋翼无人机原型,高效设计飞行控制系统算法,并对算法进行调试,整定控制参数,评估飞行性能,不仅减少了四旋翼无人机的开发成本,更提高了飞控系统的开发效率。
1仿真平台总体架构
在设计四旋翼飞控算法仿真平台过程中,分析出该系统应满足如下基本功能:飞控算法开发速度快,可移植性强;飞控模型与无人机动力学模型实时性高;具备传感器、旋翼等故障设置;仿真验证可视化程度高等。同时,仿真平台的软硬件开发环境应具有开放性,系统设计、软件编程和算法验证应具有可扩展性,功能算法易于实现,便于后续开发人员对其进行二次开发。
基于以上飞控算法仿真平台的需求与特点,该实时仿真平台的设计流程为:建立四旋翼无人机飞行控制系统模型和四旋翼运动学动力学数学模型,并使用Simulink实现两种模型,然后使用Simulink的Real-Time Workspace(RTW)工具包将模型编译为CompactRIO中嵌入式系统可以调用的库文件,并实现两者之间的接口函数,最后利用VeriStand软件部署模型和接口函数,利用LabVIEW编写上位机飞行状态设定与监控软件,进行实时仿真。
飞控算法实时仿真平台总体架构如图1所示,仿真平台的硬件部分由一台PC计算机和两台CompactRIO 9024组成。CompactRIO(CRIO)是NI公司的一款坚固耐用、可重配置的嵌入式系统,主要由3个部分组成:实时控制器,可重配置的FPGA(现场可编程门阵列)和工业级I/O模块(NI C系列)。实时处理器具体是一个速率高达800 MHz Freescale的工业实时嵌入式处理器,能够可靠而准确地执行实时应用程序,并可提供多速率控制、进程执行跟踪、板载数据存储以及与外部设备通讯等功能,系统安全性、可靠性及控制精度高,实时性强[6]。CompactRIO内嵌FPGA的可重配置机箱是嵌入式系统体系结构的核心,机箱中的FPGA直接和每个I/O模块相连,可高速访问I/O电路并灵活实现定时、出发和同步等功能。RIO(FPGA)核心内置数据传输机制,负责把数据传输到嵌入式处理器进行实时分析、数据处理、数据记录或与主机联网通信。NI C系列模块提供了高精度测量,适用于高级数据和控制应用,并支持较宽的温度范围,以满足各种应用和环境需求。
图1 仿真平台硬件结构图
模型的加载、部署与实时运行都是由VeriStand软件完成的。NI VeriStand是一种配置实时测试应用程序的软件环境,可以配置针对多核处理器的实时引擎。利用VeriStand硬件发现功能可以扫描得到FPGA,针对CRIO上的C模块编写FPGA配置文件即可直接访问CompactRIO硬件的每个I/O模块输入输出电路,简单灵活地进行复杂任务处理。
NI VeriStand 还能够从NI LabVIEW 软件和第三方环境中导入控制算法、仿真模型和其他任务。可以使用运行时可编辑的用户界面(Workspace)监测这些任务,并与其交互,然而VeriStand Workspace控件太少,功能过于简单,实用性不足,故本仿真平台中使用LabVIEW调用VeriStand API,控制模型的状态设定和参数监控。VeriStand可以在多种不同的软件环境进行自定义和扩展,如LabVIEW,ANSI C/C++和其他建模与编程环境。
2仿真平台软件设计
2.1通信程序与转速驱动程序编程
真实四旋翼无人机中,飞行控制系统的飞行状态设定值由遥控指令设定,姿态信息则通过传感器采集获得。而在本仿真平台中,飞行状态设定值由PC上位机设定,传感器反馈值由四旋翼数学模型计算,计算后通过串口从第二个CompactRIO(CRIO2)发送至第一个CompactRIO(CRIO1)。由于VeriStand并没有预置串口通信功能,所以使用Custom Device实现。Custom Device是一种具有固定格式的LabVIEW工程,它可以实时运行于仿真平台,VeriStand提供了该工程的模板,可以在该模板中添加所需功能。但是该模板的阅读与使用较为复杂,NI官方提供了名为“EasyCustomDeviceTool”的工具,对原有模板进行了进一步的封装,使得Custom Device的编写与常规LabVIEW串口通信程序的编写基本一致,极大地简化了编程,提高了效率。
在本仿真平台中,为使飞行控制系统模型和四旋翼数学模型能够在两个CRIO中分别实时运行,更加贴近真实四旋翼无人机的各项功能,并尽可能地减少通信程序可能造成的延迟,在CRIO1中使用LabVIEW程序编写了转速输出驱动程序,即将飞行控制系统模型输出的转速使用FPGA通过NI 9401模块转换为PWM波形输出,而在CRIO2中变速采集驱动程序,即使用FPGA通过 NI 9403模块采集PWM波形并标定为真实转速,并将转速通过映射功能(Mapping)传递至四旋翼数学模型的输入端口。
2.2仿真平台软件架构
整个仿真软件可以分为上位机和下位机两部分。上位机也是主控计算机,由LabVIEW通过调用VeriStand API,控制整个VeriStand工程,对下位机模型输入参数进行设定,同时读取模型各输出参数,并用合适的方式显示;两个CompactRIO都是下位机,下位机模型则由VeriStand Engine实时运行。
上位机的主要功能包括飞行状态和控制参数的设定、模型输出参数的监控、数据存储于回放等。而下位机则主要是模型的实时运行,通讯程序、模型和转速驱动三者之间的信号通过VeriStand的映射功能实现,信号的标定与计算则通过VeriStand的Calculated Channels功能实现,同时使用Stimulus Profile按需求编写了实时测试序列,对模型进行自动化测试。
3仿真模型的建立
3.1飞行控制系统模型的建立
飞行控制系统是四旋翼无人机的大脑,其主要功能是接收遥控指令,并读取传感器参数,通过调整4个旋翼的转速以控制四旋翼的姿态和位置。本仿真平台是使用最普遍的PID控制器对四旋翼无人机进行姿态和高度控制的,飞行控制系统模型的输入为飞行状态设定值和传感器反馈值。飞行状态由上位机设定,传感器反馈值则通过串口从CRIO2接收。
在Simulink下对飞行控制系统进行建模,模型主体结构如图2所示。
图2 飞行控制系统模型
飞行控制系统数学模型在CRIO中的运行周期为5 ms。
3.2四旋翼动力学与运动学模型的建立
建立在运动学和动力学分析基础上的四旋翼无人机数学模型是飞行控制仿真的基础。为建立其数学模型,首先建立地面坐标系E(OXYZ)以确定四旋翼飞行器的空间坐标位置和相对于地面的运动状态;然后以四旋翼飞行器重心为原点,建立机体坐标系B(OXYZ),并对四旋翼进行受力分析,如图3所示。其中,翻滚角Φ为机体坐标系相对地面坐标系沿x轴变化的角度,俯仰角θ为机体坐标系相对地面坐标系沿y轴变化的角度,偏航角Ψ为机体坐标系相对地面坐标系沿z轴变化的角度。这3个欧拉角用于描述飞行器的姿态。
图3 四旋翼无人机坐标系
分析四旋翼在地面坐标系中受力情况时,首先获得机体坐标系到地面坐标系的转换矩阵如下:
R=Rx*Ry*Rz=
为使建立的数学模型更为准确,对该系统做如下假设:
1)假设地面坐标系E(OXYZ)为惯性坐标系;
2)无人机机体坐标原点与无人机重心完全重合;
3)将四旋翼整体视为刚体,且完全均匀对称;
4)飞行器处在悬停或慢速飞行状态,忽略阻力系数。
根据牛顿第二定律和飞行器动力学方程,参考文献[7-9],建立四旋翼无人机的数学模型如下:
式中,m为无人机的质量,g为重力加速度,l为无人机重心到旋翼中心的距离,kt为升力系数,kd为拖拉系数,ωi为电机转速,i=1,2,3,4,Ix,Iy,Iz分别为无人机3个轴向的转动惯量。
利用Simulink软件对四旋翼无人机进行建模,其结构如图4所示。
图4 四旋翼数学模型
飞行控制系统模型在CRIO中的运行周期为5ms。
模型建立后即可使用NI提供的“NIVeriStand_VxWorks.tlc”目标文件,将Simulink模型编译为可以在VeriStand中运行的.out文件。
4仿真验证
VeriStand提供了非常友好的API接口,可以使用LabVIEW、C#等语言控制VeriStand工程,编写界面更为友好、功能更为丰富的上位机程序,尤其是搭配图形化编程语言LabVIEW可以快速搭建可视化仿真验证上位机。
在该可视化上位机中,左上角为PID调参区域,如未填写则使用下默认参数,中间部分为飞行状态设定区域,右侧为姿态角变化曲线显示区域,左下角显示飞行姿态,右下角曲线显示4个电机转速变化。
为测试该仿真平台的控制效果,在上位机飞行状态设定中,将横滚角和俯仰角都设定为0.5rad,翻滚角设置为0rad,高度设置为1m。运行上位机程序,上位机自动部署并实时运行VeriStand工程,同时将模型各项输入输出参数在上位机中显示。图6为改变参数后姿态角在前20s的变化曲线。
图5 20 s内姿态角变化曲线
转速曲线则如图7所示。
图6 转速变化曲线
从图5与图6中可以看出,飞行器大约在5s左右进入悬停状态,横滚角的稳态误差为±0.02rad,俯仰角的稳态误差为±0.05rad,偏航角的稳态误差为±0.05rad,悬停中无人机的飞行状态非常稳定。
5结论
本文研究并设计了一个四旋翼无人机飞行控制系统实时仿真验证平台,使用Simulink建立了四旋翼无人机数学模型和飞行控制系统模型,利用RTW将模型编译,通过VeriStand将模型部署至CompactRIO实时系统中,并在LabVIEW编写的上位机中飞行状态,实时运行模型以对飞行控制系统进行仿真验证与可视化参数整定。经过验证,该仿真平台具有较好的扩展性和实用性,能以低成本的方式对四旋翼无人机飞控系统进行实时仿真验证。
参考文献:
[1] 韩志凤,李荣冰,刘建业,等.小型四旋翼飞行器实验平台设计[J].测控技术,2012,32(10):121-124.
[2]McKerrowP.Modellingthedraganflyerfour-rotorhelicopter[A].ProceedingofIEEEInternationalConferenceonRoboticsandAutomation[C]. 2004:3596-3601.
[3] 聂博文,马宏绪,王剑,等.微小型四旋翼飞行器的研究现状与关键技术[J].电光与控制,2007,14(6):113-117.
[4] 周德新,马腾达.四旋翼无人机飞控系统仿真平台研究[J]. 计算机测量与控制,2014,22(2):426-428.
[5] 张垚,鲜斌,于琰平,等. 四旋翼无人机可视化半实物仿真平台研究[J]. 仪器仪表学报,2012,33(11):2572-2578.
[6] 张冬冬,黄金泉,鲁峰. 航空发动机健康管理系统的快速原型设计[J]. 航空发动机,2014,40(4):89-94.
[7] 吴桐,赵健康,杨磊.四旋翼无人机的系统模型与辨识[J]. 计算机仿真,2012,29(8):89-92.
[8] 何嘉继. 四旋翼飞行器建模与控制方法的研究[D]. 辽宁沈阳:东北大学,2012.
[9] 刘志军, 吕强, 王东来,等. 小型四旋翼直升机的建模与仿真控制[J]. 计算机仿真, 2010, 27(7):18-20.
Study of Real-Time Simulation Platform for Four-Rotor Flight Control System Based on CompactRIO
Zheng Wenhua1,2, Liu Yuan2, Yu Ting1, Huang Xuejin1
(1.AVIC Aviation Motor Control System Institute,Wuxi214063,China;2.Nanjing University of Aeronautics and Astronautics, Nanjing210000,China)
Abstract:For four-rotor real-time UAV flight control system design and algorithm parameter tuning, a flight control system based on CompactRIO real-time simulation platform is designed. This Platform using two CompactRIO as the main controller, respectively, in its embedded real-time systems (VxWorks) run UAV dynamics model and flight control system model designed by Simulink. LabVIEW is used to develop PC monitoring program to adjust flight status and set control parameters. The experiment proved that the platform is practical, and has high degree of visualization and real-time performance, can better for real-time simulation of four-rotor flight control system.
Keywords:four-rotor UAV; CompactRIO; real-time simulation
文章编号:1671-4598(2016)02-0275-04
DOI:10.16526/j.cnki.11-4762/tp.2016.02.076
中图分类号:V271.4
文献标识码:A
作者简介:郑文华(1990-),男,江苏常州人,硕士研究生,主要从事系统控制与仿真方向的研究。
基金项目:南京航空航天大学研究生创新基地(实验室)开放基金 (kfjj201462); 中央高校基本科研业务费专项资金。
收稿日期:2015-09-06;修回日期:2015-10-10。