CN114603566B - 机器人焊接轨迹生成方法、装置、电子设备及存储介质 - Google Patents
机器人焊接轨迹生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114603566B CN114603566B CN202210521116.4A CN202210521116A CN114603566B CN 114603566 B CN114603566 B CN 114603566B CN 202210521116 A CN202210521116 A CN 202210521116A CN 114603566 B CN114603566 B CN 114603566B
- Authority
- CN
- China
- Prior art keywords
- welding
- vector
- axis
- plane
- plane normal
- 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.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K37/00—Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
- B23K37/02—Carriages for supporting the welding or cutting element
- B23K37/0252—Steering means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Robotics (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Optics & Photonics (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
本申请涉及机器人焊接技术领域,提供了一种机器人焊接轨迹生成方法、装置、电子设备及存储介质,本方法包括:将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据;计算焊接轨迹的焊接方向向量;获取基坐标系中的z轴向量;根据z轴向量和焊接方向向量计算旋转轴角;将旋转轴角转换为欧拉角形式,以获取焊接轨迹的姿态数据。本发明不需要人工示教及绘制轨迹,提高了焊接效率。
Description
技术领域
本申请涉及机器人焊接技术领域,具体而言,涉及一种机器人焊接轨迹生成方法、装置、电子设备及存储介质。
背景技术
机器人焊接是使用机械化的可编程工具(机器人),通过执行焊接和处理零件来实现完全自动化焊接过程。
机器人在焊接两个工件时,需要沿着工件的边线生成焊接轨迹,然后机器人根据焊接轨迹将两个工件焊接在一起。然而现有的焊接轨迹生成过程中,是通过人工示教的方式来生成焊接轨迹及焊接轨迹点的姿态,需要花费大量时间,焊接轨迹的生成效率和焊接精度低。
基于上述问题,目前尚未有有效的解决方法。
发明内容
本申请的目的在于提供一种机器人焊接轨迹生成方法、装置、电子设备及存储介质,去除了人工示教的繁琐过程,提高了获取机器人焊接轨迹数据的效率。
第一方面,本申请提供了一种机器人焊接轨迹生成方法,包括以下步骤:
S1. 将待焊接的第一工件模型和第二工件模型导入仿真软件中;
S2. 提取所述第一工件模型和所述第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;
S3. 根据所述焊接边线获取所述第一工件模型的第一焊接平面和所述第二工件模型的第二焊接平面;
S4. 获取所述第一焊接平面的第一平面法向量和所述第二焊接平面的第二平面法向量;
S5. 根据所述第一平面法向量和所述第二平面法向量计算所述焊接轨迹的姿态数据。
本申请的机器人焊接轨迹生成方法,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
可选地,步骤S2包括:
S201.获取所述焊接边线的起点位置信息和终点位置信息;
S202.根据所述起点位置信息和终点位置信息获取所述焊接轨迹的位置数据。
通过这种方式,可以避免提取的焊接边线出现不是直线、存在弯曲的问题,提高焊接的精确性。
可选地,步骤S4包括,根据以下步骤获取所述第一平面法向量:
A1.获取所述第一焊接平面上的任意两条相交的第一直线向量;
A2.根据两条所述第一直线向量计算所述第一平面法向量;
步骤S4包括,根据以下步骤获取所述第二平面法向量:
B1.获取所述第二焊接平面上的任意两条相交的第二直线向量;
B2.根据两条所述第二直线向量计算所述第二平面法向量。
可选地,步骤S5包括:
S501.计算所述焊接轨迹的焊接方向向量;所述焊接方向向量为所述第一平面法向量和所述第二平面法向量的平分向量;
S502.获取基坐标系中的z轴向量;
S503.根据所述z轴向量和所述焊接方向向量计算所述z轴向量和所述焊接方向向量之间的垂直向量、以及所述z轴向量和所述焊接方向向量之间的旋转夹角;
S504.根据所述垂直向量和所述旋转夹角获取旋转轴角;
S505.将所述旋转轴角转换为欧拉角形式,以获取所述焊接轨迹的姿态数据。可选地,步骤S5包括:
S501.根据以下公式计算所述焊接轨迹的焊接方向向量:
可选地,步骤S503包括,根据以下公式计算所述垂直向量和所述旋转夹角:
其中,为所述垂直向量;为所述z轴向量;为所述焊接方向向量;为所述z轴向量的x轴坐标值;为所述z轴向量的y轴坐标值;为所述z轴向量的z轴坐标值;为所述焊接方向向量的x轴坐标值;为所述焊接方向向量的y轴坐标值;为所述焊接方向向量的z轴坐标值;θ为所述旋转夹角;为所述z轴向量的模长;为所述焊接方向向量的模长;i代表x轴正方向的单位向量;j代表y轴正方向的单位向量;k代表z轴正方向的单位向量。
本申请的机器人焊接轨迹生成方法通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
第二方面,本申请提供一种机器人焊接轨迹生成装置,用于获取机器人焊接轨迹数据,包括以下模块:
导入模块:用于将待焊接的第一工件模型和第二工件模型导入仿真软件中;
提取模块:用于提取所述第一工件模型和所述第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;
第一获取模块:用于根据所述焊接边线获取所述第一工件模型的第一焊接平面和所述第二工件模型的第二焊接平面;
第二获取模块:用于获取所述第一焊接平面的第一平面法向量和所述第二焊接平面的第二平面法向量;
计算模块:用于根据所述第一平面法向量和所述第二平面法向量计算所述焊接轨迹的姿态数据。
可选地,所述提取模块在提取所述第一工件模型和所述第二工件模型之间的焊接边线的时候,执行以下步骤:
S201.获取所述焊接边线的起点位置信息和终点位置信息;
S202.根据所述起点位置信息和终点位置信息获取所述焊接轨迹的位置数据。
本申请提供的机器人焊接轨迹生成装置,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
第三方面,本申请提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本发明的有益效果:通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
附图说明
图1为本申请提供的机器人焊接轨迹生成方法的一种流程图。
图2为本申请提供的机器人焊接轨迹生成装置的一种结构示意图。
图3为本申请提供的电子设备的结构示意图。
图4为本申请提供的第一工件模型和第二工件模型的焊接结构示意图。
标号说明:
201、导入模块;202、提取模块;203、第一获取模块;204、第二获取模块;205、计算模块;301、处理器;302、存储器;303、通信总线。
具体实施方式
下面将结合本申请实施方式中附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。通常在此处附图中描述和示出的本申请实施方式的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施方式的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施方式。基于本申请的实施方式,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施方式,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在实际应用中,焊接机器人是具有三个或更多可编程轴以及可重编程自动控制操纵器,用于工业自动化。为了适应不同的目的,焊接机器人的末端接口通常设置有法兰盘,该法兰盘可以连接到不同的工具或末端执行器,例如夹具或焊枪,以进行焊接,切割或热喷涂。而编程的类型一般包括示教编程、离线编程和自主编程,离线编程采用部分传感技术,主要依靠计算机图形学技术,建立机器人工作模型,对编程结果进行三维图形学动画仿真以检测编程可靠性,最后将生成的代码传递给机器人控制柜控制机器人运行,离线编程可以减少机器人工作时间,简化编程。
请参照图1,图1是本申请一些实施方式中的机器人焊接轨迹生成方法的流程图,该机器人焊接轨迹生成方法用于获取机器人焊接轨迹数据(该焊接轨迹数据包括焊接轨迹的位置数据和姿态数据),包括以下步骤:
S1. 将待焊接的第一工件模型和第二工件模型导入仿真软件中;
S2. 提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;
S3. 根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;
S4. 获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;
S5. 根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据(该姿态数据是指沿该焊接轨迹移动时,机器人末端的姿态数据)。
步骤S1中,可以将第一工件模型和第二工件模型导入FreeCAD等仿真软件,然后利用仿真软件创建包含机器人及需要焊接在一起的工件的三维模型的仿真场景。
步骤S3中,通过焊接边线获取第一焊接平面和第二焊接平面为现有技术。相同地,步骤S4中的第一平面法向量和第二平面法向量的获取方式也可以是利用仿真软件自带的标记方法进行获取,在此本申请不再赘述。
本申请的机器人焊接轨迹生成方法,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
在一些实施方式中,步骤S2包括:
S201.获取焊接边线的起点位置信息和终点位置信息;
S202.根据起点位置信息和终点位置信息获取焊接轨迹的位置数据。
在实际应用中,可以提前创建一个焊接边线数据结构体,用于存储工件模型的所有边线以及对应组成边线的边线点位数据信息,属于同一边线的边线点位数据信息在焊接边线数据结构体中是连续记录的(例如,假设总共有10条边线,每条边线有50个边线点位,则第1-50个边线点位数据信息均为第一条边线的边线点位数据信息,第51-100个边线点位数据信息均为第二条边线的边线点位数据信息,以此类推),该边线点位数据信息包括每个边线点位的坐标信息;用户可在仿真软件的界面上选取需要进行焊接的边线作为焊接边线(从而,步骤S201之前还包括步骤:获取用户选取的边线作为焊接边线);根据用户选取的焊接边线,即可提取该焊接边线的起点位置信息和终点位置信息,进而在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息(以下称之为第一边线点位数据信息),并查找与该终点位置信息对应的边线点位数据信息(以下称之为第二边线点位数据信息),提取从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据(即焊接轨迹的位置数据包括该焊接轨迹所在边线的各边线点位的边线点位数据信息)。通过这种方式,可以直接获取焊接边线上的各边线点位数据信息,无需进行离散计算,提高获取焊接边线的效率。
即,步骤S202包括:
在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息,作为第一边线点位数据信息;
在焊接边线数据结构体中查找与该终点位置信息对应的边线点位数据信息,作为第二边线点位数据信息;
提取焊接边线数据结构体中的从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据。
在一些实施方式中,步骤S4包括,根据以下步骤获取第一平面法向量:
A1.获取第一焊接平面上的任意两条相交的第一直线向量;
A2.根据两条第一直线向量计算第一平面法向量;
步骤S4包括,根据以下步骤获取第二平面法向量:
B1.获取第二焊接平面上的任意两条相交的第二直线向量;
B2.根据两条第二直线向量计算第二平面法向量。
在实际应用中,可以通过预先创建模型平面数据结构体,用于存储工件模型所有平面以及对应组成各个平面的点位数据信息(逆时针存储),例如,每个平面是由多个平面点构成,该模型平面数据结构体中存储有各个平面点的坐标信息。
参阅图4,在一些实施方式中,可以选取第一焊接平面上的任意三个不共线的点位例如A(a,b,c)、B(e,f,g)和C(h,i,j),将A和B组成第一直线向量,将A和C组成另一条第一直线向量,由此可见,第一平面法向量为;同理,可以选取第二焊接平面上的任意三个不共线的点位例如G(k,l,m)、H(n,o,p)和I(q,r,s),将G和H组成第二直线向量,将G和I组成另一条第二直线向量,由此可见,第二平面法向量为。
在一些实施方式中,步骤S5包括:
S501.计算焊接轨迹的焊接方向向量;焊接方向向量为第一平面法向量和第二平面法向量的平分向量;
S502.获取基坐标系(即机器人基坐标系)中的z轴向量;
S503.根据z轴向量和焊接方向向量计算z轴向量和焊接方向向量之间的垂直向量、以及z轴向量和焊接方向向量之间的旋转夹角;
S504.根据垂直向量和旋转夹角获取旋转轴角;
S505.将旋转轴角转换为欧拉角形式,以获取焊接轨迹的姿态数据。
其中,平分向量是指在以第一平面法向量和第二平面法向量所形成的夹角中的角平分线向量的相反向量。
在一些实施方式中,步骤S501包括:
根据以下公式计算焊接轨迹的焊接方向向量:
其中,步骤S503包括,根据以下公式计算垂直向量和旋转夹角:
其中,为垂直向量;为z轴向量;为焊接方向向量;为z轴向量的x轴坐标值;为z轴向量的y轴坐标值;为z轴向量的z轴坐标值;为焊接方向向量的x轴坐标值;为焊接方向向量的y轴坐标值;为焊接方向向量的z轴坐标值;θ为旋转夹角;为z轴向量的模长;为焊接方向向量的模长;i代表x轴正方向的单位向量;j代表y轴正方向的单位向量;k代表z轴正方向的单位向量。
其中,θ实质上是绕旋转至所需的旋转角度,一般地由于机器人的末端姿态初始位姿为沿着基坐标系中z轴向量,因此θ等于机器人的末端从初始姿态绕旋转到指定的姿态所需要旋转的角度;其中,上述的x轴坐标值、y轴坐标值以及z轴坐标值都是属于机器人基坐标系;步骤S504,旋转轴角的表示形式为(,θ);步骤S505为现有技术,具体是将旋转轴角(,θ)转换为四元数形式,再由四元数形式转换为欧拉角形式,最终以欧拉角形式表示焊接轨迹的姿态数据(即姿态数据为欧拉角数据)。在实际应用中,将旋转轴角先转换为四元数形式可以避免万向节死锁现象,并且可以执行绕任意过原点的向量的旋转,方便快捷,比旋转矩阵效率更高;最后由四元数形式转换为欧拉角形式则可以更加形象直观地表示出焊接轨迹的姿态数据和姿态方向,具有明显直观的物理意义。
由上可知,本申请的机器人焊接轨迹生成方法,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
请参照图2,图2是本申请一些实施方式中的机器人焊接轨迹生成装置,该机器人焊接轨迹生成装置用于获取机器人焊接轨迹数据(该焊接轨迹数据包括焊接轨迹的位置数据和姿态数据),该装置包括以下模块:
导入模块201:用于将待焊接的第一工件模型和第二工件模型导入仿真软件中;
提取模块202:用于提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;
第一获取模块203:用于根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;
第二获取模块204:用于获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;
计算模块205:用于根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据(该姿态数据是指沿该焊接轨迹移动时,机器人末端的姿态数据)。
导入模块201中,可以将第一工件模型和第二工件模型导入FreeCAD等仿真软件,然后利用仿真软件创建包含机器人及需要焊接在一起的工件的三维模型的仿真场景。
第一获取模块203中,通过焊接边线获取第一焊接平面和第二焊接平面为现有技术。相同地,第二获取模块204中获取的第一平面法向量和第二平面法向量的获取方式也可以是利用仿真软件自带的标记方法进行获取,在此本申请不再赘述。
本申请的机器人焊接轨迹生成装置,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
在一些实施方式中,提取模块202在提取第一工件模型和第二工件模型之间的焊接边线的时候,执行以下步骤:
S201.获取焊接边线的起点位置信息和终点位置信息;
S202.根据起点位置信息和终点位置信息获取焊接轨迹的位置数据。
在实际应用中,可以提前创建一个焊接边线数据结构体,用于存储工件模型的所有边线以及对应组成边线的边线点位数据信息,属于同一边线的边线点位数据信息在焊接边线数据结构体中是连续记录的(例如,假设总共有10条边线,每条边线有50个边线点位,则第1-50个边线点位数据信息均为第一条边线的边线点位数据信息,第51-100个边线点位数据信息均为第二条边线的边线点位数据信息,以此类推),该边线点位数据信息包括每个边线点位的坐标信息;用户可在仿真软件的界面上选取需要进行焊接的边线作为焊接边线(从而,步骤S201之前还包括步骤:获取用户选取的边线作为焊接边线);根据用户选取的焊接边线,即可提取该焊接边线的起点位置信息和终点位置信息,进而在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息(以下称之为第一边线点位数据信息),并查找与该终点位置信息对应的边线点位数据信息(以下称之为第二边线点位数据信息),提取从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据(即焊接轨迹的位置数据包括该焊接轨迹所在边线的各边线点位的边线点位数据信息)。通过这种方式,可以直接获取焊接边线上的各边线点位数据信息,无需进行离散计算,提高获取焊接边线的效率。
即,步骤S202包括:
在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息,作为第一边线点位数据信息;
在焊接边线数据结构体中查找与该终点位置信息对应的边线点位数据信息,作为第二边线点位数据信息;
提取焊接边线数据结构体中的从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据。
在一些实施方式中,第二获取模块204在获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量的时候,执行以下步骤:
A1.获取第一焊接平面上的任意两条相交的第一直线向量;
A2.根据两条第一直线向量计算第一平面法向量;
第二获取模块204在获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量的时候,还执行以下步骤:
B1.获取第二焊接平面上的任意两条相交的第二直线向量;
B2.根据两条第二直线向量计算第二平面法向量。
在实际应用中,可以通过预先创建模型平面数据结构体,用于存储工件模型所有平面以及对应组成各个平面的点位数据信息(逆时针存储),例如,每个平面是由多个平面点构成,该模型平面数据结构体中存储有各个平面点的坐标信息。
参阅图4,在一些实施方式中,可以选取第一焊接平面上的任意三个不共线的点位例如A(a,b,c)、B(e,f,g)和C(h,i,j),将A和B组成第一直线向量,将A和C组成另一条第一直线向量,由此可见,第一平面法向量为;同理,可以选取第二焊接平面上的任意三个不共线的点位例如G(k,l,m)、H(n,o,p)和I(q,r,s),将G和H组成第二直线向量,将G和I组成另一条第二直线向量,由此可见,第二平面法向量为。
在进一步的实施方式中,计算模块205在根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据的时候,执行以下步骤:
S501.计算焊接轨迹的焊接方向向量;焊接方向向量为第一平面法向量和第二平面法向量的平分向量;
S502.获取基坐标系(即机器人基坐标系)中的z轴向量;
S503.根据z轴向量和焊接方向向量计算z轴向量和焊接方向向量之间的垂直向量、以及z轴向量和焊接方向向量之间的旋转夹角;
S504.根据垂直向量和旋转夹角获取旋转轴角;
S505.将旋转轴角转换为欧拉角形式,以获取焊接轨迹的姿态数据。
其中,平分向量是指在以第一平面法向量和第二平面法向量所形成的夹角中的角平分线向量的相反向量。
在一些实施方式中,步骤S501包括:
根据以下公式计算焊接轨迹的焊接方向向量:
其中,步骤S503包括,根据以下公式计算垂直向量和旋转夹角:
其中,为垂直向量;为z轴向量;为焊接方向向量;为z轴向量的x轴坐标值;为z轴向量的y轴坐标值;为Z轴向量的z轴坐标值;为焊接方向向量的x轴坐标值;为焊接方向向量的y轴坐标值;为焊接方向向量的z轴坐标值;θ为旋转夹角;为z轴向量的模长;为焊接方向向量的模长;i代表x轴正方向的单位向量;j代表y轴正方向的单位向量;k代表z轴正方向的单位向量。
其中,θ实质上是绕旋转至所需的旋转角度,一般地由于机器人的末端姿态初始位姿为沿着基坐标系中z轴向量,因此θ等于机器人的末端从初始姿态绕旋转到指定的姿态所需要旋转的角度;其中,上述的x轴坐标值、y轴坐标值以及z轴坐标值都是根据机器人基坐标系获得;步骤S504,旋转轴角的表示形式为(,θ);步骤S505为现有技术,具体是将旋转轴角(,θ)转换为四元数形式,再由四元数形式转换为欧拉角形式,最终以欧拉角形式表示焊接轨迹的姿态数据(即姿态数据为欧拉角数据)。在实际应用中,将旋转轴角先转换为四元数形式可以避免万向节死锁现象,并且可以执行绕任意过原点的向量的旋转,方便快捷,比旋转矩阵效率更高;最后由四元数形式转换为欧拉角形式则可以更加形象直观地表示出焊接轨迹的姿态数据和姿态方向,具有明显直观的物理意义。
由上可知,本申请的机器人焊接轨迹生成装置,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
请参照图3,图3为本申请实施方式提供的一种电子设备的结构示意图,本申请提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当计算设备运行时,处理器301执行该计算机程序,以在执行时执行上述实施方式的任一可选的实现方式中的方法,以实现以下功能:将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。
本申请实施方式提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施方式的任一可选的实现方式中的方法,以实现以下功能:将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施方式中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
再者,在本申请各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施方式而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (5)
1.一种机器人焊接轨迹生成方法,用于获取机器人焊接轨迹数据,其特征在于,包括以下步骤:
S1.将待焊接的第一工件模型和第二工件模型导入仿真软件中;
S2.提取所述第一工件模型和所述第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;
S3.根据所述焊接边线获取所述第一工件模型的第一焊接平面和所述第二工件模型的第二焊接平面;
S4.获取所述第一焊接平面的第一平面法向量和所述第二焊接平面的第二平面法向量;
S5.根据所述第一平面法向量和所述第二平面法向量计算所述焊接轨迹的姿态数据;
步骤S5包括:
S501.计算所述焊接轨迹的焊接方向向量;所述焊接方向向量为所述第一平面法向量和所述第二平面法向量的平分向量;
S502.获取基坐标系中的z轴向量;
S503.根据所述z轴向量和所述焊接方向向量计算所述z轴向量和所述焊接方向向量之间的垂直向量、以及所述z轴向量和所述焊接方向向量之间的旋转夹角;
S504.根据所述垂直向量和所述旋转夹角获取旋转轴角;
S505.将所述旋转轴角转换为欧拉角形式,以获取所述焊接轨迹的姿态数据;
步骤S501包括:
根据以下公式计算所述焊接轨迹的焊接方向向量:
步骤S503包括,根据以下公式计算所述垂直向量和所述旋转夹角:
其中,为所述垂直向量;为所述z轴向量;为所述z轴向量的x轴坐标值;为所述z轴向量的y轴坐标值;为所述z轴向量的z轴坐标值;为所述焊接方向向量的x轴坐标值;为所述焊接方向向量的y轴坐标值;为所述焊接方向向量的z轴坐标值;θ为所述旋转夹角;为所述z轴向量的模长;为所述焊接方向向量的模长;i代表x轴正方向的单位向量;j代表y轴正方向的单位向量;k代表z轴正方向的单位向量;
步骤S2包括:
S201.获取所述焊接边线的起点位置信息和终点位置信息;
S202.根据所述起点位置信息和终点位置信息获取所述焊接轨迹的位置数据;
步骤S201之前还包括步骤:获取用户选取的边线作为焊接边线;
步骤S202包括:
在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息,作为第一边线点位数据信息;
在焊接边线数据结构体中查找与该终点位置信息对应的边线点位数据信息,作为第二边线点位数据信息;
提取焊接边线数据结构体中的从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据。
2.根据权利要求1所述的机器人焊接轨迹生成方法,其特征在于,步骤S4包括,根据以下步骤获取所述第一平面法向量:
A1.获取所述第一焊接平面上的任意两条相交的第一直线向量;
A2.根据两条所述第一直线向量计算所述第一平面法向量;
步骤S4包括,根据以下步骤获取所述第二平面法向量:
B1.获取所述第二焊接平面上的任意两条相交的第二直线向量;
B2.根据两条所述第二直线向量计算所述第二平面法向量。
3.一种机器人焊接轨迹生成装置,用于获取机器人焊接轨迹数据,其特征在于,包括以下模块:
导入模块:用于将待焊接的第一工件模型和第二工件模型导入仿真软件中;
提取模块:用于提取所述第一工件模型和所述第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;
第一获取模块:用于根据所述焊接边线获取所述第一工件模型的第一焊接平面和所述第二工件模型的第二焊接平面;
第二获取模块:用于获取所述第一焊接平面的第一平面法向量和所述第二焊接平面的第二平面法向量;
计算模块:用于根据所述第一平面法向量和所述第二平面法向量计算所述焊接轨迹的姿态数据;
所述计算模块在根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据的时候,执行以下步骤:
S501.计算焊接轨迹的焊接方向向量;焊接方向向量为第一平面法向量和第二平面法向量的平分向量;
S502.获取基坐标系中的z轴向量;
S503.根据z轴向量和焊接方向向量计算z轴向量和焊接方向向量之间的垂直向量、以及z轴向量和焊接方向向量之间的旋转夹角;
S504.根据垂直向量和旋转夹角获取旋转轴角;
S505.将旋转轴角转换为欧拉角形式,以获取焊接轨迹的姿态数据;
步骤S501包括:
根据以下公式计算所述焊接轨迹的焊接方向向量:
步骤S503包括,根据以下公式计算所述垂直向量和所述旋转夹角:
其中,为所述垂直向量;为所述z轴向量;为所述z轴向量的x轴坐标值;为所述z轴向量的y轴坐标值;为所述z轴向量的z轴坐标值;为所述焊接方向向量的x轴坐标值;为所述焊接方向向量的y轴坐标值;为所述焊接方向向量的z轴坐标值;θ为所述旋转夹角;为所述z轴向量的模长;为所述焊接方向向量的模长;i代表x轴正方向的单位向量;j代表y轴正方向的单位向量;k代表z轴正方向的单位向量;
所述提取模块在提取所述第一工件模型和所述第二工件模型之间的焊接边线的时候,执行以下步骤:
S201.获取所述焊接边线的起点位置信息和终点位置信息;
S202.根据所述起点位置信息和终点位置信息获取所述焊接轨迹的位置数据;
步骤S201之前还包括步骤:获取用户选取的边线作为焊接边线;
步骤S202包括:
在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息,作为第一边线点位数据信息;
在焊接边线数据结构体中查找与该终点位置信息对应的边线点位数据信息,作为第二边线点位数据信息;
提取焊接边线数据结构体中的从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据。
4.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-2任一项所述机器人焊接轨迹生成方法中的步骤。
5.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-2任一项所述机器人焊接轨迹生成方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210521116.4A CN114603566B (zh) | 2022-05-13 | 2022-05-13 | 机器人焊接轨迹生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210521116.4A CN114603566B (zh) | 2022-05-13 | 2022-05-13 | 机器人焊接轨迹生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114603566A CN114603566A (zh) | 2022-06-10 |
CN114603566B true CN114603566B (zh) | 2022-08-16 |
Family
ID=81870639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210521116.4A Active CN114603566B (zh) | 2022-05-13 | 2022-05-13 | 机器人焊接轨迹生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114603566B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114119611A (zh) * | 2022-01-25 | 2022-03-01 | 季华实验室 | 焊缝参数识别方法、装置、电子设备及存储介质 |
CN114260625A (zh) * | 2021-12-31 | 2022-04-01 | 上海新时达电气股份有限公司 | 圆管相贯线的焊接方法、焊接设备和存储介质 |
CN114571165A (zh) * | 2022-05-07 | 2022-06-03 | 季华实验室 | 一种焊接轨迹规划方法、装置、焊接系统及电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007275952A (ja) * | 2006-04-10 | 2007-10-25 | Universal Shipbuilding Corp | 溶接線の非接触自動検出方法及びその装置 |
JP5578791B2 (ja) * | 2009-02-13 | 2014-08-27 | 株式会社神戸製鋼所 | 溶接線選定方法 |
JP5715809B2 (ja) * | 2010-03-29 | 2015-05-13 | 株式会社ダイヘン | ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及びロボット制御システム |
CN102441719A (zh) * | 2011-08-26 | 2012-05-09 | 昆山工研院工业机器人研究所有限公司 | 一种基于前置式激光视觉传感的焊缝跟踪离线规划方法 |
JP5965859B2 (ja) * | 2013-03-28 | 2016-08-10 | 株式会社神戸製鋼所 | 溶接線情報設定装置、プログラム、自動教示システム、および溶接線情報設定方法 |
CN106944719B (zh) * | 2017-05-26 | 2019-05-10 | 湘潭大学 | 基于多极阵列电容传感器的焊枪姿态识别方法 |
CN108907408A (zh) * | 2018-08-04 | 2018-11-30 | 苏州佩恩机器人有限公司 | 一种基于焊缝工业机器人姿态的曲线焊缝跟踪方法 |
-
2022
- 2022-05-13 CN CN202210521116.4A patent/CN114603566B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114260625A (zh) * | 2021-12-31 | 2022-04-01 | 上海新时达电气股份有限公司 | 圆管相贯线的焊接方法、焊接设备和存储介质 |
CN114119611A (zh) * | 2022-01-25 | 2022-03-01 | 季华实验室 | 焊缝参数识别方法、装置、电子设备及存储介质 |
CN114571165A (zh) * | 2022-05-07 | 2022-06-03 | 季华实验室 | 一种焊接轨迹规划方法、装置、焊接系统及电子设备 |
Non-Patent Citations (2)
Title |
---|
基于SimMechanics的六自由度机械臂仿真研究;康信勇等;《机床与液压》;20161215(第23期);全文 * |
基于参数化模型的焊缝曲线离散与焊枪姿态生成方法研究;文享龙等;《机床与液压》;20220315;第42-48页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114603566A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1527850B1 (en) | Simulation apparatus | |
CN105184019A (zh) | 机器人抓取方法及系统 | |
CN113715016B (zh) | 一种基于3d视觉的机器人抓取方法、系统、装置及介质 | |
JP2013043271A (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
CN104070265A (zh) | 焊缝信息设定装置、程序、自动示教系统以及焊缝信息设定方法 | |
CN112276914B (zh) | 一种基于ar技术的工业机器人及其人机交互方法 | |
Von Drigalski et al. | Team O2AS at the world robot summit 2018: an approach to robotic kitting and assembly tasks using general purpose grippers and tools | |
CN205121556U (zh) | 机器人抓取系统 | |
CN115351389A (zh) | 自动焊接方法和装置、电子设备及存储介质 | |
CN104714473A (zh) | 一种管路柔性装焊的导管余量切割位置计算方法 | |
CN104729455B (zh) | 一种基于测量数据的管路柔性装焊机器人位姿计算方法 | |
CN114571452A (zh) | 工业机器人轨迹规划方法、电子设备及可读存储介质 | |
CN115793647A (zh) | 一种机器人避障路径规划方法、系统及介质 | |
CN114603566B (zh) | 机器人焊接轨迹生成方法、装置、电子设备及存储介质 | |
US9971852B2 (en) | Robotics connector | |
CN112356032A (zh) | 一种姿态平滑过渡方法及系统 | |
US20210011456A1 (en) | Component management database, component management system, and component management method | |
CN114029950B (zh) | 机器人的坐标系分析方法及装置、机器人设备、存储介质 | |
Zou et al. | Development of robot programming system through the use of augmented reality for assembly tasks | |
von Drigalski et al. | Team O2AC at the world robot summit 2020: towards jigless, high-precision assembly | |
CN206326604U (zh) | 基于机械视觉的机器人运动修正系统 | |
CN112116664B (zh) | 手眼标定轨迹生成方法、装置、电子设备及存储介质 | |
JP6375441B2 (ja) | 組立教示装置、および組立教示方法 | |
Wittmann et al. | Robotic framework for autonomous assembly: a report from the robothon 2021 grand challenge | |
Kitaaki et al. | A robotic assembly system capable of handling flexible cables with connector |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |