《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 基于RTOS的小型无人机飞行控制系统

基于RTOS的小型无人机飞行控制系统

2009-06-19
作者:陈 杰,陈 超,周建军,莫钦

  摘 要: 一种基于RTOS的小型无人机飞行控制系统的设计与实现。该系统基于C8051F120单片机和USOS II嵌入式实时操作系统,通过使用实际飞行获取的飞行参数,采用PID控制律实现了姿态控制;通过使用GPS提供的方位信息,实现了无人机的轨迹控制。同时,该控制系统还提供了飞行参数的存储。
  关键词: C8051F120;实时操作系统;无人机;PID

 

  随着无人机的逐渐小型、微型化,无人机的飞行控制系统逐渐向微型化、低功耗、低成本的方向发展。飞行控制系统作为无人机的关键技术部件,国外已有厂商针对小型无人机开发出了微型飞控系统,如美国Vesta Technology公司的AP30、AP40、AP50[1]系列、Cloud Cap Technology公司的PICCOLO系列以及MICROPILOT公司研制的MP 1000等。它们体积小、重量轻,但价格都比较高,或者根本就限制对华销售。国内科研单位主要研制的是针对中、大型无人机的飞控系统。这类飞行控制系统的体积、重量、功耗都很大,而且成本高,不能满足微、小型无人机的需要。针对以上情况,本文研究设计了针对微、小型无人机的小体积、低功耗、低成本的小型无人机飞行控制系统。
1 系统总体设计
1.1 飞行控制系统系统需求

  针对小型无人机飞控系统的特点,提出了系统的软硬件需求。
  (1)硬件需求
  小型无人机飞行控制系统的硬件需要满足处理速度快、多路模拟、数字信号采集/输出能力及数据存储能力强。其具体需求如下:
  ①具有较高的处理速度,能够胜任控制系统的众多事务处理。
  ②具有多路模拟信号的较高精度的采集能力。飞机姿态参数的采集使用空速传感器、高度传感器、角速度传感器等,上述传感器输出的都是模拟信号,需经量化后送往处理器处理。
  ③具备对8路遥控PCM指令信号的采集能力。本系统有自主飞行和遥控两种控制模式,在起飞和着陆阶段均采用遥控模式。在遥控模式下,由操纵员操作遥控器发送指令控制舵机、油门等执行机构。遥控器发送的指令形式为PCM,一般有8个通道。
  ④提供多路PWM信号输出接口。升降舵、方向舵、副翼、油门都拟采用PWM控制方式。
  ⑤可存储约10min的飞行记录信息。
  ⑥至少两路UART接口。飞控系统拟采用GPS导航,GPS模块通信接口为UART;采用GPRS模块实现地面站与飞控系统的通信,GPRS模块通信接口也为UART。
  ⑦提供航路点等参数的设置、飞行记录等信息输出的接口。通过PC、PDA可方便地访问这些参数。
  ⑧为以后功能扩展预留接口。
  (2)软件需求
  无人机飞行控制系统的软件设计较为复杂。飞行动态连续控制中,应确保处理运算、控制等所有任务无相互干扰,同步、实时进行;需要完成姿态控制、轨迹控制、数据采集记录、舵机油泵的控制等任务。
1.2 飞行控制系统硬件总体设计
  硬件系统的总体框图如图1所示,整个系统由接收机信号采集通道、接口电路、传感器信号转换电路、PWM输出通道组成。GPS导航模块、GPRS无线通信模块均通过UART接口与系统相连。系统与PC、PDA的通信接口也采用UART口,由于只在地面时才使用PC、PDA进行参数设置、读出飞行记录信息等,故与GPRS模块复用同一路UART。

 


1.3 飞行控制系统软件总体设计
  为确保程序运行可靠及编程简便,系统采用了嵌入式操作系统USOS II[2]。USOS II是针对中低档单片机而设计的嵌入式实时操作系统内核。同时支持按时间片轮转、按优先级抢占、二者结合共三种调度策略,具有完善的任务管理功能,提供定时、延时服务,支持消息、信号(signal)通信机制,支持临界代码段保护,提供二进制、计数型信号量(semaphore)同步对象等,支持Bottom-half中断管理机制[3]。通过对飞行控制任务的分析,将整个程序分为纵向控制任务、横向控制任务、飞行轨迹控制任务、飞行参数记录任务。其中,纵向控制任务包含油门控制和升降舵控制两个相互交联的子任务;而横向控制任务包含方向舵控制、副翼控制两个相互交联的子任务,同时这两个子任务也与升降舵控制子任务有交联,以保证转弯过程中对高度的损失能够及时补偿。与任务并列的程序还有AD中断、串口中断、比较器中断等。软件系统结构图如图2所示。


2 硬件设计
2.1 处理器的选型
  在选择处理器时,需考虑可靠性、处理速度、系统集成度、开发成本方面的因素。
  尽管ARM和DSP有相当高的处理速度,但多为商业级芯片。在使用中,一般要进行数据存储器和程序存储器的扩展,另外其I/O口不兼容5V电平逻辑,不便于芯片扩展,开发工具成本也较高。故在本系统中未采用,而选用了Cygnal公司的高速混合信号系统级C8051F120[4]单片机。针对本应用,它有以下优点:
  (1)100MI/s的处理速度,完全能够胜任飞行控制系统的事务处理。
  (2)片上集成Flash程序存储器。
  (3)2路UART口,满足本系统对UART的需求。
  (4)共有16路AD采样通道,12位和8位精度通道各有8路,满足本系统的要求。
  (5)6路PWM通道,可完成对升降舵、方向舵、副翼、发动机等执行机构的控制。
  (6)片内集成比较器,可完成遥控指令测量。
2.2 接收机信号采集电路
  遥控接收机的输出信号为PCM脉宽信号。接收机输入控制系统的通道为8个,分别控制油门、升降舵、方向舵、副翼、遥控模式与自主模式状态切换及备用。
  C8051F120内部集成了斯密特回滞比较器,上升沿和下降沿都允许中断,因此可用来测量信号脉宽。由于输入通道共有8个,而C8051F120仅有2个比较器,因此需要通过多路开关实现分时采集。为了防止接收机与系统之间的干扰,两板之间采用光耦实现电气隔离。电路原理如图3所示。8路PCM码信号经双路四选一模拟开关CD4052选择后再经光耦输入单片机比较器的引脚;通道选择信号由单片机普通I/O经光耦后接到CD4052的选择引脚。


2.3 控制信号输出电路
  方向舵、升降舵、副翼、发动机[5]等都通过PWM信号控制,C8051F120自身已提供了6路PWM通道,基本满足了控制需求。
  为便于扩展,控制系统将C8051F120内部集成的两路12位数模转换器接出,用以控制模拟量的执行机构。
2.4 扩展Flash电路
  由于飞行控制器需要具有记录至少最后10min飞行数据的能力,而频繁改动单片机自身Flash则有可能会带来不可预知的后果,因此扩展了一片Sumsung公司的NAND结构Flash存储器K9F2808。该存储器按页进行读写,按块擦除,通过I/O口分时复用作为命令/地址/数据。为防止启动或复位时电压不稳的误擦除操作,K9F2808的WP接了10 kΩ的上拉电阻,同时与地之间连接滤波电容。其余控制引脚直接与单片机的普通IO口相连。
3 飞行控制律设计
3.1 飞行控制系统结构
  一般的飞行控制结构如图4所示,由内部的姿态控制回路和外部的轨迹控制回路组成。其中,内回路主要用来控制和稳定飞机的姿态;外回路主要功能是控制飞机飞行轨迹,如高度的稳定与控制。因此,飞行控制软件的设计也分为内部控制回路和外部控制回路两部分。


  控制律的设计方法上,考虑到控制对象为高稳定性小型无人机,因此采用较为灵活简单的PID[6]控制方式。从成本考虑,无人机的建模采用实际遥控飞行,利用飞行数据采集系统记录飞行数据[7],继而推算模型的方法,节省使用风洞的费用。
3.2 姿态控制律设计
    姿态控制回路PID控制器结构图如图5所示,利用角速率ω和角度θ双路反馈, 由三轴角速率陀螺反馈构成阻尼回路,角速率通过积分得到角度反馈组成姿态角稳定回路。


    将通过遥控飞行所得出的飞机模型带入上述姿态回路PID控制器结构图,调整PID控制的各项参数,利用Matlab仿真软件进行模拟控制律仿真,可分别得到各个姿态回路的PID控制参数。由于对控制对象的灵敏性要求并不高,而对可靠性要求较高,因此调整参数时,控制系统的三大特性排序为:稳定性>准确性>快速性;表现在实际飞行中,飞行器在进行姿态变换时,反应较慢,但平稳性较高。
3.3 纵向控制律的分析与设计
  纵向控制时,油门、升降舵分别为两个相互关联的回路,体现在编程上,两个回路由两个任务控制,采用共用变量在两个任务间传递数据。
  设计中,采用高度偏差控制油门,采用空速偏差控制升降舵位置。同时,为防止飞机失速进入俯冲,对迎角进行限幅处理。
3.3.1 高度控制原理
  常规控制原理认为油门位置的变化导致推力的变化,从而使飞机的飞行速度变化。
  但是在实际飞行中发现,推力的改变只是在开始过渡阶段使飞行速度变化。而当飞行速度的改变使升力发生变化时,飞机的航迹角将改变,使飞机爬升或下滑,而飞机的迎角和速度最终不会改变。因此,单纯改变油门位置时,飞机运动状态有一个变化过程。过渡阶段引起速度的变化,稳态后飞行速度和迎角均不改变,但飞机的高度发生了变化。
  整个控制过程表现为:如果高度大于设定值→油门减小→速度减小→俯仰角减小→飞机下滑→速度增大→俯仰角增大→高度降低/速度、俯仰角不变;反之,高度小于设定值→油门增大→速度增大→俯仰角增大→飞机爬升→速度减小→俯仰角减小→高度增加/速度、俯仰角不变。
  高度偏差的大小直接决定油门的位置,从油门的位移到建立一定拉力(推力)的过程是非周期过程,时间常数较大。飞机质量越大,则发动机剩余功率越小,这个动态过程也就越长。
3.3.2 速度控制原理
  常规控制原理认为升降舵位置的变化导致迎角的变化,从而使飞机的飞行高度产生变化。
  在实际飞行中发现,水平直线飞行中,升降舵的偏转位置对应着一个迎角。在油门保持不变的情况下,单纯偏转升降舵,迎角的变化不仅能够改变飞机的俯仰角,使飞机做曲线运动,而且飞行速度也会发生显著变化。
  控制过程表现为:如果速度低于设定值→升降舵下偏→迎角减小→俯仰角减小→飞机下滑→速度增大;反之,速度高于设定值→迎角增大→俯仰角增大→飞机爬升→速度减小。
  采用速度偏差控制升降舵的优点是:速度偏差的大小通过升降舵的作用直接决定迎角的大小,飞机迎角变化范围大,速度控制过程快,作用效果明显,很容易实现稳定。
3.4 横侧向控制律的分析与设计
  横侧向控制时,副翼、方向舵分别为两个相互关联的回路,体现在编程上,两个回路由两个任务控制,并采用共用变量在两个任务之间传递数据。同时,在侧向转弯时,副翼、方向舵回路也和升降舵联动,用升降舵的偏转补偿转弯过程中损失的高度。
  系统采用转弯速率控制方式进行转弯。控制回路通过航向偏差测算出偏差量,从而确定希望的转弯速率。
3.4.1 方向舵控制原理
  在水平直线飞行中,方向舵的偏转位置对应着一个侧滑角,侧滑方向与方向舵的偏转方向相反。如果只是单纯的偏转方向舵,则飞机还会向方向舵的偏转方向滚转。
  在一定的滚转角和飞行速度下,只有一个与之对应的转弯速率(转弯角速度)。飞机的空速矢量以这个转弯速率转动时,就是侧滑角为零的协调转弯。
  系统的侧向控制通道是由航向通道和方向舵、副翼通道共同组成的一个串级控制回路。具有航向控制、偏航增稳控制、转弯控制和航迹控制功能。常规的水平转弯最好使用方向舵控制,同时采用副翼控制飞机转弯过程中的滚转。
3.4.2 副翼控制原理
  在无侧滑的条件下,副翼的偏转位置对应着一个稳定的滚转角速度。
  单纯偏转副翼,飞机在滚转的同时还会向滚转的方向侧滑,并使机头向滚转的方向偏转。
  无侧滑的滚转没有安定力矩,只有操纵力矩和机翼的阻转力矩。若保持滚转的角度,副翼必须回中使操纵力矩为零。
  飞行速度增大,横侧操纵性变好;迎角增大,副翼效能变差;迎角增大到一定程度,将发生反操纵现象。飞机的副翼通道,具有滚转角控制、滚转增稳控制和协调方向舵转弯的控制功能。
4 软件设计
4.1 主程序设计

  主程序主要完成硬件的初始化、操作系统的初始化以及文件系统的初始化。
  在以上任务和中断中,中断的优先级大于任务优先级。而任务优先级根据其特性设定为:纵向控制任务>横向控制任务>轨迹控制任务>飞参记录任务。
4.2 纵向控制任务设计
  纵向控制任务完成无人机飞行过程中纵向的姿态控制,保证了无人机处于可控的飞行速度及飞行高度状态之中,不会发生失速现象。
4.3 横向控制任务设计
  横向控制任务完成无人机转弯过程中的横向姿态控制,控制无人机转弯的速率,保证无人机在转弯过程中的安全性,不会陷入“荷兰滚”状态中。
4.4 飞行轨迹控制设计
  飞行轨迹控制任务完成对飞机的飞行轨迹的控制。该任务通过将GPS提供的方位参数、高度计提供的高度参数、空速管提供的空速参数与预先设定在Flash中各阶段的飞行参数相比对,得出高度、速度、方位的误差传递给纵向控制任务和横向控制任务,以保证无人机按照预先设定的飞行参数飞行。
4.5 飞行参数记录任务设计
  由于USOS II已经提供了比较完善的文件系统管理,因此可采用类似于PC机Dos系统对文件的管理模式。本设计中,将存储用户预先设定各个飞行点参数的Flash部分设定为C盘,而存储飞行数据的Flash存储设定为D盘。在Flash的初始化成功后,即将以Flash为存储媒介的C、D盘添加入文件系统中,并创建各个任务。
  飞行参数记录任务将AD中断、UART中断、比较器中断采集到的各种飞行数据进行计算、打包。为提高写Nand Flash的效率,在内存中开辟了两个与Flash页面大小相同、长度为512 B的缓冲区,打包完毕的数据先存入其中一个缓冲区内。当缓冲区存满后,将缓冲区满标志置位,并向飞行参数记录任务发送消息;飞行参数记录任务接收到缓冲区满的消息后,会将对应的缓冲区中的数据写入Flash,并将缓冲区满的标志清空。
4.6 中断程序设计
  AD采样中断完成对高度、速度、航向、姿态、舵机位置的数据采集,比较器中断完成对油门控制信号的数据采集,UART中断完成对GPS定位信号的数据采集。
  由于采用了双缓冲区设置,在中断进行采集数据的情况下,不会影响飞行参数记录任务将打包后的数据写入Flash。
  目前该小型无人机飞行控制系统已经安装到试验的小型无人机上进行多次试飞,经过检测,该系统运行稳定、可靠。通过试验取得小型高稳定性无人机的飞行参数,并通过PID控制律设计无人机姿态控制回路的方法,节省了人力、物力,为后续进行较大型无人机飞行控制系统的设计提供了经验。


参考文献
[1] AP50控制系统技术手册[EB/OL].Rev 030505,2003.
[2] 嵌入式软件网.USOS II嵌入式操作系统使用手册[EB/OL].http://www.mcu-soft.com, 2006.
[3] 郑玉全.微型抢占式实时操作系统的设计与实现.单片机与嵌入式系统,2004(1):27-31.
[4] SILICON LABORATORIES.C8051F120混合信号ISP FLASH.微控制器数据手册[EB/OL],Rev.1.1,2003,12.
[5] 郑玉全,陈杰,沈为群,等.基于RTOS的涡喷发动机数字控制系统[J].电子技术应用,2005,31(06):34-37.
[6] 李玮.无人机飞行PID控制及智能PID控制技术研究.南京理工大学硕士毕业论文,2004(3):29-52.
[7] 陈杰,蒋玉峰.基于RTOS的飞行数据采集记录统.电子技术应用,2007,33(10):21-25.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。