行业新闻

首页 > 新闻动态 > 行业新闻 >

基于COM的多传感器机器人系统的软件设计

数据采集与处理基于COM的多传感器机器人系统的软件设计王军苏剑波席裕庚(上海交通大学自动化研宄所上海,200030)感器机器人系统软件设计存在的问题,针对这些问题结合COM技术和分层设计的思想,提出了一种基于COM的多传感器机器人系统软件的设计方法,最后给出了一个具体的基于COM的多传感器机器人系统软件的设计实例。
  随着机器人技术与应用的发展,多传感器己经成为智能机器人的一个重要特征,但多传感器的引入使得整个机器人系统更加复杂化,同时给系统软件的设计带来许多新的问题。这方面的研宄己经受到了国外学者的广泛关注S.Y.Lim等人曾对一多传感器机器人系统的软件结构和实现做了简单的介绍该系统采用功能模块化设计思想,将整个系统划分为多个模块,除了融合处理模块以外,其他模块负责与机器人、传感器之间的交互。随着面向对象技术的出现,面向对象的设计方法越来越受到重丰见Luo在文中将面向对象的方法列为多传感器系统软件设计所采用的几种典型的框架结构之一,文中还列举了一些相关的实例。在面向对象设计中,传感器被表示为对象,对象之间的通信是由消息来实现的,通过消息可以调用传感器相应的处理过程(方法)另外,A.Lopez―Orozco等人用实时面向对象的软件设计方法(Real-timeobect-orientedmodeling)针对自主移动机器人提出了一种开放式软件结构,用脚色(Actor)作为传感器模型uan A.Fernandez等人还针对智能机器人系统软件集成提出了一种灵活、鲁棒的设计方法,该方法采用分层设计的思想,将机器人系统分为硬件层、操作系统基金项目:国家自然科学基金(编号:69875010)资助项目层、集成系统层和应用软件层,其中对应用层采用模块化的设计与实现,这样的设计使系统具有开放式软件系统的特性。目前,国内这方面的研宄刚刚起步,因此这方面的研宄具有重要的现实意义。
  随着机器人系统结构和处理越来越复杂,尤其是分布式结构的出现,不仅使面向对象的设计方法难以满足系统的要求,而且给整个系统的开发、调试以及维护带来许多困难,这使得多传感器机器人系统的设计与实现面临一些新的问题首先,多传感器机器人系统是一个复杂的硬件系统,不仅包括机器人这样的复杂设备,而且包括许多传感器。以往的设计方法往往将底层硬件的处理和上层的数据处理集成在一个软件模块中,这样的结构缺乏灵活性,就像早期的计算机系统随着传感器的pc化以及智能传感器(Smartsensor)的出现,系统在硬件方面将需要更大的灵活性,因此必须采用与之相适应的软件结构。其次,许多系统在设计时采用面向对象的设计方法,将系统划分为不同的模块,但这些模块最终被集成到一个单独的应用系统中,这样的软件结构缺乏灵活性,而且难以开发和维护。此外,由于缺乏统一的通讯协议,不仅使模块之间的互操作难以实现,而且会增加系统开发与维护的难度。由于没有标准的通讯协议,无法实现各应用系统之间的互操作,从而降低系统的可扩展性。另外,许多机器人系统都是建立在小型机和工作站上,随着PC机处理能力的提高以及价格的降低,以PC机为平台的多传感器机器人系统越来越多,因此基于PC机,尤其是WHmlows平台下的多传感器机器人系统的设计应该引起人们的注意。
  1COM技术目前最具有代表性的组件技术就是CORBA COM,它们分别定义了两种不同的基于组件的软件设计规范和软件实现标准,与CORBA相比,COM更适合于Windows平台。
  一个基于COM的软件系统可以由多个组件构成,每一个组件被定义为一个具有独立功能的软件模块,它可以通过接口和其他组件进行交互,接口的定义和组件之间的互操作都必须遵守COM规范COM技术是面向对象技术的重大发展,和以往面向对象技术相比,COM技术具有以下优点float,float,float,short);Xyzmove函数用来控制手爪末端在直角坐标系中的运动,前三个参数是手爪末端目标位置的直角坐标值,后一个参数用来指定手爪的动作;Xyziricmove函数用来控制手爪末端在直角坐标系中的相对运动,前三个参数是手爪末端目标位置与源位置的相对坐标值,后一个参数定义同上;ointmove函数用来控制各个关节的运动,第一个参数是关节的编号,第二个参数是关节运动量的大小,第三个参数用来控制手爪的动作;Stop函数用来停止机器人的当前运动。在IData接口中,GetLocation用来得到机器人当前的状态信息,包括八个参数,它们依次是三个机器人末端的直角坐标值、四个关节变量和一个手爪状态(开或者闭)变量。
  6.0作为开发工具,完成了机器人视觉系统(包括相关组件)的开发,其操作界面如其中,逻辑语音传感器组件是由Microsoft提供的语音组件,逻辑机器人组件是用基于COM的自动化技术实现的它既可以单独运行,又可以被其他软件模块调用。此外,作者还利用己开发的机器人组件,结合Web的相关技术,实现了基于WWf的网络机器人控制,由于采用COM技术,使整个开发过程变得非常简单3结论综上所述,COM技术是一种新的软件技术它继承了面向对象技术的许多优点,同时克服了面向对象技术所存在的缺陷,使其更加适合于复杂软件系统的设计与实现,如分布式软件系统作为一种新的软件技术,COM还在不断地发展和完善,不断涌现出新的内容,如COM+技术等,这些技术都为基于COM的软件设计与实现提供了更好的支持。
  多传感器机器人系统是一个复杂的系统,系统软件集成对于整个系统性能的好坏至关重要。COM技术的出现,为我们在集成这样一个复杂系统时提供了一种很好的思路和方法,实践也证明了这一点作者进一步的工作就是利用COM技术来完成整个系统的开发,与此同时,作者将致力于COM技术与多传感器机器人系统软件集成更加深入的结合,用COM这一新技术来优化系统的性能,扩展系统的功能,比如,用可连接对象来实现组件和客户、组件和组件之间的双向通信。