论文部分内容阅读
与经典(命题,一阶)逻辑相比,非单调推理的特点是,在推理系统中增加新的知识可以导致结论被修改。在服务机器人相关的知识表示和推理过程中,由于受到机器人硬件以及感知模块的限制,对环境信息的建模往往是不完备的,我们在推理过程中必须对环境做出假定,即环境中的推理是“通常情况下”的推理。在此基础上我们才能对机器人的知识背景进行表达,并采用相应的推理技术得到一般情况下的结论,当环境发生改变时,原来的假定,以及可以得到的结论不再成立。在这种情况下,我们需要更新背景知识,并且推理出和以前不一样的新知识。非单调推理系统能够很方便地处理这类知识更新的问题,从而使得推理系统在一定程度上满足elaboration tolerance的要求。行动语言是描述转移系统的正式语言,其语法类似自然语言,其语义基于所表达的转移系统有严格的定义。经过多年的发展,行动语言C+已经可以支持多值的行动基调,行动的并行执行,行动的不确定执行,变式谓词的惯性性质等特征的表达,这些性质为行动语言提供了强大的表达能力。同时行动语言的求解器的发展使得在现实生活中对满足条件的规划系统的描述与求解成为可能。另一方面,在机器人的任务规划领域中,随着环境的变化和新的知识的更新,需要一个满足elaboration tolerance要求的推理系统,因此采用一个具有非单调语义的逻辑系统来进行机器人的知识表示和推理过程会比较方便。行动语言C十正是基于非单调因果理论建立了与对应的转移系统的关系。因此,在机器人的任务规划的实现方式中采用行动语言C+是比较合适的。直接使用行动语言C+来表达机器人的任务规划时,需要将机器人的基本行动表达成行动语言中的基本符号,这些基本行动由机器人的他硬件系统和感知能力确定。这种方式虽然比较容易实现,但是由于规划结果完全由这些基本行动序列组成,在完成一些比较复杂的任务时,这个序列会显得比较长,并且不是特别直观。事实上,在人们对于一个任务进行规划时,往往将一些基本行动的连续执行组合成一个能够完成特定任务的“高层行动”,在此基础上进行决策与规划。这种方式首先使得规划结果表达起来更加直观和方便,其次由于缩短了规划本身的长度,因此也可以提高规划的效率。本文的主要工作分为3个方面,第一方面,在表达上正式的在行动语言C+中引入了复合行动,复合行动直观上是一系列其他行动在一定条件下的顺序执行,可以用来表达前面提到“高层行动”的结构。在这个正式语法定义的基础上,本文详细讨论了扩展的行动语言的语义,并且将扩展之后的行动描述与这个行动描述对应的转移系统联系起来。通过相应的转移系统来研究经过扩展的行动描述的各种性质,我们证明,采用复合行动对行动语言的扩展相对于原始的行动语言的描迷是可靠并且完备的。这样就从理论上保证了在规划系统中,采用复合行动定义的有效性。第二方面,本文对于行动语言C+的求解器进行了扩展,使得其增加了对复合行动定义和求解上的支持。从而使得采用扩展的行动语言C+来进行服务机器人任务规划的方法成为可能。在服务机器人具体的应用领域,通过过对服务机器人可佳的领域描述,验证了在领域问题足够复杂时,采用复合行动扩展的行动描述能够很好的提高求解的效率。第三方面,本文针对服务机器人的一般体系结构,详细讨论了使用行动语言来对任务规划模块进行实现的方法。并且给出了使用复合行动支持知识获取和知识的模块化的方法。这些方法为机器人任务规划系统的进一步优化和应用提供了方向。本文主要的贡献和创新主要有如三个方面:第一,本文在语法上,引入正式的复合行动的定义扩展了行动语言C+的表达能力。对于原始的C+语言,其不能表达类似复合行动的结构。在其他一些规划器中,虽然类似复合行动的概念和知识都直接嵌入到了求解器中,但是这些知识在这些系统中都没有正式的表达。通过引入复合行动对行动语言C+的扩展,使得在行动语言C+上对于表达直观“高层行动”的复合行动进行直观的表达。另一方面,之前虽然也有工作在行动语言中提出类似我们定义的复合行动的结构,但是其表达能力比较弱,形式上比较单一,例如所有的行动不能有条件执行以及嵌套的执行,只能是一个固定的基本行动序列行,这种“复合行动”在很多时候并不能满足服务机器人规划中多变的环境和任务需求。第二,本文在理论上证明了通过复合行动扩展的行动语言C+对于原始的行动描述语言是可靠并且完全的。通过可靠和完全性质,给扩展行动语言C+的应用提供了严格的理论背景。同时通过实验表明,在服务机器人的任务规划模块中,类似复合行动的“高层行动”的知识的增加不需要对于原来的系统描述有任何的改变,即具有“增量性”的特点,以及,增加合适的复合行动之后,规划效率有很大的提高。之前的同类工作中,对于在行动语言中引入的类似复合行动的结构,没有对可靠性和完备性进行严格的论证,也没有讨论增加这些结构后的系统和和原始的行动描述系统的关系。第三,在服务机器人应用领域,本文针对知识获取和知识重用的模块化问题,基于采用复合行动定义扩展的行动语言C+,提出了一个一致并且简洁的方案。在机器人的应用中,对于知识库中的知识,特别是完成任务的过程性知识的使用,大多数时候都需要有针对性的对相应的问题进行特殊的处理,以及采用特殊的结构进行存储。通过本文提出的方案,只需要增量式的在服务机器人的知识库中增加相应的复合行动定义规则或因果规则,在扩展的行动语言C+的支持下,可以完全自动的完成推理和规划过程。本文通过针对行动语言C+本身进行了理论上的扩展和研究,然后对于服务机器人,采用这个扩展的描述对相应的任务规划模块进行描述和求解,给出了一个可以运行的系统。但是另一方面,为了效率和简化性考虑,本文对扩展的行动语言给出了一些限制,这些限制在一定程度上削弱了其应用范围,对其进行扩展是未来工作的一个重要方面。