(通信与信息系统专业论文)网络机器人数据传输协议的设计与实现.pdf_第1页
(通信与信息系统专业论文)网络机器人数据传输协议的设计与实现.pdf_第2页
(通信与信息系统专业论文)网络机器人数据传输协议的设计与实现.pdf_第3页
(通信与信息系统专业论文)网络机器人数据传输协议的设计与实现.pdf_第4页
(通信与信息系统专业论文)网络机器人数据传输协议的设计与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(通信与信息系统专业论文)网络机器人数据传输协议的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华南理工大学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。, 作者签名:彳不诬嘭望日期:2 0 0 5 年乡月7 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华南理工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密囱,在 年解密后适用本授权书。本学位论文属于不保密口。( 请在以上相应方框内打“”)储躲簿记慢嗍导师签名:j 复f日期:日日歹,钿阳年年000o摘要摘要近几年随着计算机网络的迅速发展和大规模的普及,基于网络的应用层出不穷。同样,在遥操作控制领域中,也开始大量使用i n t e r n e t 作为传输信道,这样不仅大大降低了设立专用线路的成本,而且使得遥操作控制系统更具有通用性。但是这样将会使得一个控制系统中的控制信号的发送和反馈环节产生非常大的延时,并引起发送速率的不稳定性问题。目前,出现了很多新的方法和新的协议来弥补t c p 传输的非实时性和u d p 传输的高丢包率问题。但是这些方法和协议,要么是主要针对一般媒体流的应用,要么是针对系统内核的修改,很少有专门针对机器人数据传输的设计。由于以上存在的问题,本文研究的目的就是希望设计一套专门用于机器人遥操作的传输协议,使其可以尽快地传送控制数据和获取反馈数据,能够适应网络带宽变化且不争用带宽,在稳定的状态下,数据发送速率的变化能够尽可能的平缓。以此为出发点,本文在吸收了大量的相关协议设计经验的基础上,主要是基于i e t f 的d c c p ( 数据包拥塞控制协议) 工作组的t f r c ( t c p 友好的速率控制) 协议和适合于机器人数据传输的拥塞控制算法t r i n o m i a l ,结合了两者的特点,设计了机器人数据传输协议,该协议包括协议架构、协议格式、丢包策略以及控制算法等。整个协议设计和实现是在应用层上进行的,协议分为两层,完全由j a v a 语言实现,并使用j a v a 的u d ps o c k e t 接口与底层进行数据交换。这样使得协议不依赖于特殊的内核和路由器的支持,只需客户端和服务器端安装j r e l 4 2 以上版本的j a v a 运行环境即可。在实现了原型系统的基础上,设计两个主要的测试,一个是丢包率的测试,主要是在网络繁忙,网络负载较重的时段进行发送测试,并与u d p 协议进行比较,另一个是在模拟一定的带宽情况下,测试发送速率对带宽的适应情况。试验结果表明,在网络负荷很重的情况下,丢包率远小于u d p ,并且,发送速率可以主动地随带宽的变化而变化,保持与t c p 的友好,在不竞争带宽的前提下,尽力地利用现有带宽。通过本文的研究结果可以看出,本文设计的协议是直接建立在i n t e r n e t 基础上,较好地满足机器人遥操作对控制命令和数据传输的特殊要求。整个协议与平台无关,通用性强。通过协议扩展,可将其应用于其它远程高价值设备的遥操作控制,具有较大的应用推广价值。关键词:协议,机器人,遥操作,j a v a华南理工大学硕士学位论文a b s tr a c tr e c e n tl y ,t h ec o m p u t e rn e t w o r kisb o o s ti n gu pf a s t i nt h es a m eti m e ,t h ei n t e r n e th a sb e e nu s e dw i l d l yi nt h et e l e 。o p e r a t i o ns y s t e mf o rn o to n l yd e c r e a s i n gt h ec o s to fu s i n gs p e c i a lt r a n s p o r tl i n e sb u tm a k i n gt h es y s t e mm o r eu n i v e r s a l b u t ,t h u sm u s tm a k et h et r a d i t i o n a lp r o b l e m sm o r es e r i o u s ,e g t h et i m ed e l a yo ft h es i g n a l s n o w ,s o m ei d e a sa r ec o m eu pw i t ht oc o m p e n s a t et h es h o r t c o m i n g so ft h et c pa n du d p ,b u tt h e ya r em a i n l yf o rt h em e d i as t r e a ma p p l i c a t i o n so rb a s e do nm o d i f i c a t i o no fo sk e r n e l t h es p e c i a ld e s i g nf o rr o b o ti sr e a ll yr a r e f o rt h ea b o v ep r o b l e m s ,t h er e s e a r c hp u r p o s ei st h a tw eh o p et od e s i g nat r a n s f e rp r o t o c o lw h i c hi ss p e c i a lf o rr o b o tt e l e 。o p e r a t i o ns y s t e ma n dm a k ei tt r a n s f e rt h es i g n a l sa sf a s ta sp o s s i b l ea n ds e n s i t i v et ov a r i e t yo fb a n d w id t h b a s e do nt h ea b o v ep o i n t ,t h ep r o t o c o lp r o p o s e di nt h i sa r t i c l ei sb a s e dm a i n l yo nt h et f r c ( t c pf r i e n d l yr a t ec o n t r 0 1 ) o fd c c p ( d a t a g r a mc o n g e s ti o nc o n t r o lp r o t o c 0 1 ) w o r k f o r c ei ni e t fa n dt r i n o m i a l t h ec o n g e s t i o nc o n t r o la l g o r i t h mf o ri n t e r n e tr o b o t w ec o m b i n et h es t r o n g p o i n to fa b o v et w oa n dd e s i g nt h er o b o td a t at r a n s f e rp r o t o c o lw h i c hi n c l u d e sf r a m ed e s i g n ,p r o t o c o lf o r m a td e s i g n ,p a c k e t sp r o c e s sr u l e sd e s i g na n d t h ec o n t r o la l g o r i t h m o u rp r o t o c o lw h i c hi si m p l e m e n t e do nt h ea p p l i c a t i o nl a y e ra n du s i n gj a v as o c k e tt ot r a n s f e rd a t at ok e r n e ll a y e ri sd e s i g n e di nt w ol a y e r s t h u sm a k e si ti n d e p e n d e n to ft h eo sk e r n e la n ds p e c i a lr o u t e rs u p p o r t sa n di tw i l lw o r ka f t e rb o t hc l i e n ta n ds e r v e ri n s t a l lt h ej r e l 4 2o ra b o v e a f t e rf i n i s ht h ed e v e l o p m e n t ,w ed e s i g n e dt w ot e s t s t h ef i r s ti sl o s sr a t et e s tw h i c hc o m p a r et h el o s sr a t ew it hu d pb ys e n d i n gal a r g en u m b e ro fp a c k e t si nb u s yp e r i o do fn e t w o r k t h es e c o n di ss e n d i n gr a t ec o n t r o lt e s tw h i c hu s e dt oj u s tt h ea d a p t a t i o nw i t ht h eb a n d w i d t h t h er e s u l t so ft h et e s ti1l u s t r a t et h a t t h el o s sr a t ei sm u c hl o w e rt h a nt h a tb yu d p ,e s p e c i a l l yi nh e a v yl o a dc o n d i t i o n s ,a n dt h a tt h es e n d i n gr a t ea d a p tt h eb a n d w i d t hw e l l a n di sa l s ot c pf r i e n d l yw h i l ep r o b i n gt h ea d d i t i o n a lb a n d w i d t h f r o mt h er e s u l t ,w ec a nc o n e l u d et h a to u rp r o t o c o li sb a s e do nt h ei n t e r n e ta n di sd e s i g n e da n di m p l e m e n t e ds p e c i a l l yt om e e tt h er e q u i r e m e n tno fr o b o tt e le o p e r a tio ns y s t e m t h ep r o t o c o lisin d e p e n d e n to fo s a n du n i v e r s a l w i t ht h ef u r t h e rd e v e l o p m e n tb a s e do nt h i sp r o t o t y p e ,t h ep r o t o c o lc o u l db eu s e di nt e l e 。o p e r a ti o no fo t h e rh i g hv a l u ee q u i p m e n t sa n di sw o r t hw i l du s ea n dp o p u l a r i z i n g k e y w o r d s :p r o t o c o l ,r o b o t ,t e l e o p e r a ti o n ,j a v ai l l目录目录摘要ia b s t r a c t ii第一章绪论11 1 研究背景11 2 国内研究现状31 2 1 基于t c p 和u d p 协议的遥操作系统31 2 2 基于现有的程序框架的遥操作系统51 3 国外研究现状61 4 目前存在的问题91 5 本课题的意义91 6 本章小结10第二章遥操作数据传输协议总体设计1 l2 1 设计概述1 12 1 1 协议框架1 12 1 2 协议在i p 协议栈中的位置1 22 1 3 协议栈的分层设计1 32 2 协议中的理论分析和机制1 52 2 1t c p 友好的速率方程152 2 2 遥操作数据传输协议的拥塞控制算法1 62 2 3 数据包的设计182 3 协议发送端设计1 92 3 1 丢失事件率1 92 3 2 发送端初始化2 02 3 3 发送端处理反馈包( a c k ) 2 02 3 4 无反馈定时器( n o f e e d b a c kt i m e r ) 超时处理2l2 3 5 数据包的发送定时2 22 4 协议接收端设计2 22 4 1 接收端初始化2 22 4 2 接收端处理收到的数据包2 22 5 本章小结。2 3华南理工大学硕士学位论文第三章遥操作数据传输协议实现2 43 1 实现概述2 43 1 1 实现环境与方法2 43 1 2 面向对象的分层设计实现2 63 2 发送端实现2 83 2 1 总体实现2 83 2 2 连接过程实现2 93 2 3 数据发送过程实现3 03 2 4 主动关闭过程实现3 03 2 5a c k 处理过程实现3 l3 3 接收端实现3 43 3 1 总体实现3 43 3 2 接收数据包实现3 53 3 3 关闭实现3 83 4 本章小结3 8第四章试验分析4 04 1 试验设计4 04 2 试验工具说明4 04 2 1 流量控制器t c 4 04 2 2 本试验中使用的队列介绍和配置。4 14 3 试验结果与分析4 24 3 1 试验一:速率控制测试4 24 3 2 实验二:丢包率比较测试4 4结论4 7参考文献4 9攻读学位期间发表论文:5 2致谢附录1 丢包率测试数据第一章绪论1 1 研究背景第一章绪论机器人远程控制是机器人发展的重要研究领域,限于目前机器人智能水平等原因,远程机器人的活动基本上是在人类监控下进行的,如美国的火星探测者、航天飞机上的机械手、日本e t sv i i 上的机器人等。对于机器人的远程控制来说,面临的技术难点在于网络延时和负荷变化所具有的随机性、可变性和不可预测性影响了遥操作机器人系统的实时性、准确性和可靠性,主要表现在:1 操作员控制站和远程机器人操作现场之间存在较大的通信延迟,将这种时间延迟引入控制回路,将使系统的稳定性受到严重地破坏。2 由于遥操作命令的延时到达和丢失,会造成远程机器人系统和遥操作仿真系统之间的位置误差和时间误差。3 由于网络带宽和信道负荷的影响,使远程场景视频的传输出现不连续性和抖动现象,从而限制了操作员对操作现场进行准确的感知和判断。然而,现今基于i p 的以太网络在传输层提供给用户两种协议- - t c p 和u d p ,t c p 最早正式的定义是在r f c 7 9 3 中,其后在r f c l l 2 2 中进行了错误的纠正,在r f c l 3 2 3 中进行了扩展【l 】。由于t c p 定义的时间非常早,从一开始就没有充分地考虑把实时特性放到协议的设计之中,使得它在现代网络视频流以及实时数据应用中受到很大限制。t c p 是为了可靠的传输而设计的传输层协议,当传输中发生包丢失或者大延时引起的等待超时,接受端将要求发送端重新发送需要的数据包。这种机制将会造成比较大的平均延时并且降低了发送效率。t c p 采用了发送窗口来实现拥塞控制,每一个发送端都维持着两个窗口,一个代表着接受端的能力,即保证接收端缓冲区不溢出的窗口最大值。另一个代表了网络传输的能力,即拥塞窗口。发送窗口的最大值就维持在两者中的较小的值上。当网络发生带宽拥塞时( 可以使用的带宽小于当前发送窗口的值) ,发送窗口将会迅速减小到初始化时的最小值,而后逐渐增加。如果拥塞一直再持续,发送窗口的大小的突变就一直会持续。这样将会引起较大的发送速率的抖动,见图1 1 t c p 的拥塞控制图例。为了更好地提升t c p 的发送速率和稳定性,出现了h s t c p t 纠、s t c p t 3 i 等改进的建议,但是它们只是对t c p 的轻微改动。h s t c p 建议使用大拥塞窗口。为了改善t c p 在稳定状态的和一定丢包率情况下的特性,h s t c p 修改了原有的t c p 响应方程,但是没有改变t c p 在拥塞严重情况的行为特性。s t c p 对t c p 的原有控制算法进行改进,但同样具有t c p 的固有问题:华南理工大学硕士学位论文1 在数据包的层次上,每一个r o u n d t r i pt i m e ( r t t ) 线性增加一个数据包显得太慢,在每一个丢失事件发生时候的乘量递减显得太快。2 在数据流的层次上,维持一个大的拥塞控制窗口,需要一个非常小的稳定的丢失概率。o2l o 1 2 l 约筮舶t n m 蝴n u m b 图1 1t c p 拥塞控制图例1 1 lf i g1 1a ne x a m p l eo ft c pc o n g e s t i o na l g o r i t h m 1 1目前,最新研究的f a s tt c p t 4 1 ,以排队延时作为拥塞测量的依据,但它也只是在高速主干网络中才有明显的优势,在低带宽或丢包现象较严重的场合与t c p性能区别不大。u d p 从本质上来说,就是i p 包加了一个短包头。它是面向无连接的,同时也是开环的传输协议。首先,u d p 没有拥塞控制或者避免的机制,所以也是当前造成网络拥塞的主要原因之一:其次,单纯使用u d p 来传输的应用程序,将会导致不公平竞争带宽的问题;再次,u d p 的高发送速率,将会引起自身数据包的较大延时和丢失。但是,u d p 是直接建立在i p 层基础上,没有添加任何的传输层的控制方法,这样给开发者提供了一个良好的与i p 层交流的环境,利用u d p 提供给我们的接口,可以编制自己的具有传输层意义的协议。由于上述的原因,目前所采取的最实际的方法是,在u d p 之上,添加新的控制算法以达到实时性等要求。这方面,最成熟的便是i 汀p 1 5 l 协议了。r t p 毕竟是为实时视频流传输设计的协议,只是一种准实时性的协议,为了保证接收端达到良好的视觉效果,r t p 允许一定时间的延时,这对机器人远程控制来说却是无法接受的。因为,假如机器人手爪以1 m s 的速度运动,则由于丢包等原因产生0 0 1 秒的时延,将使机器人的手爪运动误差为:0 0 l m ,既l o m m 。2n罅篱譬薯秘秘住馋o富j套圣ij,置吾善第一章绪论为了更好的完成分布式机器人数据的传输,在利用现有协议的基础上,人们采取了很多不同的做法,将在以下几节中详细介绍。1 2 国内研究现状目前,国内大部分的研究主要是基于现有的协议和框架基础上的。通过一些控制层面的补偿机制来削弱延时的影响,或者有些文章中的系统不考虑延时。1 2 1 基于t c p 和u d p 协议的遥操作系统文献 6 中,通过中科院的机器人设备,搭建了一个遥操作控制平台,该系统由p c 游戏杆,摄像头,移动机器人,及网络连接设备组成硬件系统,在软件上采用了c l s 模式。系统以游戏杆作为主端操作器发送控制指令,从端采用移动机器人作为被控对象,并以t c p 协议为基础进行控制命令和反馈数据的传输,试验结果表明了可靠性和实时性都无法保证,原因是t c p 的超时重传机制占用了大量的资源。因此,使用了u d p 作为传输协议,在此协议之上做了一些连接状态和补偿的规定,使得传输尽量可靠,这些补偿算法是可以借鉴的,但是并没有提供有效的拥塞控制算法,和理论论证。这样,在i n t e r n e t 上是无法应用的,因为没有拥塞控制算法,会导致网络拥塞的产生。文献 7 中,搭建了一个基于i n t e r n e t 的医疗机器人主从遥控系统,包括:两台与i n t e r n e t 相连的计算机,一个游戏操纵杆,一个提供视频的数码相机和一个e d u r o b o t 6 8 0 - i i 型机器人。作者利用w i ns o c k e t 编程接口进行网络传输程序的编写,并在基于c o m 技术的m i c r o s o f t 固n e t m e e t i n g 的基础上进行了二次开发,来传输控制流程中的实时图像的反馈。该系统针对网络状态提供了简单的检测功能,但是还是需要用户根据当时的网络状态,对发送图像的帧率和分辨率进行配置。为了达到良好的控制效果,作者对不同网络进行了不同时段的采样测试,给出了一个延时查询表格,用来给用户进行参数配置时参考,但是这种方式使得控制系统失去了通用性。最后作者提出了指令编码表的方法进行指令的传输,以降低网络传输的负担,这点值得借鉴。文献 8 中,利用沈阳自动化研究所自主研发的全方位移动机器人和配置服务器构建了一个基于w e b 的机器人远程控制系统,该系统建立在t c p 的基础之上,基于w e b 架构设计机器人控制系统。系统完全是在应用层上开发。它给本文提供的主要参考价值是使用j a v a 技术构造系统的可行性。文献 9 中使用了t c p 协议作为基础,实现了一个c s 结构的遥操作系统。文献 1 0 中直接使用了u d p 传输协议,提出了基于事件的控制方式。文献 11 中提3华南理工大学硕士学位论文出的系统本质上也是使用了t c p 对指令进行封装。文献 1 2 中同样也是使用了w e b和s e r v l e t 技术,文献 1 3 说明了自己的系统t e l e r o b o t 和基于w e b 服务器和机器人服务器两层结构,但是传输部分还是使用了h t t p 和w i ns o c k e t 接口进行实现,所以还是基于现有协议的。上述文献资料表明,直接使用现有的协议很难达到比较好的效果,为了更好的消除延时,一些协议的研究把网络传输协议做得更加个性化,也就是把具体的协议实现与上层采集数据相结合。文献 1 4 中,采用了m a n a g e n t r o b o t 模型,并指出网络对机器人反馈视频的传输的影响主要在于:由于网络负荷的变化,视频图像的传输速率也随之变化,视频图像帧被分割的大小也不同,并且分割后的数据包达到的顺序也不一样,从而造成视频图像传输的不连续和抖动,视频数据的丢失,乱序等。以此为基础,作者提出了自己的解决方法:遥操作服务器( 机器人) 和客户机( 遥操作者) 之间要对发送速率进行协商和调整,通过网络监视器,对网络延时和负荷状态进行监测,动态地调整视频图像的传输质量和传输率,以满足视频传输的实时性要求。同时在视频图像接收端设置帧缓冲区,根据数据包的序号重组视频图像帧。这样将协议与视频的压缩比等参数相结合,当网络监视器侦测到网络延时和负荷状态变大的时候,动态调整压缩视频图像的压缩品质,保证在网络状况不好的时候,也能达到实时的效果。这种做法虽然失去了传输层和用户层的相互独立性,但是在现有的网络状态下,这种方法还是比较实用的。除了在应用层的工作外,还有很多人在网络层上做工作。譬如以0 0 s 技术为基础,进行传输的保证。因为q o s 技术应用在网络层,使得这一技术必须要与路由器和整个网络的架构相结合才能发挥作用。但是目前的路由器中的所实现的0 0 s 功能是因厂家而异,很不统一的,因此,除了在一些网络服务提供商自己的v p n 网络中有应用外,该方案很少在其他场合见到。因此q o s 技术很难在公众网络上,或者在不同的服务提供商之间应用,而只能限于在实验室中应用。文献 1 5 中,构建了一个q o s 网络,使用t c p i p 协议,由两个子网a 、b 组成,由w i n d o w s2 0 0 0a d v a n c e ds e r v e r 作为网络的路由器,完成a 、b 子网数据交换时的“存储转发 的功能。该遥操作系统通过标准的w i n s o c k 2a p i q o s 来完成r s v p 的调用功能,即在客户机进程中,加入0 0 s 服务请求功能,在服务器的进程中,加入接受具备q o s 功能的客户机连接请求的功能。当以上网间进程在路由等网络交换设备中成功预留到满意的资源后,进行遥操作的数据通信。采用q o s 技术后,带宽,延时和延时抖动可以按要求得到严格的保障,因此对系统的控制设计和分析工作将变得简单。综上所述,基于现有的t c p u d p 协议难以满足遥操作控制系统的要求,在此之上做的一些改进和补偿技术,虽然有一定效果,但是缺乏通用性。4第一章绪论1 2 2 基于现有的程序框架的遥操作系统目前的一些实现中,很多是基于r t p 来实现的f 1 6 l ,这种实时性是不严格的。但是与直接使用t c p 等协议相比,实时性会更有保障而且相对来说,r t p 是比较完善的。更多的是使用现有的分布式的程序框架,以简化实现复杂度,提高可靠性。文献 1 7 】中采用了j m s ( j a v am e s s a g es e r v i c e ) 技术,建立j m s 服务器进行消息的转发传递,如图1 2 所示。以此设计了一个i n t e r n e t 的聊天工具,证明这种分布式的架构在机器人消息传输中的可用性。该测试工具采用p u b s u b 消息模型,在该模型中,一个消息产生者能够通过将消息发送到一个主题就可以将该消息发送聊天客户端聊天客户端聊天各尸鞴图1 2j m s 聊天工具结构示意圆1 7 lf i g 1 2s t r u c t u r eo fi n t e r n e tc h a tt o o lb a s e d0 1 1j m s 【1 7 l到多个消费者。文献【1 8 】中,提出了基于j m f 架构的分布式机器人应用,整个试验的系统由视频服务器,w e b 服务器和p i o n e e r 2 自主移动机器人构成。试验建立在上海交通大学和新加坡国立大学网络通路的基础之上,以每秒3 0 帧的速度传送3 2 0 x 2 4 0的j p e g 图像,结果表明,图像连续稳定,实现了实时通讯。但是j m f 底层通讯是建立在r t p 协议基础之上的,无法克服r t p 固有的问题。基于现有的这些分布式的程序框架,实现机器人数据传输,确实缩短了开发周期,因为这些框架比较成熟,所以可以达到一定的稳定性。我认为,在一些实时性要求不是太严格,分布式要求较高的场合还是可以运用的。比如用于简单的分布式演示系统,图像监控回馈等场合。文献表明,很多研究工作是从系统的控制方式角度出发的,文献 1 9 1 2 1 】中5华南理工大学硕士学位论文描述了多种遥操作的控制方式和对策,并主要提出了遥编程,虚拟现实等技术以及应用。1 3 国外研究现状在国外的一些研究中,更多的注重从协议方面入手,在现有的网络条件下,尽可能地提高实时性和可靠性。一种解决方法就是深入到内核的协议栈,改进协议,提高实时性,这种方式运用在嵌入式系统的场合比较多。r p 1 2 2 l 就是自主开发的一个协议栈,类似与r t - l i n u x ,具有优先级的任务调度器,保证实时性。图1 3 显示了r t n p 的消息传输过程。当网卡探测到有实时数据包到达时,直接跳过缓存,发出中断信号,匿函如l 斟n e r ar t p a c l e t s pirts e n d i n _ c 蛰图1 3r t n p 中消息的处理过程1 2 2 lf i g 1 3s e q u e n c eo fm e s s a g ep r o c e s si nr t n p l 2 2 l由上层实时任务接收模块直接处理,在发送数据包的时候,实时数据包直接被发送到网卡进行发送,不经过发送缓存。这种方式的实现,由于数据包经历的协议层数少,因此实时性强,但是实现的复杂度较大。而且这种方式的实现,要进行内核的编码,所以比较适合应用于嵌入式系统。目前运用比较广泛的协议s c t p t 2 3 l 是在传输层实现的,和t c p 相似,它也保证能够可靠地传输数据。s c t p 是面向会话的协议,即在传输数据之前首先建立会话,并一直保持到传输完成为止。与t c p 不同的地方是,它提供了一系列的函数,以保证电话信令的传输。s c t p 与t c p 相比,增强了安全性,拥塞控制和多宿主等特性l “】1 2 5 i ,适合实时流和复合多条数据流的传输。但同时文献【2 6 指出了其性能只是与t c p 相当,甚至很多时候t c p 的性能要好过s c t p 。因此s c t p 还需要改进。而且,本来s c t p 是要实现在应用层上,基于u d p 的,以使其更易商业化,但是在i e t f 最终的讨论后,还是把它实现在内核。因此,比较难于找到6第一章绪论系统提供给开发者的接口直接使用它进行传输。另一种方法,是在u d p 的基础上,研究新的控制算法,这种方式适用面广。由于u d p 的可扩展性好,i e t f 的d c c p 工作组t 2 7 1 正在开发和标准化d c c p( d a t a g r a mc o n g e s t i o nc o n t r o lp r o t o c 0 1 ) ,这是一个轻量级的传输层协议,核心的职责是,使不可靠的数据包流有建立、维持、中断连接的各种状态,并为数据包流提供拥塞控制算法。主要应用在基于数据流的传输应用上。r f c 3 4 4 8 t 拍it f r c ,提出了t c p 友好的速率控制规范,这是在应用层上,控制u d p 实现端到端拥塞控制的基础,它提出了达到t c p 友好所要遵循的算法。t f r c 是基于接收端拥塞探测的机制,它通过计算丢失事件率( 1 0 s se v e n tr a t e ) ,来调整发送速率。但是,规范的最后也提出了,根据实际的情况,可以方便的转换为基于发送端的机制。文献 2 9 】,建立了一个网络控制系统如图1 4 所示,该系统由一个操作机器人,图1 4 基于网络的控制系统1 2 9 lf i g 1 4n e t w o r k e dc o n t r o ls y s t e m 2 9 l控制器通过i p 网络连接起来。控制信号由控制器计算并通过网络发送给机器人,机器人的关节位置参数也是通过网络传递给控制器的。在这个闭环的控制系统中,就产生了两个主要的延时。在此系统上,作者进行p i d 控制试验,机器人的关节控制器采样频率是1 0 0 h z ,网络传输是直接基于u d p ,以保证更好的实时性。试验结果表明,在低载荷的网络中,延时,抖动都是在可以接受的范围。但是该系统的网络传输的实现完全依赖于操作系统提供给开发者的u d ps o c k e t 接口,没有提到在u d p 之上添加控制算法。最后,文中指出,在重负荷的网络中,还是寄希望于路由器中q o s 的保障。目前有很多实时性协议都是实现在u d p 之上的,但是基本上都是专门为多媒体流设计的,它与网络机器人的实时性要求是有一定差别。首先,很多媒体流的实时协议都是准实时性的,特别是,这些实时性都是建立在大的缓冲之上的,以保证接收端的流畅和稳定,但是这对于网络机器人的控制是没有好处的,因为网络机器人控制要求指令和反馈越快越好;其次,媒体流实时协议,为了保证流畅,一般对网络带宽的突变响应缓慢,但是对于网络机器人来说,在控制的稳定状态,7华南理工大学硕士学位论文发送速率应该尽可能的稳定,当带宽发生突变的时候,发送速率也能迅速地做出响应p q 。针对这种情况,文献 3 1 3 2 提出了专门针对远程机器人数据传输的t r i n o m i a l 协议。该协议基于u d p 之上,与r t p 所处的位置相同。它是基于源端的速率控制协议。该协议提出了自己的拥塞避免控制算法,并通过了理论论证和n s - 2 上的仿真试验,结果表明,基本满足了对于网络机器人的要求。但是尚未见到实际的应用及应用结果,本文也是以此作为立题的依据。除了上述的协议方面的研究外,也有从整个网络机器人架构的方面进行研究的。i p r t 3 3 1 系统( i n t e r n e t b a s e dp e r s o n a lr o b o ts y s t e m ) ,就是为了更好解决网络延时造成的不稳定而设计的一种结构。系统由四轮的机器人主体,个人计算机,无限网络,两个摄像头组成,一个1 2 1 英寸的t f t 监视器,1 6 对传感器等组成。文章说明网络延时带来的指令的丢失问题,提出了建立本地虚拟环境的方法。并通过多种恢复,校正模块来达到较好的效果。下图为其结构示意图。到nterf籀el盯州,臆n d := 竺卜l 聩阳艟k 一- 一。k艮i i m 珧盱l i ,l 一三_ 一一i鼍秘爿湖a ir o i b 晴s i m 岫i j l c 譬v i h a a ie n i n x - n 憎c o m m a n df i h r r挺然怒阿p亚e图1 5 网络控制结构团3 3 lf i 9 1 5i n t e r n e tc o n t r o la r c h i t e c t u r e1 3 3 l此结构分为本地和远程两个部分,在本地的虚拟环境中,模拟远程的环境和机器人状态。其中姿势预估器( p o s t u r ee s t i m a t o r ) 作用为纠正实际机器人和仿真机器人的偏差:命令过滤器( c o m m a n df ii t e r ) 作用为恢复由于网络问题所造成的丢失的控制命令;路径产生器( p a t hg e n e r a t o r ) 作用为,存储虚拟环境下的仿真机器人的运动路径;路径跟随控制器( p a t h - f o ll o w i n gc o n t r o ll e r ) 作用为保证真是机器人的运动路径与仿真出来的路径一致。通过这样的结构设计,使得整个系统对于网络的延时非常敏感,降低了虚拟i p r 和真实i p r 的运动路径偏差和时间不同步的偏差。该系统是当前比较常见,也是对网络机器人控制的要求的符合度比较高的一8第一章绪论种架构,虽然建立在现有的传输协议的基础上,但是具有比较大的参考价值。1 4 目前存在的问题现有的研究资料表明,网络机器人的控制对传输的实时性和稳定性的要求比普通的流媒体的要求更高。目前大多数的机器人控制都是直接通过现有的t c p 或u d p 协议进行传输,没有在传输上做更进一步的工作。使用t c p 可以保证数据包准确地到达,但是在拥塞很严重的情况下,实时性要求比准确性更重要一些。使用u d p 传输,虽然发送速率可以很快,但是一旦发生拥塞或者控制器的采样控制频率大于网络的负载能力的时候,数据丢失将会非常严重,造成被控对象的不稳定,而且,u d p 协议是t c p 不友好的,即使带宽充足,一旦速度过快,也会被一些路由器认为是不正常流量而被滤除。数据包处理速度最快的方法,可能就是制作自己的协议栈,但是这类工作往往是在内核层进行的,这样在很大程度上限制了程序的通用性,只能作为实验室的研究,或者用于小型的嵌入式系统。而且,这种方法实现难度较大。除了直接使用现有的协议外,很多系统采用现有的网络传输框架,比如r t p ,j m s ,j m f 等。这种方法使得整个系统在网络上的工作量大大减小,而且,目前的这些框架比较成熟,应用比较广泛,因此,使用比较方便。但是,这些框架都是针对媒体流的实时性来设计的,上文提到,网络机器人的实时性要求和媒体流是有区别的,所以这些框架的应用针对性不强。在网络状态好的情况下( 可用带宽大) ,可以满足网络机器人控制的要求,在网络状态不好的情况下,性能与要求会有较大的差距。总的说,目前的网络协议、结构尚难以满足机器人远程控制的要求,而且,针对网络机器人控制要求的传输协议的研究相对也较少。1 5 本课题的意义从以上讨论的当前的情况可以看出,目前大量的遥操作系统的传输部分多是基于现有的传输协议( t c p ,u d p ) 来实现的,或者使用比较成熟的分布式程序框架来实现,基本上没有涉及到协议层的设计和开发。仅有少数系统是基于底层的协议来研究的,但是它们要么是基于特定的0 s 来实现,缺乏通用性并且比较复杂,要么就是进行了理论分析和论证,未发现具体的实现例子。因此来本文希望在针对适合于网络机器人的控制要求的传输协议上做一些研究和探讨。本文的研究是建立在现有的理论和技术基础之上的,将它们各自的优点有机的结合在一起,从实际和实用的角度出发,设计出一套通用性较强的,专门针对9华南理工大学硕士学位论文网络机器人控制的传输协议原型。在实现的过程中,本文主要采用现有的成熟技术和方法,以j a v a 技术框架,面向对象的设计模式,事件机制等方法为基础来进行代码的编写。并且提供给用户一个统一的接口进行使用。1 6 本章小结本章主要从目前网络传输协议的背景出发,在此基础上通过大量的调研,总结了目前国内外最新的针对网络机器人传输协议的研究和应用。通过这些总结的资料我们可以得到当前遥操作领域中数据传输问题的发展程度和水平,也可以看出目前还存在的一些问题。在此基础上,做一些新的研究是有意义的。下一章将提出本文的设计。1 0第二章遥操作数据传输协议总体设计第二章遥操作数据传输协议总体设计2 1 设计概述2 1 1 协议框架本文所实现的协议是建立在u d p 层之上的,在u d p 之上添加控制算法,是面向连接的,基于包的双工协议。协议的简单状态转换图以及时序图由下所示。开始回到开始状态图2 1 协议有限状态机f i g 2 1t h ep r o t o c o lf i n it es t a t em a c h i n e图2 1 展现了协议的简单有限状态机。方框表示了协议的状态,在每一个状态下,都对应着一定的事件。当一个合法的事件发生的时候,就会采取相应的动作。实线路径表示了客户端正常情况下主动连接服务器的情况,虚线表示服务器路径。每条线上的标记说明由一个“事件动作 对组成。事件可以表示一个系统调用动作,如c o n n e c t ,1 i s t e n ,c l o s e 等,或者是一个数据包的到来,如r e q u e s t ,r e s p o n s e 等:动作可以是一个系统调用动作或者没有任何动作。在协议的设计中,连接的建立过程没有采用三次握手的方法,而是当客户端发出连接请求后,服务器端对该请求进行确认后,就认为连接已经建立。如果客户端没有收到服务器端的确认数据包,则会再次重试。服务器端只要收到连接请求包,就将自身状态变为已建立状态,等待客户端发送数据包。表2 - 1 对协议中的连接的状态做了说明。每一个连接都由i n i t i a l 状态开始,华南理工大学硕士学位论文当发生主动连接或者被动连接的时候,它才离开这个状态,进入e s t a b l i s h e d 状等待所有包客户端服务器端e s t a b l i s h e dc l o s e图2 2 数据传输时序图f i g 2 2s e q u e n c ed i a g r a mo ft r a n s m it ti n g态。连接的任何一方都可以主动释放连接。当连接被释放后,协议回到c l o s e d状态。表2 - 1 协议连接状态表t 2 - lt h es t a t eo ft r i n o m i a lp r o t o c 0 1状态说明i n i t i a l协议的初始状态,在没有任何动作之前的状态客户端发送连接请求,但是还没有收到服务器c o n n e c t i n g端的连接确认数据包l i s t e n服务器端等待一个客户端连接请求的到来客户端和服务器端双方协商完毕,进入正常数e s t a b lis h e d据传输阶段c l o s e d没有任何有效的连接c l o s e n a i t等待对方释放一个连接2 1 2 协议在ip 协议栈中的位置本文实现的协议的主要依据是d c c p 和t r i n o m i a l 控制算法,在本文中也称实现的协议为t r i n o m i a l 。协议层是在u d p 之上实现的,利用了j a v a 提供的u d p1 2第二章遥操作数据传输协议总体设计的接口d a t a g r a m c h a n n e l 。在应用层上,用户界面层之间,添加一层控制层,在控制层上实现拥塞控制算法。如图2 1 所示。jt r i n o m i a lis o c k e tj n t e r f a c eu d pi pl i n kl a y e r用户空间操作系统内核图2 1t r i n o m i a l 在i p 协议栈的位置f i g 2 1t h ep o s i t i o no ft r i n o m i a li n i ps t a c k为了更好的实现t r i n o m i a l 的独立性和可扩展性,针对t r i n o m i a l 这一层,本文在设计过程的经验基础上,总结了协议的分层设计模式,并一直采用了分层的设计模式,具体在下一节介绍。2 1 3 协议栈的分层设计目前,在协议设计的过程中,人们都采用了分层的思想。分层设计的原则是,将整个协议分成若干小的部分,每个部分实现一定的子功能,各个部分之间,通过尽量少的,定义良好的接口进行数据的交换和互相调用。以o s i 七层模型为例,它是分层设计的一个参考模型,但并非局限于其本身,而是可以运用到任何协议的设计。然而,在许多程序实现中,并没有按照以上的原则,使得各个分层之间耦合过于紧密,整个协议栈的实现缺乏灵活性,一个分层的修改,可能导致多个其它分层代码的修改。因此,根据以上的原则和建议,在实现协议栈的过程中,本文也应该借鉴这种分层独立性原则,即,协议栈中不同层次之间的代码实现不应该相互依赖,而应该使不同的层继承于共同的抽象层,以达到层次之间的相互独立。本文通过j a v a语言,以面向对象的设计方法及分层设计原则,进行了协议分层的程序设计。使得实现代码和设计逻辑简单清晰,使得在协议栈中某一分层的添加或去除更加灵_ 沽。图2 2 描述一个3 层的协议栈结构,每一层的功能不同,但是它们都是通过个统一的接口进行信息的交互川。这一接口也就是下层提供给上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论