旋翼空中机器人技术报告.docx
《旋翼空中机器人技术报告.docx》由会员分享,可在线阅读,更多相关《旋翼空中机器人技术报告.docx(21页珍藏版)》请在冰豆网上搜索。
旋翼空中机器人技术报告
“飞鹰一号”四旋翼无人机系统设计
刘文智、李海波、郭峰、朱磊、许长魁、冉晨阳、张成龙、张建国、陈云乔、吕超
(哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨150001)
“Feiyingyihao”Four-rotorUAVSystemDesign
LiuWen-zhiLiHai-boGuoFengZhuLeiXuChang-kuiRanChen-yangZhangCheng-longZhangJian-guoChenYun-qiao
(CollegeofInformationandCommunicationEngineering,HarbinEngineeringUniversity,Harbin,Heilongjiang150001,China)
摘要:
四旋翼无人机系统由哈尔滨工程大学空中机器人队。
该无人机的设计涉及机械、电子、计算机、自动化、空气动力学等多个学科。
该无人机以Altera公司的FPGA为核心器件,定制了I2C、SPI、UART、PPM内核,完成了惯性测量组件(IMU)、GPS、磁传感器的数据采集,完成了遥控信号的处理,进行导航信息融合与控制算法解算,驱动无刷直流电机实现了四旋翼无人飞行器的起飞、悬停、降落、导航等功能。
无人机搭载摄像头等设备,配备相应的地面站软件,便可以完成摄像、侦察等功能。
关键字:
无人机;自动驾驶;地面站;通信系统
Abstract:
Thefour-rotorUAVisdesignedbyHrbeuaero-robotteam.Severalsubjectssuchasmechanics,electronics,computerscience,automatics,aerodynamicswereconcernedwhentheplanewasdesigned.
Altera'sFPGAisthecoredeviceoftheUAV,I2C、SPI、UART、PPMkernelwascustomized.Thedataacquisitionofinertialmeasurementunit(IMU),GPS,magneticsensors,remotecontrolsignalprocessing,navigationinformationfusionandcontrolalgorithmssolveriscompleted.Takeoff,hover,landing,navigationandotherfunctionsofthefour-rotorUAVisachievedbydrivingbrushlessDCmotor.Cameras,surveillanceandotherfunctionscanbeachievedwhentheUAVisequippedwithcamerasandappropriategroundstationsoftware.
Keywords:
UAV;automaticpilot;groundstation
1.无人机概述及系统总体
微型四旋翼无人飞行器是一种外形新颖,性能优越的垂直起降无人飞行器,具有较高的军用和民用价值。
该飞行器是一种“碟形”飞行器,具有新颖的结构布局和独特的飞行方式,利用空气动力来克服自身重量,可自主或遥控飞行,并且能够携带一定载荷,可配备专用仪器实现一些特定功能。
微型四旋翼无人飞行器是一个具有六个自由度,而只有四个控制输入的欠驱动系统,具有多变量、非线性、强耦合和干扰敏感的特性,这些使得飞行控制系统的设计变得非常困难。
其次,在飞行过程中它不仅受到各种物理效应的作用,还很容易受到气流等外部环境的干扰,很难获得其准确的性能参数。
为了在复杂的环境中获取最优的姿态航向等信息,系统拟采用多组传感器融合的技术方案,首先利用三轴的MEMS陀螺和加速度计构成一个微惯性测量单元(MIMU),从惯性导航的自主性和可靠性的角度出发,把MIMU作为系统的主传感器,为了克服MEMS惯性器件的随机漂移和姿态解算算法的累积误差,用红外平衡仪修正其姿态,用地磁传感器修正其航向,结合GPS的经纬度、高度、速度等信息,利用高效的信息融合算法,得到飞行器最优的导航参数,从而完成飞行器的自主飞行和姿态的最优控制。
考虑到采用多传感器信息融合以及欠驱动控制系统算法设计的复杂性,无人机采用Altera公司的高性能FPGA芯片,以满足导航传感器的信息融合,实现无人飞行器的最优控制。
2.无人机设计
无人机的飞行器载体主要分为四旋翼飞行器模型、动力系统及飞行姿态检测和控制系统,其整体结构示意图如下:
图1系统总体结构图
四旋翼无人飞行器是固联在刚性十字交叉结构上的由四个独立电机驱动的系统。
四只旋翼分别安装于正方形机体的四个顶点位置,分为顺时针和逆时针两组,位于同一对角线上的两只旋翼为同一组。
由于电机和载体为刚性连接,因此只能通过控制四个电机的转速来实现飞行器的飞行控制。
悬停时,四只旋翼的转速相等,以相互抵消反扭力矩;同时等量地增大/减小四只旋翼的转速,会引起上升/下降运动;增大某一只旋翼的转速的同时,等量地减小同一组另一只旋翼的转速,则可以产生俯仰/横滚转动;增大某一组旋翼的转速,而等量减小另一组旋翼的转速,将产生偏航运动。
四旋翼飞行器的结构形式如图2所示。
图2四旋翼飞行器的结构形式
2.1系统硬件设计
2.1.1机体
考虑到飞行器本身飞行重量和机械强度等问题,本模型机体采用不锈钢材料制作飞行器结构,并配有复合材料制作了起落架。
2.1.2动力装置
主要采用四个大功率无刷电机(KV值1000)配备9寸的三叶桨,驱动无刷电机的电调控制芯片采用Mega8单片机,与飞控板FPGA通过I2C总线通讯实现对电机的实时调速控制。
电机与驱动实物
图如图3所示。
图3四旋翼飞行器动力部分
2.1.3无刷电机介绍
电机采用新西达A2212(KV1000)的大功率无刷电机电机重量48克,外形尺寸27.8x27mm,并配GWS9050HD的三叶桨,根据电机提供的性能指标:
每个电机工作在11V时转速在8430转左右,可以提供升力681克,可满足飞行需要的升力。
电机和正反桨的实物如图2.4、图2.5所示。
图4无刷电机实物图
图59寸正反桨实物图
2.1.4动力装置驱动部分
四旋翼飞行器对无刷电机驱动要求比较高,既要求电机驱动的线性度和电机调速的实时性要高。
电机驱动装置采用AVR系类单片机Mega8处理器作为电机驱动的主控制芯片,线性度的提高主要靠软件算法实现,电机驱动装置通过IIC总线方式和主控制器通讯,通讯速率可达400k,这样大大提高了电机调速的实时性。
无刷电机驱动的事物图如图6、图7所示。
图6无刷电机驱动实物图正面
图7无刷电机驱动实物图反面
2.1.5FPGA主控硬件系统
考虑到四轴飞行器的载重量和体积约束,我们设计nios最小系统板,系统采用cyclone系统FPGA,外扩两片DDRSDRAM。
具体设计过程如下。
1.系统电源电路
Cyclone系列的FPGA可以兼容多电压I/O操作,允许内核和I/O单独供电,VCCINT引脚供给器件内核供电电压为1.5V,VCCIO引脚供电给器件的I/O块,供电电压为3.3V。
从Cyclone芯片的手册可知,当FPGA运行时,内核动态功率占总功率的67﹪,内核静态功率占22﹪,I/O占11﹪,根据实际测量结果显示,内核上消耗的电流不超过300mA,这样电源系统1.5V能够提供600mA即可。
FPGA每个I/O的输出电流不大于25mA,每10个I/O的总输出电流不大于320mA,为了保证可靠性并留下余量,电源系统3.3V能够提供的电流应大于600mA。
因为系统对这两组电压的要求比较高,且其功率不是很大,所以不适合用开关电源,应当用低压差模拟电源LDO。
合乎技术参数的LDO芯片很多,AMS1117是一个很好的选择,它的性价比比较高,且有一些产品可以与它直接替换,减小采购风险。
本设计中采用两片三端固定的AMS1117对FPGA供电,AMS11173.3输出3.3V电压对I/O供电,AMS11171.5输出1.5V电压对内核供电。
AMS1117需要在输出与地之间接入电容以维持内部电路稳定,输入和地之间也需要接入电容对输入信号进行滤波,具体的连接关系如图8和图9所示。
图8I/O供电电源电路
另外,数字电源和模拟电源,数字和模拟地之间应该加电感进行隔离。
图9 内核供电电路
2SDRAM接口电路
SOPCBuilder中自带的SDRAM控制器内核提供了一个连接到片外SDRAM芯片的Avalon接口。
SDRAM控制器可让设计者在NiosⅡ中简易的连接并使用SDRAM芯片。
本系统采用了两片48LC4M16A2级联构成32位数据总线。
其与SDRAM控制器内核的连接如图10所示。
图11 SDRAM接口电路图
外部SDRAM芯片的接口提供PC100标准定义的信号。
这些信号必须通过AvalonFPGA的I/O引脚连接到SDRAM芯片。
SDRAM芯片必须和Avalon接口一样以相同的时钟来驱动。
片内锁相环(PLL)通常用于调整SDRAM控制器内核与SDRAM芯片之间的时钟相位差。
在较低的时钟频率下可能不需要锁相环。
在较高的频率时钟频率下,当信号在引脚上有效时,需要PLL来调整SDRAM时钟。
图10 两个SDRAM与SDRAM控制器的连接
在电路原理和PCB设计时,需要考虑合理分配FPGA的引脚,尽量使各信号的布线等长以尽量减少各SDRAM信号间的相位差。
本系统中的一块SDRAM与FPGA的I/O口连接如图11。
3.FPGA和JTAG配置电路
通过JTAG接口,利用QuartusⅡ软件可以直接对FPGA进行单独的硬件重新配置。
QuartusⅡ软件在编译时会自动生成用于JTAG配置的.sof文件。
CycloneFPGA设计成JTAG指令比其他任何器件操作模式的优先级都高,因此JTAG配置可随时进行而不用等待其他配置模式完成。
JTAG模式使用4个专门的信号管脚:
TDI、TDO、TMS以及TCK。
JTAG的三个输入脚TDI、TMS和TCK具有内部弱上拉,上拉电阻约为20~40kΩ,在配置过程中所有用户I/O都为高组态。
为了在不使用JTAG口时,不影响电路工作,可以将TDI、TMS通过上拉电阻连接到VCC,而TCK通过下拉电阻连接到GND。
具体的连接关系如图12所示。
虽然JTAG的TDI、TMS具有内部弱上拉但为了可靠,应该外接上拉电阻。
另外,JTAG的电路连接要求将nCONFIG连接到VCC,MSEL0、
MSEL1连接到GND,还要求将DATA0和DCLK置成高或低。
图12 JTAG配置电路
4.SOPC的串行主动配置电路
AS配置全称为ActiveSerialConfiguration。
在配置中,串行配置芯片提供一个4脚串行接口来获取数据,如果数据量大于配置芯片的容量需要对数据进行压缩。
通过器件配置,FPGA从串口读入配置数据,如果配置芯片内的数据经过压缩,那么需要先对数据解压再对SRAM单元进行配置。
在本设计中,采用的是EPCS16配置芯片,容量为16M位,所以配置时不需要对数据进行压缩。
AlteraEPCS配置器件通过FPGA上特定的管脚连接到FPGA,而不是通过通用的I/O管脚连接。
因此,EPCS控制器内核在顶层SOPCBuilder系统模块上不会产生任何的I/O口。
串行配置接口的4针接口为:
串行输入时钟(DCLK)、串行数据输出(DATA)、AS数据输入(ASDI)以及低有效的片选(nCS)。
这4个管脚分别于FPGA的DCLK、DATA0、ASDO以及nCSO管脚相连(这4个管脚都设有弱上拉,以确保悬空时状态的稳定)。
FPGA的主动串行配置电路如图
13所示。
图13硬件设计整体框图
2.2.6传感器信息采集
姿态检测电路主要由三个单轴的MEMS陀螺和一个三轴加速度计组成,其中陀螺采用美国ADI公司生产的ADXRS613横摆角速度传感器,改陀螺采用集成微电子机械系统(iMEMS)专利工艺和BIMOS工艺的角速度传感器,采用BGA-32封装技术,与任何同类功能的陀螺仪相比,ADXRS613横摆角速度传感器具有尺寸小,功耗低抗冲击和振动性好的优点。
由ADXRS613芯片组成的角速度检测陀螺仪能够准确的测量角速度,此外还可以利用该陀螺仪对角度进行测量,实验取得了良好的效果。
其测量范围是±150°/sec,可承受最大2000g的震动冲击。
在设计的系统中,陀螺仪用来敏感运载体的角速度,为姿态矩阵计算提供所需信息,对其性能要求有以下几个方面:
1.动态范围高。
载体的运动可能是各种各样的,而敏感其运动的陀螺仪就相应要求动态范围高。
2.可靠性要高。
陀螺仪高可靠性是惯性系统可靠工作的前提,因而是至关重要的。
3.启动时间短。
姿态测量系统的启动时间在很大程度上取决于陀螺仪的启动时间,因为只有在陀螺启动结束正常工作后,系统才能进行初始对准,从而进入导航工作状态。
4.低成本。
本系统为低精度的微惯性组合系统,对陀螺的要求不高,为中低精度就可以。
5.能经受环境条件考验。
MEMS陀螺仪可以很好的满足上述的要求,采用AD公司的ADXRS150微机械角速率传感器,它有单片石英传感器件,内部电源调节,提供0-5V输出的简单接口特征。
它设计紧凑而轻巧,可靠性高,漂移低,启动快速,成本低,直流输入输出。
它是利用单片微机械加工石英振动音叉敏感元件,根据哥氏效应,由元件输入轴的转动产生一个正比于转动角速度的电压。
利用压电石英材料来简化驱动元件,从而其有超温稳定和使用寿命长的特征。
其外型如图14所示。
其主要性能指标为:
图14ADXRS613信号提取电路图
微机械加速度计是以集成电路(integratedcircuit,IC)工艺和微加工工艺为基础,其体积小、重量轻、功耗小、成本低、易集成、过载能力强且可批量生产。
微机械加速度计目前主要用于战术导弹中段制导、灵巧导弹和各种商用等相对低精度要求的场合。
随着微机械加速度计性能的提高,其应用还会不断向中高精度的应用领域扩展。
我们采用的加速度计ADXL330是美国模拟器件(ADI)公司的新型单芯片双轴传感器,测量范围±3.6g.可以承受10000g振动冲击,相对于传统的加速度计,他的成本比较低,性能好,功耗低。
此外,该加速度计可以同时测量三个垂直方向的加速度,适用于静态和动态的加速度测量。
其硬件设计原理图如图15所示:
图15加速度计硬件设计原理图
2.2.7AD采样电路
本设计选择MAXIM公司生产的MAX1167A/D转换器完成模数转换的任务。
MAX1167是一款低功率、四通道、16位精度逐次逼近型模数转换器,最高采样频率为200K,内部集成了4.096V的参考电压、参考电压缓冲器、内部压控振荡器、自动掉电功能模块,并带有SPI数据通讯模块,通过SPI串行通讯即可输出AD采样结果,其硬件设计原理如图16所示。
图16MAX1167采样电路图
2.2系统软件设计
2.2.1姿态解算算法
本设计从mems惯性器件的固有特点出发,设计了以mems惯性器件作为姿态检测单元的姿态解算算法,以满足四轴飞行器姿态稳定控制的需要。
由于mems陀螺的随机漂移,通过mems陀螺积分得到的载体姿态角存在不可避免的积累误差,另一方面,通过加速度计也可以测量载体的姿态,但是动态时,由于大量的有害加速度的引入,由加速度计测量的姿态姿态也会有很大的误差、甚至是错误。
本设计从以上两点出发,对mems陀螺和加速度计的数据进行有效的处理和融合,最终获取动态环境下载体最优的姿态解。
图17是卡尔曼滤波算法流程图。
图17离散卡尔曼滤波计算流程图
2.2.2飞行控制算法
对四轴无人飞行器的控制主要是对其姿态的控制。
无人机姿态控制主要包括三个PID控制器,用来控制俯仰,横滚,偏航三个姿态角。
俯仰和横滚通道采用位置,速率双闭环反馈控制系统,其中外环为位置环,采用的是变速积分的PID算法,内环为速率环,采用的是微分先行的PD算法。
偏航通道采用速率反馈控制系统,采用的是微分先行的PID控制算法。
四旋翼无人飞行器的俯仰轴和横滚轴对称,忽略其耦合关系,两个轴的控制器相同。
由于需要对系统姿态和角速率进行控制,因此采用了位置和速率双闭环反馈控制系统,其中位置给定为接收机接
收到的该轴的油门,也就是期望角度,通过期望角度和实际角度做差,经过PI调节器,即得到了系统角速率环的输入,即为期望角速率。
期望角速率和实际角速率做差后经过PD调节器即得到了控制器的输出。
由于偏航轴的陀螺仪积分无法进行修正,测得的角度在不断漂移,因此只对偏航轴的角速率做闭环控制。
偏航轴的角速率给定为接收机接收到的该轴油门,期望角速率和实际角速率做差后经过PD调节器,即为该轴控制器的输出。
最后,将控制器的输出叠加到四个电机上,即完成了对四旋翼无人飞行器的控制。
控制器输出与电机输入的关系如图19所示。
图18四轴无人飞行器控制算法流程图
图19控制器输出与电机输入的关系
3.性能参数
起飞重量:
1400g
负载:
300g
飞行时间:
20分钟
抗风性:
4级风
4.设计结构
4.1系统硬件结构框图
系统硬件结构框图见图20。
图20系统总体框图
4.2系统软件结构
ARM完成IMU的数据采集以及处理后,通过串口将三轴的加速度计值和三轴的角速率值发给Nios,发送周期设置为2ms。
Nios接收到新数据后,立即开始执行姿态解算算法和控制算法,所以电调的控制周期为2ms,在这2ms的时间里,Nios必须完成姿态解算,为控制算法提供最优的姿态解。
程序中用一个信号量,来完成主控任务的同步。
另外,还需要完成磁传感器数据的采集,GPS数据的接收及处理,PPM信号的处理,与上位机的通信。
所以μC/OSII一共创建了5个任务。
任务1:
imu_data_handle_tast当IMU传来新数据时,此任务开始执行,此任务是系统的核心任务,任务优先级最高,设置为5,完成姿态解算,和四个电调的控制,执行周期为2ms。
任务2:
ppm_data_handle_tast完成接收机信号的采
集,处理。
设置其优先级为6,执行周期为20ms。
任务3:
mag_data_handle_task完成磁传感器的数据采集,处理。
设置其优先级为7,根据实
际磁传感器数据的更新速率,设置其执行周期为20ms。
任务4:
gps_data_handle_task完成GPS数据的采集,处理。
设置其优先级为8,根据GPS数据更新的速率,设置其执行周期为300ms。
任务5:
send_data_to_pc_task向上位机发数,主要用于调试。
设置其优先级为9,设置其执行周期为200ms。
程序流程图如图21,图22所示。
图21主函数流程图
图22程序流程图
5.设计方法
5.1系统的SOPC构建
交换式AVALON总线允许用户方便的将各种外设连接到一起,从实际系统的需要出发,结合所选FPGA芯片的片上资源,我们定制了以下Nios系统,如图23。
其中,CPU选择快速核,并添加浮点运算的用户自定义指令。
PPM4是用户自定义的IP,用以完成接收机的信号采集,i2c内核用于四个电调的控制,即电机转速的控制,uart_gps内核用于接收GPS的报文,spi_mag用于控制磁传感器的数据采集,uart_to_pc和uart_to_imu是sopcbuilder自带的UART组件,前者用于和上位机的通信,后者用于和IMU的通信。
系统时钟80M。
图24是系统的顶层bdf框图。
图25是系统的编译结果。
图23sopcbuilder组件图
图24顶层bdf框图
由图5.3可以看出,所构建的nios系统占了91%的LE,可见所选FPGA的资源利用率是很高的。
图25编译结果
5.2串口接收内核的设计
串口接收的内核包含四个文件,
—uart_serial.vhdUART的协议层,负责产生波特率,数据位,校验位等等。
—pack_the_data.v将底层接收到得数据打包。
—uart_rx_register.v实现了和AVALON总线的接口,负责将打包完的数据传给nios。
—uart_rx_top.v顶层文件,例化前面三个文件。
具体应用时,根据GPS报文的格式,设置帧头,帧尾校验,而且要根据GPS串口的属性,设置串口接收内核的波特率,数据位长度等参数。
5.3磁传感器的控制内核设计
选用PNI公司的三轴磁传感器,用以给四轴飞行器提供航向基准,下图26是所选用磁传感器的操作时序图的截图,如图所示,开始操作时,先输出片选信号,使能SPI接口,然后复位,接着在前8个时钟周期发送命令字,用以选择磁传感器的通道、分辨率和采样周期。
然后等DRDY置位,在接下来的16个时钟周期读取所选通道的磁场数据。
SPI接口的时序如下图27,上升沿锁存数据,高位在前,低位在后。
根据实际时序的要求,设计出来的单通道磁场数据采集的时序仿真图28所示,和图26对比可见,完全符合要求,在系统发起start_sample的命令后,cs_to_mag置低,然后reset_to_mag置高,然后发送命令字,接着等待DRDY置高,最后取数。
定制成用户IP,还需要考虑时钟问题,本设计采用对系统时钟分频,产生时钟使能信号的方法来生产SPI的时钟信号。
图26磁传感器的操作时序图
图27SPI时序图
图28单通道磁场数据采集的时序仿真图
图29一路ppm信号采集的时序仿真图
5.4接收机信号采集的内核设计
遥控器用来实现对飞行器的手动控制,接收机发出来的信号是周期为20ms的矩形波,信号采集的任务就是检测一个周期中,高电平信号持续的时间。
如图29,是对一路PPM信号采集的仿真时序图。
系统时钟是80M,ppm_in信号周期为10us(实际中周期应该为20ms),占空比为60%,所以高电平持续时间为6us。
如图,程序运行结果为480,检测到得高电平时间为480*(1/80M)=6us。
结果完全正确。
6.设计特点
1自主设计了Nios最小系统板
由于飞行器对载重和体积的要求,Altera提供的DE1不大适合我们的设计,我们根据实际的需要,自行设计了Nios的最小系统板。
2软硬件协同设计的完美体现
为了满足2ms的电调控制周期,要求算法和程序的执行速度都到最优,为此我们根据实际外设的特性,为他们定制了控制IP,很大程度上减小了Nios的负担,这是软硬件协同设计的完美体现,有效的保证了程序可靠、快速的运行。
3基于AVALON总线自定制了四种IP核
本设计在AVALON总线上连接了13个外设,其中四个是自定义的,占了91%的LE,充分体现了我们的设计的复杂性和灵活性。
4μC/OSII嵌入式实时操作系统的使用
NiosIDE集成了μC/OSII嵌入式实时操作系统,它极大的方便了我们的程序设计,加速了我们开发的进度,本设计使用了μC/OSII,共建立了5个任务,使用了信号量对任务进行同步控制。
参考文献
[1]樊邦奎.国外无人机大全[M].北京:
航