CN105549497B - 支持pc控制的多旋翼无人飞行器控制系统 - Google Patents
支持pc控制的多旋翼无人飞行器控制系统 Download PDFInfo
- Publication number
- CN105549497B CN105549497B CN201610108342.4A CN201610108342A CN105549497B CN 105549497 B CN105549497 B CN 105549497B CN 201610108342 A CN201610108342 A CN 201610108342A CN 105549497 B CN105549497 B CN 105549497B
- Authority
- CN
- China
- Prior art keywords
- control
- rotor unmanned
- information
- data
- aircraft
- 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
- 238000004891 communication Methods 0.000 claims abstract description 80
- 230000006870 function Effects 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims abstract description 26
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 claims abstract description 11
- 238000012546 transfer Methods 0.000 claims abstract description 5
- 230000003993 interaction Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 8
- 230000007613 environmental effect Effects 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000012800 visualization Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000006641 stabilisation Effects 0.000 claims description 3
- 238000011105 stabilization Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 210000004209 hair Anatomy 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005183 dynamical system Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 229910052500 inorganic mineral Inorganic materials 0.000 description 1
- 239000002917 insecticide Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011707 mineral Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/08—Control of attitude, i.e. control of roll, pitch, or yaw
- G05D1/0808—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Toys (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种支持PC控制的多旋翼无人飞行器控制系统,该控制系统的多旋翼无人飞行器平台,通过搭建多旋翼无人飞行器,进行视频信息的采集;PC端地面控制平台,通过编程设计在PC端搭建地面控制平台,作为人机交互界面,向多旋翼无人飞行器传送控制指令;支持PC控制的多旋翼无人飞行器通信系统,通过在多旋翼无人飞行器上搭载ARM主控板,实现传输飞行控制指令、飞行状态数据、视频回传数据等功能。该控制系统在拓展新的操控方式的同时,降低操作难度,提高控制精确度,拓展信息采集与反馈功能,提高安全性能,改善了目前基于遥控器控制的操作难度高、控制不精准、信息反馈不直接的缺点。
Description
技术领域
本发明涉及飞行器通信控制的技术领域,特别涉及一种支持PC控制的多旋翼无人飞行器控制系统,具体涉及PC与无人机的通信系统,以及基于该通信系统的飞行控制技术和图像回传技术。
背景技术
多旋翼无人飞行器是由多组动力系统组成的飞行平台,其独特的结构和简洁的系统构架与传统飞行器相比有明显的优势:安全、起降条件要求很低、机械部件组成简单、整机全电子增稳。可广泛应用于农业中低空撒种、喷洒农药,治安监控、森林灭火、灾情监视、应急通讯、电力应用、海运应用、气象监测、航拍航测,另外对空中勘探、无声侦查、边境巡逻、核辐射探测、航空探矿、交通巡逻等三十多个行业方面的应用也将进一步得到开发。
而在控制系统方面上,目前相关多旋翼无人飞行器多采用无线遥控器进行控制,而这类遥控器,对于新手来说,上手十分困难,需要一定时间的锻炼,才能很好的控制飞行器。且由于无线遥控器信号覆盖范围有限,使得多旋翼无人飞行器的飞行半径也受到限制。此外,由于遥控器的功能限制,其操控飞行器的可扩展性也较低。简而言之,现有基于遥控器的控制系统不仅操作繁琐、安全防护功能少、飞行半径受限,而且功能单一,可扩展性低,缺乏人性化操作界面,不利于飞行器技术进一步的发展。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种支持PC控制的多旋翼无人飞行器控制系统。
本发明的目的通过下述技术方案实现:
一种支持PC控制的多旋翼无人飞行器控制系统,该控制系统包括:多旋翼无人飞行器平台、PC端地面控制平台和支持PC控制的多旋翼无人飞行器通信系统,其中,
所述多旋翼无人飞行器平台,通过搭建多旋翼无人飞行器,完成视频信息、飞行状态数据和环境信息采集数据的采集,通过烧入经过自主设计修改的飞控代码,使得飞行器能受控于所述PC端地面控制平台的指令,完成具体飞行姿态调整,执行飞行任务;
所述PC端地面控制平台,通过编程设计在PC端搭建地面控制平台,作为人机交互界面,向多旋翼无人飞行器传送控制指令,同时集成多旋翼无人飞行器的地理位置信息,并通过可视化的地图界面显示,并且接收来自多旋翼无人飞行器的各类飞行状态信息、图像视频信息,通过可视化监测界面展示给用户;
所述支持PC控制的多旋翼无人飞行器通信系统,通过在多旋翼无人飞行器上搭载ARM主控板,所述ARM主控板包括无线通信模块与串口通信模块,通过所述无线通信模块与所述PC端地面控制平台通信,同时通过所述串口通信模块与所述多旋翼无人飞行器通信,所述多旋翼无人飞行器平台和所述PC端地面控制平台依靠该通信系统传输飞行控制指令、飞行状态数据、视频回传数据和环境信息采集数据。
在另一优选的实施方式中,所述支持PC控制的多旋翼无人飞行器通信系统还包括APM飞行姿态从处理器和Arduino信息采集从处理器,
其中,所述APM飞行姿态从处理器,用于控制飞行姿态;所述Arduino信息采集从处理器,用于驱动相应传感器采集环境数据。
在另一优选的实施方式中,所述串口通信模块包括UART串口,所述无线通信模块包括WiFi、3G或4G单元,
其中,所述ARM主控板与所述APM飞行姿态从处理器和所述Arduino信息采集从处理器分别通过UART串口进行通信,同时所述ARM主控板还通过WiFi、3G或4G单元与所述PC端地面控制平台进行无线通信,实现多旋翼无人飞行器与PC端地面控制平台之间良好的协调。
在另一优选的实施方式中,所述ARM主控板包括thread_video线程、thread_DroneCtrl线程、thread_NavaData线程和thread_CtrlSyn线程,其中,
所述thread_video线程用于控制视频传输的运行与停止;
所述thread_DroneCtrl线程用于接收PC端发过来的飞控指令,并通过串口转发给所述APM飞行姿态从处理器,控制飞行器姿态;
所述thread_NavaData线程用于控制所述Arduino信息采集从处理器的数据采集,并将采集数据返回给PC端,当该线程执行时,主控程序中的NavaData()函数以及NavaDataProcess()函数将会被调用,用于实时处理传感器数据,并在接收到PC端发送的请求后,返回打包好的传感数据;
所述thread_CtrlSyn线程用于控制其他上述三个线程的同步,实现对视频传输、飞行姿态控制、信息采集三个进程的控制。
在另一优选的实施方式中,所述ARM主控板完成图像信息、飞行状态信息和ZigBee网络状态信息的获取后,通过WiFi、3G或4G单元将上述信息传送到所述PC端地面控制平台,并请求所述PC端地面控制平台接收并提供采用C/S架构的socket进行数据传输服务。
在另一优选的实施方式中,所述ARM主控板通过采用微型无线USB网卡TL-WN725N所述控制系统支持WiFi通信,并采用IEEE802.11n网络标准。
在另一优选的实施方式中,所述PC端地面控制平台包括View视图层、Control控制层、Data数据层,其中,
所述View视图层包括地图设置选项卡、实时视频选项卡、数据显示选项卡和飞控视图,所述地图设置选项卡用于选择相应的地图类型;所述实时视频选项卡用于接收来自飞行器回传的视频,并进行实时显示;所述数据显示选项卡用于默认界面,接收并处理飞行器采集的环境信息、地理位置坐标信息,进行可视化展示,该选项卡运用百度地图的API进行坐标换算与地图显示,并可进行缩放、放大、移动、标点;所述飞控视图提供若干个按钮,实现对飞行器的控制,控制内容包含飞行姿态控制、图像接收与停止、传感器数据采集与停止;
所述Control控制层包括Control.java模块、Direction.java模块和Mysql.java模块,其中,所述Control.java模块的控制层代码中采用套接字通讯模式,建立IP与端口号的连接,并创建输入输出通信信道;所述Direction.java模块采用多线程通信,实现飞控无阻塞指令传输,每次若通讯指令发送成功,则在后台检测到发送的成功指令;所述Mysql.java模块编译有连接数据库的方法以及建立数据库链接、查询、增加、删除、修改的功能应用,当启动程序后,主板的构造器就会启动这个控制层程序,连接数据库。
所述Data数据层存储有PC端地面控制平台运行过程中需要调用的数据,包含若干个数据库表,通过建立数据层,实现PC端地面控制平台对各类地图数据等的实时调用。
在另一优选的实施方式中,所述PC端地面控制平台还包括PC控制面板和回传视频显示模块,其中,
所述PC控制面板是PC端地面控制平台对飞行器的稳定有效控制的可视窗口,该控制面板实现的内容包括:提供支持鼠标和键盘控制的可视化界面方便进行飞行器控制、控制信号转换为报文输出、接收下位机反馈显示以供用户了解飞行器对控制指令的响应是否正常;
所述回传视频显示模块采用开源mjpg-streamer方案。
在另一优选的实施方式中,所述报文的基本格式如下:
报头+同步字节+报文长度+功能号+数据字节+校验位+结束位。
在另一优选的实施方式中,所述
多旋翼无人飞行器平台包括螺旋桨、机架、飞控板、电调、电机、电池、GPS、电流电压传感器和外置电子罗盘,实现飞行器的稳定飞行功能,其中所述GPS和外置电子罗盘用于读取飞行器的地理坐标信息和方向信息。
本发明相对于现有技术具有如下的优点及效果:
本发明针实现了PC对于多旋翼无人飞行器的控制,在拓展了新的操控方式的同时,降低了操作难度,提高控制精确度,拓展信息采集与反馈功能,提高了安全性能,改善了目前基于遥控器控制的操作难度高、控制不精准、信息反馈不直接的缺点;
本发明设计了基于PC操控的多旋翼无人飞行器的多种功能包括:一键起飞、一键降落、全方位飞行姿态操控(即笛卡尔坐标轴的pitch/roll/yaw及高度操控)、降落模式下的飞行姿态控制、螺旋桨解锁/上锁命令授权、无操作自动安全上锁,实现了更高效、简便、安全的多旋翼无人飞行器操控,填补了目前多旋翼无人飞行器控制技术在该方面的空缺;
本发明设计的PC端地面控制站实现了对采集信息的实时显示与无人飞行器的实时可视化操控,显示的信息包含但不限于:图像信息、飞行状态信息、地理位置坐标信息、环境采集数据信息,改善了目前多旋翼无人飞行器操控与数据显示分离的缺点和信息采集显示不完整的缺点;
本发明扩展了多旋翼无人飞行器的飞行半径,WIFI/3G/4G信号覆盖范围内均为可控制飞行区域,弥补了目前无线电遥控器信号覆盖范围有限导致飞行半径受限的缺点。
附图说明
图1是本发明提出的支持PC控制的多旋翼飞行器控制系统的基本结构框图;
图2是本发明提出的支持PC控制的多旋翼飞行器通信系统的通信架构框图;
图3是本发明中报文的接收和校验流程。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例公开了一种支持PC控制的多旋翼无人飞行器控制系统,不仅大大降低操作难度,提高操作安全性,扩大飞行控制范围,并且可通过视频回传支持对多旋翼飞行器的实境操控。此外,通过在PC上开发扩展性插件,可以进一步提升多旋翼飞行器的增强功能。
本控制系统的基本结构如图1所示。主要包括多旋翼无人飞行器平台、PC端地面控制平台以及在PC端与多旋翼无人飞行器之间的通信系统,这三者结合构成支持PC控制的多旋翼无人飞行器系统。
具体来说,本发明的内容包括以下三个组成部分:
(一)多旋翼无人飞行器平台:基于目前已有的技术搭建多旋翼无人飞行器,进行视频等信息的采集,通过烧入经过自主设计修改的飞控代码,使得飞行器能受控于PC的指令,完成具体飞行姿态调整,执行飞行任务。
多旋翼无人飞行器平台包括飞行器硬件平台、ARM主控板和通信单元三部分:飞行器硬件平台包括螺旋桨、机架、飞控板等单元,主要实现飞行器的稳定飞行功能;ARM主控板完成信息处理、PC指令解析、硬件平台控制、通信等功能;通信单元用于为飞行器平台提供通信接口,可采用WiFi/3G/4G等无线通信方式。从而使得飞行器拥有信息采集以及支持PC控制功能。
1)、飞行器硬件平台的搭建
多旋翼无人飞行器的飞控板采用了APM2.6,电调则采用了好盈天行者40A电调,为电机提供稳定的大电流输出;电机则采用新西达kv1000档电机提供稳定的动力输出。此外,飞行器机载平台还使用了1045碳纤螺旋桨、F550机架、以及5200mA电池。另外还配置了外置的GPS和电子罗盘,用于读取飞行器的地理坐标信息。
2)、PC控制指令解析
首先,ARM主控板芯片在代码的控制下读取串口传来的数据并进行检错。检错不通过则丢弃数据包,重新等待接收数据。检错通过则进行报文解析。报文解析得到飞控命令则传给飞行控制模块,经过重新修改的飞控模块依据命令进行飞行姿态调整。另一方面,飞行器的GPS坐标等飞行状态数据经过打包封装成数据帧,经过串口传输出去。经过改进后的代码,在不破坏包括遥控器控制等原有功能情况下,支持了基于PC控制的飞行功能,并且能将飞行状态数据通过串口及时返回给上位机。
3)、视频数据采集与回传
飞行器上搭载ARM主控板,加装有视频数据采集模块,利用机载ARM主控板提取摄像头数据,并将获得的图像信息进行压缩编码,利用WiFi或3G等无线传输方式回传至PC端地面控制平台,通过PC端地面控制平台进行显示。
(二)PC端地面控制平台:通过编程设计在PC端搭建地面控制平台,作为人机交互界面。一方面可以向飞行器传送控制指令,另一方面集成了飞行器地理位置信息,并通过可视化的地图界面来显示,并且接收来自飞行器的各类飞行状态信息、图像视频信息,通过可视化监测界面展示给用户。
PC端地面控制平台的结构分为三部分,View视图层、Control控制层、Data数据层,该平台拥有PC控制面板与回传视频显示功能。
1)、View视图层
PC端地面控制平台的视图层包括数据显示、地图设置和实时视频三个选项卡。在地图设置选项卡中可以选择相应的地图选项;实时视频选项卡部分则接收来自飞行器回传的视频,并进行实时显示;数据显示这一选项卡为默认界面,接收飞行器采集的环境信息、地理位置坐标等信息,进行可视化展示,该面板运用百度地图的API进行坐标换算与地图显示,并可进行缩放、放大、移动、标点。
除以上三个选项卡外,视图层中还包含了飞行器的飞控视图,提供多个按钮,实现对飞行器的控制。控制内容包含飞行姿态控制、图像接收和停止、传感器数据采集等。其中飞行器姿态控制包含但不只限于笛卡尔坐标轴的yaw、roll、pitch。点击相应连接按钮可建立与飞行器的通信,然后点击监听按钮,触发按钮监听器,传输所需的字符串命令到控制层,最后控制层就会把接收到的飞控指令放到指定的通信信道进行传送。控制层在下方有详细介绍。
2)、Control控制层
控制层包括Control.java模块和Direction.java模块,采用多线程通信。创造套接字通信端口,连接成功后,建立输入输入流信道,将触发监听器的字符串命令传输到飞行器上,完成飞控指令传输。
在Control.java模块的主要控制层代码中采用套接字通讯模式,建立IP与端口号的连接,并创建输入输出通信信道。其内容包含:
1、初始化,new创建一个类runThread
2、runThread包含数据成员private Socket s
3、runThread包含负责处理控制的Socket方法
4、runThread包含接收输入流的方法,接收监听器传送的套接字地址,字符串命令,和通信信道
5、runThread包含输出流的方法,将socket接收到的流在检查无误后输出
Direction.java模块采用多线程通信,主要实现飞控无阻塞指令传输。每次若通讯指令发送成功,可在后台检测到发送的成功指令。
此外,控制层还有Mysql.java模块,Mysql.java模块里面编译了连接数据库的方法以及数据库的功能应用,如建立数据库链接、查询、增加、删除、修改等,当启动程序后,主板的构造器就会启动这个控制层程序,连接数据库。
3)、Data数据层
数据层存储了地面服务站运行过程中可能调用的数据,包含了6个数据库表,通过建立数据层,能够较为方便地实现地面站对各类地图数据等的实时调用,节约了程序开销。主要使用表的说明如表1所示:
表1数据库表
4)、PC控制面板
PC控制面板是PC端地面控制平台对飞行器的稳定有效控制的可视窗口,该控制基于Linux系统设计,使用C/C++语言在QT环境上开发而成。该控制面板实现的内容如下:
1、提供支持鼠标和键盘控制的可视化界面方便进行飞行器控制
2、控制信号转换为报文输出以保证通信的可靠性。自主设计的报文基本格式如下:
报头+同步字节+报文长度+功能号+数据字节+校验位+结束位
具体报文协议在下面的通信系统报文协议一节中进行解释。
3、接收下位机反馈显示,供用户了解飞行器对控制指令的响应是否正常。
5)、回传视频的显示
PC端的地面控制站的回传视频显示功能采用开源mjpg-streamer的方案。在飞行器上的视频采集与回传模块正常工作的情况下,从PC端地面站客户端输入ARM板IP地址发出访问请求,服务器接收到请求后即可与客户端建立连接,通过TCP协议将视频数据发送到客户端监听端口,客户端就可以得到连续的现场画面,从而实现视频采集功能。
(三)支持PC控制的多旋翼无人飞行器通信系统:无人机上搭载ARM主控板,主控板上有无线通信模块与串口通信模块,通过3G和WiFi等无线通信方式与PC通信,同时ARM板通过UART串口方式与飞行器通信。PC与无人机之间依靠此通信系统,传输飞行控制指令、飞行状态数据、视频回传数据等,并且可以通过增加如传感器等各类硬件,通过编程实现功能扩展。
多旋翼无人飞行器上面搭载ARM作为主控板,主要负责统筹协调与通信;搭载APM飞行姿态从处理器,控制飞行姿态;搭载Arduino信息采集从处理器,驱动相应传感器采集环境数据。ARM主控芯片与APM和Arduino分别通过UART串口进行通信,ARM同时通过3G/WiFi模块与上位机PC端进行无线通信,以此建立的通信系统使得飞行器与PC之间能进行良好的协调。其通信架构如图2所示。
1)、主控程序设计
主控程序位于运行于ARM主控板上,作为飞行器平台上的控制核心,飞行器上的工作均由其直接或间接控制,同时作为一个通信桥梁与控制枢纽,一方面跟顶层PC端上位机通信,一方面跟底层APM和Arduino通信,此外也为特殊功能留下可用进程,增加可扩展性。
ARM端主控程序采用了4个线程,并在程序开始被执行时即创建并执行,其执行细节非别如下:
1)thread_video(port 8080),用于控制视频传输的运行与停止等。
2)thread_DroneCtrl(port 8081),用于接收PC端发过来的飞控指令,并通过串口转发给APM,控制飞行器姿态。当该进程执行时,主控程序中有关飞控信号处理的函数将会被调用,如DroneCtrlProcess()函数,用于实现对飞控信号的处理,并通过调用DroneCtrl()函数处理飞控运行的指令。
3)thread_NavaData(port 8082),用于控制从机Arduino的数据采集,并将采集数据返回给PC上位机。该线程进行时,主控程序中的NavaData()函数以及NavaDataProcess()函数将会被调用,用于实时处理传感器数据,并在接收到PC发的请求后,开始返回打包好的传感数据。
4)thread_CtrlSyn(port 8083),用于控制其他三个线程的同步,实现对视频传输、飞控控制、信息采集三个进程的控制。
不同进程之间通过线程同步信号独立运行,当某一线程运行时,该线程对应的信号值将会产生作用。主控程序中设置了负责线程同步信号处理的一些函数,并为不同的进程配置了不同的信号用以接收指令控制相应线程的运行和停止,不同信号代表了主控程序与上位机之间不同的通信命令,通信命令明细表如表2所示:
表2通信命令明细表
2)、串口通信
ARM主控板接受到上位机的数据包后,进行初步包解析,若解析结果为飞行控制命令,则通过UART串口协议经过串口将数据包传送到APM从处理器;若解析结果为数据采集相关命令,则通过UART串口协议经过串口将数据包传送到Arduino从处理器;若解析结果不是飞行控制命令,也不是数据采集相关命令,则不通过串口进行任何通信。
3)、无线通信
ARM主控板与上位机之间通过无线通信技术进行通信协调,本发明分别采用了两种不同的方式:3G/WIFI,细节如下。
1、3G通信
飞行器与地面控制平台服务器的通信工作可以分为两大部分:一是采用ARM平台和3G模块进行无线通信,二是通信采用C/S架构的socket进行传输数据。
ARM主控板完成图像信息、飞行状态信息和ZigBee网络状态信息的获取后,通过3G技术将这些飞行信息传送到PC端,并请求PC端接收并提供数据处理服务,即采用C/S架构的socket进行传输数据。
ARM主控板采用Linux内核操作系统,在PC端的虚拟机VMware Workstation安装的Redhat进行3G拨号上网环境配置以及拨号上网成功后,将计算机端的配置文件等移植到ARM平台。
本发明分别在ARM主控板与PC上位机将以C/S架构建立通信,以此建立的通信系统可经过3g网卡高速通信,飞行器采集到的数据利用3G网络实时的传输回地面服务站,利用数据库进行处理。
2、WiFi通信
本发明采用微型无线USB网卡TL-WN725N使ARM主控板支持WiFi通信。TL-WN725N采用内置天线,其传输速率为150M,采用了IEEE802.11n网络标准,频率范围为2.4Hz~2.4835GHz,能够满足高速传输飞行信息的需要。
通过安装相应的无线网卡驱动RTL8188EU,使ARM支持TL-WN725N利用Hostapd将无线网卡设置为模拟AP模式(Hostapd是一个用户态用于AP和认证服务器的守护进程)。将无线网卡配置成模拟AP模式之后,可以自动发射无线热点,PC端连接该热点便可以与主控板进行无线通信。
4)、通信系统的报文协议
该报文协议实现飞行命令的传输。PC端上位机传来的报文经过ARM主控程序筛选后主机从机之间通过串口接收到规定格式的报文时,通过制定好的报文协议对报文进行解析,实现对应的响应。报文的格式规定如下:
@Message format:0xFF+0x33+length+command_id+data(0)+data(1)+data(...)+checkout
整个报文的长度为报文中所有信息所占据的字节数;报文中0xFF和0x33是报头,用于识别报文。length代表报文长度,checkout用为于检查报文中所含有的通信信息,其所含信息为报文正文中所含信息,即:
checkout=0xFF+0x33+length+command_id+data(0)+data(1)+data(...)
报文的接收和校验流程如图3所示。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种支持PC控制的多旋翼无人飞行器控制系统,其特征在于,该控制系统包括:多旋翼无人飞行器平台、PC端地面控制平台和支持PC控制的多旋翼无人飞行器通信系统,其中,
所述多旋翼无人飞行器平台,通过搭建多旋翼无人飞行器,进行视频信息的采集,通过烧入飞控代码,使得飞行器受控于所述PC端地面控制平台的指令,完成具体飞行姿态调整,执行飞行任务;
所述PC端地面控制平台,通过编程设计在PC端搭建地面控制平台,作为人机交互界面,向多旋翼无人飞行器传送控制指令,同时集成多旋翼无人飞行器的地理位置信息,并通过可视化的地图界面显示,并且接收来自多旋翼无人飞行器的各类飞行状态信息、图像视频信息,通过可视化监测界面展示给用户;所述PC端地面控制平台包括View视图层、Control控制层、Data数据层,其中,
所述View视图层包括地图设置选项卡、实时视频选项卡、数据显示选项卡和飞控视图,所述地图设置选项卡用于选择相应的地图类型;所述实时视频选项卡用于接收来自飞行器回传的视频,并进行实时显示;所述数据显示选项卡用于默认界面,接收并处理飞行器采集的环境信息、地理位置坐标信息,进行可视化展示,该选项卡运用百度地图的API进行坐标换算与地图显示,并可进行缩放、放大、移动、标点;所述飞控视图提供若干个按钮,实现对飞行器的控制,控制内容包含飞行姿态控制、图像接收与停止、传感器数据采集与停止;
所述Control控制层包括Control.java模块、Direction.java模块和Mysql.java模块,其中,所述Control.java模块的控制层代码中采用套接字通讯模式,建立IP与端口号的连接,并创建输入输出通信信道;所述Direction.java模块采用多线程通信,实现飞控无阻塞指令传输,每次若通讯指令发送成功,则在后台检测到发送的成功指令;所述Mysql.java模块编译有连接数据库的方法以及建立数据库链接、查询、增加、删除、修改的功能应用,当启动程序后,主板的构造器就会启动这个控制层程序,连接数据库;
所述Data数据层存储有PC端地面控制平台运行过程中需要调用的数据,包含若干个数据库表,通过建立数据层,实现PC端地面控制平台对各类地图数据的实时调用;
所述支持PC控制的多旋翼无人飞行器通信系统,通过在多旋翼无人飞行器上搭载ARM主控板,所述ARM主控板包括无线通信模块与串口通信模块,通过所述无线通信模块与所述PC端地面控制平台通信,同时通过所述串口通信模块与所述多旋翼无人飞行器通信,所述多旋翼无人飞行器平台和所述PC端地面控制平台依靠该通信系统传输飞行控制指令、飞行状态数据、视频回传数据;
所述PC端地面控制平台还包括PC控制面板和回传视频显示模块,其中,
所述PC控制面板是所述PC端地面控制平台对飞行器的稳定有效控制的可视窗口,该控制面板实现的内容包括:提供支持鼠标和键盘控制的可视化界面方便进行飞行器控制、控制信号转换为报文输出、接收下位机反馈显示以供用户了解飞行器对控制指令的响应是否正常;
所述回传视频显示模块采用开源mjpg-streamer方案;
所述报文的格式如下:
报头+同步字节+报文长度+功能号+数据字节+校验位+结束位。
2.根据权利要求1所述的支持PC控制的多旋翼无人飞行器控制系统,其特征在于,所述支持PC控制的多旋翼无人飞行器通信系统还包括APM飞行姿态从处理器和Arduino信息采集从处理器,
其中,所述APM飞行姿态从处理器,用于控制飞行姿态;所述Arduino信息采集从处理器,用于驱动相应传感器采集环境数据。
3.根据权利要求2所述的支持PC控制的多旋翼无人飞行器控制系统,其特征在于,所述串口通信模块包括UART串口,所述无线通信模块包括WiFi、3G或4G单元,
其中,所述ARM主控板与所述APM飞行姿态从处理器和所述Arduino信息采集从处理器分别通过UART串口进行通信,同时所述ARM主控板还通过WiFi、3G或4G单元与所述PC端地面控制平台进行无线通信,实现多旋翼无人飞行器与PC端地面控制平台之间良好的协调。
4.根据权利要求2所述的支持PC控制的多旋翼无人飞行器控制系统,其特征在于,所述ARM主控板包括thread_video线程、thread_DroneCtrl线程、thread_NavaData线程和thread_CtrlSyn线程,其中,
所述thread_video线程用于控制视频传输的运行与停止;
所述thread_DroneCtrl线程用于接收PC端发过来的飞控指令,并通过串口转发给所述APM飞行姿态从处理器,控制飞行器的飞行姿态;
所述thread_NavaData线程用于控制所述Arduino信息采集从处理器的数据采集,并将采集数据返回给PC端,当该线程执行时,主控程序中的NavaData()函数以及NavaDataProcess()函数将会被调用,用于实时处理传感器数据,并在接收到PC端发送的请求后,返回打包好的传感数据;
所述thread_CtrlSyn线程用于控制thread_video线程、thread_DroneCtrl线程、thread_NavaData线程的同步,实现对视频传输、飞行姿态控制、信息采集三个进程的控制。
5.根据权利要求3所述的支持PC控制的多旋翼无人飞行器控制系统,其特征在于,
所述ARM主控板完成图像信息、飞行状态信息和ZigBee网络状态信息的获取后,通过WiFi、3G或4G单元将上述信息传送到所述PC端地面控制平台,并请求所述PC端地面控制平台接收并提供采用C/S架构的socket进行数据传输服务。
6.根据权利要求3所述的支持PC控制的多旋翼无人飞行器控制系统,其特征在于,
所述ARM主控板通过采用微型无线USB网卡TL-WN725N使得所述控制系统支持WiFi通信,并采用IEEE802.11n网络标准。
7.根据权利要求1所述的支持PC控制的多旋翼无人飞行器控制系统,其特征在于,所述多旋翼无人飞行器平台包括螺旋桨、机架、飞控板、电调、电机、电池、GPS、电流电压传感器和外置电子罗盘,实现飞行器的稳定飞行功能,其中所述GPS和外置电子罗盘用于读取飞行器的地理坐标信息和方向信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610108342.4A CN105549497B (zh) | 2016-02-26 | 2016-02-26 | 支持pc控制的多旋翼无人飞行器控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610108342.4A CN105549497B (zh) | 2016-02-26 | 2016-02-26 | 支持pc控制的多旋翼无人飞行器控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105549497A CN105549497A (zh) | 2016-05-04 |
CN105549497B true CN105549497B (zh) | 2018-05-08 |
Family
ID=55828745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610108342.4A Active CN105549497B (zh) | 2016-02-26 | 2016-02-26 | 支持pc控制的多旋翼无人飞行器控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105549497B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105929838B (zh) * | 2016-05-20 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 一种飞行器的飞行控制方法和移动终端以及飞行控制端 |
CN105867363A (zh) * | 2016-05-26 | 2016-08-17 | 北京飞旋天行科技有限公司 | 无人飞行器的操控方法及设备、无人飞行器的操控系统 |
CN106094845A (zh) * | 2016-05-30 | 2016-11-09 | 深圳市前海疆域智能科技股份有限公司 | 飞行器一键降落的方法 |
CN106444767B (zh) * | 2016-10-24 | 2019-06-21 | 天津城建大学 | 一种基于apm和i7智能芯片的联动组合自主导航无人船控制系统 |
CN106656309A (zh) * | 2017-01-06 | 2017-05-10 | 四川克瑞斯航空科技有限公司 | 一种关于飞行设备的卫星通信系统 |
CN108885463A (zh) * | 2017-02-27 | 2018-11-23 | 深圳市大疆创新科技有限公司 | 无人机的远程控制方法、设备和系统 |
CN106990789B (zh) * | 2017-04-11 | 2021-08-31 | 北京机械设备研究所 | 一种特种环境侦查系统及特种环境的快速侦察方法 |
CN106950990B (zh) * | 2017-04-26 | 2020-06-16 | 安阳全丰航空植保科技股份有限公司 | 一种远程机载无人机飞行控制系统及方法 |
CN106919179A (zh) * | 2017-04-28 | 2017-07-04 | 东华理工大学 | 一种四旋翼飞行器控制系统及控制方法 |
CN107592337A (zh) * | 2017-08-04 | 2018-01-16 | 歌尔科技有限公司 | 一种无人机控制装置与移动终端通信的方法及装置 |
CN107688353A (zh) * | 2017-09-29 | 2018-02-13 | 蒙城县永腾微行掌智能科技有限责任公司 | 一种基于无人机的沙漠水源寻找系统 |
CN109309709B (zh) * | 2018-08-22 | 2021-08-10 | 北京臻迪科技股份有限公司 | 一种可远端控制无人装置的控制方法 |
CN109560881A (zh) * | 2018-10-31 | 2019-04-02 | 武汉三力通信有限责任公司 | 一种专网通信的勘测方法及装置 |
CN109712271A (zh) * | 2019-01-08 | 2019-05-03 | 深圳市道通智能航空技术有限公司 | 一种无人机数据处理方法、装置、设备及存储介质 |
US11315433B2 (en) * | 2019-06-25 | 2022-04-26 | Honeywell International Inc. | Systems and methods for providing a terrain and runway alerting service over a secured data link |
CN110362102B (zh) * | 2019-07-25 | 2022-07-29 | 深圳市道通智能航空技术股份有限公司 | 一种无人机航线生成的方法、装置和系统 |
CN111050107B (zh) * | 2019-11-11 | 2022-09-27 | 湖南君瀚信息技术有限公司 | 一种无线高清低延迟视频传输装置、系统及方法 |
CN114384850A (zh) * | 2022-01-17 | 2022-04-22 | 内蒙古工业大学 | 一种用于无人机平台的远程通信控制方法 |
CN114326820A (zh) * | 2022-02-09 | 2022-04-12 | 西安羚控电子科技有限公司 | 一种无人机飞行监控方法及系统 |
CN115480509A (zh) * | 2022-09-14 | 2022-12-16 | 哈尔滨工业大学(深圳) | 一种基于蜂窝网络的无人机控制系统及控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2914802B1 (fr) * | 2007-04-06 | 2011-02-18 | Airbus France | Procede et dispositif de gestion de canaux de communication pour des echanges de donnees a partir d'un aeronef |
CN102426458B (zh) * | 2011-11-28 | 2013-06-05 | 北京航空航天大学 | 一种适用于旋翼无人机的地面控制系统 |
CN102768518B (zh) * | 2012-07-11 | 2014-05-21 | 清华大学 | 多无人机平台协同控制系统 |
CN202754148U (zh) * | 2012-07-16 | 2013-02-27 | 北京航空航天大学 | 一种通用化可配置无人机地面站 |
CN103246204B (zh) * | 2013-05-02 | 2016-01-20 | 天津大学 | 多无人机系统仿真与验证方法与装置 |
CN104808676B (zh) * | 2015-03-09 | 2018-08-03 | 上海交通大学 | 基于外部视觉的四旋翼无人飞行器全自主飞行控制系统 |
CN205050404U (zh) * | 2015-12-22 | 2016-02-24 | 滨州学院 | 一种基于航空模型的飞行模拟训练系统 |
-
2016
- 2016-02-26 CN CN201610108342.4A patent/CN105549497B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105549497A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105549497B (zh) | 支持pc控制的多旋翼无人飞行器控制系统 | |
Bupe et al. | Relief and emergency communication network based on an autonomous decentralized UAV clustering network | |
CN105745587B (zh) | 使用无人飞行器实现的虚拟观光系统及方法 | |
CN102768518B (zh) | 多无人机平台协同控制系统 | |
EP3684033A1 (en) | Systems and methods for collecting, monitoring, and analyzing vehicle data from a plurality of vehicles using edge computing | |
CN107247460A (zh) | 一种机器蜜蜂的集群控制方法与系统 | |
CN106504588B (zh) | 基于北斗二代和移动网络的多平台低空域监视系统及方法 | |
CN106971511A (zh) | 一种基于飞行器的大气污染物监测与预警系统及方法 | |
CN1393682A (zh) | 飞行实时仿真监控系统 | |
EP3843064A1 (en) | System, management device, and aircraft | |
CN206741671U (zh) | 一种基于飞行器的大气污染物监测与预警系统 | |
CN112148031A (zh) | 一种支持无人机飞行的智能管理控制平台系统 | |
CN102375138A (zh) | 雷达航迹与航班信息综合显示系统 | |
CN101488029A (zh) | 一种共轴式无人直升机的地面测控站实时信息监控系统 | |
Liang et al. | Design and development of ground control system for tethered uav | |
CN205721375U (zh) | 一种多旋翼无人机通讯和安全监测系统 | |
CN112558629A (zh) | 一种实现无人机巡检任务的系统及方法 | |
CN110308736B (zh) | 一种垂直起降固定翼无人机遥控器控制系统 | |
CN109724473B (zh) | 一种车载并联组网式反无人机防御系统的防御方法 | |
CN207301789U (zh) | 一种基于小型四旋翼的无人机编队算法验证系统 | |
CN109144090A (zh) | 一种网络化通信的分布式无人机自驾仪 | |
CN111125238B (zh) | 显示数据的处理方法及装置 | |
CN114726672A (zh) | 高速飞行器地面站多余度人机交互系统和方法 | |
CN109870997A (zh) | 一种三余度飞控计算机系统 | |
CN113110584A (zh) | 多旋翼飞行器云后台网络系统及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |