基于ARM的空中机器人飞行控制系统的设计.pdf
第1期2010年1月工矿自动化Industry and Mine AutomationNo.1Jan.2010文章编号:1671-251X(2010)01-0111-04基于ARM的空中机器人飞行控制系统的设计曲晓雷1,曹云峰2(1.南京航空航天大学自动化学院,2.南京航空航天大学高新技术研究院,江苏 南京 210016)摘要:提出了一种基于ARM9内核的嵌入式处理器S3C2440的空中机器人飞行控制系统的设计方案,详细介绍了系统的硬件结构组成及基于嵌入式Linux操作系统的飞行控制软件设计,并描述了软件的功能划分和控制策略的实现。该飞行控制系统使空中机器人具备遥控遥测、指令处理、姿态控制飞行和自主导航等功能,成本低、性能高。关键词:空中机器人;飞行控制系统;ARM;嵌入式Linux 中图分类号:TP273 文献标识码:BDesign of Flight Control System for Aerial Robot Based on ARMQU Xiao2lei1,CAO Yun2feng2(1.College of Automation Engineering of Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China.2.Academy of Frontier Science of Nanjing University of Aeronautics andAstronautics,Nanjing 210016,China)Abstract:The paper proposed a design scheme of flight control system for aerial robot designed withembedded processor S3C2440 based on ARM9 kernel,introduced composition of the systems hardwarestructure and design of flight control software based on embedded Linux operation system in details,anddescribed functions division of system software and realization of control strategy.The flight controlsystem makes aerial robotics have functions of remote control and telemetry,instructions processing,attitude stabilized flight and autonomous navigation,which has low cost and high performance.Key words:aerial robot,flight control system,ARM,embedded Linux收稿日期:2009-09-18作者简介:曲晓雷(1983-),男,山东青岛人,南京航空航天大学自动化学院在读硕士研究生,主要研究方向为微小型飞行器。E2mail:quxiaoleihanhong 0 引言空中机器人(Aerial Robotics)是指各种搭载了GPS、机载导航设备、视觉识别设备以及无线通信设备等,能够在一定区域范围内无人自主飞行,完成目标探测以及定位跟踪等任务的飞行器1。国际上对空中机器人的研究大都是围绕一年一度的国际空中机器人竞赛(IARC,Internationals Aerial RoboticsCompetition)来进行的。由于比赛的刺激和推动,在世界范围内掀起了研究和开发空中机器人技术的浪潮,技术水平和人才培养飞速进步。1992年,Georgia理工大学的空中机器人第一个完成自主起飞、飞行和着陆。3年后,斯坦福大学的空中机器人则能够让直升机从飞行地区的某一处自动抓取一个目标物体,并将其移动到飞行地区的另一处。在2007年的第17届国际空中机器人大赛中,Georgia理工大学的空中机器人已经能够完成3 km外房屋搜索和确定房屋门窗的位置,但是还不能拍摄房屋内部照片2。遗憾的是,虽然国际空中机器人技术发展迅猛,却鲜见国内队伍参加国际空中机器人大赛,空中机器人的研制水平也远远落后于国际水平。国内对空中机器人的研究主要是围绕着中国空中机器人大赛进行的。在该大赛的刺激下,国内的空中机器人近年来也小有发展和进步。目前,固定翼空中机器人能够完成自主飞行4 km、无线图象传输、地面图象处理等任务;旋翼空中机器人当中,浙江大学的“玉泉之翼”空中机器人在2005年完成了自主悬停1 min。一个典型的空中机器人系统至少应该包括飞行器、飞行控制系统、地面控制站、任务载荷和数据链路5个部分,其中飞行控制器是空中机器人的核心部分。本文主要针对微小型固定翼空中机器人的飞行控制系统来进行设计与实现。1 系统总体设计方案空中机器人系统的组成如图1所示。其中飞行控制系统是空中机器人的“大脑”,指挥着空中机器人的一举一动,使空中机器人能在没有外界操纵干预的情况下完成自主飞行、目标识别、数据和图象采集与传输等智能化的任务。图1 空中机器人系统的组成框图 空中机器人应能够实现自主导航飞行并按规定的航线飞行,且具备目标搜索和识别功能。自主导航飞行主要靠飞行控制系统来实现,故飞行控制系统是空中机器人的核心。根据空中机器人基本功能的要求,空中机器人飞行控制系统的导航与控制原理如图2所示。图2 空中机器人飞行控制系统的导航与控制原理图 根据系统要求以及国内外微小无人机设计方案,笔者提出了一种基于ARM9内核的嵌入式处理器S3C2440的空中机器人飞行控制系统的设计方案。随着空中机器人体积的减小,空中机器人本身固有频率增大,这就要求角速率陀螺和加速度计有较高的响应频率(高度的测量延时对系统稳定的影响相对较小)。因此,在空中机器人的飞行控制系统当中,陀螺、加速度计等传感器的更新频率、舵机的响应频率、飞行控制系统的控制频率等至少为50 Hz。这对空中机器人的整体设计和器件的选取具有指导性意义。2 系统硬件设计鉴于微小型空中机器人的体积、重量和功耗等都有严格的限制,笔者依据空中机器人的功能需求,利用MEMS(微电子机械系统)技术,按照一体化集成、动态基础上性能优化的原则设计了空中机器人飞行控制系统,其硬件组成如图3所示,主要包括微型航姿仪(包括角速率陀螺、加速度计、磁航向计)、微型高度计、GPS接收机、飞控计算机、无线数据通信接口(遥控/遥测)、舵机控制接口、有效任务载荷接口以及电源等。图3 空中机器人飞行控制系统的硬件组成图2.1 处理器单元飞控计算机是飞行控制系统实现控制功能的核心,负责处理传感器数据,实现与GPS接收机、机载无线电设备、摄像头、备用电路等设备接口的通信,执行控制和导航软件,操纵飞行器的伺服机构,使飞行器产生相应的动作。基于上述要求,飞控计算机要求具有实时性、可靠性和嵌入性等特点。实时性要求以最快的速度处理输入数据并以最短的延时输出控制信号。可靠性要求抗干扰能力强,要有较宽的工作温度范围和抗电磁干扰能力等。嵌入性要求体积尽量小、重量尽量轻。飞控计算机以三星公司生产的S3C2440为处理器,属于ARM9系列微处理器。ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能,支持 多种 主 流 嵌 入式 实 时 操作 系 统,其 内 核ARM920T主频最高可达533 MHz。ARM2440资源主要有内存控制器、NAND FLASH控制器、时钟和电源管理单元、5个PWM定时器、看门狗定时器模块、3个UART异步串口、8路10位A/D通道、2路SPI接口、J TAG调试接口、Camera数码摄像机接口等。其中,通过对4路定时器编程,可以很方便地产生PWM输出信号用于控制舵机;而利用J TAG调试接口进行软件下载,便于在线调试和211工矿自动化2010年1月 编程。2.2 传感器单元要实现飞行器的自主稳定飞行,首先需要得到飞行器的纵向加速度、横向加速度、飞行器的高度、滚转角、俯仰角、航向角、机体滚转角速率、机体俯仰角速率、机体偏航角速率等9个状态变量。如果能直接迅速、准确地测量出这9个状态是最理想的。目前市场上有几款适合于微小无人机的IMU惯性测量产品,可以直接输出机体的姿态角,但其价格高达数十万,无法满足系统整体低价位的设计目标。本文根据国内外微小无人机领域的低价位MEMS传感器应用情况,采用ADXRS150微机械角速率陀螺、ADXL202加速度计,以及HMR3000磁力计模块作为姿态测量传感器。2.3 执行机构单元控制执行机构选用Futaba伺服舵机,整个空中机器人执行机构分为4个部分:1个副翼舵、1个升降舵、1个方向舵、1个油门舵。通过调整S3C2440自带的4个16位定时器输出的PWM波占空比来控制舵机偏转角度。PWM信号周期定为20 ms,每一 路PWM控 制 信 号 脉 宽 范 围 为1.051.95 ms,通过PWM信号脉宽的变化来控制舵机在最大和最小2个位置之间变化,达到姿态控制效果。3 系统软件设计空中机器人飞行控制系统是一个复杂的多任务系统,实时性要求很高。嵌入式Linux操作系统因其实时性、高可靠性、广泛的硬件支持以及开放源码等众多特性,在嵌入式实时操作系统研究领域备受重视,因此,本文采用Linux 2.6作为空中机器人飞行控制 软件的设计 平台,其 实时 性 可 以 通 过RTLinux补丁达到s级,而其内核的健壮性早已在大量的实际应用中得到了验证3。飞行控制软件设计遵循结构化设计原则,采用模块化设计方法,使之运行可靠、方便移植,并使程序调试方便,维护简单。在嵌入式Linux平台下,整个飞行控制软件可以分为软硬件初始化模块、主循环程序模块、系统处理程序模块3个部分。3.1 软硬件初始化模块该模块通过驱动程序打开硬件设备,完成硬件设备(SPI、ADC、PWM)及全局变量的初始化、计算飞行器初始状态和读取高度计初始高度值。3.2 主循环程序模块鉴于空中机器人的飞行速度快和使用环境多变的特点,控制系统应当满足速度和瞬态响应方面的要求,要求控制系统在20 ms的控制周期执行1次主循环程序。采用信号量的方式来完成20 ms的时钟同步循环,系统每20 ms中断释放出1个信号量,当主循环接到信号量后开始执行程序。主循环程序模块包括失控检测程序、接收及处理指令程序、飞行姿态解算程序、飞行控制程序、执行机构控制程序、遥测数据发送程序4。图4为主循环程序模块流程图。进入主循环程序后,第一步要做的是检查来自地面站的遥控信号和GPS的信号是否丢失。当连续30个周期不能接收到地面站的信号时,则认为是丢失通信状态。图5为失控检测程序的处理流程图。图4 主循环程序模块流程图图5 失控检测程序的处理流程图3.3 系统处理程序模块系统处理程序主要是响应Time中断和通过Linux驱动程序的接口调用内核中的驱动程序控制外设,采集惯性传感器和其它设备的数据。系统处理程序是与主循环程序同步运行的。在Linux系统下通过内核定时器实现主循环程序20 ms周期的控制。4 结语空中机器人在现代战争和国民经济中发挥着越3112010年第1期曲晓雷等:基于ARM的空中机器人飞行控制系统的设计来越重要的作用。无人平台与有人平台相比,不但设计和应用上有着不可比拟的优点,而且在制造和维护成本上也有明显的优势,且完成任务的效率和可靠性更高5。本文提出的基于ARM的低成本、高性能的嵌入式微小无人机飞行控制系统的整体方案以及基于嵌入式Linux的空中机器人飞行控制软件成本低、通用性强,可满足微小型固定翼空中机器人的设计需求。参考文献:1BEAL J.The Development of a Small AutonomousHelicopter Robot for Search and Rescue in HostileEnvironmentsC/AUVSIAnnualSymposium,1999,Baltimore.2JOHNSON E N,HART M G,CHRISTOPHERSENHB.DevelopmentofanAutonomousAerialReconnaissance System atGeorgiaTech.C/1stTechnicalConf.andWork2shoponUnmannedAerospace Vehicle,2007.3 孙纪坤,张小全.嵌入式Linux系统开发技术详解 基于ARM M.北京:人民邮电出版社,2006.4 曹美文,曹云峰.基于DSP的MAV控制律设计与工程实现D.南京:南京航空航天大学,2006.5 胡春华,范 勇.中国空中机器人大赛发展之意义J.自动化博览,2005(2):77278.第1期2010年1月工矿自动化Industry and Mine AutomationNo.1Jan.2010文章编号:1671-251X(2010)01-0114-03矿用双控制器馈电开关的设计李 东(淮北矿业集团桃园煤矿,安徽 宿州 234116)摘要:文章介绍了一种基于双控制器的矿用馈电开关的设计方案。该馈电开关采用单片机和DSP双控制器设计,实现了数据采集处理和故障判断功能的分离,大大提高了运行速度和智能化水平,还具有过载、缺相保护、短路保护、不平衡保护、漏电闭锁保护、漏电保护和选择性漏电保护功能。测试结果表明,该馈电开关性能稳定,运行速度快,精度较高。关键词:煤矿;电网;馈电开关;数据采集;故障判断;单片机;DSP 中图分类号:TD611.5 文献标识码:BDesign of Mine2used Feed Switch with Double2controllerLI Dong(Taoyuan Coal Mine of Huaibei Mining Group,Suzhou 234116,China)Abstract:A design scheme of mine2used feed switch based on double2controller was introduced.Thefeed switch is designed with double2controller of single2chip microcomputer and DSP,so as to separate datacollection with fault judgment,which improves running speed and intelligence level.And the feed switchhas functions of overload protection、open2phase protection、short circuit protection、unbalance protection、leakage locking protection、leakage protection and selective leakage protection.The test result showed thatthe feed switch has stable performance,quick running speed and high precision.Key words:coalmine,powergrid,feedswitch,data collection,faultjudgment,single2chipmicrocomputer,DSP收稿日期:2009-09-14作者简介:李 东(1975-),男,安徽萧县人,1996年毕业于安徽省煤炭工业学校机电专业,现主要从事煤矿采煤机电技术及管理工作。E2mail:yudaoyang 0 引言目前我国矿井的供电系统多为分支式结构,在每条支路上采用馈电开关来实现综合保护,当1条