CN110434856B - 一种焊接控制方法、装置、存储介质及焊接机器人 - Google Patents
一种焊接控制方法、装置、存储介质及焊接机器人 Download PDFInfo
- Publication number
- CN110434856B CN110434856B CN201910786235.0A CN201910786235A CN110434856B CN 110434856 B CN110434856 B CN 110434856B CN 201910786235 A CN201910786235 A CN 201910786235A CN 110434856 B CN110434856 B CN 110434856B
- Authority
- CN
- China
- Prior art keywords
- welding
- teaching
- welding robot
- dimensional model
- robot
- 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
- 238000003466 welding Methods 0.000 title claims abstract description 352
- 238000000034 method Methods 0.000 title claims abstract description 162
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000033001 locomotion Effects 0.000 claims abstract description 162
- 230000008569 process Effects 0.000 claims abstract description 98
- 238000004088 simulation Methods 0.000 claims abstract description 13
- 230000036544 posture Effects 0.000 claims description 27
- 230000008676 import Effects 0.000 claims description 23
- 238000012216 screening Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 14
- 238000011960 computer-aided design Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种焊接控制方法、装置、存储介质及焊接机器人,该方法包括:获取焊接机器人示教用的三维模型;在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹;根据所述运动轨迹,生成焊接机器人的焊接轨迹。本发明的方案,可以解决在焊接机器人的仿真软件的焊接工艺中,生成的焊接机器人的运行轨迹不够精确的问题,达到提升焊接机器人的运行轨迹精确性的效果。
Description
技术领域
本发明属于机器人技术领域,具体涉及一种焊接控制方法、装置、存储介质及焊接机器人,尤其涉及一种基于机器人仿真软件拖动示教方法实现的焊接工艺、装置、存储介质及焊接机器人。
背景技术
焊接机器人作为一种先进的焊接加工方式,己成为工业机器人的应用研究热点,它在现代制造业提高焊接产品的质量、降低加工成本和实现焊接自动化方面发挥了重要作用。
目前,在线示教和离线编程是焊接机器人作业控制的两种方法。在线示教又称物理示教,是指利用机器人示教盒手动驱动机器人焊枪逐个到达实际工件焊接点,调整并记录下机器人的位姿和焊接作业参数,然后利用再生模式运行程序完成焊接加工任务。离线编程是指在虚拟图形环境中通过人机交互提取有用的焊缝信息和机器人位姿信息,并将这些离线的示教信息结合焊接参数转化为机器人控制代码,然后进行仿真分析,待离线程序验证无误后下载到机器人的控制柜完成加工任务。但是,在焊接机器人作业控制时,在仿真软件的焊接工艺中,生成的焊接机器人的运行轨迹不够精确。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的目的在于,针对上述缺陷,提供一种焊接控制方法、装置、存储介质及焊接机器人,以解决在焊接机器人的仿真软件的焊接工艺中,生成的焊接机器人的运行轨迹不够精确的问题,达到提升焊接机器人的运行轨迹精确性的效果。
本发明提供一种焊接控制方法,包括:获取焊接机器人示教用的三维模型;在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹;根据所述运动轨迹,生成焊接机器人的焊接轨迹。
可选地,获取焊接机器人示教用的三维模型,包括:通过仿真软件中的三维建模模块,建立焊接机器人示教用的三维模型;所述仿真软件,包括:基于Qt和Open CASCADE实现的焊接机器人仿真软件;或者,通过仿真软件中的模型导入模块,自预存的机器人模型库中,导入所述焊接机器人的三维模型。
可选地,其中,建立焊接机器人示教用的三维模型,包括:在三维建模模块中,使用Open CASCADE图形库,实现基本三维模型的创建、选取、移动、以及对于不同图形间的布尔运算,得到所述焊接机器人的三维模型;或者,导入所述焊接机器人的三维模型,包括:在模型导入模块中,使用Assimp图形库,解析机器人模型库中所述焊接机器人的三维模型,实现对所述焊接机器人的三维模型的导入。
可选地,焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,包括:通过仿真软件中的拖动示教模块中,使用Qt作为编写工具,MSVC2015作为编译器,实现焊接机器人的焊枪末端点跟随控制模块的拖动而移动;在拖动的过程中,根据焊接工艺的需求选择移动的距离、方向和起止点;并在所述仿真软件中对选择的距离、方向和起止点进行控制。
可选地,其中,所述控制模块,包括:鼠标或按键;和/或,当选择沿着棱边移动时,焊枪末端点会沿着所述三维模型的棱边进行移动,生成棱边运动轨迹;当选择沿着表面移动时,焊枪末端点会沿着所述三维模型的表面进行移动,生成表面运动轨迹;所述表面运动轨迹和所述棱边运动轨迹,形成焊接机器人拖动示教产生的运动轨迹。
可选地,焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,还包括:对所述运动轨迹进行插补分析,获取插补点;对每个所述插补点求运动学逆解,得到每个所述插补点处的姿态;根据设定的相邻两个插补点之间的允许误差,筛选出目标插补点,并将筛选出的目标插补点及其姿态显示,得到拖动示教产生的最终运动轨迹。
与上述方法相匹配,本发明另一方面提供一种焊接控制装置,包括:获取单元,用于获取焊接机器人示教用的三维模型;控制单元,用于在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹;所述控制单元,还用于根据所述运动轨迹,生成焊接机器人的焊接轨迹。
可选地,所述获取单元获取焊接机器人示教用的三维模型,包括:通过仿真软件中的三维建模模块,建立焊接机器人示教用的三维模型;所述仿真软件,包括:基于Qt和OpenCASCADE实现的焊接机器人仿真软件;或者,通过仿真软件中的模型导入模块,自预存的机器人模型库中,导入所述焊接机器人的三维模型。
可选地,其中,所述获取单元建立焊接机器人示教用的三维模型,包括:在三维建模模块中,使用Open CASCADE图形库,实现基本三维模型的创建、选取、移动、以及对于不同图形间的布尔运算,得到所述焊接机器人的三维模型;或者,所述获取单元导入所述焊接机器人的三维模型,包括:在模型导入模块中,使用Assimp图形库,解析机器人模型库中所述焊接机器人的三维模型,实现对所述焊接机器人的三维模型的导入。
可选地,焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,包括:通过仿真软件中的拖动示教模块中,使用Qt作为编写工具,MSVC2015作为编译器,实现焊接机器人的焊枪末端点跟随控制模块的拖动而移动;在拖动的过程中,根据焊接工艺的需求选择移动的距离、方向和起止点;并在所述仿真软件中对选择的距离、方向和起止点进行控制。
可选地,其中,所述控制模块,包括:鼠标或按键;和/或,当选择沿着棱边移动时,焊枪末端点会沿着所述三维模型的棱边进行移动,生成棱边运动轨迹;当选择沿着表面移动时,焊枪末端点会沿着所述三维模型的表面进行移动,生成表面运动轨迹;所述表面运动轨迹和所述棱边运动轨迹,形成焊接机器人拖动示教产生的运动轨迹。
可选地,焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,还包括:对所述运动轨迹进行插补分析,获取插补点;对每个所述插补点求运动学逆解,得到每个所述插补点处的姿态;根据设定的相邻两个插补点之间的允许误差,筛选出目标插补点,并将筛选出的目标插补点及其姿态显示,得到拖动示教产生的最终运动轨迹。
与上述装置相匹配,本发明再一方面提供一种焊接机器人,包括:以上所述的焊接控制装置。
与上述方法相匹配,本发明再一方面提供一种存储介质,包括:所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行以上所述的焊接控制方法。
与上述方法相匹配,本发明再一方面提供一种焊接机器人,包括:处理器,用于执行多条指令;存储器,用于存储多条指令;其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行以上所述的焊接控制方法。
本发明的方案,通过使用混合式编程,将拖动示教方法加入到机器人仿真软件离线编程中,可以提高编程效率。
进一步,本发明的方案,通过使用仿真软件的三维建模模块,对目标点坐标进行设置,可以配合三维建模,提高拖动示教精度。
进一步,本发明的方案,通过使用仿真软件的三维建模模块和算法模块,建立或导入不同的模型,并根据轨迹算法公式生成更为复杂的运动轨迹,使拖动示教能够运用于更复杂的轨迹中,适用范围更广、通用性更强。
进一步,本发明的方案,通过利用三维模型表面或棱边直接生成机器人运动轨迹,结合对三维模型表面及棱边的轨迹生成,便于对复杂焊缝的规划和编程,提高了编程效率。
进一步,本发明的方案,通过利用仿真软件中模型表面或棱边进行轨迹生成,可以提升在仿真软件的焊接工艺中生成轨迹的精确性。
由此,本发明的方案,通过基于混合编程实现焊接机器人仿真软件,并使用该仿真软件作为拖动示教和焊接工艺的平台,提取三维模型的棱边,沿着表面或棱边拖动示教,生成焊缝轨迹,解决在焊接机器人的仿真软件的焊接工艺中,生成的焊接机器人的运行轨迹不够精确的问题,达到提升焊接机器人的运行轨迹精确性的效果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的焊接控制方法的一实施例的流程示意图;
图2为本发明的方法中焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程的一实施例的流程示意图;
图3为本发明的方法中对运动轨迹进行筛选和显示的一实施例的流程示意图;
图4为本发明的焊接控制装置的一实施例的结构示意图;
图5为本发明的焊接机器人的一实施例的拖动示教流程示意图。
结合附图,本发明实施例中附图标记如下:
102-获取单元;104-控制单元。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种焊接控制方法,如图1所示本发明的方法的一实施例的流程示意图。该焊接控制方法可以包括:步骤S110至步骤S130。
在步骤S110处,获取焊接机器人示教用的三维模型。
可选地,步骤S110中获取焊接机器人示教用的三维模型,可以包括以下任一种获取方式。
第一种获取方式:通过仿真软件中的三维建模模块,建立焊接机器人示教用的三维模型。
例如:通过仿真软件中的三维建模模块直接建立生成。
其中,所述仿真软件,可以包括:基于Qt和Open CASCADE实现的焊接机器人仿真软件。
例如:基于Qt(即面向对象的框架,具体是跨平台C++图形用户界面应用程序开发框架)和Open CASCADE(简称OCC,是CAD/CAE/CAM软件平台)实现机器人仿真软件。
由此,通过建立焊接机器人的三维模型,可以得到更加精准和可靠的焊接机器人模型。
更可选地,建立焊接机器人示教用的三维模型,可以包括:在三维建模模块中,使用Open CASCADE图形库,实现基本三维模型的创建、选取、移动、以及对于不同图形间的布尔运算,得到所述焊接机器人的三维模型。
例如:在三维建模模块中,使用了Open CASCADE图形库,实现了简单三维模型的创建、选取、移动,以及对于不同图形间的布尔运算,以此来获得较为复杂的几何体。
由此,通过仿真软件中的三维建模模块建立焊接机器人的三维模型,使得对焊接机器人的三维模型的建立简便且精准。
第二种获取方式:通过仿真软件中的模型导入模块,自预存的机器人模型库中,导入所述焊接机器人的三维模型。
例如:通过导入已有的三维模型,例如:通过导入机器人模型,即从已有的机器人库中导入需要使用的机器人模型,可参见图5中的过程①;配置完成后待用户使用。
由此,通过自机器人模型库中导入焊接机器人的三维模型,简单、高效。
更可选地,导入所述焊接机器人的三维模型,可以包括:在模型导入模块中,使用Assimp图形库,解析机器人模型库中所述焊接机器人的三维模型,实现对所述焊接机器人的三维模型的导入。
例如:在机器人模型导入模块中,使用了Assimp图形库(Open Asset ImportLibrary,开源图形库),能够解析各种文件里的数据,为模型的导入导出提供了良好的支持。
由此,通过仿真软件中的模型导入模块导入焊接机器人的三维模型,使得对焊接机器人的三维模型的导入精准且可靠。
在步骤S120处,在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹。
例如:利用Open CASCADE(简称OCC,是CAD/CAE/CAM软件平台)获取三维模型表面模型,通过拖动示教贴合模型表面移动,解决了普通示教中,生成轨迹穿过模型表面的问题。
可选地,可以结合图2所示本发明的方法中焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程的一实施例流程示意图,进一步说明步骤S120中焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程的具体过程,可以包括:步骤S210和步骤S220。
步骤S210,通过仿真软件中的拖动示教模块中,使用Qt作为编写工具,MSVC2015作为编译器,实现焊接机器人的焊枪末端点跟随控制模块的拖动而移动。
例如:在拖动示教模块中,使用了Qt作为编写工具,MSVC2015作为编译器,实现机器人端点跟随鼠标移动。
其中,所述控制模块,可以包括:鼠标或按键。
由此,通过多种形式的控制模块,使得对焊枪末端点的控制更加方便和灵活。
步骤S220,在拖动的过程中,根据焊接工艺的需求选择移动的距离、方向和起止点,并在所述仿真软件中对选择的距离、方向和起止点进行控制。
例如:使用仿真软件的三维建模模块,对目标点坐标进行设置,解决了拖动示教精度不高的问题;配合三维建模,提高拖动示教精度。这样,拖动示教结合仿真软件,可以显示运动轨迹,让我们可以直观地看到机器人的运动轨迹。
例如:可以对拖动方向及距离进行控制,提高生成运动轨迹的精度,并据此完成更为复杂的焊缝轨迹规划。
由此,通过在仿真软件中进行拖动示教,并控制移动距离、方向和起止点,可以实现更加精准且可控地拖动示教,有利于得到更加精准且可靠地运动轨迹。
其中,当选择沿着棱边移动时,焊枪末端点会沿着所述三维模型的棱边进行移动,生成棱边运动轨迹。当选择沿着表面移动时,焊枪末端点会沿着所述三维模型的表面进行移动,生成表面运动轨迹。所述表面运动轨迹和所述棱边运动轨迹,形成焊接机器人拖动示教产生的运动轨迹。
例如:可以提取三维模型的棱边,生成焊缝轨迹,提高编程效率及示教精度。可以提取三维模型的表面,沿着表面或棱边拖动示教,生成更为复杂精确的运动轨迹。这样,利用仿真软件中模型表面或棱边进行轨迹生成,解决了在仿真软件的焊接工艺中,生成轨迹不够精确的问题;结合对三维模型表面及棱边的轨迹生成,便于对复杂焊缝的规划和编程,提高了编程效率。
例如:拖动示教可以沿着三维模型的表面或棱边拖动,生成更为复杂的运动轨迹。其中,当我们选择沿着棱边移动时,机器人端点会沿着物体表面棱边进行移动,生成运动轨迹,可以参见图5中的过程④-⑤。当我们选择沿着物体表面移动时,机器人端点会沿着物体表面进行移动,生成运动轨迹,可以参见图5中的过程⑥-⑦。
由此,通过使焊枪末端点会沿着所述三维模型的表面棱边进行移动,生成表面运动轨迹、使焊枪末端点会沿着所述三维模型的表面进行移动,并最终形成焊接机器人拖动示教产生的运动轨迹,使得对该运动轨迹的获得方式更加简便、获得结果也更加精准。
进一步可选地,步骤S120中焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,还可以包括:对运动轨迹进行筛选和显示的过程。
下面结合图3所示本发明的方法中对运动轨迹进行筛选和显示的一实施例流程示意图,进一步说明对运动轨迹进行筛选和显示的具体过程,可以包括:步骤S310至步骤S330。
步骤S310,对所述运动轨迹进行插补分析,获取插补点。
步骤S320,对每个所述插补点求运动学逆解,得到每个所述插补点处的姿态。
步骤S330,根据设定的相邻两个插补点之间的允许误差,筛选出目标插补点,并将筛选出的目标插补点及其姿态显示,得到拖动示教产生的最终运动轨迹。
例如:需要对运动轨迹求插补,插补点就是轨迹上间隔一定距离所取的一个点;然后对这些插补点求运动学逆解,获得每点处的姿态,通过限定相邻点间姿态差别不能过大,来选出一条连贯的运动轨迹。
由此,通过对拖动示教产生的运动轨迹进行插补分析和筛选处理,并将最终得到的运动轨迹进行显示,一方面保证了所得运动轨迹的精准性,另一方面使得对运动轨迹的查看更加方便。
在步骤S130处,根据所述运动轨迹,生成焊接机器人的焊接轨迹,并以该焊接轨迹控制焊接机器人运动,从而完成焊接工艺。例如:根据拖动示教产生的运动轨迹,生成焊接轨迹,实现焊缝轨迹可以精确地沿着模型棱边或表面自动生成,实现焊接工艺在仿真软件上的生成运用,可以参见图5中的过程⑩。
例如:一种基于机器人仿真软件拖动示教方法实现的焊接工艺,将三维建模、轨迹生成及焊接工艺有效结合,有利于实现CAD(Computer Aided Design,计算机辅助设计)、CAM(Computer Aided Manufacturing,计算机辅助制造)、ROBOTICS(即机器人科学或技术)一体化。如:使用混合式编程,将拖动示教方法加入到机器人仿真软件离线编程中,解决了技术门槛过高、编程效率低下的问题,使用门槛降低、易学易用。
例如:使用仿真软件的三维建模模块和算法模块,建立或导入不同的模型,并根据轨迹算法公式生成更为复杂的运动轨迹,解决了拖动示教只能实现简单轨迹的问题;使用仿真软件作为拖动示教和焊接工艺的平台,结合仿真软件,使拖动示教能够运用于更复杂的轨迹中。如:利用三维模型表面或棱边直接生成机器人运动轨迹,解决了机器人运动轨迹不精确的问题。
由此,通过基于焊接机器人的三维模型进行拖动示教,并将产生的运动轨迹作为焊接机器人的焊接轨迹,以基于该焊接轨迹进行离线编程完成焊接工艺,由于得到的焊接轨迹精准性好,所以有利于提升焊接工艺实现的准确性和可靠性。
经大量的试验验证,采用本实施例的技术方案,通过使用混合式编程,将拖动示教方法加入到机器人仿真软件离线编程中,可以提高编程效率。
根据本发明的实施例,还提供了对应于焊接控制方法的一种焊接控制装置。参见图4所示本发明的装置的一实施例的结构示意图。该焊接控制装置可以包括:获取单元102和控制单元104。
在一个可选例子中,获取单元102,可以用于获取焊接机器人示教用的三维模型。该获取单元102的具体功能及处理参见步骤S110。
可选地,所述获取单元102获取焊接机器人示教用的三维模型,可以包括,可以包括以下任一种获取方式。
第一种获取方式:所述获取单元102,具体还可以用于通过仿真软件中的三维建模模块,建立焊接机器人示教用的三维模型。
例如:通过仿真软件中的三维建模模块直接建立生成。
其中,所述仿真软件,可以包括:基于Qt和Open CASCADE实现的焊接机器人仿真软件。
例如:基于Qt(即面向对象的框架,具体是跨平台C++图形用户界面应用程序开发框架)和Open CASCADE(简称OCC,是CAD/CAE/CAM软件平台)实现机器人仿真软件。
由此,通过建立焊接机器人的三维模型,可以得到更加精准和可靠的焊接机器人模型。
所述获取单元102建立焊接机器人示教用的三维模型,可以包括:所述获取单元102,具体还可以用于在三维建模模块中,使用Open CASCADE图形库,实现基本三维模型的创建、选取、移动、以及对于不同图形间的布尔运算,得到所述焊接机器人的三维模型。
例如:在三维建模模块中,使用了Open CASCADE图形库,实现了简单三维模型的创建、选取、移动,以及对于不同图形间的布尔运算,以此来获得较为复杂的几何体。
由此,通过仿真软件中的三维建模模块建立焊接机器人的三维模型,使得对焊接机器人的三维模型的建立简便且精准。
第二种获取方式:所述获取单元102,具体还可以用于通过仿真软件中的模型导入模块,自预存的机器人模型库中,导入所述焊接机器人的三维模型。
例如:通过导入已有的三维模型,例如:通过导入机器人模型,即从已有的机器人库中导入需要使用的机器人模型,可参见图5中的过程①;配置完成后待用户使用。
由此,通过自机器人模型库中导入焊接机器人的三维模型,简单、高效。
更可选地,所述获取单元102导入所述焊接机器人的三维模型,可以包括:所述获取单元102,具体还可以用于在模型导入模块中,使用Assimp图形库,解析机器人模型库中所述焊接机器人的三维模型,实现对所述焊接机器人的三维模型的导入。
例如:在机器人模型导入模块中,使用了Assimp图形库(Open Asset ImportLibrary,开源图形库),能够解析各种文件里的数据,为模型的导入导出提供了良好的支持。
由此,通过仿真软件中的模型导入模块导入焊接机器人的三维模型,使得对焊接机器人的三维模型的导入精准且可靠。
在一个可选例子中,控制单元104,可以用于在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹。该控制单元104的具体功能及处理参见步骤S120。
例如:利用Open CASCADE(简称OCC,是CAD/CAE/CAM软件平台)获取三维模型表面模型,通过拖动示教贴合模型表面移动,解决了普通示教中,生成轨迹穿过模型表面的问题。
可选地,所述控制单元104焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,可以包括:所述控制单元104,具体还可以用于通过仿真软件中的拖动示教模块中,使用Qt作为编写工具,MSVC2015作为编译器,实现焊接机器人的焊枪末端点跟随控制模块的拖动而移动。该控制单元104的具体功能及处理还参见步骤S210。
例如:在拖动示教模块中,使用了Qt作为编写工具,MSVC2015作为编译器,实现机器人端点跟随鼠标移动。
其中,所述控制模块,可以包括:鼠标或按键。
由此,通过多种形式的控制模块,使得对焊枪末端点的控制更加方便和灵活。
所述控制单元104,具体还可以用于在拖动的过程中,根据焊接工艺的需求选择移动的距离、方向和起止点,并在所述仿真软件中对选择的距离、方向和起止点进行控制。该控制单元104的具体功能及处理还参见步骤S220。
例如:使用仿真软件的三维建模模块,对目标点坐标进行设置,解决了拖动示教精度不高的问题;配合三维建模,提高拖动示教精度。这样,拖动示教结合仿真软件,可以显示运动轨迹,让我们可以直观地看到机器人的运动轨迹。
例如:可以对拖动方向及距离进行控制,提高生成运动轨迹的精度,并据此完成更为复杂的焊缝轨迹规划。
由此,通过在仿真软件中进行拖动示教,并控制移动距离、方向和起止点,可以实现更加精准且可控地拖动示教,有利于得到更加精准且可靠地运动轨迹。
其中,当选择沿着棱边移动时,焊枪末端点会沿着所述三维模型的棱边进行移动,生成棱边运动轨迹。当选择沿着表面移动时,焊枪末端点会沿着所述三维模型的表面进行移动,生成表面运动轨迹。所述表面运动轨迹和所述棱边运动轨迹,形成焊接机器人拖动示教产生的运动轨迹。
例如:可以提取三维模型的棱边,生成焊缝轨迹,提高编程效率及示教精度。可以提取三维模型的表面,沿着表面或棱边拖动示教,生成更为复杂精确的运动轨迹。这样,利用仿真软件中模型表面或棱边进行轨迹生成,解决了在仿真软件的焊接工艺中,生成轨迹不够精确的问题;结合对三维模型表面及棱边的轨迹生成,便于对复杂焊缝的规划和编程,提高了编程效率。
例如:拖动示教可以沿着三维模型的表面或棱边拖动,生成更为复杂的运动轨迹。其中,当我们选择沿着棱边移动时,机器人端点会沿着物体表面棱边进行移动,生成运动轨迹,可以参见图5中的过程④-⑤。当我们选择沿着物体表面移动时,机器人端点会沿着物体表面进行移动,生成运动轨迹,可以参见图5中的过程⑥-⑦。
由此,通过使焊枪末端点会沿着所述三维模型的表面棱边进行移动,生成表面运动轨迹、使焊枪末端点会沿着所述三维模型的表面进行移动,并最终形成焊接机器人拖动示教产生的运动轨迹,使得对该运动轨迹的获得方式更加简便、获得结果也更加精准。
进一步可选地,所述控制单元104焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,还可以包括:对运动轨迹进行筛选和显示的过程。
所述控制单元104,具体还可以用于对所述运动轨迹进行插补分析,获取插补点。该控制单元104的具体功能及处理还参见步骤S310。
所述控制单元104,具体还可以用于对每个所述插补点求运动学逆解,得到每个所述插补点处的姿态。该控制单元104的具体功能及处理还参见步骤S320。
所述控制单元104,具体还可以用于根据设定的相邻两个插补点之间的允许误差,筛选出目标插补点,并将筛选出的目标插补点及其姿态显示,得到拖动示教产生的最终运动轨迹。该控制单元104的具体功能及处理还参见步骤S330。
例如:需要对运动轨迹求插补,插补点就是轨迹上间隔一定距离所取的一个点;然后对这些插补点求运动学逆解,获得每点处的姿态,通过限定相邻点间姿态差别不能过大,来选出一条连贯的运动轨迹。
由此,通过对拖动示教产生的运动轨迹进行插补分析和筛选处理,并将最终得到的运动轨迹进行显示,一方面保证了所得运动轨迹的精准性,另一方面使得对运动轨迹的查看更加方便。
在一个可选例子中,所述控制单元104,还可以用于根据所述运动轨迹,生成焊接机器人的焊接轨迹,并以该焊接轨迹控制焊接机器人运动,从而完成焊接工艺。该控制单元104的具体功能及处理还参见步骤S130。例如:根据拖动示教产生的运动轨迹,生成焊接轨迹,实现焊缝轨迹可以精确地沿着模型棱边或表面自动生成,实现焊接工艺在仿真软件上的生成运用,可以参见图5中的过程⑩。
例如:一种基于机器人仿真软件拖动示教方法实现的焊接工艺,将三维建模、轨迹生成及焊接工艺有效结合,有利于实现CAD(Computer Aided Design,计算机辅助设计)、CAM(Computer Aided Manufacturing,计算机辅助制造)、ROBOTICS(即机器人科学或技术)一体化。如:使用混合式编程,将拖动示教方法加入到机器人仿真软件离线编程中,解决了技术门槛过高、编程效率低下的问题,使用门槛降低、易学易用。
例如:使用仿真软件的三维建模模块和算法模块,建立或导入不同的模型,并根据轨迹算法公式生成更为复杂的运动轨迹,解决了拖动示教只能实现简单轨迹的问题;使用仿真软件作为拖动示教和焊接工艺的平台,结合仿真软件,使拖动示教能够运用于更复杂的轨迹中。如:利用三维模型表面或棱边直接生成机器人运动轨迹,解决了机器人运动轨迹不精确的问题。
由此,通过基于焊接机器人的三维模型进行拖动示教,并将产生的运动轨迹作为焊接机器人的焊接轨迹,以基于该焊接轨迹进行离线编程完成焊接工艺,由于得到的焊接轨迹精准性好,所以有利于提升焊接工艺实现的准确性和可靠性。
由于本实施例的装置所实现的处理及功能基本相应于前述图1至图3所示的方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过使用仿真软件的三维建模模块,对目标点坐标进行设置,可以配合三维建模,提高拖动示教精度。
根据本发明的实施例,还提供了对应于焊接控制装置的一种焊接机器人。该焊接机器人可以包括:以上所述的焊接控制装置。
在一个可选例子中,本发明的方案,提供一种基于机器人仿真软件拖动示教方法实现的焊接工艺,将三维建模、轨迹生成及焊接工艺有效结合,有利于实现CAD(ComputerAided Design,计算机辅助设计)、CAM(Computer Aided Manufacturing,计算机辅助制造)、ROBOTICS(即机器人科学或技术)一体化。
在一个可选例子中,本发明的方案,使用混合式编程,将拖动示教方法加入到机器人仿真软件离线编程中,解决了技术门槛过高、编程效率低下的问题,使用门槛降低、易学易用。其中,混合编程是指使用两种或两种以上的程序设计语言来开发应用程序的过程。
例如:基于Qt(即面向对象的框架,具体是跨平台C++图形用户界面应用程序开发框架)和Open CASCADE(简称OCC,是CAD/CAE/CAM软件平台)实现机器人仿真软件。其中,CAE(Computer Aided Engineering)是指工程设计中的计算机辅助工程。
在一个可选例子中,本发明的方案,使用仿真软件的三维建模模块,对目标点坐标进行设置,解决了拖动示教精度不高的问题;配合三维建模,提高拖动示教精度。这样,拖动示教结合仿真软件,可以显示运动轨迹,让我们可以直观地看到机器人的运动轨迹。
例如:将拖动示教与目标点位示教相结合,具体设置目标点位坐标,可以解决拖动示教精度问题。其中,如果在平面,拖动方向可以自己设置,如果在棱边,拖动方向为棱边方向,拖动距离可以自行设置移动距离,即沿着给定方向移动一段固定距离。
可选地,可以对拖动方向及距离进行控制,提高生成运动轨迹的精度,并据此完成更为复杂的焊缝轨迹规划。
可选地,本发明的方案,使用仿真软件的三维建模模块和算法模块,建立或导入不同的模型,并根据轨迹算法公式,生成更为复杂的运动轨迹,解决了拖动示教只能实现简单轨迹的问题;使用仿真软件作为拖动示教和焊接工艺的平台,结合仿真软件,使拖动示教能够运用于更复杂的轨迹中。
例如:根据轨迹算法公式,生成更为复杂的运动轨迹,可以包括:轨迹主要是通过Open CASCADE对图形表面信息进行提取,根据已有图形表面生成新的轨迹,可以拖动示教点沿着复杂图形表面、棱边移动,生成更为复杂的运动轨迹。
例如:更复杂的轨迹如圆弧状、曲线状的焊缝,在实际焊接时会非常不方便示教,通过仿真软件,导入模型几何图形,再提取表面、棱边信息,然后生成沿表面、棱边运动的运动轨迹。
在一个可选例子中,本发明的方案,利用三维模型表面或棱边直接生成机器人运动轨迹,解决了机器人运动轨迹不精确的问题;利用Open CASCADE(Open Computer AidedSoftware Computer Aided Designand Engineering,简称OCC,运行控制中心)获取三维模型表面模型,通过拖动示教贴合模型表面移动,解决了普通示教中,生成轨迹穿过模型表面的问题。
可选地,可以提取三维模型的棱边,生成焊缝轨迹,提高编程效率及示教精度。
可选地,可以提取三维模型的表面,沿着表面或棱边拖动示教,生成更为复杂精确的运动轨迹。
这样,利用仿真软件中模型表面或棱边进行轨迹生成,解决了在仿真软件的焊接工艺中,生成轨迹不够精确的问题;结合对三维模型表面及棱边的轨迹生成,便于对复杂焊缝的规划和编程,提高了编程效率。
在一个可选具体实施方式中,可以参见图5所示的例子,对本发明的方案的具体实现过程进行示例性说明。
在一个可选具体例子中,如图5所示,本发明的方案提供的一种基于机器人仿真软件的拖动示教方法,可以作为单独作为焊接这一工艺的一种实现方法。其实现步骤如下:
步骤1、获得示教用的三维模型。
可选地,可以通过两种方法获得示教用的三维模型:第一种是通过仿真软件中的三维建模模块直接建立生成;另一种是通过导入已有的三维模型,例如:通过导入机器人模型,即从已有的机器人库中导入需要使用的机器人模型,可参见图5中的过程①;配置完成后待用户使用。其中,配置可以是预先完成的,完成后使用时不用配置的。
机器人都是已经配置好的,如机器人每个关节的参数、机器人正逆解的算法公式、机器人的限位等都已经设置好了,当用户导入机器人后,这些参数都会同时导入进来,并在界面上显示刚才导入的机器人,此时就可以拖动示教点进行移动了。
步骤2、在三维建模模块中,使用了Open CASCADE图形库,实现了简单三维模型的创建、选取、移动,以及对于不同图形间的布尔运算,以此来获得较为复杂的几何体。例如:简单三维模型可以是立方体、球体、圆锥、圆柱这类简单几何体,OCC有集成的算法库,可以生成这些简单几何体;直接给定参数,调用函数就可生成,选取就是指选中想要几何体、高亮显示,移动就是对几何体的位置姿态进行重新设置,布尔运算就是对不同几何体求交、并、补操作,来完成不同几何体之间的组合,生成更为复杂的几何体。
步骤3、在机器人模型导入模块中,使用了Assimp图形库(Open Asset ImportLibrary,开源图形库),能够解析各种文件里的数据,为模型的导入导出提供了良好的支持。例如:机器人模型导入导出模块,也是仿真软件中的一个模块,该软件具体包括仿真界面模块、三维建模模块、模型导入导出模块、机器人工具安装模块、后置代码生成模块、语言解析器模块、网络模块。
步骤4、机器人仿真软件有两种方式进行模拟仿真,一种是通过离线编程实现,另一种是通过拖动示教实现。具体地,可以将离线编程模式切换为拖动示教模式,可以参见图5中的过程②。
其中,在工业机器人的设计及应用过程中,经常需要用到机器人仿真软件,通过仿真软件来模拟机器人的状态及性能参数。在目前工业机器人仿真软件领域,通常采用离线编程的方法,来实现模拟仿真,该方法要求操作者具有一定的机器人技术知识和经验。在现有的机器人示教方法中,包括示教盒示教和拖动示教。传统的示教盒示教,操作效率较低,且要求操作者具备机器人编程经验,难以上手。
而拖动示教通过操作人员手动拖动机器人末端到目标位置,记录当前机器人姿态及目标点,完成示教操作;与示教盒示教相比,极大地提高了示教友好度和效率。
步骤5、在拖动示教模块中,使用了Qt作为编写工具,MSVC2015作为编译器,实现机器人端点跟随鼠标移动。
其中,端点指机器人末端点,可以是焊枪末端点,也就是工具坐标点,也可以是机器人第六轴端点,用来连接工具。
跟随鼠标移动是指可以用鼠标拖动末端点在三维空间移动,就像现实中的辅助机器人,可以用手去拖动一样,此处可以用鼠标去拖动。
拖动示教又可以在两种不同的坐标系下进行,一种是以地面为衡量标准的大地坐标系,另一种是以模型为衡量标准的模型坐标系。可以选择模型坐标系,将模型表面特征作为参考对象。我们用鼠标实现的移动,通常可以视为在一个二维空间内的移动,因为电脑屏幕本身就是二维的,不能直接在一个二维空间内实现三维移动,所以我们在大地坐标系中实现的拖动,也是基于某一个平面进行的,通常我们将采用XOY、YOZ、XOZ平面,通过在不同的平面内进行移动,实现将末端点移动至三维空间中的任意位置。
具体地,可以将模型表面作为参考对象,就是将模型表面作为此处的XOY平面,使机器人末端点沿着模型表面进行移动,因为模型表面细分其实也就是一个个三角面片,可以当做二维平面,也就可以使机器人末端点沿着模型表面进行移动,可以参见图5中的过程③。
步骤6、拖动示教可以沿着三维模型的表面或棱边拖动,生成更为复杂的运动轨迹。例如:根据模型表面的复杂程度,可以生成不同复杂程度的运动轨迹,提取三维模型表面棱边,比如这个棱边是一个曲线,那么提取出来的运动轨迹就是一个曲线,也就是更为复杂的运动轨迹。
其中,当我们选择沿着棱边移动时,机器人端点会沿着物体表面棱边进行移动,生成运动轨迹,可以参见图5中的过程④-⑤。
当我们选择沿着物体表面移动时,机器人端点会沿着物体表面进行移动,生成运动轨迹,可以参见图5中的过程⑥-⑦。
步骤7、拖动示教结合仿真软件,可以显示运动轨迹,让我们可以直观地看到机器人的运动轨迹。
进一步地,通过对机器人运动轨迹进行插补分析,获取插补点,机器人可以通过给定目标点,再通过求机器人运动学逆解,获得在目标点处的姿态,也就是每个关节的旋转角度。
具体地,通常机器人在一点处的运动学逆解有八个,我们需要规划机器人在整条运动轨迹上能够连贯地运动,就需要对运动轨迹求插补,插补点就是轨迹上间隔一定距离所取的一个点;然后对这些插补点求运动学逆解,获得每点处的姿态,通过限定相邻点间姿态差别不能过大,来选出一条连贯的运动轨迹。
其中,在每一个插补点保存有机器人在该点位姿信息,通过将所有的插补点显示出来,达到显示机器人运动轨迹的作用。
步骤8、基于仿真软件,对拖动方向及距离进行精确控制,可以提高拖动示教精度。
其中,通过设置我们需要的移动距离、方向及起止点,以及我们需要沿着移动的棱边或表面,拖动机器人端点生成一段精确的运动轨迹,可以参见图5中的过程⑧-⑨。
步骤9、根据拖动示教产生的运动轨迹,生成焊接轨迹,实现焊缝轨迹可以精确地沿着模型棱边或表面自动生成,实现焊接工艺在仿真软件上的生成运用,可以参见图5中的过程⑩。例如:生成焊接轨迹时,需要将坐标系换成工具坐标系,也就是机器人末端点换成焊枪末端点,然后在工具坐标系中,让焊枪沿着运动轨迹移动,运动轨迹和焊接轨迹是一样的,或者根据具体工艺要求,可能会在运动轨迹上提高一点,方便焊接。
其中,本发明的方案中,沿着模型棱边、表面移动的功能,并且能够根据需要确定移动方向、距离,生成运动轨迹,这在实际应用中也更方便。另外,OpenSceneGraph(即,一个开放源码,跨平台的图形开发包)只是对OpenGL(Open Graphics Library,开放图形库或者开放式图形库)做了一个面向对象的封装,不能实现关于图形更为复杂的算法操作;而OpenCASCADE是一个真正意义上的工业级的三维建模工具,更偏向于算法运用,能够对图形进行更复杂的功能操作,并且实现了对模型表面、棱边数据的提取,与基于表面棱边的拖动示教与轨迹生成,更具有实用性。
由于本实施例的焊接机器人所实现的处理及功能基本相应于前述图4所示的装置的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过使用仿真软件的三维建模模块和算法模块,建立或导入不同的模型,并根据轨迹算法公式生成更为复杂的运动轨迹,使拖动示教能够运用于更复杂的轨迹中,适用范围更广、通用性更强。
根据本发明的实施例,还提供了对应于焊接控制方法的一种存储介质。该存储介质,可以包括:所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行以上所述的焊接控制方法。
由于本实施例的存储介质所实现的处理及功能基本相应于前述图1至图3所示的方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过利用三维模型表面或棱边直接生成机器人运动轨迹,结合对三维模型表面及棱边的轨迹生成,便于对复杂焊缝的规划和编程,提高了编程效率。
根据本发明的实施例,还提供了对应于焊接控制方法的一种焊接机器人。该焊接机器人,可以包括:处理器,用于执行多条指令;存储器,用于存储多条指令;其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行以上所述的焊接控制方法。
由于本实施例的焊接机器人所实现的处理及功能基本相应于前述图1至图3所示的方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过利用仿真软件中模型表面或棱边进行轨迹生成,可以提升在仿真软件的焊接工艺中生成轨迹的精确性。
综上,本领域技术人员容易理解的是,在不冲突的前提下,上述各有利方式可以自由地组合、叠加。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种焊接控制方法,其特征在于,包括:
获取焊接机器人示教用的三维模型;
在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹;
根据所述运动轨迹,生成焊接机器人的焊接轨迹;通过基于混合编程实现焊接机器人仿真软件,并使用该仿真软件作为拖动示教和焊接工艺的平台,提取三维模型的棱边,沿着表面或棱边拖动示教,生成焊缝轨迹;
其中,轨迹主要是通过Open CASCADE对图形表面信息进行提取,根据已有图形表面生成新的轨迹,拖动示教点沿着复杂图形表面、棱边移动,生成更为复杂的运动轨迹;所述主要是通过Open CASCADE对图形表面信息进行提取的轨迹,是所述运动轨迹;所述新的轨迹,是所述焊接轨迹;所述更为复杂的运动轨迹,是所述焊缝轨迹。
2.根据权利要求1所述的方法,其特征在于,其中,
获取焊接机器人示教用的三维模型,包括:
通过仿真软件中的三维建模模块,建立焊接机器人示教用的三维模型;所述仿真软件,包括:基于Qt和Open CASCADE实现的焊接机器人仿真软件;或者,
通过仿真软件中的模型导入模块,自预存的机器人模型库中,导入所述焊接机器人的三维模型;
和/或,
在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹,包括:
通过仿真软件中的拖动示教模块中,使用Qt作为编写工具,MSVC2015作为编译器,实现焊接机器人的焊枪末端点跟随控制模块的拖动而移动;
在拖动的过程中,根据焊接工艺的需求选择移动的距离、方向和起止点;并在所述仿真软件中对选择的距离、方向和起止点进行控制。
3.根据权利要求2所述的方法,其特征在于,其中,
建立焊接机器人示教用的三维模型,包括:
在三维建模模块中,使用Open CASCADE图形库,实现基本三维模型的创建、选取、移动、以及对于不同图形间的布尔运算,得到所述焊接机器人的三维模型;
或者,
导入所述焊接机器人的三维模型,包括:
在模型导入模块中,使用Assimp图形库,解析机器人模型库中所述焊接机器人的三维模型,实现对所述焊接机器人的三维模型的导入;
和/或,
所述控制模块,包括:鼠标或按键;和/或,
当选择沿着棱边移动时,焊枪末端点会沿着所述三维模型的棱边进行移动,生成棱边运动轨迹;当选择沿着表面移动时,焊枪末端点会沿着所述三维模型的表面进行移动,生成表面运动轨迹;所述表面运动轨迹和所述棱边运动轨迹,形成焊接机器人拖动示教产生的运动轨迹。
4.根据权利要求2所述的方法,其特征在于,焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,还包括:
对所述运动轨迹进行插补分析,获取插补点;
对每个所述插补点求运动学逆解,得到每个所述插补点处的姿态;
根据设定的相邻两个插补点之间的允许误差,筛选出目标插补点,并将筛选出的目标插补点及其姿态显示,得到拖动示教产生的最终运动轨迹。
5.一种焊接控制装置,其特征在于,包括:
获取单元,用于获取焊接机器人示教用的三维模型;
控制单元,用于在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹;
所述控制单元,还用于根据所述运动轨迹,生成焊接机器人的焊接轨迹;通过基于混合编程实现焊接机器人仿真软件,并使用该仿真软件作为拖动示教和焊接工艺的平台,提取三维模型的棱边,沿着表面或棱边拖动示教,生成焊缝轨迹;其中,轨迹主要是通过OpenCASCADE对图形表面信息进行提取,根据已有图形表面生成新的轨迹,拖动示教点沿着复杂图形表面、棱边移动,生成更为复杂的运动轨迹;所述主要是通过Open CASCADE对图形表面信息进行提取的轨迹,是所述运动轨迹;所述新的轨迹,是所述焊接轨迹;所述更为复杂的运动轨迹,是所述焊缝轨迹。
6.根据权利要求5所述的装置,其特征在于,其中,
所述获取单元获取焊接机器人示教用的三维模型,包括:
通过仿真软件中的三维建模模块,建立焊接机器人示教用的三维模型;所述仿真软件,包括:基于Qt和Open CASCADE实现的焊接机器人仿真软件;或者,
通过仿真软件中的模型导入模块,自预存的机器人模型库中,导入所述焊接机器人的三维模型;
和/或,
所述控制单元在焊接机器人的模拟仿真模式由离线编程模式切换为拖动示教模式的情况下,在焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程中,记录焊接机器人的姿态及目标点,形成拖动示教产生的运动轨迹,包括:
通过仿真软件中的拖动示教模块中,使用Qt作为编写工具,MSVC2015作为编译器,实现焊接机器人的焊枪末端点跟随控制模块的拖动而移动;
在拖动的过程中,根据焊接工艺的需求选择移动的距离、方向和起止点;并在所述仿真软件中对选择的距离、方向和起止点进行控制。
7.根据权利要求6所述的装置,其特征在于,其中,
所述获取单元建立焊接机器人示教用的三维模型,包括:
在三维建模模块中,使用Open CASCADE图形库,实现基本三维模型的创建、选取、移动、以及对于不同图形间的布尔运算,得到所述焊接机器人的三维模型;
或者,
所述获取单元导入所述焊接机器人的三维模型,包括:
在模型导入模块中,使用Assimp图形库,解析机器人模型库中所述焊接机器人的三维模型,实现对所述焊接机器人的三维模型的导入;
和/或,
所述控制模块,包括:鼠标或按键;和/或,
当选择沿着棱边移动时,焊枪末端点会沿着所述三维模型的棱边进行移动,生成棱边运动轨迹;当选择沿着表面移动时,焊枪末端点会沿着所述三维模型的表面进行移动,生成表面运动轨迹;所述表面运动轨迹和所述棱边运动轨迹,形成焊接机器人拖动示教产生的运动轨迹。
8.根据权利要求7所述的装置,其特征在于,焊接机器人的焊枪末端点跟随控制模块的拖动而沿着该三维模型的表面或棱边移动实现拖动示教的过程,还包括:
对所述运动轨迹进行插补分析,获取插补点;
对每个所述插补点求运动学逆解,得到每个所述插补点处的姿态;
根据设定的相邻两个插补点之间的允许误差,筛选出目标插补点,并将筛选出的目标插补点及其姿态显示,得到拖动示教产生的最终运动轨迹。
9.一种焊接机器人,其特征在于,包括:如权利要求5-8任一项所述的焊接控制装置;
或者,
包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求1-4任一项所述的焊接控制方法。
10.一种存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1-4任一项所述的焊接控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910786235.0A CN110434856B (zh) | 2019-08-23 | 2019-08-23 | 一种焊接控制方法、装置、存储介质及焊接机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910786235.0A CN110434856B (zh) | 2019-08-23 | 2019-08-23 | 一种焊接控制方法、装置、存储介质及焊接机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110434856A CN110434856A (zh) | 2019-11-12 |
CN110434856B true CN110434856B (zh) | 2021-04-20 |
Family
ID=68437474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910786235.0A Active CN110434856B (zh) | 2019-08-23 | 2019-08-23 | 一种焊接控制方法、装置、存储介质及焊接机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110434856B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928244A (zh) * | 2019-11-29 | 2020-03-27 | 深圳泰德半导体装备有限公司 | 焊接控制方法、焊接设备及存储介质 |
CN111037549B (zh) * | 2019-11-29 | 2022-09-09 | 重庆顺泰铁塔制造有限公司 | 基于3D扫描与TensorFlow算法的焊接轨迹处理方法及系统 |
CN111805540A (zh) * | 2020-08-20 | 2020-10-23 | 北京迁移科技有限公司 | 工件抓取位姿的确定方法、装置、设备及存储介质 |
CN112365571B (zh) * | 2020-09-30 | 2023-10-03 | 深圳市为汉科技有限公司 | 仿真焊接效果图的生成方法及相关装置 |
CN113146001A (zh) * | 2021-03-13 | 2021-07-23 | 无锡信捷电气股份有限公司 | 一种弧焊机器人的示教器系统及示教方法 |
CN113290560A (zh) * | 2021-05-27 | 2021-08-24 | 乐聚(深圳)机器人技术有限公司 | 机器人运动控制方法、装置、电子设备及存储介质 |
CN113857709B (zh) * | 2021-11-19 | 2022-11-29 | 中国航发沈阳黎明航空发动机有限责任公司 | 一种基于切削力预调整的焊接类整体叶盘焊缝质量控制方法 |
CN114799639B (zh) * | 2022-05-16 | 2023-03-14 | 广州东焊智能装备有限公司 | 一种基于工业机器人的曲线焊接系统 |
CN117655601A (zh) * | 2023-12-12 | 2024-03-08 | 中船舰客教育科技(北京)有限公司 | 基于mr的智能焊接方法、装置、计算机设备和介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170087717A1 (en) * | 2014-08-05 | 2017-03-30 | Panasonic Intellectual Property Management Co., Ltd. | Offline teaching device |
CN104750023A (zh) * | 2015-02-13 | 2015-07-01 | 河北联合大学 | 一种基于模型的焊接机器人离线示教数据的获取方法 |
CN108349085B (zh) * | 2015-10-30 | 2021-12-28 | 株式会社安川电机 | 机器人教学装置、计算机程序和机器人教学方法 |
CN106557844B (zh) * | 2016-11-23 | 2020-02-14 | 华东理工大学 | 一种焊接机器人路径规划方法 |
CN107220099A (zh) * | 2017-06-20 | 2017-09-29 | 华中科技大学 | 一种基于三维模型的机器人可视化虚拟示教系统及方法 |
JP6683671B2 (ja) * | 2017-11-24 | 2020-04-22 | ファナック株式会社 | ジョグ座標系を設定するロボットの制御装置 |
-
2019
- 2019-08-23 CN CN201910786235.0A patent/CN110434856B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110434856A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110434856B (zh) | 一种焊接控制方法、装置、存储介质及焊接机器人 | |
CN103085072B (zh) | 基于三维建模软件实现工业机器人离线编程的方法 | |
CN110315534B (zh) | 船舶焊接机器人离线编程的处理方法和系统 | |
CN106041928B (zh) | 一种基于工件模型的机器人作业任务生成方法 | |
Pan et al. | Recent progress on programming methods for industrial robots | |
US10525594B2 (en) | Teaching system, robot system, and teaching method | |
US9390203B2 (en) | Method and system for off-line programming of multiple interacting robots | |
US9104197B2 (en) | Method and system for off-line programming of multiple interacting robots | |
JP3673749B2 (ja) | シミュレーション装置 | |
CN104858537B (zh) | 控制机器人切割工件坡口的方法及装置 | |
US9311608B2 (en) | Teaching system and teaching method | |
CN106182018A (zh) | 一种基于工件三维图形的磨抛工业机器人离线编程方法 | |
CN104457566A (zh) | 一种无须示教机器人系统的空间定位方法 | |
GB2473129A (en) | Off-line robot teaching method | |
JP5502348B2 (ja) | シミュレーション方法 | |
CN107220099A (zh) | 一种基于三维模型的机器人可视化虚拟示教系统及方法 | |
CN111745266A (zh) | 基于3d视觉寻位的瓦楞板焊接轨迹生成方法及系统 | |
CN105786483A (zh) | 基于平板电脑的焊接机器人离线编程系统及其离线编程方法 | |
Fang et al. | Orientation planning of robot end-effector using augmented reality | |
JP6469159B2 (ja) | 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法 | |
Fang et al. | Robot path and end-effector orientation planning using augmented reality | |
Makkonen et al. | A 3D model based control of an excavator | |
CN111113426A (zh) | 一种基于cad平台的机器人离线编程系统 | |
CN111113423A (zh) | 一种轮毂去毛刺机器人编程系统 | |
CN110053045A (zh) | 工件表面轮廓线获取方法、干涉检测方法和相关装置 |
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 |