机器人焊接轨迹生成方法、装置、电子设备及存储介质与流程

文档序号:30365927发布日期:2022-06-10 22:54阅读:129来源:国知局
机器人焊接轨迹生成方法、装置、电子设备及存储介质与流程

1.本技术涉及机器人焊接技术领域,具体而言,涉及一种机器人焊接轨迹生成方法、装置、电子设备及存储介质。


背景技术:

2.机器人焊接是使用机械化的可编程工具(机器人),通过执行焊接和处理零件来实现完全自动化焊接过程。
3.机器人在焊接两个工件时,需要沿着工件的边线生成焊接轨迹,然后机器人根据焊接轨迹将两个工件焊接在一起。然而现有的焊接轨迹生成过程中,是通过人工示教的方式来生成焊接轨迹及焊接轨迹点的姿态,需要花费大量时间,焊接轨迹的生成效率和焊接精度低。
4.基于上述问题,目前尚未有有效的解决方法。


技术实现要素:

5.本技术的目的在于提供一种机器人焊接轨迹生成方法、装置、电子设备及存储介质,去除了人工示教的繁琐过程,提高了获取机器人焊接轨迹数据的效率。
6.第一方面,本技术提供了一种机器人焊接轨迹生成方法,包括以下步骤:s1. 将待焊接的第一工件模型和第二工件模型导入仿真软件中;s2. 提取所述第一工件模型和所述第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;s3. 根据所述焊接边线获取所述第一工件模型的第一焊接平面和所述第二工件模型的第二焊接平面;s4. 获取所述第一焊接平面的第一平面法向量和所述第二焊接平面的第二平面法向量;s5. 根据所述第一平面法向量和所述第二平面法向量计算所述焊接轨迹的姿态数据。
7.本技术的机器人焊接轨迹生成方法,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
8.可选地,步骤s2包括:s201.获取所述焊接边线的起点位置信息和终点位置信息;
s202.根据所述起点位置信息和终点位置信息获取所述焊接轨迹的位置数据。
9.通过这种方式,可以避免提取的焊接边线出现不是直线、存在弯曲的问题,提高焊接的精确性。
10.可选地,步骤s4包括,根据以下步骤获取所述第一平面法向量:a1.获取所述第一焊接平面上的任意两条相交的第一直线向量;a2.根据两条所述第一直线向量计算所述第一平面法向量;步骤s4包括,根据以下步骤获取所述第二平面法向量:b1.获取所述第二焊接平面上的任意两条相交的第二直线向量;b2.根据两条所述第二直线向量计算所述第二平面法向量。
11.可选地,步骤s5包括:s501.计算所述焊接轨迹的焊接方向向量;所述焊接方向向量为所述第一平面法向量和所述第二平面法向量的平分向量;s502.获取基坐标系中的z轴向量;s503.根据所述z轴向量和所述焊接方向向量计算所述z轴向量和所述焊接方向向量之间的垂直向量、以及所述z轴向量和所述焊接方向向量之间的旋转夹角;s504.根据所述垂直向量和所述旋转夹角获取旋转轴角;s505.将所述旋转轴角转换为欧拉角形式,以获取所述焊接轨迹的姿态数据。可选地,步骤s5包括:s501.根据以下公式计算所述焊接轨迹的焊接方向向量:其中,为所述焊接方向向量;为所述第一平面法向量;为所述第一平面法向量的模长;为所述第二平面法向量;为所述第二平面法向量的模长。
12.可选地,步骤s503包括,根据以下公式计算所述垂直向量和所述旋转夹角:
ꢀ×ꢀ
==其中,为所述垂直向量;为所述z轴向量;为所述焊接方向向量;为所述z轴向量的x轴坐标值;为所述z轴向量的y轴坐标值;为所述z轴向量的z轴坐标值;为所述焊接方向向量的x轴坐标值;为所述焊接方向向量的y轴坐标值;为所述焊接方向向量的z轴坐标值;θ为所述旋转夹角;为所述z轴向量的模长;为所述焊接方向向量的模长;i代表x轴正方向的单位向量;j代表y轴正方向的单位向量;k代表z轴正方
向的单位向量。
13.本技术的机器人焊接轨迹生成方法通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
14.第二方面,本技术提供一种机器人焊接轨迹生成装置,用于获取机器人焊接轨迹数据,包括以下模块:导入模块:用于将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取模块:用于提取所述第一工件模型和所述第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;第一获取模块:用于根据所述焊接边线获取所述第一工件模型的第一焊接平面和所述第二工件模型的第二焊接平面;第二获取模块:用于获取所述第一焊接平面的第一平面法向量和所述第二焊接平面的第二平面法向量;计算模块:用于根据所述第一平面法向量和所述第二平面法向量计算所述焊接轨迹的姿态数据。
15.可选地,所述提取模块在提取所述第一工件模型和所述第二工件模型之间的焊接边线的时候,执行以下步骤:s201.获取所述焊接边线的起点位置信息和终点位置信息;s202.根据所述起点位置信息和终点位置信息获取所述焊接轨迹的位置数据。
16.本技术提供的机器人焊接轨迹生成装置,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
17.第三方面,本技术提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
18.第四方面,本技术提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
19.本发明的有益效果:通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
附图说明
20.图1为本技术提供的机器人焊接轨迹生成方法的一种流程图。
21.图2为本技术提供的机器人焊接轨迹生成装置的一种结构示意图。
22.图3为本技术提供的电子设备的结构示意图。
23.图4为本技术提供的第一工件模型和第二工件模型的焊接结构示意图。
24.标号说明:201、导入模块;202、提取模块;203、第一获取模块;204、第二获取模块;205、计算模块;301、处理器;302、存储器;303、通信总线。
具体实施方式
25.下面将结合本技术实施方式中附图,对本技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本技术一部分实施方式,而不是全部的实施方式。通常在此处附图中描述和示出的本技术实施方式的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施方式的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施方式。基于本技术的实施方式,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施方式,都属于本技术保护的范围。
26.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
27.在实际应用中,焊接机器人是具有三个或更多可编程轴以及可重编程自动控制操纵器,用于工业自动化。为了适应不同的目的,焊接机器人的末端接口通常设置有法兰盘,该法兰盘可以连接到不同的工具或末端执行器,例如夹具或焊枪,以进行焊接,切割或热喷涂。而编程的类型一般包括示教编程、离线编程和自主编程,离线编程采用部分传感技术,主要依靠计算机图形学技术,建立机器人工作模型,对编程结果进行三维图形学动画仿真以检测编程可靠性,最后将生成的代码传递给机器人控制柜控制机器人运行,离线编程可以减少机器人工作时间,简化编程。
28.请参照图1,图1是本技术一些实施方式中的机器人焊接轨迹生成方法的流程图,该机器人焊接轨迹生成方法用于获取机器人焊接轨迹数据(该焊接轨迹数据包括焊接轨迹的位置数据和姿态数据),包括以下步骤:s1. 将待焊接的第一工件模型和第二工件模型导入仿真软件中;s2. 提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;s3. 根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;s4. 获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;s5. 根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据(该姿态数据是指沿该焊接轨迹移动时,机器人末端的姿态数据)。
29.步骤s1中,可以将第一工件模型和第二工件模型导入freecad等仿真软件,然后利
用仿真软件创建包含机器人及需要焊接在一起的工件的三维模型的仿真场景。
30.步骤s3中,通过焊接边线获取第一焊接平面和第二焊接平面为现有技术。相同地,步骤s4中的第一平面法向量和第二平面法向量的获取方式也可以是利用仿真软件自带的标记方法进行获取,在此本技术不再赘述。
31.本技术的机器人焊接轨迹生成方法,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
32.在一些实施方式中,步骤s2包括:s201.获取焊接边线的起点位置信息和终点位置信息;s202.根据起点位置信息和终点位置信息获取焊接轨迹的位置数据。
33.在实际应用中,可以提前创建一个焊接边线数据结构体,用于存储工件模型的所有边线以及对应组成边线的边线点位数据信息,属于同一边线的边线点位数据信息在焊接边线数据结构体中是连续记录的(例如,假设总共有10条边线,每条边线有50个边线点位,则第1-50个边线点位数据信息均为第一条边线的边线点位数据信息,第51-100个边线点位数据信息均为第二条边线的边线点位数据信息,以此类推),该边线点位数据信息包括每个边线点位的坐标信息;用户可在仿真软件的界面上选取需要进行焊接的边线作为焊接边线(从而,步骤s201之前还包括步骤:获取用户选取的边线作为焊接边线);根据用户选取的焊接边线,即可提取该焊接边线的起点位置信息和终点位置信息,进而在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息(以下称之为第一边线点位数据信息),并查找与该终点位置信息对应的边线点位数据信息(以下称之为第二边线点位数据信息),提取从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据(即焊接轨迹的位置数据包括该焊接轨迹所在边线的各边线点位的边线点位数据信息)。通过这种方式,可以直接获取焊接边线上的各边线点位数据信息,无需进行离散计算,提高获取焊接边线的效率。
34.即,步骤s202包括:在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息,作为第一边线点位数据信息;在焊接边线数据结构体中查找与该终点位置信息对应的边线点位数据信息,作为第二边线点位数据信息;提取焊接边线数据结构体中的从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据。
35.在一些实施方式中,步骤s4包括,根据以下步骤获取第一平面法向量:a1.获取第一焊接平面上的任意两条相交的第一直线向量;a2.根据两条第一直线向量计算第一平面法向量;
步骤s4包括,根据以下步骤获取第二平面法向量:b1.获取第二焊接平面上的任意两条相交的第二直线向量;b2.根据两条第二直线向量计算第二平面法向量。
36.在实际应用中,可以通过预先创建模型平面数据结构体,用于存储工件模型所有平面以及对应组成各个平面的点位数据信息(逆时针存储),例如,每个平面是由多个平面点构成,该模型平面数据结构体中存储有各个平面点的坐标信息。
37.参阅图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组成另一条第二直线向量,由此可见,第二平面法向量为。
38.在一些实施方式中,步骤s5包括:s501.计算焊接轨迹的焊接方向向量;焊接方向向量为第一平面法向量和第二平面法向量的平分向量;s502.获取基坐标系(即机器人基坐标系)中的z轴向量;s503.根据z轴向量和焊接方向向量计算z轴向量和焊接方向向量之间的垂直向量、以及z轴向量和焊接方向向量之间的旋转夹角;s504.根据垂直向量和旋转夹角获取旋转轴角;s505.将旋转轴角转换为欧拉角形式,以获取焊接轨迹的姿态数据。
39.其中,平分向量是指在以第一平面法向量和第二平面法向量所形成的夹角中的角平分线向量的相反向量。
40.在一些实施方式中,步骤s501包括:根据以下公式计算焊接轨迹的焊接方向向量:其中,为焊接方向向量;为第一平面法向量;为第一平面法向量的模长;为第二平面法向量;为第二平面法向量的模长。其中,焊接方向向量、第一平面法向量和第二平面法向量均在同一平面。
41.其中,步骤s503包括,根据以下公式计算垂直向量和旋转夹角:
ꢀ×ꢀ
=
其中,为垂直向量;为z轴向量;为焊接方向向量;为z轴向量的x轴坐标值;为z轴向量的y轴坐标值;为z轴向量的z轴坐标值;为焊接方向向量的x轴坐标值;为焊接方向向量的y轴坐标值;为焊接方向向量的z轴坐标值;θ为旋转夹角;为z轴向量的模长;为焊接方向向量的模长;i代表x轴正方向的单位向量;j代表y轴正方向的单位向量;k代表z轴正方向的单位向量。
42.其中,θ实质上是绕旋转至所需的旋转角度,一般地由于机器人的末端姿态初始位姿为沿着基坐标系中z轴向量,因此θ等于机器人的末端从初始姿态绕旋转到指定的姿态所需要旋转的角度;其中,上述的x轴坐标值、y轴坐标值以及z轴坐标值都是属于机器人基坐标系;步骤s504,旋转轴角的表示形式为(,θ);步骤s505为现有技术,具体是将旋转轴角(,θ)转换为四元数形式,再由四元数形式转换为欧拉角形式,最终以欧拉角形式表示焊接轨迹的姿态数据(即姿态数据为欧拉角数据)。在实际应用中,将旋转轴角先转换为四元数形式可以避免万向节死锁现象,并且可以执行绕任意过原点的向量的旋转,方便快捷,比旋转矩阵效率更高;最后由四元数形式转换为欧拉角形式则可以更加形象直观地表示出焊接轨迹的姿态数据和姿态方向,具有明显直观的物理意义。
43.由上可知,本技术的机器人焊接轨迹生成方法,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
44.请参照图2,图2是本技术一些实施方式中的机器人焊接轨迹生成装置,该机器人焊接轨迹生成装置用于获取机器人焊接轨迹数据(该焊接轨迹数据包括焊接轨迹的位置数据和姿态数据),该装置包括以下模块:导入模块201:用于将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取模块202:用于提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;第一获取模块203:用于根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;
第二获取模块204:用于获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;计算模块205:用于根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据(该姿态数据是指沿该焊接轨迹移动时,机器人末端的姿态数据)。
45.导入模块201中,可以将第一工件模型和第二工件模型导入freecad等仿真软件,然后利用仿真软件创建包含机器人及需要焊接在一起的工件的三维模型的仿真场景。
46.第一获取模块203中,通过焊接边线获取第一焊接平面和第二焊接平面为现有技术。相同地,第二获取模块204中获取的第一平面法向量和第二平面法向量的获取方式也可以是利用仿真软件自带的标记方法进行获取,在此本技术不再赘述。
47.本技术的机器人焊接轨迹生成装置,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
48.在一些实施方式中,提取模块202在提取第一工件模型和第二工件模型之间的焊接边线的时候,执行以下步骤:s201.获取焊接边线的起点位置信息和终点位置信息;s202.根据起点位置信息和终点位置信息获取焊接轨迹的位置数据。
49.在实际应用中,可以提前创建一个焊接边线数据结构体,用于存储工件模型的所有边线以及对应组成边线的边线点位数据信息,属于同一边线的边线点位数据信息在焊接边线数据结构体中是连续记录的(例如,假设总共有10条边线,每条边线有50个边线点位,则第1-50个边线点位数据信息均为第一条边线的边线点位数据信息,第51-100个边线点位数据信息均为第二条边线的边线点位数据信息,以此类推),该边线点位数据信息包括每个边线点位的坐标信息;用户可在仿真软件的界面上选取需要进行焊接的边线作为焊接边线(从而,步骤s201之前还包括步骤:获取用户选取的边线作为焊接边线);根据用户选取的焊接边线,即可提取该焊接边线的起点位置信息和终点位置信息,进而在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息(以下称之为第一边线点位数据信息),并查找与该终点位置信息对应的边线点位数据信息(以下称之为第二边线点位数据信息),提取从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据(即焊接轨迹的位置数据包括该焊接轨迹所在边线的各边线点位的边线点位数据信息)。通过这种方式,可以直接获取焊接边线上的各边线点位数据信息,无需进行离散计算,提高获取焊接边线的效率。
50.即,步骤s202包括:在焊接边线数据结构体中查找与该起点位置信息对应的边线点位数据信息,作为第一边线点位数据信息;在焊接边线数据结构体中查找与该终点位置信息对应的边线点位数据信息,作为
第二边线点位数据信息;提取焊接边线数据结构体中的从第一边线点位数据信息到第二边线点位数据信息的所有边线点位数据信息,得到焊接轨迹的位置数据。
51.在一些实施方式中,第二获取模块204在获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量的时候,执行以下步骤:a1.获取第一焊接平面上的任意两条相交的第一直线向量;a2.根据两条第一直线向量计算第一平面法向量;第二获取模块204在获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量的时候,还执行以下步骤:b1.获取第二焊接平面上的任意两条相交的第二直线向量;b2.根据两条第二直线向量计算第二平面法向量。
52.在实际应用中,可以通过预先创建模型平面数据结构体,用于存储工件模型所有平面以及对应组成各个平面的点位数据信息(逆时针存储),例如,每个平面是由多个平面点构成,该模型平面数据结构体中存储有各个平面点的坐标信息。
53.参阅图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组成另一条第二直线向量,由此可见,第二平面法向量为。
54.在进一步的实施方式中,计算模块205在根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据的时候,执行以下步骤:s501.计算焊接轨迹的焊接方向向量;焊接方向向量为第一平面法向量和第二平面法向量的平分向量;s502.获取基坐标系(即机器人基坐标系)中的z轴向量;s503.根据z轴向量和焊接方向向量计算z轴向量和焊接方向向量之间的垂直向量、以及z轴向量和焊接方向向量之间的旋转夹角;s504.根据垂直向量和旋转夹角获取旋转轴角;s505.将旋转轴角转换为欧拉角形式,以获取焊接轨迹的姿态数据。
55.其中,平分向量是指在以第一平面法向量和第二平面法向量所形成的夹角中的角平分线向量的相反向量。
56.在一些实施方式中,步骤s501包括:根据以下公式计算焊接轨迹的焊接方向向量:
其中,为焊接方向向量;为第一平面法向量;为第一平面法向量的模长;为第二平面法向量;为第二平面法向量的模长。其中,焊接方向向量、第一平面法向量和第二平面法向量均在同一平面。
57.其中,步骤s503包括,根据以下公式计算垂直向量和旋转夹角:
ꢀ×ꢀ
==其中,为垂直向量;为z轴向量;为焊接方向向量;为z轴向量的x轴坐标值;为z轴向量的y轴坐标值;为z轴向量的z轴坐标值;为焊接方向向量的x轴坐标值;为焊接方向向量的y轴坐标值;为焊接方向向量的z轴坐标值;θ为旋转夹角;为z轴向量的模长;为焊接方向向量的模长;i代表x轴正方向的单位向量;j代表y轴正方向的单位向量;k代表z轴正方向的单位向量。
58.其中,θ实质上是绕旋转至所需的旋转角度,一般地由于机器人的末端姿态初始位姿为沿着基坐标系中z轴向量,因此θ等于机器人的末端从初始姿态绕旋转到指定的姿态所需要旋转的角度;其中,上述的x轴坐标值、y轴坐标值以及z轴坐标值都是根据机器人基坐标系获得;步骤s504,旋转轴角的表示形式为(,θ);步骤s505为现有技术,具体是将旋转轴角(,θ)转换为四元数形式,再由四元数形式转换为欧拉角形式,最终以欧拉角形式表示焊接轨迹的姿态数据(即姿态数据为欧拉角数据)。在实际应用中,将旋转轴角先转换为四元数形式可以避免万向节死锁现象,并且可以执行绕任意过原点的向量的旋转,方便快捷,比旋转矩阵效率更高;最后由四元数形式转换为欧拉角形式则可以更加形象直观地表示出焊接轨迹的姿态数据和姿态方向,具有明显直观的物理意义。
59.由上可知,本技术的机器人焊接轨迹生成装置,通过将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。通过在离线编程条
件下,使用仿真软件提取工件模型需要焊接的边线以确定焊接轨迹的位置,并确定焊接平面的法向量,根据法向量计算焊接轨迹的姿态数据,从而确定了焊接轨迹的位置和姿态,不需要人工示教及绘制轨迹,提高了获取机器人焊接轨迹数据的效率。
60.请参照图3,图3为本技术实施方式提供的一种电子设备的结构示意图,本技术提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当计算设备运行时,处理器301执行该计算机程序,以在执行时执行上述实施方式的任一可选的实现方式中的方法,以实现以下功能:将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。
61.本技术实施方式提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施方式的任一可选的实现方式中的方法,以实现以下功能:将待焊接的第一工件模型和第二工件模型导入仿真软件中;提取第一工件模型和第二工件模型之间的焊接边线,以获取焊接轨迹的位置数据;根据焊接边线获取第一工件模型的第一焊接平面和第二工件模型的第二焊接平面;获取第一焊接平面的第一平面法向量和第二焊接平面的第二平面法向量;根据第一平面法向量和第二平面法向量计算焊接轨迹的姿态数据。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(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),磁存储器,快闪存储器,磁盘或光盘。
62.在本技术所提供的实施方式中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
63.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
64.再者,在本技术各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
65.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
66.以上所述仅为本技术的实施方式而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1