基于网络的机器人控制技术研究现状与发展
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:1002-0446(2002)03-0276-07
基于网络的机器人控制技术研究现状与发展
庄严1王伟1恽为民2
(1.大连理工大学信息与控制研究中心大连116024; 2.上海广茂达电子信息有限公司上海200233)
摘要:随着网络技术的飞速发展9传统的机器人控制技术与先进的网络通讯技术不断融合9使基于网络的机器人控制技术也得以不断发展.本文首先介绍了国内外基于网络的机器人控制技术的研究现状9对其研发的技术特点和应用领域进行了着重分析9并对这一研究领域的发展方向进行了探讨.
关键词:基于网络的机器人;遥操作;自主移动机器人;分布式机器人系统;分布式机器人软件库
中图分类号:TP24文献标识码:B
STATUS AND DEVELOP ENT OF ROBOTIC CONTROL
TECHNOLOGIES BASED ON NETWORKS
Z~UANG Yan1WANG Wei1YUN Wei-min2
(1.Research Center of lnformation anc Control9Dalian Uniuersity of technology9Dalian116024;
2.Grancar Electronic lnformation Co.Ltc.9Shanghai200233)
Abstract:With the fast develo p ment of the inte r net te c hnolo g ies9the inte r a c tion b et W een the t r aditional r o b oti c s and the advan c ed net W o rk te c hnolo g ies has b e c ome in cr easin g l y fa r-r ea c hin g.The intention of this p a p e r is to investi g ate the stat u s and develo p ment of the W e b-b ased r o b oti c s te c hnolo g ies.I n the fi r st p a r t of this p a p e r9the
c on c e p t of W e b-b ase
d r o b oti c s has b een int r od uc ed.Then it not onl y anal y ses th
e te c hni c al k e r nel o
f W e b-b ased
r o b oti c s9bu t also ill u st r ates the r elated a pp li c ations in this a r ea.ome r esea rc h to p i c s in the W e b-b ased r o b oti c s
a r e also pr o p osed.
K eywo r d s:W e b-b ased r o b oti c s9tele r o b oti c s9a u tonomo u s mo b ile r o b ots9dist r i bu ted r o b oti c s9dist r i bu ted r o b oti c soft W a r e li br a ry
1引言(I n tr odu ct ion)
信息技术是当前高技术发展中的主流技术9它的发展对其它技术会产生极大的影响.机器人技术将借助信息技术而发展9同时机器人技术也会对信息技术的发展产生推动作用.网络机器人这一新概念的提出及利用先进网络通讯技术发展网络机器人就是有说服力的例子9这两者的结合是必然的趋势[12].
随着网络技术的发展9网络技术已逐渐渗透到各个领域.基于网络的机器人控制就是利用网络实现远程的机器人控制.网络的传输速率~时间迟延~数据丢失等是基于网络的机器人控制所面临的问题9一些有效的处理方法和控制方案已经被应用到基于网络的机器人遥操作中[13].互联网的飞速发展进一步促进了网络技术在机器人控制领域的应用.基于网络的机器人控制技术也从初期的遥操作机器人的应用逐渐扩展到自主机器人和分布式机器人系统等研究领域.通过因特网对机器人实施实时控制是一项具有挑战性的工作9这一技术的应用将进一步丰富机器人远程控制手段9具有良好的发展趋势和广阔的应用前景.
2国内外研究状况(L i t e rat u r e r eview)基于网络的机器人的思想是由K en Gold b e rg于1994年春首先提出的.其最初的构想是给公众提供
第24卷第3期2002年5月机器人ROBOT V ol.249No.3
M a y92002
基金项目:高等学校骨干教师资助计划资助.收稿日期:2001-09-10
可通过万维网访问的遥控机器人,并支持用户对其实施远程操作.这一构想极大扩展了于5O年前提出的遥操作概念,它使得全球的网络用户都可通过
TTP提供的低成本且能被广泛应用的接口来访问并共享远程资源.Ken Goldberg很快就将这一构想应用到Mercury Project中.这一计划是采用安装有CCD摄像头和气囊系统的工业机器手在装有沙子并埋有人造物的半圆形工作空间中实施发掘工作. Mercury Project是第一个基于万维网的机器人.在1994年8月到1995年3月间,有超过5O,OOO的独立主机访问过其在南加州大学的遥操作控制主页(http;///dept/raiderS/).1995年Mercury Project被Telegarden Project所取代,新计划中仍是采用装有CCD摄像头的机械手复合其它机构通过万维网给网络用户提供远程培植操作.
几乎同期与Ken Goldberg的Mercury Project
向网络用户开放的遥操作机器人还有西澳大利亚大学Kenneth Taylor研发的安装有固定摄像头并具有六自由度的机械手臂,它支持网络用户在工作空间中实施用积木建造复杂建筑的操作.
继Ken Goldberg和Kenneth Taylor的开创性
工作之后,越来越多的学者投入到基于网络的机器
人技术的研发工作中来.如NASA(美国航空航天
局)的一些专家开始研究通过万维网对空间飞行器
实施遥操作的可行性.1995年,Rovetta研制了一种
远程医疗机器人系统.还有一些学者如SchulZ~
Slotine~Tarn等对通过专线实现的遥操作理论如何应用到有不可预测时滞的因特网上进行了讨论.
国内在基于网络的机器人控制技术领域的研究工作比较有限,其工作主要集中在通过因特网实现遥操作技术的研发,如中科院沈阳自动化所~华南理工大学等单位.此外还有一些学者致力于网络机器人所涉及的通讯技术的研究.国内一些高科技企业也对网络机器人应用于服务业和娱乐业的前景非常看好.
基于网络的机器人远程控制技术不仅在传统的机器人遥操作领域中有着广泛的应用,随着因特网的迅猛发展,它在许多新兴领域中也有良好的应用前景,如应用于自主机器人系统~远程制造业~远程培训~分布式制造系统以及家用机器人和娱乐机器人等领域.下面就按照网络技术在机器人学中不同的应用方向及不同的技术侧重点,从基于因特网的遥操作技术~基于网络的自主移动机器人控制技术~基于中间件技术的分布式机器人系统和分布式机器人软件库几个方面来进一步讨论.
3基于因特网的遥操作技术(Internet-based telerobotics)
遥操作系统允许操作者通过主从机器人来实现对远程设备的控制.它主要应用于空间技术~核废料
的处理~显微外科~微电子装配~水下操作~采矿业及消防救援等方面.
遥操作系统包括操作者~主设备~通讯通道~从机器人和远端环境.主机器人设备核心是力反馈操纵杆,而从机器人可为任意类型的设备.设计并安装于机器人上的双工控制器负责主从设备间的双向信息流传输.通讯媒介可采用因特网或无线技术.总体来说,双工控制器要被设计为稳定且透明的系统.所谓透明系统是一种理想情况,即操作者自身感觉不到主从设备之间距离的存在,操作者的感觉就如同对远程环境中的设备进行本地直接操作.当从机器人设备上的位置和力的变化可与反馈给操作者的位置和力的变化相匹配时,上述透明系统在技术上是可实现的.然而,由于通讯中的时滞和系统中存在的噪声及系统自身存在的不稳定因素,使实现稳定且透明的双工系统操作仍有困难.因此,设计在系统存在显著通讯延迟环境下的双工控制器更具实际意义.设计具有自适应性的双工控制器是一种可行的方法.
基于网络的机器人技术被提出后,首先被应用到遥操作领域.如前面提到的Mercury robot~
Telerobot及Telegerden等都是给用户提供通过因特网对远程设备实施遥操作控制.这些系统在初期只能提供机器人工作环境的静止画面,有些系统如Telegerden也尝试使用CAD技术来回馈被控机械臂状态动画.当支持通过网络传输流式图像数据的网络摄像头技术出现后,现场环境的图像反馈变得易于实现.
要使用户能远程控制机器人并完成一系列复杂动作,就需要使用更先进的技术来实现复杂且友好的用户界面.在这些工作中,MattheW R.Stein的网络交互绘画机器人PumaPaint Project十分引人注目.它允许任意因特网用户通过网络控制PUMA76O 机械臂在远程实验室画布上完成绘画操作.用户界面提供了用Java设计的虚拟画布,并且系统通过不断的图像更新给用户提供及时的视觉反馈,使得没有任何专业知识的网络用户也可轻松实施操作.
根据控制系统性能和技术的先进性,遥操作机
772
第24卷第3期庄严等;基于网络的机器人控制技术研究现状与发展
器人的发展可分为如下几个阶段,
(1)手工闭环控制(Manual closed-loop control)
这是最早且研究最多的一种遥操作形式,其中
操作者是手动闭环控制的核心部分.这一早期的遥操作技术主要应用于在危险环境下进行操作的设备中,如核工业设备,水下遥控操作设备和空间设备.但通讯的明显滞后~不稳定性和手动闭环控制是其主要缺点.
(2)共享或监管控制(Shared or supervisory
control)
这种控制机制的目的是使机器人或设备的控制可由本地控制回路和远程遥控操作者来共享.本地控制回路负责其基本功能的实现,远程遥控操作者主要负责系统的监控及对异常情况的处理.这一技术提高了操作者对设备的可操作性,避免了系统不稳定性问题.但昂贵的~为单一目的建设的操作站是其致命的缺点.通讯的专用性也限制了普通网络用户的访问,使得这一技术只能应用于固定的专业领域中.
(3)基于万维网的遥操作机器人(WWW
telerobotics)
万维网遥控机器人这一概念还处于雏形阶段.它通过基于因特网的Web浏览器来控制远程机器人和设备.这就需要先进的网络监控机制来避免系统的不稳定并支持网络多用户访问.这一技术的提出开创了一个崭新的研究领域,使遥操作技术的应用走向网络化和全球化.
4基于网络的自主移动机器人控制技术的研究(Web-based autonomous mobile robots)
使用万维网作为机器人远程控制的基础构架使得在仅使用标准-TML接口的情况下给网络用户提供访问变得易于实施.因此可应用网络技术进一步扩展自主移动机器人的控制手段,使其控制不再受空间和地域的限制.国外在这一领域已经开展了深入研究,如Carnegie Mellon大学研发的基于Web 的办公室自主移动机器人Xavier和基于网络进行远程控制的博物馆导游机器人Minerva,如图1所示.这些机器人的特点是自身具有较高自主性,而网络技术又给异地操作者提供了进行远程控制的手段.基于网络的室内自主机器人控制采用事件驱动和任务控制的系统体系结构时,其自主性和基于网络的远程控制会得到更完美的结合.
图1基于网络的室内自主移动机器人Xaiver和博物馆导游机器人Minerva
Fig.1Web-based autonomous mobile robot Xaiver g museum tour-guide robot Minerva
最初基于网络的移动机器人的自主性能有限,而且同一时间内只能向单一用户提供网络服务.瑞士联邦洛桑科技研究所的KheponTheWeb就是其中典型代表.用户可通过网络控制小型移动机器人在人造迷宫中进行运动并能同时经摄像头的图像反馈进行观察.
Carnegie Mellon大学研发的Xaiver是第一个可通过网络控制并运行于复杂办公环境的自主移动
机器人.机器人可在线或离线接收请求命令并在运行时段内进行处理.Xaiver完成任务后会通过电子
872机器人2002年5
月
邮件通知用户.Xaiver的网络界面使用了client-pull 和server-push技术来获取图像.此外Xaiver的用户界面还提供办公环境的地图并显示机器人在其上的位置.
在更为复杂的动态环境(如博物馆)中,机器人在执行任务时会遇到大量不可预见事件.博物馆导游机器人Minerva除了要对网络用户进行在线响应,同时还要与博物馆中的游客进行现场人机交互,所以其任务规划要能够处理各种不可预测的突发事件.博物馆导游机器人要及时向用户提供各种反馈.由于使用了基于Java applet的技术,其在低带宽情况下仍能按要求更新机器人状态.网络用户界面还提供机器人所带摄像头和安装于天花板上摄像头所传回的图像.使用多种方式的代理技术可支持多用户同时访问.实际应用中常要求网络用户同现场用户分享机器人的控制.网络能给异地用户提供远程现场再现,而现场用户则通过比网络更直接的方式控制机器人,这就要求混合控制的界面设计要避免两者相互干扰.
提高被控机器人的自主性对实现实时远程控制具有重要意义.被控机器人本身具有的避障功能~对路径的自主规划和对多任务的决策能力,都有利于减少网络通讯中不可预测时滞对机器人控制实时性的影响.这一思想的实质是将属于远程控制的部分功能下放到控制系统本地来实现,远程的操作者只需对预先定义好的操作指令实施控制操作,或直接通过对运行于客户端的辅助软件的图形界面及命令菜单的点击来实施远程操作控制.这一方法降低了系统的复杂度,将各种简单的基本操作集成为高层次的复合动作,从而提高了系统操作的集成度,加快了系统的控制响应速度,保证了控制的实时性.
通过上述技术手段的应用,当网络通讯出现拥塞而导致传输速率下降时,机器人控制系统本身应能够相应降低控制精度,暂缓非紧急任务,从而降低网络通讯的负载.如果出现系统暂时的通讯中断,控制系统的自主性可避免机器人处于失控状态,使其仍能正常完成底层控制功能,并可根据前一时间段中存储的远程控制信息进行智能预测,自主的继续完成操作者的控制要求.
基于网络的自主机器人远程控制技术与传统遥操作技术相比,有如下几方面不同;
网络时滞和通讯容量具有相当的不确定性,因此自主性对基于网络的机器人更显重要.这就要求基于网络控制的机器人要比传统机器人具有更强的自主性.
如果要设计适合网络中大量用户可控的机器人,传统的专用控制模式是不适用的,取而代之的应采用网络多用户代理控制(brokering control
among multiple Web users)机制.
实际应用中需要网络用户同现场用户分享对机器人资源的控制.现场用户可通过比网络更方便直接的方式控制机器人.这就要求复合控制的软件设计要考虑如何协调现场人机交互和远程控制指令两者间的相互关系.网络还应能通过虚拟远程现场技术给访问用户提供视觉反馈.
网络用户通常缺乏远程操作控制所需的专业知识.因此要求界面设计要比传统遥操作机器人更图形化和易于操作.机器人采集的现场信息不仅要适于机器人自主控制的应用,同时也要易于网络用户的操作.
5基于中间件技术的分布式机器人系统(Distributed robotic system based on the middleware technologies)
基于因特网的远程遥控机器人技术的应用使得低价~灵活~可扩展的真正分布式系统得以在机器人领域实现.任何连接到因特网上的机器人~代理设备~现场设备相互间均可进行通讯和交互操作以共同完成远程任务.在美国航空航天管理局的寻路者计划(Pathfinder mission)中就采用了这一技术.这使得科学家们不必集中到加利福尼亚的控制中心也可在世界各地通过因特网交互系统来相互合作实施对寻路者计划中空间设备的控制.这一应用是通过因特网实施分布式控制的成功实例.
构建高性能的通讯协议体系是实现多个用户和代理间协作控制的前提.由于协议在整个系统中必须具有通用性,这也使得实施这一协议的系统应具有可重用的软件架构.在网络体系结构中,同位体是指任何与另一个实体处在同一层次上的功能单元或操作装置.分布式系统架构允许多个同位体通过中央路由器进行互联.同位体还可通过具有可选择性的通讯频道进行报文交换.路由器除了知道报文的目的地址和通讯频道外无需了解报文中具体内容.
当分布式系统中包含机器人设备时通常被定义为分布式机器人系统.不同的分布式机器人系统使用不同的通讯协议和技术,如可应用CORBA~RMI 或MOM等中间件技术来实现其分布性.中间件是
972
第24卷第3期庄严等;基于网络的机器人控制技术研究现状与发展
为特定用户的需要而剪裁的系统软件.下面介绍一下基于网络的分布式机器人系统中常用的几种中间件技术.
(1)CORBA(Common Object Reguest Broker Architecture)
CORBA规范是由OMG(国际对象管理组织)发布并制定的标准.它使用ORB(对象请求代理)作为中间件来建立两个对象间的客户/服务器关系.它是面向对象的远端程序调用(PRC)的扩展.使用ORB,客户可在本机或通过网络透明的调用服务器程序.ORG截取请求并负责寻找可完成请求的对象,并负责传递参数~调用程序和返回结果.客户端不必知道对象所在位置~使用何种编程语言和操作系统以及任何与对象接口无关的系统信息.
(2)RMI(Remote Method Invocation)
RMI(远程程序调用)是JAVA特制的RPC中间件,它给使用JAVA对象的分布计算提供了一种简单直接的模型.这一简单性是建立在将所有通讯均限制在仅应用于JAVA对象上.RMI使用了与CORBA的ORB相似的概念来提供远程对象的查询和调用.RMI的优越性在于它仅适用于纯JAVA 应用,整个对象(而不仅仅是数据)能在客户和服务器间传送,从而保证了面向对象的多态性.
(3)MOM(Message-Oriented Middleware)
MOM(面向报文的中间件)与CORBA和RMI 不同,它不是工业标准,而是在分布式应用环境中支持特定种类通用目标报文交换的中间件的集成术语.MOM数据的交换是通过报文传输或报文队列,并支持分布式计算进程间的同步或异步交互.MOM 系统使用可靠队列来确保报文传送,并对所支持的报文提供目录检索~安全及管理等服务.队列特别适用于那些逐步递进的进程.MOM模型中的报文是基于事件驱动的系统,而不仅仅是简单程序调用.客户可应用具有优先级机制的队列,这使得高优先级的报文可超越不重要的报文,这对分布式机器人的多任务控制十分重要.
通过比较可发现不同的中间件技术的通讯机理和应用范围不尽相同.由于MOM支持的是报文格式,因此它主要适用于有延迟的异步通讯;而RMI 和CORBA均基于RPC(远程过程调用)语义,是设计用以支持同步通讯的.此外基于报文的通讯允许向多个同位体广播信息.虽然RMI受到所有基于其上的应用必须是用JAVA编写的限制,但RMI也和
CORBA一样是通用标准,所以具有巨大的互联潜力.由于第三方利益和版本的不同,RMI和CORBA 目前并没有得到现有浏览器的广泛支持.与之比较MOM可提供嵌入于应用程序中的轻型客户端应用编程接口,而且由于MOM不存在同步通讯也不需要预装任何先决软件,所以它在简单环境中更具有应用潜力.但在复杂且需要进行同步通讯的环境中, CORBA和RMI则应给予优先考虑.
图2同位体到路由器的体系结构Fig.2Peer-to-router architecture
在基于网络的机器人控制中,非阻塞的异步行为是理想的.远程命令的执行需要数秒钟并且可能会有中间结果产生.这一情况很适合于基于MOM 的系统.MOM语义适于那些监控控制,其控制信号和控制结果以报文形式在控制器和执行器中传输.其报文是按顺序执行并具有每一报文都基于上一个
082机器人2002年5
月
报文的特性,这正与MOM构架相吻合.MOM被采用作为分布式应用构架的基础特别适合于客户端为同位体相互协同工作的情况.上图示范了同位体之间通过基于MOM中间件技术的中央路由器进行报文传输的系统架构.每个同位体仅需要一个连接,并且不需要知道其它同位体所在位置.与路由器连接的同位体间可进行信息交互.同位体间可通过互联的通讯频道进行报文的交换.这一新型体系结构使得客户机/服务器的体系架构概念逐步被同位体合作完成任务的体系结构概念所取代.因此,同位体概念可对等的应用到机器人物理操作控制及机器人图像在微机上显示与处理等方面.
6分布式机器人软件库(Distributed robotic sof tware library D
通讯网络技术的发展完全能够将各种机器人连接到计算机通讯网络上,并通过网络对机器人进行有效的控制和及时的技术更新.这项技术包括网络接口装置众多信息组的压缩与解压方法及先进的通讯传输技术.
科研人员对能使大家共享各种最新机器人技术的机器人软件库的需求迫切.当CO A技术被采用时,在因特网上构建分布式机器人软件库就变得可行了.研发分布式机器人软件库主要基于以下原因
机器人系统本身是多种应用技术的综合,其基本技术就包括有机器人视觉力的感知机器人运动规划及各种相关控制等.
当机器人系统较复杂时,对各技术细节无需作出具体要求,只要能达到目标性能即可.
随着机器人的复杂度不断提高,单个科研机构对各种技术都进行独立研发比较困难.
机器人控制软件的编写安装和测试的工作量巨大.
科研人员和研发机构需要分布式机器人软件库来不断进行技术更新.
要实现基于网络的分布式机器人软件库首先要制定安全且高性能的通讯协议.通过对系统的资源管理可提高系统的容错性,并能在服务器间执行任务的调度和实现负载的均衡.虽然CO A在安全性容错性和均衡负载等方面仍有不足之处,但不能否认经过对这一标准的不断完善,它是实现分布式机器人软件库技术的必由之路.
由于因特网的不可预测时滞及通讯带宽的有限,就导致基于其上的分布式软件库传输的数据类型不能太大计算精度不能太高及进行实时处理的能力有限.
7基于网络机器人研究的关键技术(Critical technology in web-based robotics D
基于网络的机器人控制技术的研发核心是实时远程控制的实现.为克服网络的不可预测时滞,达到对被控机器人实施实时控制的要求,可将通讯构建在实时TCP/IP通讯平台之上.国外已有基于这一先进技术的产品,其技术原理是在传统TCP/IP协议的基础上,对开放式网络互联的七层通讯结构进行精简与优化.此外在新因特网协议IPV6中有预留的SVP协议,其支持视觉图像数据流的实时高速传输,这都有利于虚拟远程现场技术的实现.研发中还可从控制软件的构架上实现对控制任务的规划与管理.由于Linux NT技术均可实现对多个任务进程的管理,并支持具有不同优先级的任务进程实施抢占机制,这都适于远程操作者对机器人所遇到的突发事件实施优先处理.在研发中还可以考虑采用带有嵌入式模块的多任务实时操作系统来构建基于事件驱动和任务控制的系统体系结构.
为实现实时控制,需要对通讯的数据进行预处理.通过网络传输的数据主要分为远程控制信息和现场反馈信息.其中现场反馈信息包含大量的视觉图像数据.图像采集卡完成图像的数字化后,软件首先要对图像数据进行预处理,如进行图像辨识与数据压缩.此外机器人系统本身要能根据当前的网络通讯质量做出判断,并相应的以不同的图像精度和更新频率来响应控制端的请求.
基于网络的机器人远程控制软件的开发中涉及通用网关接口(CGI D和超文本传输协议(HTTP D等技术的应用.CGI可对客户端的请求进行动态响应,而HTTP是一个无状态的面向对象式协议.但CGI 和HTTP的技术组合仍有局限性,使用JAVA技术可以解决这些问题.JAVA使客户端可控制网络连接且其用户接口功能完备.JAVA语言的另一个重要特性是其内置的多线程机制.JAVA在系统级和语言级均提供了对多线程的支持,使得JAVA具备了当代优秀操作系统并发处理事务的能力,这样在程序的运行中很容易实现各功能模块之间的切换协作与数据交换.JAVA是与平台无关的,它不仅在源代码级上实现了可移植,在二进制代码上也实现了可移植.
82
第2 卷第3期庄严等基于网络的机器人控制技术研究现状与发展。