首页 / 一种深空探测自主任务规划约束推理的自动编码方法

一种深空探测自主任务规划约束推理的自动编码方法有效专利 发明

技术领域

[0001] 本发明涉及一种深空探测自主任务规划约束推理的自动编码方法,属于航天深空探测技术领域。

相关背景技术

[0002] 在深空环境下,深空探测器根据空间环境的感知和认识及深空探测器本身的能力和状态,利用计算机软件技术、人工智能技术等,依据一段时间内的任务目标,对若干可供选择的动作及所提供的资源约束施行推理,自动地生成一组时间有序动作序列,称一个“规划”(plan),该规划一旦执行,便可以将探测器的状态成功转移到期望的目标状态。
[0003] 目前NASA,ESA已经将自主规划技术成功的应用于深空探测器探测任务中。但是由于近年来深空探测任务飞行距离越来越远,星上负载越发复杂,负载之间的复杂约束关系以及超远距离探测所带来的新的通信、能源约束为深空探测自主规划技术带来了新的挑战。规划中的约束处理技术逐渐成为规划研究中的热点。
[0004] 约束可满足技术(CSP)作为人工智能领域中另一条处理约束的主要途径,因具有剪枝能力强、处理效率高、能够解决复杂问题等特点在日常生产生活中都具有广泛的应用。采用约束可满足技能解决规划问题也进行一定的探索,例如MC Cooper,M de Roquemaurel等人对加权约束可满足规划的最优解问题进行了研究。R.Bartak在图规划的基础上对并行活动之间的时间线进行了研究。在此基础上,Nina,Majid等人开发了基于并行规划的TCPP规划器。该规划器采用状态转移图的结构,将规划问题转化为状态转移图并通过约束可满足技术进行求解,当获得可行解后在状态转移图对应的节点上提取规划动作序列。
[0005] 然而规划中的核心约束动作逻辑关系一般需要通过手动编码或状态转移图的形式转化为CSP中的约束状态。手动编码具有工作量大,人机界面不友好,后期难以移植维护等缺点,而状态转移图对于复杂动作关系(例如条件动作)则会丢失信息导致规划失败。因此规划中的动作逻辑关系如何转化为约束状态已成为深空探测自主任务规划中的难点问题。

具体实施方式

[0041] 为了更好的说明本发明的目的和优点,下面结合附图和实例对发明内容做进一步说明。
[0042] 1.探测器系统模型及其约束模型的建立。
[0043] 本发明通过行星表面采样任务为例,说明深空探测自主任务规划约束推理的自动编码方法的工作过程。行星表面采样任务的模型文件如下所示:
[0044]
[0045]
[0046] 问题文件如下所示:
[0047]
[0048] 2.分别采用本实施例的自主任务规划方法和EUROPA与GP-CSP自主任务规划方法进行任务规划,说明本实施例的有益效果。
[0049] 步骤1,建立深空探测器系统模型。
[0050] 采样任务模型如上文所示
[0051] 步骤2,对模型文件进行预处理,将一元逻辑谓词统一转化为二元谓词。
[0052] (free,?gripper)→(Isfree,?gripper,?gstate(BOOL))
[0053] 建立谓词集合PreList={at-robby,at,Isfree,carry}。
[0054] 步骤3,根据步骤2生成的模型文件,记录规划中的动作,并将这些动作压入约束链表Conlist。
[0055] ConList=(move,pick,discard)
[0056] 步骤4,根据步骤2生成的模型文件,提取约束可满足中所需要的变量。建立变量集VarSet,并将谓词集合PreList中每个谓词中的活动单元压入变量集VarSet,作为后续约束处理的待选变量。
[0057] VarSet={robot,rock,gripper,loc,gstate}
[0058] 步骤5,当约束链表ConList不为空时,随即选取表中动作namei,并为该动作生成表约束的表头。随即选取动作pick,记录pick中的活动单元,并检查该活动单元是否属于变量集VarSet。如不满足,跳至下一活动单元,如满足,记录该单元为变量。直至所有活动单元检查完毕,将所有标记为变量的活动单元生成表头如下:
[0059]
[0060] 其中变量上标t代表该变量处于动作的前提条件阶段,上标t+1代表该变量处于动作的后续状态阶段。
[0061] 步骤6,根据动作的因果关系,记录表约束中变量的变化情况,并将不变量进行合并。例如当变量 与 取值相等时,两者可合并为vari。表头合并为
[0062]
[0063] 步骤7,根据步骤1中生成的问题文件,将步骤6中生成的表头进行实例化。将步骤6中全部表头,根据步骤6中记录的变化情况在问题文件中选取可行的赋值,并将该赋值填入约束表的Value行中,完成表约束的构建。其中rock可取值rock1至rock10,gripper可取值left和right,loc取值为loc1和loc2。将上述信息填入表中完成表约束构建为:
[0064]
[0065] 步骤8,完成步骤7后,选取约束链表ConList中的下一个动作,重复执行步骤5-7,直到深空探测器系统模型SYS中所有的动作编码为表约束。
[0066] 随即选取下一个动作move。记录move中的活动单元{loc,obot},并检查该活动单元是否属于变量集VarSet。如不满足,跳至下一活动单元,如满足,记录该单元为变量。直至所有活动单元检查完毕,将所有标记为变量的活动单元生成表头如下:
[0067]
[0068] 其中变量上标t代表该变量处于动作的前提条件阶段,上标t+1代表该变量处于动作的后续状态阶段。
[0069] 步骤6,根据动作的因果关系,记录表约束中变量的变化情况,并将不变量进行合并。例如当变量 与 取值相等时,两者可合并为vari。表头合并为
[0070]
[0071] 步骤7,根据步骤1中生成的问题文件,将步骤6中生成的表头进行实例化。将步骤6中全部表头,根据步骤6中记录的变化情况在问题文件中选取可行的赋值,并将该赋值填入约束表的Value行中,完成表约束的构建。其中loc取值为loc1和loc2。将上述信息填入表中完成表约束构建为:
[0072]
[0073] 随即选取下一个动作discard。记录discard中的活动单元{loc,robot,gripper,rock},并检查该活动单元是否属于变量集VarSet。如不满足,跳至下一活动单元,如满足,记录该单元为变量。直至所有活动单元检查完毕,将所有标记为变量的活动单元生成表头如下
[0074]
[0075] 其中变量上标t代表该变量处于动作的前提条件阶段,上标t+1代表该变量处于动作的后续状态阶段。
[0076] 步骤6,根据动作的因果关系,记录表约束中变量的变化情况,并将不变量进行合并。例如当变量 与 取值相等时,两者可合并为vari。表头合并为
[0077]
[0078] 步骤7,根据步骤1中生成的问题文件,将步骤6中生成的表头进行实例化。将步骤6中全部表头,根据步骤6中记录的变化情况在问题文件中选取可行的赋值,并将该赋值填入约束表的Value行中,完成表约束的构建。其中loc取值为loc1和loc2。将上述信息填入表中完成表约束构建为:
[0079]
[0080] 以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页 第1页 第2页 第3页
相关技术
探测自主相关技术
推理自动相关技术
姜啸发明人的其他相关专利技术