CN107911793B - 一种无人机任意图形禁飞区识别导航系统 - Google Patents
一种无人机任意图形禁飞区识别导航系统 Download PDFInfo
- Publication number
- CN107911793B CN107911793B CN201711030877.5A CN201711030877A CN107911793B CN 107911793 B CN107911793 B CN 107911793B CN 201711030877 A CN201711030877 A CN 201711030877A CN 107911793 B CN107911793 B CN 107911793B
- Authority
- CN
- China
- Prior art keywords
- module
- information
- unmanned aerial
- aerial vehicle
- data
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种无人机任意图形禁飞区识别导航系统,包括无人机定位导航模块、飞控中心模块、调度中心模块、中间接口模块、监控模块,WebService模块和Oracle数据库模块。无人机定位导航模块负责生成任意图形禁飞区,设置告警区域,判断无人机是否进入告警区,在无人机接近禁飞区时,执行越界趋势判断和禁飞航迹规划算法;飞控中心模块负责数据解析和存储;调度中心模块负责数据路由;中间接口模块是数据传输中间件;监控模块负责实时监控、调度无人机;WebService模块实现跨平台服务调用;Oracle数据库模块负责存取无人机及用户信息。本发明可对无人机设置任意图形禁飞区,在接近禁飞区时发出警报并执行调度算法返回安全区,解决无人机擅闯禁飞区问题。
Description
技术领域
本发明涉及一种无人机任意图形禁飞区识别导航系统。
背景技术
无人机最初运用于军事领域,如战场侦察、毁伤评估等;而随着越来越多的企业开始采用无人机技术,原本属于军事领域的无人机制造商,也开始为民用企业提供服务,以满足商业市场对无人机技术的需求,如气象探测、空中交通管制等。由于无人机具有成本低、环保节能、隐蔽性强、无人员伤亡的优点,投入民用的无人机数量越来越多,但是随着无人机的普及,也引发了诸多安全问题:例如近来频繁出现的无人机“黑飞”事件,无人机随意占用敏感的公共区域,导致航班无法按时降落只能在空中盘旋,极大影响了公共秩序和航班效率;另外,ISIS近年使用一架安置陷阱的无人机杀死了两名库尔德飞行员,表明无人机正在被用于恐怖袭击领域,如果不对无人机进行有效管理,将可能引发恐慌。目前我国开始对无人机实施实名制登记,为了响应国家对无人机的监管需求,需要开发一套无人机监管系统,使无人机自动避开禁飞区,减少无人机闯入禁飞区带来的经济损失和安全隐患。
专利申请201410740462.7车辆进入多边形电子围栏区域的检测方法,该多边形电子围栏区域检测方法包括:判断电子围栏区域是凸多边形还是凹多边形区域,如果是凹多边形区域,则转换为凸多边形区域处理;若是凸多边形区域,基于凸多边形区域的每一条边作为基准直线,各条边按照顺时针或者逆时针方向构建具有方向的基准直线,并且判断车辆是否位于所有基准直线的同一侧;若车辆位于电子围栏区域的所有基准直线的同一侧,可判断车辆进入电子围栏区域。但是该发明存在以下缺陷:在处理凹多边形区域时,需要先转换为凸多边形区域,并且对每条边构建基准直线时,还要构造辅助区域,时间和空间效率低,编程复杂度较大,不适合运用于高实时性的场景。
专利申请201510747292.X一种无人机禁飞区域的设置方法,包括步骤:首先获取用户提交的设置禁飞区请求;审核所述的设置禁飞区请求,若通过审核,根据禁飞区请求,设置禁飞区轮廓并更新到共享的地图数据中,向无人机或其使用者提示禁飞区的信息,以避免无人机闯入禁飞区。但是该发明存在以下缺陷:第一,无人机在离禁飞区较远时,也要判断无人机是否驶入禁飞区,造成资源浪费,为了提高资源利用率,要在接近禁飞区时进行判断;第二,无人机驶入禁飞区后才向用户发送警报,监管效果差,为了保证无人机安全,要在无人机接近禁飞区时,就发出警报并执行调度算法,使无人机避开禁飞区。
专利申请201610624861.6一种用于禁飞区无人机管控的系统和方法,该系统包括无人机禁飞信号发射装置,可发射让无人机降落或静止的禁飞信号;无人机禁飞信号强度感知装置,可对禁飞信号强度进行检测和反馈;无人机检测发现装置,可实现飞向禁飞区的无人机的检测和发现。但是该发明存在以下缺陷:第一,该方法通过在禁飞区边界设置硬件检测装置,实现对无人机的监管,而在军事敏感区域硬件部署困难;第二,适用范围有局限性,由于是硬件部署,不适合大范围的禁飞区管辖,并且改变禁飞区较困难;第三,部署成本较高;第四,禁飞信号只对部分产商的无人机起作用,兼容性差。
专利申请201610968784.6一种保障公共安全的无人机禁飞区防卫系统和方法,包括竖直步进电机,旋转柱,水平步进电机,旋转头,电路板,通信天线,螺钉,销钉,声音接收器,高频波发射器。其中声音接收器捕获无人机噪音后,高频波发射器朝向无人机发射高频波,引起无人机内陀螺仪振子的共振,无人机失去稳定性后迫降。该系统设立在无人机禁飞边界区域,可防止无人机进入禁飞区内。但是该系统存在以下缺陷:第一,在禁飞区边界设置硬件检测装置与迫降装置,而在军事敏感区域硬件部署困难;第二,不适合大范围的禁飞区防卫,改变禁飞区范围较困难;第三,部署成本较高;第四,不同产商的无人机内陀螺仪振子共振频率不同,兼容性差。
专利申请201710239027.X一种禁飞区无人机预警方法。该发明首先采集无人机当前一段飞行时间的若干数量经纬度坐标点,经过坐标转换转换成平面直角坐标系中对应的平面坐标点,接着采用改进的最小二乘法对离散平面坐标进行曲线拟合,拟合出当前时间无人机的飞行轨迹,最后求出拟合曲线的切线,通过判断该切线是否会与禁飞区围栏相交,来判断无人机是否会进入禁飞区。如果会则求出当前点距离禁飞区的实时距离并预警,否则进入下一时刻的预测。但是该发明存在以下缺陷:第一,经纬度坐标点要转换为平面直角坐标,时间效率低;第二,电子围栏区域只适用于凸多边形区域,而实际的禁飞区可能包含不规则的凹多边形区域,适用性较低。
专利申请201610262405.1针对存在禁飞区多边形区域的旋翼无人机覆盖搜索航迹规划方法,该发明包括以下步骤,首先确定覆盖方向,多边形宽度所对应的顶点与边相距方向即为实现最短路径多边形区域覆盖搜索的覆盖方向;然后进行坐标转换,使得新坐标系的X轴为覆盖方向,新坐标系的原点与原坐标系原点相同;接着根据转换后的待覆盖多边形区域和障碍,进行牛耕式搜索单元分解;然后确定每个搜索单元的备选光栅线搜索航迹集合,并基于贪婪策略确定各无人机的搜索单元序列及其航迹;最后进行坐标反变换,将航迹点通过坐标反变换转换为原坐标系下的航迹点,得到原任务搜索航迹。但是该发明存在以下缺陷:第一,在对多边形进行单元分解时,只适用于凸多边形区域,使用范围受限;第二,为了保证无人机在多边形区域覆盖搜索时的安全,要设计一个调度算法,在接近禁飞区时,使无人机发出警报并自动避开禁飞区,而该方法中没有调度算法。
专利申请201611063860.5一种无人机植保作业的电子围栏监控方法,该发明提供了一种针对无人机植保作业,采用电子围栏监控的方法,具体包括:1)动态生成安全边界;2)基于无人机电台与4G模块的双链路通讯系统;3)无人机越界以及越界趋势的判断,提高无人机越界检测的效率;可以在无人机尚未越界但有越界趋势时,及时发出预警,提醒用户及时改变无人机飞行方向,实现高效的无人机越界检测。但是该发明存在以下缺陷:第一,在无人机有越界趋势时,只提供预警,而没有调度算法,需要用户自主控制无人机驶离禁飞区,因而对监控人员要求较高,人力成本大;第二,在电子围栏软件系统上显示无人机的飞行轨迹和作业边界,而没有无人机身份认证机制,因而不适合多用户、多无人机的监管场景。
专利申请201310165092.4禁飞区限制下的多无人机协同区域搜索方法,该发明提供了一种禁飞区限制下的多无人机协同区域搜索方法,通过设置无人机数据、禁飞区数据、地图初始信息和搜索时间,产生数字地图;然后执行禁飞区回避算法,依照无人机顺序依次执行通讯约束,比较各无人机可行搜索区域的搜索代价,并判定结束条件,最终获得覆盖率。但是该发明存在以下缺陷:第一,禁飞区域仅限定于根据四个经纬度坐标得到矩形区域,并不适用于任意图形的禁飞区域,适用范围有局限性;第二,为了保证无人机在区域搜索时的安全,要设计一个调度算法,在接近禁飞区时,使无人机发出警报并自动避开禁飞区,而该方法中没有调度算法。
专利申请201510699538.0一种基于电子围栏的监控方法及系统,该发明公开了一种基于电子围栏的监控方法及系统,在电子地图上标记监控目标的起始点;根据所述起始点在电子地图上设置相应的电子围栏;获取所述监控目标的位置信息,并根据所述位置信息判断所述监控目标是否超出设定的电子围栏;如果所述监控目标超出预先设定电子围栏范围,则第一时间通知目标监控者已离开或进入正常位置,并提供被监控者所处的位置,从而方便监控者查找被监控目标的位置。但是该发明存在以下缺陷:第一,要根据被监控目标的起始点,在地图上设置电子围栏,并且电子围栏只包括圆形、多边形和行政区域(省、市、县)电子围栏,不能设置任意图形的电子围栏,使用范围有局限性;第二,被监控目标离开电子围栏后才向监控者发送警报,监管效果差,要在被监控目标接近电子围栏边界时,就给出预警。
专利申请201610127950.X无人机安全运营的机载自主监视及报警系统和方法,该发明包括地面系统,与无人机通过空地C2数据链通讯;该系统中设置有机载数据库,用于构造无人机的安全边界;该系统还包括数据接口,通过空地C2数据链上传更新的实时安全约束条件以及随之更新的应急回收程序的预定航迹;无人机通过所述机载数据库中存储的安全边界数据,根据危险程度触发不同等级的报警信息以及自主控制指令,并通过空地C2数据链实时下传到地面系统及操作人员;该系统根据安全约束条件和规则构造多维度的“虚拟围栏”,对飞行状态进行实时监控并在危险状况触发时提供相应告警,以确保无人机在安全边界内飞行。但是该发明存在以下缺陷:机载数据库存储地面系统通过C2数据链发送的边界数据,只能用于无人机的现场监管,不能实现远程监控。
期刊论文《系统仿真学报》2006.11期基于概率地图方法的无人机路径规划研究,该论文引入了一种快速、有效的无人机路径规划算法,即概率地图算法,详细描述了概率地图方法的实现步骤,并对传统概率地图方法的执行流程作了改进,使得改进后的算法在时间特性上有了较大幅度提升。但是该发明存在以下缺陷:第一,在执行路径规划时,论文假设威胁区域的作用范围小于无人机传感器的作用范围,传感器探测范围有限,不适用于大范围的路径规划;第二,为了保证无人机在区域搜索时的安全,要设计一个调度算法,在接近禁飞区时,使无人机发出警报并自动避开禁飞区,而该方法中没有调度算法。
期刊论文《系统仿真学报》2008.9期无人侦察机路径规划方法研究,该论文将无人机的侦察任务分为点状、线性和区域三类典型侦察任务。综合考虑传感器的特性,针对线性侦察任务,提出侦察走廊的概念;改进启发函数,基于A*算法有效解决点状、线性侦察任务路径规划问题;考虑飞机转弯半径限制,提出解决探测盲区的方法;针对带禁飞区的复杂区域搜索侦察任务,将全区域分割成若干无禁飞区的子区域,采用深度优先遍历算法,获得子区域的搜索顺序,对区域进行全区域覆盖的路径规划。但是该发明存在以下缺陷:第一,在执行区域侦察任务时,无人机使用探测传感器捕获侦察目标点,传感器探测范围有限,不适用于大范围的路径规划;第二,为了保证无人机在区域搜索时的安全,要设计一个调度算法,在接近禁飞区时,使无人机发出警报并自动避开禁飞区,而该方法中没有调度算法。
期刊论文《信息通信》2015.12期一种多无人机协同多任务规划方法研究,该论文对无人机处理多任务问题建模,充分考虑了无人机性能参数、禁飞区域、地形安全等约束因素,并对处理多目标优化的NSGA-II算法进行改进来解决无人机任务分配问题,有效解决了无人机协同处理多任务问题。但是该论文所涉及的系统有以下缺陷:第一,系统中无人机的任务场景为100km*100km的矩形区域,而实际的禁飞区域可能涉及不规则多边形区域,因此适用范围有限;第二,为了保证无人机在区域搜索时的安全,要设计一个调度算法,在接近禁飞区时,使无人机发出警报并自动避开禁飞区,而该方法中没有调度算法。
期刊论文《现代计算机(专业版)》2016.10期基于Android的电子围栏系统设计与实现,该论文借助Android手机提供有效的室外实时位置监测服务,采用基于监控客户端、被监控客户端以及Web服务端的三方数据交互模型,实时监控客户端对被监控客户端的室外实时位置监测并实现越界自动推送功能。但是该发明存在以下缺陷:第一,电子围栏为仅限为圆形区域,用球面上两点间距离公式加以计算得出设备与围栏中心的相对距离,再用其与围栏范围进行比较得出是否越界,而实际的禁飞区域包括不规则多边形,适用范围窄;第二,被监控客户端离开电子围栏后才向用户发送警报,监管效果差,要在被监控客户端有越界趋势时,就给出预警。
发明内容
针对以上无人机禁飞区监控系统不能适用于任意图形禁飞区,算法复杂度高,硬件部署困难,兼容性差,不支持多用户、多无人机的远程监管场景、监管效果差等技术问题,本发明提供一种无人机任意图形禁飞区识别导航系统,本发明可对无人机设置任意图形禁飞区,解决硬件部署难、兼容性差的问题,用水平射线交点法判断无人机是否进入告警区域,算法复杂度低,在无人机接近禁飞区时,发出警报并执行调度算法返回安全区域,支持多用户、多无人机的远程监管场景,解决无人机在禁飞区的违法飞行问题。
本发明为解决上述技术问题采用以下技术方案:
本发明提供一种无人机任意图形禁飞区识别导航系统,包括无人机定位导航模块、飞控中心模块、调度中心模块、中间接口模块、监控模块、WebService模块)以及Oracle数据库模块;其中:无人机定位导航模块与飞控中心模块相连;监控模块通过中间接口模块与WebService模块和调度中心模块分别连接;飞控中心模块与调度中心模块相连;飞控中心模块、调度中心模块和WebService模块分别与Oracle数据库模块进行数据交互。
作为本发明的进一步技术方案,所述的无人机定位导航模块包括飞控中心接口模块、接收数据解析模块、发送数据解析模块、GPS定位模块、数据处理模块、数据存储模块、禁飞区图形判别模块、禁飞区路由算法模块以及无人机控制模块;所述的飞控中心接口模块包括飞控中心数据接收模块和飞控中心数据发送模块,采用TCP/IP协议进行数据传输;所述的飞控中心数据接收模块接收飞控中心模块发送的指令信息,将指令信息由ASCII码转换为无人机终端二进制码,并发送给接收数据解析模块;所述的飞控中心数据发送模块,接收发送数据解析模块解析的数据指令信息,将数据指令信息由无人机终端二进制码转换为ASCII码,并发送到飞控中心模块;所述的接收数据解析模块,接收从飞控中心数据接收模块发送的无人机终端二进制码指令信息,根据无人机产商提供的通信协议,将无人机终端二进制码指令信息解析为相应的数据指令信息,发送给数据处理模块;所述的发送数据解析模块,接收数据处理模块分类后的数据指令信息,根据无人机产商提供的通信协议,将分类后的数据指令信息以无人机终端二进制码的编码格式进行编码,并发送给飞控中心数据发送模块;所述的GPS定位模块,接收北斗卫星导航系统的GPS信息,转换为无人机终端二进制码,发送给数据处理模块;所述的数据处理模块,接收GPS定位模块和接收数据解析模块的GPS信息和数据指令信息并进行分类,分为上行信息和下行信息,其中,上行信息为无人机定位导航模块发送到监控模块的数据指令信息,包括响应信息、警报类信息和GPS信息;下行信息为监控模块发送到无人机定位导航模块的数据指令信息;将下行信息发送到数据存储模块,将上行信息发送至发送数据解析模块;所述的数据存储模块,接收数据处理模块分类的下行信息,存储到无人机缓存中,当监控模块发送禁飞区指令信息时,数据存储模块将禁飞区顶点经纬度信息、实时GPS信息发送至禁飞区图形判别模块;所述的禁飞区图形判别模块接收数据存储模块的上行信息,设定告警区域,并进行告警区位置判别,将判别结果以及警报类信息发送至数据存储模块;所述的禁飞区路由算法模块,接收数据存储模块中的禁飞告警信息,执行越界趋势判断和禁飞航迹规划,确保无人机驶离禁飞区;所述的无人机控制模块,接收数据存储模块的航迹规划路线,控制无人机以当前速度和规划路线飞行并回到安全区域。
作为本发明的进一步技术方案,所述的禁飞区图形判别模块根据禁飞区的经纬度信息采用多边形内缩法设定告警区域,多边形内缩法即为:将多边形的各边沿着各边法线方向向内平移一定距离,依次连接平移后各边与相应顶点的角平分线的交点,构成内缩多边形,具体为:设任意图形禁飞区顶点为A[1]A[2]A[3]...A[n],内缩后的多边形顶点为A[1]'A[2]'A[3]'...A[n]',则任一内缩多边形的顶点A[i]'通过以下步骤确定:第一,作A[i-1]A[i]A[i+1]的角平分线I[i];第二,根据A[i-1]、A[i]、A[i+1]的坐标求出角A[i-1]A[i]A[i+1]的大小θ,θ<180°;第三,以d/sin(θ/2)为半径以A[i]为圆心作圆交I[i]于B[i],则B[i]即为A[i]’,d为多边形内缩法中向内平移的距离,该距离可由监控模块设定;所述的禁飞区图形判别模块采用水平射线交点法进行告警区位置判别。
作为本发明的进一步技术方案,所述的禁飞区图形判别模块(1-7)采用水平射线交点法进行告警区位置判别,具体为:
第一,判断无人机当前位置点A是否与多边形告警区域的顶点重合,若重合则判定无人机在多边形告警区域的内部;第二,若点A不与多边形顶点重合,则以点A为起点向左作一条水平射线;第三,将多边形告警区域的各边以有向线段的形式保存,若有向线段与水平射线平行或重合则删除该有向线段,根据经纬度位置判断剩余有向线段与水平射线是否有交点,并统计交点个数;第四,若统计得到的交点个数为奇数则判定无人机在多边形告警区域的内部,否则判定无人机在多边形告警区域的外部。
作为本发明的进一步技术方案,所述的禁飞区路由算法模块的越界趋势判断过程为:第一,假设任意图形禁飞区的边界是逆时针的有向线段,无人机进入某告警区域块后,固定时间间隔判断飞行方向与边的向量积,若向量积是正数则禁飞航迹规划为朝有向线段正方向转弯,否则朝有向线段负方向转弯;第二,接收数据存储模块的实时GPS信息,在无人机前进方向,与转弯方向同侧,作圆使得圆与无人机前进方向所在直线相切,所作圆的半径r根据公式v=2πrn得到,其中,v为无人机线速度,n为发动机转速;第三,若该圆与此区域块及相邻区域块的线段有交点,则无人机会驶入禁飞区,需执行禁飞航迹规划;禁飞航迹规划包括两种情况:第一,若航迹规划过程中,无人机前进方向与当前区域块的内多边形所在边的方向向量垂直,此时无人机不再沿圆轨迹前进,而是沿圆切线方向飞行,直至进入内多边形安全区域,然后停止执行航迹规划;第二,若航迹规划过程中,前进方向未与当前区域块的内多边形所在边的方向向量垂直,而已经回到内部安全区域,则在回到安全区域后自动停止执行航迹规划;该航迹规划的路线,以二进制码的形式,发送给数据存储模块。
作为本发明的进一步技术方案,所述的飞控中心模块包括无人机接口模块、上行数据解析模块、下行数据解析模块、数据控制模块、无人机身份认证模块、数据处理模块、飞控中心数据存取模块以及调度中心接口模块;所述的无人机接口模块,包括无人机数据接收模块和无人机数据发送模块;所述的无人机数据接收模块,接收无人机定位导航模块发送的数据指令信息,将数据指令信息的编码格式由ASCII码转换为GBK码,并发送到上行数据解析模块;所述的无人机数据发送模块,接收下行数据解析模块发送的指令信息,将指令信息的编码格式由GBK码转换为ASCII码,发送至飞控中心数据接收模块;所述的上行数据解析模块,接收无人机数据接收模块的数据指令信息,根据GPS定位通信标准协议和无人机厂商提供的通信协议,解析数据指令信息为对应的协议内容,发送至数据控制模块;所述的下行数据解析模块,接收数据控制模块分类的指令信息,根据无人机厂商提供的通信协议,将指令信息组装成无人机终端可识别的报文类型,并把指令信息发送给无人机数据发送模块;所述的数据控制模块接收无人机身份认证模块的登录结果信息以及上行数据解析模块、数据处理模块的数据指令信息,对这些信息进行分类,分为上行信息和下行信息,其中,上行信息为无人机定位导航模块发送到监控模块的数据指令信息,包括响应信息、警报类信息、无人机终端登录信息和GPS信息;下行信息为监控模块发送到无人机定位导航模块的数据指令信息,包括监控模块发送的指令请求信息;并将上行信息中的终端登录信息发送给无人机身份认证模块,其它上行信息发送给数据处理模块,下行数据发送给下行数据解析模块;所述的无人机身份认证模块接收数据控制模块发送的终端登录信息并向数据处理模块发送无人机终端注册请求信息,接收到数据处理模块发送的无人机终端注册信息后,校对终端登录信息与终端注册信息,确定无人机终端的合法性,将登录结果信息发送到数据控制模块;所述的数据处理模块接收数据控制模块和无人机身份认证模块的无人机终端注册请求信息和上行信息,将信息由JAVA类转换为JSON格式,其中无人机终端注册请求信息发送到飞控中心数据存取模块,上行信息发送到飞控中心数据存取模块和调度中心接口模块;同时所述的数据处理模块接收飞控中心数据存取模块的无人机终端注册信息和调度中心接口模块的指令信息,将这些信息由JSON格式转换为JAVA类,并将无人机终端注册信息发送到无人机身份认证模块,指令信息发送到数据控制模块;所述的飞控中心数据存取模块,接收数据处理模块的无人机终端注册请求信息和上行信息,获取线程池连接,并将这些信息由JSON格式转换成相应的SQL语句,发送给Oracle数据库模块,并且接收Oracle数据库模块的无人机终端注册信息,发送给数据处理模块;所述的调度中心接口模块,接收数据处理模块的JSON格式的上行信息,转发给调度中心模块;同时所述的调度中心接口模块接收调度中心模块的指令信息,将JSON格式的指令信息转发给数据处理模块。
作为本发明的进一步技术方案,所述的调度中心模块包括飞控中心接口模块、调度中心控制模块、监控接口模块,、监控鉴权模块、调度中心数据读取模块、业务指令解析模块以及业务指令转发模块;所述的飞控中心接口模块,接收飞控中心模块的JSON格式的上行信息,发送给调度中心控制模块,并向飞控中心模块发送监控模块产生的指令信息;所述的调度中心控制模块,接收飞控中心接口模块、监控鉴权模块和业务指令解析模块的上行信息、监控鉴权信息和指令信息,对这些信息进行分类,分为上行信息和下行信息,其中,上行信息为无人机定位导航模块发送到监控模块的数据指令信息,包括飞控中心接口模块的上行信息和监控鉴权信息;下行信息为监控模块发送到无人机定位导航模块的数据指令信息,包括指令信息;并将上行信息发送至监控鉴权模块,下行信息发送至飞控中心接口模块;所述的监控接口模块将上行信息发送到调度中心接口模块,同时接收调度中心接口模块的连接请求信息,将连接请求信息发送给监控鉴权模块;所述的监控鉴权模块,接收调度中心控制模块的上行信息和监控接口模块的连接请求信息,并读取调度中心数据读取模块的用户信息,将连接请求信息与用户信息进行校对,验证请求者身份,并将身份验证结果信息和上行信息发送到监控接口模块;所述的调度中心数据读取模块固定时间间隔扫描Oracle数据库模块中的指令二维表,读取指令信息并存放在队列中,将队头指令取出并发送给业务指令解析模块;所述的业务指令解析模块,接收调度中心数据读取模块的指令信息,将指令信息的格式由字符串转换为JSON格式,发送给调度中心控制模块;所述的业务指令转发模块接收业务指令解析模块的指令信息,将JSON格式的业务指令发送到飞控中心接口模块。
作为本发明的进一步技术方案,所述的中间接口模块包括WebService接口模块和调度中心接口模块;所述的WebService接口模块包括数据发送模块和数据接收模块;所述的数据发送模块接收监控模块的用户信息和服务请求信息,发送到WebService模块;所述的数据接收模块接收WebService模块的身份验证信息和服务响应信息,将这些信息转换为XML文件,用Unicode码编码,发送给相应的监控模块;所述的调度中心接口模块包括数据发送模块和数据接收模块;所述的数据发送模块接收监控模块的连接请求信息和心跳信息,将连接请求信息的编码格式由监控终端二进制码转换为GBK码,发送到调度中心模块;所述的数据接收模块,接收调度中心模块的上行信息,将上行信息的编码格式由GBK码转换为监控终端二进制码,发送到监控模块。
作为本发明的进一步技术方案,所述的监控模块包括Android监控模块、IOS监控模块和PC端监控模块;所述的Android监控模块包括Android身份识别模块、Android端Web数据处理模块、Android服务请求模块、Android服务处理模块、Android调度中心接入模块、Android监控心跳模块、Android无人机数据处理模块、Android地图监控模块以及Android禁飞警报模块;所述的Android身份识别模块,读取登陆界面的用户信息,编写成JSON格式,发送给Android端Web数据处理模块;并接收Android端Web数据处理模块的身份验证信息,通过身份验证后,将身份验证结果发送到Android服务请求模块和Android调度中心接入模块;所述的Android端Web数据处理模块,接收Android身份识别模块和Android服务请求模块的JSON格式的用户信息和服务请求信息,采用SoapObject类封装形成一条Soap消息,并基于http协议,用HttpTransportSE类设置url,访问WebService,最后采用SoapSerializationEnvelope类的getResponse方法接收Android端Web数据处理模块的身份验证信息和服务响应结果,分别发送到Android身份识别模块和Android服务处理模块;所述的Android服务请求模块,接收Android身份识别模块的身份验证结果,当身份验证结果正确时对权限范围内的无人机下达服务请求指令,将这些服务请求指令包装成JSON格式,发送给Android端Web数据处理模块;其中,服务请求指令包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置,参数查询包括无人机历史轨迹查询、定位跟踪;所述的Android服务处理模块,接收Android端Web数据处理模块的服务响应信息,将信息由JSON格式转换为JAVA类,发送给Android地图监控模块;所述的Android调度中心接入模块,接收Android身份识别模块的身份验证结果,当身份验证结果正确时,产生与调度中心模块的连接请求信息,发送到Android无人机数据处理模块,同时接收Android无人机数据处理模块的监控鉴权信息,当监控鉴权信息正确时,发送监控鉴权结果到Android监控心跳模块;监控鉴权信息正确后,Android调度中心接入模块接收Android监控心跳模块的心跳信息,并发送到Android无人机数据处理模块;所述的Android监控心跳模块,接收Android调度中心接入模块的监控鉴权结果,产生心跳报文,固定时间间隔发送到Android调度中心接入模块,确保用户处于监控状态;所述的Android无人机数据处理模块,接收调度中心接口模块的上行信息,将上行信息的格式由JSON格式转换为JAVA类,其中,监控鉴权信息发送给Android调度中心接入模块,其它上行信息发送给Android地图监控模块;同时接收Android调度中心接入模块的连接请求信息和心跳信息,将这些信息的格式由JAVA类转换成JSON格式,发送到调度中心接口模块;所述的Android地图监控模块接收Android服务处理模块和Android无人机数据处理模块的服务响应信息和上行信息,将上行信息中的实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中,警报类信息先发送给Android禁飞警报模块进行预处理;所述的Android禁飞警报模块,接收Android服务处理模块的警报类信息,读取警报类信息的警报等级、警报方式和无人机状态数据,发送给Android地图监控模块;
所述的IOS监控模块包括IOS身份识别模块、IOS端Web数据处理模块、IOS服务请求模块,IOS服务处理模块、IOS调度中心接入模块、IOS监控心跳模块、IOS无人机数据处理模块、IOS地图监控模块以及IOS禁飞警报模块;所述的IOS身份识别模块,读取登陆界面的用户信息,编写成JSON格式,发送给IOS端Web数据处理模块,并接收IOS端Web数据处理模块的身份验证信息,通过身份验证后,将身份验证结果发送到IOS服务请求模块和IOS调度中心接入模块;所述的IOS端Web数据处理模块接收IOS身份识别模块和IOS服务请求模块的JSON格式的用户信息和服务请求信息,采用SoapMsg类封装形成一条Soap消息,并基于http协议,用NSMutableURLRequest类设置url,访问WebService,最后采用NSURLSession类的NSURLResponse方法接收IOS端Web数据处理模块的身份验证信息和服务响应结果,分别发送到IOS身份识别模块和IOS服务处理模块;所述的IOS服务请求模块,接收IOS身份识别模块的身份验证结果,当身份验证结果正确时,对权限范围内的无人机下达服务请求指令,将这些服务请求信息包装成JSON格式,发送给IOS端Web数据处理模块,其中,服务请求信息包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置;参数查询包括无人机历史轨迹查询、定位跟踪;所述的IOS服务处理模块,接收IOS端Web数据处理模块的服务响应信息,将信息由JSON格式转换为Objective-C类,发送给IOS地图监控模块;所述的IOS调度中心接入模块,接收IOS身份识别模块的身份验证结果,当身份验证结果正确时,产生与调度中心模块的连接请求信息,发送到IOS无人机数据处理模块,同时接收IOS无人机数据处理模块的监控鉴权信息,当监控鉴权信息正确时,发送监控鉴权结果到IOS监控心跳模块;监控鉴权信息正确后,IOS调度中心接入模块接收IOS监控心跳模块的心跳信息,并发送到IOS无人机数据处理模块;所述的IOS监控心跳模块,接收IOS调度中心接入模块的监控鉴权结果,产生心跳报文,固定时间间隔发送到IOS调度中心接入模块,确保用户处于监控状态;所述的IOS无人机数据处理模块接收调度中心接口模块的上行信息,将上行信息的格式由JSON格式转换为Objective-C类,其中,监控鉴权信息发送给IOS调度中心接入模块,其它上行信息发送给IOS地图监控模块;同时接收IOS调度中心接入模块的连接请求信息和心跳信息,将这些信息的格式由Objective-C类转换成JSON格式,发送到调度中心接口模块;所述的IOS地图监控模块,接收IOS服务处理模块和IOS无人机数据处理模块的服务响应信息和上行信息,将上行信息中的实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中警报类信息先发送给IOS禁飞警报模块进行预处理;所述的IOS禁飞警报模块,接收IOS服务处理模块的警报类信息,读取警报类信息的警报等级、警报方式和无人机状态数据,发送给IOS地图监控模块;
所述的PC端监控模块包括PC身份识别模块、PC端Web数据处理模块、PC服务请求模块、PC服务处理模块、PC调度中心接入模块、PC监控心跳模块、PC无人机数据处理模块、PC地图监控模块以及PC禁飞警报模块;所述的PC身份识别模块,读取登陆界面的用户信息,编写成JSON格式,发送给PC端Web数据处理模块,并接收PC端Web数据处理模块的身份验证信息,通过身份验证后,将身份验证结果发送到PC服务请求模块和PC调度中心接入模块;所述的PC端Web数据处理模块,接收PC身份识别模块和PC服务请求模块的JSON格式的用户信息和服务请求信息,采用SoapHelper类封装形成一条Soap消息,并基于http协议,用WebRequest类设置url,访问WebService,最后采用WebRequest类的GetResponse方法接收PC端Web数据处理模块的身份验证信息和服务响应结果,分别发送到PC身份识别模块和PC服务处理模块;所述的PC服务请求模块,接收PC身份识别模块的身份验证结果,当身份验证结果正确时,对权限范围内的无人机下达服务请求指令,将这些服务请求信息包装成JSON格式,发送给PC端Web数据处理模块;其中,服务请求信息包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置;参数查询包括无人机历史轨迹查询、定位跟踪;所述的PC服务处理模块,接收PC端Web数据处理模块的服务响应信息,将信息由JSON格式转换为C#类,发送给PC地图监控模块;所述的PC调度中心接入模块,接收PC身份识别模块的身份验证结果,当身份验证结果正确时,产生与调度中心模块的连接请求信息,发送到PC无人机数据处理模块,同时接收PC无人机数据处理模块的监控鉴权信息,当监控鉴权信息正确时,发送监控鉴权结果到PC监控心跳模块;监控鉴权信息正确后,PC调度中心接入模块接收PC监控心跳模块的心跳信息,并发送到PC无人机数据处理模块;所述的PC监控心跳模块,接收PC调度中心接入模块的监控鉴权结果,产生心跳报文,固定时间间隔发送到PC调度中心接入模块,确保用户处于监控状态;所述的PC无人机数据处理模块,接收调度中心接口模块的上行信息,将上行信息的格式由JSON格式转换为C#类,其中,监控鉴权信息发送给PC调度中心接入模块,其它上行信息发送给PC地图监控模块;同时接收PC调度中心接入模块的连接请求信息和心跳信息,将这些信息的格式由C#类转换成JSON格式,发送到调度中心接口模块;所述的PC地图监控模块,接收PC服务处理模块和PC无人机数据处理模块的服务响应信息和上行信息,将上行信息中的实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中,警报类信息先发送给PC禁飞警报模块进行预处理;所述的PC禁飞警报模块,接收PC服务处理模块的警报类信息,读取警报类信息的警报等级、警报方式和无人机状态数据,发送给PC地图监控模块。
作为本发明的进一步技术方案,所述的WebService模块包括监控服务接口模块、监控服务授权模块、服务数据存取模块、服务请求解析模块、服务信息处理模块和服务响应解析模块;所述的监控服务接口模块包括监控服务请求模块和监控服务响应模块;所述的监控服务请求模块接收监控模块的XML文件,取出用户信息和服务请求信息,并将这些信息的编码格式由Unicode码转换为GBK码,发送给监控服务授权模块;所述的监控服务响应模块接收服务响应解析模块的JSON格式的身份验证信息和服务响应信息,并将这些信息的编码格式由GBK码转换为Unicode码,包装成Soap消息并基于http协议,发送给监控模块;所述的监控服务授权模块,接收监控服务请求模块的身份验证信息和服务请求信息,取出其中的身份验证信息,发送给服务数据存取模块验证用户身份,接收服务数据存取模块的身份验证结果,当身份认证结果为正确时,发送服务请求信息给服务请求解析模块;所述的服务数据存取模块,接收监控服务授权模块和服务信息处理模块的JSON格式的身份验证信息和指令信息,获取线程池连接,并将这些信息转换成相应的SQL语句,发送给Oracle数据库模块,然后接收Oracle数据库模块返回的身份验证结果和服务响应信息,将身份验证结果发送给监控服务授权模块,并将身份验证结果和服务响应信息发送给服务响应解析模块;所述的服务请求解析模块,接收监控服务授权模块转发的JSON格式的服务请求信息,将信息的格式由JSON格式转换成JAVA类,取出服务请求信息中的服务指令名称,找到对应服务指令名称的方法名,并将方法名和服务请求信息中的服务指令参数到服务信息处理模块;所述的服务信息处理模块,接收服务请求解析模块的方法名及指令参数,调用方法名对应的方法,并将服务指令参数封装成JSON格式的指令信息,发送给服务数据存取模块;所述的服务响应解析模块,接收服务数据存取模块的身份验证结果和服务响应信息,将这些信息的格式由JAVA类转换成JSON格式,发送给监控服务响应模块。
作为本发明的进一步技术方案,所述的Oracle数据库模块包括Oracle数据存取控制模块和Oracle数据存储模块;所述的Oracle数据存取控制模块,接收飞控中心数据存取模块的无人机终端注册请求信息、上行信息和服务数据存取模块的身份验证信息、指令信息,获取这些信息所在的二维表名称和相关的存储、查询数据,通过Oracle数据库连接池,将二维表名称和存储、查询数据发送给Oracle数据库存储模块,并接收Oracle数据库存储模块返回的记录集,将记录集封装成无人机终端注册信息、身份验证结果和服务响应信息,其中,无人机终端注册信息发送给飞控中心数据存取模块,身份验证结果和服务响应信息发送给服务数据存取模块;所述的Oracle数据库存储模块包括主信息模块和定位辅助模块,Oracle数据库存储模块接收Oracle数据存取控制模块发送的二维表名称和存储、查询数据,根据二维表的名称,将存储数据模块化地存放在主信息模块,主信息模块包括无人机终端信息和无人机用户信息,无人机终端信息包括无人机终端注册信息、警报类信息及GPS信息,无人机用户信息包括身份验证信息、指令信息;定位辅助模块包括GPS定位纠偏库和运营商基站经纬度坐标库;所述的Oracle数据库存储模块将根据查询数据返回的记录集发送到Oracle数据存取控制模块。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:采用本发明可对无人机设置任意图形禁飞区,在无人机接近禁飞区时,发出警报并执行调度算法返回安全区域,支持多用户、多无人机的远程监管场景,解决无人机在禁飞区的违法飞行问题。无人机的禁飞区域可设置为任意图形,包括凸多边形和凹多边形,算法复杂度低,易于编程,成本低,同时解决硬件部署难、兼容性差的问题;无人机终端采用网关接入方式,因此具有更好的系统稳定性。数据库采用模块化管理,避免了当无人机终端接入或者撤除时造成系统结构破坏。本发明的系统完整、使用便捷,其整体监控性能好,可操作性能强,稳定性好且功能齐全,实用性强。
附图说明
图1是本发明的整体框图;
图2是本发明的整体原理结构图;
图3是本发明的系统发送下行数据流程图;
图4是本发明的系统无人机禁飞区识别导航流程图;
图5是本发明的系统上传上行数据流程图;
图6是本发明的无人机定位导航模块结构图;
图7是本发明的内缩告警区域生成图,其中,(a)任意图形禁飞区,(b)是由任意图形禁飞区生成的内缩告警区域;
图8是本发明的水平射线交点法判断示意图,其中,(a)、(c)是无人机在禁飞区内部示意图,(b)、(d)是无人机在禁飞区外部示意图;
图9是本发明的越界趋势判断示意图,其中,(a)是无人机无越界趋势示意图,(b)、(c)是无人机有越界趋势示意图;
图10是本发明的禁飞航迹规划图,其中,(a)是无人机提前返回内部安全区的禁飞航迹规划示意图,(b)是无人机未提前返回内部安全区的禁飞航迹规划示意图;
图11是本发明的飞控中心模块结构图;
图12是本发明的调度中心模块结构图;
图13是本发明的中间接口模块结构图;
图14是本发明的监控模块结构图;
图15是本发明的WebService模块结构图;
图16是本发明的Oracle数据库模块结构图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
如图1和图2所示,本发明提供的一种无人机任意图形禁飞区识别导航系统有:无人机定位导航模块1、飞控中心模块2、调度中心模块3、中间接口模块4、监控模块5、WebService模块6、Oracle数据库模块7。本发明适用于能发送GSM/3G/4G信号的无人机定位终端和能接入因特网的监控客户端,定位终端通常设置在需要进行监控和调度的无人机上,监控客户端保持在无人机用户侧。无人机定位导航模块使用TCP/IP协议,通过飞控中心接口模块1-1与无人机接口模块2-1进行数据传输,从而与飞控中心模块相连;监控模块5采用TCP/IP协议,通过中间接口模块,与WebService模块和调度中心模块分别连接;飞控中心模块与调度中心模块采用Netty协议,基于TCP/IP协议实现相连;飞控中心模块、调度中心模块和WebService模块均通过Socket接口完成与Oracle数据库模块完成数据交互。
无人机定位导航模块如图6所示,负责根据经纬度信息生成任意图形禁飞区、内缩告警区域,并通过水平射线交点法判断无人机是否进入告警区域,在无人机即将越界时系统会根据无人机的实时GPS信息和禁飞区经纬度信息强制执行调度算法,保证无人机不会驶入禁飞区,调度算法具体包括越界趋势判断和禁飞航迹规划两个部分。无人机定位导航模块包括飞控中心接口模块、接收数据解析模块1-2、发送数据解析模块1-3、GPS定位模块1-4、数据处理模块1-5、数据存储模块1-6、禁飞区图形判别模块1-7、禁飞区路由算法模块1-8以及无人机控制模块1-9。飞控中心接口模块包括飞控中心数据接收模块1-1-1和飞控中心数据发送模块1-1-2,采用TCP/IP协议传输数据;飞控中心数据接收模块通过Socket接口(由IP地址和端口实例化)接收飞控中心模块发送的指令信息,指令信息的编码由ASCII码转换为无人机终端二进制码,并发送给接收数据解析模块;飞控中心数据发送模块,通过Socket接口接收发送数据解析模块解析的数据指令信息,将无人机终端二进制码转换为ASCII码,并发送到飞控中心模块。所述的接收数据解析模块,接收从飞控中心数据接收模块发送的无人机终端二进制码,根据无人机产商提供的通信协议,解析无人机终端二进制码为相应的数据指令信息,发送给数据处理模块。发送数据解析模块,接收数据处理模块分类后的数据指令信息,根据无人机产商提供的通信协议,将这些数据指令信息,以无人机终端二进制码的编码格式进行编码,并发送给飞控中心数据发送模块。GPS定位模块,接收北斗卫星导航系统的GPS信息,转换为无人机终端二进制码,发送给数据处理模块。数据处理模块,接收GPS定位模块和接收数据解析模块的GPS信息和数据指令信息,对这些信息进行分类,分为上行信息(无人机定位导航模块发送到监控模块)的数据指令信息)和下行信息(监控模块发送到无人机定位导航模块的数据指令信息),其中上行信息包括响应信息、警报类信息和GPS信息;然后将下行信息发送到数据存储模块,将上行信息发送至发送数据解析模块。数据存储模块,接收数据处理模块分类的下行信息,存储到无人机缓存中,当监控模块发送禁飞区指令信息时,数据存储模块将禁飞区顶点经纬度信息、实时GPS信息发送至禁飞区图形判别模块;所述的禁飞区图形判别模块接收数据存储模块的上行信息(禁飞区经纬度信息、实时GPS信息),设定告警区域,并进行告警区位置判别,将判别结果以及警报类信息发送至数据存储模块。禁飞区路由算法模块接收数据存储模块中的禁飞告警信息,执行越界趋势判断和禁飞航迹规划,确保无人机驶离禁飞区。无人机控制模块接收数据存储模块的航迹规划路线,控制无人机以当前速度和规划路线飞行并回到安全区域。
如图7中的(a)和(b)所示是本发明的内缩告警区域生成图,本发明中设定告警区域采用多边形内缩法:监控模块下发禁飞区设置指令,将任意图形禁飞区顶点的经纬度信息,发送给无人机定位导航模块,由此生成禁飞区的边界。无人机只有在靠近禁飞区边界时才有可能越界,为了提高算法效率,仅在靠近禁飞区边界时(即在告警区域内)才进行越界趋势的判断并执行调度算法。禁飞区图形判别模块根据禁飞区的经纬度信息设定告警区域,该告警区域采用多边形内缩法(将多边形的各边沿着各边法线方向向内平移一定距离,依次连接平移后各边与相应顶点的角平分线的交点,构成内缩多边形):设任意图形禁飞区顶点为A[1]A[2]A[3]...A[n],内缩后的多边形顶点为A[1]'A[2]'A[3]'...A[n]',则任一内缩多边形的顶点A[i]'通过以下步骤确定:第一,作A[i-1]A[i]A[i+1]的角平分线I[i];第二,根据A[i-1]、A[i]、A[i+1]的坐标求出角A[i-1]A[i]A[i+1]的大小θ,θ<180°;第三,以d/sin(θ/2)为半径以A[i]为圆心作圆交I[i]于B[i],则B[i]即为A[i]',其中,d为多边形内缩法中向内平移的距离,该距离可由监控模块修改,作圆后会与任意图形禁飞区相应顶点的角平分线有两个交点,任意图形禁飞区外的交点可用水平射线交点法排除,而任意图形禁飞区内的交点就是所求的内缩多边形的顶点。该算法用于设定告警区域,无人机进入设定的告警区域,会向监控模块发出警报,然后执行调度算法返回安全区。
如图8中的(a)至(d)所示是本发明的水平射线交点法判断示意图。本发明中告警区位置判别采用水平射线交点法,该算法适用于任意的多边形,包括凸多边形和凹多边形。以任意一点A(无人机的实时位置)为起点,作水平向左的射线,计算该射线与多边形(告警区域)的交点奇偶性来判断该点A与多边形的位置关系;如果交点个数为奇数,点A在多边形内部,否则点A在多边形外部。具体算法为:第一,判断点A是否与多边形顶点重合,若重合则判定在多边形内部;第二,若点A不与多边形顶点重合,以点A向左作一条水平射线,并将任意多边形以有向线段(逆时针)的形式保存,依次取出每一条边,每条边可看成有向线段的终点和一条线段组成;第三,如果边与射线平行(包括重合),都不考虑该边;第四,如果边与射线垂直,则根据纬度位置判断是否点A与该边有交点;第五,如果射线既不与边垂直也不平行,且水平射线与边(有向线段终点和一条线段)相交,则点A与多边形交点总数加一;第六,统计点A与多边形交点总数,根据奇偶性判断点A与多边形的位置关系。该算法可根据实时GPS信息,判断无人机是否进入该告警区域(即在外多边形内部并且在内多边形外部),然后将告警信息发送至数据存储模块。
如图9中的(a)至(c)所示是本发明的越界趋势判断示意图,越界趋势判断过程:无人机可以在任意图形区域内进行巡逻,并且只有在靠近边界时才有概率进入禁飞区;该算法在无人机进入告警区域后开始执行,包括以下步骤:第一,假设任意图形禁飞区的边界是逆时针的有向线段,无人机进入某告警区域块后,每隔100ms判断飞行方向与边的向量积,向量积是正数,则禁飞航迹规划为朝有向线段正方向转弯,否则朝有向线段负方向转弯;第二,接收数据存储模块的实时GPS信息,在无人机前进方向,与转弯方向同侧,作圆使得圆与无人机前进方向所在直线相切,所作圆的半径r根据公式v=2πrn得到,其中,v为无人机线速度,n为发动机转速;第三,若该圆与此区域块及相邻区域块(共三块)的线段有交点,无人机会驶入禁飞区,需执行禁飞航迹规划。
如图10中的(a)和(b)所示是本发明的禁飞航迹规划图,禁飞航迹规划过程:当无人机接近禁飞区,无人机沿圆轨迹进行禁飞航迹规划,使无人机驶离禁飞区,航迹规划包括两种情况:第一,若航迹规划过程中,无人机前进方向与当前区域块的内多边形所在边的方向向量垂直,此时无人机不再沿圆轨迹前进,而是沿圆切线方向飞行,直至进入内多边形安全区域,然后停止执行航迹规划;第二,若航迹规划过程中,前进方向未与当前区域块的内多边形所在边的方向向量垂直,而已经回到内部安全区域,则在回到安全区域后自动停止执行航迹规划;该航迹规划的路线,以二进制码的形式,发送给数据存储模块。
飞控中心模块如图11所示,负责接收、解析无人机定位导航模块上传的数据报文,在无人机通过身份认证后,将数据存储至Oracle数据库模块,其中的无人机定位信息,经过定位纠偏后,实时发送至调度中心模块,同时飞控中心模块接收调度中心模块发送的业务指令,分类、解析并编码下发至相应无人机定位导航模块。飞控中心模块包括无人机接口模块、上行数据解析模块2-2、下行数据解析模块2-3、数据控制模块2-4、无人机身份认证模块2-5、飞控中心数据存取模块2-6、数据处理模块2-7以及调度中心接口模块2-8。无人机接口模块包括无人机数据接收模块2-1-1和无人机数据发送模块2-1-2;无人机数据接收模块2-1-1,使用Netty框架,由4个非阻塞IO组成,采用TCP/IP协议传输数据,通过Socket接口接收无人机定位导航模块发送的数据指令信息,将数据指令信息的编码格式由ASCII码转换为GBK码,并发送到上行数据解析模块;无人机数据发送模块,接收下行数据解析模块发送的指令信息,将指令信息的编码格式由GBK码转换为ASCII码,发送至飞控中心数据接收模块。上行数据解析模块接收无人机数据接收模块的数据指令信息,根据GPS定位通信标准协议和无人机厂商提供的通信协议,解析数据指令信息为对应的协议内容,发送至数据控制模块。下行数据解析模块接收数据控制模块分类的指令信息,根据无人机厂商提供的通信协议,将指令信息组装成无人机终端可识别的报文类型,并把指令信息发送给无人机数据发送模块。数据控制模块接收无人机身份认证模块的登录结果信息以及上行数据解析模块、数据处理模块的数据指令信息,对这些信息进行分类,分为上行信息(无人机定位导航模块发送到监控模块的数据指令信息)和下行信息(监控模块发送到无人机定位导航模块的数据指令信息),其中上行信息包括响应信息、警报类信息、无人机终端登录信息和GPS信息,下行信息包括监控模块)发送的指令请求信息;并将上行信息中的终端登录信息发送给无人机身份认证模块,其它上行信息发送给数据处理模块,下行数据发送给下行数据解析模块。无人机身份认证模块接收数据控制模块发送的终端登录信息并向数据处理模块发送无人机终端注册请求信息,接收到数据处理模块发送的无人机终端注册信息后,校对终端登录信息与终端注册信息,确定无人机终端的合法性,将登录结果信息发送到数据控制模块。数据处理模块接收数据控制模块和无人机身份认证模块的无人机终端注册请求信息和上行信息,将信息由JAVA类转换为JSON格式,其中无人机终端注册请求信息发送到飞控中心数据存取模块,上行信息发送到飞控中心数据存取模块和调度中心接口模块;同时所述的数据处理模块接收飞控中心数据存取模块的无人机终端注册信息和调度中心接口模块的指令信息,将这些信息由JSON格式转换为JAVA类,并将无人机终端注册信息发送到无人机身份认证模块,指令信息发送到数据控制模块。飞控中心数据存取模块接收数据处理模块的无人机终端注册请求信息和上行信息,获取线程池连接,并将这些信息由JSON格式转换成相应的SQL语句,发送给Oracle数据库模块,并且接收Oracle数据库模块的无人机终端注册信息,发送给数据处理模块。调度中心接口模块接收数据处理模块的JSON格式的上行信息,通过调度中心模块的Socket接口,转发给调度中心模块;同时所述的调度中心接口模块接收调度中心模块的指令信息,将JSON格式的指令信息转发给数据处理模块。
调度中心模块如图12所示,负责授权监控模块,获取业务指令和路由数据指令,将上行数据报文发送至相应的授权监控模块,下行的业务指令发送至飞控中心模块。调度中心模块包括飞控中心接口模块3-1、调度中心控制模块3-2、监控接口模块3-3、监控鉴权模块3-4、调度中心数据读取模块3-5、业务指令解析模块3-6、业务指令转发模块3-7。飞控中心接口模块接收飞控中心模块的JSON格式的上行信息(GPS信息、报警类信息、无人机状态查询结果信息),发送给调度中心控制模块,并通过飞控中心模块的Socket端口向飞控中心模块发送监控模块产生的指令信息。调度中心控制模块接收飞控中心接口模块、监控鉴权模块和业务指令解析模块的上行信息、监控鉴权信息和指令信息,对这些信息进行分类,分为上行信息(无人机定位导航模块发送到监控模块的数据指令信息)和下行信息(监控模块发送到无人机定位导航模块的数据指令信息),其中上行信息包括飞控中心接口模块的上行信息和监控鉴权信息,下行信息包括指令信息,并将上行信息发送至监控鉴权模块下行信息发送至飞控中心接口模块。监控接口模块将连接响应结果和上行信息发送到调度中心接口模块,上行数据包括GPS信息、报警类信息和无人机状态查询结果;同时接收调度中心接口模块的连接请求信息,绑定调度中心接口模块的Socket端口,将连接请求信息发送给监控鉴权模块。监控鉴权模块接收调度中心接口模块的连接请求信息,读取调度中心数据读取模块的用户信息,将连接请求信息与用户信息进行校对,验证请求者身份,并将身份验证结果发送到监控接口模块。调度中心数据读取模块每隔500ms扫描Oracle数据库中的指令二维表,读取业务指令信息并存放在队列中,将队头指令取出并发送给业务指令解析模块。业务指令解析模块接收调度中心数据读取模块的指令信息,将将指令信息的格式由字符串转换为JSON格式,发送给调度中心控制模块。业务指令转发模块接收业务指令解析模块的指令数据,将JSON格式的业务指令发送到飞控中心接口模块。
中间接口模块如图13所示,是系统与监控端的数据收发中间件,负责系统后台与监控模块的数据、指令信息的发送与接收,实现不同平台间的资源共享。中间接口模块包括WebService接口模块4-1、调度中心接口模块4-2。其中WebService具有跨平台特性,使得不同操作系统的监控端都可通过WebService访问服务器并获取相应服务。WebService接口模块包括数据发送模块4-1-1和数据接收模块4-1-2;数据发送模块接收监控模块的用户信息和服务请求信息,这些信息是由XML文件表示(基于Soap协议,用Unicode码编码),通过wsdl描述文件定位服务入口参数,发送到WebService模块;数据接收模块接收WebService模块的身份验证信息和服务响应信息,将这些信息转换为XML文件,用Unicode码编码,发送给相应的监控模块。调度中心接口模块包括数据发送模块4-2-1和数据接收模块4-2-2;数据发送模块接收监控模块的连接请求信息和心跳信息,将连接请求信息的编码格式由监控终端二进制码转换为GBK码,发送到调度中心模块;数据接收模块接收调度中心模块的上行信息,将上行信息的编码格式由GBK码转换为监控终端二进制码,发送到监控模块。
监控模块如图14所示,负责产生禁飞区设置指令并对无人机进行实时监测与调度,包括Android监控模块5-1、IOS监控模块5-2、PC端监控模块5-3。
Android监控模块包括Android身份识别模块5-1-1、Android端Web数据处理模块5-1-2、Android服务请求模块5-1-3、Android服务处理模块5-1-4、Android调度中心接入模块5-1-5、Android监控心跳模块5-1-6、Android无人机数据处理模块5-1-7、Android地图监控模块5-1-8、Android禁飞警报模块5-1-9;Android身份识别模块读取登陆界面的用户信息(账号、密码),编写成JSON格式,发送给Android端Web数据处理模块,并接收Android端Web数据处理模块的身份验证信息,通过身份验证后,将身份验证结果发送到Android服务请求模块和Android调度中心接入模块;Android端Web数据处理模块接收Android身份识别模块和Android服务请求模块的JSON格式的的用户信息和服务请求信息,采用SoapObject类封装这些信息形成一条Soap消息,并基于http协议,用HttpTransportSE类设置url,访问WebService,最后采用SoapSerializationEnvelope的getResponse方法Android端Web数据处理模块的身份验证信息和服务响应结果,分别发送到Android身份识别模块和Android服务处理模块;Android服务请求模块接收Android身份识别模块的身份验证结果,当身份验证结果正确时,可以对权限范围内的无人机下达服务请求指令,将这些服务请求信息包装成JSON格式发送给Android端Web数据处理模块,服务请求信息包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置,参数查询包括无人机历史轨迹查询、定位跟踪;Android服务处理模块接收Android端Web数据处理模块的服务响应信息,将信息(报警类信息、GPS信息和查询结果类信息)由JSON格式转换为JAVA类发送给Android地图监控模块;Android调度中心接入模块接收Android身份识别模块的身份验证结果,当身份验证结果正确时产生与调度中心模块连接的请求信息发送到Android无人机数据处理模块,同时接收Android无人机数据处理模块的监控鉴权信息,当监控鉴权信息正确时发送监控鉴权结果到Android监控心跳模块,监控鉴权信息正确后,Android调度中心接入模块接收Android监控心跳模块的心跳信息,并发送到Android无人机数据处理模块;Android监控心跳模块接收Android调度中心接入模块的监控鉴权结果,产生心跳报文,每隔1s发送到Android调度中心接入模块,确保用户处于监控状态,若调度中心模块长时间未收到监控模块的心跳报文,则自动断开与该监控模块的连接;Android无人机数据处理模块的上行信息,将上行信息的格式由JSON格式转换为JAVA类,其中监控鉴权信息发送给Android调度中心接入模块,其它上行信息发送给Android地图监控模块,同时接收Android调度中心接入模块的连接请求信息和心跳信息,将这些信息的格式由JAVA类转换成JSON格式,发送到调度中心接口模块;Android地图监控模块接收Android服务处理模块和Android无人机数据处理模块的JAVA类数据(实时GPS位置、报警类信息和查询结果类信息),使用百度地图API提供的BaiduMap类显示百度地图,并把实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中警报类信息需要先发送给Android禁飞警报模块进行预处理;Android禁飞警报模块接收Android服务处理模块的警报类信息,读取JAVA类中的警报等级、警报方式和无人机状态数据,发送给Android地图监控模块。
IOS监控模块包括IOS身份识别模块5-2-1、IOS端Web数据处理模块5-2-2、IOS服务请求模块5-2-3、IOS服务处理模块5-2-4、IOS调度中心接入模块5-2-5、IOS监控心跳模块5-2-6、IOS无人机数据处理模块5-2-7、IOS地图监控模块5-2-8、IOS禁飞警报模块5-2-9;IOS身份识别模块读取登陆界面的用户信息(账号、密码),编写成JSON格式,发送给IOS端Web数据处理模块,并接收IOS端Web数据处理模块的身份验证信息,通过身份验证后,将身份验证结果发送到IOS服务请求模块和IOS调度中心接入模块;IOS端Web数据处理模块接收IOS身份识别模块和IOS服务请求模块的JSON格式的指令信息(用户信息和服务请求信息),采用SoapMsg类封装这些信息形成一条Soap消息,并基于http协议,用NSMutableURLRequest类设置url,访问WebService,最后采用NSURLSession的NSURLResponse方法接收IOS端Web数据处理模块的身份验证信息和服务响应结果,分别发送到IOS身份识别模块和IOS服务处理模块;IOS服务请求模块接收IOS身份识别模块的身份验证结果,当身份验证结果正确时可以对权限范围内的无人机下达服务请求指令,将这些服务请求信息包装成JSON格式,发送给IOS端Web数据处理模块,服务请求指令包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置,参数查询包括无人机历史轨迹查询、定位跟踪;IOS服务处理模块,接收IOS端Web数据处理模块的服务响应信息,将JSON格式的信息(报警类信息、GPS信息和查询结果类信息)转换为Objective-C类,发送给IOS地图监控模块;IOS调度中心接入模块接收IOS身份识别模块的身份验证结果,当身份验证结果正确时产生与调度中心模块连接的请求信息,发送到IOS无人机数据处理模块,同时接收IOS无人机数据处理模块的监控鉴权信息,当监控鉴权信息正确时,发送监控鉴权结果到IOS监控心跳模块,监控鉴权信息正确后,IOS调度中心接入模块接收IOS监控心跳模块的心跳信息,并发送到IOS无人机数据处理模块;IOS监控心跳模块接收IOS调度中心接入模块的监控鉴权结果,产生心跳报文,每隔1s发送到IOS调度中心接入模块,确保用户处于监控状态,若调度中心模块长时间未收到监控模块的心跳报文,则自动断开与该监控模块的连接;IOS无人机数据处理模块接收调度中心接口模块的上行信息,将上行信息的格式由JSON格式转换为Objective-C类,其中监控鉴权信息发送给IOS调度中心接入模块(5-1-5),其它上行信息发送给IOS地图监控模块,同时接收IOS调度中心接入模块的连接请求信息和心跳信息,将这些信息的格式由Objective-C类转换成JSON格式,发送到调度中心接口模块;IOS地图监控模块接收IOS服务处理模块和IOS无人机数据处理模块的Objective-C类服务响应信息和上行信息(实时GPS位置、报警类信息和查询结果类信息),使用百度地图API提供的BMKMapView类显示百度地图,并把上行信息中的实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中警报类信息需要先发送给IOS禁飞警报模块进行预处理;IOS禁飞警报模块接收IOS服务处理模块的警报类信息,读取警报等级、警报方式和无人机状态数据,发送给IOS地图监控模块。
PC监控模块包括PC身份识别模块5-3-1、PC端Web数据处理模块5-3-2、PC服务请求模块5-3-3、PC服务处理模块5-3-4、PC调度中心接入模块5-3-5、PC监控心跳模块5-3-6、PC无人机数据处理模块5-3-7、PC地图监控模块5-3-8、PC禁飞警报模块5-3-9;PC身份识别模块读取登陆界面的用户信息(账号、密码),编写成JSON格式,发送给PC端Web数据处理模块,并接收PC端Web数据处理模块的身份验证信息,通过身份验证后,将身份验证结果发送到PC服务请求模块和PC调度中心接入模块;PC端Web数据处理模块接收PC身份识别模块和PC服务请求模块的JSON格式的用户信息和服务请求信息,采用SoapHelper类封装这些信息形成一条Soap消息,并基于http协议,用WebRequest类设置url,访问WebService,最后采用WebRequest的GetResponse方法接收PC端Web数据处理模块的身份验证信息和服务响应结果,分别发送到PC身份识别模块和PC服务处理模块;PC服务请求模块接收PC身份识别模块的身份验证结果,当身份验证结果正确时,可以对权限范围内的无人机下达服务请求指令,将这些服务请求信息包装成JSON格式,发送给PC端Web数据处理模块,服务指令包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置,参数查询包括无人机历史轨迹查询、定位跟踪;PC服务处理模块接收PC端Web数据处理模块的服务响应信息,解析JSON格式的信息(报警类信息、GPS信息和查询结果类信息)为C#类,发送给PC地图监控模块;PC调度中心接入模块接收PC身份识别模块的身份验证结果,当身份验证结果正确时,产生与调度中心模块的连接请求信息,发送到PC无人机数据处理模块,同时接收PC无人机数据处理模块的监控鉴权信息,当监控鉴权信息正确时,发送监控鉴权结果到PC监控心跳模块,监控鉴权信息正确后,PC调度中心接入模块接收PC监控心跳模块的心跳信息,并发送到PC无人机数据处理模块;PC监控心跳模块PC调度中心接入模块的监控鉴权结果,产生心跳报文,每隔1s发送到PC调度中心接入模块,确保用户处于监控状态,若调度中心模块长时间未收到监控模块的心跳报文,则自动断开与该监控模块的连接;PC无人机数据处理模块接收调度中心接口模块的上行信息,将上行信息的格式由JSON格式转换为C#类,其中监控鉴权信息发送给PC调度中心接入模块,其它上行信息发送给PC地图监控模块,同时接收PC调度中心接入模块的连接请求信息和心跳信息,将这些信息的格式由C#类转换成JSON格式,发送到调度中心接口模块;PC地图监控模块5-3-8接收PC服务处理模块和PC无人机数据处理模块的C#类服务响应信息和上行信息(实时GPS位置、报警类信息和查询结果类信息),使用百度地图API提供的BMap类显示百度地图,并把上行信息中的实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中警报类信息需要先发送给PC禁飞警报模块进行预处理;PC禁飞警报模块接收PC服务处理模块的警报类信息,读取C#类警报类信息的警报等级、警报方式和无人机状态数据,发送给PC地图监控模块。
WebService模块如图15所示,负责接收与处理各监控模块的业务指令,实现跨平台服务调用,包括监控端服务接口模块6-1、监控端服务授权模块6-2、服务数据存取模块6-3、服务请求解析模块6-4、服务信息处理模块6-5、服务响应解析模块6-6。监控服务接口模块包括监控服务请求模块6-1-1和监控服务响应模块6-1-2;监控服务请求模块接收监控模块的XML文件,取出用户信息和服务请求信息,并将这些信息的编码格式由Unicode码转换为GBK码,发送给监控服务授权模块;监控服务响应模块接收服务响应解析模块的JSON格式的身份验证信息和服务响应信息,并将这些信息的编码格式由GBK码转换为Unicode码,包装成Soap消息并基于http协议,发送给监控模块。监控服务授权模块接收监控服务请求模块的身份验证信息和服务请求信息,取出其中的身份验证信息,发送给服务数据存取模块验证用户身份,接收服务数据存取模块的身份验证结果,当身份认证结果为正确时,发送服务请求信息给服务请求解析模块;服务数据存取模块接收监控服务授权模块和服务信息处理模块的JSON格式的身份验证信息和指令信息,获取线程池连接,并将这些信息转换成相应的SQL语句,发送给Oracle数据库模块,然后接收Oracle数据库模块返回的身份验证结果和服务响应信息,将身份验证结果发送给监控服务授权模块,并将身份验证结果和服务响应信息发送给服务响应解析模块;服务请求解析模块接收监控服务授权模块转发的JSON格式的服务请求信息,将信息的格式由JSON格式转换成JAVA类,取出服务请求信息中的服务指令名称,找到对应服务指令名称的方法名,并将方法名和服务请求信息中的服务指令参数到服务信息处理模块;服务信息处理模块接收服务请求解析模块的方法名及指令参数,调用方法名对应的方法,并将服务指令参数封装成JSON格式的指令信息,发送给服务数据存取模块;服务响应解析模块接收服务数据存取模块的身份验证结果和服务响应信息,将这些信息的格式由JAVA类转换成JSON格式,发送给监控服务响应模块。
Oracle数据库模块如图16所示,负责通过Oracle数据库连接池,高效地存取无人机终端信息、用户信息、GPS定位纠偏库和运营商基站经纬度坐标库,包括Oracle数据存取控制模块7-1和Oracle数据存储模块7-2,负责高效存取无人机及用户信息。Oracle数据存取控制模块接收飞控中心数据存取模块的无人机终端注册请求信息、上行信息和服务数据存取模块的身份验证信息、指令信息,获取这些信息所在的二维表名称和相关的存储、查询数据,通过Oracle数据库连接池,将二维表名称和存储、查询数据发送给Oracle数据库存储模块,并接收Oracle数据库存储模块返回的记录集,将记录集封装成无人机终端注册信息、身份验证结果和服务响应信息,其中无人机终端注册信息发送给飞控中心数据存取模块,身份验证结果和服务响应信息发送给服务数据存取模块;Oracle数据库存储模块包括主信息模块和定位辅助模块,Oracle数据库存储模块接收Oracle数据存取控制模块)发送的二维表名称和存储、查询数据,根据二维表的名称,将存储数据模块化地存放在主信息模块,主信息模块包括无人机终端信息(包括无人机终端注册信息、警报类信息及GPS信息)和无人机用户信息(包括身份验证信息、指令信息);而定位辅助模块包括GPS定位纠偏库和运营商基站经纬度坐标库;另外,所述的Oracle数据库存储模块并将根据查询数据返回的记录集发送到Oracle数据存取控制模块。
本发明系统发送下行数据流程如图3所示:
第一步,监控模块身份认证;首先系统启动并绑定各个模块的端口,其中WebService模块访问因特网,在UDDI业务注册中心,注册服务器的url与要提供的服务,并让调度中心模块处于监听状态;然后监控模块通过url与端口,访问WebService服务器并进行身份认证服务;通过身份认证后,监控模块发送调度中心连接请求到调度中心模块,调度中心模块收到连接请求后,与监控模块建立连接,监控端成功接入系统后台。
第二步,监控模块生成禁飞区设置指令;监控模块通过WebService模块的身份认证后,将禁飞区设置指令发送给WebService模块,服务请求解析模块解析出指令名称和指令参数信息,然后信息处理模块将指令组装成JSON格式数据,存放到Oracle数据库的二维表中。
第三步,调度中心路由转发禁飞区设置指令;调度中心数据读取模块生成一个队列用于存放指令信息,该队列不断扫描Oracle数据库的指令二维表,将读到的指令加入到队列;并且先取出队首的指令,以JSON格式转发到无人机终端对应的飞控中心模块。
第四步,飞控中心解析与发送禁飞区设置指令至无人机定位导航模块;下行数据解析模块接收到调度中心的指令,根据无人机产商提供的通信协议解析,转换成无人机终端报文;无人机数据发送模块将报文从ASCII码报文转换为无人机终端二进制码,然后发送到无人机的飞控中心数据接收模块。
本发明系统无人机禁飞区识别导航流程如图4所示:
第一步,生成任意图形禁飞区并设定告警区域;飞控中心数据接收模块接收到监控模块发送禁飞区设置指令后,接收数据解析模块取出任意图形禁飞区的顶点经纬度坐标,并将坐标发送给无人机定位导航模块,由此生成禁飞区的边界;然后禁飞区图形判别模块通过禁飞区的经纬度信息,设定告警区域,告警区域通过内缩多边形法生成,包括若干个区域块,由禁飞区边界向内平移形成,平移距离可由授权的监控模块调整,无人机仅在告警区域内进行越界趋势判断。
第二步,无人机进入告警区域并判断越界趋势;无人机通过水平射线交点法判断进入告警区域后,向监控模块发送警报类信息,同时禁飞区路由算法模块执行越界趋势判断算法,判断无人机在前行方向的外切圆是否与任意图形禁飞区有交点,无人机接近禁飞区时执行禁飞航迹规划算法。
第三步,无人机接近禁飞区时,执行禁飞航迹规划;禁飞区路由算法模块判断有交点时,说明无人机有越界趋势,无人机立即执行禁飞航迹规划算法,沿圆轨迹飞行,驶离禁飞区并回到安全区域。
系统上传上行数据流程如图5所示。
第一步,无人机定位导航模块身份认证;系统启动后,无人机数据接收模块采用Netty框架,调用ServerBootstrap类初始化Netty服务器,设置为监听状态;然后调用ChannelPipelineFactory类设置Netty服务器与客户端的通信信道,并绑定Netty服务器端口;接着无人机终端向飞控中心模块发送连接请求,无人机身份认证模块调用Oracle数据库中的无人机注册信息,通过身份验证后接受无人机终端的连接请求,系统与无人机终端建立TCP/IP连接。
第二步,飞控中心模块解析无人机终端报文信息,并转发至调度中心模块;无人机数据接收模块接收到无人机终端模块发送的数据报文后,转换为GBK码,然后上行数据解析模块按照无人机产商提供的通信协议,解析报文,获取数据信息,其中报文中GPS数据要经过数据处理模块GPS经纬度纠偏,基站信息要进行经纬度的转换;然后将解析后的报文转换为JSON格式,存储至Oracle数据库模块,同时转发给调度中心模块。
第三步,调度中心模块路由报文信息至有权限的监控模块;调度中心模块收到无人机终端上发的数据报文后,监控鉴权模块从数据报文中获取用户信息,并遍历监控端用户在线列表,查找是否有匹配的用户存在,如果该用户存在,通过TCP/IP协议,将JSON格式的数据报文路由至相应授权监控端,否则鉴权失败,丢弃该报文。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (7)
1.一种无人机任意图形禁飞区识别导航系统,其特征在于,包括无人机定位导航模块(1)、飞控中心模块(2)、调度中心模块(3)、中间接口模块(4)、监控模块(5)、WebService模块(6)以及Oracle数据库模块(7);其中:无人机定位导航模块(1)与飞控中心模块(2)相连;监控模块(5)通过中间接口模块(4)与WebService模块(6)和调度中心模块(3)分别连接;飞控中心模块(2)与调度中心模块(3)相连;飞控中心模块(2)、调度中心模块(3)和WebService模块(6)分别与Oracle数据库模块(7)进行数据交互;
所述的无人机定位导航模块(1)包括飞控中心接口模块(1-1)、接收数据解析模块(1-2)、发送数据解析模块(1-3)、GPS定位模块(1-4)、数据处理模块(1-5)、数据存储模块(1-6)、禁飞区图形判别模块(1-7)、禁飞区路由算法模块(1-8)以及无人机控制模块(1-9);
所述的飞控中心接口模块(1-1)包括飞控中心数据接收模块(1-1-1)和飞控中心数据发送模块(1-1-2),采用TCP/IP协议进行数据传输;所述的飞控中心数据接收模块(1-1-1)接收飞控中心模块(2)发送的指令信息,将指令信息由ASCII码转换为无人机终端二进制码,并发送给接收数据解析模块(1-2);所述的飞控中心数据发送模块(1-1-2),接收发送数据解析模块(1-3)解析的数据指令信息,将数据指令信息由无人机终端二进制码转换为ASCII码,并发送到飞控中心模块(2);
所述的接收数据解析模块(1-2),接收从飞控中心数据接收模块(1-1-1)发送的无人机终端二进制码指令信息,根据无人机产商提供的通信协议,将无人机终端二进制码指令信息解析为相应的数据指令信息,发送给数据处理模块(1-5);
所述的发送数据解析模块(1-3),接收数据处理模块(1-5)分类后的数据指令信息,根据无人机产商提供的通信协议,将分类后的数据指令信息以无人机终端二进制码的编码格式进行编码,并发送给飞控中心数据发送模块(1-1-2);
所述的GPS定位模块(1-4),接收北斗卫星导航系统的GPS信息,转换为无人机终端二进制码,发送给数据处理模块(1-5);
所述的数据处理模块(1-5),接收GPS定位模块(1-4)和接收数据解析模块(1-2)的GPS信息和数据指令信息并进行分类,分为上行信息和下行信息,其中,上行信息为无人机定位导航模块(1)发送到监控模块(5)的数据指令信息,包括响应信息、警报类信息和GPS信息;下行信息为监控模块(5)发送到无人机定位导航模块(1)的数据指令信息;将下行信息发送到数据存储模块(1-6),将上行信息发送至发送数据解析模块(1-3);
所述的数据存储模块(1-6),接收数据处理模块(1-5)分类的下行信息,存储到无人机缓存中,当监控模块(5)发送禁飞区指令信息时,数据存储模块(1-6)将禁飞区顶点经纬度信息、实时GPS信息发送至禁飞区图形判别模块(1-7);
所述的禁飞区图形判别模块(1-7)接收数据存储模块(1-6)的上行信息,设定告警区域,并进行告警区位置判别,将判别结果以及警报类信息发送至数据存储模块(1-6);
所述的禁飞区路由算法模块(1-8),接收数据存储模块(1-6)中的禁飞告警信息,执行越界趋势判断和禁飞航迹规划,确保无人机驶离禁飞区;
所述的无人机控制模块(1-9),接收数据存储模块(1-6)的航迹规划路线,控制无人机以当前速度和规划路线飞行并回到安全区域;
所述的禁飞区图形判别模块(1-7)根据禁飞区的经纬度信息采用多边形内缩法设定告警区域,多边形内缩法即为:将多边形的各边沿着各边法线方向向内平移一定距离,依次连接平移后各边与相应顶点的角平分线的交点,构成内缩多边形,具体为:
设任意图形禁飞区顶点为A[1]A[2]A[3]...A[n],内缩后的多边形顶点为A[1]'A[2]'A[3]'...A[n]',则任一内缩多边形的顶点A[i]'通过以下步骤确定:第一,作A[i-1]A[i]A[i+1]的角平分线I[i];第二,根据A[i-1]、A[i]、A[i+1]的坐标求出角A[i-1]A[i]A[i+1]的大小θ,θ<180°;第三,以d/sin(θ/2)为半径以A[i]为圆心作圆交I[i]于B[i],则B[i]即为A[i]’,d为多边形内缩法中向内平移的距离,该距离可由监控模块(5)设定;
所述的禁飞区图形判别模块(1-7)采用水平射线交点法进行告警区位置判别,具体为:
第一,判断无人机当前位置点A是否与多边形告警区域的顶点重合,若重合则判定无人机在多边形告警区域的内部;第二,若点A不与多边形顶点重合,则以点A为起点向左作一条水平射线;第三,将多边形告警区域的各边以有向线段的形式保存,若有向线段与水平射线平行或重合则删除该有向线段,根据经纬度位置判断剩余有向线段与水平射线是否有交点,并统计交点个数;第四,若统计得到的交点个数为奇数则判定无人机在多边形告警区域的内部,否则判定无人机在多边形告警区域的外部;
所述的禁飞区路由算法模块(1-8)的越界趋势判断过程为:第一,假设任意图形禁飞区的边界是逆时针的有向线段,无人机进入某告警区域块后,固定时间间隔判断飞行方向与边的向量积,若向量积是正数则禁飞航迹规划为朝有向线段正方向转弯,否则朝有向线段负方向转弯;第二,接收数据存储模块(1-6)的实时GPS信息,在无人机前进方向,与转弯方向同侧,作圆使得圆与无人机前进方向所在直线相切,所作圆的半径r根据公式v=2πrn得到,其中,v为无人机线速度,n为发动机转速;第三,若该圆与此区域块及相邻区域块的线段有交点,则无人机会驶入禁飞区,需执行禁飞航迹规划;
禁飞航迹规划包括两种情况:第一,若航迹规划过程中,无人机前进方向与当前区域块的内多边形所在边的方向向量垂直,此时无人机不再沿圆轨迹前进,而是沿圆切线方向飞行,直至进入内多边形安全区域,然后停止执行航迹规划;第二,若航迹规划过程中,前进方向未与当前区域块的内多边形所在边的方向向量垂直,而已经回到内部安全区域,则在回到安全区域后自动停止执行航迹规划;该航迹规划的路线,以二进制码的形式,发送给数据存储模块(1-6)。
2.根据权利要求1所述的一种无人机任意图形禁飞区识别导航系统,其特征在于,所述的飞控中心模块(2)包括无人机接口模块(2-1)、上行数据解析模块(2-2)、下行数据解析模块(2-3)、数据控制模块(2-4)、无人机身份认证模块(2-5)、数据处理模块(2-6)、飞控中心数据存取模块(2-7)以及调度中心接口模块(2-8);
所述的无人机接口模块(2-1),包括无人机数据接收模块(2-1-1)和无人机数据发送模块(2-1-2);所述的无人机数据接收模块(2-1-1),接收无人机定位导航模块(1)发送的数据指令信息,将数据指令信息的编码格式由ASCII码转换为GBK码,并发送到上行数据解析模块(2-2);所述的无人机数据发送模块(2-1-2),接收下行数据解析模块(2-3)发送的指令信息,将指令信息的编码格式由GBK码转换为ASCII码,发送至飞控中心数据接收模块(1-1-1);
所述的上行数据解析模块(2-2),接收无人机数据接收模块(2-1-1)的数据指令信息,根据GPS定位通信标准协议和无人机厂商提供的通信协议,解析数据指令信息为对应的协议内容,发送至数据控制模块(2-4);
所述的下行数据解析模块(2-3),接收数据控制模块(2-4)分类的指令信息,根据无人机厂商提供的通信协议,将指令信息组装成无人机终端可识别的报文类型,并把指令信息发送给无人机数据发送模块(2-1-2);
所述的数据控制模块(2-4)接收无人机身份认证模块(2-5)的登录结果信息以及上行数据解析模块(2-2)、数据处理模块(2-6)的数据指令信息,对这些信息进行分类,分为上行信息和下行信息,其中,上行信息为无人机定位导航模块(1)发送到监控模块(5)的数据指令信息,包括响应信息、警报类信息、无人机终端登录信息和GPS信息;下行信息为监控模块(5)发送到无人机定位导航模块(1)的数据指令信息,包括包括监控模块(5)发送的指令请求信息;并将上行信息中的终端登录信息发送给无人机身份认证模块(2-5),其它上行信息发送给数据处理模块(2-6),下行数据发送给下行数据解析模块(2-3);
所述的无人机身份认证模块(2-5)接收数据控制模块(2-4)发送的终端登录信息并向数据处理模块(2-6)发送无人机终端注册请求信息,接收到数据处理模块(2-6)发送的无人机终端注册信息后,校对终端登录信息与终端注册信息,确定无人机终端的合法性,将登录结果信息发送到数据控制模块(2-4);
所述的数据处理模块(2-6)接收数据控制模块(2-4)和无人机身份认证模块(2-5)的无人机终端注册请求信息和上行信息,将信息由JAVA类转换为JSON格式,其中无人机终端注册请求信息发送到飞控中心数据存取模块(2-7),上行信息发送到飞控中心数据存取模块(2-7)和调度中心接口模块(2-8);同时所述的数据处理模块(2-6)接收飞控中心数据存取模块(2-7)的无人机终端注册信息和调度中心接口模块(2-8)的指令信息,将这些信息由JSON格式转换为JAVA类,并将无人机终端注册信息发送到无人机身份认证模块(2-5),指令信息发送到数据控制模块(2-4);
所述的飞控中心数据存取模块(2-7),接收数据处理模块(2-6)的无人机终端注册请求信息和上行信息,获取线程池连接,并将这些信息由JSON格式转换成相应的SQL语句,发送给Oracle数据库模块(7),并且接收Oracle数据库模块(7)的无人机终端注册信息,发送给数据处理模块(2-6);
所述的调度中心接口模块(2-8),接收数据处理模块(2-6)的JSON格式的上行信息,转发给调度中心模块(3);同时所述的调度中心接口模块(2-8)接收调度中心模块(3)的指令信息,将JSON格式的指令信息转发给数据处理模块(2-6)。
3.根据权利要求1所述的一种无人机任意图形禁飞区识别导航系统,其特征在于,所述的调度中心模块(3)包括飞控中心接口模块(3-1)、调度中心控制模块(3-2)、监控接口模块(3-3)、监控鉴权模块(3-4)、调度中心数据读取模块(3-5)、业务指令解析模块(3-6)以及业务指令转发模块(3-7);
所述的飞控中心接口模块(3-1),接收飞控中心模块(2)的JSON格式的上行信息,发送给调度中心控制模块(3-2),并向飞控中心模块(2)发送监控模块(5)产生的指令信息;
所述的调度中心控制模块(3-2),接收飞控中心接口模块(3-1)、监控鉴权模块(3-4)和业务指令解析模块(3-6)的上行信息、监控鉴权信息和指令信息,对这些信息进行分类,分为上行信息和下行信息,其中,上行信息为无人机定位导航模块(1)发送到监控模块(5)的数据指令信息,包括飞控中心接口模块(3-1)的上行信息和监控鉴权信息;下行信息为监控模块(5)发送到无人机定位导航模块(1)的数据指令信息,包括指令信息;并将上行信息发送至监控鉴权模块(3-4),下行信息发送至飞控中心接口模块(3-1);
所述的监控接口模块(3-3)将上行信息发送到调度中心接口模块(4-2),同时接收调度中心接口模块(4-2)的连接请求信息,将连接请求信息发送给监控鉴权模块(3-4);
所述的监控鉴权模块(3-4),接收调度中心控制模块(3-2)的上行信息和监控接口模块(3-3)的连接请求信息,并读取调度中心数据读取模块(3-5)的用户信息,将连接请求信息与用户信息进行校对,验证请求者身份,并将身份验证结果信息和上行信息发送到监控接口模块(3-3);
所述的调度中心数据读取模块(3-5)固定时间间隔扫描Oracle数据库模块(7)中的指令二维表,读取指令信息并存放在队列中,将队头指令取出并发送给业务指令解析模块(3-6);
所述的业务指令解析模块(3-6),接收调度中心数据读取模块(3-5)的指令信息,将指令信息的格式由字符串转换为JSON格式,发送给调度中心控制模块(3-2);
所述的业务指令转发模块(3-7)接收业务指令解析模块(3-6)的指令信息,将JSON格式的业务指令发送到飞控中心接口模块(3-1)。
4.根据权利要求1所述的一种无人机任意图形禁飞区识别导航系统,其特征在于,所述的中间接口模块(4)包括WebService接口模块(4-1)和调度中心接口模块(4-2);
所述的WebService接口模块(4-1)包括数据发送模块(4-1-1)和数据接收模块(4-1-2);所述的数据发送模块(4-1-1)接收监控模块(5)的用户信息和服务请求信息,发送到WebService模块(6);所述的数据接收模块(4-1-2)接收WebService模块(6)的身份验证信息和服务响应信息,将这些信息转换为XML文件,用Unicode码编码,发送给相应的监控模块(5);
所述的调度中心接口模块(4-2)包括数据发送模块(4-2-1)和数据接收模块(4-2-2);所述的数据发送模块(4-2-1)接收监控模块(5)的连接请求信息和心跳信息,将连接请求信息的编码格式由监控终端二进制码转换为GBK码,发送到调度中心模块(3);所述的数据接收模块(4-2-2),接收调度中心模块(3)的上行信息,将上行信息的编码格式由GBK码转换为监控终端二进制码,发送到监控模块(5)。
5.根据权利要求1所述的一种无人机任意图形禁飞区识别导航系统,其特征在于,所述的监控模块(5)包括Android监控模块(5-1)、IOS监控模块(5-2)和PC端监控模块(5-3);
所述的Android监控模块(5-1)包括Android身份识别模块(5-1-1)、Android端Web数据处理模块(5-1-2)、Android服务请求模块(5-1-3)、Android服务处理模块(5-1-4)、Android调度中心接入模块(5-1-5)、Android监控心跳模块(5-1-6)、Android无人机数据处理模块(5-1-7)、Android地图监控模块(5-1-8)以及Android禁飞警报模块(5-1-9);
所述的Android身份识别模块(5-1-1),读取登陆界面的用户信息,编写成JSON格式,发送给Android端Web数据处理模块(5-1-2);并接收Android端Web数据处理模块(5-1-2)的身份验证信息,通过身份验证后,将身份验证结果发送到Android服务请求模块(5-1-3)和Android调度中心接入模块(5-1-5);
所述的Android端Web数据处理模块(5-1-2),接收Android身份识别模块(5-1-1)和Android服务请求模块(5-1-3)的JSON格式的用户信息和服务请求信息,采用SoapObject类封装形成一条Soap消息,并基于http协议,用HttpTransportSE类设置url,访问WebService,最后采用SoapSerializationEnvelope类的getResponse方法接收Android端Web数据处理模块(5-1-2)的身份验证信息和服务响应结果,分别发送到Android身份识别模块(5-1-1)和Android服务处理模块(5-1-4);
所述的Android服务请求模块(5-1-3),接收Android身份识别模块(5-1-1)的身份验证结果,当身份验证结果正确时对权限范围内的无人机下达服务请求指令,将这些服务请求指令包装成JSON格式,发送给Android端Web数据处理模块(5-1-2);其中,服务请求指令包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置,参数查询包括无人机历史轨迹查询、定位跟踪;
所述的Android服务处理模块(5-1-4),接收Android端Web数据处理模块(5-1-2)的服务响应信息,将信息由JSON格式转换为JAVA类,发送给Android地图监控模块(5-1-8);
所述的Android调度中心接入模块(5-1-5),接收Android身份识别模块(5-1-1)的身份验证结果,当身份验证结果正确时,产生与调度中心模块(3)的连接请求信息,发送到Android无人机数据处理模块(5-1-7),同时接收Android无人机数据处理模块(5-1-7)的监控鉴权信息,当监控鉴权信息正确时,发送监控鉴权结果到Android监控心跳模块(5-1-6);监控鉴权信息正确后,Android调度中心接入模块(5-1-5)接收Android监控心跳模块(5-1-6)的心跳信息,并发送到Android无人机数据处理模块(5-1-7);
所述的Android监控心跳模块(5-1-6),接收Android调度中心接入模块(5-1-5)的监控鉴权结果,产生心跳报文,固定时间间隔发送到Android调度中心接入模块(5-1-5),确保用户处于监控状态;
所述的Android无人机数据处理模块(5-1-7),接收调度中心接口模块(4-2)的上行信息,将上行信息的格式由JSON格式转换为JAVA类,其中,监控鉴权信息发送给Android调度中心接入模块(5-1-5),其它上行信息发送给Android地图监控模块(5-1-8);同时接收Android调度中心接入模块(5-1-5)的连接请求信息和心跳信息,将这些信息的格式由JAVA类转换成JSON格式,发送到调度中心接口模块(4-2);
所述的Android地图监控模块(5-1-8)接收Android服务处理模块(5-1-4)和Android无人机数据处理模块(5-1-7)的服务响应信息和上行信息,将上行信息中的实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中,警报类信息先发送给Android禁飞警报模块(5-1-9)进行预处理;
所述的Android禁飞警报模块(5-1-9),接收Android服务处理模块(5-1-4)的警报类信息,读取警报类信息的警报等级、警报方式和无人机状态数据,发送给Android地图监控模块(5-1-8);
所述的IOS监控模块(5-2)包括IOS身份识别模块(5-2-1)、IOS端Web数据处理模块(5-2-2)、IOS服务请求模块(5-2-3),IOS服务处理模块(5-2-4)、IOS调度中心接入模块(5-2-5)、IOS监控心跳模块(5-2-6)、IOS无人机数据处理模块(5-2-7)、IOS地图监控模块(5-2-8)以及IOS禁飞警报模块(5-2-9);
所述的IOS身份识别模块(5-2-1),读取登陆界面的用户信息,编写成JSON格式,发送给IOS端Web数据处理模块(5-2-2),并接收IOS端Web数据处理模块(5-2-2)的身份验证信息,通过身份验证后,将身份验证结果发送到IOS服务请求模块(5-2-3)和IOS调度中心接入模块(5-2-5);
所述的IOS端Web数据处理模块(5-2-2)接收IOS身份识别模块(5-2-1)和IOS服务请求模块(5-2-3)的JSON格式的用户信息和服务请求信息,采用SoapMsg类封装形成一条Soap消息,并基于http协议,用NSMutableURLRequest类设置url,访问WebService,最后采用NSURLSession类的NSURLResponse方法接收IOS端Web数据处理模块(5-2-2)的身份验证信息和服务响应结果,分别发送到IOS身份识别模块(5-2-1)和IOS服务处理模块(5-2-4);
所述的IOS服务请求模块(5-2-3),接收IOS身份识别模块(5-2-1)的身份验证结果,当身份验证结果正确时,对权限范围内的无人机下达服务请求指令,将这些服务请求信息包装成JSON格式,发送给IOS端Web数据处理模块(5-2-2),其中,服务请求信息包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置;参数查询包括无人机历史轨迹查询、定位跟踪;
所述的IOS服务处理模块(5-2-4),接收IOS端Web数据处理模块(5-2-2)的服务响应信息,将信息由JSON格式转换为Objective-C类,发送给IOS地图监控模块(5-2-8);
所述的IOS调度中心接入模块(5-2-5),接收IOS身份识别模块(5-2-1)的身份验证结果,当身份验证结果正确时,产生与调度中心模块(3)的连接请求信息,发送到IOS无人机数据处理模块(5-2-7),同时接收IOS无人机数据处理模块(5-2-7)的监控鉴权信息,当监控鉴权信息正确时,发送监控鉴权结果到IOS监控心跳模块(5-2-6);监控鉴权信息正确后,IOS调度中心接入模块(5-2-5)接收IOS监控心跳模块(5-2-6)的心跳信息,并发送到IOS无人机数据处理模块(5-2-7);
所述的IOS监控心跳模块(5-2-6),接收IOS调度中心接入模块(5-2-5)的监控鉴权结果,产生心跳报文,固定时间间隔发送到IOS调度中心接入模块(5-2-5),确保用户处于监控状态;
所述的IOS无人机数据处理模块(5-2-7)接收调度中心接口模块(4-2)的上行信息,将上行信息的格式由JSON格式转换为Objective-C类,其中,监控鉴权信息发送给IOS调度中心接入模块(5-2-5),其它上行信息发送给IOS地图监控模块(5-2-8);同时接收IOS调度中心接入模块(5-2-5)的连接请求信息和心跳信息,将这些信息的格式由Objective-C类转换成JSON格式,发送到调度中心接口模块(4-2);
所述的IOS地图监控模块(5-2-8),接收IOS服务处理模块(5-2-4)和IOS无人机数据处理模块(5-2-7)的服务响应信息和上行信息,将上行信息中的实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中警报类信息先发送给IOS禁飞警报模块(5-2-9)进行预处理;
所述的IOS禁飞警报模块(5-2-9),接收IOS服务处理模块(5-2-4)的警报类信息,读取警报类信息的警报等级、警报方式和无人机状态数据,发送给IOS地图监控模块(5-2-8);
所述的PC端监控模块(5-3)包括PC身份识别模块(5-3-1)、PC端Web数据处理模块(5-3-2)、PC服务请求模块(5-3-3)、PC服务处理模块(5-3-4)、PC调度中心接入模块(5-3-5)、PC监控心跳模块(5-3-6)、PC无人机数据处理模块(5-3-7)、PC地图监控模块(5-3-8)以及PC禁飞警报模块(5-3-9);
所述的PC身份识别模块(5-3-1),读取登陆界面的用户信息,编写成JSON格式,发送给PC端Web数据处理模块(5-3-2),并接收PC端Web数据处理模块(5-3-2)的身份验证信息,通过身份验证后,将身份验证结果发送到PC服务请求模块(5-3-3)和PC调度中心接入模块(5-3-5);
所述的PC端Web数据处理模块(5-3-2),接收PC身份识别模块(5-3-1)和PC服务请求模块(5-3-3)的JSON格式的用户信息和服务请求信息,采用SoapHelper类封装形成一条Soap消息,并基于http协议,用WebRequest类设置url,访问WebService,最后采用WebRequest类的GetResponse方法接收PC端Web数据处理模块(5-3-2)的身份验证信息和服务响应结果,分别发送到PC身份识别模块(5-3-1)和PC服务处理模块(5-3-4);
所述的PC服务请求模块(5-3-3),接收PC身份识别模块(5-3-1)的身份验证结果,当身份验证结果正确时,对权限范围内的无人机下达服务请求指令,将这些服务请求信息包装成JSON格式,发送给PC端Web数据处理模块(5-3-2);其中,服务请求信息包括参数设置和参数查询,参数设置包括禁飞区边界设置、禁飞区区域块设置、报警设置;参数查询包括无人机历史轨迹查询、定位跟踪;
所述的PC服务处理模块(5-3-4),接收PC端Web数据处理模块(5-3-2)的服务响应信息,将信息由JSON格式转换为C#类,发送给PC地图监控模块(5-3-8);
所述的PC调度中心接入模块(5-3-5),接收PC身份识别模块(5-3-1)的身份验证结果,当身份验证结果正确时,产生与调度中心模块(3)的连接请求信息,发送到PC无人机数据处理模块(5-3-7),同时接收PC无人机数据处理模块(5-3-7)的监控鉴权信息,当监控鉴权信息正确时,发送监控鉴权结果到PC监控心跳模块(5-3-6);监控鉴权信息正确后,PC调度中心接入模块(5-3-5)接收PC监控心跳模块(5-3-6)的心跳信息,并发送到PC无人机数据处理模块(5-3-7);
所述的PC监控心跳模块(5-3-6),接收PC调度中心接入模块(5-3-5)的监控鉴权结果,产生心跳报文,固定时间间隔发送到PC调度中心接入模块(5-3-5),确保用户处于监控状态;
所述的PC无人机数据处理模块(5-3-7),接收调度中心接口模块(4-2)的上行信息,将上行信息的格式由JSON格式转换为C#类,其中,监控鉴权信息发送给PC调度中心接入模块(5-3-5),其它上行信息发送给PC地图监控模块(5-3-8);同时接收PC调度中心接入模块(5-3-5)的连接请求信息和心跳信息,将这些信息的格式由C#类转换成JSON格式,发送到调度中心接口模块(4-2);
所述的PC地图监控模块(5-3-8),接收PC服务处理模块(5-3-4)和PC无人机数据处理模块(5-3-7)的服务响应信息和上行信息,将上行信息中的实时GPS位置、警报类信息和查询结果类信息呈现在地图中,实时监控无人机,其中,警报类信息先发送给PC禁飞警报模块(5-3-9)进行预处理;
所述的PC禁飞警报模块(5-3-9),接收PC服务处理模块(5-3-4)的警报类信息,读取警报类信息的警报等级、警报方式和无人机状态数据,发送给PC地图监控模块(5-3-8)。
6.根据权利要求1所述的一种无人机任意图形禁飞区识别导航系统,其特征在于,所述的WebService模块(6)包括监控服务接口模块(6-1)、监控服务授权模块(6-2)、服务数据存取模块(6-3)、服务请求解析模块(6-4)、服务信息处理模块(6-5)和服务响应解析模块(6-6);
所述的监控服务接口模块(6-1)包括监控服务请求模块(6-1-1)和监控服务响应模块(6-1-2);所述的监控服务请求模块(6-1-1)接收监控模块(5)的XML文件,取出用户信息和服务请求信息,并将这些信息的编码格式由Unicode码转换为GBK码,发送给监控服务授权模块(6-2);所述的监控服务响应模块(6-1-2)接收服务响应解析模块(6-6)的JSON格式的身份验证信息和服务响应信息,并将这些信息的编码格式由GBK码转换为Unicode码,包装成Soap消息并基于http协议,发送给监控模块(5);
所述的监控服务授权模块(6-2),接收监控服务请求模块(6-1-1)的身份验证信息和服务请求信息,取出其中的身份验证信息,发送给服务数据存取模块(6-3)验证用户身份,接收服务数据存取模块(6-3)的身份验证结果,当身份认证结果为正确时,发送服务请求信息给服务请求解析模块(6-4);
所述的服务数据存取模块(6-3),接收监控服务授权模块(6-2)和服务信息处理模块(6-5)的JSON格式的身份验证信息和指令信息,获取线程池连接,并将这些信息转换成相应的SQL语句,发送给Oracle数据库模块(7),然后接收Oracle数据库模块(7)返回的身份验证结果和服务响应信息,将身份验证结果发送给监控服务授权模块(6-2),并将身份验证结果和服务响应信息发送给服务响应解析模块(6-6);
所述的服务请求解析模块(6-4),接收监控服务授权模块(6-2)转发的JSON格式的服务请求信息,将信息的格式由JSON格式转换成JAVA类,取出服务请求信息中的服务指令名称,找到对应服务指令名称的方法名,并将方法名和服务请求信息中的服务指令参数到服务信息处理模块(6-5);
所述的服务信息处理模块(6-5),接收服务请求解析模块(6-4)的方法名及指令参数,调用方法名对应的方法,并将服务指令参数封装成JSON格式的指令信息,发送给服务数据存取模块(6-3);
所述的服务响应解析模块(6-6),接收服务数据存取模块(6-3)的身份验证结果和服务响应信息,将这些信息的格式由JAVA类转换成JSON格式,发送给监控服务响应模块(6-1-2)。
7.根据权利要求1所述的一种无人机任意图形禁飞区识别导航系统,其特征在于,所述的Oracle数据库模块(7)包括Oracle数据存取控制模块(7-1)和Oracle数据存储模块(7-2);
所述的Oracle数据存取控制模块(7-1),接收飞控中心数据存取模块(2-7)的无人机终端注册请求信息、上行信息和服务数据存取模块(6-3)的身份验证信息、指令信息,获取这些信息所在的二维表名称和相关的存储、查询数据,通过Oracle数据库连接池,将二维表名称和存储、查询数据发送给Oracle数据库存储模块(7-2),并接收Oracle数据库存储模块(7-2)返回的记录集,将记录集封装成无人机终端注册信息、身份验证结果和服务响应信息,其中,无人机终端注册信息发送给飞控中心数据存取模块(2-7),身份验证结果和服务响应信息发送给服务数据存取模块(6-3);
所述的Oracle数据库存储模块(7-2)包括主信息模块和定位辅助模块,Oracle数据库存储模块(7-2)接收Oracle数据存取控制模块(7-1)发送的二维表名称和存储、查询数据,根据二维表的名称,将存储数据模块化地存放在主信息模块,主信息模块包括无人机终端信息和无人机用户信息,无人机终端信息包括无人机终端注册信息、警报类信息及GPS信息,无人机用户信息包括身份验证信息、指令信息;定位辅助模块包括GPS定位纠偏库和运营商基站经纬度坐标库;所述的Oracle数据库存储模块(7-2)将根据查询数据返回的记录集发送到Oracle数据存取控制模块(7-1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711030877.5A CN107911793B (zh) | 2017-10-30 | 2017-10-30 | 一种无人机任意图形禁飞区识别导航系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711030877.5A CN107911793B (zh) | 2017-10-30 | 2017-10-30 | 一种无人机任意图形禁飞区识别导航系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107911793A CN107911793A (zh) | 2018-04-13 |
CN107911793B true CN107911793B (zh) | 2020-03-31 |
Family
ID=61841928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711030877.5A Active CN107911793B (zh) | 2017-10-30 | 2017-10-30 | 一种无人机任意图形禁飞区识别导航系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107911793B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108919832A (zh) * | 2018-07-23 | 2018-11-30 | 京东方科技集团股份有限公司 | 无人机作业航线规划方法、无人机施药方法及装置 |
CN108972552A (zh) * | 2018-07-26 | 2018-12-11 | 平安科技(深圳)有限公司 | 一种机器人的定位检测方法、设备及计算机可读介质 |
CN109050931A (zh) * | 2018-09-19 | 2018-12-21 | 徐州元亨众利农业服务专业合作联社 | 一种植保无人机的四轴联动喷洒系统 |
CN109885629B (zh) * | 2019-01-14 | 2023-10-27 | 平安科技(深圳)有限公司 | 一种无人机管理方法、装置、计算机系统及可读存储介质 |
CN109557942B (zh) * | 2019-01-21 | 2021-10-26 | 梁晓龙 | 一种自主飞行的无人机地理围栏算法 |
CN110716925B (zh) * | 2019-09-05 | 2023-08-04 | 中电科大数据研究院有限公司 | 一种基于轨迹分析的跨境行为识别方法 |
WO2021081993A1 (zh) * | 2019-11-01 | 2021-05-06 | 深圳市大疆创新科技有限公司 | 数据存储和处理方法、相关设备和存储介质 |
CN111221934B (zh) * | 2020-02-05 | 2023-08-18 | 沈阳无距科技有限公司 | 一种无人机作业边界的确定方法及装置 |
CN111556438B (zh) * | 2020-04-13 | 2022-04-29 | 中电科西北集团有限公司 | 一种判定船舶越界的方法及装置 |
CN111461080B (zh) * | 2020-05-18 | 2022-02-18 | 江苏电力信息技术有限公司 | 一种基于图像的智能围栏搭建和识别方法 |
CN112634662B (zh) * | 2020-11-25 | 2022-09-06 | 一飞(海南)科技有限公司 | 电子围栏、控制系统、方法、介质、无人机编队及终端 |
CN112507051B (zh) * | 2020-12-03 | 2024-06-28 | 北京梧桐车联科技有限责任公司 | 行政区划的识别方法、装置、设备及计算机可读存储介质 |
WO2022141065A1 (zh) * | 2020-12-29 | 2022-07-07 | 深圳市大疆创新科技有限公司 | 可移动平台的控制方法、装置及可移动平台 |
CN113112873B (zh) * | 2021-03-29 | 2022-12-09 | 中琪华安(北京)科技有限公司 | 一种空域告警方法及装置 |
CN113342045B (zh) * | 2021-06-20 | 2022-09-02 | 西北工业大学 | 一种任意禁飞区无人机自主规避导航控制方法 |
CN113257045A (zh) * | 2021-07-14 | 2021-08-13 | 四川腾盾科技有限公司 | 一种基于大型固定翼无人机电子围栏的无人机控制方法 |
CN113325879B (zh) * | 2021-08-04 | 2021-11-30 | 中国航天空气动力技术研究院 | 飞行器空域判断方法、装置、电子设备及介质 |
CN114035603B (zh) * | 2021-08-08 | 2023-11-28 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种无人机威胁区动态检测及告警方法 |
CN113721653B (zh) * | 2021-08-09 | 2024-01-19 | 陕西工业职业技术学院 | 一种飞行器航迹实时规划系统 |
CN113741517A (zh) * | 2021-08-31 | 2021-12-03 | 普宙科技(深圳)有限公司 | 防止无人机进入禁飞区的方法、系统、设备及存储介质 |
CN114529545B (zh) * | 2022-04-22 | 2022-07-12 | 天津理工大学 | 一种基于无人机的道路缺陷自动检测方法及系统 |
CN116820139B (zh) * | 2023-08-29 | 2023-12-12 | 陕西德鑫智能科技有限公司 | 基于电子围栏的导航控制方法、装置、无人机及存储介质 |
CN117130393B (zh) * | 2023-10-26 | 2024-01-26 | 成都时代星光科技有限公司 | 一种无人机禁飞区绕飞分析方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231294B2 (en) * | 2003-10-23 | 2007-06-12 | International Business Machines Corporation | Navigating a UAV |
CN101819439A (zh) * | 2010-03-16 | 2010-09-01 | 清华大学 | 一种无中心环境下无人机协同模拟平台的控制方法及系统 |
CN104503466A (zh) * | 2015-01-05 | 2015-04-08 | 北京健德乾坤导航系统科技有限责任公司 | 一种微小型无人机导航装置 |
CN104950907A (zh) * | 2015-06-26 | 2015-09-30 | 广州快飞计算机科技有限公司 | 无人机的监控方法、装置及系统 |
CN105973235A (zh) * | 2016-04-25 | 2016-09-28 | 北京理工大学 | 针对存在禁飞区多边形区域的旋翼无人机覆盖搜索航迹规划方法 |
CN106406189A (zh) * | 2016-11-28 | 2017-02-15 | 中国农业大学 | 一种无人机植保作业的电子围栏监控方法 |
CN107180561A (zh) * | 2017-07-04 | 2017-09-19 | 中国联合网络通信集团有限公司 | 一种无人机飞行监管方法、平台及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9363008B2 (en) * | 2014-07-22 | 2016-06-07 | International Business Machines Corporation | Deployment criteria for unmanned aerial vehicles to improve cellular phone communications |
US9571180B2 (en) * | 2014-10-16 | 2017-02-14 | Ubiqomm Llc | Unmanned aerial vehicle (UAV) beam forming and pointing toward ground coverage area cells for broadband access |
-
2017
- 2017-10-30 CN CN201711030877.5A patent/CN107911793B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231294B2 (en) * | 2003-10-23 | 2007-06-12 | International Business Machines Corporation | Navigating a UAV |
CN101819439A (zh) * | 2010-03-16 | 2010-09-01 | 清华大学 | 一种无中心环境下无人机协同模拟平台的控制方法及系统 |
CN104503466A (zh) * | 2015-01-05 | 2015-04-08 | 北京健德乾坤导航系统科技有限责任公司 | 一种微小型无人机导航装置 |
CN104950907A (zh) * | 2015-06-26 | 2015-09-30 | 广州快飞计算机科技有限公司 | 无人机的监控方法、装置及系统 |
CN105973235A (zh) * | 2016-04-25 | 2016-09-28 | 北京理工大学 | 针对存在禁飞区多边形区域的旋翼无人机覆盖搜索航迹规划方法 |
CN106406189A (zh) * | 2016-11-28 | 2017-02-15 | 中国农业大学 | 一种无人机植保作业的电子围栏监控方法 |
CN107180561A (zh) * | 2017-07-04 | 2017-09-19 | 中国联合网络通信集团有限公司 | 一种无人机飞行监管方法、平台及系统 |
Non-Patent Citations (2)
Title |
---|
基于射线检测算法的无人机植保作业电子围栏设计;杨泽,郑立华等;《农业机械学报》;20161213;全文 * |
无人机路径规划算法及仿真;马云红,周德云;《火力与指挥控制》;20070723;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107911793A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911793B (zh) | 一种无人机任意图形禁飞区识别导航系统 | |
US20210088337A1 (en) | System and method for service oriented cloud based management of internet of drones | |
McEnroe et al. | A survey on the convergence of edge computing and AI for UAVs: Opportunities and challenges | |
Koubâa et al. | Dronemap Planner: A service-oriented cloud-based management system for the Internet-of-Drones | |
Mishra et al. | A survey on cellular-connected UAVs: Design challenges, enabling 5G/B5G innovations, and experimental advancements | |
US11120456B2 (en) | Authentication systems and methods for generating flight regulations | |
Khan et al. | On the detection of unauthorized drones—Techniques and future perspectives: A review | |
JP6431186B2 (ja) | 無人航空機 | |
CN109447048A (zh) | 一种人工智能预警系统 | |
CN107533331B (zh) | 具有动态特性的地理围栏设备 | |
CN107615785B (zh) | 用于显示地理围栏设备信息的系统和方法 | |
CN107430402B (zh) | 用于对地理围栏设备进行标识和认证的系统和方法 | |
CN105407139A (zh) | 基于gis互操作和lbs的智慧景区游客安全服务系统 | |
JP2018502001A (ja) | ジオフェンシング装置、及び飛行規制のセットを提供する方法 | |
CN105101095A (zh) | 服务器及基于位置信息的告警方法、系统 | |
CN111934813A (zh) | 一种无人机侦测反制装备综合系统 | |
US10007265B1 (en) | Hostile takeover avoidance of unmanned vehicles | |
CN105511491B (zh) | 一种无人机驱赶装置及方法 | |
US20210356953A1 (en) | Deviation detection for uncrewed vehicle navigation paths | |
CN212620384U (zh) | 基于电磁、光电,gps诱导系统的无人机反制系统 | |
CN109814558A (zh) | 一种基于毫米波雷达的无人机避障系统及方法 | |
CN114067615A (zh) | 一种基于物联网的智能安防系统 | |
CN109523836A (zh) | 一种无人机航管接入通用化平台 | |
KR101716653B1 (ko) | 드론 분실 추적 방법 | |
Kim et al. | Smart disaster response in vehicular tunnels: Technologies for search and rescue applications |
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 |