论文部分内容阅读
机器人足球比赛作为人工智能领域的一个具有挑战性的课题,受到国内外学者的广泛关注,开展足球机器人的相关研究也是人工智能从基础理论走向实际应用的一个战略性步骤。单个机器人本身就是一个复杂的机电系统,需要通过自身的软件设计来实现各种不同功能来适应不同的环境。多机器人协同的情况更加复杂。机器人系统的软件开发,需要投入大量的人力和物力,而往往最终开发的系统还不能够满足原设计提出的需求。因此,研究一种适用于机器人系统的软件开发方法和开发模式,简化系统开发流程,降低编码强度,为移动机器人系统的软件开发提供一个具有灵活架构的开发平台,具有十分重要的理论意义和实际应用价值。本课题采用基于组件的编程技术,提出了基于模型驱动的编程技术,并设计了一种基于XML的控制任务描述语言,描述移动机器人系统的各种资源以及系统要完成的各种任务。将模型驱动技术和基于XML的领域描述语言整合入软件编程框架中,重点解决控制软件中的实时性、可靠性等问题,提高代码利用率,提供了一种可用于移动机器人系统的软件开发模式和编程框架,为机器人操作系统ROS奠定技术平台和研究基础。具体研究内容包括:第一章和第二章介绍了课题的背景和研究意义,以及国内外研究现状,主要阐述了基于组件的软件工程的特点以及功能应用,并分析了基于组件的软件工程能够应用于移动机器人领域的原因,以及其目前在移动机器人领域的应用情况。第三章和第四章是本文研究的重点。在这部分中提出并实现了一种可扩展的、分布式的机器人系统软件架构。包括软件的平台设计,组件模型设计,以及组件之间的通讯机制。其中软件平台的设计包括组件管理模型、通讯模型、任务调度、实时时钟等关键内容。针对实时性部分的设计,提出了实时任务模块的概念,采用实时时钟模型执行多实时任务的方法,实现了多任务的并发实时运行,并基于Java平台和Windows操作系统进行了实现,其中框架整体采用Java平台实现,并用JNI技术在Windows操作系统上实现了实时时钟。第五章通过实验来测试所设计的框架的性能。最后对论文的研究工作做了总结,指出了需要进一步改进的地方及以后的研究方向。通过对实验结果进行处理和分析,证明本文设计的软件框架符合课题所提出的要求,适合机器人控制软件的开发,尤其是对多任务实时性有一定要求的机器人应用,也可作为其他机电系统控制软件的开发平台。