专利名称:一种基于广域网、应对带宽受限的机器人遥在系统的制作方法
技术领域:
本发明涉及一种机器人遥操作系统,更具体的说,涉及一种应对带宽受限状况、基于广域网的机器人遥在系统。
背景技术:
随着时代的发展,机器人遥操作在越来越多的领域里发挥了不可替代的作用,如远程的病房监控、核反应堆内部的管理等,都可以见到遥操作机器人的身影,而服务机器人也成为遥操作机器人中不可或缺的一员。针对无处不在的互联网,世界范围内出现了各种各样的基于Web的遥在机器人设计方案,为客户提供良好的控制和音视频体验。如何使机器人更好的融入互联网为人类服务,就需要在网络中为机器人提供完善 的控制策略和流畅清晰的音视频传输策略。对于移动机器人的运动控制可以使用势场法来实现。而基于TCP的SOCKET通信可以完全胜任在广域网上控制信号和传感器反馈信号的传输问题。对于流媒体传输,FLASH是现在广域网上最常用的流媒体传输策略。但是,由于FLASH的传输方法并不包含网络情况的监测,当实时流媒体传输不适应当前的网络状况时,就会给遥操作者带来不好的音视频体验性。因此,需要根据机器人的场景和网络情况的检测,使得传输带宽小于传输链路的可用带宽。遥操作系统的设计是多种多样的,MITRO利用ROS平台搭建控制系统,实现了基于网页的控制,而音视频传输采用了第三方软件,如skype (2002年IEEE机器人国际会议,任务一致性的避障和移动平台的运动特性,2002年5月);Vgo利用自主开发的遥操作控制端软件,实现了对遥操作机器人的控制和流媒体传输,并且实现了速度矢量的实时显示及自充电、无线切换等功能(http://www. vgocom. com/productsandservices, VGO 产品服务);QB则利用开发的浏览器插件,实现了基于网页的控制和音视频传输(①http://www.1fanr.com/82573, QB :机器人,影分身,2012年4月12日②2011年IEEE会议机器人的实际应用,遥操作机器人的基本特性,2011年4月);PR2利用HTML5和JavaScript技术实现了基于网页的控制信号和流媒体的传输,控制信号用WebSocket传递,流媒体传输使用的是HTML的视频微件来实现(2012年IEEE机器人自动化国际会议,PR2遥操作实验室一种远程开发和实验环境,2012年5月);PA-10robot实现了基于Web的遥操作机械臂系统,客户端使用FLASH实现,获取机器人端的视频和力反馈信号,由于机械臂运动缓慢,没有考虑机器人的运动对用户的体验性产生的影响,而且没有考虑网络情况(2012年IEEE加拿大会议电子和计算机工程,基于网页的遥操作结构和H264编码器,2012年5月);0T0R0B和DrRobotX80考虑了遥操作机器人的所处场景,根据机器人的速度或检测到障碍物的距离来改变视频分辨率或帧率,来达到节省带宽和增强遥操作者体验性的目的(①马来西亚沙巴大学学术论文,基于因特网的非干预性移动机器人0T0R0B骨科手术的视频传输和控制方法,2011年4月②2011年IEEE机器人和生体模仿学国际会议,基于事件的遥操作机器人动态带宽调节方法,2011年12月)。
发明内容
本发明在借鉴现有的遥操作系统的基础上,提出一种基于广域网、应对带宽受限的机器人遥在系统,该遥在系统是一种基于控制服务器和流媒体服务器的机器人遥在系统,控制服务器采用VC++搭建,实现控制信号、机器人传感器反馈信号和可用带宽信号的传输,流媒体服务器采用FMS (Flash流媒体服务器)搭建,实现机器人端和控制端的双向音视频传输,并在客户端HTML中编写Javascript脚本,获取网络参数RTT,再根据机器人的运动状态和场景,调节流媒体传输带宽,提高了流媒体传输的实时性和客户端的体验性。本发明的一种基于广域网、应对带宽受限的机器人遥在系统,主要由四部分组成机器人端、控制服务器、流媒体服务器、客户端HTML。所述机器人端主要完成控制信号的执行、机 器人的运动控制和音视频数据和传感器数据采集、传输和显示。机器人端程序用VC++搭建,采用基于FLASH的界面显示。机器人端建立TCP的Server,接收控制服务器发送来的控制信号并驱动相应执行机构。在运动的同时,根据机器人本体上的传感器采集环境信号,并进行机器人的运动速度控制,并将实时的传感器信号发送给控制服务器。机器人界面采用FLASH搭建,实现音视频信号的传输和显示,并且根据机器人的运动和当前的网络状况调节视频采集的分辨率和帧率。所述控制服务器主要完成控制信号、机器人传感器反馈信号和可用带宽信号的传输。它一方面监听客户端的控制信号,并将其发送给机器人;另一方面则监听机器人端的传感器的反馈信号,并将其发送给客户端,并将可用带宽信号传递给机器人端。所述流媒体服务器主要完成机器人端和客户端的音视频交互。机器人端和控制端分别向流媒体服务器获取对端的音视频数据。所述客户端HTML主要由FLASH控制端程序、FLASH音视频传输和显示程序和Javascript网络状况监测程序组成。控制端程序主要完成控制信号的检测与传输,传感器信号和可用带宽信号的显示;FLASH音视频传输主要完成音视频的传输和解码显示;网络状况监测程序主要完成网络状况的检测和可用带宽信号的传输。所述可用带宽、最佳分辨率和帧率的计算方法,采用网络带宽检测和流媒体数据的自适应算法。由于客户所处位置情况各异,而且带宽检测会受到客户端防火墙的影响,所以本次带宽检测算法写到客户端的HTML中,用来获取客户端到控制服务器的网络情况,作为带宽调节的依据。客户端下载HTML后通过Javascript加载控制服务器对象,来获取客户端到控制服务器的RTT,由吞吐量公式近似计算客户端到服务器的可用带宽,并将计算的数值通过SOCKET传递给服务器,再通过相同手段传递给机器人,根据机器人所处不同场景视频数据压缩比不同,近似判断压缩比,随后得到在该场景下的最佳分辨率和帧率的数值,完成在可用带宽之内的流媒体传输。本发明所公开的机器人遥在系统的设计方案采用模块化的结构方式,根据机器人所处的不同场景和网络情况进行带宽调节,通过控制服务器和流媒体服务器实现了带宽受限下的控制信号、传感器反馈信号、音视频信号和可用带宽信号的传输,增强了服务机器人的控制和音视频的体验性。
图1为本发明的结构模型和信号传输流程示意图。
具体实施例方式以下结合附图对本发明的技术方案作进一步描述。图1是本发明的结构模型和信号传输流程示意图。其中,客户端和机器人端的界面、控制信号和音视频流信号的捕捉和传输采用FLASH脚本语言编写,机器人端的运动控制、最佳分辨率和帧率的计算和控制服务器程序采用VC++编写,RTT的获取和可用带宽的计算采用Javascript编写。客户端的HTML由FLASH生成,主要包括以下几个模块(I)音视频流的捕捉和传输模块获取客户端的摄像头和麦克风的媒体流,通过设定分辨率、帧率、最大带宽和保真度,经压缩后向流媒体服务器传输。(2)控制信号的捕捉模块客户登陆后,本地HTML与控制服务器建立SOCKET连 接,捕捉键盘和鼠标的控制输入,转化为机器人执行机构的运动矢量,并将这些控制信号传输给控制服务器。(3)传感器反馈信号和流媒体数据的显示模块将传感器反馈信号以饼状图的形式显示出来,表示机器人离周围障碍物的距离;同时将从流媒体服务器获取的流媒体数据进行解码显示。(4)可用带宽的计算模块首先与控制服务器建立SOCKET连接,由获取到的RTT计算出来当前到控制服务器的可用带宽,将可用带宽的数据传输给控制服务器。客户端的HTML通过定时加载控制服务器端的对象,通过返回时间近似得到RTT,由带宽的吞吐量公
式
权利要求
1.一种基于广域网、应对带宽受限的机器人遥在系统,其特征在于,主要由四部分组成机器人端、控制服务器、流媒体服务器、客户端HTML ;其中机器人端采用VC++搭建,主要完成控制信号的执行、机器人的运动控制和音视频数据和传感器数据采集、传输和显示;控制服务器采用VC++搭建,主要完成控制信号、机器人传感器反馈信号和可用带宽信号的传输,它一方面监听客户端的控制信号,并将其发送给机器人;另一方面则监听机器人端的传感器的反馈信号,并将其发送给客户端,并将可用带宽信号传递给机器人端;流媒体服务器采用FMS搭建,实现机器人端和控制端的双向音视频传输;在客户端HTML中编写Javascript脚本,获取网络参数RTT,再根据机器人的运动状态和场景,调节流媒体传输带宽,提高流媒体传输的实时性和客户端的体验性。
2.根据权利要求1所述的基于广域网、应对带宽受限的机器人遥在系统,其特征在于,所述客户端HTML界面和机器人端的界面由FLASH编写,完成客户端控制信号的捕捉和双向的音视频传输。
3.根据权利要求2所述的基于广域网、应对带宽受限的机器人遥在系统,其特征在于,所述客户端HTML主要由(I)音视频流的捕捉和传输模块;(2)控制信号的捕捉模块;(3)传感器反馈信号和流媒体数据的显示模块;(4)可用带宽的计算模块组成。
4.根据权利要求3所述的基于广域网、应对带宽受限的机器人遥在系统,其特征在于,所述可用带宽的计算方法是首先客户端HTML与控制服务器建立SOCKET连接,由获取到的RTT计算出来当前到控制服务器的可用带宽,将可用带宽的数据传输给控制服务器,客户端HTML通过定时加载控制服务器端的对象,通过返回时间近似得到RTT,由带宽的吞吐量公 式.
5.根据权利要求3或4所述的基于广域网、应对带宽受限的机器人遥在系统,其特征在于,所述机器人端的程序主要由两部分组成基于FLASH的音视频传输和基于VC++的运动控制和最佳分辨率和帧率的计算,主要由(I)音视频流的捕捉和传输模块;(2)流媒体信号的显示模块;(3)最佳分辨率和帧率的计算模块;(4)机器人的运动控制模块组成。
6.根据权利要求5所述的基于广域网、应对带宽受限的机器人遥在系统,其特征在于,所述最佳分辨率和帧率的计算方法是客户端HTML获取到控制服务器的RTT并计算出来可用带宽,通过控制服务器传输给机器人,再根据机器人的线速度、角速度或获取摄像机图像间的帧间像素差,来近似判断压缩比,计算出最适分辨率和帧率的乘积,然后在保证在可用带宽下,确定最佳的分辨率和帧率的数值。
全文摘要
本发明公开一种基于广域网、应对带宽受限的机器人遥在系统,主要由四部分组成机器人端、控制服务器、流媒体服务器、客户端HTML;基于Web搭建控制服务器和流媒体服务器,实现了基于网页的控制信号、实时流媒体信号、可用带宽信号和传感器反馈信号的传输,并提出了一种根据可用带宽和机器人所处场景的带宽调节算法,提高了流媒体传输的实时性和客户端的体验性。
文档编号H04L29/08GK103024030SQ20121052938
公开日2013年4月3日 申请日期2012年12月10日 优先权日2012年12月10日
发明者王景川, 陈卫东, 倪智 申请人:上海交通大学