论文部分内容阅读
随着现代科学技术的发展,移动机器人的种类日益增多且应用场景变得更加广泛,这导致其上的自适应软件开发产生了极大的需求。然而从软件工程的角度看,当前移动机器人上自适应应用软件开发存在以下两个方面问题:●应用软件对软硬平台的依赖性。软件应用多针对于一类特定软硬件平台的移动机器人,往往无法应用于其它软硬件平台。如今移动机器人逐渐向异构性的方向发展,这使得移动机器人上自适应软件开发存在很大的工作量。应用软件与软硬平台的依赖性也导致软件设计中存在一些问题,如软件的服务质量保障机制严重依赖于具体的软硬件平台。●控制逻辑与自适应逻辑的耦合性。受移动机器人平台多样性的影响,自适应应用软件在处理自适应逻辑的同时,也需要同时考虑平台的差异性。不同于普通软件,移动机器人上自适应软件的自适应逻辑与系统执行、环境感知、应用逻辑等紧密耦合,不利于应用逻辑和自适应逻辑的复用,使得整个系统具有较大的复杂性。因此在移动机器人上进行自适应软件研究已变得非常迫切,有必要提供一种具有解决移动机器人的异构性,屏蔽其软硬件平台差异,便于应用开发,使得移动机器人具有较强自适应性的软件框架。本文对此进行研究,提出了一个面向异构移动机器人的自适应软件框架MORO,其主要贡献有:●提出一种带有服务质量保障的硬件功能抽象技术,较好地屏蔽了移动机器人平台的硬件差异性。通过对移动机器人进行建模并定义统一的驱动接口来解决平台的硬件差异性,而运行在自移植的IeJOS JVM上来解决软件差异性。利用框架中硬件抽象层屏蔽平台差异性的能力,设计了与平台无关的自适应调整机制来对服务质量进行保障。●使用基于规则模型的方法将自适应逻辑与系统硬件控制逻辑以及应用业务逻辑进行解耦合。不同于传统的规则模型,在本框架中还可以自定义条件信息和动作信息,这使得框架具有较好的可扩展性。●提供较为完整的辅助开发工具,便于应用开发人员使用框架进行应用开发。工具包括可视化的规则文件编辑工具和代码生成工具。规则文件编辑工具还可以根据规则文件自动生成有限状态自动机模型图,检查其中存在的一些逻辑错误。代码生成工具根据规则文件中的自定义条件和动作信息自动生成框架代码,从而方便应用开发人员进行应用开发。最后,本文通过一组对比实验验证了框架的可靠性,并基于MORO软件框架开发了一个探测未知环境的应用程序,使其运行在四种不同软硬件平台的移动机器人上来对框架的应用效果进行评估,实验结果显示MORO具有较好的应用效果。