一种基于WebRTC的无人机操控系统及连接建立方法与流程

文档序号:16149701发布日期:2018-12-05 17:18阅读:728来源:国知局

本发明涉及一种无人机操控系统,尤其是涉及一种基于webrtc的无人机操控系统及连接建立方法。

背景技术

近些年,无人机在快递、地面监控、交通管制、灾难救援、通信中继等领域得到了飞速发展。然而,现有的无人机主要使用wi-fi频段(2.4ghz&5ghz)进行直接的地对无人机控制。这种方法存在速率有限、不可靠、安全性差、易受干扰等缺点;更重要的是,受限于信号衰竭问题,其只能在视距范围内操控。以4g为代表的蜂窝通信技术(甚至包括将来更先进的5g),克服了上述缺点,还兼具信号覆盖广阔的优点。因此,将无人机同4g网络(5g)相结合,通过4g网络实现对无人机的超视距操控,成为一种新的途径。对于这类无人机,我们在下文中将用“联网无人机”一词进行指代。

直观上来说,当对无人机进行操控时,涉及两个方向上的数据传输。一方面,操控者发出的控制命令(比如前后左右移动)会经由网络到达无人机,而无人机将会执行相应的机动动作;另一方面,无人机会实时将第一视角视频流以及飞行传感数据通过网络回传给操控者,以便操控者实时掌握飞行情况。相比传统无人机,联网无人机只是将其数据流承载在4g网络上而非wi-fi上(wi-fi控制一般会在同一局域网中),但是这所带来的技术上的挑战包括:

1.受限于ipv4地址短缺的问题,网络地址翻译(networkaddresstranslation,nat)在当前网络中普遍存在,即便是4g网络也不例外。因此,当无人机接入4g网络时,所分配得到的ip地址属于内网地址。实际上,多个终端包括无人机在内会共用一个公网ip地址。因此,操控者无法直接通过公网ip地址对无人机发起通信。类似地,由于无线路由器的普遍使用,相应的问题也存在在操控者身上,即无人机无法通过公网地址就唯一确定操控者。因此,为了实现联网无人机,就需要设计一种方法保障无人机和操控者之间能建立起双向数据流;

2.无人机作为高机动目标,可能会经常跨越基站覆盖区,因此其所分配到的内网地址及公网地址均可能发生变动,甚至可能会出现信号短暂丢失。因此,从飞行安全的角度来看,即便是在这种情况下,也应该保证在有限的时间内可以无干预自动恢复数据流;

3.无人机与操控者之间的数据流对传输质量的要求大相径庭,需要针对特定的数据流进行专门优化。

a)从无人机回传至操控者的实时视频流,数据量较大,但是由于视频编码的特点,轻微的丢包并不会影响视频的质量。因此,对该视频流的传输,主要侧重速率,以保障视频流的实时性;

b)从无人机回传至操控端的传感器数据以及从操控端发送至无人机的控制命令,数据量相对较小,因此,主要侧重在提供可靠传输的同时,尽可能地降低时延。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于webrtc的无人机操控系统及连接建立方法。

本发明的目的可以通过以下技术方案来实现:

一种基于webrtc的无人机操控系统,包括无人机本体、云端服务器和远程控制设备,所述无人机本体包括飞控模块和图像采集模块,所述系统还包括机载webrtc装置,该机载webrtc装置固定于无人机本体上并与飞控模块和图像采集模块交互数据,所述远程控制装置通过通信网络与机载webrtc装置连接。

所述机载webrtc装置通过wi-fi、串口或usb方式与飞控模块和图像采集模块连接。

所述远程控制设备包括控制侧webrtc装置和控制输入装置,所述控制侧webrtc装置通过通信网络与与机载webrtc装置建立实时连接,所述控制输入装置用于无人机的机动控制。

一种基于webrtc的无人机操控系统的连接建立方法,包括:

步骤s1:机载webrtc装置向信令服务器发送连接请求后,信令服务器返回网页信息并建立与机载webrtc装置之间的信令通道;

步骤s2:控制侧webrtc装置向信令服务器发送连接请求后,信令服务器返回网页信息并盖建立与控制侧webrtc装置之间的信令通道;

步骤s3:机载webrtc装置向信令服务器发送提议会话描述符,并由信令服务器转发至控制侧webrtc装置;

步骤s4:控制侧webrtc装置接收到提议会话描述符后,发送应答会话描述符,并由信令服务器转发至机载webrtc装置;

步骤s5:机载webrtc装置接收到应答会话描述符后获取第一地址候选项,并发送至信令服务器,由信令服务器转发至控制侧webrtc装置;

步骤s6:控制侧webrtc装置收到第一地址候选项后,获取第二地址候选项,并发送至信令服务器,由信令服务器转发至机载webrtc装置;

步骤s7:机载webrtc装置收到第二地址候选项建立与控制侧webrtc装置的会话连接。

所述步骤s3具体包括:

步骤s31:机载webrtc装置创建对等连接;

步骤s32:机载webrtc装置添加媒体流后创建提议信息;

步骤s33:机载webrtc装置根据创建的提议信息向信令服务器发送提议会话描述符,并由信令服务器转发至控制侧webrtc装置。

所述步骤s5具体包括:

步骤s51:机载webrtc装置接收到应答会话描述符后,向stun服务器查询公网出口地址;

步骤s52:stun服务器返回第一地址候选项;

步骤s53:机载webrtc装置获取地址候选项后,发送至信令服务器,由信令服务器转发至控制侧webrtc装置。

所述步骤s6具体包括:

步骤s61:控制侧webrtc装置收到第一地址候选项后,向stun服务器查询公网出口地址;

步骤s62:stun服务器返回第二地址候选项

步骤s63:控制侧webrtc装置获取第二地址候选项后,并发送至信令服务器,由信令服务器转发至机载webrtc装置。

与现有技术相比,本发明具有以下有益效果:

1)依赖于webrtc技术,实现了可以仅依赖主流浏览器,无需安装任何额外的软件以及插件,适用各大平台。

2)针对不同的无人机型号,只需要替换机载webrtc装置同无人机通信的代码即可,通用性好。

3)实时性好,系统时延少于200ms,使得联网操纵无人机切实可行。

附图说明

图1为本发明的结构示意图;

图2为发明方法的结构示意图;

其中:1、无人机本体,2、机载webrtc装置,3、控制侧webrtc装置,4、控制输入装置,5、基站。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

基于对发明所针对问题的认识,本申请基于webrtc设计并实现了联网无人机系统,总的来说,联网无人机的概念本身并不新鲜,但是以往的解决方案并未关注到联网无人机所存在的技术挑战同webrtc之间的契合点并加以组合,webrtc,名称源于网页实时通信(webreal-timecommunication)的缩写,是一个支持网页浏览器进行点对点实时音视频通信和点对点数据传输的技术。webrtc提供了实时音视频通信和p2p传输的核心技术,包括音视频的采集、编解码、nat穿越、网络传输、显示等功能。从开发者的角度来看,借助于webrtc,开发者能够基于浏览器轻易便捷地开发出点对点实时音视频应用和点对点数据传输服务,而无需了解音视频编解码的专业知识和复杂的p2p网络传输技术;而从用户的角度来看,借助于webrtc,用户无需下载安装任何插件,只需要浏览器即可使用具体的服务。此外,由于googlechrome、firefox等浏览器在各大平台(windows、linux、mac、android)均有相应支持,因此,基于webrtc的服务可以轻易实现跨平台。webrtc的上述特性,完美解决了联网无人机当中所存在的技术难点,使得其成为实现联网无人机系统的绝佳技术手段。

值得一提的是,webrtc开放了相应的原生接口(nativeapis),因此理论上是可以直接使用webrtc而跳过网页浏览器的。但是,为了简便起见,我们仅考虑网页浏览器这种情况,本发明应当囊括了原生接口(nativeapis)这种变形。

具体的,一种基于webrtc的无人机操控系统,如图1所示,包括无人机本体1和远程控制设备,无人机本体1包括飞控模块和图像采集模块,系统还包括机载webrtc装置2,该机载webrtc装置2固定于无人机本体1上并与飞控模块和图像采集模块交互数据,远程控制装置通过通信网络与机载webrtc装置2连接。

机载webrtc装置2通过wi-fi、串口或usb方式与飞控模块和图像采集模块连接。

远程控制设备包括控制侧webrtc装置3和控制输入装置4,控制侧webrtc装置3通过通信网络与与机载webrtc装置2建立实时连接,控制输入装置4所发出的操作指令经由控制侧webrtc装置3发送至机载webrtc装置2。

如图1所示,从网络的角度来看,无人机和操控者之间会通过4g网络以及公网相连;而在逻辑上,无人机和操控者之间会存在一条由webrtc创建的数据管道。

在管道的一端,是一块安装在无人机上运行webrtc的迷你pc(作为机载webrtc装置2)。该迷你pc,通过集成的4g模块接入至互联网,为远程操控提供网络基础。机载迷你pc通过某种方式(比如wi-fi或是串口)同无人机建立连接。从无人机获取的飞行传感数据,将会由迷你pc通过webrtc数据管道发送至另一端的控制侧,并以某种形式呈现在web页面上。类似地,机载视频流也会由迷你pc所采集,并传输至控制侧。而对于从控制端发送而来的控制指令,迷你pc将会转发给无人机,由无人机飞控执行具体的机动指令。

在管道的另一侧,是操控者遥控无人机的终端。得益于webrtc技术的特性,控制侧webrtc装置3的形式可以多种多样,既可以是windows台式机、笔记本,也可以是android手机、ios设备等移动设备,只要能联网且能运行chrome/firefox浏览器即可(不局限于4g网络,wi-fi、有线网络亦可)。相应地,控制输入装置4的形式也可以多种多样,既可以是专业的飞行遥控器,也可以是控制侧webrtc装置3自带的触摸屏或者鼠标键盘。操控者发出的控制指令,将会通过webrtc数据管道发送至对端机载迷你pc。而控制输入装置5可以采用手柄的方式以提高体验。

webrtc技术的特性,使得整套联网无人机系统能直接运行在浏览器之上。本部分将从前端页面的角度入手,对本发明进行介绍。当无人机上电启动后,机载迷你pc上的浏览器将会通过4g网络访问对应的web页面。当无人机操纵者准备遥控无人机时,同样只需要访问相应的web页面即可,远端无人机机载摄像头拍摄到的画面将会实时呈现在背景上,而页面上分布的几个仪表将会显示无人机飞行姿态、高度、罗盘、位置等信息。页面上的控制按钮以及摇杆,主要用于无人机起飞、降落以及机动等操作。控制按钮以及摇杆,既可以使用鼠标进行操纵,也可以使用触控屏。另外,借助于html5技术,该web页面同样支持遥控手柄以提供更精细的操作。

上述基于webrtc的无人机操控系统的连接建立方法,如图2所示,包括:

步骤s1:机载webrtc装置2向信令服务器发送连接请求后,信令服务器返回网页信息并建立与机载webrtc装置2之间的信令通道;

步骤s2:控制侧webrtc装置3向信令服务器发送连接请求后,信令服务器返回网页信息并盖建立与控制侧webrtc装置3之间的信令通道;

步骤s3:机载webrtc装置2向信令服务器发送提议会话描述符,并由信令服务器转发至控制侧webrtc装置3,具体包括:

步骤s31:机载webrtc装置2创建对等连接;

步骤s32:机载webrtc装置2添加媒体流后创建提议信息;

步骤s33:机载webrtc装置2根据创建的提议信息向信令服务器发送提议会话描述符,并由信令服务器转发至控制侧webrtc装置3。

步骤s4:控制侧webrtc装置3接收到提议会话描述符后,发送应答会话描述符,并由信令服务器转发至机载webrtc装置2;

步骤s5:机载webrtc装置2接收到应答会话描述符后获取第一地址候选项,并发送至信令服务器,由信令服务器转发至控制侧webrtc装置3,具体包括:

步骤s51:机载webrtc装置2接收到应答会话描述符后,向stun服务器查询公网出口地址;

步骤s52:stun服务器返回第一地址候选项;

步骤s53:机载webrtc装置2获取地址候选项后,发送至信令服务器,由信令服务器转发至控制侧webrtc装置3。

步骤s6:控制侧webrtc装置3收到第一地址候选项后,获取第二地址候选项,并发送至信令服务器,由信令服务器转发至机载webrtc装置2,具体包括:

步骤s61:控制侧webrtc装置3收到第一地址候选项后,向stun服务器查询公网出口地址;

步骤s62:stun服务器返回第二地址候选项

步骤s63:控制侧webrtc装置3获取第二地址候选项后,并发送至信令服务器,由信令服务器转发至机载webrtc装置2。

步骤s7:机载webrtc装置2收到第二地址候选项建立与控制侧webrtc装置3的会话连接。

依托以上方法,一次超视距遥控飞行背后的初始化流程如下:

1.无人机以及控制端依次访问web服务器,取得对应的web页面。web页面所包含的javascript脚本规定了后续操作;

2.根据javascript脚本,无人机以及控制端将会首先同信令服务器建立信令通道。信令服务器的作用就是将来自无人机的信令转发给控制端,而将来自控制端的信令转发给无人机;

3.无人机侧javascript例行调用webrtcapi进行初始化,通信双方经由信令服务器互换初始化相关的信息(会话描述符);

4.无人机以及控制端分别通过部署在公网上的stun服务器,了解自身的公网出口地址以及端口号,并通过信令服务器告知对端。因此,stun服务器的作用就是从公网的视角确定通信双方的网络位置,为直连通信做准备;

5.通信双方建立起连接。在理想情况下,经历上述步骤,即可实现双方的直连通信。但是,由于对称型nat以及防火墙的存在,无人机和控制端间可能无法直接相连。此时,webrtc会自动退而使用预先设置的turn服务器对通信数据进行中转。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1