基于K60的航拍检测四轴飞行器的设计与实现
2016-06-18冯德旺钟新秀
孙 蕾,冯德旺,景 林,钟新秀,龚 力
(福建农林大学计算机与信息学院,福建福州350002)
基于K60的航拍检测四轴飞行器的设计与实现
孙蕾,冯德旺,景林,钟新秀,龚力
(福建农林大学计算机与信息学院,福建福州350002)
摘要:四轴飞行器技术成熟、操作简单,在多旋翼飞行器中应用最为广泛,能够在恶劣环境中执行拍摄和勘测任务,广泛应用于各行各业中。采用FreescaLeK60微处理器作为主控芯片实现四轴飞行器的设计,通过GY-86传感器模块获取姿态数据,采用PID控制算法实现四轴飞行器的平稳飞行。同时,通过5.8G无线网桥搭建固定点的无线图像监控传输系统来实现航拍检测。
关键词:K60;四轴飞行器;航拍检测
随着近年来无人机技术的逐渐成熟,其已被广泛应用于各行各业中,从军事上的航拍侦查到农林业中的农业喷洒、火情监控,再到娱乐中的航空摄影,无人机的发展已进入了热潮。当前,亚马逊公司已在努力推广无人机的送货服务,同时,旧金山的一些医药公司也开始使用无人机提供紧急药物配送服务。2010年,法国Parrot公司发布了世界上首款流行的四旋翼飞行器AR.Drone。AR.Drone的面世也推动了四轴飞行器在中国市场上的发展。2013年1月中国大疆公司推出了带航拍功能的DJI Phantom四轴飞行器,引领了四轴飞行器发展的新热潮。但由于目前主流的航拍四轴飞行器多用于商业销售,对其开发技术还未进行完整的公开,而国内外航模爱好者公开发布的四轴飞行器设计多是基于Arduino等8位单片机设计,由于其I/O接口数的局限,飞行器功能扩展性很差,并没有将四轴飞行器的优势发挥出来。同时,由于经费原因,很多航空护林总站面临设备老化,飞行能力不足等问题,缺乏高效、经济、易维护的飞行平台。因此本文提出了基于K60主控芯片的航拍监测四轴飞行器的设计,通过实时传输航拍图像执行恶劣环境中的勘测任务和日常及小范围监测工作。不但成本低,易于实现,而且功能扩展性强,为后期功能优化和特定领域的定制使用提供了强有力的依据,尤其可以应用于农林业遥感测绘。
1 四轴飞行器硬件设计
1.1 四轴飞行器的基本原理
四轴飞行器是一种多旋翼微型飞行器,利用四个旋翼作为飞行引擎实现空中飞行,飞行模式分为“+”模式和“X”模式。飞行器的姿态涉及到2个空间坐标系统:地理坐标系统和机体坐标系统[2]。地理坐标系统是以地球表面为参考的坐标系统,机体坐标系统是以飞行器为参考的坐标系统。四轴飞行器的飞行姿态通过控制四个电机的转速进行控制,电机的转速不同,提供的升力不同。当螺旋桨提供的升力大于、等于或小于机体重力时,四轴飞行器可分别实现上升、悬停和下降。飞行器的主控板接收来自发射器的发射信号并通过PID算法将其转换为控制信号控制电子调速器,电子调速器将控制信号转换为控制电机的电流实现姿态控制。飞行姿态控制如图1所示:
图1 四轴飞行器飞行姿态图
1.2 四轴飞行器硬件设计实现
本设计的四轴飞行器基于K60芯片,基本架构主要包括苏州大学设计的飞思卡尔K60主控板,GY-86传感器模块,ubLox-GPS模块,无刷电机,电子调速器,电源和遥控通信模块。主控通过GY-86传感器模块得到四轴飞行器当前姿态数据,并将当前姿态数据和通过无线遥控通信设备接收的目标姿态数据一起作为输入信号输入到姿态PID控制器中,PID姿态控制器通过内部计算输出相应的控制信号分别驱动4个电机。而视频传输系统作为独立模块,通过SJCAM高清摄像头和5.8 GHz无线技术实现视频图像抓取和传输,实现航拍和导航功能。
图2 控制系统硬件结构框图与k60主控芯片
K60系列微控制器具有IEEE1558以太网接口,高速USB 2.0接口和丰富的模拟、通信、定时和外设控制接口,具有硬件加密以及防篡改探测能力,内存可从256 M扩展到1 G,同时提供可选的单精度浮点单元、NAND闪存控制器和DRAM控制器。此外内部集成了DM9000网卡和网络控制模块,可拓展无线通信功能。
本文使用的飞思卡尔K60主控芯片含有5个通用I/O接口,共100个引脚。GY-86传感器模块和GPS模块都使用I2C协议进行通信,现选用端口D的8、9、10、11号引脚,将其配置为I2C通信模式,GY-86传感器模块对应I2C0,SCL接PTD8,SDA接PTD9;GPS模块对应I2C1,SCL接PTC10,SDA接PTC11。飞行器通过输出PWM波对电机进行控制,在K60中使用FTM通道定时器产生PWM信号,将端口C的3、9、11、10号引脚分别接在四轴飞行器的电子调速器上来输出控制无刷电机的PWM脉冲。遥控器和主控通过THRO/ROLL/PITCH/YAW/AUX1/AUX2六个通道进行通信,现将遥控接收器的六个通道分别接在端口E的4,5,6,7,8,9引脚并配置为中断输入模式进行通信。
图3 k60主控芯片与四轴飞行器实物
GY -86传感器模块集成了MEMS传感器MPU6050、HMC5883L三轴数字罗盘和MS5611气压传感器,使用I2C协议与K60主控通信;MPU6050传感器包含MEMS三轴陀螺仪和MEMS三轴加速度计。
图4 GY-86模块
在开发过程中,为了便于调试,将整个主控电路分为3大模块:PCB底板、飞思卡尔K60主控板、GY-86集成电路板。其中利用PCB底板把主要模块接口引出以避免复杂绕线。引出接口如下:程序烧写接口FTDA,串口调试接口UART,K60、GY-86模块接口,电子调速器接口9、3、11、10,遥控器接口THRO、ROLL、PITCH、YAW、AUX1、AUX2。
图5 底板电路连接图
四轴飞行器的电机、电子调速器和螺旋桨要遵循一定的配置原则。四轴飞行器采用外转子无刷电机,通过控制三色线的时序方向来控制电机的旋转方向。螺旋桨分为正反浆,为了抵消螺旋桨的自旋力,飞行器要求相邻浆的转动方向相反。电机提供动力使螺旋桨旋转,电机转速越大,产生的升力越大,电机转速越小,驱动的力量越大。同时,螺旋桨尺寸越大,产生的升力也越大,因此大尺寸的螺旋桨要搭配低转速的电机,小尺寸的螺旋桨要与高转速的电机搭配,以此来提供足够的升力。电子调速器将主控的控制信号转变成电流信号控制电机转动。同时,电子调速器还起到降压的作用,将电池供电电压降到主控所需电压(一般为5 V)并输出为主控板供电。
表1 电机螺旋桨与电子调速器的配置
2 四轴飞行器软件设计
四轴飞行器软件系统如下图所示,主控接收遥控器控制信号同时采集传感器的姿态数据,然后通过互补滤波算法对传感器数据进行姿态融合、消除累计误差解算出飞行姿态角,最后将遥控器的控制信号和姿态角作为输入信号通过PID控制算法输出对应的PWM脉冲控制电机。整个设计采用C语言作为编程语言,基于飞思卡尔公司的Codewarrior10.1开发环境进行编程,并通过串口下载程序到主控芯片。
2.1 系统初始化与数据接收和读取
首先四轴飞行器上电进行系统初始化,主要包括引脚配置,传感器模块中各传感器初始化,在初始化时将端口E的4,5,6,7,8,9引脚配置为中断输入模式接收来自遥控器的控制信号。当引脚接收到遥控信号时发送中断,执行中断函数ISR()。在系统初始化后可以通过构建函数读取各传感器数据。
2.2 姿态融合算法
在四轴飞行器的飞行过程中通过传感器模块采集其姿态数据,在姿态数据采集过程中,陀螺仪具有良好的动态响应特性,但计算姿态时,需要对时间进行积分运算,因此随着时间的加长会产生累积误差[5];三轴数字罗盘和加速度传感器测量姿态时没有累积误差,但动态响应较差。因此可以采用互补滤波算法融合姿态数据,解算出四轴的姿态角,提高姿态角的准确度。
利用互补滤波算法对加速度和角速度进行融合解算出RoLL和Pitch姿态角,对于偏航角yaw,需要将角速度和磁场方向数据进行互补滤波,方法与前者类似。
图7 姿态解算流程图
图中描述了RoLL、Pitch姿态角所采用的滤波和融合算法[6]:
(1)对于加权滤波,设计中使用加权方法:
式中:表示第k次读取到的值,1/N为当前值所占的权重。
(2)K代表着对角速度计算的修正量。在对应程序中,四轴飞行器三轴姿态角的解算结果如下[6]:
2.3 PID控制
PID控制是对系统出现的偏差分别进行比例(P)、积分(I)和微分(D)三种运算,然后通过叠加来消除系统偏差的反馈回路控制方法。经过姿态解算得到四轴飞行器当前姿态后,目标姿态与当前姿态将会产生姿态偏差,为了使飞行器达到目标姿态,需要采用PID控制算法消除偏差,控制模型如下图[3]:
比例系数Kp决定了四轴纠正偏差的力度,Kp越大表示四轴抵抗外力的强度越强,但Kp太大会引起四轴飞行器发生震荡甚至侧翻,太小会导致纠正力不足。积分系数Ki调节累积偏差,直至累积偏差为零。如果Ki值太小,将无法抑制因Kp过大而引起的震荡;如果Ki值太大,则会降低PID调节的反应能力。微分系数Kd能有效抑制下一时刻可能发生的倾斜。
运用PID控制原理和参数分别对ROLL、PITCH、YAW三个通道的控制量进行计算,输出PID控制量axisPID[]=PTerm + ITerm-Dterm[3]。对于PID控制中Kp、Ki、Kd的确定,在控制理论中需要测定系统的传递函数,本文利用试验法得到PID参数组合,使其达到理想的控制状态P,I,D均为0。其参数调试过程如下所示:
1.增大P,观察P对四轴飞行状态的影响直到其发生强烈震荡,再减小P。P=0.5,响应很慢,但不会发生震荡;P=1.0,响应稍微变快,但不会发生震荡;P=2,响应变快,但不会发生震荡;P=3,发生震荡,但震荡慢慢衰减;*取P=3继续调试。
2.加入D值,观察D对震荡的控制能力;D过小会发生过冲,过大会发生迟滞,以稍微过冲为佳。P=3,D=5,有较大的过冲和少量的震荡,衰减很快;D=10,仍有过冲,幅度减小;D=15,少量过冲;D=20,少量过冲;D=25,没有过冲,但反应变的迟缓;*取D=12继续调整。
在相控阵检测中,对于发射与接收部分,其核心是通过延时使各晶元发射超声波到达检测区域某点时的相位关系,实现声速偏转和声能聚焦,如图4、图5。超声声束的控制方式主要有声束偏转、聚焦以及偏转和聚焦的组合控制3种形式。
图8 PID模型图
3.加入I值,观察I对偏差的修正能力,I加快了响应速度,但也会导致过冲或振荡。P=3,D=20,I=0.01明显修复偏差,但仍然存在;I=0.02仍存在偏差;I= 0.03,偏差基本消除但产生了少量过冲;I=0.04,产生明显过冲;I=0.026,以0.002为间隔在I=0.03临界点处上下浮动,观察四轴飞行器的飞行状态,此刻偏差几乎消失,同时没有产生过冲。
4.以P=3,D=30,I=0.04继续调节,直到飞行器状态稳定并与P=3,I=0.026,D=12这一状态对比,取最佳飞行状态。
图9 PID参数调试及上位机PID参数显示
2.4 电机控制
通过PID控制算法,计算出姿态角上的PID控制量,然后再基于遥控油门值rcCommand[THROTTLE]计算出电机的控制量,最后以PWM脉冲形式输出控制电机。FTM_PWM[]代表电机的控制量,在write_FTM()函数中将FTM_PWM[]写入寄存器,程序如下:
3 航拍系统设计
本飞行器主要用来实现恶劣环境中的勘探和日常及小范围监测,因此图像传输无法通过有线闭路来实现,需要采用无线技术。无线图像传输系统从应用上可分为两大类:固定点图像监控传输系统、移动视频图像传输系统。但移动视频图像传输系统多用于现场实时监控,因此本文主要采用基于5.8G频段的固定点图像传输系统。
5.8 GHzWLAN产品采用正交频分复用技术,在此频段的WLAN产品基于IEEE802.11a协议进行通信,一般传输速率可以达到54 Mbit/s。根据WLAN的传输协议,在点对点应用时有效速率为20 Mbit/s,在点对六点应用时每路图像的传输速率约500 kbit/s。对于无线图像传输而言,基本解决了“高清数字图像在无线网络中的传输”问题。然而5.8 GHzWLAN产品虽然可以满足四轴飞行器视频侦察传输要求,但为了减轻传输负担,降低误码率,扔需要对视频进行压缩。因此图像传输时先由视频压缩编码模块进行H.264压缩编码,然后将压缩后的视频数据通过RTP数据包经无线传输模块传送到客户端。
由于5.8 GHzWLAN产品技术未公开,本设计采用5.8G无线传输设备成品进行图像传输,包括TS351发射器和RC805接收器。视频采集通过云台搭载Sjcam1080P高清摄像头抓取视频图像来实现。对云台的控制需要通过俯仰和横滚两个通道,在遥控器的接收端选择通道AUX1、AUX2接收云台的控制信号,使遥控器可以同时控制四轴飞行器的飞行姿态和云台的拍摄角度。在云台控制器上搭载HDMI-SDI转换器将Sjcam收集到的视频图像转换为SDI信号,通过TS351无线发射器将信号发射到控制端进行接收查看。
图像传输具体过程为:摄像头将采集到的实时视频传送给TS351发射器,TS351发射器将实时视频数据进行压缩后通过无线信号SDI发送给RC805接收器,接收器将接收的数据通过EasyCap视频采集卡送入上位机显示。
图10 云台图像发射与地面控制接收系统
图11 四轴飞行器自稳飞行
4 结论
本文主要实现了基于k60的航拍检测四轴飞行器的设计,采用飞行控制系统和航空拍摄系统两个相互独立的模块完成航拍监测任务,使用5 200 mAh蓄电池供电,飞行器可以持续飞行40 min。在试验过程中飞行较稳定,能达到预期的抗干扰能力,可以实时将图像传输至控制端完成监测任务。
基于K60的四轴飞行器系统与国内外流行的开源Arduino四轴飞行器相比,其功能扩展性得到了极大的提高,由于其具有丰富的I/O接口,可以采用一个GY-86模块实现所有姿态数据的读取,控制灵敏度高,稳定性好,大大降低了设计成本,同时由于其主控芯片携带DM9000无线网卡,可实现基于数据网络的视频传输,这将会使后续研究中使用移动设备进行实时随地监测成为可能。此外,文章提出了使用5.8 G无线传输技术进行航拍视频传输,将5.8 G无线技术与无人机结合起来,这将大大降低航拍视频传输成本。但限于目前电池技术水平,飞行器的飞行时间相对较短,这也为小型无人机发展提出了新的要求。
参考文献:
[1]刘峰,吕强.四轴飞行器姿态控制系统设计[J].计算机测量与控制,2011.19(3)∶583-585.
[2]何科君,张鹏,廖天予,等.手势控制微型四轴飞行系统设计与实现[J].自动化与仪器仪表,2014.11∶126-128.
[3]陆伟男,蔡启钟,李刚,等.基于四轴飞行器双闭环PID控制[J].科学技术与工程,2014,14(33)∶127-131.
[4]张奎.基于K60的智能小车控制系统设计与实现[D].杭州:杭州电子科技大学,2013.
[5]聂鹏,李佩华,李正强,等.基于卡尔曼滤波的小型无人机姿态估计算法研究[N].沈阳航空航天大学学报,2013(6)∶5.
[6]刘杰.四轴飞行器研究与设计[D].南京:南京邮电大学硕士论文,2013.
(责任编辑:夏婷婷)
Design and Implementation of Four Axis Aircraft Based on K60 for Aerial Detection
SUN Lei,FENG Dewang,JING Lin,ZHONG Xinxiu,GONG Li
(SchooL of Computer and Information Science,Fujian AgricuLture and Forestry University,Fuzhou,Fujian 350002)
Abstract:Four-axis aircrafts have been used in various sectors for its simpLe operation and mature technoLogy. It is possibLe to perform shooting and detection tasks in harsh environments. In this paper,we use the FreescaLeK60 microprocessor as the master chip to design the aircraft.At the same time,we use PID controL aLgorithm to achieve the smooth aviation and acquirethe attitude data via GY-86 sensor moduLes. MeanwhiLe,we empLoythe 5.8G wireLess bridge to buiLd a wireLess image transmission system to achieve thefunction of aeriaL detection.
Key words:K60;axis aircraft;aeriaL detection
中图分类号:TP368,S49
文献标识码:A
文章编号:1674-2109(2016)03-0084-06
收稿日期:2015-11-17
基金项目:福建省自然科学基金资助项目(2012J01190);福建省科技厅资助项目(2012J01191)
作者简介:孙蕾(1992-),女,汉族,在读硕士研究生,主要从事嵌入式技术研究。