饶 毅,陆皖麟,徐丙立,邵小耀
(1.陆军装甲兵学院, 北京 100072; 2. 66132部队, 北京 100043; 3. 66133部队, 北京 100043)
维修是指通过故障现象确定故障原因,对发生故障的部件进行修理使系统恢复正常工作的过程,是提高装备使用寿命的主要方法[1-2]。如何进行维修作业规划关系到维修效率及成本的问题,如何规划好维修作业流程是当前维修的研究热点,在维修的过程中,拆装是主要的工作手段,在整个维修过程中所占时间能达到总时间的40%~60%[3]。因此,维修作业规划主要是对装配序列进行科学规划,以提高维修效率,降低维修成本。对拆装序列规划一直是国内外专家的研究热点,如文献[4-9]中分别提出了混合图、约束图、割集等基于知识等规划方法,这些方法的核心都是解决如何对零部件信息及连接关系信息进行表达和调用,用以支持拆装序列规划,但是零部件之间的连接信息多样,容易导致规划的序列产生混乱。
为保证装配的正确性,本文提出了一种基于改进结构树的维修作业规划方法,以结构树作为装配序列规划的工具,基于约束关系对结构树进行适应性改进,根据结构树得到故障零件的拆装序列及路径,针对同一零件存在多条路径的问题,构建基于时间、工具变换次数、拆装方位变换等评价指标,采用优劣距离综合评价算法选择出最优的拆装路径。
维修实质是人-产品-工具三者之间发生交互的过程,拆装序列规划是对交互发生顺序、交互方式以及交互对象进行科学合理的规划,使得维修更加高效快捷。因此,可以将维修作业分为以下几个层次:维修作业层、拆装序列层、拆装步骤层。如图1所示[9]。
维修作业层:对需要进行的维修任务进行规划,包括部件拆卸、修复和装配等;
拆卸序列层:对维修作业层规划的维修任务,涉及到得维修部件进行序列规划,得到科学可行的拆装序列,假设拆卸与组装是可逆的;
拆装步骤层:根据拆装序列,确定进行维修的步骤,将序列转化为可以进行交互的步骤。
图1 维修作业规划流程
一个产品可以分为多个部件,部件又可以分解为小部件直至分解为零件,由此产品与部件、上级部件与下级部件形成了层级关系,这种关系可以以树状的形式表示,称为结构树。
结构树(Structure Tree,ST):将待维修对象根据层级进行分解,部件分解成小组件或者零件,直到将所有的部件都分解为零件为止,由此形成的一个待维修对象的零件空间结构的树状结构称为结构树。ST反映的是待维修对象中各部件的层次关系,最顶层的节点(称为根节点)代表待维修对象,中间各节点代表的是组成待维修对象的组件和部件,最底端的节点(叶节点)代表不可再拆卸的零件,即在维修中需要进行维修或者更换的部分,结构树模型如图2所示。
图2 结构树模型
产品是由零件及零件间的约束关系组成的,约束关系表现了零件间的制约关系,包括空间运动及配合关系,可以用一下约束信息模型表示:
G={P,R}
其中:P={P1,P2,…,Pn}是零部件的集合,R={R1,R2,…,Rm}是零部件约束关系的集合。
约束信息模型如图3所示,各节点代表零部件,连线代表节点之间的约束关系,箭头方向代表两零部件之间约束的制约关系,这种制约关系代表了在拆装过程中的先后顺序。
图3 约束信息模型
本文主要针对机械产品的维修过程进行研究,针对实际维修过程中常见的一些约束关系进行定义,将维修作业的约束模型定义如下:
遮挡约束,这种关系是单向性的,两部件之间既可以有物理连接,也可以没有,但是要拆除第二个部件,必须先拆除第一个部件,从空间结构看,这种约束实质由外到里的一种遮挡关系,使得维修作业不能顺利的进行,假设部件A与部件B构成遮挡关系,且为部件A挡住部件B,那么要拆除部件B就必须先拆除部件A,如果以R(A,B)表示两部件间的约束关系,那么R(A,B)只表示部件A对部件B的遮挡约束,不能表示部件B对部件A的遮挡约束关系,部件B对部件A的遮挡约束表示为R(B,A),且R(A,B)≠R(B,A),将遮挡约束记为R1。
固定约束,也是一种单向关系,表示一个部件固定在另一个部件上,通常这种关系的维持需要依靠螺栓、螺母等紧固件(有的紧固件包含在某个部件中),这种约束关系,无论是哪个部件需要被拆除,都必须先解出这种约束关系,即无论是部件A固定部件B,还是部件B固定部件A,需要拆卸这两个部件中的任何一个,都需要先解出部件之间的固定约束关系,以R(A,B)表示部件A固定部件B这一约束关系,以R(B,A)表示部件B固定部件A的约束关系,有R(A,B)≠R(B,A),将固定约束记为R2。
套装约束,单向约束,即两部件不存在相互套装的情况,假设部件A套装在部件B上面,那么要拆卸部件B,就必须将部件A移除,以R(A,B)表示部件A套装在部件B上面这一约束,以R(B,A)表示部件B套装在部件A上的约束关系,且R(A,B)≠R(B,A),将套装约束记为R3。
连接约束,这是一种双向约束,连接约束需要通过介质建立,在拆卸过程也是对介质的解除过程,以R(A,B)表示部件A和部件B的连接约束,以R(B,A)表示部件B和部件A的连接约束,则R(A,B)=R(B,A),将连接约束记为R4。
插接约束,这是一个单向约束,表示两个部件之间的约束关系是通过两部件自身的配合维持,不需要其他如螺栓、紧固件等介质支持。且不存在两部件相互插装的关系,若部件A插装在部件B上,那么无论拆卸哪个部件,都需要先将插装约束解除才能进行下一步操作。插装约束主要针对电子设备中的电路板或者带有插口的电缆。若以R(A,B)表示部件A插接在部件B上,R(B,A)表示部件B插接部件A上,有R(A,B)≠R(B,A),将插接约束记为R5。
通过结构树能直观的展示待维修对象的层次关系,构成了维修对象的基本信息模型。能很好的表现产品的设计意图及结构信息,因此具有结构清晰、维护简单的优点,但是该结构对各部件之间的配合约束关系描述不直观,不能体现零件之间,上下级之间的约束关系,在传统结构树构建的基础上,将约束信息模型加入到结构树中,在结构树的层级连接关系上加入约束信息,结构树本身就蕴含有可行的维修作业信息,将约束信息添加到结构树中,从而根据带有约束信息的结构树进行产品的维修作业规划,得到切实可行的维修装配序列。
将表达约束信息的模型与结构树模型相结合,构建维修作业规划模型。维修作业规划模型构建方法如下:
1) 构建产品的结构树模型。结构树构建到那一层级主要根据维修的需求,在维修中,根据维修方法的不同,维修分为换件维修和修复维修,换件维修将产生故障的部分从产品中拆下,换上新的部件或零件的维修过程。这种维修方式需要将最小维修单元拆下,因此结构树的叶节点就是最小维修单元;修复维修是指产生故障的部件不需要拆卸,原位进行修理即可完成维修,这种方式下最小维修单元不需要被拆卸下来,这时结构树的叶节点为最接近最小维修单元不拆卸单元。结构树的根节点是产品,中间节点是拆卸部件,叶节点根据维修方式确定。
2) 模型层次划分。为更好的表现结构树的层级关系,便于后续的维修作业规划,需要对模型进行层次划分,产品的层次关系通常是系统—分系统—总成—部件—零件,对于结构树,构建的层次是为后续的拆装规划服务,因此,模型的层次关系划分应该以产品—拆装部件—下层拆装部件—最小拆装单元为准。可以看出,结构树的层次关系根据产品结构关系,逐层分解,直至最小拆装单元。
3) 添加约束信息。在实际的维修过程中,通常是将相关零部件作为一个整体拆卸下来,再以拆下的整体部分作为拆卸对象进行拆卸,在进行结构树的构建时,基于实际的维修过程,对结构树的构建也是基于这个思想,并根据物体的结构进行层级划分,对处于同一个层级的零部件,之间存在约束关系,不同层级之间的零部件也存在约束关系。因此,可以将零部件之间的约束信息标注在两部件之间的连线上,以约束编号作为标识标注在结构树上,不同层级之间的约束信息如图4所示,统一层级零部件的约束信息模型如图5所示。
图4 带有约束信息模型的结构树
图5 同一层级零部件的约束信息模型
从形式上对维修进行划分,可以分为整体拆卸和目标拆卸,添加了约束信息的结构树模型本身隐藏了一部分可行的拆装序列,如何将这部分拆装序列提取出来,需要进行序列规划。在进行序列规划之前,对跳跃拆卸路径的概念进行说明。
1) 跳跃拆卸路径
在有些修复性维修的目标拆卸中,基于最小拆卸的原则,对不需要拆卸的部分尽量保留,减少拆卸动量。因此在拆卸规划的过程中,可能出现跨越层级的拆卸路径,这种跨越层级的路径称为跳跃拆卸路径。如图6对P212的拆卸,按照结构树的拆卸路径为P2—P21—P212,如果作为目标拆卸,那么跳跃拆卸路径为P2—P212,即要拆卸P212,在拆卸P2以后直接拆卸,不需要对P21进行拆卸。这种方式在保证目标拆卸的同时,较少了拆卸的动量。
图6 跳跃路径规划
2) 目标拆卸序列规划
所谓目标拆卸是指在维修中,以故障点的部件或零件为拆卸目标,在尽量少的拆卸步骤下完成对目标的拆卸,不需要拆卸的部件尽量保留,因此,对于此类拆卸序列规划不一定完全按照总成—部件—组件—零件的顺序进行拆卸序列规划,只需要将拆卸目标件所必须的约束关系解除就行。而不需要将所有的零部件全部拆除。也就意味着对某个目标件的拆卸,不需要将该件的父节点拆卸下来,再解除父节点下的约束关系。而是可以直接从父节点的上一层直接到目标件,这种情况下就涉及到跨越层级进行拆卸,这中跨越层级的拆卸路径称为跳跃拆卸路径,如果不存在跨越层级的情况,就根据结构树模型直接搜索拆卸路径。拆卸算法如下:
① 指定目标拆卸单元;
② 判定拆卸目标拆卸单元父节点位置(是否为根节点);
③ 如果是,根据结构树模型中第一层级的约束信息模型对目标单元进行拆卸规划;
④ 如果不是,直接按照结构树模型搜索拆卸序列;
⑤ 判断步骤4中,是否存在跳跃拆卸路径;
⑤ 如果存在,给出基于跳跃拆卸路径下的拆卸序列;
⑦ 如果不存在,按照步骤4,进行拆卸序列规划,得到最终的拆卸序列。
算法流程图如图7所示。
3) 整体拆卸序列规划
整体拆卸序列规划,采用基于结构树模型,结合约束信息模型的顺序递归算法。以图2为例,对算法具体流程说明如下:
① 确定结构树各节点对应的拆卸单元;如产品拆卸的第一层为P1、P2等,节点P2经过拆卸后形成节点P21、P22、P23;其中父节点的拆卸优先于子节点,根节点优先于中间节点,中间节点优先于叶节点。
② 确定各拆卸层级上各节点的拆卸顺序;如确定P221、P222的拆卸顺序;
③ 由根节点开始,逐层向下至叶节点,递归形成拆卸序列。
通过以上算法能得到图2的拆卸的顺序如下:
(P1,P2,P3,P4)→(P21,P22,P23,P41,P42)→
(P221,P222,P411,P412,P413)
上述算法给出了不同层级之间的拆卸顺序,但是对于同一层级内的拆卸单元拆卸先后顺序没有指出,对于同一层级内的拆卸单元,根据约束信息模型进行序列规划。最终得到完整的拆卸序列。
图7 目标拆卸算法流程
4) 维修作业规划
维修作业过程不仅需要知道需要拆卸的零部件名称及其顺序,还需要对每一步所需使用的工具进行说明,上述基于结构树已经对维修过程中零部件的拆装序列进行了规划,但是对于每一步是否需要使用工具、使用什么工具没有说明,本节就维修过程中的工具使用进行规划。并结合序列规划形成完整的维修作业流程。
在本文的结构树中,零部件之间的连接采用的是零部件之间的约束,根据相关文献,将零部件之间的约束归为五类,因此,工具的选择可以根据约束的种类决定,例如插接约束一般不需要工具,在进行该步骤时使用双手即可;连接约束一般式螺栓、螺纹连接,这时需要起子等工具辅助拆装。根据下一步的约束类型,判断该工具是放回还是继续使用,或者更换工具,对每一步进行判定,形成工具使用序列。
将工具使用序列赋予拆装序列中,对拆装序列中的每一步添加工具使用情况,是否使用工具,使用什么工具,下一步骤工具是否需要更换或者不需要工具,都详细的添加在拆装序列中,形成完整的维修作业流程。
本文以某减速器为例对算法进行验证,图8为减速器简化模型。
1.机体;2.调整垫片;3.轴承盖1;4.骨架油封;5.键1;6轴;7.调整环;8.调整垫片;9.螺钉;10.轴承3;11.轴承盖3;12.键2;13.齿轮轴;14.油封;15.轴承盖2;16.键2;17.轴承2;18.大齿轮;19.油塞;20.油封圈;21.油尺;22.螺栓;23.螺母;24.垫片;25.销;26.螺栓;27.螺母;28.弹簧垫片;29.垫片;30.视孔盖;31.通气罩;32.螺钉;33.机盖;34.起盖螺钉;35.轴承盖4
图8 减速器简化模型
根据简化模型,可以将减速器的主要零部件有:机体,机盖,轴承,齿轮,键等,以及其他的紧固件,可以得到减速器带有约束信息模型的结构树,如图9所示。
在减速器的结构树模型中,第一层内部的零部件之间有约束关系,第2层级、第3层级第4层级内部的零部件没有约束关系,对第1层级的约束信息模型构建如图10所示。
图9 减速器结构树模型
图10 第1层级内部约束信息模型
以大齿轮受损故障为例进行拆装序列规划,大齿轮受损,需要更换大齿轮,采用目标拆卸算法进行拆卸序列规划:
父节点不是根结点,因此直接根据结构树模型进行序列规划;
不存在跳跃路径问题,按照结构树层级关系确定路径;
根据层级内部的约束信息模型确定层级内的先后顺序,第1层级内的零部件拆卸顺序为:轴承盖1→轴承盖2→轴承盖3→轴承4→机盖;
得到大齿轮拆卸的序列为:
轴承盖1→轴承盖2→轴承盖3→轴承盖4→机盖→(轴承1,轴承2)→轴→大齿轮
由于轴承1与轴承2之间无约束关系,因此两者无先后顺序,最终的拆卸序列为:
轴承盖1→轴承盖2→轴承盖3→轴承盖4→机盖→轴承1→轴承2→轴→大齿轮
由于装配与拆卸是可逆的,因此拆卸的逆序为装配的序列:
大齿轮→轴→轴承2→轴承1→机盖→轴承盖4→轴承盖3→轴承盖2→轴承盖1
根据减速器的结构树模型,轴承盖与机体之间是采用螺钉连接的,因此对于此类约束需要起子工具,机盖与与机体之间也是螺钉连接,同样需要工具,轴承与轴之间是套装约束,直接用手即可完成拆装,不需要工具,大齿轮与轴之间通过键连接,也不需要工具即可完成拆装,因此,得到齿轮受损的维修作业流程如图11所示。
图11 齿轮拆卸维修作业流程
采用带有约束信息模型的结构树对零部件的拆装路径进行规划,相对于其他规划算法,简单直观,规划的拆装路径科学可行,能直接得到每一步需要的拆卸工具,大大简化了拆装序列规划的流程,提高了规划效率,
该方法现阶段只能针对具有约束关系的产品进行序列规划,对于电子器件无法进行规划。