基于摄像头寻迹的四旋翼飞行器设计 - 图文

更新时间:2024-03-30 12:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于摄像头循迹的四旋翼飞行器设计I

摘要

本系统设计并制作一架基于摄像头循迹四旋翼自主飞行器,其所需循迹的道路是白底的黑色引导线。本系统采用模块结构化设计的方法,包括飞行控制模块、驱动模块、电源模块、循迹飞行、高度检测系统等,以Freescale Kinites60单片机为数据处理控制中心,将各个模块有效配合形成整体。其中飞行控制模块以STM32F407为控制核心,用来调整四旋翼自主飞行器的飞行姿态;而循迹模块以Freescale Kinites60为核心控制器,处理摄像头OV7725采集的图像信息后,把路径信息反馈给飞行控制模块,使飞行器能够按照给定的黑色引导线循迹飞行;超声波模块获取飞行器离地高度信息,并将信息传递给飞行控制模块,从而调整飞行姿态,实现设计要求。循迹模块和超声波模块与飞行控制模块通过串口保持即时通信,飞行控制模块根据实时反馈的信息,控制电调驱动四个无刷电机完成自主稳定飞行。

关键词:四旋翼自主飞行器,单片机,摄像头循迹,超声波,无刷电机

基于摄像头循迹的四旋翼飞行器设计II

ABSTRACT

The system intended to design and make a four- rotor autonomous vehicle, and the intelligent model tracked its way by camera. At the same time, the tracking way had a black line on the white background. The project adopted the measure of modular structural design, including flight controlling module, driving module, power module, flight tracking and height detection system and so on. The design took Freescale Kinites60 MCU as data processing and controlling central, and the single ship effectively integrated various modules into a whole,of which the flight module put the STM32F407 as controlling core, in order to adjust autonomous vehicle’s flying attitude. However the flight tracking module took Freescale Kinites60 as core controller, which dealt with the image information collected by camera, then feedback path information to flight controlling module so that the four- rotor autonomous vehicle could fly according to the black guiding line. The ultrasonic module got the information of the aircraft altitude and transformed the message to flight controlling module as to adjust flying attitude and met the design requirement. The tracking module, ultrasonic module and flight control module should maintain instant communication through the serial port, then the flight controlling module controlled ESC to drive four brushless motor and completed autonomous stable flight by the real-time feedback information.

Key words: four- rotor autonomous vehicle, MCU, camera tracking, ultrasonic module,

brushless motor

基于摄像头循迹的四旋翼飞行器设计III

目录

1 概论 .......................................................................................................................... 1

1.1 选题背景 .......................................................................................................... 1

1.2 国内外飞行器的研究现状 .............................................................................. 1 1.3 四旋翼飞行器的主要生产公司 ...................................................................... 3 1.4 本研究的目的和意义 ...................................................................................... 3 1.5 小结 .................................................................................................................. 4

2系统总体设计方案 ............................................................................................... 5

2. 1 驱动模块的论证与选择 ................................................................................. 5 2. 2 传感器模块的选择 ......................................................................................... 6 2. 2 电源模块的论证与选择 ................................................................................. 8 2. 3 飞行控制模块的论证与选择 ......................................................................... 8 2. 4 摄像头模块的论证与选择 ............................................................................. 8 2. 5 高度检测系统的论证与选择 ....................................................................... 10 2. 6 小结 ............................................................................................................... 11

3系统理论分析 ...................................................................................................... 12

3. 1 四旋翼飞行器的模型简析 ........................................................................... 12 3. 2 四旋翼飞行器坐标系的建立 ....................................................................... 12 3. 3 四旋翼飞行器上总的力和力矩 ................................................................... 14 3. 4 四旋翼飞行器力学控制原理 ....................................................................... 14 3. 5 小结 ............................................................................................................... 18

4硬件电路部分设计 ............................................................................................. 19

4. 1系统硬件总体设计 ........................................................................................ 19 4. 2电机驱动模块 ................................................................................................ 19 4. 3电源模块 ........................................................................................................ 20 4. 4 小结 ............................................................................................................... 21

5系统设计软件部分设计 ................................................................................... 22

5. 1程序设计总论 ................................................................................................ 22 5. 2软件开发工具简介 ........................................................................................ 22 5. 3程序流程图 .................................................................................................... 23 5. 4各模块初始化 ................................................................................................ 25 5. 5算法设计 ........................................................................................................ 26 5. 6小结 ................................................................................................................ 30

6 系统调试 .............................................................................................................. 31

6. 1软硬件调试 .................................................................................................... 31

基于摄像头循迹的四旋翼飞行器设计IV

6. 2 通用排故方法 ............................................................................................... 33 6. 3 小结 ............................................................................................................... 34

7 参考文献 .............................................................................................................. 35 致谢 ............................................................................................................................ 36 附录 ............................................................................................................................ 37

基于摄像头循迹的四旋翼飞行器设计1

1 概论

1.1选题背景

四旋翼飞行器是一种有四个螺旋桨且由两对正反桨呈“+”形交叉排列的飞行器。四旋翼飞行器通过输出占空比的方式调节四个无刷电机转速来改变旋翼转速,实现四旋翼飞行器的力矩和升力的变化,从而控制四旋翼飞行器的飞行姿态和位置变换[1],其具有造价低且可复制性强的特点,已成为航模界的新锐力量。由于MEMS传感器、单片机、电机以及电池技术的发展与普及,人们对于四旋翼飞行器的研究从军事领域到民用和商用领域都有涉及。近些年来,由于自动控制技术、微电子控制技术和传感器技术的发展,运用先进的控制技术,使用无刷电机代替传统油动力进行四旋翼飞行器的研究,各个旋翼对机身所施加的反扭矩与旋翼的旋转方向相反,可以平衡旋翼对机身的反扭矩,因此不需要专门的反扭矩桨。又由于四旋翼飞行器能够在一块电路板上实现多种功能且仅使用一块电池,使得其设计简洁,结构合理紧凑,有助于提高电能的使用效率。由此,四旋翼飞行器的设计也朝着小型化、多样化方向发展,应用范围也在不断地扩大[2]。

四旋翼飞行器以其体积小,飞行灵活,在飞行时又有较强的防窥探能力,在军事侦查方面的应用空间很大;在民用、城市交通、环境监测及工业巡察领域能发挥很大的作用[3]。例如在灾害中,通过携带指定的检测模块,四旋翼飞行器可以探测有害物质的浓度、灾害周围的温湿度以及危险物的大致范围,能够实时回传数据,便于指挥人员对灾害情况的掌握。

随着新型材料以及制造业的快速发展,四旋翼飞行器也朝着微型化的方向发展。目前看来,四旋翼飞行器依然不少技术问题没有解决,许多技术问题依然没有突破性的进展[5]。因此,在现有技术的基础上,尽可能地解决现在没有解决的问题,才能使无人机的研究与发展不断向前行进。四旋翼飞行器所涉及的知识体系范围宽,而且其研究范围随着研究的逐步深入仍在扩展,而对其中的某些存在的问题开展一部分前瞻性研究也正是本毕业设计的目的之一。

1.2国内外飞行器的研究现状

回顾历史,全球第一架可载人飞行的飞机,于1903年由美国的莱特兄弟研制,人们对于四旋翼飞行器的探索也起源于那个时代,由于当时的科学技术水平低以及理论知识欠缺的原因,四旋翼飞行器没有得到足够快速的发展,直至20世纪膜,依然没有多旋翼类飞行器被真正地设计[4]。美国科学家布鲁诺?W?奥根斯坦在1992年美国国防高级研究计划局(DARPA)主持的一次军事会议上提出微型飞行器(MicroAirVehicle)的概念,四旋翼飞行器最早设计并完成并试飞的是Breguet兄弟,George De Bothezat, Etienne

基于摄像头循迹的四旋翼飞行器设计2

Oemichen 以及D.H. Kaplan[5]。

由于微机电系统传感器、单片机、电机以及电池技术的突破,四旋翼飞行器的设计与研究得到了前所未有的发展。微型飞行器应用范围宽广,可作为低成本的遥感平台,全世界对飞行器的研制和投入也达到了新的高度[6]。

1.2.1美国研制四旋翼飞行器的现状

微型飞行器是由DARPA率先提出和启动研制。1995年11月,DARPA召开了微型飞行器可行性专题讨论会;1996年3月,DARPA召开了向工业界通报情况的介绍会;1996年10月,DARPA召开了用户与研制者的讨论会;1997年DARPA正式通过小型商业革新研究(SBIR)项目,投资进行系统研究或发展特种技术[7]。

1998年4月,一种名为微星的微型飞行器方案由美国桑德斯提出。微星的设计参数参数为:翼展约15cm,质量15g,具有自动飞行和录像功能,采用手持式发射器发射或直接手抛发射。第一阶段主要进行方案论证工作,包括对飞行器的动力系统、姿态感知系统、录像系统、导航系统等所有辅助设施进行了逐个测试。2000年9月制造出一种采用大容量电池、飞行稳定、可录像且运动灵活的微型飞行器[8]。

Auburn大学和Lutronix公司成功研制了一种新型的旋翼式飞行器机体:使用直升机布局,从外型上看为圆柱形,上部装有旋翼,下部带录像机。目前设计出两种机型,即共轴双旋翼和单旋翼,都没有尾浆调向。技术参数为:重300g,旋翼直径10.16cm,可负载重量为100g,具有三个轴向稳定调节、全球定位系统和120min续航时长[10]。 “Entomopter”扑翼式微型飞机由California Institute of Technology和AeroVironment公司及University of California联合研制,共花费约180万美元。机身结构:采用扑翼布局,着重探索扑翼式飞行器可不可以像蜂鸟一样垂直上下飞行,使其具有更好的隐身功能。 技术参数:翼展15.24cm,质量为10g,采用镍镉可充电电池,在没有遥控条件下飞行了18s,飞行距离46m,机翼能以20Hz的频率扇动[11]。

海军研究实验室研制的超小型干扰机:翼展(15.24~20.32)cm,质量(50~100)g,飞行速度(32.18~64.36)km/h,飞行时间1200s,载重16g,研制目的是在敌人雷达上投放一个重约16g的雷达扰乱器。此飞行器由军队人员带到距离目标几千米处手动发射[12]。

1.2.2印度研制的微型直升飞机

1997年1月26日在新德里举行的阅兵式上,印度首次展示了航空研究院制造的NISHANT飞行器。技术参数:翼长0.75m,长度为120cm,质量为300kg,负载45kg,采用德国制造的发动机,推进式螺旋桨,飞行高度为950m左右,续航时间300min。NISHANT飞行器系统主要包括飞行器、遥控台和发射架。

基于摄像头循迹的四旋翼飞行器设计3

1.2.3中国的微型飞行器

国内部分高等院校和科研机构正在开展微型飞行器的研究工作,研究成果主要有北京理工大学的智能机器人研究所、国防科技大学机器人实验室和上海交通大学微纳米科学技术研究院等在做这方面的相关研究工作。

北京理工大学的智能机器人研究所则从另一方面入手,通过对微型旋翼式四旋翼飞行器进行结构与动力特性的分析,自行研制了一种微型旋翼式四旋翼飞行器。并在此原型机的基础上,基于PID控制算法,进行了不少姿态控制算法方面研究工作,也取得了一定的研究成果[16]。

上海交通大学在微型无人机方面的研究主要体现在非线性控制、机器识别以及相似智能辨识等方面的研制。其微纳米科学技术研究院曾制造出以直径仅有0.2cm的微马达作为动力的双旋翼微型直升机。该研究院的科研人员在现有成功经验的基础上,正在研究能负载、可离地飞行的四旋翼微型飞行器[18]。

1.3 四旋翼飞行器的主要生产公司

国际上比较知名的四旋翼飞行器公司有中国大疆公司、法国Parrot公司、德国AscTec公司和美国3D Robotics公司。

深圳市大疆创新科技有限公司(DJI-Innovations,简称DJI),成立于2006年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球40多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞行控制产品和解决方案。中国深圳大疆创新科技有限公司在2013年初推出了一款售价高达1000美元的Phantom四翼直升机。该公司去年的销公司、售额达到了1.30亿美元,并预计今年还能再增长3倍之多。2014年11月26日,由大疆创新研发的航拍机新产品Inspire1在深圳亮相,这也是被媒体称为“迄今为止最酷的“无人机”产品,首度在亚洲地区进行公开展示。

1.4 本研究的目的和意义

本四旋翼飞行器控制系统主要实现由摄像头地面的道路信息进行循迹飞行功能。飞行器通过摄像头采集的图像分析出的道路信息指令,按照指定的轨迹飞行,同时具有感知当前飞行姿态并自动调整的功能,此外具有遥控起飞和降落的功能。全部控制系统囊括电源模块、摄像头模块、无线通信模块、传感器模块、电机驱动模块、控制器模块。无线通信模块接收遥控器传来的控制信号,而后将控制信息传递给控制器模块。传感器模块采用三轴加速度传感器陀螺仪实时监测飞行器飞行的当前飞行姿态,并将飞行器的当前飞行姿态数据传送给控制器模块。摄像头模块采集的图像,通过单片机处理分析出的轨迹信息指令,按照指定的轨迹飞行,控制器模块接收到摄像头模块、传感器模块和

基于摄像头循迹的四旋翼飞行器设计4

无线通讯模块传来的目标姿态数据和实际姿态数据后完成一系列复杂的算法,得到当前四旋翼飞行器的位置和姿态信息,计算出控制量,转化为相应的PWM信号经驱动电路后驱动四个电机工作,保持四旋翼飞行器稳定飞行。

本设计的主要设计任务是基于STM32系列单片机和Freescale Kinites60单片机设计并制作一台四旋翼飞行器样机,其中STM32系列单片机主要用来实现四旋翼飞行器的传感器数据处理(包括加速度、陀螺仪、气压计、超声波等传感器),姿态解算,超声波定高,主要是实现控制模块的功能;Freescale Kinites60单片机处理摄像头数据,分析出路径信息,并把路径信息转换为相应的控制信息,并把相应的控制信息传输给控制模块,实现四旋翼飞行器的自主循迹功能,同时可以接收无线数据,实现遥控起飞和降落的功能,主要实现的是图像采集处理分析的功能。设计实现飞行控制器硬件,并调试完成四旋翼飞行器,该样机通过摄像头能够循迹并在离地面一定的高度稳定飞行,为后期的研究奠定基础。

本文主要从如下几个方面入手对四旋翼飞行器的设计进行详细研究: (1)四旋翼飞行器原型样机结构与实现,飞行控制器硬件设计及实现; (2) 摄像头采集信号的调试、转换和生成;

(3) 摄像头采集的信号转换为四旋翼飞行器的控制信号; (4) 四旋翼飞行器飞行模型的建立; (5) 四旋翼飞行器运行状态的采集和反馈; (6) 四旋翼飞行器PID参数调整; (7) 遥控器控制信号的发送和接收。

工作重点在于基于多传感器融合的动力学建模、姿态控制算法、控制系统软硬件、摄像头采集信号的调试、转换和生成的设计与实现以及调试等。

1.5小结

本章首先介绍课题的选题背景,之后介绍了国内外四旋翼飞行器的发展历史以及研究现状,随后介绍了飞行器的主要生产公司,最后指出了本文的研究目的、方法及研究的重点内容。

基于摄像头循迹的四旋翼飞行器设计5

2系统总体设计方案

本设计主要采用ST公司生产的STM32F407作为系统的主处理器。它主要负责采集传感器检测到的姿态信息并实时解算,根据摄像头采集到的图像信息,通过二值化算法,得到具体的线路信息,通过Freescale Kinites60单片机计算输出控制量;并把控制量传递给STM32F407,控制飞行器的飞行方向及姿态;通过无线通信模块与遥控器进行数据的传输,实现飞行器的起飞、降落及飞行姿态和位置的调整。

本系统主要由主控制器模块、无刷电机驱动模块、电源模块、摄像头模块、姿态测量模块等五部分组成,下面分别论证这几个模块的选择。飞行控制系统方框图如图2-1所示:

图2-1 飞行控制系统方框图

2.1驱动模块的论证与选择

2.1.1四旋翼飞行器电机选型

方案一:采用普通直流电机。普通直流电机有操作简单、成本低、质量小等优点,但其输出扭矩较小,可控性能差,四旋翼飞行器要求控制精度高,响应速度快,且重量要轻,所以普通直流电机无法满足要求。

方案二:采用新西达公司生产的A2212/13T1000KV无刷直流电动机。它在低KV值

基于摄像头循迹的四旋翼飞行器设计6

(1000-2000kv),高电压(11.1V)环境下有较高的转速和较大扭力,且具有调速范围宽、效率高和稳态转速误差小等优点。它克服了普通直流电机的扭矩小的缺点,满足系统精度控制要求及负载要求。

综合以上比较论证,为保证四旋翼飞行器稳定可靠的飞行,本系统采用方案二。 2.1.2电机驱动电路

电机转的转速是跟流过电机的电流有关,即跟加在两端的电压有关。但是单片机并不能输出可调的直流电压,而是用脉宽调制(PWM)方式来控制电机的输入电压。通过控制PWM调节占空比,实现控制电机转速的效果,PWM占空比越高,等效电压就越高,占空比越低,等效电压就越低。

2.1.3脉冲宽度调制PWM调速

脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域[19]。

脉冲宽度调制(PWM)是一种利用微处理器的数字输出对模拟信号电平进行数字控制的方法。脉冲宽度调制是一种模拟控制方式,利用高分辨率计数器改变方波的占空比被调制用来对一个模拟信号的具体电平编码。但PWM信号仍然是数字的,因为在给定的所有时刻,全幅值的直流供电不是完全导通,就是完全截止,不存在第三种状态。电压或电流源是以一种导通或截止的重复的不同占空比的脉冲序列加到模拟的负载上。导通时直流供电完全被加到模拟负载上,截止时是供电完全被断开的时候。只要数值带宽足够宽,所有的模拟电流都可以使用PWM模拟。

PWM调速的优点如下:

1)由于PWM的开关频率很高,只要通过电枢电感滤波就可以得到波动比较小的直流电流,可以调速的范围大,理论上可达到1:10000左右;

2)响应性能的快速行十分好,抵抗动态干扰能力强;

3)由于器件仅工作在开关状态,主电路损耗较小,装置效率较高。

根据以上优点,以及本设计中受控电机的容量和直流电机调速的发展方向,本设计采用了PWM变换器进行调速。

2.2传感器模块的选择

四旋翼飞行器的稳定飞行是本设计重点内容之一,而要进行飞行器的稳定飞行就得获得飞行器稳定的姿态。传感器用来感知自身的姿态位置信息及外界环境的变化,为控制系统提供控制依据。因为四旋翼飞行器所使用的电池容量较小,以及四旋翼飞行器的升力和负载能力有限,所以,减轻导航姿态测量系统所用传感器的质量、体积,就显得

基于摄像头循迹的四旋翼飞行器设计7

十分重要。

加速度检测传感器是可以检测加速力变化的电子器件。加速度检测传感器的工作原理:检测元件将测点的加速度变化信号转换为相应的电压信号,进入信号调理电路,经过信号放大电路改善信号的信噪比,再进行AD转换得到数字信号,最后将数字信号传递给单片机,单片机对数据进行数字滤波处理。加速度检测传感器用于检测机身相对于水平面的侧倾角度。在四旋翼飞行器起飞的瞬间,由于电机转速本身的质量和转速误差,加速度检测传感器无法感知飞行器本身的受力情况。根据牛顿第二定律,要想通过加速度检测传感器获得准确的四旋翼飞行器侧倾角度和飞行姿态,加速度检测传感器就需要在静止或者匀速运动的情况下进行测量,而飞行器起飞的瞬间,物体是运动的,所以无法使用加速度检测传感器测量的数据来控制四旋翼飞行器。陀螺仪检测传感器能感知物体的运动变化。四旋翼飞行器的飞行控制器通过读取陀螺仪检测传感器采集的数据进行处理,并依据四旋翼飞行器当前姿态进行反馈控制,即可以使得四旋翼飞行器保持稳定的飞行。

因为在测量过程中陀螺仪检测传感器受到温度变化的影响,导致测得的姿态信息并不十分精确,对测得的数据经行再次的滤波就显得尤为重要。因此利用加速度检测传感器和陀螺仪检测传感器的组合可以检测和输出四旋翼飞行器的方位、速度和引力来感知飞行器的运动状态。综合考虑性能、体积、重量和成本等因素,本设计选择MPU-6050陀螺仪加速度计,其具体的电路连接图如图2-2所示。

图2-2 MPU-6050传感器电路连接图

基于摄像头循迹的四旋翼飞行器设计8

MPU-6050是世界第一例9轴运动处理传感器。它集成了3轴微机电陀螺仪,3轴微机电加速度计,以及可扩展的数字处理器DMP(Digital MotionProcessor),可用I2C接口连接磁力计。扩展之后就可以通过其I2C接口输出一个9轴变化的数字信号。MPU-6050也可以通过其I2C接口连接非惯性的数字传感器,比如气压传感器[20]。

MPU-6050与其他处理器之间的通信采用400kHz的I2C接口。对于需要高速传输的系统,对数据的读取和中断可用20MHz的SPI。此外,MPU-6050片上还内部还有了一个温度传感器用于矫正温度变化对采集数据的影响。

2.2电源模块的论证与选择

系统采用2200mA动力锂电池作为供电电源,电压为12V左右,可直接供给电调使用,其中电机由电调直接驱动,而摄像头工作电压和Freescale Kinites60单片机为3.3V,超声波模块的工作电压5V,需要通过稳压芯片进行一次电压转换为其供电。

方案一:通过电调产生5V电压供给超声波模块使用,由于摄像头的工作电流不是很大,直接采用AMS1117-3.3稳压芯片将5V电压转换成3.3V供摄像头和Freescale Kinites60单片机使用,这个方案电路十分简单,使用元件少,且工作十分稳定。

方案二:采用LM7805三端稳压器将电源电压降到5V供超声波模块使用,再通过AMS1117稳压芯片将5V电压转换成3.3V电压供给摄像头Freescale Kinites60单片机。电路内部有过热、过电流及调整管的保护电路,但在实际应用中,稳压管温度上升过高时,其工作的稳压性能将变差,甚至烧毁。

综合考虑以上的两种不同的电源模块方案,选择方案一更为合理。

2.3飞行控制模块的论证与选择

方案一:领航者飞控模块。匿名科创ANOTC的领航者飞控模块能提供完全开源的飞控工程源代码,飞行效果好,方便调试及后期增加功能。

方案二:QQ飞行控制模块。其有优点是调试简单,有自稳功能,缺点是不能定高,不能姿态控制,没有开源的飞控工程源码,对后续调试,增加功能影响很大,不利于本毕业设计的制作。

综合考虑以上的两种不同方案,选择方案一更为合理。

2.4摄像头模块的论证与选择

摄像头是基于摄像头寻迹的四旋翼飞行器系统信息提取关键,其输出信息的好坏将决定着四旋翼飞行器转向性能。因此摄像头的选取必须慎重,既要保证图像质量好,满足后续处理和轨迹识别的要求,又要考虑到单片机采集和处理的能力。基于摄像头寻迹的四旋翼飞行器中既可以使用CMOS型摄像头,也可以使用CCD型摄像头。CCD模拟

基于摄像头循迹的四旋翼飞行器设计9

摄像头和CMOS数字摄像头,其优缺点如表2-1、表2-2所示:

表2-1 CCD模拟摄像头的优缺点

优点

1)灵敏度高,适于高速运行; 2)噪点低。

表2-2 CMOS数字摄像头的优缺点

缺点

1)成本高;

2)功耗高,需12V供电

优点

1)体积小,重量轻,功耗低; 2)内部集成A/D,电路要求简 单,方便系统小型化; 3)平均成本低,便于推广。

缺点

1)灵敏度低, 不适于高速运行; 2)噪点高。

通过比较,发现CMOS数字摄像头相比于CCD模拟摄像头,有着供电电路简单,体积小巧、质量轻、功耗低等诸多方面的优势。同时,我们发现CMOS数字摄像头提供了 PCLK 信号,这样我们便可以利用Freescale Kinites60单片机自带的DMA模块进行DMA采集。使用DMA可以节省单片机硬件资源,让单片机可以在同一时间里做更多不同的事情,这样便提高了单片机的工作效率。而CCD模拟摄像头未能提供PCLK信号,同时为了得到数字灰度值,我们需要对CCD输出的模拟信号进行AD转换,增加了电路的复杂度。

综合以上考虑,最终决定采用CMOS数字摄像头作为毕业设计的图像传感器。选用型号是OV7725数字CMOS摄像头。OV7725是一个集成模块,是1/3CMOS彩色/黑白图像传感器,VGA和QVGA是两种不同的图像格式;最高输出像素为664*492,帧速率为50fps;数据处理格式包括YCrCb,YUV,RGB 三种。OV7725是数字式摄像头,只需要5V单电源供电,功摄像头耗较小,性能稳定,功耗较小。能够满足基于摄像头寻迹的四旋翼飞行器对路径检测的要求。OV7725是按指定的分辨率,以换行扫描的方法采集信息,当扫描到某点时,再通过图像传感芯片将该点处图像的灰度转换成与灰度相对应数字信号,最后通过 8位的输出口输出。配合OV7725的工作时序,通过单片机适时的对这8位端口进行采集,便可得到期望的图像点的灰度值。OV7725的SCCB

基于摄像头循迹的四旋翼飞行器设计10

控制时序图如图2-3所示。

图2-3OV7725的控制时序图

在使用OV7725时,通过SCCB协议,利用SCL、SDA端口,对该摄像头寄存器进行了配置,需要对该摄像头的三处做了重新设置。

一、将摄像头的分辨率配置成180*240,这样可以使单片机在采集图像数据时,能尽可能少的响应没有必要的行场中断,增强了单片机的处理效率。

二、将摄像头的对比度设置成了最高,高对比度可以使轨迹信息的与白色的地面更清晰的区别开来,方便后续图像处理。

三、根据实际的图像显示效果,适时合适的更改图像的亮度,是显示效果更加满意。此外,还需要对摄像头的其他寄存器(如:与曝光时间、白平衡有关的寄存器等)也做适当更改,使得显示的效果更加直观、清晰。为基于摄像头寻迹的四旋翼飞行器系统提供更加准确的轨迹信息。

2.5高度检测系统的论证与选择

方案一:超声波测距。超声波发射器向正前方发射超声波,同时计时开始,超声波在空气中传播,途中若碰到障碍物就立即返回,超声波接收器接收到反射信号立即停止计时,通过声音在空气中传播的速度可以计算出障碍物与超声波模块间的距离。其优点是准确度高,可靠性高,不受外界光线干扰。

方案二:红外传感器测距。红外反射式传感器测距是红外线发射管发射红外线然后通过红外线接收管测量回波时间,光速*时间=距离。其优点是利于装配,使用方便,受可见光干扰小。缺点是容易受到阳光中的红外线干扰,检测距离短,检测距离不符合设计要求。

基于摄像头循迹的四旋翼飞行器设计11

综合比较以上两种方案,选取方案一更为合适。

2. 6 小结

本章首先讲述了本毕业设计的总体设计方案,后面依次论证选择了驱动模块、传感器模块、电源模块、飞行控制模块、摄像头模块和高度检测模块,通过本章的论证,确定了本次毕业设计的硬件选择,为接下来的工作做好准备。

基于摄像头循迹的四旋翼飞行器设计17

图3-6 四旋翼的滚转运动意图

3.4.4 四旋翼的偏航运动

图3-7 四旋翼的偏航运动意图

四旋翼飞行器偏航运动可以借助旋翼产生的反扭矩来实现。旋翼转动过程中因为空气阻力作用会形成与转动方向相反的反扭矩,为了克服反扭矩影响,可使四个旋翼中的两个正转,两个反转,且对角线上的各个旋翼转动方向相同。反扭矩的大小与旋翼转速有关,当四个电机转速相同时,四个旋翼产生的反扭矩相互平衡,四旋翼飞行器不发生转动;当四个电机转速不完全相同时,不平衡的反扭矩会引起四旋翼飞行器转动。在图3-7中,当电机1和电机3的转速上升,电机2和电机4的转速下降时,旋翼1和旋翼3对机身的反扭矩大于旋翼2旋翼4对机身的反扭矩,机身便在多余的反扭矩的作用下绕 z轴转动,实现飞行器的偏航运动,转向与电机1、电机3的转向相反。原理如图3-7示。

基于摄像头循迹的四旋翼飞行器设计18

3.4.5 四旋翼的前后运动与侧向运动

图3-8 四旋翼的前后运动与侧向运动意图

要想实现飞行器在水平面内前后、左右的运动,必须在水平电机转速不变,反扭矩仍然要保持平衡。在图3-8中,增加电机3转速,使拉力增大,相应减小电机1转速, 使拉力减小,飞行器首先发生一定程度的倾斜,从而使 旋翼拉力产生水平分量,因此可以实现飞行器的前飞运动。向后飞行与向前飞行正好相反。当然在图3-5和图3-6中,飞行器在产生俯仰、翻滚运动的同时也会产生沿 x、y轴的水平运动。

同理,根据四旋翼飞行器前后运动的工作原理,将飞行器x、y轴上的电机的工作状态进行互换便可以实现四旋翼飞行器侧向运动,原理图如图3-8所示。

3. 5小结

本章首先简单的介绍了四旋翼飞行器的模型,后面简述了四旋翼飞行器坐标系的建立,接着分析了四旋翼飞行器所收到的力和力矩,最后讲述的四旋翼飞行器的力学控制原理,为后续四旋翼飞行器的控制打下了理论基础。

基于摄像头循迹的四旋翼飞行器设计19

4硬件电路部分设计

4.1系统硬件总体设计

系统包括Freescale Kinites60处理器的最小系统板和STM32为核心的飞控,其中Freescale Kinites60处理器处理摄像头图像信息,分析出地面的路径信息,完成飞行的导航控制算法,它需要外接OV7725摄像头模块;STM32飞控器完成飞行控制算法,需要外接超声波测距模块和电机驱动模块,系统总体工作框图如图4-1所示。

ASM1117-3.3电机模块电机模块新西达电机新西达电机22002200毫安动力毫安动力锂电池锂电池电机驱动模块电机驱动模块无刷电机电子无刷电机电子调速器调速器A2212/13TA2212/13T循迹模块CMOS 摄像头循迹STM32STM32飞行飞行控制模块控制模块 HC--SR04 HC--SR04超声波测距模超声波测距模块块Freescale Freescale Kinites60Kinites60处理器的最小系统板处理器的最小系统板

图4-1系统总体框图

4.2电机驱动模块

电机驱动模块主要由STM32飞行控制模块产生PWM波来控制,通过调节占空比的方式来控制无刷电机的转速,电机驱动子系统框图如图4-2所示。

STM32飞行控制模块

PWMPWM电源电源

图4-2电机驱动子系统框图

电调电调电机电机

基于摄像头循迹的四旋翼飞行器设计20

4.3电源模块

4.3.1电源子系统框图

该系统中有飞行控制模块、电调、摄像头模块、超声波模块、无线通讯模块需要供电,其框图如图4-3所示。

电源电源12V12V超声波模块STM32STM32飞行控飞行控制模块制模块无线通讯模块电调电调3.3V稳压电路摄像头摄像头 3.3V 3.3V

图4-3 电源子系统框图

4.3.2LM1117-3.3稳压电路图

AMS1117稳压电路图,其中输入电压为5V,输出电压为3.3V,使用LED灯作为电源指示灯,使用10uF的电解电容和0.1uF的陶瓷电容滤波。电路原理图如图4-4所示。

图4-4 AMS1117稳压电路图

4.3.3 HC-SR04超声波模块工作时序图

HC-SR04超声波模块工作时序图,如图4-5所示。

基于摄像头循迹的四旋翼飞行器设计21

图4-5 HC-SR04超声波模块工作时序图

4. 4 小结

本章首先简述了系统的硬件总体设计,接着讲述了电机驱动模块、电源模块的设计。

基于摄像头循迹的四旋翼飞行器设计27

??(??)=????[e n +?? ????=0?? ?? +????

??

???? n ???(???1)

??

](5-2)

控制器将输出量?? ?? 反馈到输入,与输入再一次进行比较,得到新的输入,这样无限循环,得到最佳控制效果。比例环节的主要作用是:K??的值增大时,系统的响应速度加快,闭环系统响应的幅值增加。当达到某个K??值,系统将趋于不稳定。

5.5.2 方向控制算法

方向控制采用PID位置式算法,即直接利用式(5-2)计算,积分项(Pi)是将所有采集值偏差相加。具体程序如下所示:

void DirectionContorl(void) {

float Kp, Kd;

Delat = inductance_0-inductance_1; Kp = Delat*PID_P_direction*0.1;

Kd = (Direction_contorl_new-Direction_contorl_old)*PID_D_direction*0.01; Direction_contorl_old=Direction_contorl_new; Direction_contorl_new = Kp+Kd;

Direction_contorl_value=Direction_contorl_new;

if(Direction_contorl_value>1750)Direction_contorl_value=1750; if(Direction_contorl_value<1250)Direction_contorl_value=1250; }

5.5.3速度高度控制算法

由于积分时间常数????对速度的影响,速度高度控制采用PID增量式控制,即在位置式控制的基础上加以改进,根据式(5-2)得到n-1采样周期的控制量:

1

??(???1)=????[e n?1 +?? ?????=0?? ?? +????

??

???? n?1 ???(???2)

??

] (5-3)

由式(5-3)-(5-2)得:

???(??)=????[e n ?e n?1 +???? ?? +????

??

???? ?? ?2?? n?1 +??(???2)

??

(5-4)

由此第n个采集量便于书写,其控制程序如下:

void height_speed_ctrl(float T,float thr,float exp_z_speed,float h_speed) { static float thr_lpf; float height_thr; static float hc_acc_i,wz_speed_0,wz_speed_1; height_thr = LIMIT( 2 * thr , 0, 600 ); thr_lpf += ( 1 / ( 1 + 1 / ( 0.5f *3.14f *T ) ) ) *( height_thr - thr_lpf ); wz_acc_mms2 = (wz_acc/4096.0f) *10000 + hc_acc_i;//9800 *T;

基于摄像头循迹的四旋翼飞行器设计28

wz_speed_0 += my_deathzoom( (wz_acc_mms2 ) ,100) *T; hc_acc_i += 0.4f *T *( (wz_speed - wz_speed_old)/T - wz_acc_mms2 ); hc_acc_i = LIMIT( hc_acc_i, -500, 500 ); wz_speed_0 += ( 1 / ( 1 + 1 / ( 0.1f *3.14f *T ) ) ) *( h_speed - wz_speed_0 ) ; wz_speed_1 = wz_speed_0; if( ABS( wz_speed_1 ) < 50 ) { wz_speed_1 = 0; } wz_speed_old = wz_speed; wz_speed = wz_speed_1; wz_speed_pid_v.err = wz_speed_pid.kp *( exp_z_speed - wz_speed ); wz_speed_pid_v.err_d = 0.002f/T *10*wz_speed_pid.kd * (-wz_acc_mms2) *T;

wz_speed_pid_v.err_i += wz_speed_pid.ki *wz_speed_pid.kp *( exp_z_speed - h_speed ) *T; wz_speed_pid_v.err_i = LIMIT(wz_speed_pid_v.err_i,-Thr_Weight *300,Thr_Weight *300); wz_speed_pid_v.pid_out = thr_lpf + Thr_Weight *LIMIT((wz_speed_pid.kp *exp_z_speed + wz_speed_pid_v.err + wz_speed_pid_v.err_d + wz_speed_pid_v.err_i),-300,300); wz_speed_pid_v.err_old = wz_speed_pid_v.err; }

5.5.4图像信息处理算法

图像的二值化的基本原理:图像的二值化处理就是将图像上的点的灰度置为0或255,也就是将整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于在对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阈值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阈值选取技术来分割该图像。动态调节阈值实现图像的二值化可动态观察其分割图像的具体结果[22]。

在程序中的实现办法如下列程序所示:

基于摄像头循迹的四旋翼飞行器设计29

/*-----图像二值化函数-----*/ void Image_Binaryzation(void) {

int i,j;

for(i=0;i

for(j=0;j

if(Pic_Buff[j][i]

Pic_Buff[j][i]=0xfe; } } }

/*-----图像中值滤波函数-----*/ void Image_Filter(void) {

int i,j;

for(i=0;i

/*-----寻找黑线位置函数-----*/ void Get_Black_Line(void) {

u8 i,j;

for(i=0;i<60;i++) { for(j=79;j>2;j--) // { if((Pic_Buff[j][i]==0x00)&&(Pic_Buff[j-1][i]==0x00)) {

Black_Line[i]=75;

Search_Cnt++;

break;

}

基于摄像头循迹的四旋翼飞行器设计30

elseif((Pic_Buff[j][i]==0xfe)&&(Pic_Buff[j-1][i]==0xfe)

&&(Pic_Buff[j-2][i]==0x00)&&(Pic_Buff[j-3][i]==0x00))

{

Black_Line[i]=j-2; Search_Cnt++; break; } else Black_Line[i]=0; } } }

/*-----黑线位置处理函数,获取中心值----*/ void Black_Line_handle(void) {

u8 i;

for(i=0;i<60;i++) { middle_dot+=Black_Line[i]; } middle_dot=middle_dot/Search_Cnt; }

5. 6小结

本章首先总体讲解了程序的设计,接着介绍了软件的开发工具,后面介绍了程序工作的流程,然后介绍了各个模块的初始化,最后讲述了本毕业设计所用的核心算法。

基于摄像头循迹的四旋翼飞行器设计31

6 系统调试

6.1软硬件调试

在完成硬件设计和制作以及程序编写后,要进行整个四旋翼飞行器的调试,以检测系统的稳定性及有效性, 整车调试的顺序为:先调试硬件后调试软件,硬件调试主要包括机械调试和电路调试,确保硬件工作正常后再调试软件部分;软件调试除了调试单片机的现有模块之外就是修改控制程序以及算法参数,大多数情况下两者需要结合起来调试。硬件调试的顺序为:先对电源电路、电机驱动进行调试,接着是调试用于高度检测的超声波模块、摄像头模块、加速度传感器、陀螺仪模块。机械调试包括机架的安装,无刷电机的安装,各个模块间的接线,电子调速器,摄像头,超声波模块的放置位置,尽量保证四旋翼飞行器各个地方重量均匀。电源电路:电源电路是系统能够工作到关键,开机就要检测各部分电源供电是否正常,包括电源供电、5V供电、3.3V供电。

6.1.1电源电路调试

在根据电路原理图完成电路焊接后,再对照电路原理图检查一遍,主要检测电路所用电阻的阻值,电容的容值,器件型号是否选对,器件间连线是否正确,检查无误后通电测试,用万用表的直流电压档测试电路输出是否符合设计目标,检查结果如下图所示,其中图6-1为3.3V电路的测试结果,比设计目标高0.02V,可以正常使用,图6-2为5V电路的测试结果,比设计目标低0.05V,可以正常使用。

图 6-1 3.3V 供电检测结果图

基于摄像头循迹的四旋翼飞行器设计32

图 6-2 5.0V 供电检测结果图

6.1.2摄像头调试

调试过程中出现的问题,图像分成上下两幅图像,如图6-3所示。

原因分析:没处理好场中断信号,没有严格根据场中断信号开始采集每帧的数据,就会出现采集到一张图片里由上下两张图片错位构成:上半张图是前一张图片的底部,下半张图是这张图片的顶部。或者场中断来了后,先处理太多东西,然后才开始采集,导致跳过了开头的数据,后续采集的时候又根据采集的行数来判断是否停止采集,就恰好采集到下一张图像的开头。

解决措施:仔细分析信号的时序,处理好场中断信号,严格按照时序按照场中断信号采集数据,修改后问题解决。

图6-3图像分成上下两幅图像

基于摄像头循迹的四旋翼飞行器设计33

调试过程中出现的问题:采集到的图像分成左右两半类似镜像对称的图片,而且中间有消隐区。如图6-4所示。

原因分析:读取行的数目太多,或者中间延时太久,导致读取一行变成的读取两行。 解决措施:网上查资料,查阅飞思卡尔摄像头组的相关技术报告,仔细分析信号的时序,读取相应的数据,处理好延时时间,仔细根据时序按照场中断采集数据。修改后问题解决。

图6-4图像左右两半相同且中间有消隐区

6. 2通用排故方法

任何一个系统不可能一次就调试成功,需要进行无数次的实验和修改才能慢慢完善,在此调试过程中会出现各种各样无法预料的问题。该四旋翼飞行器通常会出现电机不转、超声波模块测不出距地面高度、摄像头模块采集不到图像信号、无法实现循迹等诸多问题,要解决以上问题,则需要用到不少排故方法。

排故工具主要有:万用表、示波器、无线数传模块和稳压源等等。一般方法有: 1) 波形分析法,看超声波模块输出波形是否方波且符合数据手册的波形; 2) 电压、电流测量法,看电压、电流的大小是否在正常范围之内; 3) 电阻测量法,看内阻是否变大;

4) 信号输入法,给单片机一个信号,看其是否反映。

故障排除要遵循一定的顺序:首先要明确故障范围,到底是软件出现问题还是硬件 出现问题,是电路问题还是电池供电不足等等;然后看元器件是否有损坏,问是否有烧焦味,如果有烧焦味则立即关掉,轻触芯片是不是发热,如果是要立即断电,检查出问题原因所在,排除故障后,再换一块芯片看系统是否正常工作,元器件一般不会太

基于摄像头循迹的四旋翼飞行器设计34

热也不会太凉,芯片如果经常发热,则说明电路设计不合理,需要重新设计电路,特别要考虑到电路的电流范围。

6. 3 小结

本章主要讲述了本毕业设计在制作过程中所用到的软硬件调试方法,遇到问题后的解决措施,最后讲述了硬件调试过程中一些通用的排故方法。

基于摄像头循迹的四旋翼飞行器设计35

7参考文献

[1] 谷永晟,杨建军,朱宇虹.四旋翼无人飞行器导航控制系统研究[V].遥测遥

控,2012,3:68-73.

[2] Cygnal IntegratedProducts,INC.著,潘琢金,孙德龙,夏秀峰译.C805IF单片机应用解析.

北京:北京航空航天大学出版社.2002.

[3] 宋子善,沈为群.无人直升机综合控制系统设计.北京航空航天大学学报.1999,25

(3):233-243.

[4] 王俊生.四旋翼飞行仿真器的建模及控制方法的研究[D].长沙:国防科学技术大学,

2007.

[5] 万文海.低雷诺数下昆虫飞行机理研究.东南大学,2009.

[6] 姜长生,郭树军等.一种直升机的组合智能飞行控制系统的设计.南京航空航天大学学

报.1999,2.

[7] 朱书峰.微型飞机设计相关技术关键问题的研究与探讨.西北工业大学.2005. [8] 张晓东编著.无线电遥控模块、组件及应用.北京:新时代出版社.2001. [9] 魏丽文.四旋翼飞行器控制系统设计[D].哈尔滨工业大学.2010:12-13.

[10] 岳基隆,张庆杰,朱华勇.微小型四旋翼无人机研究进展及关键技术浅析[J].电光与控

制,2010,10(4):55-61.

[11] 杨明志.四旋翼飞行器自动驾驶仪设计[D].南京:南京航空航天大学,2008.

[12] 吴怀宇,周兆英,熊沈蜀,王晓浩,叶雄英,李勇.微型飞行器的研究现状及其关键技术

[D].武汉科技大学学报(自然科学版)2000,2:170-174

[13] 朱书峰.微型飞机设计相关技术关键问题的研究与探讨.西北工业大学.2005,8:14-16 [14] 聂博文.微小型四旋翼飞行器的研究现状与关键技术[J].电光与控制,2007,6:113-117. [15] 袁昌盛,付金华.国际上微型飞行器的研究进展与关键问题[J].航空器, 2005, 12(6) :

50-53.

[16] 王坤兴.无人机正在走向民用领域[J].机器人技术与应用,1999,04:26. [17] 陈军.开发消防型民用无人机大有可为[J].航空科学技术,2004,1:37-39.

[18] 晏磊,吕书强,赵红颖,张雪虎等.无人机航空遥感系统关键技术研究[J].武汉大学学报

(工学版),2004,37(6):67-70.

[19] http://www.jdbpcb.com/circuit/3252.html

[20] http://download.csdn.net/detail/u011529809/5851565

[21] 江杰.四旋翼飞行器建模与PID控制器设计.电子设计工程.2013

基于摄像头循迹的四旋翼飞行器设计36

致谢

毕业设计已经接近了尾声,这也意味着我的大学生活马上就要结束了,四年的大学生活一晃而过,回首过往的岁月,心中十分充实,当我写完这篇毕业论文的时候,有一种如释重负的感觉,感慨良多。

首先,我要特别感谢我的指导老师任晓明老师。本毕业设计的研究、设计和写作都是在我的导师任晓明老师的悉心指导和全力支持下完成的。在我的学业、工作和生活中任老师都倾注了大量辛勤的汗水和心血。做设计的过程是艰辛的,但是在我的努力之下还是完成了。在这次毕业设计中,我学会了对本专业所学的一些理论知识的应用,学会了在应用中发现问题和解决问题的方法,加深了对专业知识的撑握和理解,所取得的这些进步都与老师们的仔细、耐心指导分不开。每次遇到难题,我最先做的就是向任老师寻求帮助,而任老师每次不管忙或闲,总会抽空来找我面谈,然后一起商量解决的办法。任老师平日里工作繁多,但我做毕业设计的每个阶段,从选题到查阅资料,论文提纲的确定,中期论文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导。这几个月以来,任老师不仅在学业上给我以精心指导,同时还在思想给我以无微不至的关怀,在此谨向任老师致以诚挚的谢意和崇高的敬意。从任老师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理,自强不息,追求卓越,认真细致,精益求精。在任晓明老师的统筹和指导下,我们参加了全国大学生电子设计竞赛。任老师的智慧和勤奋对我感触颇深。两年的学习与生活,汲取着任老师的谆谆教导,对我终生有益,他的平易近人让我倍感温暖, 在此对任老师表示深深的感谢。

本设计的顺利完成,离不开我们一起参加全国大学生电子设计竞赛的队员罗桢的辛勤努力与帮助, 感谢你们一路上的陪伴而鼓励,和你们一起四旋翼飞行器,既收获了知识也获得了快乐。在日常生活和学习过程中孙福龙、杨来斌师兄给予我大量帮助,此外,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!

在本次毕业设计过程中,我收获颇丰。虽然在之前也参加了全国大学生电子设计竞赛的四旋翼飞行器组,这一次在之前的基础上加以改善和创新,又一次巩固了基础知识,开拓了思路,开阔了视野,这一次毕业我也付出了很大心血,趴在实验室的地板上调试、连续吃盒饭,也许我现有的知识还不够丰富,考虑问题也不够全面,但我尽了最大的努力,相信这份经验会伴我一生,而付出的心血也终会有收获。

再次衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!

本文来源:https://www.bwwdw.com/article/fker.html

Top