论文部分内容阅读
自主机器人是一类运行在开放环境下,需要与环境进行持续交互,并根据被赋予的任务,在无需人类指导的情况下来自主实施行为的一类机器人。而自主机器人软件则作用于机器人物理及计算系统之上,通过任务规划和决策产生行为序列,与机器人硬件系统进行交互以获取感知输入并驱动效应器执行。由于所处工作环境日趋开放、动态和不确定,自主机器人的行为实施结果往往面临极大的不确定性,实际的实施效果难以达到预期效果,从而可能导致自主机器人无法成功完成任务,甚至会对周围环境和自身造成伤害和损失。因此,如何提高自主机器人在开放环境下行为实施的健壮性,使其能够快速感知环境变化并根据行为实施结果进一步调整后续行为,已成为自主机器人软件在开放环境下进行任务规划和决策所面临的重要挑战。同时,由于自主机器人软件的功能复杂和结构复杂,如何提供有效的软件工程技术来支持特殊自主机器人软件的设计和构造已成为软件工程领域的研究热点。基于上述挑战和需求,本文首先以自主机器人为研究对象,通过分析在开放环境下自主机器人的特殊行为模式,即任务实现和感知观察之间的伴随关系,抽象和提取出其在开放环境下实施的两种基于不同目的的自主行为,即面向任务实现的任务行为和面向任务感知的观察行为。围绕两种自主行为的交互和协同问题,论文提出了一种伴随式自主机器人行为模型,能够在开放环境下针对任务行为的实施过程进行相应的伴随观察,实现对任务行为实施状态和效果的实时监测,及时发现可能产生的任务失败情况。这种伴随行为模型能够有效应对开放环境所带来的不确定性挑战,提高自主机器人在开放环境下行为实施的健壮性。其次,本文进一步分析开放环境下的自主机器人软件结构和功能的复杂性。伴随行为模型的核心是实现两种不同目的的机器人行为之间的自主、灵活、按需的交互协同,从而使得自主机器人软件的结构和功能更加复杂,因此对于软件的设计和构造方法提出了挑战。论文采用多Agent系统思想来认识和抽象自主机器人软件的体系结构,设计和提出基于多Agent系统的自主机器人软件架构,将自主机器人软件的决策和执行等部件抽象和设计为一组具有不同职责的智能Agent,通过多Agent之间的灵活交互和合作实现伴随行为之间的协作。多Agent自主机器人软件架构从抽象和设计角度能够有效简化此类复杂软件系统的抽象设计和开发过程,降低自主机器人软件的设计复杂度和开发难度。最后,为支持具有上述行为模型和软件架构特点的自主机器人软件的工程化开发,论文设计和开发了一款基于多主体系统的自主机器人软件开发框架AutoRobot,将伴随行为模型和多Agent系统架构物化于框架中作为其核心的多Agent软件开发原型。AutoRobot开发框架为开发人员提供了可重用的软件开发包,对传感器Agent、行为决策Agent和行为执行Agent的基本功能和行为进行封装和抽象。开发人员可以通过重用这些Agent开发接口并编写诸如传感数据处理等功能以产生相应的自主机器人软件代码,从而开发出面向特定应用和需求的自主机器人软件。论文通过开展针对自主机器人服务案例的研究,展示伴随行为模型以及多Agent机器人软件架构的有效性和适用性。