浙江大学学报(工学版), 2025, 59(11): 2237-2247 doi: 10.3785/j.issn.1008-973X.2025.11.002

机械工程、能源工程

基于分层任务网络的机器人任务表达与规划方法

付星彭,, 罗群, 蒋林贝, 王青,, 张沛奇, 柯映林

1. 浙江大学 全省高端装备制造及检测技术重点实验室,浙江 杭州 310058

2. 西安飞机工业(集团)有限责任公司,陕西 西安 710089

Robot task expression and planning method based on hierarchical task network

FU Xingpeng,, LUO Qun, JIANG Linbei, WANG Qing,, ZHANG Peiqi, KE Yinglin

1. Zhejiang Key Laboratory of Advanced Equipment Manufacturing and Measurement Technology, Zhejiang University, Hangzhou 310058, China

2. Xi'an Aircraft Industrial (Group) Limited Company, Xi'an 710089, China

通讯作者: 王青,男,教授. orcid.org/0000-0003-4318-7867. E-mail: wqing@zju.edu.cn

收稿日期: 2024-10-25  

基金资助: 国家基础科研计划资助项目(JCKY2021205B110);国家自然科学基金资助项目(51975520).

Received: 2024-10-25  

Fund supported: 国家基础科研计划资助项目(JCKY2021205B110);国家自然科学基金资助项目(51975520).

作者简介 About authors

付星彭(2000—),男,硕士生,从事飞机数字化装配的研究.orcid.org/0009-0007-2590-0207.E-mail:22225068@zju.edu.cn , E-mail:22225068@zju.edu.cn

摘要

针对飞机装配中工业机器人孤立作业、通用性不足、自主化智能化程度低的问题,研究飞机装配机器人任务表达与规划方法,提出基于任务驱动的飞机装配机器人加工系统框架,建立飞机装配机器人任务管理与规划集成系统. 针对飞机装配现场常见的加工任务,设计任务的层次化表达,建立基于分层任务网络的飞机装配机器人任务表达方法. 根据加工任务特点,提出面向工艺约束的任务规划流程. 考虑到现场可能出现的外部扰动,根据扰动作用范围分层设计系统的重规划方案. 测试结果表明,利用提出的方法,有效地实现了装配机器人的任务规划与重规划求解,提高了飞机装配机器人的通用性和加工系统的自主化智能化水平.

关键词: 飞机装配 ; 工业机器人 ; 任务管理与规划 ; 分层任务网络(HTN) ; 重规划

Abstract

The task expression and planning methods of aircraft assembly robots were analyzed aiming at the problems of isolated operation, insufficient universality, and low degree of autonomy and intelligence of industrial robots in aircraft assembly. A task driven aircraft assembly robot processing system framework was proposed, and an integrated system for task management and planning of aircraft assembly robots was established. A hierarchical decomposition of common processing tasks in aircraft assembly sites was conducted, and a task expression method for aircraft assembly robots based on a hierarchical task network was established. A task planning process oriented towards process constraints was proposed based on the characteristics of processing tasks. A hierarchical replanning scheme for the processing system was designed based on the range of disturbance effects considering the possible external disturbances on site. The test results showed that the proposed method was used to effectively achieve task planning and replanning solution for assembly robots, improving the generality of aircraft assembly robots and the level of autonomy and intelligence in processing systems.

Keywords: aircraft assembly ; industrial robot ; task management and planning ; hierarchical task network (HTN) ; replanning

PDF (4185KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

付星彭, 罗群, 蒋林贝, 王青, 张沛奇, 柯映林. 基于分层任务网络的机器人任务表达与规划方法. 浙江大学学报(工学版)[J], 2025, 59(11): 2237-2247 doi:10.3785/j.issn.1008-973X.2025.11.002

FU Xingpeng, LUO Qun, JIANG Linbei, WANG Qing, ZHANG Peiqi, KE Yinglin. Robot task expression and planning method based on hierarchical task network. Journal of Zhejiang University(Engineering Science)[J], 2025, 59(11): 2237-2247 doi:10.3785/j.issn.1008-973X.2025.11.002

飞机制造业作为综合、先进的高端制造业,其发展会带动我国整体制造业的发展水平[1],提升我国工业制造的综合实力[2]. 据统计可知,在飞机整体制造周期中,飞机装配所占的工作量可以达到一半以上[3-4]. 飞机装配技术专业性强、先进性高,是一项关键的综合性制造技术[5-6].

工业机器人由于高精度、高效率、高柔性化等优势,已经在飞机装配中获得了极广泛的应用[7-9]. 本文主要聚焦于飞机装配中的加工任务场景,包括制孔[10]、铣削[11]、铆接[12]、焊接[13]、扫描测量[14]、涂胶[15]等任务.

目前,用于飞机装配的工业机器人软件系统主要为单一的加工控制软件,该软件存在以下问题.

(1)现有软件的使用场景单一,针对特定加工类型任务的表达方式不统一,通用性不足[4, 10]. 对于多类型、多过程的组合加工任务,现有的加工控制软件无法从任务层级上对任务的执行顺序和资源进行管理,缺乏统一的任务调度与下发系统. 机器人只能依赖于人工下发具体的指令对应的操作步骤机械地执行[16],无法自主地进行任务识别与规划.

(2)现有软件无法实时地根据异常状态,对工序和资源进行动态调整[17]. 针对可能出现的碰撞干涉、刀具磨损、临时工序添加等特殊情况,只能由操作人员手动终止加工过程,结合当前的加工进度手动增删指令代码,智能化程度较低.

针对以上问题,需要建立一套拥有装配现场加工任务知识库的任务管理与规划集成系统. 系统根据标准化的知识库,自动完成飞机装配过程中各种不同加工任务的任务规划和指令生成[18],且能够通过感知加工系统状态来进行实时重规划.

针对上述需求,本文提出基于分层任务网络的飞机装配机器人任务表达与规划方法. 建立基于任务驱动的飞机装配机器人加工系统架构,改进传统的加工控制系统模式. 基于分层任务网络语法对任务规划领域知识进行定义,确保了任务表达的一致性. 面向装配现场的外部扰动,设计分层重规划架构,分别提出针对原子任务、中间层任务及一级任务的重规划方法,开展软件的功能验证.

1. 基于任务驱动的装配加工系统架构

基于任务驱动的飞机装配机器人加工系统的整体架构如图1所示.

图 1

图 1   基于任务驱动的飞机装配机器人加工系统架构图

Fig.1   Architecture diagram of task driven aircraft assembly robot processing system


将装配任务库部署在云平台,存储飞机装配过程中的各类任务. 在任务开始阶段,任务管理数据库获取待执行任务信息及系统的初始资源状态,据此进行任务规划. 规划结果为原子任务(用“操作”描述,是可以被直接执行的动作)列表的形式,将其转译为对应的控制指令,如NC代码(numerical control code,数字控制代码),经仿真验证后下发到控制软件指导加工. 在加工过程中,采集系统的实时状态信息和加工工艺数据信息,对采集到的数据进行智能分析,指导任务实时重规划.

针对多机器人-多加工站位的场景,无论机器人是否具有相同的加工功能,都可能在同一站位协同工作或前往不同站位执行各自任务.

加工系统的核心部分为任务管理与规划集成系统,内部架构如图2所示,多个模块协同工作,每个模块负责特定的功能,通过信息流进行相互协作. 现场的数字孪生监控模块以数字线程通信框架为数据通道,实时监控现场状态,接收站位实时数据. 通过对任务执行过程中的加工数据进行智能监测,决定是否产生任务重规划的需求. 任务管理模块负责接收和管理装配任务,将系统使能状态和装配任务作为输入传递给任务规划模块,负责接收可能的重规划需求. 通过任务规划模块,生成规划结果和控制指令. 该系统能够保障任务表达的语义一致性、任务管理和规划的集成性,确保任务执行的鲁棒性及生产状态监控的持续性,提高生产效率和质量.

图 2

图 2   任务管理与规划集成系统的内部架构图

Fig.2   Internal architecture diagram of task management and planning integration system


任务规划模块接收任务域文件,通过调用内部加工任务知识库形成的规划域文件,在规划求解器中得到求解结果(原子任务列表),通过原子任务转译器得到能被机器人加工控制软件直接理解并执行的控制指令. 任务规划模块的整体架构见图3.

图 3

图 3   任务规划模块的架构图

Fig.3   Architecture diagram of task planning module


2. 基于HTN的装配任务表达与规划

2.1. 基于JSHOP2规划求解器的任务规划

针对飞机装配场景,通过分析不同的加工工艺与约束,采用分层任务网络(hierarchical task network, HTN)将加工任务逐步分解为原子动作[19],建立任务领域知识系统,使机器人能够自主接收、分解、求解和执行任务[20],实现智能化与通用化.

JSHOP2是基于SHOP2的Java实现,由于其开源性、领域无关性,采用JSHOP2规划求解器用于HTN规划的求解[21],结合飞机装配应用场景完成对该求解器的功能扩展.

2.2. 装配机器人的任务分层表达方法

目前,飞机装配现场对于机器人加工任务的表达缺乏统一标准,不能进行复杂任务的识别与分解,需要建立一套可以根据领域知识对机器人加工任务进行接收、识别、分解的标准任务表达体系[22-24].

以机器人自动化制孔加工任务为例进行说明,基于HTN的飞机装配机器人分层加工任务网络与各层次任务描述信息内容如图4所示. 根据分层网络的思想,将飞机装配机器人的加工任务分为以下4层结构.

图 4

图 4   基于分层任务网络的飞机装配机器人加工任务表达架构

Fig.4   Aircraft assembly robot processing task expression architecture based on hierarchical task network


1)一级任务:包括制孔、镗孔、铆接、铣削等加工任务以及机器人转站任务等.

2)二级任务:包括建站、加工工位转换以及按照工艺路径规划的结果依次加工各个序列等.

3)三级任务:针对某一加工序列,按照工艺要求依次加工内部孔位;由于刀具磨损或不同加工序列的制孔工艺要求不同,可能导致的换刀任务.

4)四级任务:可以由硬件设备直接理解并执行的基本操作,如末端执行器移动、压脚压紧、主轴开启、进给轴进给等. 根据三级任务的描述,直接向末端硬件系统发出具体的加工指令.

装配机器人的一级、二级、三级任务是HTN规划中的复杂任务,须在规划域文件中定义执行前提和分解方法. 四级任务是可直接执行的原子任务,须在任务域文件中定义执行前提和执行后的影响.

结合待加工产品示意图说明多级加工任务的表达方式及其相关属性参数[25-26],如图5所示. 建站基准孔信息用来建立装配与加工过程中所需的各参考坐标系. 工位划分信息为某一站位内机器人不同工位的分配结果,确保机器人作业范围处于其精度补偿空间内,保证装配质量. 加工序列的内部制孔顺序由具体的制孔工艺要求确定,常采用从中间到两端或端到端的方式,将变形累积至边缘处,避免对装配质量产生影响. 局部基准修正工艺信息包括测得的局部基准孔点位信息及所采用的误差修正工艺.

图 5

图 5   制孔站位加工任务分层表达方法的示意图

Fig.5   Schematic diagram of hierarchical expression method for drilling station processing task


2.3. 装配机器人任务规划领域的知识表达

根据HTN规划要求对飞机装配机器人的任务规划领域知识进行表达[27],主要包括方法和操作的定义. 以机器人制孔任务为例,阐述如下.

1)方法集合的定义.

方法即复杂任务分解方法,描述了复杂任务分解为子任务集合的方式,HTN中以四元组进行表达:

$ M = <{\mathrm{head}}(c), {\mathrm{pre}}(c), {\mathrm{eff}}(c), {{T}}_{{n}} (c)>. $

式中:head(c)表示任一复杂任务,pre(c)表示该复杂任务能够分解的前提条件,eff(c)表示该复杂任务分解后对状态空间产生的影响,$ {{T}}_{{n}} $(c)表示由复杂任务分解得到的n个子任务集合组成的任务网络. 对机器人系统的方法集合中的每个方法进行定义,详见表1.

表 1   制孔任务(分解)方法集合(部分)

Tab.1  Collection of methods (decomposition) for drilling tasks (partial)

方法head(c)pre(c)eff(c)Tn(c)
机器人
制孔任务
Drilling_TaskDrilling_Location=
Drilling_GoalLocation()
Drilling_TaskFlag=true
Drilling_ProcessFlag=false
Drilling_TaskFlag=false
!Drilling_FullStart→Drilling_Pre_Process→!Drilling_P_AxisStart(Drilling_RotSpeed0)→Drilling_Process (Drilling_RegionNum)→!Drilling_P_AxisEnd→!Drilling_Back→!Drilling_FullStop
制孔前
准备任务
Drilling_Pre_ProcessDrilling_TaskFlag=trueDrilling_ProcessFlag=trueDrilling_Pre_Station(Drilling_Cal0HoleNum)→Drilling_Pre_R_Hole(Drilling_Cal1HoleNum)
制目标区域孔Drilling_Process_Region
(RegionID_HoleNum)
Drilling_Region
(ID-1).State=true
Drilling_RegionID.
State=true
Drilling_Process_Hole(Hole1)→…→Drilling_Process_Hole(HoleNum)
制目标孔Drilling_Process_
Hole(HoleID)
Drilling_RegionNum_
Hole(ID-1).State=true
Drilling_RegionID_
Hole(ID).State= true
!Drilling_Move(Drilling_HoleID.GoalLocation)→!Drilling_P_AxisSet(Drilling_HoleID.GoalRotSpeed)→!Drilling_FootFasten→!Drilling_F_AxisFeed(Drilling_HoleID.GoalFeedSpeed,
Drilling_HoleID.GoalDepth)→!Drilling_F_AxisBack→!Drilling_FootLoose
基准孔
测量修正
Drilling_Pre_R_Hole
(Drilling_Cal1HoleNum)
Drilling_Cal1Flag=trueDrilling_Cal1Flag=false
Drilling_ProcessFlag=true
!Drilling_MoveCal1(Drilling_Cal1Hole1.GoalLocation)→!Drilling_P_Measure(Drilling_Cal1Hole1.GoalLocation)→···→!Drilling_MoveCal1(Drilling_Cal1HoleNum.GoalLocation)→!Drilling_P_Measure(Drilling_Cal1HoleNum.GoalLocation)→!Drilling_Hole_Modify

新窗口打开| 下载CSV


2)操作集合的定义.

操作即为原子任务,HTN中以三元组进行表达.

$ \mathit{O} ={<} \mathrm{head} \mathrm{(} \mathit{a} \mathrm{),} \;\mathrm{pre} \mathrm{(} \mathit{a} \mathrm{),} \;\mathrm{eff} \mathrm{(} \mathit{a} \mathrm{)>.} $

式中:head(a)表示某一个原子任务,pre(a)和eff(a)分别表示执行原子任务时状态空间须满足的前提条件与执行后产生的影响. 对装配机器人系统的操作集合中的每个操作进行定义,详见表2.

表 2   制孔任务操作集合(部分)

Tab.2  Collection of operations for drilling tasks (partial)

操作head(a)pre(a)eff(a)
压脚压紧!Drilling_FootFastenDrilling_FootFasten=false
Drilling_Location=Drilling_HoleID.GoalLocation
Drilling_RotSpeed=Drilling_HoleID.GoalRotSpeed
Drilling_FootFasten=true
设置主轴转速!Drilling_P_AxisSet
(Drilling_HoleID.GoalRotSpeed)
Drilling_P_AxisOn=trueDrilling_RotSpeed=
Drilling_HoleID.GoalRotSpeed
进给轴进给!Drilling_F_AxisFeed
(Drilling_HoleID.GoalFeedSpeed,
Drilling_HoleID.GoalDepth)
Drilling_P_AxisOn=true Drilling_F_AxisState=OUT
Drilling_FootFasten=true
Drilling_Location=Drilling_HoleID.GoalLocation
Drilling_RotSpeed=Drilling_HoleID.GoalRotSpeed
Drilling_F_AxisState=IN
压脚缩回!Drilling_FootLooseDrilling_FootFasten=true
Drilling_F_AxisState=OUT
Drilling_FootFasten=false
Drilling_HoleID.State=true
Drilling_HoleID+=1
机器人向目标孔
移动调姿
!Drilling_Move
(Drilling_HoleID.GoalLocation)
Drilling_ProcessFlag=true Drilling_F_AxisState=OUT
Drilling_FootFasten=false
Drilling_Location=
Drilling_HoleID.GoalLocation
建站与基准测量
坐标系转换
!Drilling_Coordinate_TransDrilling_Cal0HoleID=Drilling_Cal0HoleNum+1Drilling_Cal0Flag=false
Drilling_Cal1Flag=true
产品基准孔测量!Drilling_P_Measure
(Drilling_Cal1HoleID.GoalLocation)
Drilling_Location=
Drilling_Cal1HoleID.GoalLocation
Drilling_Cal1HoleID+=1
加工孔位修正!Drilling_Hole_ModifyDrilling_Cal1HoleID=
Drilling_Cal1HoleNum+1
Drilling_Cal1Flag=false
Drilling_ProcessFlag=true

新窗口打开| 下载CSV


3)规划问题的定义.

HTN规划问题被定义为四元组:

$ P = <O, M, {{T}}_{\text{nI}} , {{s}}_{\text{0}} >. $

式中:OM分别表示上述的操作集合和方法集合,$ {{T}}_{\text{nI}} $表示需要规划的初始任务网络,$ {{s}}_{\text{0}} $表示状态空间的初始状态.

2.4. 基于JSHOP2关键词cost的任务规划工艺约束

飞机装配中加工作业量大,须考虑工艺约束情况,如刀具磨损. 装配机器人在完成一定任务量后,须执行特定动作组,如换刀、补充铆钉,才能继续执行后续任务. 部分工艺约束总结见表3.

表 3   装配机器人任务工艺约束

Tab.3  Process constraint for assembly robot task

机器人加工类型工艺限制类型工艺寿命单位
制孔制孔刀具磨损制孔数量
铣削铣削刀具磨损加工路径长度
抽芯铆接制孔刀具磨损、抽钉数量铆接孔数量

新窗口打开| 下载CSV


针对工艺约束条件,需要对加工过程中带来的损耗进行量化记录,定义达到限制条件后所采取的应对策略. 面向工艺约束的规划流程如图6所示.

图 6

图 6   面向加工工艺约束的规划流程图

Fig.6   Planning flowchart for processing constraint


JSHOP2求解器通过对原子任务设置cost字段来接收其造成的资源损耗,语法定义如下:

$ \mathit{O} \mathrm{=}< {{\mathrm{head}}} \mathrm{(} \mathit{a} \mathrm{),} \;{{\mathrm{pre}}} \mathrm{(} \mathit{a} \mathrm{),} \;{{\mathrm{eff}}} \mathrm{(} \mathit{a} \mathrm{),}\; \mathrm{cost} {>.} $

式中:cost为该原子任务的损耗. 制孔任务中末端执行器进给轴进给的原子任务示例如下.

表 4  

Tab.4  

(:operator //操作标识
(!Drilling_F_AxisFeed ?x ?p_axis ?f_axis ?foot) //操作名称“进给”及变量
((at ?x)(p_on ?paxis)(f_out ?f_axis)(foot_fasten ?foot))
//执行前提,到达位置x且主轴开启、进给轴退出、压脚压紧
((f_out ?f_axis)) //删除系统状态:进给轴退出
((f_in ?f_axis)) //添加系统状态:进给轴进给
(DrillingTool_1) //操作代价设置执行器代号,完成一个孔加工
)

新窗口打开| 下载CSV


其中将操作损耗设为DrillingTool_1,表示完成一个孔的制孔操作.

以制孔任务为例,扩展的单孔分解方法如下.

表 5  

Tab.5  

(:method //方法标识
(Drilling_Process_Hole ?hole_old ?hole_new
?tool_old ?tool_new ?foot ?f_axis ?p_axis) //方法名称“制孔”及变量

Case1 ((cost ?hole_num)(call > ?hole_num tool_life)) //条件1:刀具寿命不足
 (Drilling_Change_Tool ?tool_old ?tool_new) //调用换刀方法
Case2 ((hole_complete ?hole_old)) //条件2:正常加工情况
 ((!Drilling_Move ?hole_old ?hole_new ?foot ?f_axis)
 (!Drilling_FootFasten ?hole_new ?foot)
 (!Drilling_F_AxisFeed ?hole_new ?p_axis ?f_axis ?foot)
 //进行制孔任务分解
 (!Drilling_FootLoose ?foot)
 (!Drilling_F_AxisBack ?f_axis ?hole_new))
)

新窗口打开| 下载CSV


在JSHOP2规划结束后,输出待执行任务列表及加工设备的损耗. 将损耗与数据库中的设备寿命进行比较,若寿命充足,则直接输出结果;若不足,则在任务分解方法中添加分支Case进行规划求解.

3. 面向现场外部扰动的任务重规划

3.1. 装配现场重规划需求及总体架构

飞机装配现场,诸如碰撞警告、送钉装置卡死以及其他特殊情况,都可能影响工装或设备. 加工控制软件在执行由任务规划生成的控制指令时,若遇外部扰动,则会导致指令无法执行,系统需要重规划调整[28]. 目前,装配现场多采用离线编程技术,不支持实时自动重规划.

一种简单的重规划解决方案是将系统异常时的状态和当前未完成任务输入规划器,生成新方案. 频繁调用完整规划器应对较小的系统扰动,会降低任务执行的实时性和装配效率. 提出分层重规划架构,如图7所示[29]. 将外部影响作用的对象和范围进行分类分层管理与重规划,通过判断异常类型,尽可能保持未受影响的规划结果不变.

图 7

图 7   任务分层重规划架构

Fig.7   Hierarchical task replanning architecture


面向原子任务进行的重规划被称为计划修复,对原计划进行原子任务层级的调整. 针对某一区域层级任务执行过程中出现的异常的复杂任务规划被称为局部重规划. 面向顶层任务的重规划被称为全局重规划,通常应用于任务目标的改变或外部扰动影响过大的场景,对所有未执行任务进行重新规划.

3.2. 原子任务重规划问题

原子任务重规划问题通常由任务执行智能监测模块的指令或现场操作人员的调整引发,针对2种情况,分别构建基于工艺知识库和目标状态集的重规划方法,如图8所示.

图 8

图 8   原子任务重规划的流程图

Fig.8   Flowchart of atomic task replanning


考虑任务执行智能监控模块进行的工艺指导带来的影响,鉴于飞机装配机器人任务多为成熟的机械加工场景且有完备的工艺知识库,建立系统状态修复库. 在修复库内引用工艺知识库的内容,为每条工艺要求设定解决方案,当面对指定的工艺指令时调用执行. 修复规则的定义为

$ R = ({\mathrm{pre}}(r), {{A}}_{{r}} , {{D}}_{{r}} , {\mathrm{eff}}(r)). $

式中:pre(r)表示该修复规则适用的前提条件,$ {{A}}_{{r}} $$ {{D}}_{{r}} $分别表示增加和删除的原子任务列表,eff(r)表示该修复规则使用后的影响.

当操作人员使用加工控制软件进行调整以及遇到外部环境扰动时,系统状态变化随机且难以量化,无法预设相应的修复库,需要针对临时场景重新生成解决方案. 定义目标状态集$ {{T}}_{{S}} $为每个还未执行的原子任务在其执行前的系统状态集合,重规划旨在通过操作原子任务列表,充分利用已规划结果,使当前故障系统的状态过渡到$ {{T}}_{{S}} $中的任一状态,从而继续按原任务列表执行.

定义原任务列表中还未执行的原子任务序列为

$ < {{a}}_{{1}} , {{a}}_{{2}} , \cdots , {{a}}_{{m}} >= {{C}}_{{{\mathrm{A}}}} - {\mathrm{exe}}. $

式中:左侧列表元素为还未执行的原子任务,$ {{C}}_{\text{A}} $表示初始规划结果,exe表示初始规划结果中已经执行过的原子任务.

定义$ {{S}}_{{0}} $为出现扰动后执行中断时的系统状态,$ {{S}}_{{i}} $为执行原子任务$ {{a}}_{{i}} $后的系统状态,则有

$ {{T}}_{{{S}}_{{i}}} = {{S}}_{{i}{-1}} (i \geqslant 2),$

$ {{S}}_{{i}} = {{S}}_{{i}{-1}} \cup {\mathrm{eff}}( {{a}}_{{i}} )^+ - {\mathrm{eff}}( {{a}}_{{i}} )^{-}. $

式中:eff($ {{a}}_{{i}} $)+和eff($ {{a}}_{{i}} $)分别为执行$ {{a}}_{{i}} $后对状态空间中状态的添加与删除效果.

定义$ {{T}}_{{{S}}_{{1}}} $为由$ {{S}}_{{0}} $仅改变$ {{a}}_{{1}} $前提条件的谓词状态得到的系统状态,定义pre($ {{a}}_{{1}} $)+和pre($ {{a}}_{{1}} $)分别为原子任务$ {{a}}_{{1}} $的前提条件中谓词为真和为假的部分,则有

$ {{T}}_{{{S}}_{{1}}} = {{S}}_{{0}} \cup {\mathrm{pre}}( {{a}}_{{1}} )^+ - {\mathrm{pre}}( {{a}}_{{1}} )^{-}, $

$ {{T}}_{{S}} = \left\{{ {{S}}_{{0}} \cup {\mathrm{pre}}( {{a}}_{{1}} )^+ - {\mathrm{pre}}( {{a}}_{{1}} )^{-}, \;{{S}}_{{1}} ,\; {{S}}_{{2}} , \cdots , {{S}}_{{m}} }\right\}. $

重规划通过引入新的原子任务列表使系统由异常中断的状态$ {{S}}_{{0}} $变换为$ {{T}}_{{S}} $列表中的一项,定义$ {{S}}_{{0}} $$ {{T}}_{{S}} $各个元素中不同谓词的数目为两者的差异度,按照差异度从小到大依次将$ {{T}}_{{S}} $中的元素输入谓词推理系统. 若能得到解,则修复成功,目标规划状态即为$ {{T}}_{{{S}}_{{i}}} $,对应的动作序列为$ {{C}}_{{{\mathrm{A}}}}^{{\prime \prime }} $,修复后得到的整体动作序列为$ {{C}}_{{{\mathrm{A}}}}^{{\prime }} $,重规划解表示为

$ {{C}}_{\text{A}}^{\prime} = {\mathrm{exe}}\cup {{C}}_{\text{A}}^{\prime\prime} \cup < {{a}}_{{n}\text{+1}} , {{a}}_{{n}\text{+2}} , \cdots , {{a}}_{{m}} >. $

式中:$ {{a}}_{{n}{+1}} $为目标状态为$ {{S}}_{{n}} $时须执行的后续原子任务.

3.3. 中间层任务重规划问题和一级任务重规划问题

中间层任务重规划针对系统因内部冲突无法继续执行任务的情况,主要发生在机器人向后续加工区域移动或调整姿态时因碰撞警告停止任务. 由于加工仿真系统与实际现场存在偏差,且现场可能出现未曾考虑的设施或人员,发生碰撞事故的后果严重,须设计中间层任务重规划方法.

1)在运动过程中即将发生碰撞.

为了避免机器人末端执行器在运动过程中发生碰撞,可以在运动控制文件中添加辅助点作为独立的加工任务,在任务开头添加标识符“SUP”,与普通加工点位进行区分. 在设备完成上一任务后,先移动至辅助点,再前往下一工作点,从而绕过潜在的碰撞区域.

2)到达目标点位后调姿过程即将发生碰撞.

在机器人末端执行器到达作业位置后,须根据工艺需求调整姿态,例如制孔任务需要法向调姿使刀具垂直进给,此时机器人可能与工装产品发生碰撞. 目前,作业现场机器人基座安装在地面导轨上,对于确定的目标位置和姿态,机器人各轴的姿态解并非唯一,可以通过调节基座导轨坐标实现最优的位姿调整.

在机器人作业中,须绝对避免碰撞,重规划时应留足人工干预空间. 上述2种重规划方法须人为设置参数. 当无法确保解决碰撞时,跳过并标记未执行任务,重新生成任务列表,在完成后报告人工处理.

一级任务重规划问题指任务执行过程中目标发生变化,如对整体装配任务进行干预,包括对一级任务的增、删、改等,此时须基于任务知识库进行全局重规划.

4. 功能验证

图9所示,某型飞机活动翼面装配加工系统由加工对象、装配机器人(核心设备)、末端执行器、底座、地面导轨、控制设备等组成[30]. 功能验证过程在图1中均有所对应的模块.

图 9

图 9   飞机装配机器人加工系统的主要组成

Fig.9   Main components of aircraft assembly robot processing system    


4.1. 基于HTN的任务规划方法验证

利用JavaScript编写系统任务接收创建模块的界面如图10所示. 界面右侧第1个表格为加工任务指令列表,记录本次任务的总体信息. 表后的“更改”按钮用于选择任务列表序号,选中后更新. 第2个表格为任务指令信息表,展示选中的各一级任务的具体信息. 每个产品的任务信息通过加工信息整合技术,从产品模型中获取相应信息并形成XML文件存储.

图 10

图 10   系统的任务创建页面

Fig.10   Task creation page of system


通过页面底部“任务创建”按钮进入任务规划进程,将产品装配任务信息载入任务管理数据库,生成问题域文件后调用JSHOP2基于加工任务知识库规划求解,生成原子任务列表. 经过原子任务转译器生成NC代码,将其下发到加工控制软件,部分原子任务列表与NC代码的对应关系如表4所示.

表 4   原子任务列表与NC代码的对应关系表(部分)

Tab.4  Table of correspondence between atomic task list and NC code (partial)

原子任务NC代码说明
LinearMove(_TARGET_WX,_TARGET_WY,_TARGET_WZ,_TARGET_WNx,_TARGET_WNy,_TARGET_WNz,_TARGET_WX0)G1 G54 G64 G90 F=_GV_LinVel
X=_TARGET_WX Y=_TARGET_WY
Z=_TARGET_WZ A3=_TARGET_WNx
B3=_TARGET_WNy C3=_TARGET_WNz
X0=_TARGET_WX0
末端执行器移动到指定位置
P_AxisSet(SpindleDrill_RPM)S=SpindleDrill_RPM
M03 M15 M25
主轴启动
压脚伸出
吸尘器开启
FastForwardG64 Z12=−(SpindleFeed_OriValue+
_GV_PressureFoot_Length+SafeDisanceforDrilling)
快进到制孔起始位置
DrillingForward
(Spindle_FeedVel, DrillingDepth)
G1 G64 G90 F=Spindle_FeedVel
G64 Z12=−(SpindleFeed_OriValue+
_GV_PressureFoot_Length+DrillingDepth)
制孔进给

新窗口打开| 下载CSV


机器人加工控制软件接收完整的任务规划结果NC代码文件. 主界面(见图11)的左侧框内显示原子任务序列,用于跟踪现场加工任务的执行情况. 任务进度模块显示当前孔序号、执行任务以及工艺约束等信息. 右侧的设备信息模块显示机器人和末端执行器的实时状态.

图 11

图 11   活动翼面制孔站位加工控制软件的主界面

Fig.11   Main page of processing control software for drilling station of movable wing surface


4.2. 面向加工现场扰动的重规划方法验证

现场的任务执行智能监测模块主要监测制孔刀具状况,已部署在某飞机装配厂园区网,在接入本任务管理与规划集成系统后,用于指导重规划. 重规划的系统状态监控线程在原子任务下发至机器人加工控制软件时同步开启,检测到系统状态改变时触发.

一级任务重规划由用户在任务创建页面主动修改后进行下发. 其他被动触发情况会以弹窗的形式告知用户,要求输入重规划参数或确认.

以换刀任务为例,系统提示重规划弹窗(见图12),在点击“下发”按钮后,换刀任务控制指令下发至加工控制软件,调用修复库内换刀原子任务列表置于任务列表的最前方. 重规划测试结果在加工控制软件界面左侧以原子任务列表的形式显示(见图13).

图 12

图 12   加工任务中断后的重规划提示弹窗界面

Fig.12   Replanning prompt pop-up interface after processing task interruption


图 13

图 13   换刀重规划任务的测试结果

Fig.13   Test result of tool change replanning task


利用传统方法添加换刀任务,须停机、修改离线编程代码、更新指令后重启加工. 本文方法可在任务管理模块直接添加换刀任务,任务规划系统自动重规划并下发新任务列表,减少人工干预,提高效率.

5. 结 语

(1)根据飞机装配过程中工业机器人加工任务的特点,建立任务的分层表达框架,完成了基于HTN的任务规划知识表达,解决了缺乏标准化的通用的任务表达方法与有效的知识管理机制的问题.

(2)针对可能出现的外部扰动,设计分层的任务重规划模块,可以根据扰动的对象和范围重新生成与下发控制指令,解决了系统对外部干扰敏感、智能化水平低的问题.

目前根据现场需求,规划知识域只包含飞机装配机器人制孔、铣削加工、镗孔及抽芯铆接的内容,而现场装配机器人系统还包括扫描、涂胶、焊接、双机器人铆接等任务,未来需要进一步研究并集成.

参考文献

GISARIO A, KAZARIAN M, MARTINA F, et al

Metal additive manufacturing in the commercial aviation industry: a review

[J]. Journal of Manufacturing Systems, 2019, 53: 124- 149

DOI:10.1016/j.jmsy.2019.08.005      [本文引用: 1]

田威, 焦嘉琛, 李波, 等

航空航天制造机器人高精度作业装备与技术综述

[J]. 南京航空航天大学学报, 2020, 52 (3): 341- 352

[本文引用: 1]

TIAN Wei, JIAO Jiachen, LI Bo, et al

High precision robot operation equipment and technology in aerospace manufacturing

[J]. Journal of Nanjing University of Aeronautics and Astronautics, 2020, 52 (3): 341- 352

[本文引用: 1]

张强, 杜坤鹏, 李辉, 等

基于虚拟中心数据源的飞机装配数据集成

[J]. 浙江大学学报: 工学版, 2023, 57 (8): 1667- 1679

[本文引用: 1]

ZHANG Qiang, DU Kunpeng, LI Hui, et al

Aircraft assembly data integration based on virtual central data source

[J]. Journal of Zhejiang University: Engineering Science, 2023, 57 (8): 1667- 1679

[本文引用: 1]

何胜强

飞机数字化装配技术体系

[J]. 航空制造技术, 2010, (23): 32- 37

DOI:10.3969/j.issn.1671-833X.2010.23.003      [本文引用: 2]

HE Shengqiang

Digital assembly technology system of aircraft

[J]. Aeronautical Manufacturing Technology, 2010, (23): 32- 37

DOI:10.3969/j.issn.1671-833X.2010.23.003      [本文引用: 2]

JAYAWEERA N, WEBB P

Automated assembly of fuselage skin panels

[J]. Assembly Automation, 2007, 27 (4): 343- 355

DOI:10.1108/01445150710827122      [本文引用: 1]

何胜强. 大型飞机数字化装配技术与装备[M]. 北京: 航空工业出版社, 2013.

[本文引用: 1]

杨亚鹏, 赵安安, 刘宇驰, 等

飞机装配自动钻铆技术研究现状与展望

[J]. 机械制造与自动化, 2023, 52 (5): 1- 5

[本文引用: 1]

YANG Yapeng, ZHAO Anan, LIU Yuchi, et al

Review and prospect of automatic drilling and riveting technology for aircraft assembly

[J]. Machine Building and Automation, 2023, 52 (5): 1- 5

[本文引用: 1]

ROOKS B

Automatic wing box assembly developments

[J]. Industrial Robot, 2001, 28 (4): 297- 301

DOI:10.1108/01439910110397101     

BI S, LIANG J

Robotic drilling system for titanium structures

[J]. The International Journal of Advanced Manufacturing Technology, 2011, 54 (5): 767- 774

[本文引用: 1]

董松, 郑侃, 孟丹, 等

大型复杂构件机器人制孔技术研究进展

[J]. 航空学报, 2022, 43 (5): 627133

[本文引用: 2]

DONG Song, ZHENG Kan, MENG Dan, et al

Robotic drilling of large complex components: a review

[J]. Acta Aeronautica et Astronautica Sinica, 2022, 43 (5): 627133

[本文引用: 2]

石峰, 徐雅丽, 孙年俊, 等

薄壁筒段件机器人铣削系统

[J]. 测控技术, 2023, 42 (11): 64- 72

[本文引用: 1]

SHI Feng, XU Yali, SUN Nianjun, et al

Robot milling system for thin-walled cylinders

[J]. Measurement and Control Technology, 2023, 42 (11): 64- 72

[本文引用: 1]

肖庆东, 甘露, 尚江坤, 等

复合材料壁板单面紧固件机器人自动钻铆技术

[J]. 航空制造技术, 2019, 62 (15): 42- 48

[本文引用: 1]

XIAO Qingdong, GAN Lu, SHANG Jiangkun, et al

Robot automatic riveting technology for blind fastener of composite panel

[J]. Aeronautical Manufacturing Technology, 2019, 62 (15): 42- 48

[本文引用: 1]

沈卫东. 基于云-边-端协同的焊接智能工艺规划方法研究[D]. 济南: 山东大学, 2023.

[本文引用: 1]

SHEN Weidong. Research on intelligent welding process planning method based on cloud-edge-terminal collaboration [D]. Jinan: Shandong University, 2023.

[本文引用: 1]

陈允全, 李泷杲, 黄翔, 等

基于机器人的飞机大型结构三维自动化检测方法

[J]. 航空制造技术, 2019, 62 (10): 51- 57

[本文引用: 1]

CHEN Yunquan, LI Shuanggao, HUANG Xiang, et al

Three-dimensional automatic detection method for large-scale structure of aircraft based on robot

[J]. Aeronautical Manufacturing Technology, 2019, 62 (10): 51- 57

[本文引用: 1]

雷沛, 夏凤琴, 孙海龙, 等

面向飞机大部件的密封胶自动涂覆机器人系统研究

[J]. 航空制造技术, 2023, 66 (12): 59- 67

[本文引用: 1]

LEI Pei, XIA Fengqin, SUN Hailong, et al

Research on automatic sealant coating robot system for aircraft large components

[J]. Aeronautical Manufacturing Technology, 2023, 66 (12): 59- 67

[本文引用: 1]

DEVLIEG R. Robotic trailing edge flap drilling system [R]. Warrendale: SAE Technical Paper Series, 2009.

[本文引用: 1]

付鹏强, 苗宇航, 王义文, 等

航空领域机器人自动钻孔研究进展及关键技术综述

[J]. 智能系统学报, 2022, 17 (5): 874- 885

DOI:10.11992/tis.202106049      [本文引用: 1]

FU Pengqiang, MIAO Yuhang, WANG Yiwen, et al

A review of research progress and key technologies of robotic drilling in aviation

[J]. CAAl Transactions on Intelligent Systems, 2022, 17 (5): 874- 885

DOI:10.11992/tis.202106049      [本文引用: 1]

刘军

机器人自动制孔技术在飞机装配中的应用

[J]. 航空制造技术, 2014, (17): 104- 107

DOI:10.3969/j.issn.1671-833X.2014.17.017      [本文引用: 1]

LIU Jun

Application of robot automatic drilling technology in aircraft assembly

[J]. Aeronautical Manufacturing Technology, 2014, (17): 104- 107

DOI:10.3969/j.issn.1671-833X.2014.17.017      [本文引用: 1]

吴迪. 基于HTN规划技术在航天器上的应用研究[D]. 北京: 中国科学院大学, 2019.

[本文引用: 1]

WU Di. Application research on spacecraft based on HTN planning technology [D]. Beijing: University of Chinese Academy of Sciences, 2019.

[本文引用: 1]

董洁亮. 基于HTN的实时决策系统及相关算法研究[D]. 上海: 上海交通大学, 2014.

[本文引用: 1]

DONG Jieliang. The study on HTN-based real-time planning system and related algorithms [D]. Shanghai: Shanghai Jiao Tong University, 2014.

[本文引用: 1]

ILGHAMI O. Documentation for JSHOP2 [R]. Maryland: University of Maryland, 2006.

[本文引用: 1]

朱文杰. 飞机壁板机器人制孔系统换刀技术研究[D]. 杭州: 浙江大学, 2020.

[本文引用: 1]

ZHU Wenjie. Research on tool replacement technology of robot drilling system for aircraft panel [D]. Hangzhou: Zhejiang University, 2020.

[本文引用: 1]

李鹏程, 李明宇, 郑炜, 等

基于接触式压力脚的机器人制孔法向检测与调姿方法

[J]. 计算机集成制造系统, 2023, 29 (3): 731- 739

LI Pengcheng, LI Mingyu, ZHENG Wei, et al

Contact-type pressure foot-based detection and adjusting method of normal direction for robotic drilling system

[J]. Computer Integrated Manufacturing Systems, 2023, 29 (3): 731- 739

郭英杰, 顾钒, 董辉跃, 等

压脚压紧力作用下的机器人变形预测和补偿

[J]. 浙江大学学报: 工学版, 2020, 54 (8): 1457- 1465

[本文引用: 1]

GUO Yingjie, GU Fan, DONG Huiyue, et al

Prediction and compensation of robot deformation under pressure force of pressure foot

[J]. Journal of Zhejiang University: Engineering Science, 2020, 54 (8): 1457- 1465

[本文引用: 1]

冯昌源. 机器人自动钻铆系统离线轨迹与姿态优化方法研究[D]. 南京: 南京航空航天大学, 2020.

[本文引用: 1]

FENG Changyuan. Research on off-line trajectory and attitude optimization method of robot automatic drilling and riveting system [D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2020.

[本文引用: 1]

吴思航. 基于CAA平台的飞机装配制孔离线编程及仿真系统研究[D]. 杭州: 浙江大学, 2023.

[本文引用: 1]

WU Sihang. Research on offline programming and simulation system of aircraft assembly automatic drilling based on CAA platform [D]. Hangzhou: Zhejiang University, 2023.

[本文引用: 1]

宋沐民, 路飞, 陆娜, 等

智能空间下基于分层任务网络的服务机器人任务规划

[J]. 控制理论与应用, 2014, 31 (7): 901- 907

DOI:10.7641/CTA.2014.31386      [本文引用: 1]

SONG Mumin, LU Fei, LU Na, et al

Task planning for service robot with hierarchical task network in intelligent space

[J]. Control Theory and Applications, 2014, 31 (7): 901- 907

DOI:10.7641/CTA.2014.31386      [本文引用: 1]

HAYASHI H, CHO K, OHSUGA A

A new HTN planning framework for agents in dynamic environments

[J]. Transactions of the Japanese Society for Artificial Intelligence, 2004, 19 (4): 108- 133

[本文引用: 1]

邵天浩, 张宏军, 程恺, 等

层次任务网络中的重新规划研究综述

[J]. 系统工程与电子技术, 2020, 42 (12): 2833- 2846

DOI:10.3969/j.issn.1001-506X.2020.12.21      [本文引用: 1]

SHAO Tianhao, ZHANG Hongjun, CHENG Kai, et al

Review of replanning in hierarchical task network

[J]. Journal of Systems Engineering and Electronics, 2020, 42 (12): 2833- 2846

DOI:10.3969/j.issn.1001-506X.2020.12.21      [本文引用: 1]

薛宏, 罗群, 刘博锋, 等

大飞机活动翼面机器人自动制孔应用研究

[J]. 航空制造技术, 2019, 62 (19): 86- 91

[本文引用: 1]

XUE Hong, LUO Qun, LIU Bofeng, et al

Research on application of robot automatic drilling in large aircraft moveable airfoil

[J]. Aeronautical Manufacturing Technology, 2019, 62 (19): 86- 91

[本文引用: 1]

/