一种通用型遥操作任务智能规划方法研究

2021-07-02 04:26高宇辉蔡敦波
深空探测学报 2021年2期
关键词:分支指令约束

高宇辉,师 明,蔡敦波,张 弓

(1.航天飞行动力学技术重点实验室,北京 100094;2.北京航天飞行控制中心,北京 100094;3.中移(苏州)软件技术有限公司,苏州 215000)

引 言

任务智能规划技术起源于状态空间搜索、定理证明和控制理论的研究,以及机器人技术、调度和其他领域的实际需要。在国防和空间技术领域,地外天体巡视器任务规划技术是任务智能规划技术的一类典型应用。巡视器自身是一个包含时间约束、数值约束、因果约束、能源约束等多种约束类型的强耦合系统,在计算理论中的问题求解难度是多项式空间完全(Polynomial SPACE- complete,PSPACE-complete)的;航天测控模式复杂,应急控制需求多样,需要专家参与来解决规划过程中遇到的约束冲突,系统需要新增一类条件约束,使得规划问题兼具了调度的需求,问题求解和系统设计变得更加复杂。

截至2021年4月,成功在月球和火星表面着陆并进行巡视勘察的巡视器共有12辆,包括中国2辆、苏联2辆、美国8辆。早期巡视器遥操作主要采用完全的是由人工控制的方法。苏联在1970年和1971年分别向月球发射了“月球车1号”(Lunokhod 1)和“月球车2号”(Lunokhod 2)两个巡视器,地面人员参考不同摄像头获取的小画幅图像辨识障碍、确定障碍距离、判断路线可穿越性并控制巡视器运动[6]。美国在1971—1972年相继发射了“阿波罗15号”(Apollo 15)、“阿波罗16号”(Apollo 16)和“阿波罗17号”(Apollo 17)3个月面着陆器,均搭载了载人巡视器,巡视器的操控由宇航员实施[6]。这类方法接近人类工作的方式,缺点是整个规划过程均在单一粒度上进行,计划编制时间长,规划系统智能程度低且容错性差。

2000年后,美国国家航空航天局(National Aeronautics and Space Administration,NASA)综合应用了多个任务智能规划技术,不断更新和扩展自动规划系统。在火星巡视器“火星探测漫游者”(Mars Exploration Rover,MER)和“火星科学实验室”(Mars Science Laboratory,MSL)项目中,“勇气号”(Spirit)、“机遇号”(Opportunity)和“好奇号”(Curiosity)采用的MAPGEN(Mixed initiative Activity Plan GENerator)自动规划系统在控制任务上取得超预期成功[7-8]。MAPGEN系统由规划方案编辑器系统APGEN(Activity Plan Generator)和规划器EUROPA(Extensible Universal Remote Operations Planning Architecture),采用了人机协同的遥操作方法,支持操控员使用APGEN在时间线上对任务进行手动安排,由EUROPA完成逻辑推理、冲突提示和冲突消解[9]。针对具体问题域的问题求解,EUROPA提供专门的算法。这类方法大幅缩短了遥操作规划的执行时间,但是规划效率依赖于规划求解算法的有效性。

2013年,成功着陆的“玉兔号”巡视器,实现了一种基于动作的经典规划,采用了地面控制与器上自主相结合的遥操作任务规划方式[4,10]。但是该方法不支持动态调整巡视器活动序列,并且各自参数之间具有依赖关系,弱化了人机交互需求以及系统对约束冲突检测的能力。在“嫦娥四号”任务中,“玉兔二号”巡视器的工作范围处于月球背面的南极–艾特肯盆地(South Pole-Aitken basin,SPA)。着陆月球背面实施巡视探测,一直是各国开展月球探测的重要目标之一,在“嫦娥四号”任务之前各国均未实现。“嫦娥三号”的技术储备已不足以完成任务技术支持,需要研发新的平台解决复杂约束规划问题。

本文提出一种通用型的分层任务规划软件架构和人机协同的规划迭代求解方法,采用规划领域定义语言(Planning Domain Definition Language,PDDL)完成领域建模。基于上述方法实现的任务规划系统,成功应用于“嫦娥四号”任务,为任务圆满成功提供了技术支持。

1 分层规划对象模型设计

1.1 问题提出

巡视器任务规划是一个多约束规划求解问题,规划对象内部包含了驱动底层规划器计算的状态和目标信息;通信窗口约束会导致单一规划对象无法在一个时间窗口内完成,从而导致了一些针对时间窗口的绝对约束。巡视器本身具有移动、感知、科学探测等多种工作模式,每个工作模式既受温度、能源、地形、测控资源等条件的限制,同时工作模式之间存在不同的转换条件。工作模式对应巡视器的不同行为,包括导航拍照、盲走移动、充电等[11],每种行为都有多分支选择,每一种选择都会导致不同的耗时和能源消耗,因此规划对象内部的分支选择会影响最终的规划结果。此外,上述约束中部分是时变的,有较强的不确定性,容易导致部分规划解出现不可执行的问题。

月面工作序列生成复杂程度高,风险较大,需要人机协同完成作业多分支选择、事件属性设置等操作,降低任务执行风险。

1.2 对象模型设计

本文借鉴分层任务网络(Hierarchical Task Network,HTN)规划的设计思想,将作业剖解为多个原子命题的集合,设计了一种分层规划对象模型(Hierarchical Plan Object Model,HPOM),以提高人机协同的效率。

自顶向下的设计对象包括多选项作业层、带约束行为层、多分支指令序列层、参数化虚拟指令层,其组织结构如图1所示。结合时态约束与资源约束、时间窗口预报、资源使用模型等任务要素,将带约束行为的工程问题转化为时态规划问题进行求解。规划的目的不是要达到某一目标状态的集合,而是要完成某一作业方法的集合。

图1 分层规划对象模型的层次结构Fig.1 Hierarchical structure of HPOM

该模型方法应用到工程任务中,首先需要借助操控员的经验知识理解规划任务的目标,完成作业选项的设定。由操控员为作业选择行为序列、设定行为的约束和行为之间的逻辑顺序。然后交由任务规划系统将行为序列展开。如果指令序列之间存在参数计算、时间延迟等要求,则插入虚拟指令进行表示,并调用外部计算过程予以处理。

1.3 对象定义

对各层次的对象做如下定义。

1)(参数化)虚拟指令对象

虚拟指令由指令名和参数表构成,指令名为字符串,参数表由参数名称、类型构成,每个参数的值均需计算。虚拟指令不仅仅用于表示真实指令,它可对应时间占位需求(主动延时)、驱动底层规划器的参数计算需求(如图2所示)。参数可以是静态,也可以是动态的,以适应上层规划对象时序调整对虚拟指令的影响。

图2 虚拟指令的抽象作用Fig.2 Abstract function of virtual instruction

2)多分支指令序列对象

指令序列对象由若干虚拟指令和(子)指令序列组成,并包含多个分支点(如图3所示)。指令序列对象的描述能力具有两个主要特点:①指令序列对象能描述抽象的、层次化的指令序列结构,因为其中的子指令序列可看作抽象的宏指令,当前指令序列对子指令序列的包含与子指令序列对下级子指令序列的包含反映了层次关系;②附带分支点标识的指令序列支持指令的模式化自动扩展,能够解决行为多分支选择的难题。

图3 多分支指令序列的结构示意图Fig.3 Structure diagram of multi branch instruction sequence

3)带约束的行为对象

每个行为对象可表示巡视器的一个行为。一个行为对象包含参数表、唯一的默认指令序列,同时附带若干时态约束和资源约束描述信息(如图4所示)。

图4 带约束的行为对象结构示意图Fig.4 Schematic diagram of behavior object structure with constraints

4)多选项作业对象

每个作业对象表示完成某一明确目标所对应的行为组合(如图5所示)。作业包含多个选项,每个选项与一种行为组合关联并统一设置这些行为所有相匹配的分支点选择。这种设计符合操控员描述知识的方式。

图5 多选项作业对象的结构示意图Fig.5 Structure diagram of multi option operation object

行为对象层位于作业对象层的下层,在操控人员做出较粗略的行为计划之后,行为对象接着由自动规划系统根据系统中的各类资源约束、时间约束和各类预报数据进行定时优化。

2 任务领域建模

本文采用PDDL规划语言,完成对领域模型和具体问题模型的描述。规划器识别规划语义,生成巡视器工作序列。对于规划解中的局部冲突和缺陷,采取解决冲突、弥补缺陷的算子,获得最佳重规划结果。

定义1“状态”是真命题的有限集。每个命题的变量可为布尔变量(论域为{T,F})或数值变量(论域为实数R)。

定义2“行为”(动作)是一个三元组〈P,eff+,eff-〉,其中P表示执行该行为的前提条件,为命题的有限集;eff+表示执行该行为后新成立的命题集,也称为添加效果;eff-表示执行该行为后不再成立的命题集,也称为删除效果。eff+和eff-中涉及同一数值变量的命题,可建模该变量的取值在动作执行前后的变化。

定义3(行为)规划问题表示为一个三元组〈Dom,I,G〉,其中Dom包含行为组成的有限集,描述动作所需的若干对象类型、函数和谓词;I表示在规划过程开始前已知成立的命题集,定义问题的初始状态;G为期望成立的命题集,定义问题的目标状态。

在定义2和定义3的基础上,为行为增加开始时间(start time)和持续时长(duration)两个属性,将工程问题转化为时态规划问题(Temporal Planning Problem)进行求解。依据各项预报数据确定命题的成立时间。如通信窗口预报数据中包含一个时间窗口[66,188],即,在66~188 s 内存在一个通信链路,则构建命题对偶:(at(communication_accessible)66)和(at(not(communication_accessible))189)。其中,(communication_accessible)为表示可否通信的命题变量。采用行为逻辑顺序的约束关系构建行为集,为了建模这类顺序约束,提出的规则:若要求行为a1在行为a2之前执行则在a2的前提中添加一个命题p1-2,然后在a1的添加效果中添加p1-2,最后在初始状态I中指定命题p1-2的值为F(假)。

每个外部计算过程必须在每次计算前获取详细的行为状态信息,才能确保规划计算结果的正确性。

例如充电行为的时长计算,与该行为的开始时间、巡视器航向和姿态、巡视器当前工作模式都有密切关系:

1)行为开始时间,影响太阳高度角,进一步影响巡视器两个太阳翼的光照夹角;

2)巡视器航向和姿态,影响太阳翼的遮蔽情况和光照夹角;

3)巡视器当前工作模式,不同工作模式下耗电不同,也会影响充电效率。

通过上述方法扩展PDDL语言,完成对巡视器的各种行为和具体任务问题的建模描述。行为模型与对象类型定义、函数定义、外部计算过程定义形成领域模型,具体任务所涉及的对象实例、初始状态和目标状态等描述一起形成具体问题模型。规划求解器以上述两个文件为输入,进行规划求解计算。支持PDDL语言所建模型的开源求解器较多,改进适用的求解器支持上述扩展语法,即可完成规划问题求解。

3 规划迭代求解

以HPOM为基础,本文设计了一种规划迭代求解流程,实现了操控员人工选择与智能规划技术自动求解规划的有机结合。

3.1 HITL设计思想

人机协同规划迭代求解(Human-In-The-Loop,HITL)的流程设计思想是:利用HPOM层次规划对象模型,结合操控员手动操作和规划器的智能求解,通过多次迭代求解,计算生成完成任务作业的指令序列,如图6所示。

在图6中,操控员用分层规划对象模型中的多选项作业对象和多约束行为对象进行粗粒度的顶层规划,形成行为计划流程。巡视器行为规划系统将带约束行为展开为多分支指令,并进一步映射为参数化虚拟指令序列,得到虚拟指令集的粗规划。规划系统对带约束行为列表进行行为定时,结果映射为虚拟指令的精规划。精规划与粗规划的不一致情况将提示给操控员,以进行顶层计划的修改。

图6 巡视器任务规划系统人机协同示意图Fig.6 Schematic diagram of human-machine cooperation for mission planning system of Rover

3.2 规划迭代流程

规划迭代求解的流程如图7所示。

图7 任务规划迭代流程Fig.7 Iterative process of task planning

3.3 规划分段定义

对各个规划迭代步骤做如下定义。

1)作业规划阶段

由操控员根据任务场景和专家经验自上而下地设计作业模式,并设置各作业的配置选项,对行为的逻辑顺序做出安排。

2)行为序列粗规划阶段

操控员根据作业选项和作业对应的默认行为序列设计粗略的行为序列,随后由任务规划系统根据作业选项具体化每个行为所附带的分支点列表和参数,最后操控员通过图形化接口查看展开后的行为序列,并对行为的相对顺序进行调整。

3)多分支指令生成阶段

基于行为序列中每个行为的参数取值和分支点,系统生成对应的多分支指令序列,同时确定各序列中每个分支点的设置。

4)虚拟指令展开阶段

任务规划系统将多分支指令展开为虚拟指令序列,增加必要的虚拟指令,之后按序启动每个虚拟指令的相关子规划器(如路径规划器)的计算,依次计算每条虚拟指令相关的耗时和内部控制数据。以此为基础,任务规划系统确定行为粗规划中各行为的建议分配时长。

5)行为规划问题自动构建阶段

基于上述信息,由规划系统实时创建规划领域模型文件和规划问题模型文件。

6)行为规划系统求解阶段

规划器进行计算求解,将规划结果重新映射回巡视器行为,并根据行为的开始时间与持续时长等信息得到虚拟指令序列的精规划。

7)精规划与粗规划的一致性分析

由于规划系统对行为时序的调整会导致虚拟指令精规划中的指令执行时长与内部控制数据和粗规划不匹配,因此需要进行一致性分析,若存在不一致则需重新计算,并启动下一次迭代。

4 实例分析

使用“嫦娥四号”任务实际场景进行实例分析和方法验证。

4.1 作业选项

图8中,运用多选项作业对象来表示在停泊点A进行感知作业。其中,A点感知作业包含了感知行为和数据下传行为的组合,当对感知行为设置了“高码率试拍下传”分支点,则在数据下传行为中会相应的设置“高码率下传”分支点。这两个分支点与作业的同一选项绑定,一旦该选项被设置则两个分支点同时被任务规划系统自动选择。

图8 多选项作业对象示例Fig.8 Example of multi option operation object

4.2 指令展开

图9中,建模的指令为一条真实指令:导航相机拍照,拍照目标角度和拍照方式均需计算确定。

图9 虚拟指令示例Fig.9 Example of virtual instruction

其对应的指令序列流程为:〈试拍照,数据下传,正式拍照〉。其中,试拍照指令需要执行多少次可由对应的分支点确定。若此分支点的取值为3,则此指令序列将被自动展开包含3个试拍照指令的序列:〈试拍照,试拍照,试拍照,数据下传,正式拍照〉。

4.3 领域模型

使用功能扩展后的PDDL对巡视器移动行为进行规划建模。首先在规划域描述结构中增加元标记“:processes”,对外部计算过程进行说明,并同时定义名如proc1和proc2的外部计算过程;在移动行为定义部分,运用这些外部计算过程来建模动作的动态性。图10中,使用(=?duration proc1)描述巡视器该行为的持续时长是由外部计算过程proc1负责每次迭代时重新计算;用(decrease energy proc2)描述巡视器剩余电量energy的降低数量由proc2计算。

图10 移动行为的PDDL扩展定义Fig.10 PDDL Extended definition of mobile behavior

4.4 结果分析

假设巡视器当前位于S1点(坐标:–26.7,–1.2),科学家指定其移动到目标点(坐标:–45.1,–1.1)进行科学探测。当前点和目标点之间的其余导航点分别是S2点(坐标:–32.5,–0.9)和S3点(坐标:–37.9,–0.9),然后根据初始状态、目标状态以及测控约束、能源约束和光照约束等条件,启动任务规划计算,得到动作序列如表1所示。

表1 “玉兔二号”巡视器科学探测任务规划实例结果分析Table 1 Analysis on the results of scientific exploration mission planning of Yutu 2 Rover

5 结 论

本文提出的方法融合了分层规划、PDDL规划、人机结合等智能规划领域的多个概念。

1)提出的“分层规划对象模型”契合人类操控员自顶向下、逐步细化求精的规划模式。将作业分解为行为,将行为分解为指令序列。同时在分解过程中引入了“分支点”的概念,由分支点影响分解的结果,扩展了HTN规划的灵活性。软件架构具有通用性,有望在后续无人航天器、无人水下潜航器等复杂任务中获得进一步应用。

2)在分层规划的模型内,实现了将带约束行为层的规划问题转化为PDDL规划问题的方法,扩展了PDDL规划建模的使用思路。

3)以HPOM为基础探索人机协同下的HITL方法,设计了高层对象映射为低层对象的自动化方法,缩短了操控员构建任务计划的时间,实现了人类专家和智能规划系统的优势互补。

采用该方法设计实现的任务智能规划系统,在“嫦娥四号”任务“玉兔二号”巡视器遥操作任务中获得应用并取得预期效果,为任务的圆满成功提供了技术支撑。

猜你喜欢
分支指令约束
一类离散时间反馈控制系统Hopf分支研究
软件多分支开发代码漏合问题及解决途径①
《单一形状固定循环指令G90车外圆仿真》教案设计
巧分支与枝
马和骑师
中断与跳转操作对指令串的影响
适当放手能让孩子更好地自我约束
一种基于滑窗的余度指令判别算法
MAC指令推动制冷剂行业发展
硕果累累