基于OpenCV的视觉定位四旋翼无人机

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第35卷 第4期 福 建 电 脑 Vol. 35 No.4

2019年4月

Journal of Fujian Computer

Apr. 2019

———————————————

本文得到浙江省大学生科技创新活动计划项目(No.0618026)资助。刘新泽,男,1998年生,主要研究领域为电子信息方向。E-mail: 1145655900@ 。 刘靖宇,男,1993年生,主要研究领域为电子信息方向。 E-mail: 346875661@ 。 钮杨洁,女,1998年生,主要研究领域为电气工程及其自动化。 E-mail: 1403390414@ 。杜智文,男,1995年生,主要研究领域为计算机方向。E-mail: 1009963012@ 。丁建鑫,男,1996年生,主要研究领域为电子信息方向。 E-mail: 1194173858@ 。

基于OpenCV 的视觉定位四旋翼无人机

刘新泽 刘靖宇 杜智文 钮杨洁 丁建鑫

(同济大学浙江学院电子与信息工程系 浙江 嘉兴 314051)

摘 要 本论文所制作的无人机由以下两个核心部分组成,其一是以TM4C123G 单片机为飞控的核心部分,其二是以安装有OpenCV 库的树莓派为视觉识别的核心部分。系统通过树莓派(图像处理器)检测周围环境,获得当前飞行器的位置以及偏离目标位置,将位置数据传回飞控芯片,再经过飞控的核心参数计算处理,矫正自身的姿态,或者偏移角度以达到指定目标位置。

关键词 单片机;树莓派;OpenCV ;视觉定位;设计制作 中图法分类号 TP302.1 DOI:10.16707/ki.fjpc.2019.04.034

OpenCV-based Visual Positioning Four-Rotor UA V

LIU Xinze, LIU Jinyu, DU Zhiwen, NIU Yangjie, DING Jiangxin

(Department of Electronic and Information Engineering, Tongji Zhejiang College, Jiaxing, China, 314051)

1 引言

多旋翼无人机已经有一百多年的历史,四旋翼作为小型多旋翼无人机的一种,也已经存在超过二十五年。因其易用性、开放性和安全性,具有广泛的民用和军用价值。OpenCV 是一个基于BSD 许可(开源)发行的跨平台计算机视觉库,拥有超过400个免费的图像处理函数,涉及面广泛,而且其中的算法易理解且能达到很好的效果。从图像处理到模式识别、从静态图像到运动视频、从二维平面到相机的三维标定以及三维的重建都可以利用四旋翼无人机。

目前市面上大部分无人机均是通过接收GPS 信号进行定位,而这种定位方式虽有很多好处,但也存在着很大的弊端。如果在室内或者偏远地区等,GPS 信号弱甚至没有信号的时候,无人机就不能进行准确定位,容易失控,进而发生安全事故。本文所设计的基于OpenCV 的视觉定位四旋翼无人机在于若无人机能自主进行视觉定位,则可有效避免此情况的发生。

2 系统方案设计

该四旋翼的设计框架如图1所示,包括主控芯片TM4C123G 和树莓派(含OpenCV 数据库)、mpu6050

、超声波模块、摄像头。通过硬件设备之间的相互连接,将飞行姿态、高度、水平位置汇总至主控芯片实现矫正自身的姿态,或者偏移角度以达到指定目标位置。

图1 系统设计框架

98 福建电脑2019年

2.1飞控核心部分

根据设计方案,综合对比了目前比较常用的芯片,结合性能与成本等多重考虑,决定选取高性能的TM4C123G作为飞控核心的主控芯片,MPU6050作为调整四旋翼姿态的MEMS传感器,超声波作为其高度传感器。开展了大量的软硬件调试与验证,设计和制作了飞控电路板,作为飞控核心部分的基础。并以此编写了飞行控制算法。

利用PID控制进行姿态调整,PID 控制具有结构和原理简单、易于实现、实用性强、鲁棒性较好等优点,是使用最广泛的一种控制率[1]。

在飞控核心部分中,综合了各传感器的优缺点,对其数据进行数字滤波处理后,利用卡尔曼滤波算法对无人机进行姿态的最优估算,实时为飞控提供无人机的姿态信息。并在MATLAB中进行仿真行,验证算法。然后将程序移植到飞控板中进行调试与相应的飞行验证。既可以降低因程序问题导致的不必要损失,又可以得出一套精准的飞行控制系统。

2.2视觉核心部分

OpenCV是一个开源视觉库,功能强大的同时,运算量也是巨大的。考虑到市面上大部分主流的微控制器运行困难,所以使用基于ARM的微型计算机(树莓派)用以搭载并运行OpenCV视觉库。配合使用500万像素的摄像头,用于实时采集无人机所处坏境的图像。

图像的二值化在图像处理中占有极其重要的作用,用来获取某些图像中需要的信息[2]。在处理彩色图像时先对图像进行灰度化减小图像的复杂度,减少图像后续处理的计算量[3]。对于标记物体的识别,先进行高斯滤波,再进行均值滤波,然后进行边缘检测也就是canny,最后进行霍夫变换。

当摄像头采集图像后,对其获取的图像进行均值滤波算法处理,目的是抑制电气元件或者环境因素引起的噪声,平滑图像。均值滤波算法,也叫邻域平均算法。其基本原理是将某一指定大小窗口内的像素进行排序,然后将获取到排好序序列的中值替换给窗口的中间像素[4]。领域平均法的优点是处理方法简单且计算速度快,适合于实时传输的使用。

对于标记物体的识别,本系统采用Canny边缘检测,先找出所有可能的边缘信息,再运用OpenCV 提供的find Contours函数将边缘信息转化为轮廓信息,最后再对其轮廓信息进行分析处理,找出标记物体。与该目标物体的识别还有一种方法是采用阈值算法分割出特定灰度值范围内的物体,但该算法受光照影响较大,而边缘检测受光照影响较少,因此Canny采用边缘检测算法[5]。通过超声波模块回传高度的信息,最终确定无人机的所在方位,并将信息反馈给飞控系统,调整相应的飞行姿态。

3总结

本文所设计的四旋翼无人机系统总体框架如下图2所示。

图2 系统总体框架

在GPS定位的基础上,增添了基于OpenCV的视觉定位,极大地提高了四旋翼无人机的稳定性、安全性以及易用性。并在实验楼的测试场地内,测试成功,实现了在没有GPS信号情况下对目标的精准定位,并飞行平稳。不过目前使用局限性很大,仅适用于一定范围的空间内,有待于进一步的研究。

参考文献

[1] 李炜.无人机飞行PID控制及智能PID控制技术研究[硕士学位论文].

南京理工大学,南京, 2004

[2] 郭佳, 刘晓玉, 吴冰, 付晓薇. 一种光照不均匀图像的二值化方法.

计算机应用与软件,2014,31(03):183-186,202

[3] 徐以美,郭宝龙,陈龙.基于RGB颜色空间的减背景运动目标检测.计

算机仿真,2008(03):214-217

[4] 黄宝贵, 卢振泰, 马春梅, 等.改进的自适应中值滤波算法. 计算机

应用, 2011, 31(7):1835-1837

[5] OpenCV单目视觉定位(测量)系统.CSDN博客,

https:///chenmohousuiyue/article/details/56300915,2017

相关文档
最新文档