APP下载

基于OpenMV的远程抛射系统设计与实现

2022-03-11李嘉明温梓南冯建徐操喜

电脑知识与技术 2022年1期
关键词:机器视觉舵机

李嘉明 温梓南 冯建 徐操喜

摘要:该文结合机器视觉技术和电子控制技术,设计了一款基于OpenMV的远程抛射系统。该系统包括直流降压电源模块、OpenMV模块、舵机模块、电容充放电模块、继电器模块,系统能识别摄像头所拍摄图像内的目标色块,并自动完成抛射方向的校准和弹丸的发射。实验数据表明,抛射炮口与目标参考点在水平方向上分别偏移了15°、30°、45°时,系统均能完成自动追踪,并能精准抛射到预定目标点。

关键词:机器视觉;电子控制;OpenMV;舵机;自动追踪

中图分类号:TP301      文献标识码:A

文章编号:1009-3044(2022)01-0131-03

常规物体抛射器发射装置的动力来源于火药燃气或压缩气体,采用这种动力进行抛射,存在着安全系数低、动力输出不可控等问题。电磁炮可以利用电磁能推动物体运动[1],在动力抛射器中用电磁驱动方式代替压缩气体或者火药燃气,能显著提高安全性能。与传统的火药推动的大炮相比,电磁炮可大大提高弹丸的速度和射程。

目前,国内的电磁炮技术正在逐渐发展,但是仍存在精度不够等问题[2]。设计小型化、便携式的智能电磁炮,具有一定的现实意义[3-5]。本文主要对模拟电磁炮的控制系统进行研究,运用图像处理的相关方法,扫描并识别摄像头监控范围内的目标,实现电磁抛射器自动、精准地锁定抛射方向。

1 系统总体设计

系统总体设计可分为抛射系统机械部分的设计和硬件控制部分的设计。

机械设计部分由缠绕了若干线圈的PVC管、亚克力材质的支架、磁性弹丸组成。这种电磁炮属于线圈炮,以同步线性马达的方式将磁性抛射物加速到极高的速度,炮管内的弹丸获得足够大的动能并被发射出去。

硬件控制部分由直流降压电源模块、OpenMV模块、舵机模块、电容充放电模块、继电器模块组成,设计框图如图1所示。其中,OpenMV模块的主控芯片是STM32F767,并且板载一个摄像头,摄像头能够实时读取当前所拍摄的画面,主控芯片检测到后,识别目标并计算目标点坐标轴偏移量,输出PWM驱动舵机转动,摄像头也随之转动,当摄像头对准目标参考点后,主控芯片输出控制信号改变继电器的状态,触发大电容放电,使绕制在PVC管上的线圈产生交变电流,从而将弹丸发射出去。

2 系统硬件设计

2.1 直流降压电源模块

直流降压电源模块负责为OpenMV模块、舵机模块、继电器模块供电,将9V电池提供的输入电压转换成5V输出电压,用作系统的电源。所选的直流降压模块主芯片是广泛应用于航模的电源管理芯片MP1584EN,可分为输出电压可调和输出电压固定两类。本文所选用的直流降压模块属于输出电压固定为5V,输入的直流电压范围为7V-28V。因为模块内有稳压芯片AMS1117,所以输出电压有5V和3.3V两种。

2.2 OpenMV模块

OpenMV是一个开源的机器视觉模块,以STM32F767为主控芯片,拥有丰富的硬件资源,引出UART,I2C,SPI,PWM,ADC,DAC以及GPIO等接口方便扩展外围功能。OpenMV还集成了OV7725摄像头芯片,内置了C语言实现的核心机器视觉算法,并提供了Python编程接口,支持micropython的语法。内置的机器视觉算法包括寻找色块、人脸检测、眼球跟踪等,可用来实现非法入侵检测、产品的残次品筛选、跟踪固定的标记物等应用场合。在OpenMV开发板上进行开发无须专用的下载器和调试器,板上的USB接口可用于连接电脑上的集成开发环境OpenMVIDE,协助完成编程、调试和更新固件等工作。

2.3 舵机模块

舵机模块的型号是mg995,属于数码舵机,工作电流100mA,工作电压3V-7.2V,工作扭矩为13kg/cm,具有三根输出线,分别是接电源正极、电源负极、信号线。信号线与单片机的I/O引脚相连接,接收单片机发出的PWM控制信号。舵机的控制一般需要一个20毫秒的时基脉冲,该脉冲的高电平部分一般为0.5毫秒~2.5毫秒。高电平部分持续的时间越长,则占空比越大,舵机转动的角度也越大。因此,通过控制单片机I/O引脚输出不同占空比PWM信号,可以驱动电机转动不同的角度,以达到调整炮管指向的目的。

2.4 继电器模块

本系统采用工作电压为5V的电磁继电器,来实现对电磁炮弹丸发射的控制需求。OpenMV模块的一个输出引脚经过限流电阻接入三极管的基极,当该输出引脚输出低电平时,三极管基极的输入电压趋近于0V,三极管截止,继电器线圈无电流流过,继电器处于释放状态。反之,当控制引脚输出高电平时,三极管导通,此时足够大的电流流过继电器线圈,继电器衔铁处于吸合状态,改变输出端触点的连接,从而使大电容放电,弹丸瞬间获取足够大的动能发射出去。

2.5 电容充放电模块

电容充放电模块上有两个按键,分别是S1和S2,使用单独的电池给大电容提供电能,配合直流升压电路完成大电容的充电过程。充电时,需按下开关按键S1导通电路,大电容开始充电。当大电容充满电后,可使用手动控制或者自动控制启动大电容的放电过程。手动控制即按下按键S2,大电容迅速放电为线圈充能,使炮管中的弹丸获得足够的动能而发射出去。自动控制是结合OpenMV和继电器模块来完成,发射弹丸时OpenMV改變相应输出引脚的电平信号,改变继电器触点的接通状态,实现与手动按下按键S2相同的效果。

3 系统软件设计

3.1 系统软件总设计

系统软件总体设计流程图如图2所示,系统上电后,首先进行各模块的初始化,包括舵机控制引脚的配置、感光模块sensor的配置、关闭自动白平衡等操作。模块初始化完成后系统进入目标识别的阶段,OpenMV摄像头采集图像数据并发送给主控芯片处理,若目标识别不成功,则重新进行目标识别,否则进入姿态调整阶段。在姿态调整阶段,OpenMV将会根据目标识别阶段计算的偏移量换算成偏移的角度值,再转换成相应的PWM信号输出,驱动舵机转动,使得摄像头对准目标参考点。

3.2 目标识别

采用圆形色块模拟目标点,参考点为圆形色块的圆心,将色块置于摄像头能拍摄的范围内,OpenMV实时获取摄像头所拍摄的图像,目标识别阶段的软件流程图如图3所示。首先,设定色块的阈值,使用的颜色模型是Lab,L表示颜色的亮度,a和b是色彩通道,a值越大,越接近红色,负数a值越小,颜色偏绿,b值越大,越接近黄色,负数b值越小,颜色偏蓝,分别设定L、a、b的最小值和最大值,图像中的色块颜色只有在所设定的最大值和最小值区间,才会被当作有效色块进行处理。随后迭代寻找图像中的最大色块,计算出最大色块的圆心坐标和修正参数,完成目标的识别。

3.3 姿态调整

OpenMV识别到有效色块后,便会运行姿态调整的程序,根据目标识别阶段得出的修正参数,判断是否需要发送转动舵机的指令以及转动的度数,程序流程图如图4所示。首先设定PID算法的参数,PID是比例、积分、微分的缩写,将偏差的比例P、积分I和微分D通过线性组合构成控制量,用这一控制量对被控对象进行控制。合理地设置PID算法中各个环节的参数,可以避免控制过冲或不足的现象,并且达到较理想的响应速度。结合PID算法,将修正参数转换成相应的PWM波驱动舵机转动。

4 系统测试

系统软硬件开发完毕后,将各部件组装调试,实物图如图5所示。

为测试系统自动识别目标的有效性和发射弹丸击中参考点的准确性,设计了如下实验。在距离摄像头50厘米处竖直放置了打印有圆形色块的纸张,摄像头与炮口的方向一致,当摄像头在水平方向上正对色块中心时,认为系统与目标点水平偏移的角度为0度。设计对照实验,纸张上的色块均为颜色相同且直径为13厘米的圆,设置摄像头与色块中心的水平方向上的偏移角度分别为15°、30°、45°,在每一种偏移角度下,运行系统使得OpenMV自动识别并转动舵机与色块中心点对齐,对齐后驱动继电器将充满电的电容放电,发射弹丸,每种偏移角度测量三次,记录落在色块纸张上弹丸的落点与圆心的距离,实验结果如表1所示。

从表1的结果中可知,不同偏移角度经过OpenMV的自动识别追踪之后,所发射的弹丸均落在圆形色块内,落点偏离圆心的距离均在4.7厘米以内,小于色塊的半径6.5厘米。在摄像头与目标色块偏移不同角度的情况下,系统均能自动完成目标的自动追踪和精准射击,系统功能达到预期要求。

5 结束语

本文设计并实现了自动追踪目标的模拟电磁炮系统,借助OpenMV以及Python的图像处理库识别图像中的目标,根据预存的Lab颜色模型阈值判断是否为目标色块,识别到目标色块后提取出目标的横纵坐标的位置信息,并最终换算成舵机转动的修正参数。实验数据表明,本系统能有效地识别圆形色块、控制舵机转动、发射模拟电磁炮弹丸,对新型动力抛射系统的发展具有一定的参考价值。

参考文献:

[1] 苏瑞,于浩,周沛泽,等.基于openmv的电磁炮智能控制系统[J].科技视界,2019(30):47,50.

[2] 徐靖琛,匡迎春,王豪杰.模拟电磁曲射炮射击智能控制系统[J].现代计算机,2019(34):28-31,40.

[3] 黄佳琪,王善伟,毛凌青,等.智能模拟电磁炮控制系统设计[J].电脑知识与技术,2020,16(5):225-226.

[4] 林政宇,王福杰,秦毅,等.基于OpenMV视觉伺服的高精度电磁炮实验装置系统[J].中小企业管理与科技(中旬刊),2021(4):182-183.

[5] 刘赛南,李东升,何月阳,等.智能扫描定位电磁炮设计[J].科学技术创新,2020(31):79-81.

【通联编辑:唐一东】

收稿日期:2021-10-15

基金项目:一种新型动力的救援物资抛射器研究与实现(校级科研课题)

作者简介:李嘉明(1993—),男,广东梅州人,硕士,研究方向为物联网技术;温梓南(1998—),男,广东番禺人,大专,研究方向为物联网技术;冯建(1983—),男,广东高州人,实验师,硕士,研究方向为嵌入式与自动控制;徐操喜(1983—),男,安徽潜山人,讲师,硕士,研究方向为物联网技术、职业教育。

3600500338278

猜你喜欢

机器视觉舵机
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于LabWindows/CVI的导弹舵机测控系统设计
基于高速同步485总线通信的多通道舵机控制器设计
全自动模拟目标搜救系统的设计与实现
基于机器视觉的自动浇注机控制系统的研究
大场景三维激光扫描仪在研究生实践教学培养中的应用
基于机器视觉技术的动态“白带”常规检测系统的开发
机器视觉技术在烟支钢印检测中的应用
菜鸟看模型