论文部分内容阅读
随着科学技术的发展,机器人的应用越来越广泛。然而,大部分的机器人只是为特定的工作环境而开发的,一些更多、更加复杂的任务需要多个机器人的协作才能完成,每个机器人都有自身擅长的技术领域。另外,现代的机器人控制系统大部分都是分布式系统,它们的设计体现了很大的异构性,具有不同的硬件平台、操作系统、通信协议和编程语言,机器人开发商提供的编程环境也跟不上现代软件技术的发展。因此,如何实现多机器人之间的互相通信、相互协作,成为一个非常有意义的研究课题。论文采用C++CORBA(公共对象请求代理体系结构)中间件技术的方法来解决机器人之间的异构性问题,详细介绍了系统的特征、体系结构和实现。CORBA是由对象管理组织OMG提出的工业技术规范,主要应用于分布式对象的程序设计。一个基本的CORBA系统实际上就是一系列对象的组合,依据明确定义的封装接口,这些对象分为服务器(server)和客户端(client)两类,而客户端可以通过对象请求代理(ORB)来实现服务器的最终调用,不需要知道服务器所在的位置。客户端和服务器端可以运行在不同的操作系统上,采用不同的编程语言进行开发。中间件可以使机器人应用程序的开发更加简单、快速,并且能够提高系统的可移植性、可重用性和可维护性。论文首先对异构机器人互操作的研究背景与意义、以及研究现状和应用前景进行了综述。其次,深入分析了CORBA中间件技术的规范、体系结构、IIOP协议和CORBA服务。由于CORBA只是一个技术规范,不是一种具体的编程语言,因此需要有一个支持CORBA的开发环境,论文采用ACE/TAO作为CORBA开发平台,并作了简单介绍。第三,建立了机器人的运动学模型,根据Denavit-Hartenberg方法,建立了各杆件间的坐标系,对其运动学方程进行了推导,求得了机器人运动学的正解和逆解问题,并讨论了逆解的多值问题。第四,对系统的框架结构和整体的开发流程作了介绍。针对不同种类的机器人定义了一套通用标准化的接口,并分别在服务器端和客户端完成了对接口的实最后,对系统进行了整体的测试和数据分析。测试及分析结果表明,系统能够完成各项规定的任务,具有良好的可操作性和实时性。