选择拆卸序列规划方法及装置的制作方法

文档序号:6402987阅读:231来源:国知局
专利名称:选择拆卸序列规划方法及装置的制作方法
技术领域
本发明涉及机械工程领域,更具体的,涉及一种选择拆卸序列规划方法及装置背景技术
拆卸是产品维修或回收的重要环节之一,根据拆卸操作的深度,拆卸可以分为完全拆卸与选择拆卸两类。选择拆卸序列规划,是指为了拆卸某个目标零部件,根据产品结构和装配关系等信息,按照一定顺序拆下一个或多个零部件的拆卸顺序求解过程。
可行或较优的拆卸序列是保障产品可维修性的前提。近年来随着机电产品愈来愈趋向于复杂化,传统的手工指定拆卸顺序的方法已经无法满足机械产品的维护需求,如何自动化的对特定零件进行选择拆卸序列规划逐渐成为国内外研究的热点问题。现有的研究成果大都应用在特定的机械环境下,在求解拆卸序列前通常需要获取大量的装配信息,并经常需要手动输入装配或拆卸信息后才能进行求解,算法的自动化程度不高,在通用性及后续工程应用方面具有一定的局限性。
因此,现有技术中对选择拆卸序列规划方法存在自动化程度不高和通用性差的问题。发明内容
本发明公开一种选择拆卸序列规划方法及装置,用于解决现有技术中对选择拆卸序列规划方法存在自动化程度不高和通用性差的问题。
为实现上述目的,根据本发明的第一方面,提供一种选择拆卸序列规划方法,并采用如下技术方案:
选择拆卸序列规划方法包括:通过运动规划算法判断第一装配体中所有零件的可拆卸性,并得出第一判断结果;根据所述第一判断结果对所述第一装配体进行层次化处理,得出所述所有零件的分层信息;对所述分层信息进行约束关系分析,得到所述所有零件的相互拆卸约束关系;根据所述拆卸约束关系获取所述第一装配体中指定目标拆卸零件的选择拆卸序列。
进一步地,所述通过运动规划算法判断第一装配体中所有零件的可拆卸性包括:对所述所有零件进行遍历,分别设定每一个零件为目标零件;以所述目标零件为起点设定第一搜索树,外部空间的其中一点为起点设定第二搜索树;根据选定的采样算法在搜索空间中获取采样点;根据所述采样点和预设 步长度对所述第一搜索树与所述第二搜索树分别进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第一次扩展次数;判断每次扩展后的所述第一搜索树与所述第二搜索树是否具有相同节点,并得出第二判断结果;在所述第二判断结果为所述第一搜索树与所述第二搜索树具有相同节点时,确定所述目标零件具有可拆卸性。
进一步地,在所述第二判断结果为所述第一搜索树与所述第二搜索树不具有相同节点时,所述选择拆卸序列规划方法还包括:步骤a:设定所述第一次扩展次数的第一阈值;步骤b:判断所述第一扩展次数是否超出所述第一阈值;步骤C:在所述第一扩展次数超出所述第一阈值时,新建第三搜索树;步骤d:重新选择所述采样点;步骤e:根据重新选择的所述采样点和所述预设步长对所述第三搜索树进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第二扩展次数;步骤f:判断所述第三搜索树分别与所述第一搜索树和所述第二搜索树是否均具有相同节点,并得出第三判断结果;步骤g:在所述第三判断结果为所述第三搜索树分别与所述第一搜索树和所述第二搜索树均具有相同节点时,合并所述第一搜索树、所述第二搜索树与所述第三搜索树,并确定所述目标零件具有可拆卸性。
进一步地,在所述第三判断结果为所述第三搜索树与所述第一搜索树和所述第二搜索树不是均具有相同节点时,返回执行所述步骤C至所述步骤g。
进一步地,在所述第三判断结果为所述第三搜索树与所述第一搜索树和所述第二搜索树不是均具有相同节点时,所述选择拆卸序列规划方法还包括:设定所述第二扩展次数的第二阈值;判断所述第二扩展次数是否大于所述第二阈值;在所述第二扩展次数大于所述第二阈值时,给所述第一搜索树的末梢节点、所述第二搜索树的末梢节点以及所述第三搜索树的末梢节点分 别设置一个连接值;根据选择的所述采样点与所述预设步长对所述末梢节点分别进行扩展尝试,并判断所述尝试是否成功;在所述末梢节点每一次扩展尝试失败时,将所述末梢节点的连接值进行一次递减;将递减后的连接值与随机产生的预设范围内的随机数进行对比,得出对比结果;在所述对比结果为所述递减后的连接值小于所述随机数,则终止对尝试失败的末梢节点进行扩展尝试。
进一步地,所述根据所述第一判断结果对所述第一装配体进行层次化处理包括:步骤A:获取所述第一装配体上所有能够直接拆卸的第一部分零件,并将所述第一部分零件放入第一层集合中;步骤B:将所述第一部分零件从所述第一装配体上去除,生成第二装配体;步骤C:获取所述第二装配体上的所有能够直接拆卸的第二部分零件,并将所述第二部分零件放入第二层集合中;步骤D:重复执行所述步骤A至所述步骤C,得到所述第一装配体的所有零件的分层关系。
进一步地,所述对所述分层信息进行约束关系分析,得到所述所有零件的相互拆卸约束关系包括:步骤E:任取所述分层信息中第二层中任一目标分析零件;步骤F:去除将所述第一装配体上的第一层零件,获得第二装配体;步骤G:获取所述目标分析零件的拆卸路径,将所述目标分析零件沿所述拆卸路径与所述第二装配体中所有零件进行干涉检测,获取与所述目标分析零件碰撞的零件集合Q ;
步骤H:将所述零件集合Q中的零件进行一次全组合,若集合Q中有m个零件,则该集合中全组合的个数为( " + (:;将所述全组合按照零件个数从小到大排列,依次从所述第二装配体中除去这些零件,并在每次去除后,对所述目标分析零件进行运动规划,判断所述目标分析零件的可拆卸性,直至所述目标分析零件具备可拆卸性;步骤1:将所述目标分析零件与所述步骤G中最后去除的一组零件,称为第一零件组分别用箭头连接起来;步骤J:在所述第二装配体中加入下一层零件,并去除所述第一零件组,以及与所述第一零件组连接的零件,组成第三装配体;重复步骤G至I,完成目标分析零件的拆卸约束关系分析;步骤K:对所述第二层中所有零件重复所述步骤E至所述步骤J,完成所述第二层中所有零件的拆卸约束关系分析;步骤L:对所述第一装配体中除所述第二层以外的层分别重复所述步骤E至所述步骤K,完成所述第一装配体中所有零件的拆卸约束关系的分析。
进一步地,所述根据所述约束关系获取所述目标拆卸零件的选择拆卸序列包括:根据所述拆卸约束关系生成所述第一装配体的零件拆卸约束关系图;指定所述目标拆卸零件,根据所述零件拆卸约束关系图生成所述目标拆卸零件的选择拆卸序列。
根据本发明的另外一个方面,提供一种选择拆卸序列规划装置,并采用如下技术方案:
选择拆卸序列规划装置包括:第一判断模块,用于通过运动规划算法判断第一装配体中所有零件的可拆卸性,并得出第一判断结果;层次化处理模块,用于根据所述第一判断结果对所述第一装配体进行层次化处理,得出所述所有零件的分层信息;分析模块,用于对所述分层信息进行约束关系分析,得到所述所有零件的相互拆卸约束关系;第一获取模块,用于根据所述拆卸约束关系获取所述第一装配体中指定目标拆卸零件的选择拆卸序列。
进一步地,所述第一判断模块包括:遍历模块,用于对所述所有零件进行遍历,分别设定每一个零件为目标零件;第一设定模块,用于以所述目标零件为起点设定第一搜索树,外部空间的其中一点为起点设定第二搜索树;第二获取模块,用于根据选定的采样算法在搜索空间中获取采样点;第一扩展模块,用于根据所述采样点和预设步长度对所述第一搜索树与所述第二搜索树分别进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第一次扩展次数;第二判断模块,用于判断每次扩展后的所述第一搜索树与所述第二搜索树是否具有相同节点,并得出第二判断结果;确定模块,用于在所述第二判断结果为所述第一搜索树与所述第二搜索树具有相同节点时,确定所述目标零件具有可拆卸性。
进一步地所述的选择拆卸序列规划装置还包括:第二设定模块,用于设定所述第一次扩展次数的第一阈值;第三判断模块,用于判断所述第一扩展次数是否超出所述第一阈值;新建模块,用于在所述第一扩展次数超出所述第一阈值时,新建第三搜索树;重新选择模块,用于重新选择所述采样点;第二扩展模块,用于根据重新选择的所述采样点和所述预设步长对所述第三搜索树进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第二扩展次数;第四判断模块,用于判断所述第三搜索树分别与所述第一搜索树和所述第二搜索树是否均具有相同节点,并得出第三判断结果;合并模块,用于在所述第三判断结果为所述第三搜索树分别与所述第一搜索树和所述第二搜索树均具有相同节点时,合并所述第一搜索树、所述第二搜索·树与所述第三搜索树,并确定所述目标零件具有可拆卸性。
进一步地,所述的选择拆卸序列规划装置还包括:第三设定模块,用于设定所述第二扩展次数的第二阈值;第五判断模块,用于判断所述第二扩展次数是否大于所述第二阈值;设置模块,用于在所述第二扩展次数大于所述第二阈值时,给所述第一搜索树的末梢节点、所述第二搜索树的末梢节点以及所述第三搜索树的末梢节点分别设置一个连接值;第三扩展模块,用于根据选择的所述采样点与所述预设步长对所述末梢节点分别进行扩展尝试,并判断所述尝试是否成功;递减模块,用于在所述末梢节点每一次扩展尝试失败时,将所述末梢节点的连接值进行一次递减;对比模块,用于将递减后的连接值与随机产生的预设范围内的随机数进行对比,得出对比结果;终止模块,用于在所述对比结果为所述递减后的连接值小于所述随机数,则终止对尝试失败的末梢节点进行扩展尝试。
进一步地,所述第一判断模块包括:第三获取模块,用于获取所述第一装配体上所有能够直接拆卸的第一部分零件,并将所述第一部分零件放入第一层集合中;第一去除模块,用于将所述第一部分零件从所述第一装配体上去除,生成第二装配体;第四获取模块,用于获取所述第二装配体上的所有能够直接拆卸的第二部分零件,并将所述第二部分零件放入第二层集合中;重复执行模块,用于重复执行所述获取所述第一装配体上所有能够直接拆卸的第一部分零件,并将所述第一部分零件放入第一层集合中,将所述第一部分零件从所述第一装配体上去除,生成第二装配体,获取所述第二装配体上的所有能够直接拆卸的第二部分零件,并将所述第二部分零件放入第二层集合中,得到所述第一装配体的所有零件的分层关系。
进一步地,所述第一获取模块包括:第一生成模块,用于根据所述拆卸约束关系生成所述第一装配体的零件拆卸约束关系图;第二生成模块,用于指定所述目标拆卸零件,根据所述零件拆卸约束关系图生成所述目标拆卸零件的选择拆卸序列。
基于运动规划的选择拆卸序列规划方法采用运动规划技术来判断零件的可拆卸性,而运动规划算法的实现仅需获得装配体的几何信息,不需要其他的工程语义信息,大大提高了算法的通用性;同时,该方法在应用过程中,可自动生成指定目标零件的可行拆卸序列而不需要人工交互干预,提高了算法的自动化程度。



附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1表示本发明实施例所述的选择拆卸序列规划方法主要流程图2表示本发明实施例所述的选择拆卸序列规划的一具体示例图3表示本发明实施例所述的选择拆卸序列规划方法具体流程图4表不本发明实施例所述的拆卸约束关系判断流程图5表示本发明实施例所述的装配体层次化过程示例;
图6表示本发明实施例所述的零件选择拆卸序列自动生成流程图7表示本发明实施例所述的运动规划算法极限情况实例图8表示本发明实施例所述的树节点连接值下降策略图9 (a)表示本发明实施例所述的DSAMT算法测试用例图9 (b)表示本发明实施例所述的DSAMT算法测试用例图9 (C)表示本发明实施例所述的DSAMT算法测试用例图10表示本发明实施例所述的选择拆卸序列规划装置结构示意图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
图1表示本发明实施例所述的选择拆卸序列规划方法主要流程图。
参见图1所示,选择拆卸序列规划方法包括:
SlOl:通过运动规划算法判断第一装配体中所有零件的可拆卸性,并得出第一判断结果;
S103:根据所述第一判断结果对所述第一装配体进行层次化处理,得出所述所有零件的分层信息;
S105:对所述分层信息进行约束关系分析,得到所述所有零件的相互拆卸约束关系;
S107:根据所述拆卸约束关系获取所述第一装配体中指定目标拆卸零件的选择拆卸序列。
在本实施例中,基于运动规划的选择拆卸序列规划的实现基础是判断零件在装配体处于不同阶段时的可拆卸性,即装配体在其初始状态或拆卸部分零件的状态下,装配体上的零件是否能够找到一条无干涉的拆卸路径到达装配体外部自由空间。在步骤SlOl中,采用基于快速扩展随机树(RRT)的运动规划技术对其进行判断。RRT算法是近几年发展起来的一种解决包含障碍物和微分约束路径规划问题的新型算法,在机器人路基规划问题上得到了非常广泛的应用。由于其在解决三维空间内非凸、高维约束上的优越性,该算法应用在求解零件的拆卸路径问题上也能达到非常好的效果,为自动识别零件可拆卸性提供了基础。本发明根据零件拆卸问题中障碍物数量多、形状复杂的特点,提出一种基于自适应动态多树的RRT算法(DSAMT)。传统的拆卸序列规划算法在判断零件的可拆卸性时,往往只判断在零件连接处的正交方向(如+x,+y)处是否有局部自由度,即判断在拆卸过程中,目标零件是否能够脱离装配体成为一个可活动的零件。在实际操作中,由于在零件的拆卸路径上可能会有其他零部件的干涉,该条件并不足以判断零件的可拆卸性,而采用DSAMT运动规划技术来判断零件能否达到全局自由空间,为判断装配体中零件的拆卸约束关系提供了算法基础,能够较大提升RRT算法求解零件拆卸路径的效率和成功率。针对复杂环境的运动规划,基于装配体的三维模型,分析零件间的拆卸约束关系,通过运动规划技术求解零件是否有拆卸路径。
针对一具体装配体,包含多个零件,将可直接自由拆卸的零件放入第一层,除去第一层可拆卸零件后,继续找可直接自由拆卸的零件,并将这部分零件放入第二层,如此类推的将该装配体的全部零件进行分层,具 体可按如下描述:
设Q = (Pi, i = 1,2夂]1}为待拆卸装配体中所有的零件,其中n为装配体中的零件个数,Pto为目标拆卸零件。根据零件装配深度的不同,将装配体分为若干层次,设4 =丨Pl- P:<丨为第n层零件集合,其中包含k个零件。集合Ln中的零件满足以下两个特点:1)在Llri中的零件拆卸之前,Ln中的零件无法拆卸;2)仅在Ln中的零件拆卸后,Ln+1中的零件才可完成拆卸。设Ptm为Lk中的零件,为了求解Ptm的拆卸序列S = {pj, j = I, 2 —m, Pj G Q },需要分析0-k层零件次间的拆卸约束关系,找到拆卸目标零件Ptm的相关前置条件,然后完成零件拆卸序列的求解
对于步骤S103至S105的方法,可通过图2的具体实施例进一步的阐明,图2表示本发明实施例所述的选择拆卸序列规划的一具体示例图。参见图2所示,假设埋头螺钉G出现故障需要进行更换,传统的拆卸序列算法需要提前明确该装配体的装配信息,连接信息等,然后采用图搜索算法寻找零件G的拆卸序列。本文论述的方法首先导入图示装配体的三维模型,利用运动规划算法自动分析各个零件之间存在的拆卸约束关系,例如在初始状态下,仅有螺钉D,F,E,H可以到达外部自由空间,将这四个螺钉放入第一层L1中;在将以上四个零件拆除后,零件C可以在无干涉的情况下到达外部自由空间,则L2= {C};以上两步拆卸完成后,目标拆卸零件螺钉G即可以通过运动规划技术得到一条无干涉的拆卸路径,即螺钉G属于L3。通过分析螺钉D,F,E, H与零件C的关系可知,仅有螺钉D与零件C的拆卸有关,因此目标拆卸零件G的拆卸序列应为(D — C — G)。
采用本实施例的上述技术方案,通过运动规划技术求解零件是否有拆卸路径,通过对装配体自动层次化处理得到装配体的零件拆卸约束关系图,然后自动生成零件拆卸序列,与现有的规划技术在求解拆卸序列前通常需要获取大量的装配信息,并经常需要手动输入装配或拆卸信息后才能进行求解相比,有效的提高了规划方法的通用性和自动化程度。
更具体地,选择拆卸序列规划方法可按照图3所示的步骤进行。
图3表示本发明实施例所述的选择拆卸序列规划方法具体流程参见图3所示,选择拆卸序列规划方法包括:
步骤301:导入第一装配体M1的三维几何模型。
在此步骤中,在选择拆卸序列问题中,目的是得到目标零件的拆卸序列,该问题的输入是目标装配体的三维几何模型以及指定要拆卸的零部件,输出是一个包含若干零部件编号的零件拆卸序列。
步骤303:通过运动规划技术,对承载目标零件的装配体进行自动层次化处理,生成装配体零件拆卸约束关系图。
在此步骤中,首先执行步骤a:针对第一装配体乂,通过运动规划技术,找到所有能够直接拆卸的零件P1, P2- Pi,并这些零件放入第一层集合中,L1 = (P1, P2...pj。其次执行步骤b:将第一装配体M1去除第一层的零件,形成第二装配体M2,M2 = M1-L115再次执行步骤c:针对第二装配体仏,通过运动规划技术,找到所有能够直接拆卸的零件pi+1,pi+2...pi+J,并这些零件放入第二层集合中,L1 = {pi+1, pi+2...pi+J} 0之后重复步骤b和步骤c,获得第一装配体M1的所有零件分层L1, L2...Ln。
在应用运动规划技术对零件进行拆卸路径分析的基础上,进行装配体零件拆洗约束关系图的构建。装配体零件拆卸约束关系图的生成需要两个步骤:1)装配体结构分层;2)分析装配体不同层次间零件的拆卸约束关系。按照步骤301中的方法对装配体结构进行分层。
I)装配体结构分层:设Q = (Pi, i = I, 2---n}表示装配体中所有的零件;G = 0为已处理的零件,初始值为空集。首先对集合Q中的元素做遍历,判断零件的可拆卸性。在判断目标零件Ptal 可拆卸性的过程中,障碍物集合0 = (Pi, Pi G Q , Pi ^ ptar},即除了自身外所有未拆卸的装配体零件。将具有可拆卸性的零件组成新的集合L1 = {pypj为当前环境下可以找到拆卸路径的零件},放入集合G中并记录零件的拆卸路径,供下文分析零件拆卸约束关系使用。新集合L1中的元素即为该装配体的第一层元素;同时将已放入集合G中的元素从集合Q中剔除,准备下一轮遍历。由于在算法运行的过程中,不断从集合Q中剔除元素,因此障碍物集合0也会随着计算的进行而不断减少。按照上述步骤分别得到其他层的零件,由于上文中假设已经指明装配体必定可以通过某种装配序列完成装配,因此每一轮遍历中,都至少有I个拆卸单元满足可拆卸性的条件,即每一次遍历,Q中的元素都会减少,当Q = 0时 计算结束,得到如5(a)所示的装配体结构层次图。
2)零件间拆卸约束关系图的建立:在将装配体中的各个零部件进行分层处理后,需要分析不同层次间零件的拆卸约束关系,具体流程可参见图4所示。
步骤401:目标分析零件p ;
即输入目标分析零件p的集合信息;
步骤402:判断零件p层次N设定循环技术i=N_l ;
对于Ln (第n层)的零件< ,根据零件层次的定义可知,假如将L1至Llri层中的零件全部去除的话,该零件必然具备可拆卸性,但这种方法会涉及到大量不必要拆卸的零件,效率低下。因此本方法设定循环技术,步骤如下:
判断i是否为0,如是进入步骤403,分析完成,若不是,执行步骤404。
步骤404:获取零件p拆卸路径;
步骤405:去除i层中与零件p已经有间接联系的零件。
步骤406:与第i层的零件做干涉检测并获得干涉零件集合C ;
步骤407:计算干涉零件集合中的所有组合m种,并按照零件数由多到少排列,Cj为第j种组合;
步骤408:将第N层,N+层以及Cj中的零件组成新的装配体;
步骤409:在新的装配体中对零件p施加运动规划算法;
判断运动规划算法是否成功,若是,执行步骤410,若否返回执行步骤408 ;
步骤410:更新零件p的拆卸路径;
步骤411:连接零件p与集合(C-Cj)中的零件,然后继续判断判断i是否为O。
上述实施例的技术方案是将/<保存的拆卸路径与装配体中的其他零件做干涉检测,首先仅考虑Llri中的零件,设Llri中与该拆卸路径有碰撞的零件个数为m个,在分别去掉这m个零件中的每一个零件后,对目标拆卸零件进行拆卸路径检测,障碍物集合O=IPnPiGa1Pi ^Ll-1. !丨+仏^^^“中剩余元素匕此时若能够找到影响^拆卸的元素,即通过拆卸某零件可以使目标零件P:找到拆卸路径,则算法进入Ln_2层的运算,同时将A"的拆卸路径更新为最后一次运动规划获得的拆卸路径;如果无法找到,则在m个零件中分别去掉2个零件,对目标拆卸单元进行拆卸路径检测,按照此方法循环下去,最多将进行(I + (t +- + C次检测。由于本文中论述的方法需要零件达到全局自由空间,在对零件进行运动规划时,较低层的零件很有可能会成为未知障碍物阻碍拆卸过程的完成,因此仅仅分析Llri中的拆卸约束关系是不够的。将上述操作应用于Llri至L1层,即可得到对于零件<完整的拆卸约束关系,需要指出的是,在进行Ln_2至L1层的检测时,Llri层的相关约束零件以及低层中与之直接或间接连接的所有零件都将被剔除,这将使运算量大大减少。将具有拆卸约束关系的零件用单向箭头连接,箭头由较低的层指向较高的层,当且仅当所有指向K的箭头连接的零件被拆卸后,<才具有可拆卸性。当装配体中所有的零件由低层到高层逐一分析完成后,得到如5(b)所示的零件间拆卸约束关系图。
步骤305:生成指定零件的拆卸序列。
由于在对装配体间的零部件进行拆卸约束关系分析的过程中,当拆卸零件寻找到无干涉拆卸路径后就会结束当前循环进入下一层零件的分析,因此在得到的拆卸约束关系图中,针对某个目标零部件,逐层寻找与该零件直接或间接相连的零件即可完成该目标零件的拆卸序列。
自动生成拆卸序列的流程如图6所示:
步骤601:目标拆卸零件p ;
步骤602:判定零件层次n初始化序列S= { (p) },设定循环计数i=n_l;
在本步骤中,设目标零件W为第n层零件,集合S储存最终生成的拆卸序列,首先令S = Up;')}
判断i是否为0,若是执行步骤603,输出序列S,若否,执行步骤604。
步骤604:在第i层选择所有与S中零件相关联的零件。
在Llri中寻找所有与<相连的零件= {(pr\pT'---PT' )1 ,将其插入S的前端,使.狀1,…(1MaI5
步骤605:将第i层中选择的零件放到序列S的前端。
随后在Ln_2中寻找所有与S中元素相连的零件并插入S的前端,该运算反复进行到1^,得到的5={(/ ../^),(片,烤…片)...(夕广,/^…0,沉)}即为目标零件《的拆卸序列,括号“ 0 ”中的零件可以按照任意顺序进行拆卸。
对上述实施例中采用基于快速扩展随机树(RRT)的运动规划技术对其进行判断。采用基于快速扩展随机树(RRT)的运动规划技术对其进行判断。在描述RRT算法时,首先确定搜索目标的起始位置与目标位置,通过在三维空间中的随机采样过程,确定搜索树的伸展方向。在树的生长过程中,通过限制生长的步长以及与环境中障碍物的碰撞干涉检测,逐步接近目标位置。在运动规划算法中采用了形位空间的概念,对于三维空间中的装配体零件,由于零件 P有三个平动自由度和三个转动自由度,故求解空间是一个六维空间,用Cspace表示。设(Xpyi^i)和(a。Pi, Yi)分别表示第i个零件的位置向量与欧拉角转动向量,则有為,了.)4f = (g,,/=丨,2…6)r_。设 O = 1i, i = 1,2 — 111}表示拆卸该零件时三维空间里除该零件外所有其他零件,在求解该零件的拆卸路径时,这些零件将被视作求解空间中的障碍物,m表示拆卸该零件时,装配体中剩余的零件个数。对于指定的零件P,障碍区域Ca = Ui e C. mn.:P(q)rs° * 0},表示零件P与障碍物0发生碰撞的所有形位空间的集合。Cf_ = Cspara-Ctjbs表示零件在不与其他零件发生碰撞干涉的前提下,能够到达的所有形位空间。因此,求解零件P的可拆卸性可以抽象为在零件P的Cftra空间内,找到一条连续的路径,从该零件的初始装配位置到达外部自由空间。
针对拆卸问题中零部件数量繁多,且形状各异的情况,原始的RRT算法虽然能够通过不断的尝试得到问题的解,但一个显著的问题是算法的效率低。在实际操作过程中,求解零件的拆卸路径平均需要运行几十次甚至更多次的计算才可以得到解。目前针对基本RRT算法的改进方法虽然在一定程度上提高了算法的性能,但是都只针对某种特定的应用环境而提出,在求解复杂结构条件下的拆卸路径时不具备通用性,效果也不理想。本发明根据零件拆卸问题中障碍物数量多、形状复杂的特点,提出一种基于自适应动态多树的RRT算法(DSAMT),能够较大提升RRT算法求解零件拆卸路径的效率和成功率。
其一,将传统RRT中的单树模式改进为多树模式。
以所述目标零件为起点设定第一搜索树,外部空间的其中一点为起点设定第二搜索树;根据选定的采样算法在搜索空间中获取采样点;根据所述采样点和预设步长度对所述第一搜索树与所述第二搜索树分别进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第一次扩展次数;判断每次扩展后的所述第一搜索树与所述第二搜索树是否具有相同节点,并得出第二判断结果;在所述第二判断结果为所述第一搜索树与所述第二搜索树具有相同节点时,确定所述目标零件具有可拆卸性。
根据上述的技术方案,扩展多次以后,仍然没有找到第一搜索树与第二搜索树具有的相同节点,则进行动态添加新的搜索树。步骤如下:
步骤a:设定所述第一次扩展次数的第一阈值;
步骤b:判断所述第一扩展次数是否超出所述第一阈值;
步骤C:在所述第一扩展次数超出所述第一阈值时,新建第三搜索树;
步骤d:重新选择所述采样点;
步骤e:根据重新选择的所述采样点和所述预设步长对所述第三搜索树进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第二扩展次数;
步骤f:判断所述第三搜索树分别与所述第一搜索树和所述第二搜索树是否均具有相同节点,并得出第三判断结果;
步骤g:在所述第三判断结果为所述第三搜索树分别与所述第一搜索树和所述第二搜索树均具有相同节点时,合并所述第一搜索树、所述第二搜索树与所述第三搜索树,并确定所述目标零件具有可拆卸性。
本实施例的上述技术方案,是对于零件数量众多的拆卸序列问题而言,一个拆卸序列的生成需要计算若干个零件的拆卸路径,对于拆卸序列中间的零件而言,由于在拆卸过程中某些零件已经被移除了,故障碍物的集合是不可知的,若依然按照事先分析的数量来安排搜索树,会造成计算机资源的浪费,降低算法效率。而本发明的基于动态多树的RRT算法,在算法的执行前期只构建一个搜索树,随着搜索过程的一步步推进,根据搜索树扩张失败的情况动态添加新的搜索树,在能够满足算法功能需求的前提下,尽可能降低计算资源的占用,提闻计算效 率。
其二,根据搜索进程动态调整树节点的连接可能性。
在多次扩展之后,搜索树扩张失败后,动态调整树节点的连接可能性,具体方法为:设定所述第二扩展次数的第二阈值;判断所述第二扩展次数是否大于所述第二阈值;在所述第二扩展次数大于所述第二阈值时,给所述第一搜索树的末梢节点、所述第二搜索树的末梢节点以及所述第三搜索树的末梢节点分别设置一个连接值;根据选择的所述采样点与所述预设步长对所述末梢节点分别进行扩展尝试,并判断所述尝试是否成功;在所述末梢节点每一次扩展尝试失败时,将所述末梢节点的连接值进行一次递减;递减后的连接值与随机产生的预设范围内的随机数进行对比,得出对比结果;在所述对比结果为所述递减后的连接值小于所述随机数,则终止对尝试失败的末梢节点进行扩展尝试。
传统的RRT算法在处理节点连接时采用的是就近连接的方法,即选择距离采样点最近的树节点进行连接,然后判断该连接路径是否与障碍物干涉。在如图7所示的极限情况下,节点A等位于弧顶的节点显然已经不具备继续扩展的价值,而算法在区域B中进行采样的几率又非常大,如果按照传统的RRT算法,该算法将会在以上点处进行大量的无意义尝试,这种计算方法必然会对算法的效率产生很大的影响。而由于RRT算法非完备性的特点,算法在运行前会设定总尝试扩展次数的边界,当尝试扩展的次数大于边界值时,算法将会返回为失败,因此本发明提出了一种搜索树节点自适应的方法,给每一个节点设定连接值a,a的初始值为I。如图8所示,该节点每一次失败的连接尝试都会导致a呈分段函数式(I)的形式递减,在每一次采样后,都会通过随机数生成器随机产生一个位于区间(O,I)的随机数,若该随机数大于a,则不对该节点进行扩展尝试。采用式(I)来设定a的递减策略,当失败的尝试次数在O到N1之间时,保持节点的连接值为1,可以避免早期搜索中一些不可避免的失败扩张对该连接值造成的影响;而在经过若干次尝试后,在逐渐判定该点为扩展死点的情况下,又可以迅速降低连接值的数值,节约计算资源;最后当失败次数超过N2时,保持节点的连接值b,可以使该节点具备一定的可连接性,保留该点在未来的计算中可能重新被激活的可能。在图7的例子中,当弧顶的节点逐渐被判断为死点的情况下,将优先发展节点C。
针对上述给出的动态调整树节点的连接可能性的算法,现给出实施例进行测试,如图9a至图9c,当N1=5,N2=30, b=0.2时,该算法与传统RRT算法的数据对比如表I所示,其中迭代上限1500,每种算法运算10次,结果取平均值。
权利要求
1.一种选择拆卸序列规划方法,其特征在于,包括: 通过运动规划算法判断第一装配体中所有零件的可拆卸性,并得出第一判断结果; 根据所述第一判断结果对所述第一装配体进行层次化处理,得出所述所有零件的分层信息; 对所述分层信息进行约束关系分析,得到所述所有零件的相互拆卸约束关系; 根据所述拆卸约束关系获取所述第一装配体中指定目标拆卸零件的选择拆卸序列。
2.如权利要求1所述的选择拆卸序列规划方法,其特征在于,所述通过运动规划算法判断第一装配体中所有零件的可拆卸性包括: 对所述所有零件进行遍历,分别设定每一个零件为目标零件; 以所述目标零件为起点设定第一搜索树,外部空间的其中一点为起点设定第二搜索树; 根据选定的采样算法在搜索空间中获取采样点; 根据所述采样点和预设步长度对所述第一搜索树与所述第二搜索树分别进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第一次扩展次数; 判断每次扩展后的所述第一搜索树与所述第二搜索树是否具有相同节点,并得出第二判断结果; 在所述第二判断结果为所述第一搜索树与所述第二搜索树具有相同节点时,确定所述目标零件具有可拆卸性。
3.如权利要求2所述的选择拆卸序列规划方法,其特征在于,在所述第二判断结果为所述第一搜索树与所述第二搜索树不具有相同节点时,所述选择拆卸序列规划方法还包括: 步骤a:设定所述第一次扩展次数的第一阈值; 步骤b:判断所述第一扩展次数是否超出所述第一阈值; 步骤c:在所述第一扩展次数超出所述第一阈值时,新建第三搜索树; 步骤d:重新选择所述采样点; 步骤e:根据重新选择的所述采样点和所述预设步长对所述第三搜索树进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第二扩展次数; 步骤f:判断所述第三搜索树分别与所述第一搜索树和所述第二搜索树是否均具有相同节点,并得出第三判断结果; 步骤g:在所述第三判断结果为所述第三搜索树分别与所述第一搜索树和所述第二搜索树均具有相同节点时,合并所述第一搜索树、所述第二搜索树与所述第三搜索树,并确定所述目标零件具有可拆卸性。
4.如权利要求3所述的选择拆卸序列规划方法,其特征在于,在所述第三判断结果为所述第三搜索树与所述第一搜索树和所述第二搜索树不是均具有相同节点时,返回执行所述步骤c至所述步骤g。
5.如权利要求3或4所述的选择拆卸序列规划方法,其特征在于,在所述第三判断结果为所述第三搜索树与所述第一搜索树和所述第二搜索树不是均具有相同节点时,所述选择拆卸序列规划方法还包括: 设定所述第二扩展次数的第二阈值;判断所述第二扩展次数是否大于所述第二阈值; 在所述第二扩展次数大于所述第二阈值时,给所述第一搜索树的末梢节点、所述第二搜索树的末梢节点以及所述第三搜索树的末梢节点分别设置一个连接值; 根据选择的所述采样点与所述预设步长对所述末梢节点分别进行扩展尝试,并判断所述尝试是否成功; 在所述末梢节点每一次扩展尝试失败时,将所述末梢节点的连接值进行一次递减;将递减后的连接值与随机产生的预设范围内的随机数进行对比,得出对比结果;在所述对比结果为所述递减后的连接值小于所述随机数,则终止对尝试失败的末梢节点进行扩展尝试。
6.如权利要求1所述的选择拆卸序列规划方法,其特征在于,所述根据所述第一判断结果对所述第一装配体进行层次化处理包括: 步骤A:获取所述第一装配体上所有能够直接拆卸的第一部分零件,并将所述第一部分零件放入第一层集合中; 步骤B:将所述第一部分零件从所述第一装配体上去除,生成第二装配体; 步骤C:获取所述第二装配体上的所有能够直接拆卸的第二部分零件,并将所述第二部分零件放入第二层集合中; 步骤D:重复执行所述步骤A至所述步骤C,得到所述第一装配体的所有零件的分层关系O
7.如权利要求1所述的选择拆卸序列规划方法,其特征在于,所述对所述分层信息进行约束关系分析,得到所述所有零件的相互拆卸约束关系包括: 步骤E:任取所述分层信息中第二层中任一目标分析零件; 步骤F:去除将所述第一装配体上的第一层零件,获得第二装配体;步骤G:获取所述目标分析零件的拆卸路径,将所述目标分析零件沿所述拆卸路径与所述第二装配体中所有零件进行干涉检测,获取与所述目标分析零件碰撞的零件集合Ω ;步骤H:将所述零件集合Ω中的零件进行一次全组合,若集合Ω中有m个零件,则该集合中全组合的个数为( ..+ (:;将所述全组合按照零件个数从小到大排列,依次从所述第二装配体中除去这些零件,并在每次去除后,对所述目标分析零件进行运动规划,判断所述目标分析零件的可拆卸性,直至所述目标分析零件具备可拆卸性; 步骤1:将所述目标分析零件与所述步骤G中最后去除的一组零件,称为第一零件组分别用箭头连接起来; 步骤J:在所述第二装配体中加入下一层零件,并去除所述第一零件组,以及与所述第一零件组连接的零件,组成第三装配体;重复步骤G至I,完成目标分析零件的拆卸约束关系分析; 步骤K:对所述第二层中所有零件重复所述步骤E至所述步骤J,完成所述第二层中所有零件的拆卸约束关系分析; 步骤L:对所述第一装配体中除所述第二层以外的层分别重复所述步骤E至所述步骤K,完成所述第一装配体中所有零件的拆卸约束关系的分析。
8.如权利要求1所述的选择拆卸序列规划方法,其特征在于,所述根据所述约束关系获取所述目标拆卸零件的选择拆卸序列包括:根据所述拆卸约束关系生成所述第一装配体的零件拆卸约束关系图; 指定所述目标拆卸零件,根据所述零件拆卸约束关系图生成所述目标拆卸零件的选择拆卸序列。
9.一种选择拆卸序列规划装置,其特征在于,包括: 第一判断模块,用于通过运动规划算法判断第一装配体中所有零件的可拆卸性,并得出第一判断结果; 层次化处理模块,用于根据所述第一判断结果对所述第一装配体进行层次化处理,得出所述所有零件的分层信息; 分析模块,用于对所述分层信息进行约束关系分析,得到所述所有零件的相互拆卸约束关系; 第一获取模块,用于根据所述拆卸约束关系获取所述第一装配体中指定目标拆卸零件的选择拆卸序列。
10.如权利要求9所述的选择拆卸序列规划装置,其特征在于,所述第一判断模块包括: 遍历模块,用于对所述所有零件进行遍历,分别设定每一个零件为目标零件; 第一设定模块,用于以所述目标零件为起点设定第一搜索树,外部空间的其中一点为起点设定第二搜索树; 第二获取模块,用于根据选定的采样算法在搜索空间中获取采样点; 第一扩展模块,用于根据所 述采样点和预设步长度对所述第一搜索树与所述第二搜索树分别进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第一次扩展次数; 第二判断模块,用于判断每次扩展后的所述第一搜索树与所述第二搜索树是否具有相同节点,并得出第二判断结果; 确定模块,用于在所述第二判断结果为所述第一搜索树与所述第二搜索树具有相同节点时,确定所述目标零件具有可拆卸性。
11.如权利要求10所述的选择拆卸序列规划装置,其特征在于,还包括: 第二设定模块,用于设定所述第一次扩展次数的第一阈值; 第三判断模块,用于判断所述第一扩展次数是否超出所述第一阈值; 新建模块,用于在所述第一扩展次数超出所述第一阈值时,新建第三搜索树; 重新选择模块,用于重新选择所述采样点; 第二扩展模块,用于根据重新选择的所述采样点和所述预设步长对所述第三搜索树进行多次扩展,并记下每次扩展后对应的扩展次数,设定为第二扩展次数; 第四判断模块,用于判断所述第三搜索树分别与所述第一搜索树和所述第二搜索树是否均具有相同节点,并得出第三判断结果; 合并模块,用于在所述第三判断结果为所述第三搜索树分别与所述第一搜索树和所述第二搜索树均具有相同节点时,合并所述第一搜索树、所述第二搜索树与所述第三搜索树,并确定所述目标零件具有可拆卸性。
12.如权利要求11所述的选择拆卸序列规划装置,其特征在于,还包括: 第三设定模块,用于设定所述第二扩展次数的第二阈值; 第五判断模块,用于判断所述第二扩展次数是否大于所述第二阈值;设置模块,用于在所述第二扩展次数大于所述第二阈值时,给所述第一搜索树的末梢节点、所述第二搜索树的末梢节点以及所述第三搜索树的末梢节点分别设置一个连接值;第三扩展模块,用于根据选择的所述采样点与所述预设步长对所述末梢节点分别进行扩展尝试,并判断所述尝试是否成功; 递减模块,用于在所述末梢节点每一次扩展尝试失败时,将所述末梢节点的连接值进行一次递减; 对比模块,用于将递减后的连接值与随机产生的预设范围内的随机数进行对比,得出对比结果; 终止模块,用于在所述对比结果为所述递减后的连接值小于所述随机数,则终止对尝试失败的末梢节点进行扩展尝试。
13.如权利要求9所述的选择拆卸序列规划装置,其特征在于,所述第一判断模块包括: 第三获取模块,用于获取所述第一装配体上所有能够直接拆卸的第一部分零件,并将所述第一部分零件放入第一层集合中; 第一去除模块,用于将所述第一部分零件从所述第一装配体上去除,生成第二装配体; 第四获取模块,用于获取所述第二装配体上的所有能够直接拆卸的第二部分零件,并将所述第二部分零件放入第二层集合中; 重复执行模块,用于重复执行所述获取所述第一装配体上所有能够直接拆卸的第一部分零件,并将所述第一部分零件放入第一层集合中,将所述第一部分零件从所述第一装配体上去除,生成第二装配体,获取所述第二装配体上的所有能够直接拆卸的第二部分零件,并将所述第二部分零件放入第二层集合中,得到所述第一装配体的所有零件的分层关系。
14.如权利要求9所述的选择拆卸序列规划装置,其特征在于,所述第一获取模块包括: 第一生成模块,用于根据所述拆卸约束关系生成所述第一装配体的零件拆卸约束关系图; 第二生成模块,用于指定所述目标拆卸零件,根据所述零件拆卸约束关系图生成所述目标拆卸零件的选择拆卸序列。
全文摘要
本发明公开一种选择拆卸序列规划方法及装置,用于解决现有技术中对选择拆卸序列规划方法存在自动化程度不高和通用性差的问题。该规划方法包括通过运动规划算法判断第一装配体中所有零件的可拆卸性,并得出第一判断结果;根据所述第一判断结果对所述第一装配体进行层次化处理,得出所述所有零件的分层信息;对所述分层信息进行约束关系分析,得到所述所有零件的相互拆卸约束关系;根据所述拆卸约束关系获取所述第一装配体中指定目标拆卸零件的选择拆卸序列。采用本发明的技术方案,使得运动规划算法的实现仅需获得装配体的三维几何模型信息,可自动生成指定目标零件的可行拆卸序列,大大提高了算法的通用性和自动化程度。
文档编号G06F17/50GK103235862SQ20131017300
公开日2013年8月7日 申请日期2013年5月10日 优先权日2013年5月10日
发明者刘检华, 赵柏萱, 史建成, 刘少丽, 刘佳顺 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1