CN111504124B - 一种可视化射击训练系统、方法、终端设备及存储介质 - Google Patents
一种可视化射击训练系统、方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111504124B CN111504124B CN202010302811.2A CN202010302811A CN111504124B CN 111504124 B CN111504124 B CN 111504124B CN 202010302811 A CN202010302811 A CN 202010302811A CN 111504124 B CN111504124 B CN 111504124B
- Authority
- CN
- China
- Prior art keywords
- shooting
- data
- module
- visual
- mobile terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F41—WEAPONS
- F41A—FUNCTIONAL FEATURES OR DETAILS COMMON TO BOTH SMALLARMS AND ORDNANCE, e.g. CANNONS; MOUNTINGS FOR SMALLARMS OR ORDNANCE
- F41A33/00—Adaptations for training; Gun simulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
- G09B9/003—Simulators for teaching or training purposes for military purposes and tactics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/38—Services specially adapted for particular environments, situations or purposes for collecting sensor information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种可视化射击训练系统、方法、终端设备及存储介质,所述系统包括底层嵌入式终端和用户移动终端APP,底层嵌入式终端通过无线局域网络连接用户移动终端APP;所述底层嵌入式终端,用于采集图像数据、获取水平姿态角、捕捉震动信号、搭建服务器和发送数据至用户移动终端APP;所述用户移动终端APP,用于接收底层嵌入式终端发送的图像数据、陀螺仪数据和震动信号,并进行数据处理,实现握枪射击姿态检测、射击靶环数识别、数据记录与回放。本发明能够实现握枪射击姿态检测、射击图像实时采集和数据无线低延时传输的效果,并且通过用户终端能够实时可视化监测数据,利用软件客户端进行数据智能分析、数据记录与回放。
Description
技术领域
本发明涉及射击训练技术领域,尤其是涉及一种可视化射击训练系统、方法、终端设备及存储介质。
背景技术
军事训练是军事理论教育和作战技能教练的活动,在国家武装力量建设和战备工作中占有重要地位。它是生成和提高战斗力的根本途径,是最直接的军事斗争准备。伴随着新军事变革的不断深入,战争形态由机械化战争进入信息化战争,训练形态由机械化条件下训练转变为信息化条件下训练。
但是,在对现有技术的研究与实践过程中,本发明的发明人发现,随着部队枪械的更新,以往的枪械瞄准训练技术使用的用于辅助训练的通用瞄准检查镜,由于型号不匹配已被淘汰或无法使用,给部队新兵训练造成影响,间接影响了作战部队的作战能力。因此,运用现代信息化技术改进部队的训练方式迫在眉睫,亟需一种能够解决士兵射击训练缺乏有效教练设备的射击训练系统,帮助部队更精准更有效地训练射击技能,从而提高部队军事训练的现代化水平。
发明内容
本发明实施例所要解决的技术问题在于,提供一种可视化射击训练系统、方法、终端设备及存储介质,能够有效实现握枪射击姿态检测和射击图像实时采集,并通过用户终端进行实时可视化监测数据、数据智能分析、数据记录与回放。
为解决上述问题,本发明的一个实施例提供了一种可视化射击训练系统,包括底层嵌入式终端和用户移动终端APP,所述底层嵌入式终端通过无线局域网络连接用户移动终端APP;其中,
所述底层嵌入式终端,用于在采集图像数据后,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP;
所述用户移动终端APP,用于接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放。
进一步地,所述底层嵌入式终端,包括:控制模块、图像采集模块、射击姿态检测模块、震动信号采集模块和无线WIFI模块;其中,
所述控制模块,用于通过处理器控制所述底层嵌入式终端的各个传感器的运作,进行数据的边缘计算,并搭建HTTP服务器;
所述图像采集模块,用于通过图像传感器采集焦距可调图像;
所述射击姿态检测模块,用于通过运动传感器采集握枪姿态角,进行射击姿态检测;
所述震动信号采集模块,用于通过震动传感器采集扣动扳机产生的震动触发信号;
所述无线WIFI模块,用于将所述底层嵌入式终端采集的传感器数据发送至用户移动终端APP。
进一步地,所述可视化射击训练系统,还包括:
组网模块,用于在系统初始化后搜索网络和组建网络。
进一步地,所述处理器具体为BVM2835处理器,所述图像传感器具体为OV5647CMOS图像传感器,所述运动传感器具体为MPU6050六轴空间运动传感器,所述震动传感器具体为SW-420震动传感器;
其中,所述OV5647 CMOS图像传感器通过CSI2接口与所述BCM2835处理器相连接;所述MPU6050六轴空间运动传感器通过IIC总线与所述BCM2835处理器相连接;所述SW-420震动传感器通过普通数据连接线与所述BCM2835处理器相连接。
进一步地,所述用户移动终端APP,包括:主界面模块、网络连接模块、射击显示处理模块和数据存储模块;其中,
所述主界面模块,用于优化显示界面,自定义主界面的显示界面和功能界面;
所述网络连接模块,用于通过无线局域网络与所述底层嵌入式终端建立连接,完成无线数据的传输;
所述射击显示处理模块,用于实时动态绘图显示射击画面,识别射击靶环数,检测用户握枪射击姿态,分析用户的射击情况,并可视化底层嵌入式终端发送的传感器数据;
所述数据存储模块,用于保存和查看历史射击数据。
进一步地,所述识别射击靶环数,具体为:
将每次采集得到的射击靶图像进行矫正处理;
采用Canny算子进行边缘检测,识别靶心位置以及各圆环半径;
采用Prewitt算子进行边缘检测,识别弹孔位置;
计算弹孔位置到圆心的距离,根据该距离确定环数。
进一步地,所述检测用户握枪射击姿态,还包括:采用基于四元数解法的互补滤波算法进行陀螺仪数据与加速度传感器数据的融合,获取水平姿态角从而检测射击姿态;具体的,
对加速度数据进行规范化处理;
通过DCM矩阵旋转将测量坐标转为世界坐标;
在测量坐标系下做向量差积,得到补偿数据;
对误差进行PI计算,补充角速度;
按照四元数微分公式进行四元数更新,对陀螺仪数据与加速度传感器数据的进行融合,完成检测水平姿态的检测。
本发明的一个实施例提供了一种可视化射击训练方法,至少包括如下步骤:
通过底层嵌入式终端采集图像数据,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP;
通过用户移动终端APP接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放。
本发明的一个实施例提供了一种可视化射击训练的终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的可视化射击训练系统。
本发明的一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的可视化射击训练系统。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的一种可视化射击训练系统、方法、终端设备及存储介质,所述系统包括底层嵌入式终端和用户移动终端APP,所述底层嵌入式终端通过无线局域网络连接用户移动终端APP;其中,所述底层嵌入式终端,用于在采集图像数据后,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP;所述用户移动终端APP,用于接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放。
与现有技术相比,本发明能够实现握枪射击姿态检测、射击图像实时采集和数据无线低延时传输的效果,并且通过用户终端能够实时可视化监测数据,利用软件客户端进行数据智能分析、数据记录与回放。
附图说明
图1为本发明第一实施例提供的一种可视化射击训练系统的结构示意图;
图2为本发明第一实施例提供的一种底层嵌入式终端的结构示意图;
图3为本发明第二实施例提供的一种可视化射击训练方法的流程示意图;
图4为本发明第二实施例提供的一种底层嵌入式终端的实施方式的流程示意图;
图5为本发明第二实施例提供的一种用户移动终端APP的实施方式的流程示意图;
图6为本发明第二实施例提供的另一种可视化射击训练方法的实施方式的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
首先介绍本发明可以提供的应用场景,如提供一种可视化射击训练系统,用于射击瞄准训练。
本发明第一实施例:
请参阅图1-2。
如图1所示,本实施例提供了一种可视化射击训练系统,包括底层嵌入式终端和用户移动终端APP,所述底层嵌入式终端通过无线局域网络连接用户移动终端APP;其中,
所述底层嵌入式终端100,用于在采集图像数据后,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP。
在优选的实施例中,所述底层嵌入式终端100,包括:控制模块、图像采集模块、射击姿态检测模块、震动信号采集模块和无线WIFI模块;其中,
所述控制模块,用于通过处理器控制所述底层嵌入式终端的各个传感器的运作,进行数据的边缘计算,并搭建HTTP服务器;
具体的,所述控制模块包括BCM2835处理器,所述BCM2835具备内部硬件资源丰富、可用的引脚多、体积小、集成度高、成本低、低功耗等优势,作为嵌入式平台核心处理器,负责底层硬件系统控制、资源调度、数据的边缘计算,除此之外,用于组建HTTP服务器,为后期的数据信息交流提供基础。
其中,所述组建HTTP服务器的具体步骤如下:
为了保证服务器的高效运行,本实施例选择了nginx+php+sqlite的组合,通过sudo apt-get install nginx安装nginx服务器;sudo/etc/init.d/nginx start启动nginx服务器;sudo apt-get install php5-fpm php5-sqlite安装php以及sqlite;sudonano/etc/nginx/sites-available/default修改nginx配置文件,找到listen 80行,将其前面的#号注释去掉,继续找到index行,加入index.php;sudo/etc/init.d/nginx reload重新加载nginx配置;开启vsftpd服务sudo service vsftpd start;将用户webadmin的登录目录更改为www根目录sudo usermod-d/usr/share/nginx/www webadmin。
所述图像采集模块,用于通过图像传感器采集焦距可调图像;
具体的,所述图像采集模块包括OV5647 CMOS 500W像素可调焦图像传感器,用于可调焦距实时图像采集。图像采集的具体过程如下:通过import cv2导入OpenCV程序库,利用cv2.imread()读取图像;调用drawImage()在图片上画出陀螺仪图标;调用writeText()在图片上标记水平姿态角度。
所述射击姿态检测模块,用于通过运动传感器采集握枪姿态角,进行射击姿态检测;
具体的,所述射击姿态检测模块包括MPU6050六轴空间运动传感器,通过计算陀螺仪数据获取水平姿态角,具体算法为基于四元数解法的互补滤波算法,第一步,对加速度数据进行规范化;第二步,DCM矩阵旋转,将测量坐标转世界坐标;第三步,在测量坐标系下做向量叉积得到补偿数据;第四步,对误差进行PI计算,补偿角速度;第五步,按照四元数微分公式进行四元数更新。实现陀螺仪数据与加速计数据的融合,得到水平姿态角,用于检测水平握枪姿势。
所述震动信号采集模块,用于通过震动传感器采集扣动扳机产生的震动触发信号;
具体的,所述震动信号采集模块包括SW-420震动传感器,具备高灵敏度捕捉瞬时震动信号特点,用于采集因扣动扳机而产生的震动信号,其中,通过signal=readSW420()实时读取震动触发信号,当signal=1时,判断为震动;当signal=0时,判断为触发震动;
通过该信号Android利用MediaMetadataRetriever类获取视频预览图和获取时长需要用到,使用getFrameAtTime()方法获取预览图,使用extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)显示当前射击画面。
所述无线WIFI模块,用于将所述底层嵌入式终端采集的传感器数据发送至用户移动终端APP。
具体的,所述无线WIFI模块属于嵌入式平台板载集成式WIFI模块,具备体积小、高集成度、低功耗、高传输速率的特点,利用802.11n协议进行局域网数据传输。进一步提高了所述多传感器融合的可靠性,结构简单、效率稳定,同时无需辅助装置,所以体积相对很小,且使用寿命长且便于安装,满足了实际应用需求。
在优选的实施例中,所述处理器具体为BVM2835处理器,所述图像传感器具体为OV5647 CMOS图像传感器,所述运动传感器具体为MPU6050六轴空间运动传感器,所述震动传感器具体为SW-420震动传感器;
其中,如图2所示,所述OV5647 CMOS图像传感器通过CSI2接口与所述BCM2835处理器相连接;所述MPU6050六轴空间运动传感器通过IIC总线与所述BCM2835处理器相连接;所述SW-420震动传感器通过普通数据连接线与所述BCM2835处理器相连接。
所述用户移动终端APP200,用于接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放。
具体的,对于所述用户移动终端APP200,通过getData()接收来自底层嵌入式终端的图像数据imgData、陀螺仪数据mpu6050Data、震动信号vibrationSignal,对imgData通过cv2.normalize()进行归一化处理,cv2.resize()调整图片尺寸,利用Canny算子进行边缘检测,识别靶心位置以及各圆环半径;利用Prewitt算子进行边缘检测,识别弹孔位置。计算弹孔位置到圆心的距离l0,根据l0落在哪个区间范围确定环数,实现射击靶环数识别。利用基于四元数解法的互补滤波算法,按照四元数微分公式进行四元数更新,实现握枪射击姿态检测。
在优选的实施例中,所述用户移动终端APP,包括:主界面模块、网络连接模块、射击显示处理模块和数据存储模块;其中,
所述主界面模块,用于优化显示界面,自定义主界面的显示界面和功能界面;
具体的,对于所述主界面模块,主要包括MainActivity、RecyclerView、PeopleGroupAdapter类。
其中,所述MainActivity继承自AppCompatActivity,在安卓API中是一个页面基类,初始化并加载该类,回调OnCreate方法初始化界面;所述RecyclerView,从PeopleGroupAdapter中得到数据源,以网格、列表、自定义方式显示数据;所述PeopleGroupAdapter,决定显示数据和样式。
所述网络连接模块,用于通过无线局域网络与所述底层嵌入式终端建立连接,完成无线数据的传输;
具体的,对于所述网络连接模块,主要包括IpService、IPHelper类,在开启热点后,该模块启动一个后台线程,所述IpService不断搜寻合理的WiFi热点信号,通过所述IPHelper从安卓终端中找到相关的WiFi信息,从而建立网络连接。
所述射击显示处理模块,用于实时动态绘图显示射击画面,识别射击靶环数,检测用户握枪射击姿态,分析用户的射击情况,并可视化底层嵌入式终端发送的传感器数据;
具体的,对于所述射击显示处理模块,主要包括HttpURLConnection和SurfaceView,使用所述HttpURLConnection类请求底层嵌入式终端的射击图像和各类传感器器数据。使用所述内嵌SurfaceView实现实时动态绘图显示射击画面,在线程中处理接收到的视频图片以及各类传感器数据,进行射击靶环数识别、射击姿态检测,同时将传感器数据可视化。
所述数据存储模块,用于保存和查看历史射击数据。
具体的,对于所述数据存储模块,主要包括SharedPreferences、GreenDao、SQlite三个类。所述SharedPreferences存储状态信息,以便重新进入界面时恢复退出之前的效果。所述GreenDAO,通过ORM(“对象/关系映射”)存储射击处理数据。所述SQlite存储系统运行过程中产生的数据。
在优选的实施例中,所述识别射击靶环数,具体为:
将每次采集得到的射击靶图像进行矫正处理;
采用Canny算子进行边缘检测,识别靶心位置以及各圆环半径;
采用Prewitt算子进行边缘检测,识别弹孔位置;
计算弹孔位置到圆心的距离,根据该距离确定环数。
具体的:将射击靶的最低环数为5环,最高环数为10环,一共分为6个级别。将采集到的一帧射击图像利用OpenCv对其进行处理,处理步骤如下:
(1)图形矫正:将每一次得到射击靶图像进行矫正,起到规范化作用,方便后期处理。
(2)识别靶心:利用Canny算子进行边缘检测,识别靶心位置以及各圆环半径θ0;θ1;θ2;θ3;θ4;θ5。
(3)识别弹孔位置:利用Prewitt算子进行边缘检测,识别弹孔位置。
(4)环数计算:计算弹孔位置到圆心的距离l0,根据l0落在哪个区间范围确定环数。
0≤l0≤θ0,环数为10环;θ0<l0≤θ1,环数为9环;θ1<l0≤θ2,环数为8环;θ2<l0≤θ3,环数为7环;θ3<l0≤θ4,环数为6环;θ4<l0≤θ5,环数为5环;θ5<l0,无效射击。
在优选的实施例中,所述检测用户握枪射击姿态,还包括:采用基于四元数解法的互补滤波算法进行陀螺仪数据与加速度传感器数据的融合,获取水平姿态角从而检测射击姿态;具体的,
对加速度数据进行规范化处理;
通过DCM矩阵旋转将测量坐标转为世界坐标;
在测量坐标系下做向量差积,得到补偿数据;
对误差进行PI计算,补充角速度;
按照四元数微分公式进行四元数更新,对陀螺仪数据与加速度传感器数据的进行融合,完成检测水平姿态的检测。
在具体的实施例中,第一步,对加速度数据进行规范化;
norm=sqrt(ax*ax+ay*ay+az*az);
ax=ax/norm;
ay=ay/norm;
az=az/norm;
其中,ax、ay、az分别为加速度在x轴、y轴、z轴方向上的测量值,norm为ax、ay、az的平方根。
第二步,DCM矩阵旋转,将测量坐标转世界坐标;
vx=2*(q1q3-q0q2);
vy=2*(q0q1+q2q3);
vz=q0q0-q1q1-q2q2+q3q3;
其中,q0、q1、q2、q3为当前的欧拉角即四元数,vx、vy、vz分别为世界坐标系中x轴、y轴、z轴方向上的坐标值。
第三步,在测量坐标系下做向量叉积得到补偿数据;
ex=ay*vz-az*vy;
ey=az*vx-ax*vz;
ez=ax*vy-ay*vx;
其中,ex、ey、ez为x轴、y轴、z轴方向上的误差值。
第四步,对误差进行PI计算,补偿角速度;
exInt=exInt+ex*Ki;
eyInt=eyInt+ey*Ki;
ezInt=ezInt+ez*Ki;
gx=gx+Kp*ex+exInt;
gy=gy+Kp*ey+eyInt;
gz=gz+Kp*ez+ezInt;
其中,Ki、Kp为权重因子,exInt、eyInt、ezInt为误差补偿后的取整数值,gx、gy、gz为角速度在x轴、y轴、z轴方向上的数值。
第五步,按照四元数微分公式进行四元数更新;
q0=q0+(-q1*gx-q2*gy-q3*gz)*halfT;
q1=q1+(q0*gx+q2*gz-q3*gy)*halfT;
q2=q2+(q0*gy-q1*gz+q3*gx)*halfT;
q3=q3+(q0*gz+q1*gy-q2*gx)*halfT;
其中,q0、q1、q2、q3为当前的欧拉角即四元数,gx、gy、gz为角速度在x轴、y轴、z轴方向上的数值,halfT为权重因子。
第六步,求解射击姿态角度;(AngleX为垂直方向角度、AngleY为水平方向角度,asin()为反正弦函数,atan()为反正切函数)
AngleX=asin(2*(q0*q2-q1*q3))*57.2957795f;
AngleY=atan2(2*q2*q3+2*q0*q1,-2*q1*q1-2*q2*q2+1)*57.3;
实现陀螺仪数据与加速计数据的融合,用于水平姿态检测。
在优选的实施例中,所述可视化射击训练系统,还包括:
组网模块,用于在系统初始化后搜索网络和组建网络。
具体的,在本实施例中,所述可视化射击训练系统还包括组网模块,用于在用户开始使用该可视化射击训练系统时,对系统进行初始化,并搜索或组建网络,在检测组网正常后,才开始对可视化射击训练系统中的底层嵌入式终端进行运行。
本实施例提供的一种可视化射击训练系统,包括底层嵌入式终端和用户移动终端APP,所述底层嵌入式终端通过无线局域网络连接用户移动终端APP;其中,所述底层嵌入式终端,用于在采集图像数据后,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP;所述用户移动终端APP,用于接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放。本发明能够实现握枪射击姿态检测、射击图像实时采集和数据无线低延时传输的效果,并且通过用户终端能够实时可视化监测数据,利用软件客户端进行数据智能分析、数据记录与回放。
本发明第二实施例:
请参阅图3-6。
如图3所示,本实施例提供了一种可视化射击训练方法,至少包括如下步骤:
S101、通过底层嵌入式终端采集图像数据,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP。
具体的,对于步骤S101,通过处理器控制所述底层嵌入式终端的各个传感器的运作,进行数据的边缘计算,并搭建HTTP服务器;通过图像传感器采集焦距可调图像;通过运动传感器采集握枪姿态角,进行射击姿态检测;通过震动传感器采集扣动扳机产生的震动触发信号;将所述底层嵌入式终端采集的传感器数据发送至用户移动终端APP。
在具体的实施例中,如图4所示,在用户发送开始命令后,对所述底层嵌入式终端进行硬件初始化,在硬件初始化正常后,以BCM2835处理器作为核心处理器的嵌入式平台为控制核心,控制500W像素可调焦的OV5647 CMOS图像传感器进行可调焦距实时图像采集;控制MPU6050六轴空间运动传感器,利用基于四元数解法的互补滤波算法实现陀螺仪数据与加速计数据的融合,用于水平姿态检测。控制具备高灵敏度捕捉瞬时震动信号特点的SW-420震动传感器采集因扣动扳机而产生的震动信号,该信号作为触发信号用于引导系统截取当前射击画面。在接收上述传感器数据后,通过BCM2835处理器搭建HTTP服务器,并通过无线WIFI模块发送传感器数据至用户移动终端APP。
S102、通过用户移动终端APP接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放。
具体的,对于步骤S102,通过主界面模块,用于优化显示界面,自定义主界面的显示界面和功能界面;通过无线局域网络与所述底层嵌入式终端建立连接,完成无线数据的传输;在接收所述底层嵌入式终端发送的传感器数据后,实时动态绘图显示射击画面,识别射击靶环数,检测用户握枪射击姿态,分析用户的射击情况,并可视化底层嵌入式终端发送的传感器数据;用于保存和查看历史射击数据。
在具体的实施例中,如图5所示,用户移动终端APP跳转启动画面后,提示打开用户终端的相关权限,在打开相关权限后进入用户移动终端APP的主界面设置WIFI热点,并显示合法设备,通过点击所述合法设备打开设备对应的监控界面,将底层嵌入式终端发送的传感器数据进行数据处理。提示是否完成射击训练,若是,则保存本次射击训练的射击数据,并回放本次射击过程,用户移动终端APP进行智能分析数据,评估本次射击得分;在用户确认结束射击训练后关闭APP,结束本次射击训练。
需要说明的是,所述用户移动终端APP基于BCM2835平台搭建HTTP服务端,用户终端作为客户端,组成一个互联的局域网,实现信息互相传输。用户终端用的seqId,请求成功后服务端再把seqId回传,通过这个seqId作为key从回调集合中找到对应的回调,而reqCount的话主要针对请求超时的情况,如果请求超时,第二次请求的时候就把reqCount++在放入request中,约定同一个请求次数大于三次时候走http补偿通道,那么当request中的reqCount>3的时候我们就通过http发送该请求,然后根据响应回调对应结果,第二步开始请求,成功或者失败的话通过seqId找到对应回调执行并从回调集合中移除该回调,然后取消超时任务.如果超时的话根据seqId拿到对应的回调并从回调集合中移除该回调,然后判断请求次数如果小于等于3次再次通过websocket尝试请求,如果大于3次通过http请求,根据请求成功失败情况执行对应回调,通过http请求获取WebSocket连接地址,如果获取失败就走本地默认的url建立连接。在方法sendReq(Action action,T req,ICallbackcallback,long timeout,int reqCount)中传入了ui层的回调ICallback,但这里还需要在封装一层回调处理一些通用逻辑,然后再调用ICallback对应方法发送视频图像和数据信息请求,服务端根据resp_event为20判断这次响应是服务端主动通知,然后通过action找到对应处理类,把resp中数据解析成对应的bean传入对应处理类执行对应业务逻辑,传输信息给用户终端。使得用户终端具备实时图像显示,数据处理,分析射击情况,评估射击得分,数据保存,历史信息查看的功能。
如图6所示,本实施例还提供了一种可视化射击训练系统的实施流程,在系统初始化后,搜索和组建网络后判断组网是否正常,若是,则以BCM2835嵌入式ARM平台为核心,控制多种传感器作为辅助,整体实现了握枪射击姿态检测、射击图像实时采集和震动信号采集;采集传感器数据后搭建HTTP服务器,并通过无线网络发送至用户移动终端APP,从而通过用户移动终端实现实时可视化监测数据、软件客户端数据智能分析、数据记录与回放的功能。
本实施例提供的一种可视化射击训练方法,包括:通过底层嵌入式终端采集图像数据,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP;通过用户移动终端APP接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放。本实施例能够实现握枪射击姿态检测、射击图像实时采集和数据无线低延时传输的效果,并且通过用户终端能够实时可视化监测数据,利用软件客户端进行数据智能分析、数据记录与回放。
本发明的一个实施例提供了一种可视化射击训练的终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的可视化射击训练系统。
本发明的一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的可视化射击训练系统。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的系统实施例仅仅是示意性的,例如所述模块的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改进和变形也视为本发明的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
Claims (6)
1.一种可视化射击训练系统,其特征在于,包括底层嵌入式终端和用户移动终端APP,所述底层嵌入式终端通过无线局域网络连接用户移动终端APP;其中,
所述底层嵌入式终端,用于在采集图像数据后,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP;
所述底层嵌入式终端,包括:控制模块、图像采集模块、射击姿态检测模块、震动信号采集模块和无线WIFI模块;其中,
所述控制模块,用于通过处理器控制所述底层嵌入式终端的各个传感器的运作,进行数据的边缘计算,并搭建HTTP服务器,具体步骤包括:
通过sudo apt-get install nginx安装nginx服务器,并通过sudo /etc/init.d/nginx start启动nginx服务器;
通过sudo apt-get install php5-fpm php5-sqlite安装php和sqlite;
通过sudo nano /etc/nginx/sites-available/default修改nginx配置文件,将listen80行前面的#号注释去掉,找到index行,加入index.php,并通过sudo /etc/init.d/nginx reload重新加载所述nginx配置文件;
通过sudo service vsftpd start开启vsftpd服务,并通过sudo usermod -d /usr/share/nginx/www webadmin修改用户webadmin的登录目录为www根目录;
所述图像采集模块,用于通过图像传感器采集焦距可调图像;
所述射击姿态检测模块,用于通过运动传感器采集握枪姿态角,进行射击姿态检测;所述运动传感器具体为MPU6050六轴空间运动传感器;
所述震动信号采集模块,用于通过震动传感器采集扣动扳机产生的震动触发信号;
所述无线WIFI模块,用于将所述底层嵌入式终端采集的传感器数据发送至用户移动终端APP;
所述用户移动终端APP,用于接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放;
所述用户移动终端APP,包括:主界面模块、网络连接模块、射击显示处理模块和数据存储模块;其中,
所述主界面模块,用于优化显示界面,自定义主界面的显示界面和功能界面;
所述网络连接模块,用于通过无线局域网络与所述底层嵌入式终端建立连接,完成无线数据的传输;
所述射击显示处理模块,用于实时动态绘图显示射击画面,识别射击靶环数,检测用户握枪射击姿态,分析用户的射击情况,并可视化底层嵌入式终端发送的传感器数据;
所述检测用户握枪射击姿态,还包括:采用基于四元数解法的互补滤波算法进行陀螺仪数据与加速度数据的融合,获取水平姿态角从而检测射击姿态;具体的,
对加速度数据进行规范化处理;
通过DCM矩阵旋转将测量坐标转为世界坐标;
在测量坐标系下做向量差积,得到补偿数据;
对误差进行PI计算,补充角速度;
按照四元数微分公式进行四元数更新,对陀螺仪数据与加速度数据进行融合,完成检测水平姿态的检测;
所述数据存储模块,用于保存和查看历史射击数据;
其中,所述识别射击靶环数,具体为:
将每次采集得到的射击靶图像进行矫正处理;
采用Canny算子进行边缘检测,识别靶心位置以及各圆环半径;
采用Prewitt算子进行边缘检测,识别弹孔位置;
计算弹孔位置到圆心的距离,根据该距离确定环数。
2.根据权利要求1所述的可视化射击训练系统,其特征在于,还包括:
组网模块,用于在系统初始化后搜索网络和组建网络。
3.根据权利要求1所述的可视化射击训练系统,其特征在于,所述处理器具体为BCM2835处理器,所述图像传感器具体为OV5647 CMOS 图像传感器,所述震动传感器具体为SW-420震动传感器;
其中,所述OV5647 CMOS 图像传感器通过CSI2接口与所述BCM2835处理器相连接;所述MPU6050六轴空间运动传感器通过IIC总线与所述BCM2835处理器相连接;所述SW-420震动传感器通过普通数据连接线与所述BCM2835处理器相连接。
4.一种可视化射击训练方法,所述方法应用于权利要求1至3中任意一项所述的可视化射击训练系统,其特征在于,至少包括如下步骤:
通过底层嵌入式终端采集图像数据,通过计算陀螺仪数据获取水平姿态角,实时捕捉震动触发信号,并在搭建可视化射击训练系统的服务器后,通过无线局域网络发送已采集的射击数据至用户移动终端APP;
通过用户移动终端APP接收所述底层嵌入式终端所发送的图像数据、陀螺仪数据和震动触发信号,在进行对应的数据处理后,根据所述陀螺仪数据检测握枪射击姿态,根据所述震动触发信号识别射击靶环数,通过实时图像显示射击信息,并记录历史射击数据与回放。
5.一种可视化射击训练的终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3中任意一项所述的可视化射击训练系统。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至3中任意一项所述的可视化射击训练系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302811.2A CN111504124B (zh) | 2020-04-16 | 2020-04-16 | 一种可视化射击训练系统、方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302811.2A CN111504124B (zh) | 2020-04-16 | 2020-04-16 | 一种可视化射击训练系统、方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111504124A CN111504124A (zh) | 2020-08-07 |
CN111504124B true CN111504124B (zh) | 2022-11-01 |
Family
ID=71874391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010302811.2A Active CN111504124B (zh) | 2020-04-16 | 2020-04-16 | 一种可视化射击训练系统、方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111504124B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113008073B (zh) * | 2021-03-24 | 2023-01-20 | 青岛克路德智能科技有限公司 | 高精度射击训练指导系统 |
CN113553899B (zh) * | 2021-06-08 | 2024-05-03 | 杭州屹道科技有限公司 | 一种枪支姿态感知识别方法与系统 |
CN114413686B (zh) * | 2021-12-29 | 2024-05-17 | 杭州晨鹰军泰科技有限公司 | 一种射击成绩分析方法、装置、设备和存储介质 |
CN114446108B (zh) * | 2022-01-27 | 2023-05-23 | 中国人民解放军战略支援部队信息工程大学 | 一种用于全站仪的半实物模拟训练方法 |
CN114446118B (zh) * | 2022-01-27 | 2023-05-23 | 中国人民解放军战略支援部队信息工程大学 | 一种半实物全站仪教学系统 |
CN114963853A (zh) * | 2022-05-18 | 2022-08-30 | 北京师范大学 | 一种青少年速射手枪智慧训练系统 |
CN114818836B (zh) * | 2022-06-29 | 2022-09-20 | 电科疆泰(深圳)科技发展有限公司 | 一种射击计数方法、装置、电子设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160209173A1 (en) * | 2010-01-26 | 2016-07-21 | Ehud DRIBBEN | Monitoring shots of firearms |
CN104422335A (zh) * | 2013-08-28 | 2015-03-18 | 无锡慧思顿科技有限公司 | 一种枪械多传感器智能监测训练系统 |
WO2016115554A1 (en) * | 2015-01-16 | 2016-07-21 | Rolera Llc | Firearm training apparatus and methods |
CN104978430A (zh) * | 2015-07-10 | 2015-10-14 | 无锡天脉聚源传媒科技有限公司 | 一种数据处理方法及装置 |
WO2018015870A1 (en) * | 2016-07-17 | 2018-01-25 | Erange Corporation | Shooting training system |
CN108245880A (zh) * | 2018-01-05 | 2018-07-06 | 华东师范大学 | 基于多穿戴环带传感器融合的体感检测可视化方法和系统 |
CN109780927B (zh) * | 2018-12-29 | 2021-11-19 | 南京森林警察学院 | 一种基于射击动作反馈检测训练枪的射击训练方法 |
CN110068250B (zh) * | 2019-03-21 | 2021-10-26 | 南京砺剑光电技术研究院有限公司 | 轻武器射击训练智慧靶场系统 |
CN110044209B (zh) * | 2019-05-09 | 2021-10-01 | 吉林大学 | 一种数字化仿真瞄靶训练系统以及训练方法 |
-
2020
- 2020-04-16 CN CN202010302811.2A patent/CN111504124B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111504124A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111504124B (zh) | 一种可视化射击训练系统、方法、终端设备及存储介质 | |
EP3872689B1 (en) | Liveness detection method and device, electronic apparatus, storage medium and related system using the liveness detection method | |
US20220122331A1 (en) | Interactive method and system based on augmented reality device, electronic device, and computer readable medium | |
KR102414901B1 (ko) | 인공지능 모듈 맵 기반 이용 목적에 따른 인공지능 모듈 추천 방법 | |
WO2018090538A1 (zh) | 网球拍动作识别方法及装置 | |
CN110795336A (zh) | 应用程序的控制方法、装置、设备及可读存储介质 | |
WO2013174354A2 (zh) | 一种单摄像头测距的方法和系统 | |
CN110737798B (zh) | 室内巡检方法及相关产品 | |
CN110059686B (zh) | 字符识别方法、装置、设备及可读存储介质 | |
US20210389080A1 (en) | Rifle Intelligence Systems and Methods | |
CN105165004A (zh) | 摄影系统 | |
CN111290580B (zh) | 基于视线追踪的校准方法及相关装置 | |
CN110072078A (zh) | 监控摄像机、监控摄像机的控制方法和存储介质 | |
CN109409172B (zh) | 驾驶员视线检测方法、系统、介质及设备 | |
US20230072762A1 (en) | Method and apparatus for displaying position mark, device, and storage medium | |
JP7043601B2 (ja) | 環境モデルを生成するための方法および装置ならびに記憶媒体 | |
US11835311B2 (en) | Devices, systems, and computer program products for detecting gunshots and related methods | |
CN104125218B (zh) | 一种设备识别方法、装置以及系统 | |
CN113280265B (zh) | 工况识别方法、装置、计算机设备以及存储介质 | |
KR101429341B1 (ko) | 증강 현실을 이용한 사격 게임 방법 및 이를 이용하는 모바일 기기와 시스템 | |
CN110170167B (zh) | 一种画面显示方法、装置、设备及介质 | |
CN112818733B (zh) | 信息处理方法、装置、存储介质及终端 | |
EP3916522A1 (en) | System, method, device and computer program product for connecting users to a persistent ar environment | |
CN109460077B (zh) | 一种自动跟踪方法、自动跟踪设备及自动跟踪系统 | |
CN104737179A (zh) | 用于认证三维实体的图像捕捉的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |