基于arm和fpga的无人直升机导航与飞行控制系统的制作方法

文档序号:6020037
专利名称:基于arm和fpga的无人直升机导航与飞行控制系统的制作方法
技术领域
本发明涉及一种无人飞行器的导航与飞行控制技术。具体来说,是一种小型旋翼无人直升机的导航与自主飞行控制系统。
背景技术
无人直升机以其具有垂直起降、空中悬停、慢速飞行、机动性好等特性,填补了近地面环境智能化武器装备的空白,成为当前无人机发展的一个重要方向。在军事方面,无人直升机既能执行各种攻击性任务,又能执行各种非攻击性任务,其中,包括战场侦查、目标监视、目标攻击、以及通信中继等;在民用方面,无人直升机可用于大地测量、气象观测、城市环境监测、交通监控、地球资源勘探和森林防火等。导航是无人直升机的关键技术之一,它犹如无人直升机的眼睛,能够实时地为无人机自主飞行提供外部导航参数,因此可以说导航功能的优劣直接决定了无人直升机的性能的好坏。捷联惯性导航系统(SINS)具有自主导航能力,不受外部干扰的影响,能够连续地提供载体位置、速度和载体信息,其数据更新率快,且在较短时间内有较高的精度,但 SINS系统随着工作时间的延长,导航参数误差随着时间积累增长,最终发散,需要外部观测信息经常修正SINS系统,因此SINS系统单独工作难以满足用户的精度要求。全球定位系统 (GPS)的定位误差不随时间积累,已在军民领域获得了广泛应用。但是GPS的不足之处在于它的自主性差,容易受到干扰,数据更新率低,单独使用时难以满足高速、实时导航的要求。 要使导航系统性能得到提高,仅靠提高单一导航系统的精度,不仅在技术上难度很大,而且无法满足高精度、低成本、体积小等多方面的要求。SINS与GPS组成的导航系统可以克服两者单独工作的缺点,再加上磁阻传感器、气压高度计和声纳高度计的辅助校正,可以获得高精度的导航效果。目前,多传感器组合导航系统已成为现有的最可靠和最稳定的组合导航系统。无人直升机的控制也是无人直升机技术的一个难点问题。无人直升机是一个高度非线性、开环不稳定、具有不确定性、强耦合的复杂系统,对气动环境的变化和外部扰动非常敏感等。因此,无人直升机作为被控对象的控制器设计是控制理论的难点之一。随着小型无人直升机的应用越来越广泛,无人直升机的控制已经成为一个国际性的研究热点。无人直升机机飞行控制计算机大致可以分成三大类以PC/104工控机为核心的飞行控制计算机;以单片机、数字信号处理器(DSP)为核心的飞行控制计算机;以专用嵌入式微处理器为核心的飞行控制计算机。PC/104模块的主要缺点是功耗较高,不利于微小型无人机低功耗设计,而且器件成本较高,结构也不够紧凑;DSP在一些通用性的应用方面与 CPU有所差异,一般很少用到嵌入式操作系统,也缺乏一些通用的应用软件的支持,因此不利于实现复杂的应用设计,如网络协议、多线程任务处理。

发明内容
针对上述现有技术,本发明提供一种基于ARM和FPGA的无人直升机的导航与自主飞行控制系统,并且实现无人机的导航与自主飞行。本发明以无人直升机为载体,搭建了集飞行器导航与控制等相关理论问题研究、数据采集、信息传递、嵌入式控制于一体的一整套飞行控制系统软硬件系统。为了解决上述技术问题,本发明一种基于ARM和FPGA的无人直升机导航与飞行控制系统予以实现的技术方案是包括PC机、组合导航子系统、供电模块和控制器;所述组合导航子系统有传感器组构成,所述传感器组包括GPS、陀螺仪、加速度计、磁阻传感器、气压高度计和声纳高度计;所述控制器包括主控制器和舵机控制器;所述主控制器采用ARM微处理器用于运行组合导航算法和飞行控制PID算法,同时完成对所述GPS、气压高度计和声纳高度计的数据采集;所述主控制器通过串口获取GPS的数据,所述主控制器通过SPI总线接口获得数字气压高度计的数据,所述主控制器通过IIC总线获得声纳高度计的数据;所述舵机控制器采用FPGA用于实现所述陀螺仪、加速度计和磁阻传感器的数据采集,并在自主飞行模式根据主控制器给定的控制指令产生相应的PWM信号控制舵机组,在遥控飞行模式根据所述遥控接收机输出的PWM信号控制所述舵机组,以及根据遥控接收机的飞行模式切换信号实现无人直升机在自主飞行模式与遥控飞行模式之间的切换;所述主控制器通过并行总线与所述FPGA器件进行通信,将所述陀螺仪、加速度计和磁阻传感器输出的模拟信号通过模/数转换器ADC进行模/数转换,然后通过SPI总线接口与FPGA器件相连接;所述FPGA器件将采集到的陀螺仪、加速度计和磁阻传感器数据经过并行总线传给所述主控制器,进行无人直升机的姿态解算及控制运算。与现有技术相比,本发明的有益效果是由于,嵌入式ARM (Advanced RISC Machines)微处理器具有体系结构可扩展性强、 功耗低、体积小、性价比高、功能丰富、接口完善和支持管理实时多任务等特点;FPGA(Field -Programmable Gate Array)内部硬件结构可通过软件灵活配置,有集成度高和功耗低等特点;可以在不修改硬件电路的前提下修改相应的硬件功能;FPGA支持并行运算,同时可以进行数据采集,飞行模式切换以及舵机控制的功能,可以在同一时刻输出多路PWM信号, 并且彼此之间互不影响。本发明采用ARM和FPGA的硬件架构平台,不仅降低了系统的功耗和体积,还提高了系统的实时性。由于LINUX嵌入式操作系统支持多线程任务和应用程序的开发,本发明的硬件平台支持后期开发各种应用程序,可扩展性强。本发明中采用ARM为处理器作为主控制器,运行组合导航算法和飞行控制PID算法,同时完成对GPS、气压高度计和声纳高度计的数据采集。FPGA作为舵机控制器,实现陀螺仪、加速度计和磁阻传感器的数据采集,舵机控制以及自主飞行模式与遥控飞行模式的切换。本发明中的组合导航子系统硬件部分由低成本的GPS、陀螺仪、加速度计、磁阻传感器、气压高度计和声纳高度计组成,软件部分采用紧密组合的GPS和SINS作为主滤波器, 并且以磁阻传感器、气压高度计和声纳高度计作为辅助滤波器,大大提高了导航的精度和稳定性,并且降低了成本。本发明的控制目标是在满足直升机稳定可控的前提下,构建直升机发动机转速闭环控制回路,实现对直升机最基本的控制;在发动机转速可控的前提下,构建直升机姿态和航向闭环控制回路,改善直升机的操纵性能,稳定直升机的姿态和航向;利用组合导航子系统提供的参数对直升机的高度与位置进行控制,使直升机具有保持高度和位置的悬停飞行;在实现直升机悬停控制的基础上,利用组合导航子系统提供的导航参数,使直升机按预先设定的飞行路径实现航线飞行。本发明对于中国无人直升机自主飞行控制系统研究的发展具有十分重要的意义。 本发明具有国际先进水平,不仅可以提高国内无人直升机控制的水平,满足国内军用市场的需求,还可参与国际竞争。同时能为多无人机协调控制系统的研究与发展打下良好的试验平台基础,为无人直升机自主飞行控制系统的产业化做好了准备。本发明不但具有上述的社会效益而且还具有重大的经济价值。无人直升机以其具有垂直起降、空中悬停、慢速飞行、机动性好等特性,在军事和民用方面具有很大的潜在价值。在军事方面,无人直升机既能执行各种攻击性任务,又能执行各种非攻击性任务,其中, 包括战场侦查、目标监视、目标攻击、以及通信中继等,无人直升机的使用可避免在战争中造成的人员伤亡,从而降低战争的经济成本;在民用方面,无人直升机可用于大地测量、气象观测、城市环境监测、交通监控、地球资源勘探和森林防火等,同样具有很大的经济价值。


图1是本发明一种无人直升机的导航与自主飞行控制系统的结构框图;图2是本发明中组合导航子系统的基本结构框图;图3是本发明中主控制器的总体结构框图;图4是本发明中舵机控制器的总体结构框图;图5是本发明中主控制器控制流程图;图6是本发明中舵机控制器控制流程图。
具体实施例方式如图1所示,本发明一种基于ARM和FPGA的无人直升机导航与飞行控制系统的结构包括PC机、组合导航子系统、供电模块和控制器。所述组合导航子系统有传感器组构成。所述传感器组包括GPS、陀螺仪、加速度计、磁阻传感器、气压高度计和声纳高度计。所述控制器包括主控制器和舵机控制器,采用ARM和FPGA的硬件架构方案,选用ARM微处理器作为主控制器,选用FPGA作为舵机控制器,所述主控制器采用ARM微处理器用于运行组合导航算法和飞行控制PID算法,同时完成对所述GPS、气压高度计和声纳高度计的数据采集。所述主控制器通过串口获取GPS的数据,所述主控制器通过SPI总线接口获得数字气压高度计的数据,所述主控制器通过IIC总线获得声纳高度计的数据。所述舵机控制器采用FPGA用于实现所述陀螺仪、加速度计和磁阻传感器的数据采集,并在自主飞行模式根据主控制器给定的控制指令产生相应的PWM信号控制舵机组。遥控接收机输出的PWM信号通过FPGA测量其占空比,然后将控制器的自主控制信与地面的遥控信号进行累加,得到当前舵机的控制信号,输出至FPGA控制舵机的动作。 FPGA器件内运行陀螺仪、加速度计、磁阻传感器的数据采集程序,遥控接收机输出的PWM信号测量程序以及舵机控制程序。在遥控飞行模式时,FPGA根据遥控接收机输出的PWM信号控制所述舵机组,以及根据所述遥控接收机的飞行模式切换信号实现无人直升机在自主飞行模式与遥控飞行模式之间的切换;所述主控制器通过并行总线与所述FPGA器件进行通信,将所述陀螺仪、加速度计和磁阻传感器输出的模拟信号通过模/数转换器ADC进行模/数转换,然后通过SPI总线接口与FPGA器件相连接;所述FPGA器件将采集到的陀螺仪、加速度计和磁阻传感器数据经过并行总线传给所述主控制器,进行无人直升机的姿态解算及控制运算。下面结合附图对本发明作进一步详述。图1示出了本发明无人直升机导航与飞行控制系统结构框图。由以ARM微处理器作为主控制器的PXA270,FPGA作为舵机控制器的EP1C3T144,传感器组,供电模块以及舵机组构成。主控制器通过串口获取GPS的数据,通过SPI总线接口获得数字气压高度计的数据,通过IIC总线获得声纳高度计的数据,主控制器通过并行总线与舵机控制器FPGA进行通信,为了提高总线的驱动能力,在PXA270和EP1C3T144之间的并行总线上增加了总线驱动模块。模拟量输出的陀螺仪和加速度计通过ADC芯片AD7927进行A/D转换,然后通过SPI 总线接口与舵机控制器FPGA相连接,模拟量输出的磁阻传感器通过ADC芯片ADS8343进行 A/D转换,FPGA采集到的传感器数据经过并行总线传给主控制器,进行无人直升机的姿态解算及控制运算。遥控接收机输出的PWM信号通过数字隔离器ADUM1400隔离后与FPGA线连接,FPGA测量遥控接收机PWM信号的占空比,然后将控制器的自主控制信与地面的遥控信号进行累加,得到当前舵机的控制信号,输出至FPGA控制舵机的动作。遥控接收机输出的飞行模式切换信号通过数字隔离器ADUM1400隔离后与FPGA相连接,FPGA根据输入的切换信号完成无人直升机自主飞行模式和遥控飞行模式的切换。所述的传感器组包括全球定位系统GPS,气压高度计,声纳高度计,陀螺仪,加速度计和磁阻传感器。其中,全球定位系统GPS选用Fastrax公司的UP500GPS模块,其输出为高电平3. 3V的CMOS电平,通过MAX3232接口转换为ARM可接收的RS-232电平,接入ARM 的UARTl通道。气压高度计采用芬兰VTI公司生产的数字压力传感器SCP1000-D01,其输出接口为SPI总线,输出范围为0 3. 3V,可直接与ARM的SPI总线连接。声纳高度计采用 SRF08超声测距模块,其输出为0 5V的电压信号,输出接口为IIC总线,而PXA 270的IIC 总线接口的输入范围为0 3. 3V,因此通过2N7002进行电压转换,转换到与PXA270兼容的 0 3. 3V之间。陀螺仪采用美国ADI公司推出的新型单片偏航角速度陀螺仪ADXRS610,其输出范围为0 5V。加速度计采用ADI公司生产的ADXL330三轴iMEMS型IC芯片加速度计,其输出范围为0 3. 3V。陀螺仪和加速度计直接接到A/D转换器AD7927的模拟输入端。磁阻传感器选用的是Honeywell公司生产的HMC2003三轴磁阻传感器,属于磁阻式磁强计,可测量χ,y, ζ三轴的磁场分量。所述舵机组由螺距舵、副翼舵、升降舵、尾舵和油门舵组成,其中,所述螺距舵、 副翼舵和升降舵均选用Futaba S9252,所述尾舵选用Futaba S9254,所述油门舵选用 FutabaS3001 ;所述遥控接收机为Futaba公司的6通道接收机,接收地面遥控的信号,输入到FPGA器件。所述遥控接收机输出的PWM信号通过一数字隔离器ADUM1400隔离后与所述 FPGA器件相连接,所述FPGA器件根据输入的切换信号完成无人直升机自主飞行模式和遥控飞行模式的切换;所述FPGA器件测量遥控接收机PWM信号的占空比,然后将舵机控制器的自主控制信号与地面的遥控信号进行累加,得到当前舵机的控制信号,输出至舵机组,从而控制舵机的动作。图2示出了本发明中组合导航子系统的基本结构框图。由所述GPS、陀螺仪和加速度计构成一紧组合卡尔曼滤波器,由所述磁阻传感器、气压高度计和声纳高度计构成一无轨迹卡尔曼滤波器;所述组合导航子系统利用所述陀螺仪和加速度计的惯性测量输出的无人直升机的姿态角速率和加速度信息进行惯性导航系统SINS解算来获得无人直升机的位置、速度和姿态信息,惯性导航系统SINS解算完成以后,主控制器利用紧组合卡尔曼滤波器进行第一次卡尔曼滤波,将GPS的伪距观测量、伪距率观测量与根据惯性导航系统SINS 解算得到的伪距计算量、伪距率计算量的差值作为卡尔曼滤波器的输入值,估算出误差值用于修正导航参数;利用上述反馈校正后得到的无人直升机的姿态角将磁阻传感器的机体坐标系下的三维磁场信息转化为水平坐标系下的磁场信息,并计算得到无人直升机的航向角,然后将惯性导航系统SINS和磁阻传感器进行航向角误差方程组合,利用无轨迹卡尔曼滤波器进行无轨迹卡尔曼滤波,估计出无人直升机的姿态误差,对惯性导航系统SINS的航向角进行反馈校正;同时在第一次卡尔曼滤波完成以后,气压高度计和声纳高度计的高度信息通过该无轨迹卡尔曼滤波器对惯性导航系统SINS进行高度误差校正。图3示出了本发明中的主控制器总体结构框图,所述ARM微处理器采用Intel 的Xscale型处理器PXA270具有三个UART接口、一个IIC接口和两个SPI接口,一个以太网接口 ;系统扩展了 64Mbyte的SDRAM,64Mbyte的SDRAM部分由2片16位的SDRAM 芯片HY57V561620FTP-H组成32位接口,作为ARM最小系统的动态存储器;主控制器扩展了 32Mbyte的Nor Flash, 32Mbyte Nor Flash静态存储部分采用2片16M容量的 IntelE28F128J3A组成32位接口,存储启动引导程序Boot loader、Linux系统内核以及根文件系统;主控制器外部还扩展了 64M的Nand Flash,64M的Nand Flash采用一片 K29FXX08,用来存储控制器的应用程序。图4示出了本发明中的舵机控制器总体结构框图。所述舵机控制器包括由FPGA 器件内部逻辑实现的舵机控制模块和传感器数据采集模块及FPGA器件的外围硬件。所述舵机控制模块根据主控制器的舵机控制编码指令,从而控制多个舵机运转; 并采集多路遥控PWM信号和遥控飞行/自主飞行切换信号;FPGA器件的外围硬件用于输入信号的隔离处理和输出信号的隔离驱动等。在自主飞行模式时,主控制器输出的控制指令通过并行总线发送给FPGA,FPGA接收到控制指令后,首先把控制指令存储在内部构造的双口 RAM内,然后对控制指令进行解析,产生相应的PWM控制信号,PWM信号通过数字隔离器 ADUM1400给舵机,控制舵机动作。在遥控飞行模式时,遥控接收机输出的5路舵机控制PWM 信号通过数字隔离器ADUM1400隔离后与FPGA线连接,FPGA测量遥控接收机PWM信号的占空比,然后将控制器的自主控制信号与地面的遥控信号进行累加,得到当前舵机的控制信号,输出至FPGA,FPGA产生5路的PWM信号通过隔离器ADUM1400输出到舵机,控制舵机的动作。遥控接收机输出的1路PWM信号为飞行模式切换信号,通过数字隔离器ADUM1400隔离后与FPGA相连接,FPGA根据输入的切换信号的占空比,完成无人直升机自主飞行模式和遥控飞行模式的切换。数字隔离器ADUM1400的一次侧由系统的电源模块供电,数字隔离器的二次侧由遥控接收机供电。所述传感器数据采集模块实现模/数转换器ADC接口 SPI总线的扩展,从而使加速度计、陀螺仪输出的模拟信号经过AD7927转换为数字信号,数字信号通过SPI接口传送给FPGA ;;同时,磁阻传感器输出的模拟信号经过ADS8343进行A/D转换为数字信号,数字信号通过SPI接口传送给FPGA ;并且在所述FPGA器件内部构造有双口 RAM存储器,从而将采集到的传感器数据存储在所述的双口 RAM存储器内,通过并行总线传给主控制器ARM。
严格意义上FPGA的实现是属于硬件实现,因为FPGA的程序下载配置之后可以认为是硬件的,包括接收发送主控制器指令编码、分析编码、控制模式切换、数据采集、状态控制等,全部采用硬件逻辑实现,并非传统软件实现时的按指令周期顺序执行,而是根据状态变化执行。在本发明的一种基于ARM和FPGA的无人直升机导航与飞行控制系统硬件环境的基础上,如何设计其中主控制器的流程属于本技术领域内公知惯用的技术手段。下面所提供的一种主控制器及舵机控制器的流程是为了理解的方便,绝不是限制本发明。图5示出了本发明中主控制器的一种流程图。程序进行初始化以后,创建传感器数据采集子线程、控制算法子线程,并且,创建一块可扩展的公共数据存储空间来存储最新的飞行数据;传感器数据采集子线程采用中断触发模式,子线程在进行串口、SPI、IIC、并行总线以及相应的传感器设置之后进入循环等待,利用主控制器的中断服务程序处理经串口输入的GPS,气压高度计、声纳高度计的数据,以及从并行总线输入的陀螺仪,加速度计和磁阻传感器数据。当某一传感器数据采集子线程进入中断服务程序以后,其他中断使能寄存器均置位,禁止进入中断,然后中断服务程序采集当前传感器的数据。在当前数据采集子进程退出中断后,其他中断使能寄存器清零,允许中断,将最新的数据存储至公共数据存储空间,重新进入循环等待;控制算法子线程首先进行内存空间以及并行总线的初始化,然后进入定时器循环等待,定时器中断时间设置为50ms,即每隔50ms控制算法子进程从公共数据存储空间获取一次最新的传感器数据,进行无人机的姿态解算,并利用卡尔曼滤波对数据进行融合,依据PID控制方法对当前的传感器数据进行计算,从而得到当前飞机应有的控制状态,通过并行总线向FPGA发送舵机组的控制信号,然后重新进入定时器中断循环, 等待下一个周期中断。图6示出了本发明中舵机控制器的一种控制流程图。主进程对系统及程序进行初始化,创建舵机控制子进程,传感器数据采集子进程和遥控接收机输出信号采集子进程。 舵机控制子进程通过并行总线接收主控制器的控制指令并存储,直到所有的控制指令数据位接收完毕,分析指令,产生相应的PWM舵机控制信号,并输出5路PWM信号到舵机。传感器数据采集子进程,对采集陀螺仪ADXRS610和加速度计ADXL330的A/D转换器AD7927的 SPI接口及传感器进行初始化以后,根据传感器的输出采集相应传感器的当前输出值,并分别存储到相应的存储通道,对采集磁阻传感器的ADC芯片ADS8343的SPI接口和传感器进行初始化以后,完成一次对传感器的数据采集以后,发送给主控制器。如果为飞行模式切换指令,则根据遥控接收机的输出信号判断给定的飞行模式指令,并切换到相应的飞行模式。尽管上面结合图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式
,上述的具体实施方式
仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以作出很多变形,这些均属于本发明的保护之内。
权利要求
1.一种基于ARM和FPGA的无人直升机导航与飞行控制系统,包括PC机、组合导航子系统、供电模块和控制器,其特征在于,所述组合导航子系统有传感器组构成,所述传感器组包括GPS、陀螺仪、加速度计、磁阻传感器、气压高度计和声纳高度计;所述控制器包括主控制器和舵机控制器;所述主控制器采用ARM微处理器用于运行组合导航算法和飞行控制PID算法,同时完成对所述GPS、气压高度计和声纳高度计的数据采集;所述主控制器通过串口获取GPS的数据,所述主控制器通过SPI总线接口获得数字气压高度计的数据,所述主控制器通过IIC总线获得声纳高度计的数据;所述舵机控制器采用FPGA用于实现所述陀螺仪、加速度计和磁阻传感器的数据采集, 并在自主飞行模式根据主控制器给定的控制指令产生相应的PWM信号控制舵机组,在遥控飞行模式根据所述遥控接收机输出的PWM信号控制所述舵机组,以及根据遥控接收机的飞行模式切换信号实现无人直升机在自主飞行模式与遥控飞行模式之间的切换;所述主控制器通过并行总线与所述FPGA器件进行通信,将所述陀螺仪、加速度计和磁阻传感器输出的模拟信号通过模/数转换器ADC进行模/数转换,然后通过SPI总线接口与FPGA器件相连接;所述FPGA器件将采集到的陀螺仪、加速度计和磁阻传感器数据经过并行总线传给所述主控制器,进行无人直升机的姿态解算及控制运算。
2.根据权利要求1所述的基于ARM和FPGA的无人直升机导航与飞行控制系统,其特征在于,所述ARM微处理器采用Intel的Xscale型处理器PXA270具有三个UART接口、一个IIC 接口和两个SPI接口,一个以太网接口 ;系统扩展了 64Mbyte的SDRAM,64Mbyte的SDRAM部分由2片16位的SDRAM芯片HY57V561620FTP-H组成32位接口,作为ARM最小系统的动态存储器;主控制器扩展了 32Mbyte的Nor Flash, 32Mbyte Nor Flash静态存储部分采用2 片16M容量的Intel E28F128J3A组成32位接口,存储启动引导程序Boot loader、Linux 系统内核以及根文件系统;主控制器外部还扩展了 64M的Nand Flash,64M的Nand Flash 采用一片K29FXX08,用来存储控制器的应用程序。
3.根据权利要求2所述的基于ARM和FPGA的无人直升机导航与飞行控制系统,其特征在于,所述FPGA采用EP1C3T144,在PXA270和EP1C3T144之间的并行总线上设有总线驱动模块。
4.根据权利要求1所述的基于ARM和FPGA的无人直升机导航与飞行控制系统,其特征在于,所述舵机控制器包括由FPGA器件内部逻辑实现的舵机控制模块和传感器数据采集模块及FPGA器件的外围硬件;所述舵机控制模块根据主控制器的舵机控制编码指令,从而控制多个舵机运转;并采集多路遥控PWM信号和遥控飞行/自主飞行切换信号;所述传感器数据采集模块实现模/数转换器ADC接口 SPI总线的扩展,从而使加速度计,陀螺仪和磁阻传感器输出的模拟信号经过ADC进行A/D转换,转换为数字信号,数字信号通过SPI接口传送给FPGA ;所述FPGA器件内部构造有双口 RAM存储器,从而将采集到的传感器数据存储在所述的双口 RAM存储器内,通过并行总线传给主控制器ARM ;FPGA器件的外围硬件用于输入信号的隔离处理和输出信号的隔离驱动;在FPGA器件内部构造了一个串口模块,所述串口模块采用RS-232串口通信协议实现与PC机进行连接。
5.根据权利要求1所述的基于ARM和FPGA的无人直升机导航与飞行控制系统,其特征在于,所述舵机组由螺距舵、副翼舵、升降舵、尾舵和油门舵组成,其中,所述螺距舵、副翼舵和升降舵均选用Futaba S9252,所述尾舵选用Futaba S9254,所述油门舵选用 FutabaS3001 ;所述遥控接收机采用Futaba公司的6通道接收机,接收地面遥控的信号,输入到FPGA 器件;所述遥控接收机输出的PWM信号通过一数字隔离器ADUM1400隔离后与所述FPGA器件相连接,所述FPGA器件根据输入的切换信号完成无人直升机自主飞行模式和遥控飞行模式的切换;所述FPGA器件测量遥控接收机PWM信号的占空比,然后将舵机控制器的自主控制信号与地面的遥控信号进行累加,得到当前舵机的控制信号,输出至舵机组,从而控制舵机的动作。
6.根据权利要求1所述的基于ARM和FPGA的无人直升机导航与飞行控制系统,其特征在于,所述GPS采用Fastrax公司的UP500GPS模块,其输出为高电平3. 3V的CMOS电平,通过MAX3232接口转换为ARM可接收的RS-232电平,接入ARM的UARTl通道;所述气压高度计采用芬兰VTI公司生产的数字压力传感器SCP1000-D01,其输出接口为SPI总线,输出范围为0 3. 3V,可直接与ARM的SPI总线连接;所述声纳高度计采用SRF08超声测距模块,其输出为0 5V的电压信号,输出接口为 IIC总线,而PXA 270的IIC总线接口的输入范围为0 3. 3V,因此通过2N7002进行电压转换,转换到与PXA270兼容的0 3. 3V之间;所述陀螺仪采用美国ADI公司的单片偏航角速度陀螺仪ADXRS610,其输出范围为0 5V;所述加速度计采用ADI公司生产的ADXL330三轴iMEMS型IC芯片加速度计,其输出范围为0 3. 3V ;所述陀螺仪和所述加速度计直接接到一 ADC转换器AD7927的模拟输入端;所述磁阻传感器采用的是Honeywell公司生产的HMC2003三轴磁阻传感器,属于磁阻式磁强计,可测量X,y, ζ三轴的磁场分量。
7.根据权利要求1所述的基于ARM和FPGA的无人直升机导航与飞行控制系统,其特征在于,由所述GPS、陀螺仪和加速度计构成一紧组合卡尔曼滤波器,由所述磁阻传感器、气压高度计和声纳高度计构成一无轨迹卡尔曼滤波器;所述组合导航子系统利用所述陀螺仪和加速度计的惯性测量输出的无人直升机的姿态角速率和加速度信息进行惯性导航系统SINS解算来获得无人直升机的位置、速度和姿态信息,惯性导航系统SINS解算完成以后,主控制器利用紧组合卡尔曼滤波器进行第一次卡尔曼滤波,将GPS的伪距观测量、伪距率观测量与根据惯性导航系统SINS解算得到的伪距计算量、伪距率计算量的差值作为卡尔曼滤波器的输入值,估算出误差值用于修正导航参数;利用上述反馈校正后得到的无人直升机的姿态角将磁阻传感器的机体坐标系下的三维磁场信息转化为水平坐标系下的磁场信息,并计算得到无人直升机的航向角,然后将惯性导航系统SINS和磁阻传感器进行航向角误差方程组合,利用无轨迹卡尔曼滤波器进行无轨迹卡尔曼滤波,估计出无人直升机的姿态误差,对惯性导航系统SINS的航向角进行反馈校正;同时在第一次卡尔曼滤波完成以后,气压高度计和声纳高度计的高度信息通过该无轨迹卡尔曼滤波器对惯性导航系统SINS进行高度误差校正。
全文摘要
本发明公开了一种基于ARM和FPGA的无人直升机的导航与自主飞行控制系统,包括PC机、组合导航子系统、供电模块和控制器;组合导航子系统有传感器组构成,传感器组包括GPS、陀螺仪、加速度计、磁阻传感器、气压高度计和声纳高度计;控制器包括主控制器和舵机控制器;主控制器采用ARM微处理器用于运行组合导航算法和飞行控制PID算法,同时完成对GPS、气压高度计和声纳高度计的数据采集;舵机控制器采用FPGA用于实现陀螺仪、加速度计和磁阻传感器的数据采集,经并行总线传给主控制器,进行无人直升机的姿态解算及控制运算。以无人直升机为载体,搭建了集飞行器导航与控制理论问题的研究、数据采集、信息传递、嵌入式控制于一体的一整套飞行控制系统的硬件环境。
文档编号G01S19/40GK102360218SQ20111031350
公开日2012年2月22日 申请日期2011年10月14日 优先权日2011年10月14日
发明者侯志宁, 吴宏硕, 宗群, 廖海林, 曲照伟 申请人:天津大学
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1