树人论文网一个专业的学术咨询网站!!!
树人论文网

基于OpenMV的循迹无人机设计

来源: 树人论文网发表时间:2020-08-24
简要:基于OpenMV机器视觉模块进行目标识别算法的研究。利用图像的滤波、二值化等算法对摄像头采集的图像进行预处理;利用边缘检测和形状识别算法获得引导线的路线信息,拟合计算得到无

  基于OpenMV机器视觉模块进行目标识别算法的研究。利用图像的滤波、二值化等算法对摄像头采集的图像进行预处理;利用边缘检测和形状识别算法获得引导线的路线信息,拟合计算得到无人机正面方向与地面轨道路线的转向角度; 将该角度数据传输给STM32控制无人机实现寻迹行驶。

电子世界

  本文源自《电子世界》 2020年第4期175-176,共2页《电子世界》杂志由中国电子学会主办,创刊于1979年,读者遍及全国30个省、市、自治区。本刊全方位推崇E时代大众电子科学意识,传播电子与信息领域的新知识、新技术,发表最新科研成果和展示技术进展状况,始终注重扶持学术新人,尤其关注广大青年科技工作者,优先发表理工科青年教师和研究生中的优秀学术稿件。

  目前自动循迹无人机的研究取得了极大的发展,我们研制了一种基于openMV的自动循迹无人机。其主要功能是实现针对地面上的黑线自主飞行。循迹无人机是一个集有环境感知、规划决策、自主飞行等功能于一身的光机电一体化系统(刘杰,蒋沁宏,基于OpenMV的寻的赛车,电子技术与软件工程,2018年第14期)。目前,循迹无人机已在许多行业得到广泛应用。本文利用 OpenMV机器视觉模块进行图像采集与处理,通过 STM32模块控制无人机实现自主循迹飞行。

  1 控制工作原理分析

  1.1 OpenMV

  OpenMV是一个开源,低成本,功能强大的机器视觉模块。以STM32F427CPU为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上高效地实现了核心机器视觉算法,提供Python编程接口。OpenMV采用的STM32F427拥有丰富的硬件资源,可用于扩展UART,I2C,SPI, PWM,ADC和 GPIO等接口。带有Micro Python解释器的OpenMV可以提供的Python语言机器视觉,包括寻找颜色,面部检测,眼睛跟踪,边缘检测等功能。

  1.2 STM32

  STM32是由意法半导体推出的一款基于 ARM Cortex-M 系列内核的高性能32 位单片机。STM32微控制器包括一系列 32位产品,集高性能、实时功能、数字信号处理、低功耗与低电压操作等特性于一身。

  1.3 无人机整体结构

  该循迹无人机控制部分采用STM32为主控芯片,以飞控模块、OpenMV模块、动力模块构成硬件系统。数字摄像头将无人机采集的图像信息传给OpenMV模块进行处理,将无人机控制在合理运动速度内。经过一系列算法,输出无人机应该移动的距离, 通过串口通讯,将控制信息传输给STM32 主控板, 控制电机速度。整体结构图如图1所示。

  2 系统软件设计

  2.1 图像预处理

  图像采集或传输过程产生噪声干扰直接影响了后面我们的分析,改善图像数据,抑制不需要的变形或者增强某些对后续处理重要的图像特征,要求我们在对图像进行识别与检测时要对采集的图像进行预处理。

  2.1.1 图像灰度化

  图像灰度化的处理就是对这个像素点矩阵的操作,只要在这个像素点矩阵中找到这个像素点的位置,灰度图像上每个像素的颜色值又称为灰度,指黑白图像中点的颜色深度。所谓灰度值是指色彩的浓淡程度,灰度直方图是指一幅数字图像中,对应每一个灰度值统计出具有该灰度值的象素数,也即灰度值,在OpenMV视觉模块中包含灰度化的算法函数。

  2.1.2 图像滤波

  噪音,这主要由于平时的工作和环境引起的,图像滤波可以在保证细节的情况下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作。

  2.2 直线寻迹识别

  巡线时,采用拟合识别条纹边缘方法,使用简单角度和距离的计算方法。返回条纹底色边界线的拟合直线,此函数的计算结果为拟合直线距离画面左边界距离和中心线的偏离角度。当检测到条纹边界的时候,会计算拟合出条纹边界的直线。

  由OpenMV采集的图像经图像滤波后,对图像进行色块检测(张毅,高进可,王琪 等,视觉导引智能车的自适应路径识别及控制研究,测控技术, 2017年第11期23页)和二值化图像处理,寻找到引导线,之后对引导线进行回归处理(刘义亭,董梦超 等,基于OpenMV的目标跟踪系统设计,南京工程学院学报(自然科学版),2019年第 3期),得到该引导线的直线参数,判断是否匹配到直线,若没有匹配到,则放弃该帧图像,返回上一步,取出下一帧图像;若匹配到了,则计算出该直线与无人机的偏角,转换成无人机应该转角的角度。通过串口将对应的数据帧发送给飞控,在飞控端再进行帧格式解析,得出对应的数据后,再进行飞机相应的姿态调整(梅妍玭,傅荣,基于openMV的小车定位系统研究,扬州职业大学学报,2017年第12 期)。程序流程如图2所示。

  2.3 圆点寻迹识别定特定颜色的原点时,运用颜色识别函数返回色块其中心坐标即可。对于不同的颜色的色块,需要实地测试得到不同的阈值。这里的返回值为圆点中心坐标、像素大小和标志位(庄琼云,基于 OpenMV的智能寻迹小车设计与实现,黎明职业大学学报, 2018年第12期)。

  3 结束语

  基于 OpenMV机器视觉模块和STM32控制模块设计了循迹无人机系统,并研究目标识别算法。利用边缘检测和形状识别算法得到的路线信息,拟合计算得到路线与无人机正面方向的转向角度,最后由STM32控制实现了循迹无人机沿引导线快速、稳定地行驶。

  基金项目:2019年江苏省高等学校大学生创新创业训练计划项目“基于OpenMV的自主循迹无人机设计”(课题编号:201912920028Y);2017年度院级课题项目“自动重量稀释仪”(课题编号:NHKY-2017-01)。

  作者简介:吴松元(1998—),男,南京科技职业学院,无人机专业学生;牛宗超(1980—),男,南京科技职业学院,教师。