基于 FPGA 的目标跟踪电磁炮系统

金逸辰,程子昂,宋家俊

 

 

第一部分 设计概论

 

1.1设计目的

视觉目标跟踪是计算机视觉中的一个重要,有着广泛的应用,如:视频 监控、人机交互,无人驾驶等。电磁炮是利用电磁发射技术制成的一种先进 动能杀伤武器。与电磁炮与其他火炮相比具有:弹丸初速高、炮口动能大、 射击无声响、射速高、后勤供应简单、安全可靠等一系列优点。

本装置通过 USB 摄像头获取视频流,借助 FPGA 的高速处理能力通过帧 差法框定物体,对框中心点的运动轨迹进行卡尔曼滤波以预测物体接下来移 动位置,读取框定框大小来判断距离,借助三维位置信息通过 PMOD 模块产 生 PWM 波控制舵机,通过 IO 口传输信号来打开电磁炮继电器的开关来发射 炮弹。目的是为了实现电磁炮的自动目标识别,目标跟踪,在解放人力的复 杂情况下有效的击中目标。

1.2应用领域

应用前景包括:可通过更换不同的弹头使用在各种各样的无人环境下, 如农药投放,药品投放,救灾物资投放,军工等。

1.3主要技术特点

传统运动物体识别一般基于光流法,计算量大,耗时长,对实时性要求 苛刻的情况下并不能适用,且变化的光线会被检测为光流,对目标检测造成 极大干扰。针对这种情况,我们使用了帧间差分法来识别运动物体。帧差法 对背景变化不敏感,当背景部分往往变化不大时,差分运算时能互相抵消。 同时由于只依赖邻近的几个图像帧,稳定性也较好,对环境变化适应性很强, 在外部环境变化剧烈的情况下,仍然能得较好的效果。另一方面,由于只缓 存了相邻的几帧,减轻了硬件的计算压力,使系统更加流畅迅捷。

为了预判运动物体接下来的位置以及消除各延迟,我们对框定物体的目 标框的中心的运动轨迹使用了卡尔曼滤波。卡尔曼滤波器会对含有噪声的输 入数据流进行递归操作,并产生底层系统状态在统计意义上的最优估计。通 过不断的预测-更新-预测-更新………预判运动物体的位置。

电磁炮系统由升压模块,电感耦合信号的驱动模块,继电器模块,舵机 模块协同构成,PYNQ 可通过 PMOD 口输出 PWM 波控制舵机在水平与竖直方向 上的自由可控转向,通过 I/O 口给高低电平信号控制电磁炮发射。

1.4关键性能指标

电磁炮能准确击中六米外的大小为 30cm*30cm,速度为 3.2m/s 的泡沫块,最远击打距离可达十一米。

 

第二部分 系统组成及功能说明

 

2.1 整体介绍

2.1.1:主要机械结构示意图:

2.1.2 硬件系统框图

本系统由 PYNQ-Z2,USB 摄像头模块,HDMI 显示屏模块,电源,继电器模 块,驱动模块,升压模块,IGBT 模块,舵机,电磁炮共同组成。执行时,先由 摄像头获取视频流,然后传回 PYNQ 进行图像处理,将运动物体框住并通过 HDMI 输出口将图像显示在显示屏上,之后 PYNQ 发出控制指令,控制舵机、继电器模块,将电磁炮指向运动物体位置,发射炮弹击中物体。

2.2 各模块介绍

1.PYNQ-Z2 开发板

 

PYNQ 是一个开源框架,目标是使嵌入式编程人员能够在无需设计可编程逻辑电路的情况下即可充分发挥 Xilinx Zynq 全可编程 SoC 的功能。与常规方式 不同的是通过 PYNQ,设计人员可以通过 Python 语言和库,利用 Zynq 中融合可 编程逻辑和微处理器的优势来快速构建更强大的嵌入式系统,其代码可直接在 支持 PYNQ 的开发板上进行开发和测试。

2.LenaCV 定基线 USB3.0 双目视觉相机

采用 USB3.0 通信接口,输出彩色、未压缩的双目 720P 高清图像,帧率高 达 30 帧/秒,传输速度大于 100 兆字节/秒。双目相机图像清晰,颜色纯正,适 合高精度识别、三维机器视觉等应用。

3.继电器模块

一路继电器模块 带光耦隔离 5V

采用贴片光耦隔离,驱动能力强,性能稳定,触发电流 5Ma

4.驱动模块

驱动电路由自己设计焊接,主要用于给 IGBT 驱动信号

5.升压模块

输入电压:两个输入电压范围可选 1、8-16V 输入(针对三串锂电和 12V 蓄电池 应用)2、10-32V 输入(针对宽输入电压范围应用)

输入电流:5A(MAX)

静态工作电流:15mA(12V 升 50V 时,输出电压越高静太电流会有所增加)

输出电压: 1、45-390V 连续可调。2、±45-390V 连续可调(输出电流:0.2A MAX)

输出功率:40W(峰值 70W)

工作温度:-40~+85 度

工作频率:75KHz

转换效率:最高 88%

6.IGBT

7.电磁炮炮管线圈,弹仓

可放 7.5mm 钢珠 20 个,弹仓靠前,炮管向上时不影响自动上珠

8.舵机

DG995 采用双滚珠轴承

金属输出轴:25 舵机,外径 6mm,内径 3mm,高 4mm

数码舵机反应快,角度精确,大扭力,双轴承,内阻小、不抖舵,堵转保护功 能

9.HDMI 显示屏

用于显示图像处理结果和相应的运动目标框图

 

第三部分 完成情况及性能参数

 

本系统由 PYNQ-Z2,USB 摄像头模块,HDMI 显示屏模块,电源,继电器模 块,驱动模块,升压模块,IGBT 模块,舵机,电磁炮共同组成。预计实现功能: 用电磁炮击中移动中的物体

目前,功能已实现,各模块连接稳定,运行稳定。

电磁炮能准确击中六米外的大小为 30cm*30cm,速度为 3.2m/s 的泡沫块, 最远击打距离可达十一米。

 

第四部分 总结

 

主要创新点

(1) 使用了帧间差分法来识别运动物体。稳定性较好,对环境变化适应性很 强,在外部环境变化剧烈的情况下,仍然能得较好的效果。

(2) 为了预判运动物体接下来的位置以及消除各延迟,我们对框定物体的目 标框的中心的运动轨迹使用了卡尔曼滤波。通过不断的预测-更新-预测更新………预判运动物体的位置。

(3) 电路部分自行设计、焊接、调试,依靠我们电路设计上的经验构建出了 一套稳定的电磁炮系统。

(4) 硬件结构自行组装、设计、调试,保证了信号之间的连续,模块之间的 连续。结实稳定的同时包含有水平、竖直两个维度的炮管转向。

可拓展之处

(1) 使用神经网络来识别目标,可使应用范围更为广泛

(2) 提高打击精度,增大打击距离

心得体会

在本次竞赛之前,我们三名组员都对 FPGA 十分向往但是并没有机会接触。 通过这次竞赛,我们从入门开始慢慢提升。就编写程序环境上,我们尝试了 VIVADO 与 HLS 联合编写,RTL 层次设计,再到最后使用 jupyter notebook 进行 python 的设计,我们都付出了较大的精力进行尝试。从光流法,yolo 神经网络, 模板匹配,再到帧差法,光在运动目标识别方面我们就换了不下 5 套方案,每 一套方案都是队员们同时进行资料搜索,程序编写,联合调试,可以说每一次 换方案都是给我们当头一棒,但又给我们下一个方案的无限憧憬。硬件及电路 的构建也是在软件方案定下来后,我们软硬件双向并行搭建的。现在看来,我 们每一步都走的不容易,但又很坚实。每一次的参数优化,每一次的电路调参, 每一次的软硬联调,都是小组齐心协力,熬夜、牺牲休息时间,利用获取的资 料来实现功能,我们尽自己最大的力量逼近我们脑海中的那个理想方案。

我和队友齐心协力,在短短的一个半月里建立了深厚的友情,成为了真正 的 “战友”。我相信这短短的竞赛时间肯定能成为彼此大学最珍贵的时光,不 论结果怎样,我们努力过了,拼搏过了,既学习了 FPGA 的知识,又锻炼了我们 的人格品质。

 

第五部分 参考书籍:

 

1. 《vivado 从此开始》 高亚军 编著/2016-10-01/电子工业出版社

2. 《Verilog 数字系统设计教程》 夏宇闻 著/2017-07-01/北京航空航天大学 出版社

3. 《基于 FPGA 的数字信号处理》 高亚军 /2015-07-01 /电子工业出版社

4. 《轻松成为设计高手--Verilog HDL 实用精解》 EDA 先锋工作室 编著 /2012-06-01 /北京航空航天大学出版社

5. 《嵌入式系统软硬件协同设计实战指南: 基于 Xilinx ZYNQ》 陆佳华,江 舟,马岷,孙宏滨主审 /2013-01-01 /机械工业出版社

 

发布时间:2020-01-26 11:10
浏览量:0
点赞
收藏
Home    Catalog    2019 FPGA Contest    基于 FPGA 的目标跟踪电磁炮系统