CN115122011A - 焊接轨迹的确定方法及装置 - Google Patents

焊接轨迹的确定方法及装置 Download PDF

Info

Publication number
CN115122011A
CN115122011A CN202210615237.5A CN202210615237A CN115122011A CN 115122011 A CN115122011 A CN 115122011A CN 202210615237 A CN202210615237 A CN 202210615237A CN 115122011 A CN115122011 A CN 115122011A
Authority
CN
China
Prior art keywords
edge
welding
seed
reference surface
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210615237.5A
Other languages
English (en)
Inventor
李蓓蓓
刘昌森
宋智广
解恒星
张灵山
王超
郭瑞军
石岳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing CHL Robotics Co ltd
Original Assignee
Beijing CHL Robotics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing CHL Robotics Co ltd filed Critical Beijing CHL Robotics Co ltd
Priority to CN202210615237.5A priority Critical patent/CN115122011A/zh
Publication of CN115122011A publication Critical patent/CN115122011A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K37/00Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
    • B23K37/02Carriages for supporting the welding or cutting element
    • B23K37/0252Steering means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Robotics (AREA)
  • Numerical Control (AREA)

Abstract

本申请公开了一种焊接轨迹的确定方法及装置,本申请方法包括获取第一焊接边对应的拾取列表,第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,拾取列表包含在拾取第一焊接边时穿过的所有面;将拾取列表中的面分为位于焊接零件上的第一集合和不属于焊接零件上的第二集合;根据第一集合、第二集合确定第一焊接边的第一参考面和第二参考面;根据第一焊接边、第一参考面、第二参考面确定焊接边集合、第一参考面集合、第二参考面集合;根据焊接边集合、第一参考面集合、第二参考面集合确定焊接轨迹点的位置和姿态。本申请解决现有基于示教法生成焊接轨迹的方式效率低的问题。

Description

焊接轨迹的确定方法及装置
技术领域
本申请涉及机器人技术领域,具体而言,涉及一种焊接轨迹的确定方法及装置。
背景技术
在机械制造领域,特别是汽车制造业中,焊接工艺对工人的技能和经验都有很高的要求。一般的焊接工作环境尘土较大,安全性较差。而使用机器人代替人工不仅可以完成持续稳定的焊接作业,而且对复杂零件的焊接也没有太高的技术门槛。
传统的机器人焊接,一般采用示教的方法生成焊接轨迹,这种方式对工人的工艺水平有一定要求,而且效率较低。
发明内容
本申请的主要目的在于提供一种焊接轨迹的确定方法及装置,解决传统的基于示教法生成焊接轨迹的方式效率低的问题。
为了实现上述目的,根据本申请的第一方面,提供了一种焊接轨迹的确定方法。
根据本申请的焊接轨迹的确定方法包括:获取第一焊接边对应的拾取列表,所述第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,所述拾取列表包含在拾取所述第一焊接边时穿过的所有面;将所述拾取列表中的面分为两个集合,第一集合为位于所述焊接零件上的面,第二集合为不属于所述焊接零件上的面;根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面,所述第一参考面和所述第二参考面为所述第一焊接边对应的两个焊接面;根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,所述焊接边集合为包含所述第一焊接边的一组连续边,第一参考面集合和所述第二参考面集合为所述焊接边集合中每个边分别对应的两个焊接面组成的集合;根据所述焊接边集合、所述第一参考面集合、所述第二参考面集合确定焊接轨迹点的位置和姿态。
可选的,所述根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面包括:若所述第一集合为空,且所述第二集合不为空,则根据所述第二集合确定所述第一焊接边的第二参考面,根据所述第一焊接边的邻接面集合确定所述第一焊接边的第一参考面;若所述第一集合不为空,且所述第二集合不为空,则根据所述第一集合确定所述第一焊接边的第一参考面,根据所述第二集合确定所述第一焊接边的第二参考面;若所述第一集合不为空,且所述第二集合为空,则根据所述第一焊接边的邻接面集合确定第一焊接边的第一参考面和所述第一焊接边的第二参考面。
可选的,所述根据所述第二集合确定所述第一焊接边的第二参考面,根据所述第一焊接边的邻接面集合确定所述第一焊接边的第一参考面包括:将所述第二集合中的第一个面确定为所述第一焊接边的第二参考面;计算当前拾取点在所述第一焊接边的第二参考面上的法线,以及当前拾取点在所述第一焊接边的邻接面集合中的每个邻接面上的法线,将两个法线夹角最小时对应的邻接面确定为所述第一焊接边的第一参考面,所述当前拾取点为用户拾取的所述第一焊接边上的点。
可选的,所述根据所述第一集合确定所述第一焊接边的第一参考面,根据所述第二集合确定所述第一焊接边的第二参考面包括:将所述第一集合中的第一个面确定为所述第一焊接边的第一参考面;将所述第二集合中的第一个面确定为所述第一焊接边的第二参考面。
可选的,所述根据所述第一焊接边的邻接面集合确定第一焊接边的第一参考面和所述第一焊接边的第二参考面包括:选择所述第一焊接边的邻接面集合中的前两个邻接面分别确定为所述第一焊接边的第一参考面和所述第一焊接边的第二参考面。
可选的,所述根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合包括:根据所述第一焊接边、所述第一参考面确定所述焊接边集合、所述第一参考面集合;根据所述焊接边集合、所述第二参考面确定所述第二参考面集合。
可选的,所述根据所述第一焊接边、所述第一参考面确定所述焊接边集合、所述第一参考面集合包括:将所述第一焊接边作为第一初始种子边,所述第一焊接边的方向作为初始查找方向,初始查找方向为正向,所述第一焊接边的第一参考面作为初始第一种子面,按照初始查找方向,从所述第一初始种子边的种子点开始,根据所述焊接零件的拓扑结构,通过递归方式查找出所述焊接零件上的其它的种子边,所述第一初始种子边的种子点为种子边的终点;从所述第一初始种子边开始,根据当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的邻接面上的法向量之间的第一夹角,通过递归方式查找出所述焊接零件上的其它第一种子面;将所有的种子边组成的集合确定为所述焊接边集合,将所有的第一种子面组成的集合确定为所述第一参考面集合。
可选的,若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面不在同一个焊接零件上,根据所述焊接边集合、所述第二参考面确定第二参考面集合包括:将所述焊接边集合中的第一焊接边的下一条边作为第二初始种子边,所述第一焊接边的第二参考面作为初始第二种子面,从所述初始第二种子面的开始,根据种子边的中点到第二种子面的所有的邻接面的距离,通过递归方式查找出除所述初始第二种子面之外的第二种子面;将所有的第二种子面组成的集合确定为所述第二参考面集合。
可选的,若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面在同一个焊接零件上,根据所述焊接边集合、所述第二参考面确定第二参考面集合包括:将所有的种子边的除了其第一种子面之外的另一邻接面组成的集合确定为所述第二参考面集合。
可选的,所述根据所述焊接零件的拓扑结构,通过递归方式查找出所述焊接零件上的其它的种子边包括:根据所述焊接零件的拓扑结构查找当前种子边的种子点除了当前种子边之外的所有邻接边,其中,若当前查找方向是正向,则将种子边的起点作为种子点,若当前查找方向是反向,则将种子边的终点作为种子点;计算所述当前种子边的种子点分别在所述当前种子边、除了当前种子边之外的每个邻接边上的切向量之间的第二夹角;将所述第二夹角等于0度或180度时所对应的邻接边确定为下一种子边,其中,若当前种子点是下一种子边的起点,则下一次的查找方向为正向,若当前种子点是下一种子边的终点,则下一次的查找方向为反向。
可选的,所述根据当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的邻接面上的法向量之间的第一夹角,通过递归方式查找出所述焊接零件上的其它第一种子面包括:计算当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的每个邻接面上的法向量之间的第一夹角;将所述第一夹角中角度最小的时所对应的邻接面确定为下一个第一种子面,焊接边集合中当前种子边的下一条边作为新的种子边。
可选的,所述根据种子边的中点到第二种子面的所有的邻接面的距离,通过递归方式查找出除所述初始第二种子面之外的第二种子面包括:计算当前种子边的中点分别到所述当前第二种子面的每个邻接面的距离;将所述距离中值最小时所对应的邻接面确定为下一第二种子面,焊接边集合中当前种子边的下一条边作为新的种子边。
可选的,选择所述第一焊接边的邻接面集合中的前两个邻接面分别确定为所述第一焊接边的第一参考面和所述第一焊接边的第二参考面,还包括:若所述邻接面集合中只包含一个面,则输出拾取所述第一焊接边错误的提示。
可选的,所述根据所述焊接边集合、所述第一参考面集合、所述第二参考面集合确定焊接轨迹点的位置和姿态包括:遍历所述焊接边集合,根据焊接轨迹点的步长,离散所述焊接边集合中的每条边,确定所述焊接轨迹点的位置;根据所述焊接轨迹点在所述焊接边集合中的相应边的切线方向确定所述焊接轨迹点的x轴方向;根据所述焊接轨迹点分别在所述第一参考面集合、所述第二参考面集合中每个面上的法向量确定所述焊接轨迹点的z轴方向;根据所述x轴方向和所述z轴方向确定所述焊接轨迹点的y轴方向。
为了实现上述目的,根据本申请的第二方面,提供了一种焊接轨迹的确定装置。
根据本申请的焊接轨迹的确定装置包括:获取单元,用于获取第一焊接边对应的拾取列表,所述第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,所述拾取列表包含在拾取所述第一焊接边时穿过的所有面;分组单元,用于将所述拾取列表中的面分为两个集合,第一集合为位于所述焊接零件上的面,第二集合为不属于所述焊接零件上的面;第一确定单元,用于根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面,所述第一参考面和所述第二参考面为所述第一焊接边对应的两个焊接面;第二确定单元,用于根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,所述焊接边集合为包含所述第一焊接边的一组连续边,第一参考面集合和所述第二参考面集合为所述焊接边集合中每个边分别对应的两个焊接面组成的集合;第三确定单元,用于根据所述焊接边集合、所述第一参考面集合、所述第二参考面集合确定焊接轨迹点的位置和姿态。
可选的,所述第一确定单元包括:第一确定模块,用于若所述第一集合为空,且所述第二集合不为空,则根据所述第二集合确定所述第一焊接边的第二参考面,根据所述第一焊接边的邻接面集合确定所述第一焊接边的第一参考面;第二确定模块,用于若所述第一集合不为空,且所述第二集合不为空,则根据所述第一集合确定所述第一焊接边的第一参考面,根据所述第二集合确定所述第一焊接边的第二参考面;第三确定模块,用于若所述第一集合不为空,且所述第二集合为空,则根据所述第一焊接边的邻接面集合确定第一焊接边的第一参考面和所述第一焊接边的第二参考面。
可选的,所述第一确定模块,还用于:将所述第二集合中的第一个面确定为所述第一焊接边的第二参考面;计算当前拾取点在所述第一焊接边的第二参考面上的法线,以及当前拾取点在所述第一焊接边的邻接面集合中的每个邻接面上的法线,将两个法线夹角最小时对应的邻接面确定为所述第一焊接边的第一参考面,所述当前拾取点为用户拾取的所述第一焊接边上的点。
可选的,所述第二确定模块,还用于:将所述第一集合中的第一个面确定为所述第一焊接边的第一参考面;将所述第二集合中的第一个面确定为所述第一焊接边的第二参考面。
可选的,所述第三确定模块,还用于:选择所述第一焊接边的邻接面集合中的前两个邻接面分别确定为所述第一焊接边的第一参考面和所述第一焊接边的第二参考面。
可选的,所述第二确定单元,包括:第四确定模块,用于根据所述第一焊接边、所述第一参考面确定所述焊接边集合、所述第一参考面集合;第五确定模块,用于根据所述焊接边集合、所述第二参考面确定所述第二参考面集合。
可选的,所述第四确定模块,还用于:将所述第一焊接边作为第一初始种子边,所述第一焊接边的方向作为初始查找方向的正向,所述第一焊接边的第一参考面作为初始第一种子面,按照初始查找方向的正向,从所述第一初始种子边的种子点开始,根据所述焊接零件的拓扑结构,通过递归方式查找出所述焊接零件上的其它的种子边;从所述第一初始种子边开始,根据当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的邻接面上的法向量之间的第一夹角,通过递归方式查找出所述焊接零件上的其它第一种子面;将所有的种子边组成的集合确定为所述焊接边集合,将所有的第一种子面组成的集合确定为所述第一参考面集合。
可选的,第五确定模块,还用于若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面不在同一个焊接零件上,则将所述焊接边集合中的第一焊接边的下一条边作为第二初始种子边,所述第一焊接边的第二参考面作为初始第二种子面,从所述初始第二种子面的开始,根据种子边的中点到第二种子面的所有的邻接面的距离,通过递归方式查找出除所述初始第二种子面之外的第二种子面;将所有的第二种子面组成的集合确定为所述第二参考面集合。
可选的,第五确定模块,还用于若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面在同一个焊接零件上,则将所有的种子边的除了其第一种子面之外的另一邻接面组成的集合确定为所述第二参考面集合。
可选的,所述第四确定模块,还用于:根据所述焊接零件的拓扑结构查找当前种子边的种子点除了当前种子边之外的所有邻接边,其中,若当前查找方向是正向,那么当前种子边的终点作为种子点;若当前查找方向是反向,那么当前种子边的起点作为种子点;计算所述当前种子边的种子点分别在所述当前种子边、除了当前种子边之外的每个邻接边上的切向量之间的第二夹角;将所述第二夹角等于0度或180度时所对应的邻接边确定为下一种子边,其中,若当前种子点是下一种子边的起点,则下一次的查找方向为正向;若当前种子点是下一种子边的终点,则下一次的查找方向为反向。
可选的,所述第四确定模块,还用于:计算当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的每个邻接面上的法向量之间的第一夹角;将所述第一夹角中角度最小的时所对应的邻接面确定为下一个第一种子面,焊接边集合中当前种子边的下一条边作为新的种子边。
可选的,所述第五确定模块,还用于:计算当前种子边的中点分别到所述当前第二种子面的每个邻接面的距离;将所述距离中值最小时所对应的邻接面确定为下一第二种子面,焊接边集合中当前种子边的下一条边作为新的种子边。
可选的,所述第三确定模块,还用于:若所述邻接面集合中只包含一个面,则输出拾取所述第一焊接边错误的提示。
可选的,所述第三确定单元,包括:位置确定模块,用于遍历所述焊接边集合,根据焊接轨迹点的步长,离散所述焊接边集合中的每条边,确定所述焊接轨迹点的位置;姿态确定模块,用于根据所述焊接轨迹点在所述焊接边集合中的相应边的切线方向确定所述焊接轨迹点的x轴方向;根据所述焊接轨迹点分别在所述第一参考面集合、所述第二参考面集合中每个面上的法向量确定所述焊接轨迹点的z轴方向;根据所述x轴方向和所述z轴方向确定所述焊接轨迹点的y轴方向。
为了实现上述目的,根据本申请的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行上述第一方面中任意一项所述的焊接轨迹的确定方法。
为了实现上述目的,根据本申请的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行上述第一方面中任意一项所述的焊接轨迹的确定方法。
在本申请实施例的焊接轨迹的确定方法及装置中,首先获取第一焊接边对应的拾取列表,其中,第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,拾取列表包含在拾取第一焊接边时穿过的所有面;然后将拾取列表中的面分为两个集合,第一集合为位于焊接零件上的面,第二集合为不属于焊接零件上的面;再根据第一集合、第二集合确定第一焊接边的第一参考面和第二参考面,第一参考面和第二参考面为第一焊接边对应的两个焊接面;再然后根据第一焊接边、第一参考面、第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,焊接边集合为包含第一焊接边的一组连续边,第一参考面集合和第二参考面集合为焊接边集合中每个边分别对应的两个焊接面组成的集合;最后根据焊接边集合、第一参考面集合、第二参考面集合确定焊接轨迹点的位置和姿态。本申请实施例中的焊接轨迹的确定不是示教的方式,是一种离线编程的方式,可以根据用户拾取的一条边,查找到一组连续的焊接边,以及焊接边对应的两组焊接面,最后根据一组连续的焊接边、两组焊接面确定焊接轨迹,相比于示教的方式没有什么技术门槛,不需要示教,大大的提高了生产效率。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的本申请实施例中焊接轨迹的确定方法的一种应用示例图;
图2是根据本申请实施例提供的一种焊接轨迹的确定方法流程图;
图3是根据本申请实施例提供的一种焊接轨迹的确定装置的组成框图;
图4是根据本申请实施例提供的另一种焊接轨迹的确定装置的组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
首先需要说明的是,本申请实施例中的焊接轨迹的确定方法是一种离线编程的方式。在实际应用时,根据用户拾取的需要焊接的零件上的一条焊接边,自动识别两个焊接面,并根据拾取的焊接边、识别的两个焊接面自动查找出需要焊接的一组连接的焊接边,以及对应的两组焊接面,最终根据焊接边和焊接面确定轨迹点的位置和姿态。结合具体的示例进行说明,如图1所示,需要对零件P和零件P′进行焊接,其中边e1是用户拾取的零件P上的需要焊接的一条边,本申请实施例的方式,是要基于边e1查找到边e1、e2、e3、e4、e5以及这五条边对应的两组焊接面f1、f2、f3、f4、f5和f′1。下面对本申请实施例的焊接轨迹的确定方法进行具体的说明。
根据本申请实施例,提供了一种焊接轨迹的确定方法,如图2所示,该方法包括如下的步骤S101-S105:S101.获取第一焊接边对应的拾取列表;其中第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,拾取列表包含在拾取所述第一焊接边时穿过的所有面;S102.将所述拾取列表中的面分为两个集合,第一集合为位于所述焊接零件上的面,第二集合为不属于所述焊接零件上的面;S103.根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面,其中所述第一参考面和所述第二参考面为所述第一焊接边对应的两个焊接面;S104.根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,其中,所述焊接边集合为包含所述第一焊接边的一组连续边,第一参考面集合和所述第二参考面集合为所述焊接边集合中每个边分别对应的两个焊接面组成的集合;S105.根据所述焊接边集合、所述第一参考面集合、所述第二参考面集合确定焊接轨迹点的位置和姿态。
步骤S101中,拾取列表是在获取用户拾取的第一焊接边时完整的拾取列表。对拾取列表的生成进行说明,一条射线从当前视点位置穿过,落到鼠标选中的那个点上,即一条射线与零件模型求交的过程,求交出来后有一串的面,按照穿过的先后顺序形成拾取列表,这是三维环境交互中常用的求交的原理,是一个ray pick的过程。
步骤S102中,焊接零件是一个具体的零件,是步骤S101中选取第一焊接边时,在其上进行选择的零件。给出具体的示例进行说明,如图1所示,第一焊接边是在零件P上拾取的,所以焊接零件为零件P,那么第一集合为在零件P上的面,第二集合为不在零件P上的面。
步骤S103中,根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面具体分为三种情况,第一种情况:若所述第一集合为空,且所述第二集合不为空,则根据所述第二集合确定所述第一焊接边的第二参考面,根据所述第一焊接边的邻接面集合确定所述第一焊接边的第一参考面。具体的,是将所述第二集合中的第一个面确定为所述第一焊接边的第二参考面;计算当前拾取点在所述第一焊接边的第二参考面上的法线,以及当前拾取点在所述第一焊接边的邻接面集合中的每个邻接面上的法线,将两个法线夹角最小时对应的邻接面确定为所述第一焊接边的第一参考面。其中,所述当前拾取点为用户拾取的所述第一焊接边上的点,可以为第一焊接边上的任意一点。第一焊接边的邻接面集合是基于焊接零件的模型的拓扑结构得到的与第一焊接边邻接的面,此处邻接的具体含义为若一条边在一个面上,则这个面是这个边的邻接面。
第二种情况:若所述第一集合不为空,且所述第二集合不为空,则根据所述第一集合确定所述第一焊接边的第一参考面,根据所述第二集合确定所述第一焊接边的第二参考面。具体的,是将所述第一集合中的第一个面确定为所述第一焊接边的第一参考面;将所述第二集合中的第一个面确定为所述第一焊接边的第二参考面。
第三种情况:若所述第一集合不为空,且所述第二集合为空,则根据所述第一焊接边的邻接面集合确定第一焊接边的第一参考面和所述第一焊接边的第二参考面。具体的,是选择所述第一焊接边的邻接面集合中的前两个邻接面分别确定为所述第一焊接边的第一参考面和所述第一焊接边的第二参考面。但是如果在实际实施中,出现所述邻接面集合中只包含一个面的情况,则输出拾取所述第一焊接边错误的提示,表示第一焊接边没有选对,无法继续后续的步骤,需要用户重新选择。
前述步骤S101-S103是基于用户拾取的边确定拾取边对应的两个焊接面的过程,后续步骤S104是基于拾取边和确定的两个焊接面找到一组连续边和对应的焊接面的过程。此处需要说明的是,后续的过程中,也包括了只存在一条焊接边,即第一焊接边的特殊情况。
步骤S104中,根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合具体为:根据所述第一焊接边、所述第一参考面确定所述焊接边集合、所述第一参考面集合;根据所述焊接边集合、所述第二参考面确定所述第二参考面集合。
其中,根据所述第一焊接边、所述第一参考面确定所述焊接边集合、所述第一参考面集合具体为:首先,将所述第一焊接边作为第一初始种子边,所述第一焊接边方向作为初始查找方向,初始查找方向为正向,所述第一焊接边的第一参考面作为初始第一种子面。然后,按照初始查找方向,从所述第一初始种子边的种子点开始,根据所述焊接零件的拓扑结构,通过递归方式查找出所述焊接零件上的其它的种子边,所述第一初始种子边的种子点为种子边的终点。其中初始查找方向为第一初始种子边的方向,任意一个边的方向是指由起点到终点的方向。具体的查找出所述焊接零件上的其它的种子边的递归过程为:根据所述焊接零件的拓扑结构查找当前种子边的种子点除了当前种子边之外的所有邻接边,其中,若当前查找方向是正向,则将种子边的起点作为种子点,若当前查找方向是反向,则将种子边的终点作为种子点。实际上,不管是终点还是起点都是相邻种子边的连接点;计算所述当前种子边的种子点分别在所述当前种子边、除了当前种子边之外的每个邻接边上的切向量之间的第二夹角;将所述第二夹角等于0度或180度时所对应的邻接边确定为下一种子边。若当前种子点(当前种子边的种子点)是下一种子边的起点,那么下一次的查找方向是正向;若当前种子点是下一种子边的终点,那么下一次的查找方向是反向。再然后,从所述第一初始种子边开始,根据当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的邻接面上的法向量之间的第一夹角,通过递归方式查找出所述焊接零件上的其它第一种子面。具体的,查找出所述焊接零件上的其它第一种子面的过程为:计算当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的每个邻接面上的法向量之间的第一夹角;将所述第一夹角中角度最小的时所对应的邻接面确定为下一个第一种子面,将当前种子边的下一条边作为新的种子边。按照上述方式,找出所有的种子边(也包括第一初始种子边)和所有的第一种子面(也包括初始第一种子面),最后,将所有的种子边组成的集合确定为所述焊接边集合,将所有的第一种子面组成的集合确定为所述第一参考面集合。需要说明的是,在实际的递归过程中种子边、第一种子面、查找方向都会设置一个变量,每次查找到新的种子边、第一种子面、确定新的查找方向后都会将其作为变量新的赋值,并继续递归的过程。还需要说明的是,在进行递归的过程中,需要有一个递归跳出的条件,即如何判断已经找出了所有的种子边和第一种子面。具体的,跳出条件为当前的种子边的种子点没有除了当前种子边之外的邻接边,则表示当前的种子边已经是最后的一条需要查找的焊接边了。另外,本申请实施例是想找到一组光滑连接的焊接边,则可以设置另外一种导致递归过程的跳出条件,即如果不存在第二夹角等于0度或180度,则跳出。一组光滑连接的焊接边是指线与线之间是通过圆弧连接的,如图1中所示的边,e1、e2、e3、e4、e5就是一组光滑连接的边。跳出后,会继续进行确定第二参考面集合的步骤。
其中,根据焊接边集合、所述第二参考面确定所述第二参考面集合具体包括两种情况。第一种情况为:若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面不在同一个焊接零件上,则将所述焊接边集合中的第一焊接边的下一条边作为第二初始种子边,所述第一焊接边的第二参考面作为初始第二种子面,从所述初始第二种子面的开始,根据种子边的中点到第二种子面的所有的邻接面的距离,通过递归方式查找出除所述初始第二种子面之外的第二种子面;将所有的第二种子面组成的集合确定为所述第二参考面集合。其中,通过递归方式查找出除所述初始第二种子面之外的第二种子面具体为:计算当前种子边的中点分别到所述当前种子边对应的第二种子面的每个邻接面的距离;将所述距离中值最小时所对应的邻接面确定为下一第二种子面,焊接边集合中当前种子边的下一条边作为新的种子边。需要说明的是,在实际的递归过程中种子边、第二种子面也都会设置一个变量,每次查找到新的种子边、第二种子面后都会将其作为变量新的赋值,并继续递归的过程。第二种情况为:若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面在同一个焊接零件上,则将所有的种子边的除了其第一种子面之外的另一邻接面组成的集合确定为所述第二参考面集合。
另外,还需要说明的是,第一参考面集合中分别是每个种子边即每个焊接边对应的第一参考面;同样,第二参考面集合中分别是每个种子边即每个焊接边对应的第二参考面。
步骤S105中,根据所述焊接边集合、所述第一参考面集合、所述第二参考面集合确定焊接轨迹点的位置和姿态具体为:遍历所述焊接边集合,根据焊接轨迹点的步长,离散所述焊接边集合中的每条边,确定所述焊接轨迹点的位置;根据所述焊接轨迹点在所述焊接边集合中的相应边的切线方向确定所述焊接轨迹点的x轴方向;根据所述焊接轨迹点分别在所述第一参考面集合、所述第二参考面集合中每个面上的法向量确定所述焊接轨迹点的z轴方向,具体是将焊接轨迹点在所述第一参考面集合中第一参考面上的法向量与焊接轨迹点在所述第二参考面集合中对应的第二参考面上的法向量的角平分线作为焊接轨迹点的z轴方向;根据所述x轴方向和所述z轴方向确定所述焊接轨迹点的y轴方向,即z方向和x方向叉乘即可得到焊接轨迹点的y轴方向。本申请实施例中确定焊接轨迹点的方向是基于机器人工作时焊枪是在两个焊接面中间沿着焊缝作业的原理确定的,这也是焊接加工过程中常用的确定方式。
从以上的描述中,可以看出,本申请实施例的焊接轨迹的确定方法中,首先获取第一焊接边对应的拾取列表,其中,第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,拾取列表包含在拾取第一焊接边时穿过的所有面;然后将拾取列表中的面分为两个集合,第一集合为位于焊接零件上的面,第二集合为不属于焊接零件上的面;再根据第一集合、第二集合确定第一焊接边的第一参考面和第二参考面,第一参考面和第二参考面为第一焊接边对应的两个焊接面;再然后根据第一焊接边、第一参考面、第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,焊接边集合为包含第一焊接边的一组连续边,第一参考面集合和第二参考面集合为焊接边集合中每个边分别对应的两个焊接面组成的集合;最后根据焊接边集合、第一参考面集合、第二参考面集合确定焊接轨迹点的位置和姿态。本申请实施例中的焊接轨迹的确定不是示教的方式,是一种离线编程的方式,可以根据用户拾取的一条边,查找到一组连续的焊接边,以及焊接边对应的两组焊接面,最后根据一组连续的焊接边、两组焊接面确定焊接轨迹,相比于示教的方式没有什么技术门槛,不需要示教,大大的提高了生产效率。
为了焊接轨迹的确定方法进行进一步的说明,本申请实施例提供了另一种焊接轨迹的确定方法的流程,具体结合图1进行说明,如下:
(1)用户拾取零件P的边e1,根据零件的拓扑结构,可以得到e1的邻接面集合Fadj,其中e1对应于上述实施例中的第一焊接边。
(2)获得用户拾取边e1时的完整的拾取列表,将拾取列表中的面分成两组,一组G是位于零件P上的面(对应于上述实施例中的第一集合),另外一组G′是其他零件上的面(对应于上述实施例中的第二集合)。
(3)如果拾取列表中没有位于零件P的面,也就是G是空的,但是G′不是空的,那么,G′中的第一个面将作为第二参考面f′1。计算当前拾取点在面f′1上法向量n′。对于e1的每个邻接面fi∈Fadj,计算当前拾取点在每个邻接面上法线ni,计算n和每个ni的夹角,选择角度最小时的邻接面作为第一参考面f1。对应于上述实施例中步骤S103中的第一种情况。
(4)如果G和G′都不是空的,那么,将G中的第一个面作为第一参考面f1,G′中的第一个面作为第二参考面f′1。对应于上述实施例中步骤S103中的第二种情况。
(5)如果G′是空的,那么选取e1的邻接面集合Fadj中前两个邻接面作为分别作为第一参考考面f1和第二参考面f′1。如果e1只有一个邻接面,那么将无法找到两个邻接面,则算法结束。对应于上述实施例中步骤S103中的第三种情况。
(6)将边e1作为初始种子边eseed,边e1的方向作为初始查找方向orient,e1的第一参考面f1作为初始第一种子面fseed,此处的初始种子边对应于上述实施例中的第一初始种子边。
(7)在零件P上,找到边eseed的起点ps和终点pe,若当前查找方向orient和边eseed的方向一致,那么ptseed=pe,反之,ptseed=ps。计算ptseed在边eseed处的切向tseed,其中ptseed对应上述实施例中相邻两个种子边的连接点,也即种子点。
(8)根据零件P的拓扑结构,找到ptseed除了eseed的所有邻接边,如果ptseed没有除了eseed的其他邻接边,表示已经将所有的种子边都查找出了,则直接到(14)进行第二参考面集合确定的步骤。
(9)如果ptseed有除了eseed的其他邻接边,那么遍历每条邻接边,计算点ptseed在每条邻接边上的切向ti,计算ti与tseed的夹角αi,其中角αi对应于上述实施例中步骤S104中的第二夹角。
(10)如果αi==0||αi==180,那么此时的邻接边将作为下一条种子边eseed,ptseed若是下一条种子边eseed的起点,那么新的查找方向orient就是正向,反之就是反向。将eseed添加到焊接边集合Ew中。
(11)如果αi!=0&&αi!=180,表示不存在光滑连接的种子边了,则直接到(14)进行第二参考面集合确定的步骤。
(12)计算点ptseed的面fseed上的法向nseed,找到(10)中更新的eseed的所有邻接面,计算ptseed在每个邻接面上的法向nj,计算nseed和nj的夹角(对应于上述实施例中的第一夹角),取夹角最小时邻接面fj作为fseed的第一参考面,也即新的第一种子面,并添加到第一参考面集合Fref中。如果ptseed有两个邻接面,则将除了fj的另外一个邻接面添加到集合Fadj-ref中。
(13)重复(7)-(12)找到零件P上所有的焊接边(也即所有的种子边),以及每条焊接边的第一参考面(也即所有的第一种子面);也即确定了焊接边集合Ew,和第一参考面集合Fref
(14)如果第一参考面f1和第二参考面f′1在同一个零件上,那么第二参考面集合F′ref=Fadj-ref,即将所有的种子边的除了其第一种子面之外的另一邻接面组成的集合确定为所述第二参考面集合。
(15)如果第一参考面f1和第二参考面f′1在不同零件上,那么第二参考面作为初始第二种子面,即fprev=f′1,焊接边集合Ew中e1的下一条边e2作为初始的种子边(对应于上述实施例中的第二初始种子边),即eseed=e1。对应于上述步骤S104中确定第二参考面集合的第二种情况。
(16)获得eseed的中点pmid,遍历fprev的每个邻接面,计算pmid到每个邻接面的距离,取距离最小时的邻接面作为eseed应的第二参考面floop,即下一个第二种子面,并添加到第二参考面集合F′ref中。
(17)使得fprev=floop,焊接边集合Ew中eseed的下一条边ej∈Ew作为eseed,即将下一个第二种子面和下一个种子边赋值给变量fprev和eseed
(18)重复(16)-(17)可得到第二参考面集合F′ref。步骤(16)-(18)对应于上述实施例步骤S104中确定第二参考面集合的第一种情况。
(19)遍历焊接边集合Ew,根据焊点的步长,离散Ew中的每条边,可得到焊接轨迹点ptw的位置。若轨迹方向和边的方向一致,那么焊接轨迹点在边的切向作为x方向,反之,则取切向的反向作为x方向。计算ptw在第一参考面的法向量nw,在第二参考面的法向量n′w,计算nw和n′w的角平分线作为焊接轨迹点的z方向,z方向和x方向叉乘即可得到焊接轨迹点的y方向。本步骤对应于上述实施例中的步骤S105。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述图2方法的焊接轨迹的确定装置200,如图3所示,该装置包括:获取单元21,用于获取第一焊接边对应的拾取列表,所述第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,所述拾取列表包含在拾取所述第一焊接边时穿过的所有面;分组单元22,用于将所述拾取列表中的面分为两个集合,第一集合为位于所述焊接零件上的面,第二集合为不属于所述焊接零件上的面;第一确定单元23,用于根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面,所述第一参考面和所述第二参考面为所述第一焊接边对应的两个焊接面;第二确定单元24,用于根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,所述焊接边集合为包含所述第一焊接边的一组连续边,第一参考面集合和所述第二参考面集合为所述焊接边集合中每个边分别对应的两个焊接面组成的集合;第三确定单元25,用于根据所述焊接边集合、所述第一参考面集合、所述第二参考面集合确定焊接轨迹点的位置和姿态。
具体的,本申请实施例的装置中各单元、模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
从以上的描述中,可以看出,本申请实施例的焊接轨迹的确定装置中,首先获取第一焊接边对应的拾取列表,其中,第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,拾取列表包含在拾取第一焊接边时穿过的所有面;然后将拾取列表中的面分为两个集合,第一集合为位于焊接零件上的面,第二集合为不属于焊接零件上的面;再根据第一集合、第二集合确定第一焊接边的第一参考面和第二参考面,第一参考面和第二参考面为第一焊接边对应的两个焊接面;再然后根据第一焊接边、第一参考面、第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,焊接边集合为包含第一焊接边的一组连续边,第一参考面集合和第二参考面集合为焊接边集合中每个边分别对应的两个焊接面组成的集合;最后根据焊接边集合、第一参考面集合、第二参考面集合确定焊接轨迹点的位置和姿态。本申请实施例中的焊接轨迹的确定不是示教的方式,是一种离线编程的方式,可以根据用户拾取的一条边,查找到一组连续的焊接边,以及焊接边对应的两组焊接面,最后根据一组连续的焊接边、两组焊接面确定焊接轨迹,相比于示教的方式没有什么技术门槛,不需要示教,大大的提高了生产效率。
进一步的,如图4所示,所述第一确定单元23包括:第一确定模块231,用于若所述第一集合为空,且所述第二集合不为空,则根据所述第二集合确定所述第一焊接边的第二参考面,根据所述第一焊接边的邻接面集合确定所述第一焊接边的第一参考面;第二确定模块232,用于若所述第一集合不为空,且所述第二集合不为空,则根据所述第一集合确定所述第一焊接边的第一参考面,根据所述第二集合确定所述第一焊接边的第二参考面;第三确定模块233,用于若所述第一集合不为空,且所述第二集合为空,则根据所述第一焊接边的邻接面集合确定第一焊接边的第一参考面和所述第一焊接边的第二参考面。
进一步的,如图4所示,所述第一确定模块231,还用于:将所述第二集合中的第一个面确定为所述第一焊接边的第二参考面;计算当前拾取点在所述第一焊接边的第二参考面上的法线,以及当前拾取点在所述第一焊接边的邻接面集合中的每个邻接面上的法线,将两个法线夹角最小时对应的邻接面确定为所述第一焊接边的第一参考面,所述当前拾取点为用户拾取的所述第一焊接边上的点。
进一步的,如图4所示,所述第二确定模块232,还用于:将所述第一集合中的第一个面确定为所述第一焊接边的第一参考面;将所述第二集合中的第一个面确定为所述第一焊接边的第二参考面。
进一步的,如图4所示,所述第三确定模块233,还用于:选择所述第一焊接边的邻接面集合中的前两个邻接面分别确定为所述第一焊接边的第一参考面和所述第一焊接边的第二参考面。
进一步的,如图4所示,所述第二确定单元24,包括:第四确定模块241,用于根据所述第一焊接边、所述第一参考面确定所述焊接边集合、所述第一参考面集合;第五确定模块242,用于根据所述焊接边集合、所述第二参考面确定所述第二参考面集合。
进一步的,如图4所示,所述第四确定模块241,还用于:将所述第一焊接边作为第一初始种子边,所述第一焊接边的方向作为初始查找方向,初始查找方向为正向,所述第一焊接边的第一参考面作为初始第一种子面,所述种子边的终点作为种子点,按照初始查找方向,从所述第一初始种子边的种子点开始,根据所述焊接零件的拓扑结构,通过递归方式查找出所述焊接零件上的其它的种子边,所述第一初始种子边的种子点为种子边的终点;从所述第一初始种子边开始,根据当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的邻接面上的法向量之间的第一夹角,通过递归方式查找出所述焊接零件上的其它第一种子面;将所有的种子边组成的集合确定为所述焊接边集合,将所有的第一种子面组成的集合确定为所述第一参考面集合。
进一步的,如图4所示,第五确定模块242,还用于若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面不在同一个焊接零件上,则将所述焊接边集合中的第一焊接边的下一条边作为第二初始种子边,所述第一焊接边的第二参考面作为初始第二种子面,从所述初始第二种子面的开始,根据种子边的中点到第二种子面的所有的邻接面的距离,通过递归方式查找出除所述初始第二种子面之外的第二种子面;将所有的第二种子面组成的集合确定为所述第二参考面集合。
进一步的,如图4所示,第五确定模块242,还用于若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面在同一个焊接零件上,则将所有的种子边的除了其第一种子面之外的另一邻接面组成的集合确定为所述第二参考面集合。
进一步的,如图4所示,所述第四确定模块241,还用于:根据所述焊接零件的拓扑结构查找当前种子边的种子点除了当前种子边之外的所有邻接边,其中,若当前查找方向是正向,则将种子边的起点作为种子点,若当前查找方向是反向,则将种子边的终点作为种子点;计算所述当前种子边的种子点分别在所述当前种子边、除了当前种子边之外的每个邻接边上的切向量之间的第二夹角;将所述第二夹角等于0度或180度时所对应的邻接边确定为下一种子边,其中,若当前种子点是下一种子边的起点,则下一次的查找方向为正向;若当前种子点是下一种子边的终点,则下一次的查找方向为反向。
进一步的,如图4所示,所述第四确定模块241,还用于:计算当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的每个邻接面上的法向量之间的第一夹角;将所述第一夹角中角度最小的时所对应的邻接面确定为下一个第一种子面,焊接边集合中当前种子边的下一条边作为新的种子边。
进一步的,如图4所示,所述第五确定模块242,还用于:计算当前种子边的中点分别到所述当前第二种子面的每个邻接面的距离;将所述距离中值最小时所对应的邻接面确定为下一第二种子面,焊接边集合中当前种子边的下一条边作为新的种子边。
进一步的,如图4所示,所述第三确定模块233,还用于:若所述邻接面集合中只包含一个面,则输出拾取所述第一焊接边错误的提示。
进一步的,如图4所示,所述第三确定单元25,包括:位置确定模块251,用于遍历所述焊接边集合,根据焊接轨迹点的步长,离散所述焊接边集合中的每条边,确定所述焊接轨迹点的位置;姿态确定模块252,用于根据所述焊接轨迹点在所述焊接边集合中的相应边的切线方向确定所述焊接轨迹点的x轴方向;根据所述焊接轨迹点分别在所述第一参考面集合、所述第二参考面集合中每个面上的法向量确定所述焊接轨迹点的z轴方向;根据所述x轴方向和所述z轴方向确定所述焊接轨迹点的y轴方向。
具体的,本申请实施例的装置中各单元、模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请实施例,还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行上述方法实施例中的焊接轨迹的确定方法。
根据本申请实施例,还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行上述方法实施例中的焊接轨迹的确定方法。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种焊接轨迹的确定方法,其特征在于,所述方法包括:
获取第一焊接边对应的拾取列表,所述第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,所述拾取列表包含在拾取所述第一焊接边时穿过的所有面;
将所述拾取列表中的面分为两个集合,第一集合为位于所述焊接零件上的面,第二集合为不属于所述焊接零件上的面;
根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面,所述第一参考面和所述第二参考面为所述第一焊接边对应的两个焊接面;
根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,所述焊接边集合为包含所述第一焊接边的一组连续边,第一参考面集合和所述第二参考面集合为所述焊接边集合中每个边分别对应的两个焊接面组成的集合;
根据所述焊接边集合、所述第一参考面集合、所述第二参考面集合确定焊接轨迹点的位置和姿态。
2.根据权利要求1所述的焊接轨迹的确定方法,其特征在于,所述根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面包括:
若所述第一集合为空,且所述第二集合不为空,则根据所述第二集合确定所述第一焊接边的第二参考面,根据所述第一焊接边的邻接面集合确定所述第一焊接边的第一参考面;
若所述第一集合不为空,且所述第二集合不为空,则根据所述第一集合确定所述第一焊接边的第一参考面,根据所述第二集合确定所述第一焊接边的第二参考面;
若所述第一集合不为空,且所述第二集合为空,则根据所述第一焊接边的邻接面集合确定第一焊接边的第一参考面和所述第一焊接边的第二参考面。
3.根据权利要求1所述的焊接轨迹的确定方法,其特征在于,所述根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合包括:
根据所述第一焊接边、所述第一参考面确定所述焊接边集合、所述第一参考面集合;
根据所述焊接边集合、所述第二参考面确定所述第二参考面集合。
4.根据权利要求3所述的焊接轨迹的确定方法,其特征在于,所述根据所述第一焊接边、所述第一参考面确定所述焊接边集合、所述第一参考面集合包括:
将所述第一焊接边作为第一初始种子边,所述第一焊接边的方向作为初始查找方向,初始查找方向为正向,所述第一焊接边的第一参考面作为初始第一种子面,按照初始查找方向,从所述第一初始种子边的种子点开始,根据所述焊接零件的拓扑结构,通过递归方式查找出所述焊接零件上的其它的种子边,所述第一初始种子边的种子点为种子边的终点;
从所述第一初始种子边开始,根据当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的邻接面上的法向量之间的第一夹角,通过递归方式查找出所述焊接零件上的其它第一种子面;
将所有的种子边组成的集合确定为所述焊接边集合,将所有的第一种子面组成的集合确定为所述第一参考面集合。
5.根据权利要求4所述的焊接轨迹的确定方法,其特征在于,若所述第一焊接边的第一参考面和所述第一焊接边的第二参考面不在同一个焊接零件上,根据所述焊接边集合、所述第二参考面确定第二参考面集合包括:
将所述焊接边集合中的第一焊接边的下一条边作为第二初始种子边,所述第一焊接边的第二参考面作为初始第二种子面,从所述初始第二种子面开始,根据种子边的中点到第二种子面的所有的邻接面的距离,通过递归方式查找出除所述初始第二种子面之外的第二种子面;
将所有的第二种子面组成的集合确定为所述第二参考面集合。
6.根据权利要求4所述的焊接轨迹的确定方法,其特征在于,所述根据所述焊接零件的拓扑结构,通过递归方式查找出所述焊接零件上的其它的种子边包括:
根据所述焊接零件的拓扑结构查找当前种子边的种子点除了当前种子边之外的所有邻接边,其中,若当前查找方向是正向,则将种子边的起点作为种子点,若当前查找方向是反向,则将种子边的终点作为种子点;
计算所述当前种子边的种子点分别在所述当前种子边、除了当前种子边之外的每个邻接边上的切向量之间的第二夹角;
将所述第二夹角等于0度或180度时所对应的邻接边确定为下一种子边,其中,若当前种子点是下一种子边的起点,则下一次的查找方向为正向,若当前种子点是下一种子边的终点,则下一次的查找方向为反向。
7.根据权利要求4所述的焊接轨迹的确定方法,其特征在于,所述根据当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的邻接面上的法向量之间的第一夹角,通过递归方式查找出所述焊接零件上的其它第一种子面包括:
计算当前种子边的种子点分别在所述当前种子边对应的第一种子面、下一种子边的每个邻接面上的法向量之间的第一夹角;
将所述第一夹角中角度最小的时所对应的邻接面确定为下一个第一种子面,焊接边集合中当前种子边的下一条边作为新的种子边。
8.一种焊接轨迹的确定装置,其特征在于,所述装置包括:
获取单元,用于获取第一焊接边对应的拾取列表,所述第一焊接边为用户在焊接零件上拾取的需要焊接的一条边,所述拾取列表包含在拾取所述第一焊接边时穿过的所有面;
分组单元,用于将所述拾取列表中的面分为两个集合,第一集合为位于所述焊接零件上的面,第二集合为不属于所述焊接零件上的面;
第一确定单元,用于根据所述第一集合、所述第二集合确定所述第一焊接边的第一参考面和第二参考面,所述第一参考面和所述第二参考面为所述第一焊接边对应的两个焊接面;
第二确定单元,用于根据所述第一焊接边、所述第一参考面、所述第二参考面确定焊接边集合、第一参考面集合、第二参考面集合,所述焊接边集合为包含所述第一焊接边的一组连续边,第一参考面集合和所述第二参考面集合为所述焊接边集合中每个边分别对应的两个焊接面组成的集合;
第三确定单元,用于根据所述焊接边集合、所述第一参考面集合、所述第二参考面集合确定焊接轨迹点的位置和姿态。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1至7中任意一项所述的焊接轨迹的确定方法。
10.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1至7中任意一项所述的焊接轨迹的确定方法。
CN202210615237.5A 2022-05-31 2022-05-31 焊接轨迹的确定方法及装置 Pending CN115122011A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210615237.5A CN115122011A (zh) 2022-05-31 2022-05-31 焊接轨迹的确定方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210615237.5A CN115122011A (zh) 2022-05-31 2022-05-31 焊接轨迹的确定方法及装置

Publications (1)

Publication Number Publication Date
CN115122011A true CN115122011A (zh) 2022-09-30

Family

ID=83378114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210615237.5A Pending CN115122011A (zh) 2022-05-31 2022-05-31 焊接轨迹的确定方法及装置

Country Status (1)

Country Link
CN (1) CN115122011A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117934732A (zh) * 2024-03-22 2024-04-26 北京华航唯实机器人科技股份有限公司 点云模型的重建方法、装置及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117934732A (zh) * 2024-03-22 2024-04-26 北京华航唯实机器人科技股份有限公司 点云模型的重建方法、装置及电子设备

Similar Documents

Publication Publication Date Title
EP2906396A1 (en) A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position
CN111222418B (zh) 一种车道线的多道路片段的众包数据快速融合优化方法
CN104793560A (zh) 用于生成轨迹的方法和系统
CN111975767B (zh) 基于多级任务分配的多机器人视觉检测系统的协同运动规划方法
CN115351389A (zh) 自动焊接方法和装置、电子设备及存储介质
JP4650878B2 (ja) 3次元形状処理装置及び3次元形状処理方法
CN115122011A (zh) 焊接轨迹的确定方法及装置
JPH09212643A (ja) 三次元物体認識方法及びその装置
Chang et al. Machining process planning of prismatic parts using case-based reasoning and past process knowledge
CN116673968B (zh) 基于强化学习的机械臂轨迹规划要素选择方法及系统
CN113553648A (zh) 一种基于dynamo参数化建模的筒状模型构建方法
CN114193455B (zh) 机器人的加工路径生成方法、设备和存储介质
CN113608496B (zh) 空间路径g2转接光顺方法、设备及计算机可读存储介质
CN110370276A (zh) 基于三维模型Morse分解的工业机器人加工轨迹自动规划方法
CN105415376B (zh) 一种离线编程装置
CN115519542A (zh) 基于哈里斯鹰化算法的多机协作焊接轨迹规划方法及装置
Xin et al. Path Planning Research Based on An Improved A* Algorithmfor Mobile Robot
CN114888814A (zh) 一种基于中组立分段的焊接机器人控制方法及系统
CN114904844A (zh) 一种针对精密复杂零件的机器人激光清洗路径规划与控制的方法
Schütz et al. et a.,“Recognition of 3-D Objects with a Closest-Point Matching Algorithm,”
CN111435244B (zh) 一种回环闭合方法、装置及机器人
CN112818428A (zh) 一种用于cad模型面结构光全自动扫描路径规划方法
JPH085333A (ja) 3次元位置姿勢認識装置
CN111288888B (zh) 面向机械手自动抓捕的大尺寸圆环目标结构光测量方法
CN115859404B (zh) 基于测距轮量测数据的cad图纸生成方法、装置及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination