毕业设计(论文)-机器人遥操作系统时延研究.pdf_第1页
毕业设计(论文)-机器人遥操作系统时延研究.pdf_第2页
毕业设计(论文)-机器人遥操作系统时延研究.pdf_第3页
毕业设计(论文)-机器人遥操作系统时延研究.pdf_第4页
毕业设计(论文)-机器人遥操作系统时延研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

毕业设计(论文)-机器人遥操作系统时延研究.pdf.pdf 免费下载

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

文档简介

- i - 机器人遥操作系统时延研究机器人遥操作系统时延研究机器人遥操作系统时延研究机器人遥操作系统时延研究 摘要摘要摘要摘要 随着人类探索领域的不断扩大和加深,人类在危险、难以到达的环境中作 业的必要性不断增强,因此迫切需要设计出能够代替人类从事危险工作的智能 机器人。近年来 internet 网络技术获得飞速的发展,传统的机器人控制技术与先 进的网络通讯技术相融合,使基于 internet 的机器人遥操作技术得以产生并迅速 发展。基于 internet 的机器人遥操作技术综合了机器人控制、网络通讯、图像压 缩和实时传输、虚拟现实、人工智能、医疗、生物、航天等多个领域的知识, 受到了国际机器人界广大学者的高度重视。目前,对基于 internet 的机器人遥操 作技术的研究,主要集中于机器人轨迹规划算法研究、智能控制策略研究、网 络数据通讯研究、解决随机时延问题的研究等方面。 本课题主要对机器人遥操作系统时延影响进行研究。首先,构建一个以机 器人技术与 internet 网络技术为基础,客户机/服务器为平台的机器人遥操作系 统,在该系统中,利用 windows socket 的原始套接字实现客户机与服务器之间 的数据通讯,通讯的两个进程之间实现双向、可靠的数据传输,其次,采用基 于 udp 协议开发的类似于 ping 的网络延时测试软件,对不同距离、不同数据 包大小、不同时间段的网络延时情况进行大量实验测试,并对所得数据进行统 计和分析。 重点介绍 smith 预估控制及两种 smith 预估控制的改进方案。针对遥操作 机器人控制系统中由 internet 时延变化所引起的不稳定问题,在神经网络的基础 上,提出了改进型 smith 预估器进行遥操作机器人的时延控制。理论分析标明 该方案对时延的变化有较强的适应性,稳定性和动态品质均优于 smith 预估补 偿控制,并得到了仿真结果的验证。 关键词关键词关键词关键词遥操作;时延;ping 哈尔滨理工大学学士学位论文 - ii - a a a astudystudystudystudy onononon influenceinfluenceinfluenceinfluence ofofofof timetimetimetime delaydelaydelaydelay inininin teleoperationteleoperationteleoperationteleoperation abstractabstractabstractabstract with the growing enlargement and depth of mankinds exploratory field, the necessity to carry out mankinds tasks in dangerous, ungetatable environment is getting constantly stronger. so it has become a pressing issue to design intelligent robot which can replace mankind to engage in the dangerous work. in recent years, with the network technology development at full speed and combination of traditional robotic control technology with advanced network communication technology, the teleoperation technology of robot based on internet emerges and develops rapidly. the robotic teleoperation technology based on internet integrates knowledge in lots of fields, such as the network communication, image compressing and transmitting, virtual reality, artificial intelligence, medical treatment, living beings, spaceflight etc. international scholars have paid close attention to robotic teleoperation. at present, people concentrate mainly on the study on teleoperation technology of robot based on internet which includes path planning algorithm, intelligent control strategy, network data communication, random network delay-time and so on. in this paper, we mainly pay the most attention to a study on influence of time delay in teleoperation. first of all, construct the telerobotic system on the basis of the technology of robot and internet platform of client and server. in this system the data communication between client server and robot server has been realized by windows socket, a two-way and reliable data transmission has been realized between two independent communication processes. second, using software like ping program based on tcp/ip protocol, time delay has been tested from different distance, by different data package size, at different time, and statistical collection and analysis has been carried out. weemphasize on the smith predictor and two improved smith predictors. aimed at system instability caused by varying time delay in an internet-based robotic control system and based on neutral network, improved smith predictors has been presented to carry out teleportation time-delay control. theoretic study has shown that the 哈尔滨理工大学学士学位论文 - iii - improved smith predictors control is better than smith predictor control on the adaptation to the varying time delay and stability. simulation experiments of this paper have tested the feasibility of the improved smith predictor. keywordskeywordskeywordskeywordsteleoperation; time delay; ping 哈尔滨理工大学学士学位论文 - iv - 目录目录目录目录 摘要.i abstractii 第 1 章 绪论1 1.1 本文研究的目的及意义.1 1.2 遥操作系统时延的研究背景与现状.1 1.2.1 国外遥操作系统时延研究现状1 1.2.2 国内遥操作系统时延研究现状2 1.3 本文研究内容.2 第 2 章 网络传输时延分析3 2.1 网络时延产生原因.3 2.2 网络传输时延组成.3 2.3 网络传输时延计算模型.5 2.4 网络时延测试.5 2.4.1 套接字网络编程原理5 2.4.2 套接子的分类6 2.4.3 网络传输时延测试程序8 2.4.4 使用 winsock 空间实现两台主机通讯9 2.4.5 时延测试10 2.5 减小时延的解决方案.16 2.6 本章小结.17 第 3 章 smith 预估控制算法18 3.1 采用 smith 预估补偿并进行改进的目的和原因18 3.2 smith 预估控制原理18 3.3 smith 预估控制存在的问题22 3.4 smith 预估控制改进方案23 3.4.1 改进型 smith 预估器原理.23 3.4.2 简化模型控制方案并仿真27 3.5 本章小结.31 结论32 致谢33 参考文献34 附录35 哈尔滨理工大学学士学位论文 - 5 - 第第第第 1 1 1 1 章章章章 绪论绪论绪论绪论 1.11.11.11.1 本文研究的目的及意义本文研究的目的及意义本文研究的目的及意义本文研究的目的及意义 90 年代以来,internet(国际互联网)和网络技术得到了飞速发展。internet 是一个计算机交互网络,又称网间网,它是一个全球性的巨大的计算机网络体 系。从网络通信的角度看,internet 是一个以 tcp/ip 网络协议连接地理上分散 的计算机网络的数据通信网,从信息资源的角度看,internet 是一个集各种信息 资源为一体的,供网上用户共享的信息资源网。internet 的这些特点恰好符合遥 操作机器人系统对通信设备的要求,遥操作机器人系统也逐渐将 internet 作为 信号传输来使用。基于网络的机器人遥操作(简称为网络遥操作,而基于网络 的遥操作机器人简称为网络机器人)成为网络技术和机器人技术的一个新的结 合点,并已成为机器人学的一个新的研究领域。 基于 internet 的机器人遥操作系统采用 internet 作为操作者与机器人之间远 程数据通讯的媒介,实现了机器人遥操作系统的开放性、共享性和灵活性等诸 多优点;但是,通过 internet 进行实时控制数据的交换,引起了遥操作控制过程 中的随机时延及延迟抖动,给机器人遥操作系统的可控性、稳定性和透明度都 带来了负面影响。因此,研究基于 internet 的机器人遥操作控制就必须解决随机 通讯时延问题。在 internet 上传递数据是在 tcp/ip 网络协议的基础上,以数据 包的形式进行传输。当数据包被一个路由器接收并被路由到下一个路由器时, 就产生了网络时延。而且,网络时延还因传输距离的远近、网络载荷的轻重、 路由策略的不同而不同,呈现出一种动态随机特性,传输延迟及延迟抖动是基 于 internet 的机器人遥操作系统稳定性和可靠性的重要因素。 1.21.21.21.2 遥操作系统时延的研究背景与现状遥操作系统时延的研究背景与现状遥操作系统时延的研究背景与现状遥操作系统时延的研究背景与现状 在基于 internet 的机器人遥操作系统中,internet 作为通讯环节,对遥操作 系统的影响可以归结为以下三点: 1数据包的非确定时延。导致实际的实时控制变成了一种滞后控制; 2数据包的丢失、错位。导致控制信息的中断,控制不连续甚至无序状 态; 3主控端缺乏操作现场的连续的、完整的反馈信息。导致判断、控制失误 1。 1.2.11.2.11.2.11.2.1 国外遥操作系统时延研究现状国外遥操作系统时延研究现状国外遥操作系统时延研究现状国外遥操作系统时延研究现状 20 世纪 60 年代,ferrell 首先指出时延的存在会使远程机器人工作不稳定, 在其后的研究中,借鉴经典控制理论、现代控制理论以及其他众多学科的成 就,许多方法被用来克服机器人遥操作中的时延影响,并取得了一定的成绩。 1967 年 ferrell 和 sheridan 提出机器人局部自主和操作者监控相结合的监督控 哈尔滨理工大学学士学位论文 - 6 - 制,以解决遥操作中人机合作问题,这种方法得到了广泛响应,并逐渐成为遥 操 作 系 统 的 典 型 控 制 方 法 。 1995 年 anderson 基 于 internet 开 发 了 smart(sequential modular architecture for robotics and tele-robotics)结构,用来 处理遥操作过程中存在的确定性时延问题。1996 年华盛顿大学的谈自忠教授提 出了一种基于事件的遥操作机器人控制系列算法,internet 来控制远程机器人系 统的目的2。1997 年 tmchen 针对基于 internet 的自主移动机器人的远程控 制问题,提出了基于直接控制模块和监控模块等多级遥操作模块的控制结构。 同年麻省_理工学院的 slotine 教授应用波变理论提出了网络时延遥操作系统的 稳定性方程,并用被动性理论对系统的稳定性进行了分析,但这样的结论是基 于定时时延而非时变时延得到的。1999 年席宁引入了一个与时间无关的动作控 制方案和基于传感器的动作参考系,用来实现遥控机器人系统的动作同步化与 控制,处理通讯信道如 internet 中存在的随机变时延。 1.2.21.2.21.2.21.2.2 国内遥操作系统时延研究现状国内遥操作系统时延研究现状国内遥操作系统时延研究现状国内遥操作系统时延研究现状 机器人遥操作科学研究方面还处于起步阶段,哈尔滨工业大学开发了空间 机器人共享控制系统。南开大学对利用远程网络技术的机器人遥操作系统进行 了分析,讨论了如何建立一个基于远程网络技术的机器人遥操作系统,以及遥 操作系统需要包括的相应体系结构和时延问题的存在,但只是一些初步的设 想,没有实施和解决。1999 年,沈阳自动化研究所对网络时延进行了相关测 试;2000 年,游松、翁春华也进行了网络时延方面的研究工作。同年,华南理 工大学吴国钊目前,国内在基于网络的学者报告了他们基于 internet 的机器人实 时跟踪系统,系统采用了无连接 socket 客户机/服务器模式,通过图像采集、图 像传输、客户请求应答三个线程实现机器人 zebra 状态控制,研究报告中对通讯 时延及多种网络和协议没有进行探讨,监控客户端过于简易,在时延控制、人 机界面等各方面的工作还有待深入2,3。 1.31.31.31.3 本文研究内容本文研究内容本文研究内容本文研究内容 本文的主要研究内容如下: 1本文首先简要叙述了机器人遥操作时延研究的目的以及意义,明确遥操 作时延研究的必要性,并针对此课题陆续对遥操作系统的影响,国内、外的研 究背景和现状加以简述。 2然后简单分析了时延的组成、产生原因等方面,在提出了网络传输时延 计算模型之后,采用基于 udp 协议开发的类似于 ping 的网络延时测试程序, 对不同距离、不同数据包大小、不同时间段的网络延时情况进行大量测试,并 对所得数据进行统计和分析。 3最后重点介绍了 smith 预估控制及两种 smith 预估控制的改进算法,通 过理论分析证明了改进的两种预估控制算法均优于 smith 预估补偿控制。 哈尔滨理工大学学士学位论文 - 7 - 第第第第 2 2 2 2 章章章章 网络传输时延分析网络传输时延分析网络传输时延分析网络传输时延分析 2.12.12.12.1 网络时延产生原因网络时延产生原因网络时延产生原因网络时延产生原因 在机器人遥操作系统中,时延是普遍存在的现象。它来源于控制对象本身 的时滞,控制算法的复杂程度,数据转换和传输以及外界干扰等。在实时的网 络机器人遥操作系统中,时延可以分为控制算法时延和网络诱导时延两大类。 由于控制算法时延是如传感器、控制器和执行器完成自身功能所用的时间,在 实际情况中相对采样周期较小可以忽略,所以在网络控制系统中存在的是网络 诱导时延。 产生网络诱导时延主要可能由以下三点因素构成: 1数据包排队等待时延。网络忙或发生数据包碰撞的时候,网络所用的等 待时间。 2信息产生时延。发送端待发送信息封装成数据包并进入排队队列所需时 间。 3传输时延。数据包在实际传输媒体上传输所需时间。其大小取决于数据 包的大小、网络带宽和传输距离。 2.22.22.22.2 网络传输时延组成网络传输时延组成网络传输时延组成网络传输时延组成 internet 作为当代信息传输的载体,因其本身的结构特点,使得数据传输过 程中会受到传输协议、传输距离、传输负载以及路由策略等因素的影响。这些 因素造成了网络传输数据是一个不确定的环节。网络的传输时延可以分成两 类:单程时延和往返时延。单程时延是指从源端机器开始发送数据到目的端机 器接受到测试报文所需要的时间。由于两台机器的系统时钟很难精确同步,一 般网络传输时延是指测试报文的往返时延 rtt(round trip time),即测试报文从 源端发送时开始计时,目的端接受到该报文后立即返回给源端,源端接受该报 文停止计时,这个时间间隔即为往返时延。如果将遥操作机器人系统中主机器 人发出信号到从机器人接受到信号传输时延设为 t1,从机器人反馈信号给主机 器人传输时延为 t2,那么整个遥操作机器人系统一次往返时延为 t1+t2,同一时刻 由由主手到从手和从从手到主手的路由是相同的,那么单程的传输时延可以粗 略认为是(t1+t2)/2。一次单程时延主要由三个部分组成:源端时延,网络上的 传输时延,目的端时延,如图 2-1 所示。其中,tp为源端预处理时间,tw为源端 等待时间,tn为网络传输时间,td为目的端处理时间。 1源端时延 源端的时延包括源端的预处理时间、源端的等待时间、队列时间和阻塞时 间。在源端的预处理时间是机器从外部环境获得数据并将其编码成网络数据格 式所需要的时间。这个时间由机器的软硬件特性决定,一般情况下认为预处理 时间是常数或可以忽略。源端的等待时间包括在发送缓冲器队列中的等待时间 哈尔滨理工大学学士学位论文 - 8 - 和网络上其他消息传输阻塞它的时间。影响等待时间的主要因素有网络协议、 消息连接的类别和网络负载。队列时间是消息在源端缓冲区等待直到队列中前 面的消息发出的时间,它由队列中前面消息的阻塞时间、消息的周期和处理负 载决定。阻塞时间是每一端准备发送消息必须等待的时间,由网络协议决定。 阻塞时间报矿其他端点发送消息时的等待时间和发生冲突时需要重发消息的时 间。 源 端 目 的 端 internet tp tw td tn 图 2-1 网络传输时延的组成 2网络上的传输时间 网络上的传输时间包括帧时间和传播时间。帧时间由数据的大小、开销、 填充符和位时间决定。传播时间由信号传输的速度和源端与目的端的距离决 定。 3目的端时延 目的端的投递处理时间是把网络数据格式解码成物理数据格式并且输出到 外部环境的时间。 一般在网络负载变化不大的情况下,往返时延可以认为时单程时延的两 倍。对于整个机器人遥操作系统来说,我们一般将网络时延分成如下部分,设 总时延位 t,则 t=tc+td+tp+tv。其中: 1通讯时延tc 包括通讯初始化时间和数据在介质中的传输时间。数据通过传输介质在两 地间的物理传输时间是随着距离的增大而增大的。在遥操作中,如果远端机器 人工作地点是固定的,其时间延迟当然就是固定的;如果远端机器人是移动机 器人(地面、太空水下),但运动速度较慢,则也可以认为有固定延迟,随着移动 机器人运动速度的加快,就要考虑延迟变化情况下的遥操作了。在网络机器人 中路由选择的不同会使信息沿不同的线路传输,从而导致信息传输时间的变 化,而且不可预测、不可改变。所谓“网络机器人中时延的不定性”主要产生于 此。 2执行时延 tp 包括控制指令的解释、计算、执行时间、现场图像的处理时间及仿真图像 哈尔滨理工大学学士学位论文 - 9 - 的运行时间等。 3数据时延 td td=(ds+dv)/vl。ds、dv 是发送回收的数据总量,vl是传输速率,与介质有 关。这一项的存在表明数据传输量和带宽对远程作业非常重要。减少传输量固 然能减少时延,但远端所获取的现场信息就可能不足,高效率的数据压缩技术 和良好的通讯通道有助于解决这一矛盾。 4扰动时延 tv 主要指传输中不可预测的扰动,如信息丢失或信息次序的混乱 2.32.32.32.3 网络传输时延计算模型网络传输时延计算模型网络传输时延计算模型网络传输时延计算模型 如上所述,t=tc+td+tp+tv,时间延迟的计算是要得到一个数据包从客户 机到服务器的传输时间。设客户机与服务器之间的传输时延分别为 t1(t)和 t2(t),客户机到服务器的数据包所经路径与服务器到客户机的数据包所经路径 不同,从而使得传输时延 t1(t)和 t2(t)不等,同时由于两地的系统时钟很难精确 同步,所以单独测量 t1(t)和 t2(t)是很困难的。因此,引入双向传输时延rtt (round trip time)的概念。一个rtt是一个数据包在两台主机之间正向传输 和逆向传输所用时间之和,即 t1(t)+t2(t)。为了研究传输时延的统计规律,对系 统做出如下假设: 1客户机与服务器都是线性系统或可以线性化的系统; 2同一时刻由客户机到服务器和由服务器到客户机的两个数据包经过相同 的路由路径,即 t1(t)=t2(t)。因此,系统的时延 t1(t),t2(t)之和可以通过在 internet 的一端记录数据包的往返时间之差测得。 因此,粗略的单程时间延迟可以通过以下公式得到: delay_time=rtt/2(2-1) 2.42.42.42.4 网络时延测试网络时延测试网络时延测试网络时延测试 在具体的测试时延的程序中,传输时延均采用双向传输时延 rtt 表示;实 验中用类似 ping 的程序实现发送数据包并统计与时延有关的数据。 2.4.12.4.12.4.12.4.1 套接字网络编程原理套接字网络编程原理套接字网络编程原理套接字网络编程原理 套接字的英文写法是 socket,原意是孔或者插座,当它作为进程通信机制 时,它起的作用的确就像插座一样。当 socket 接通时,用户可以通过它来接收 对方发出的任何信息,也可以传输文件到网络的任何地方,只要对方在线,只 要对方的 socket 同自己的 socket 有通信连接,这两者之间就可以任意通信。在 unix 系统中,socket 由来已久,socket 给程序员提供了一个高层接口,使得程 序员在编写网络应用程序的时候只需要调用函数,而对网络的底层细节并不要 求精通,只需要熟悉即可,因而給编程人员带来了很大的便利,正是由于 socket 在 unix 上的成功,使得人们迫切想要在 windows 系统中得到同样的便 哈尔滨理工大学学士学位论文 - 10 - 利,所以微软公司联合其他公司制定了一套基于 windows 操作系统下的网络编 程接口windows socket 规范。windows socket 规范,它的产生和存在是为了 适应应用程序开发者、网络软件商和广大计算机用户的需求,这份规范每一次 正式出版的版本上都代表了网络软件供应商实现所需和应用开发者所用的一整 套 api4。 套接字是通信的基础,是支持网络协议数据通信的基本接口。从某意义上 讲,可以将套接字看做是不同主机的进程进行网络通信的端点,它构成了应用 程序与整个网络间的编程界面,套接字根据通信性质可以分为:流式套接字和 数据报套接字。 socket() bind() listen() accept() read() write() close() read() close() connect() socket() 服务器 阻塞,等待客户数据 处理服务请求 客户机 write() 建立连接 请求数据 应答数据 图 2-2 面向连接的编程模型 2.4.22.4.22.4.22.4.2 套接子的分类套接子的分类套接子的分类套接子的分类 1流式套接字 流式套接字提供了双向的、有序的、无重复以及无记录边界的数据流服 务,它非常适合于处理大量数据。流式套接字是面向连接的,即在进行数据交 换之前,要先建立数据传输链路,这样就为后继数据的传输确定了可以确保有 序到达的路径,同时为了确保数据的正确性,可能还会执行额外的计算来验证 哈尔滨理工大学学士学位论文 - 11 - 正确性,所以相对于数据报套接字,它的系统开销很大。 2数据报套接字 数据报套接字支持双向的数据流,但在传输过程中并不保证数据的传输可 靠性、有序性和无重复性。任何数据一旦被发出,都不能保证该数据能够完好 无损,正确无误地被对方接收。由于数据报套接字是无连接的,所以在数据传 输时,它并不能保证接收端是否正在侦听。因此数据报并不十分可靠,需要编 码来实现数据的排序和传输的可靠性,但由于它的传输效率非常高,所以至今 还得到较为广泛的应用。 socket 的工作流程如图 2-2、2-3 所示。socket 实质上是客户机与服务器进 程通信的两个端点。 socket() bind() recvfrom() sendto() close()close() recvfrom() socket() bind() sendto 服务器 客户机 阻塞,等待客户机 处理服务请求 服务请求 服务应答 图 2-3 面向无连接编程模型 面向连接协议的 socket 编程两端建立连接要经过侦听连接、客户端连接和 服务器端连接三种连接。只有当三种连接都建立后,才能进行通信。侦听连接 由服务器来处理,通过调用 listen()处于等待状态,当有连接请求时,便会接收 请求,并建立一个新的 socket 与客户端连接,服务器端出示 socket 仍继续监 听,等待其它的连接。客户端连接首先要设置其遥连接的服务器端的地址和端 口号,然后向服务器 socket 发出连接请求,得到服务器端的接收信号后, socket 就建立了。而面向无连接协议的 socket 编程模式,服务器端无需侦听请 求和接收连接,两端先各自调用 socket()和 bind()函数,然后分别调用 哈尔滨理工大学学士学位论文 - 12 - recvfrom()函数在套接字上等待接收数据就可以了5。 2.4.32.4.32.4.32.4.3 网络传输时延测试程序网络传输时延测试程序网络传输时延测试程序网络传输时延测试程序 开始 客户端定时发送数据给服务器端 记录当前高精度计数器计数值t1 程序初始化,获得机器高精度计数器频率 客户端呼叫服务器端 有数据到达,接受服务器返回数据 记录当前高精度计数器计数值t2 记录并显示时延值 rtt=取整((t2-t1)/频率*1000) 测试次数到否 结束 否 是 图 2-4 时延测试程序框图 实验的目的是测网络的传输时延,程序中只要包括两个模块:定时器设置 和时延计算。首先给出程序框图如图所示。图 2-4 是基于 udp 协议的网络时延 测试程序框图,基于 tcp 协议的框图与 udp 协议类似,因为 tcp 是面向有连 接协议,在程序框图中需侦听和接收连接,两端程序运行后即可发送数据。 在基于 udp 的协议下,客户端程序首先会获得该机器的高精度计数器频 率,记录这个机器频率是为后面的定时和计算时延时所用。基于 tcp 协议的程 序在通信前要建立连接,因此在客户端程序输入服务器端的 ip 地址,向服务器 哈尔滨理工大学学士学位论文 - 13 - 端发出请求连接呼叫。 服务器端接听到连接请求后接受请求,这样两端连接成功,客户端便可向 服务器端发送测试数据,并相应的计算和记录每次测试数据的时延,在测试结 束后,双方关闭连接。而基于 udp 协议的测试程序无需建立连接,两端主机不 分服务器和客户机,是处于同等地位的。在程序运行后,只要两端程序处于开 启状态,客户端即可向服务器端发送测试数据。 2.4.42.4.42.4.42.4.4 使用使用使用使用 winsockwinsockwinsockwinsock 空间实现两台主机通讯空间实现两台主机通讯空间实现两台主机通讯空间实现两台主机通讯 进行简要说明前面已经对面向有连接、面向无连接以及程序框图加以一定 叙述,接下来对部分重要函数加以说明。 2.4.4.12.4.4.12.4.4.12.4.4.1 函数函数函数函数 首先简单介绍一下 winsock 在实验中用到的主要函数实现的功能。 wsastartup():初始化。 socket():创建一个套接字 socket。 bind():将一个现有的套接字绑定到指定的网络地址。 accept():接受客户端发来的连接请求。 sendto():发送数据。 recvfrom():接收数据。 closesocket():关闭套接字4 2.4.4.22.4.4.22.4.4.22.4.4.2 高精度定时器的实现高精度定时器的实现高精度定时器的实现高精度定时器的实现 在实验测试中,考虑到在实际的网络控制系统中,例如机器人遥操作系 统,控制指令的发送频率较高,通常大于 100 hz,因此在程序设计中为了模拟这 样的数据通信应采用高精度的定时来控制数据的发送,本程序设计中采用了高 精度性能频率计数器,它的精度与 cpu 的时钟频率有关,在本实验中调用 query performance frequency 函数,获得高精度性能频率计数器的震荡频率,调 用 query performance counter 函数获得该计数器的当前震荡次数,函数的原型 如下: bool query performance frequency(large_integer*ipfrequency) bool query performance counter(large_integer*ipperformancecount) 调用函数 query performance frequency 后,函数会将系统频率计数器的震 荡频率保存到 ipfrequency 中,调用 queryperformancecounter 将获得的计数器 的震荡次数保存在 ipperformancecount 中。在本程序设计中,首先获得利用 queryperformancefrequency 函数得到的频率计数器的震荡频率(以秒为单位) , 若要得到 t 毫秒的定时,先将计数器的震荡频率除以 1000 后得到每毫秒的计数 器的震荡次数,然后再乘以 t 即可得到 t 毫秒的震荡次数,在定时发送数据程序 段再次调用 queryperformancecounter 函数获得计数器的震荡次数并同先前的频 率计数器的震荡次数相减,将先前的相减结果和 t 毫秒的震荡次数比较,大于 哈尔滨理工大学学士学位论文 - 14 - 这个次数就发送数据,那么就实现了一次比较精确的定时发送数据。在发送数 据程序中建立一个循环,利用循环不断调用 queryperformancecounter 函数来获 得计数器的震荡次数便可以实现一个高精度的定时器了。 2.4.4.32.4.4.32.4.4.32.4.4.3 时延计算时延计算时延计算时延计算 在文章前面已经说明接收数据的时刻与发送数据的时刻相减的差即为往返 传输时延 rtt 在程序设计中,同样可以利用高精度计数器函数来计算时间。当 客户端和服务器端可以进行数据通讯之后,采用 send 函数发送数据,调用 queryperformancecounter 函数获得发送数据计数器震荡次数。当数据到达服务 器端后,采用 recvfrom()函数接受数据,并同时将数据返回给客户端客户端接收 数据时,再调用函数记录此时的计数器震荡次数,与先前发送数据计数器震荡 次数相减,再除以频率计数器的震荡频率就得到了一个数据的往返传输时延。 2.4.52.4.52.4.52.4.5 时延测试时延测试时延测试时延测试 在基于 internet 的机器人遥操作系统中,典型的数据包的大小有两种,一种 是控制信号,数据包大小从 32 字节到 256 字节之间;另一种是视频信号,即动 态压缩图像包,大小从 5k 字节到 32k 字节之间。在测试试验中,使用哈尔滨 理工大学的一台计算机作为源地址,分别以辽宁、广州的一台计算机作为目的 地址,以不同的发送时间、目的地址、数据包大小为参数,统计网络延迟分布 情况。 图 2-5 myping 运行图 如图 2-5,利用所编写的类似 ping 的程序。分别建立哈尔滨理工大学与辽 宁、广州某所大学之间的网络联接,发送不同大小的数据包所测得网络延时实 哈尔滨理工大学学士学位论文 - 15 - 验数据分别如表 2-1、2-2 所示,所得实验曲线分别如图 2-6、2-7 所示。 表 2-1 哈尔滨至辽宁时延测试数据 时延 曲线图 测试 时间 数据包大 小(byte) 发送 次数 时延 极小值 (ms) 时延 极大值 (ms) 时延 平均值 (ms) 丢包率 a星期二 09:263220021734726112% b星期二 10:4564200760105894520% c星期三 09:411282006897830% d星期三 10:422562001171361280% 如图 2-5,利用所编写的类似 ping 的程序。分别建立哈尔滨理工大学与辽 宁、广州某所大学之间的网络联接,发送不同大小的数据包所测得网络延时实 验数据分别如表 2-1、2-2 所示,所得实验曲线分别如图 2-6、2-7 所示。 020406080100120140160180 200 300 400 packets(num) delay-time(ms) 020406080100120140160180 average-261ms (a) 020406080100120140160 700 800 900 1000 1100 delay-time(ms) 020406080100120140160 packets(num) average-945ms (b) 哈尔滨理工大学学士学位论文 - 16 - 020406080100120140160180200 60 70 80 90 100 020406080100120140160180200 82 82.5 83 83.5 84 packets(num) delay-time(ms) average-83ms (c) 020406080100120140160180200 116 118 120 122 124 126 128 130 132 134 136 020406080100120140160180200 127 127.2 127.4 127.6 127.8 128 128.2 128.4 128.6 128.8 129 packets(num) delay-time(ms) average-128ms (d) 图 2-6 哈尔滨至辽宁的时延测试曲线 表 2-2 哈尔滨至广州时延测试数据 时延 曲线图 测试 时间 数据包大 小(byte) 发送 次数 时延 极小值 (ms) 时延 极大值 (ms) 时延 平均值 (ms) 丢包率 a星期二 10:20322002504143307% b星期二 11:26642002333983246% c星期三 10:251282002235230% d星期三 11:44256200542201433% 哈尔滨理工大学学士学位论文 - 17 - 020406080100120140160180200 200 400 600 delay-time(ms) 020406080100120140160180200 packets(num) average-330ms (a) 020406080100120140160180200 200 250 300 350 400 020406080100120140160180200 packets(num) delay-time(ms) average-324ms (b) 020406080100120140160180200 20 25 30 35 40 020406080100120140160180200 22 22.5 23 23.5 24 packets(num) delay-time(ms) average-23ms (c) 哈尔滨理工大学学士学位论文 - 18 - 020406080100120140160180200 0 200 400 020406080100120140160180200 packets(num) delay-time(ms) average-143ms (d) 图 2-7 哈尔滨至广州的时延测试曲线 050100150 200 300 400 500 600 700 800 900 1000 1100 packets(num) delay-time(ms) average-950ms average-265ms 64byte 32byte () 哈尔滨理工大学学士学位论文 - 19 - 为更清楚的表示出数据包大小对网络时延的影响,我们将不同数据包的网 络曲线在相同的坐标下表示分别如图 2-8、2-9 所示。 050100150200 50 100 150 200 250 300 350 packets(num) delay-time(ms) 128byte 512byte average-82ms average-286ms () 图 2-8 哈尔滨至辽宁的时延测试对比曲线 统计数据和统计曲线可以得到网络时延具有以下特点: 通常在数据传输过程中,路由节点的数目随传输距离的增加而增加,可能 的路由路径也随之增加,因此双向传输时延随传输距离的增加而加长。同时, 在测试中还发现,网络延时还受到首数据包及数据包的发送频率的影响。其 一:由于在传输首数据包时,要寻找 ip 地址并与其进行通信联系,这些进程的 运行时间都会增大首数据包的双向传输时延。因此,第一个测试数据包的传输 延时明显大于其它测试包的延时,尤其是当数据包较大时。为了消除这一非常 数据的影响,在发送命令前可以先发送一个或者几个测试数据包,以建立通讯 联系,然后再发送正式的数据。其二:由于数据的发送频率增加,使得路由到 同一节点的数据包数目增加,这些数据包在该节点进行排队,即造成该节点的 阻塞。当数据包过多或阻塞时间过长时,路由器会将超量的数据包舍弃,造成 丢包,同时引起传输时延的增大。 哈尔滨理工大学学士学位论文 - 20 - 050100150200 20 40 60 80 100 120 140 160 180 200 220 packets(num) delay-time(ms) 256byte 128byte average-143ms average-23ms 图 2-9 哈尔滨至广州的时延测试对比曲线 2.52.52.52.5 减小时延的解决方案减小时延的解决方案减小时延的解决方案减小时延的解决方案 在基于 internet 的机器人遥操作中,网络延时的存在给机器人的可控性带来 了极大的影响,使得实际的实时控制变成了一种滞后控制。在目前建立的基于 internet 的机器人遥操作系统结构时,应首先考虑范围较小,网络性能较稳定的 局域网。等到控制性能较为稳定的时候,再逐渐拓展到广域网的领域范围。尽 管 internet 传输时延有很多的统计规律和特征,但是由于它的随机性和不确定 性,想建立它的数学分析模型的确很难。目前只能针对这些规律和特征想办法 减小时延对遥操作系统控制精度和稳定的影响。常见的时延解决方法如下: 1长时间连续测试网络传输延时,分析每一个时间段、每天、每周的时延 数据,积累深厚的经验。这样有助于建立时延仿真器并不断完善仿真模型; 2变化的路由路径时造成传输时延的根本原因,在可能的情况下,可考虑 提高网络的带宽,从而在一定程度上减小传输时延的影响; 3进行遥操作实验时,可采用软件实时测量和计算网络流量:根据流量大 小,网络稳定程度,有效利用网络带宽,提高控制精度。这就相应地要求不断 哈尔滨理工大学学士学位论文 - 21 - 开发性能良好的测试软件,以便于更准确地测定网络流量; 4网络传输软件系统采用多线程控制,控制命令传输为一线程,力反馈数 据传输为一线程,视频采集和传输为一线程,这样可充分利用网络带宽而不会 造成阻塞2; 根据本文试验中网络时延测试分析所得的规律和特征可以知道,因为控制 信息和图像信息的数据包大小不等,所以对网络延时的影响不同。 2.62.62.62.6 本章小结本章小结本章小结本章小结 本章首先对当前网络延迟状况进行了详细分析。给出了网络时延计算模 型,这种模型也是后面进行时延测试与补偿的基础。通过对时延测试结果的分 析,发现网络延时的距离性,首数据包关系等特点,对此并提出了一些解决的 方案,以期达到更好的测试效果。 哈尔滨理工大学学士学位论文 - 22 - 第第第第 3 3 3 3 章章章章 smithsmithsmithsmith 预估控制算法预估控制算法预估控制算法预估控制算法 3.13.13.13.1 采用采用采用采用 smithsmithsmithsmith 预估补偿并进行改进的目的和原因预估补偿并进行改进的目的和原因预估补偿并进行改进的目的和原因预估补偿并进行改进的目的和原因 基于 internet 的遥操作机器人系统,是一个时延系统,而控制工程领域又称 为时滞系统。和一般的时滞系统相比,由于 internet 的网络传输的特性,使得遥 操作机器人系统情况更加复杂,控制起来难度更大。除了制定更加合理的传输 协议,增加网络带宽,控制理论和控制方法仍然是确保遥操作机器人系统正常 工作的最有力的手段。 在诸多的控制算法中,smith 预估控制的最大优点是可以把大延时问题转化 为无大延时的设计问题,从减小时延的角度来说,这是一种行之有效的方法, 所以我们重点研究 smith 预估控制,然而,smith 预估控制需要已知控制对象的 准确数学模型,而实际中是很难得到的。当模型不准

温馨提示

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

评论

0/150

提交评论