APP下载

基于图像处理的模拟电磁炮自动打靶系统

2020-11-14堵大伟

计算机技术与发展 2020年9期
关键词:电磁炮舵机射程

张 娟,堵大伟,布 瑾,肖 建,童 祎,何 南

(南京邮电大学 电子与光学工程学院,江苏 南京 210023)

0 引 言

随着科技的不断革新,军事武器的换代越来越快。以火药为代表的传统化学发射技术具有原理上的局限性,难以满足现代军事技术对更高速度、更高效率的追求,很有必要另辟蹊径。电磁发射技术利用电磁力代替火药发射物体,以超高的动能对目标进行杀伤摧毁,是当今世界各军事大国都在竞相发展的一类新概念武器技术[1-2]。电磁炮正是利用电磁发射技术制成的一种先进动能杀伤武器,它利用电磁场产生的洛伦兹力对金属弹丸进行加速,使其获得打击目标所需的动能[3-6]。电磁炮与其他火炮相比具有以下显著特点:弹丸初速高,炮口动能大;射击无声响,无炮口焰;射速高、反应能力强;后勤供应简单,安全可靠等。近年来,对电磁炮理论的验证与研究已经成为一种新的趋势[7-8]。其中主要的工作有:蔡东如[9]提出了一种微型电磁线圈炮的设计与实现方法,利用升压模块与储能电容等成功发射了炮弹。陈鹏旭[10]提出了一种三级加速便携式电磁炮的设计和制作方法,实现了电磁炮更远的发射距离。张荣达[11]提出了基于线圈炮实验对其效率影响因素的研究方法,得出每个影响因素均存在一个最佳值使得线圈炮的效率最大,即一定程度上提高了电磁炮发射效率。然而这些研究主要体现于电磁炮的发射,对电磁炮发射的自动性以及自主性还有明显的不足,无法满足新兴军事技术的需求。

文中基于现有电磁线圈炮的设计与制作方法,针对目前电磁炮射程不易调节、不能对指定物体射击及自动性差等问题,研究了一种基于图像处理的模拟电磁炮自动打靶系统,通过OpenMV识别并定位颜色靶标,根据其与图像中心的像素差值不断调整舵机左右转动,激光测距获取红色目标环形靶与模拟电磁炮的距离,模拟电磁炮驱动电路控制超级电容充放电状态,从而实现模拟电磁炮自主寻找目标并进行打靶。充分验证了电磁炮的发射原理,实现了电磁炮的自动性与智能化。

1 系统整体设计方案

该模拟电磁炮自动打靶系统主要包含图像处理子系统、激光测距子系统以及驱动电路子系统。采用TM4C123GH6PM作为TM4单片机最小系统控制电路,进行各子系统数据的处理与状态的控制。由OpenMV摄像头在其视野范围内定位出红色环形目标靶,TM4单片机获取摄像头返回的目标靶像素值并以此控制舵机云台转向,直至目标靶与图像中心的像素差趋于零。在获取激光测距模块的返回值后,进行电容电压的数据处理与计算,从而控制驱动电路子系统的状态。另外,串口屏控制平台控制整个系统的一键启动,电容电压值在串口屏上实时显示,直观体现出电容电压与模拟电磁炮射程的关系,也一定程度上保障了系统的安全性,防止因充电电压过大而损坏电路。在系统的搭建过程中,应使舵机云台、模拟电磁炮炮筒、OpenMV摄像头、激光雷达摆放水平且其中心在同一条竖直线上,从而保证了炮弹会正对着红色目标环形靶出射。系统的整体结构示意图如图1所示。

图1 系统结构示意图

德州仪器的TivaTMC系列ARM Cortex-M4微控制器具有顶级性能和高级集成功能。适用于需要控制成本,同时又需要大量控制和连接能力的应用,如低功耗手持智能设备、游戏设备、家用和商用监控、工厂自动化等多个领域。另外,TM4C123FH6PM微控制器的优势还在于能够方便地运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。TM4C123FH6PM微控制器代码大多与TivaTMC系列产品线兼容,满足了用户多样性与设计灵活性的需求。该系统主要运用其进行数据的快速准确处理与交互功能。

1.1 图像处理子系统

图像处理子系统主要包含OpenMV摄像头。OpenMV是一种可扩展、开源、低成本、支持Python的机器视觉模块,以STM32F427CPU为核心,集成了OV7725摄像头芯片,引出UART,I2C,SPI,PWM,ADC,DAC以及GPIO等接口方便扩展外围功能。功能强大,大大简化了机器视觉的算法编程,因其操纵的简洁性、程序的完备性、功能的全面性,在颜色识别、形状识别以及目标追踪领域发挥着重要作用[12-14]。在本模拟电磁炮系统中,需要摄像头对目标靶进行识别、追踪并返回像素坐标,故使用OpenMV这种低能耗、高集成、功能完善的摄像头。

模拟电磁炮需对靶进行射击,为了保证炮弹出射方向的准确性,必须要求摄像头在其视野范围内准确识别并定位出红色目标环形靶的位置,像素位置的偏差会影响舵机云台PWM的调节值,导致炮筒与靶中心不在同一条直线上。故OpenMV摄像头在该系统中起着举足轻重的作用。

1.2 激光测距子系统

超声波测距与激光测距均能完成获取模拟电磁炮炮筒与红色目标环形靶距离的功能。超声波测距传感器也可以用于检测距离较远的物体,而且由于它不是光学装置,所以不受颜色变化的影响,但超声波传感器的原理是声速测距,存在一些固有的缺点,在本电磁炮自动打靶系统中,主要有以下影响:

(1)超声波检测的目标必须处于与传感器垂直方位偏角不大于10°角以内。若待测靶标中心与电磁炮炮筒偏离一个小角度即不垂直转态,将会影响实际射程的测量,从而导致脱靶。

(2)超声波传感器不适宜在多风的场合和温度梯度较大的场合。温度梯度较大会造成声速的变化。即对此系统运行的环境要求提出了较高的条件。而激光测距传感器的优势能解决上述所有场合的检测。自1960年世界上第一台激光器诞生后不久,激光测距凭借其方向性高、单色性好、抗干扰能力强等优点,被广泛应用于工业自动化监控、建筑测量等场合[15]。相比于其他光学测距和声波测距,激光能够适应更为广泛的外界环境,并且具有更高的测量精度与更远的测量范围。在本模拟电磁炮自动打靶系统中,进一步提高了打靶的准确性。

激光测距子系统主要包含了TFmini-Plus小型激光雷达模块,实现了模拟电磁炮炮筒与红色目标环形靶的测距功能。激光传感器工作时,先由激光二极管对准目标靶发射激光脉冲,经目标靶反射后激光向各方向散射。部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,因此它能检测极其微弱的光信号。模拟电磁炮射程的测量即可通过光脉冲发出到返回被接收所经历的时间来计算。因为光速较快,需保证时间测量的准确性。将所测的距离通过UART通信串口返回给TM4单片机。

1.3 驱动电路子系统

模拟电磁炮的驱动电路子系统主要由升压模块、超级电容、可控硅、整流二极管、线圈、继电器组成。超级电容对线圈放电时电流较大,采用普通的空气开关比较危险,故这里采用可控硅开关。制作线圈时,将线圈均匀地缠绕在模拟电磁炮炮筒的底部,线圈的匝数影响炮弹的出膛速度,但并不是匝数越多越好,匝数越多,也意味着电阻越大,在放电时产生的焦耳热就越多,造成线圈发热等不必要的能量损失,模拟电磁炮的精度也会大大下降,故需要找到线圈匝数的最佳平衡点。继电器是一种用小电流去控制大电流运作的一种“自动开关”,在本系统电路中通过TM4单片机控制继电器的开与关,起着自动调节、安全保护的作用。

2 模拟电磁炮自动打靶

模拟电磁炮自动打靶程序流程如图2所示。

图2 模拟电磁炮自动打靶程序流程

2.1 OpenMV目标靶定位

准确使用此模拟电磁炮自动打靶系统的关键在于OpenMV摄像头对红色目标环形靶的识别效果,只有正确定位出红色目标环形靶的位置,系统的功能才能继续往下执行。OpenMV摄像头在其视野范围内识别并定位出红色目标环形靶,并将其中心点坐标通过串口传送给TM4单片机,TM4单片机数据解析成功后,计算出其与图像中心的像素坐标差,作为PID调节的输入变量值,并将PID调节的输出值赋给舵机云台的PWM,控制舵机云台转动直至模拟电磁炮炮筒正对红色目标环形靶中心。为了便于直观地判断模拟电磁炮炮筒与红色目标环形靶的位置关系,在炮筒正上方增加了激光笔,舵机云台停止转动时,激光点应在红色目标环形靶的正中心。本系统目标靶定位的具体流程如下:

(1)利用uart.init()函数对串口的波特率、停止位、奇偶校验等进行设置,sensor模块设置感光原件基础参数,使其像素格式为RGB565并回传像素大小为320×240的图像。同时关闭白平衡和自动增益,防止其影响色彩的识别和分辨。设定红色区域的LAB色彩区间阈值,通过实验测试该系统选定(30,100,15,127,15,127)为比较合适的红色区域阈值。

(2)利用img.find_blobs()函数识别图像中所有的红色色块、定位像素点的坐标值并忽略掉像素值小于50×50的区域。为防止外界光线影响,将像素间距十分接近的色块进行合并。在本系统中只需要识别出一种红色物体即红色环形靶标,通过色块像素面积的比较筛选出面积最大的红色色块,利用img.draw_rectangle()函数将其用矩形框在显示界面上框出来,并用白色十字标出矩形框中心,以便后续调节OpenMV摄像头中心、炮筒中心、激光点中心三点交汇。

(3)在串口通信中,采用“帧头+数据+帧尾”的数据格式发送给TM4单片机,便利了TM4单片机的数据解析,提高了数据传送的准确性。为避免十六进制数据返回给TM4单片机时发生溢出,需将回传的像素坐标值取中值,TM4单片机接受时将数据加倍即可。这样,TM4单片机便获取了靶标中心的像素点坐标,将其与图像中心X方向的像素值做差,即得到调节舵机云台转动的像素差值。

(4)在固定系统机械装置时,使激光点正对红色目标环形靶中心,表示此机械装置在竖直方向上准确固定,舵机云台只需左右转动寻找目标靶。调节舵机云台左右转向时,像素差作为PID控制器的输入变量,经过PID控制器的P、D控制因子对舵机云台的PWM进行调节,合适的比例调节和微分调节可以实现舵机云台在定位出靶标后,稳定的向左或向右转动,直至像素差趋于零,直观上体现出来的是激光点在红色目标环形靶正中心,表示炮弹会正对着靶标中心出射。其中,P、D值需通过多次实验选择出最佳值,使得系统装置更加灵活、有序、稳定。

2.2 电容充电电压计算

在舵机云台停止转动后,代表电磁炮炮筒正对着目标环形靶,代表此系统通过OpenMV摄像头已经定位出红色目标环形靶的具体方向与准确位置。此时激光雷达的测距值便是红色目标环形靶距炮筒的水平距离,即获取了所需的模拟电磁炮的射程。单片机读取激光雷达测距值,为保证数据的准确性,可多次测量取距离的平均值。模拟电磁炮射程获取后,超级电容开始充电。因为电容充电电压是关于模拟电磁炮射程的一次函数即任一充电电压值有唯一确定的电磁炮射程与之对应,根据预先拟合好的模拟电磁炮射程与电容充电电压的关系曲线,可以获取电容两端的理论充电电压值。在给电容充电的过程中,软件设计若电容充电电压值达到所需阈值,停止充电,随即开关控制模拟电磁炮放电,在电磁力的作用下炮弹出射。其中,拟合电容充电电压与模拟电磁炮射程的关系曲线方法如下:

(1)电容充电电压值可达到四百多伏,由于TM4单片机采集电压值大小的限制,将两个串联在一起且比例适当的电阻并联于储能电容两端,其中较小电阻的阻值不能超过TM4单片机采集电压的阈值,即起到一个良好的分压作用。TM4单片机采集其中较小电阻的电压值,并通过两个串联电阻的比例关系计算得出实际储能电容两端的电压。

(2)按固定间隔如5 V依次增加储能电容两端电压,在每一个电压值下发射三次模拟电磁炮,测量模拟电磁炮射程并获取平均值,记录实验数据。

(3)获取一组实验数据后,运用Matlab根据离散的储能电容两端电压与模拟电磁炮射程之间的关系拟合出所需曲线。

拟合的曲线对模拟电磁炮打靶的准确性至关重要。在拟合曲线时,应控制炮弹大小与质量、线圈发热情况等外界环境变量一致。在追求较高的准确性时,也可多次进行曲线的模拟选取最佳关系曲线。

2.3 驱动电路控制打靶

模拟电磁炮驱动电路示意图如图3所示。12 V电源电压经过升压模块,得到100 V至400 V的连续可变直流高电压,升压模块连续使用时需要注意散热问题,切不可使输出端短路。这里必须注意升压器额定的输入和输出电压必须与直流电源和电容的额定电压匹配,否则容易损坏。此高电压通过整流二极管后给储能电容充电,整流二极管具有明显的单向导电性,可以将交流电能转变为直流电能。这里采用硅整流二极管,其击穿电压高,反向漏电流小,高温性能良好,有利于模拟电磁炮系统高效稳定运行。储能电容采用容量较大的超级电容,超级电容耐压值高,容量大,采用并联的方式可以进一步增大容量,满足了模拟电磁炮远射程时电容高放电电压的需求。

图3 电磁炮驱动电路示意图

放电时,储能电容与线圈组成一个回路,根据麦克斯韦电磁场理论可得变化的电流产生磁场,弹丸获得的强大磁场力将其弹射出。线圈加速原理如图4所示。因此,模拟电磁炮炮弹的射程与线圈的匝数、炮弹质量、放电电压等影响因素的关系可以通过理论值计算出来,但实际结果与理论值的误差很难避免。本系统采用如上述所述的拟合模拟电磁炮炮弹射程与电容充电电压关系曲线的方法进行发射。具有更高的准确度与更好的直观性。

图4 线圈加速原理

电容充放电的详细过程为:

(1)当开关1闭合时,储能电容通过升压模块进行充电,TM4单片机实时检测电阻1的电压值,一旦达到预定值后,停止充电,即断开开关1。

(2)当开关1断开时,电路处于待发状态,由于可控硅开关的阻碍,超级电容不能向线圈放电。可控硅开关起到了很好的保护电路的作用,实现了放电状态人为可控的功能,提高了模拟电磁炮的性能。

(3)接着闭合开关2,可控硅开关被激发导通,超级电容开始向线圈放电,击发弹丸。

(4)开关1、2在程序自动运行状态下通过继电器实现,其中开关1为充电继电器,开关2为放电继电器。另外,本装置额外接有手动按钮,即电容可手动充放电,也保证在紧急情况下电容可以手动放电,增强了系统的安全性。开关的闭合与断开对应于TM4单片机上LED灯的亮灭,增强了系统的直观性。

3 实验结果分析

在本实验中,通过OpenMV摄像头识别红色目标环形靶,不断调整舵机转向直至红色目标环形靶中心与图像中心像素差在误差允许的范围内,激光测距后得到预定电压值,随即超级电容充放电完成打靶。整个过程只需在串口屏上一键启动,也可以通过按键实现,完成了基于图像处理的模拟电磁炮的自动打靶。

调节模拟电磁炮炮筒的俯仰角以及电容充电电压均能改变炮弹射程。在实验过程中,首先测试了模拟电磁炮炮筒俯仰角与炮弹射程的关系,发现对角度测量要求的精确度高,比较小的角度偏差便可能导致射程的较大误差,难度较大。而充电电压的改变较之角度的改变更为直观与准确,故本实验把模拟电磁炮炮筒俯仰角固定在了一个合适角度,只控制充电电压的变化。表1是电容电压与射程实验测量中选取的五组具有代表性的数据结果。

表1 实验测试数据

由实验结果分析可知,由于OpenMV图像处理的加入,红色目标环形靶的定位很准确,实际模拟电磁炮的射程与预期的射程误差很小,表示此系统的精确度较高。另外,在多次打靶之后,线圈会出现一定程度的发热情况,导致模拟电磁炮射程低于理想射程,实验中增加了外接风扇给线圈散热。

4 结束语

现代战争是涵盖多领域、多维度、全时域、高烈度的综合较量。电磁炮是利用电磁技术形成的新概念杀伤武器,在能源利用率以及成本条件上与传统火炮相比具有极大的优势,已成为军事强国研发的重点。加速电磁发射技术的发展已成为各国争夺战争主动权的主要举措之一。基于图像处理的模拟电磁炮自动打靶系统对电磁炮进行了小型化处理,验证了电磁发射的原理,成功改进了现有电磁炮自主性差、可调性差等问题。实验结果显示,该系统完成了对指定目标的高精度自主打靶,具有潜在的应用价值与推广性。

猜你喜欢

电磁炮舵机射程
超凡脱俗的电磁炮
基于速度观测的双余度电液舵机系统容错同步控制
中国电磁轨道炮开始量产?
增大火炮射程的技术策略探究
超音速舵机保护器
雷霆之剑:电磁炮
菜鸟看模型
舵机的应用
朝鲜新火炮覆盖大半韩国?