CN107249011A - 基于WebRTC的机器人遥操作系统 - Google Patents
基于WebRTC的机器人遥操作系统 Download PDFInfo
- Publication number
- CN107249011A CN107249011A CN201710231425.7A CN201710231425A CN107249011A CN 107249011 A CN107249011 A CN 107249011A CN 201710231425 A CN201710231425 A CN 201710231425A CN 107249011 A CN107249011 A CN 107249011A
- Authority
- CN
- China
- Prior art keywords
- robot
- audio
- webrtc
- video
- client
- 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.)
- Pending
Links
Classifications
-
- 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]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
Abstract
本发明涉及一种基于WebRTC的机器人遥操作系统,包括机器人、客户端和NodeJS服务器,客户端使用支持WebRTC功能的浏览器向机器人发出控制指令和音视频信号,同时接收机器人发送的控制指令和音视频信号;NodeJS服务器分别向机器人、客户端完成音视频流报文的互换和转发;本发明不仅客户端能够在浏览器内与机器人进行音视频交互,而且利用WebRTC开源代码开源出分辨率和帧率的接口,用于通过云台相机的转角位置、距离传感器的感知信息和机器人的速度控制机器人端的视频流分辨率和帧率。
Description
技术领域
本发明涉及一种基于WebRTC的机器人遥操作系统,属于机器人领域。
背景技术
遥操作是一个古老的话题,自从提出至今对它的研究就一直没有间断。随着科学和时代的发展,机器人遥操作在诸如太空、深海探测,远程的病房监控等领域内,都发挥着不可替代的作用。借助于Internet资源的诸多便利条件,人们对网络机器人的需求必然会日益扩大。而新兴的HTML5技术,又给网络机器人的遥操作开辟了一个新的发展方向。
WebRTC是一项基于HTML5的在浏览器内部进行实时的音视频通讯的技术。实现了基于网页的视频会议,只通过浏览器内部进行Javascript就可以达到实时通讯的能力,而且不需要浏览器提供任何形式的插件。WebRTC提供了视频会议的核心技术,包括音视频的采集、编解码、传输和显示,而且还支持跨平台的调用。
当前存在的网络机器人遥操作系统设计是多种多样的,各生产厂家分别用自己的手段和方法来实现控制信号和音视频信号的传输。音视频信号有些使用了第三方的开源软件,如Skype;有些使用了自己定制的音视频传输软件;有些使用了FLASH等音视频的传输工具。而对于控制信号一般使用Socket或XmlSocket;或者自己定制遥操作控制软件。这些遥操作系统的主要问题在于需要先在客户端安装控制软件或者浏览器插件,不能实现跨平台访问,而且也不能实现机器人运动状态变量对流媒体信号的调节。OTOROB考虑了机器人的所处场景,根据场景和机器人的速度来调节视频流的参数,来达到节省带宽的目的;DrRobot X80则是考虑了机器人的传感器信息,将障碍物作为机器人运动时的感兴趣信息,当检测到障碍物时增大视频流的帧率,以达到保证用户体验性的目的;PR2则利用ROS平台搭建遥操作系统,用WebSocket传递控制信号,使用MJPEG Server搭建流媒体服务器,客户端使用HTML插件来实现。上述所说遥操作系统,增加了机器人的状态变量对流媒体传输的控制,达到了良好的效果,但是问题依然是对客户端要求过高,而且没有考虑网络状况。PR2虽然基于HTML5技术开发,但是其流媒体传输编码效率较低,而且本身也需要插件的支持。
发明内容
本发明提供一种基于WebRTC的机器人遥操作系统,不仅客户端能够在浏览器内与机器人进行音视频交互,而且利用WebRTC开源代码开源出分辨率和帧率的接口,用于通过云台相机的转角位置、距离传感器的感知信息和机器人的速度控制机器人端的视频流分辨率和帧率。
本发明解决其技术问题所采用的技术方案是:
一种基于WebRTC的机器人遥操作系统,包括机器人、客户端和NodeJS服务器,机器人头部安装有云台相机,通过二自由度转动获取环境视频信号,机器人上安装有麦克风,用于获取环境的音频信号,机器人周围装有距离传感器,用于探测距离机器人较近障碍物的信息,机器人的顶部安装有显示器和音箱,用于呈现遥操作者的音视频信号,机器人底部安装在移动平台上;客户端使用支持WebRTC功能的浏览器向机器人发出控制指令和音视频信号,同时接收机器人发送的控制指令和音视频信号;NodeJS服务器分别向机器人、客户端完成音视频流报文的互换和转发;
作为本发明的进一步优选,控制指令的传输遵循WebSocket协议,包括控制移动平台的运动指令和控制云台相机转角运动的指令;
作为本发明的进一步优选,客户端用支持WebRTC功能的浏览器,通过Javascript调用实现与机器人的实时音视频传输,机器人用WebRTC的开源代码,并开源出分辨率和帧率的参数,音视频传输前首先完成两端初始化报文的传输,两端在添加完SDP消息响应后向NodeJS服务器传输基于WebSocket的SDP消息,描述本端地址和端口信息,NodeJS服务器完成报文的互换和转发,一旦对端的报文到达便进行WebRTC的音视频点对点传输;
作为本发明的进一步优选,客户端遥操作指令包括云台相机转角的运动指令和移动平台的运动指令,客户端控制云台相机的转角和底部移动平台的运动速度,机器人周围的距离传感器实时检测距离机器人障碍物的信息;机器人视频的分辨率根据云台相机转角位置、距离传感器的信息和机器人运动速度进行调节。
通过以上技术方案,相对于现有技术,本发明具有以下有益效果:
本发明提出了一种基于WebRTC的机器人遥操作系统,该系统客户端的浏览器内部进行与机器人端进行音视频交互,机器人端不仅利用WebRTC的开源代码与客户端传输音视频,还在WebRTC的开源代码上封装了上层调用,通过云台相机的转角位置,距离传感器的感知信息和机器人的运动速度调节机器人端的流媒体传输分辨率和帧率。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的优选实施例的硬件结构图;
图2是本发明的优选实施例的WebRTC传输算法流程图;
图3是本发明的优选实施例的移动平台的流媒体传输方法流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
如图1所示,本发明的一种基于WebRTC的机器人遥操作系统,包括机器人、客户端和NodeJS服务器,机器人头部安装有云台相机,通过二自由度转动获取环境视频信号,机器人上安装有麦克风,用于获取环境的音频信号,机器人周围装有距离传感器,用于探测距离机器人较近障碍物的信息,机器人的顶部安装有显示器和音箱,用于呈现遥操作者的音视频信号,机器人底部安装在移动平台上;客户端使用支持WebRTC功能的浏览器向机器人发出控制指令和音视频信号,同时接收机器人发送的控制指令和音视频信号;NodeJS服务器分别向机器人、客户端完成音视频流报文的互换和转发;
作为本发明的进一步优选,控制指令的传输遵循WebSocket协议,包括控制移动平台的运动指令和控制云台相机转角运动的指令;
作为本发明的进一步优选,客户端用支持WebRTC功能的浏览器,通过Javascript调用实现与机器人的实时音视频传输,机器人用WebRTC的开源代码,并开源出分辨率和帧率的参数,音视频传输前首先完成两端初始化报文的传输,两端在添加完SDP消息响应后向NodeJS服务器传输基于WebSocket的SDP消息,描述本端地址和端口信息,NodeJS服务器完成报文的互换和转发,一旦对端的报文到达便进行WebRTC的音视频点对点传输;
作为本发明的进一步优选,客户端遥操作指令包括云台相机转角的运动指令和移动平台的运动指令,客户端控制云台相机的转角和底部移动平台的运动速度,机器人周围的距离传感器实时检测距离机器人障碍物的信息;机器人视频的分辨率根据云台相机转角位置、距离传感器的信息和机器人运动速度进行调节;若检测到障碍物在云台相机的视野范围内,则提高机器人端视频流的分辨率和帧率;反之则保持预先设定的分辨率和帧率进行传输。另外,机器人端视频流的分辨率根据移动平台速度进行调节,并且在一定范围内速度越大、分辨率越高。
如图2所示,是WebRTC传输算法流程图,对于客户端和服务器的WebRTC程序,主要由以下几步调用组成:
(1)捕获本地的音视频流;一路回送给本地显示,一路用于RTP传输;
(2)设置视频流的分辨率和帧率;这步在机器人端Peerconnection完成,将Peerconnection中决定视频分辨率和帧率的函数调用提取出来,用于构造流媒体参数调节算法的接口,调节机器人端视频流的分辨率和帧率;
(3)添加SDP消息响应;为了传输WebRTC流媒体的报文,需要构造基于WebSocket的SDP消息,用于描述本次的会话名、带宽信息、媒体类型、传输协议、媒体格式、端口和地址等方面的内容,并设置本端的消息响应机制。该报文用于流媒体传输的初始化。一旦构造好SDP消息就向NodeJS服务器发送。NodeJS服务器完成消息的转发,并且完成传输情况的监听;
(4)使用WebSocket将构造好的SDP消息传输到对端;
(5)两端接收到SDP消息后执行相应的消息处理,并按照消息中的对端端口和地址传输捕捉到的音视频流。
如图3所示为移动平台的流媒体传输方法流程图,由云台相机的转角位置(设该方向距离机器人正前方偏转d度)和机器人距离传感器的信息可知在距离传感器的感知范围内是否存在障碍物,以及该障碍物是否在机器人云台相机的视野范围内(d-δ,d+δ),若在该角度范围内存在障碍物,则按照下式调节视频流的分辨率和帧率:
其中,video.interval为视频流两帧之间的时间差,反映出帧率信息,F1>F2>F3。Dis(s,p)为根据云台相机的位置p和传感器的信息s确定的在云台相机的视野范围内(d-δ,d+δ)障碍物距离机器人的距离。
同时,速度检测模块实时检测机器人当前运行的线速度和角速度,考虑到机器人运动时遥操作者对视频流的清晰度感知不明显,为了降低运动场景的网络带宽,确定如下机器人发送端的视频分辨率决定公式:
其中,v为机器人运行的线速度,w为机器人运行的角速度。
若机器人存在速度,同时障碍物也存在与云台相机的视野范围内,则最终机器人端发送的视频流的分辨率和帧率按照两种方式的加权可得:
video.width=f(v,w,s,p)=M*video.height=M*g(v,w,s,p)=U*video.widthL+V*video.widthVvideo.interval=k(s,p)=video.intervalL
其中,U,V分别为传感器标定系数和速度标定系数。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本申请中所述的“和/或”的含义指的是各自单独存在或两者同时存在的情况均包括在内。
本申请中所述的“连接”的含义可以是部件之间的直接连接也可以是部件间通过其它部件的间接连接。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (4)
1.一种基于WebRTC的机器人遥操作系统,其特征在于:包括机器人、客户端和NodeJS服务器,机器人头部安装有云台相机,通过二自由度转动获取环境视频信号,机器人上安装有麦克风,用于获取环境的音频信号,机器人周围装有距离传感器,用于探测距离机器人较近障碍物的信息,机器人的顶部安装有显示器和音箱,用于呈现遥操作者的音视频信号,机器人底部安装在移动平台上;客户端使用支持WebRTC功能的浏览器向机器人发出控制指令和音视频信号,同时接收机器人发送的控制指令和音视频信号; NodeJS服务器分别向机器人、客户端完成音视频流报文的互换和转发。
2.根据权利要求1所述的基于WebRTC的机器人遥操作系统,其特征在于:控制指令的传输遵循WebSocket协议,包括控制移动平台的运动指令和控制云台相机转角运动的指令。
3.根据权利要求2所述的基于WebRTC的机器人遥操作系统,其特征在于:客户端用支持WebRTC功能的浏览器,通过Javascript调用实现与机器人的实时音视频传输,机器人用WebRTC的开源代码,并开源出分辨率和帧率的参数,音视频传输前首先完成两端初始化报文的传输,两端在添加完SDP消息响应后向NodeJS服务器传输基于WebSocket的SDP消息,描述本端地址和端口信息,NodeJS服务器完成报文的互换和转发,一旦对端的报文到达便进行WebRTC的音视频点对点传输。
4.根据权利要求3所述的基于WebRTC的机器人遥操作系统,其特征在于:客户端遥操作指令包括云台相机转角的运动指令和移动平台的运动指令,客户端控制云台相机的转角和底部移动平台的运动速度,机器人周围的距离传感器实时检测距离机器人障碍物的信息;机器人视频的分辨率根据云台相机转角位置、距离传感器的信息和机器人运动速度进行调节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710231425.7A CN107249011A (zh) | 2017-04-10 | 2017-04-10 | 基于WebRTC的机器人遥操作系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710231425.7A CN107249011A (zh) | 2017-04-10 | 2017-04-10 | 基于WebRTC的机器人遥操作系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107249011A true CN107249011A (zh) | 2017-10-13 |
Family
ID=60017571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710231425.7A Pending CN107249011A (zh) | 2017-04-10 | 2017-04-10 | 基于WebRTC的机器人遥操作系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107249011A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111565194A (zh) * | 2020-05-18 | 2020-08-21 | 刘安东 | 基于WebRTC远程控制无人车的控制方法 |
CN112261343A (zh) * | 2020-12-08 | 2021-01-22 | 之江实验室 | 一种基于WebRTC的机器人远程通话系统 |
CN112804592A (zh) * | 2021-01-11 | 2021-05-14 | 福建天泉教育科技有限公司 | 一种基于浏览器的rtsp直播视频转发方法及终端 |
CN114268773A (zh) * | 2022-03-03 | 2022-04-01 | 杭州闪马智擎科技有限公司 | 一种视频播放方法、系统、存储介质及电子装置 |
CN114745999A (zh) * | 2019-12-16 | 2022-07-12 | 日立环球生活方案株式会社 | 自主行走型吸尘器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556609A (zh) * | 2004-01-09 | 2004-12-22 | 东南大学 | 移动机器人网络化控制平台装置 |
CN103024030A (zh) * | 2012-12-10 | 2013-04-03 | 上海交通大学 | 一种基于广域网、应对带宽受限的机器人遥在系统 |
CN103051982A (zh) * | 2012-12-28 | 2013-04-17 | 上海华为技术有限公司 | 一种视频流传输控制方法以及视频流传输控制装置 |
CN103546442A (zh) * | 2012-07-17 | 2014-01-29 | 中兴通讯股份有限公司 | 浏览器的通讯监听方法及装置 |
CN103631221A (zh) * | 2013-11-20 | 2014-03-12 | 华南理工大学广州学院 | 一种遥操作服务机器人系统 |
CN204539312U (zh) * | 2015-04-21 | 2015-08-05 | 深圳市锐曼智能装备有限公司 | 基于机器人的视频通讯与图片分享同步的装置 |
CN104869101A (zh) * | 2014-02-21 | 2015-08-26 | 华为技术有限公司 | 一种通道建立的方法和设备 |
-
2017
- 2017-04-10 CN CN201710231425.7A patent/CN107249011A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556609A (zh) * | 2004-01-09 | 2004-12-22 | 东南大学 | 移动机器人网络化控制平台装置 |
CN103546442A (zh) * | 2012-07-17 | 2014-01-29 | 中兴通讯股份有限公司 | 浏览器的通讯监听方法及装置 |
CN103024030A (zh) * | 2012-12-10 | 2013-04-03 | 上海交通大学 | 一种基于广域网、应对带宽受限的机器人遥在系统 |
CN103051982A (zh) * | 2012-12-28 | 2013-04-17 | 上海华为技术有限公司 | 一种视频流传输控制方法以及视频流传输控制装置 |
CN103631221A (zh) * | 2013-11-20 | 2014-03-12 | 华南理工大学广州学院 | 一种遥操作服务机器人系统 |
CN104869101A (zh) * | 2014-02-21 | 2015-08-26 | 华为技术有限公司 | 一种通道建立的方法和设备 |
CN204539312U (zh) * | 2015-04-21 | 2015-08-05 | 深圳市锐曼智能装备有限公司 | 基于机器人的视频通讯与图片分享同步的装置 |
Non-Patent Citations (4)
Title |
---|
何明亮: "WebRTC技术的研究与应用", 《中国优秀硕士学位论文全文数据库》 * |
刘浪宇: "一个基于WebRTC技术的即时通信系统的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
杨欣: "基于Web的实时通信系统与关键技术研究", 《中国优秀硕士学位论文全文数据库》 * |
龚琦: "基于WebRTC的实时通信能力平台研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745999A (zh) * | 2019-12-16 | 2022-07-12 | 日立环球生活方案株式会社 | 自主行走型吸尘器 |
CN111565194A (zh) * | 2020-05-18 | 2020-08-21 | 刘安东 | 基于WebRTC远程控制无人车的控制方法 |
CN112261343A (zh) * | 2020-12-08 | 2021-01-22 | 之江实验室 | 一种基于WebRTC的机器人远程通话系统 |
CN112804592A (zh) * | 2021-01-11 | 2021-05-14 | 福建天泉教育科技有限公司 | 一种基于浏览器的rtsp直播视频转发方法及终端 |
CN114268773A (zh) * | 2022-03-03 | 2022-04-01 | 杭州闪马智擎科技有限公司 | 一种视频播放方法、系统、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107249011A (zh) | 基于WebRTC的机器人遥操作系统 | |
US10681342B2 (en) | Behavioral directional encoding of three-dimensional video | |
US9270941B1 (en) | Smart video conferencing system | |
KR102530419B1 (ko) | 화상 회의를 위한 보충 콘텐츠를 이용한 비디오 스트림들의 수정 | |
US9843713B2 (en) | Systems and methods for video communication | |
JP2014502433A (ja) | ケーブルテレビシステムを使用したビデオ装置間のデジタルビデオストリーミング | |
US11218669B1 (en) | System and method for extracting and transplanting live video avatar images | |
US9632588B1 (en) | System and method for redirecting content based on gestures | |
US11012664B2 (en) | Remote controlled video messaging session | |
CN111869222B (zh) | 基于http的dash客户端网元、方法及介质 | |
US20170272488A1 (en) | Method for controlling a multimedia application, software product and device | |
US20140347436A1 (en) | Portable transparent display with life-size image for teleconference | |
CN106791703B (zh) | 基于全景视图来监视场景的方法和系统 | |
JP2019139443A (ja) | 通信装置、通信方法、及びプログラム | |
EP4367846A1 (en) | User-configurable spatial audio based conferencing system | |
US20230410443A1 (en) | Method and device for rendering content in mobile communication system | |
CN102202206A (zh) | 通信设备 | |
US10764535B1 (en) | Facial tracking during video calls using remote control input | |
US10834358B1 (en) | Enhancing video quality based on metadata at a client device having more processing power in a system of client devices having different amounts of processing power | |
CN106919376A (zh) | 动态画面传输方法、伺服器装置及用户装置 | |
JP5266000B2 (ja) | インターホン装置 | |
Zafar et al. | Smart phone interface for robust control of mobile robots | |
CN107027006A (zh) | 一种有音视频监视的遥控机器人系统 | |
JP7339435B2 (ja) | パーソナルデバイスによって支援されるtvストリーミング及びレンダリングコンテンツの中心窩最適化 | |
KR101676396B1 (ko) | 공공장소에서 사용자 단말을 이용한 텔레스크린 서비스 시스템 및 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171013 |
|
RJ01 | Rejection of invention patent application after publication |