ABB机器人SmarTac程序实例.doc
ABB机器人程序指令详解

ABB机器人程序指令详解目录一、ABB机器人基础 (3)1.1 ABB机器人简介 (4)1.2 ABB机器人的应用领域 (5)1.3 ABB机器人的技术特点 (6)二、ABB机器人编程基础 (7)2.1 ABB机器人编程语言概述 (9)2.2 ABB机器人编程环境介绍 (9)2.3 ABB机器人编程基本操作 (11)三、ABB机器人指令详解 (13)3.1 基本指令 (14)3.1.1 起始指令 (15)3.1.2 结束指令 (17)3.1.3 运行指令 (18)3.2 控制指令 (20)3.2.1 条件判断指令 (22)3.2.2 循环控制指令 (24)3.2.3 子程序调用指令 (24)3.3 位置控制指令 (25)3.3.1 直线运动指令 (27)3.3.2 圆弧运动指令 (28)3.3.3 速度控制指令 (29)3.4 动作控制指令 (30)3.4.1 转弯指令 (32)3.4.2 速度控制指令 (34)3.4.3 力控制指令 (35)3.5 逻辑运算指令 (37)3.5.1 与运算指令 (38)3.5.3 非运算指令 (39)3.6 高级指令 (41)3.6.1 点位控制指令 (42)3.6.2 路径控制指令 (43)3.6.3 任务控制指令 (44)四、ABB机器人编程实例 (45)4.1 编程实例一 (46)4.2 编程实例二 (48)4.3 编程实例三 (49)五、ABB机器人编程优化 (50)5.1 编程优化策略 (51)5.2 编程优化方法 (52)5.3 编程优化实例 (54)六、ABB机器人编程故障排除 (55)6.1 常见导致故障原因 (56)6.2 故障诊断方法 (57)6.3 故障排除步骤 (58)七、ABB机器人编程发展趋势 (59)7.1 人工智能在机器人编程中的应用 (60)7.2 云计算在机器人编程中的应用 (62)7.3 机器人编程的未来趋势 (63)一、ABB机器人基础ABB机器人是一种广泛应用于工业自动化领域的多关节式机器人。
(完整版)ABB机器人的程序编程

ABB[a]-J-6ABB 机器人的程序编程6.1 任务目标➢掌握常用的PAPID 程序指令。
➢掌握基本RAPID程序编写、调试、自动运行和保存模块。
6.2 任务描述◆建立程序模块test12.24,模块test12.24 下建立例行程序main 和Routine1,在main 程序下进行运动指令的基本操作练习。
◆掌握常用的RAPID 指令的使用方法。
◆建立一个可运行的基本RAPID程序,内容包括程序编写、调试、自动运行和保存模块。
6.3 知识储备6.3.1 程序模块与例行程序RAPID 程序中包含了一连串控制机器人的指令,执行这些指令可以实现对机器人的控制操作。
应用程序是使用称为RAPID 编程语言的特定词汇和语法编写而成的。
RAPID 是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入,还能实现决策、重复其他指令、构造程序、与系统操作员交流等功能。
RAPID 程序的基本架构如图所示:RAPID 程序的架构说明:1)RAPID 程序是由程序模块与系统模块组成。
一般地,只通过新建程序模块来构建机器人的程序,而系统模块多用于系统方面的控制。
2)可以根据不同的用途创建多个程序模块,如专门用于主控制的程序模块,用于位置计算的程序模块,用于存放数据的程序模块,这样便于归类管理不同用途的例行程序与数据。
3)每一个程序模块包含了程序数据、例行程序、中断程序和功能四种对象,但不一定在一个模块中都有这四种对象,程序模块之间的数据、例行程序、中断程序和功能是可以互相调用的。
4)在RAPID 程序中,只有一个主程序main,并且存在于任意一个程序模块中,并且是作为整个RAPID 程序执行的起点。
操作步骤:6.3.2 在示教器上进行指令编程的基本操作ABB 机器人的RAPID 编程提供了丰富的指令来完成各种简单与复杂的应用。
下面就从最常用的指令开始学习RAPID 编程,领略RAPID 丰富的指令集提供的编程便利性。
ABB机器人寻点调试纪要

一、SmarTac的电路原理标准的SmarTac(PIB version)采用的ABB改造过的焊枪,他在保护气碰嘴上安装了检测电路,另外需要另外配置硬件SmarTac PIB version。
PIB 版内部实质上是一个低压检测设备,在使能这个设备的时候,他会产生一个约为40v的低压输出,即使Nozzle管上的电压相对地的压差约为40v,然后PIB板开始检测Nozzle 管的电压,当nozzle管探测到工件时,电压会被强行拉低,使其电压约为0v,这样就完成了检测作用。
二、标准的SmarTac的检测方法图1 第一次检测示教图图2 第一次自动检测图第一次对工件进行安装后,定义出起始搜索点(start point)和终止搜索点(search point)(此时search point和contact point是同一个点),当以后所安装的工件发生偏移后,机器人从起始搜索点沿着终止点的方向直线搜索,直到找到contact point,因此就可以计算出前后两次contact point的偏移距离,就可以得出焊缝的相对偏移距离。
三、SmarTac 的检测所运用到的信号(I/O version)两个输出信号:DO10-1: 用于使能SmarTac BOARD。
DO10-2: 启动寻找工件时的电压。
两个输入信号:DI10-1:工件检测的反馈信号,DI10-1=1表示工件检测成功,DI10-1=0表示没有检测到工件。
DI10-2: 表示检测的PIB板是否激活。
在实际检测过程中,系统将DO10-1和DO10-2设置为高电平,系统开始寻找工件,如果nozzle探测到工件,DI10-1会被设置为高电平,此时机器人停止移动并记录此时的机器人坐标点,然后计算出工件的偏移。
通过使用坐标偏移语句,如PdispSet等语句系统会自动将偏移量加载到以后的路径上。
系统检测的时序图:寻点信号定义:控制面板→配置→Process→SmarTac-PIB signalsSMARTAC_SIGNALS:-name "smtsig1" -detect_input_a "DI10-1" -detect_input_b "DI10_15"-sensor_valid "DI10-2" -reference_set_output "DO10-1"-sensor_select_a "D010-2" -sensor_select_b "DO10_15"注:DI10-15和DO10-15,对于现在所用寻点不必配置,可任意配置有效信号,但不能与用过的信号重复。
ABB机器人高级编程指令课件

運動控制指令 計數指令 程序運行停止指令 計時指令 通信指令 程序流程指令 坐標轉換指令
外軸激活指令 輸入輸出指令 例行程序調用指令 中斷指令 中斷運動指令 故障處理指令 運動觸發指令
2023/12/29
運動控制指令
AccSet ConfJ SingArea SoftAct
VelSet ConfL PathReasol SoftDeact
實例﹕
Incr reg1; 等同於 reg1:=reg1-1;
2023/12/29
輸入輸出指令
AliasIO
InvertDO
IODisable IOEnable
當前指令用於軟化機器人主機或外軸伺服系統﹐ 軟化值範圍0%-100%,軟化坡度範圍>=100%,此 指令必須與指令SoftDeact同時使用﹐通常不使 用於工作位置。
2023/12/29
運動控制指令-SoftAct
實例﹕
SoftAct 3,20;
SoftAct 1,90\Ramp:=150;
SoftAct \MechUnit:=Orbit1,1,40\Ramp:=120;
將機器人一個外軸失效﹐例如﹕當多個外 軸公用一個驅動板時﹐通過外軸激活指令 DeactUnit使當前所使用的外軸失效﹔
2023/12/29
外軸激活指令-DeactUnit
實例﹕
MoveL p10,v100,fine,tool1;
P10,外軸不動
ActUnit track_motion; MoveL p20,v100,z10,tool1;
2023/12/29
運動控制指令-PathResol
實例﹕ MoveJ p1,v1000,fine,tool1; PathResol 150; 機器人在臨界運動狀態(重載﹑高速﹑路徑變化 複雜情況下接近最大工作區域)﹔增加路徑控制 值﹐可避免頻繁死機﹔外軸以很低的速度與機器 人聯動﹐增加路徑控制值﹐可避免頻繁死機﹔ 機器人進行高頻率擺動弧焊時﹐需要很高的路徑 采樣時間﹐需要減小路徑控制值﹔機器人進行小 範圍複雜運動時﹐需要很高的精度﹐需要減小路 徑控制值﹔
【原创】ABB机器人编程之程序流程指令(含案例)

【原创】ABB机器人编程之程序流程指令(含案例)导读:机器人程序的执行是从上到下的方式,从第一条指令逐次扫描至程序的结尾,不断循环。
但是在某种场合,需要程序的等待、程序的跳转以及程序的停止,这些场合都会影响到程序的流程。
例如:在机器人抓取物料的时候,机器人抓完了之后,需要等机器人抓稳了,机器人才移动,这就需要进行程序的等待!那接下来我们来看几个关于程序流程指令吧!1.waitTime:用于等待给定的时间例1:WaitTime 0.5;程序执行等待0.5秒程序执行等待的最短时间(以秒计)为0 s。
最长时间不受限制。
分辨率为0.001 s。
详解:机器人程序指针执行到此条指令,必须等待0.5秒以后才继续往下执行!例2:WaitTime \InPos,0.5详解:在WaitTime指令后面加入了Inpos参数的含义就是:机器人到位且完全停止后才开始计时,时间到达0.5秒以后才继续往下执行!例3:MoveJ p1, vmax, fine, tool2;WaitTime \InPos,0.5;MoveJ p2, vmax, z30, tool2;详解:机器人到达P1位置点之后,并且机器人完全停止下来,才开始计时,时间到达0.5秒以后才机器人继续执行到达P2位置点。
2. WaitDI:用于等待,直至已设置数字信号输入例1:WaitDI di4, 1;仅在已设置di4输入后,继续程序执行。
详解:机器人程序指针执行到此条指令,需要等待开关信号di4为1的时候,才往下执行。
例2:WaitDI di0,1\MaxTime:=3;详解:在WaitDI di0,1指令后面加上了可选参数MaxTime:=3,则表示允许的最长等待时间3秒。
如果在3秒时间以内di0还没有为1,机器人则报错处理。
3. WaitUntil:用于等待,直至满足逻辑条件。
例如,其可以等待,直至已设置一个或多个输入例1:WaitUntil di4 = 1;仅在已设置di4输入后,继续程序执行。
abb机器人编程100例

ABB机器人编程100例简介ABB机器人是世界上领先的工业机器人制造商之一。
其强大的编程功能使得ABB机器人能够在各种工业应用中发挥重要作用。
本文将介绍一百个ABB机器人编程的例子,涵盖了常见的任务和应用场景。
目录1.机器人移动2.工具操作3.IO控制4.程序逻辑5.传感器应用机器人移动1.控制机器人向前移动一米:MoveL P[1, 0, 0, 0, 0, 0], v1000, fine, at1002.控制机器人向后移动一米:MoveL P[-1, 0, 0 , 0, 0, 0], v1000, fine, at1003.控制机器人向上移动一米:MoveL P[0, 0, 1, 0, 0, 0], v1000, fine, at1004.控制机器人向下移动一米:MoveL P[0, 0, -1, 0, 0, 0], v1000, fine, at1005.控制机器人绕X轴旋转90度:MoveL P[0, 0, 0, 1.5708, 0, 0], v1000, fine, at100工具操作1.启用机器人的外部工具:TOn2.禁用机器人的外部工具:TOff3.设置工具坐标系:TSet P[X, Y, Z, Rx, Ry, Rz]4.将机器人当前位置设为工具坐标系:THome5.重置工具坐标系:TLoad P[0, 0, 0, 0, 0, 0]IO控制1.设置输出IO端口的状态为高电平:SetDO Port, On2.设置输出IO端口的状态为低电平:SetDO Port, Off3.读取输入IO端口的状态:GetSensorType Port4.读取ADC端口的值:GetADC Port5.设置PWM端口的占空比:SetPwm Port, DutyCycle程序逻辑1.条件判断语句:IF condition THEN// do somethingELSE// do something elseEND_IF2.循环语句:FOR i FROM start TO end DO// loop bodyEND_FOR3.跳转语句:JUMP label4.调用子程序:PROC program_name5.返回主程序:RETURN传感器应用1.读取机器人当前位置:GetPos2.获取机器人末端坐标系的姿态角度:GetAngle3.读取机器人当前速度:GetSpeed4.检测A面切割器是否接触工件:IsOpen TCP_A5.读取机器人所有关节的角度:GetJointAngle以上是一些ABB机器人编程的例子,涵盖了机器人移动、工具操作、IO控制、程序逻辑和传感器应用等方面。
(完整版)ABB机器人SmarTac程序实例

SmarTac 程序实例在实际的应用中,smartac有两种方法对焊缝进行纠偏,第一种是用searchlD指令检测单个焊缝的偏移,比如寻找起弧点和收弧点,寻找的方向可以使 1 维的也可以是2维和3维的。
这种方法适用于每一条焊缝的变化都是相对对立的并且焊缝相对于检测方向不能有太大的角度变化,比如开关柜。
这种方法是直接找到偏移量然后用P-disp frame(P-DispSet指令)直接在工件坐标系里面偏移相应的坐标值。
例如:找点程序PDispOff;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1D Cs2401, *, scp2_4_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1D Cs2401,*,scp2_4_z,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1DCs2401,*,scp2_4_y,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1D s2400,*, sp2400_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1D s2400, *, sp2400_y, v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=s2400\SchSpeed:=3;PDispSet Cs2401MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;ArcLStart p2401, v1000, seam1,wd01_16\Weave:=Weave1,fine, tWeldGun\Wobj:=Wobj_StnA;PDispoff;PDispSet Cs2400;ArcLEnd p2400, v1000, seam1, wd01_16\Weave:=weave1, fine, tWeldGun\WObj:=Wobj_StnA;PDispOff;方法2:通过计算工件坐标(oframe)的变化来进行焊缝纠正,原理是当工件坐标系发生变化后,通过寻找在新的工件坐标系中相同坐标点的位置来纠正位置的变化。
(2024年)ABB机器人操作手册(中文版)3

2024/3/26
24
函数、过程及中断处理
定义
没有返回值的过程,用于执行一系列操 作。
VS
调用
通过过程名及所需参数进行调用,不返回 任何值。
2024/3/26
25
函数、过程及中断处理
中断类型
包括输入中断、定时中断等。
中断处理程序
编写特定程序块,响应并处理中断事件。
2024/3/26
26
运动控制算法优化
ABB机器人操作手册(中文版 )3
2024/3/26
1
目录
2024/3/26
• 机器人系统概述 • 机器人基本操作与编程 • 高级编程技巧与应用实例 • 机器人维护与保养知识 • 安全防护与应急处理措施 • 总结与展望
2
01
机器人系统概述
2024/3/26
3
ABB机器人发展历程
1970年代
ABB开始涉足工业机器人领域,推出首 款工业机器人产品。
包括机器人本体、末端执行器等, 实现机器人的运动和执行功能。
控制系统
采用先进的计算机控制技术,实现 机器人的运动控制、路径规划等功
能。
2024/3/26
传感器系统
配备多种传感器,如视觉传感器、 力传感器等,实现环境感知和自主 决策。
软件系统
提供机器人编程、仿真、调试等软 件工具,支持机器人的应用开发。
自定义快捷键,提高操作 效率。
示教器高级功能
01
2024/3/26
03 02
13
编程语言与指令介绍
2024/3/26
01
编程语言
02 ABB机器人使用RAPID编程语言,基于Pascal语 言开发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、SmarTac 程序实例在实际的应用中,smartac有两种方法对焊缝进行纠偏,第一种是用search1D指令检测单个焊缝的偏移,比如寻找起弧点和收弧点,寻找的方向可以使1维的也可以是2维和3维的。
这种方法适用于每一条焊缝的变化都是相对对立的并且焊缝相对于检测方向不能有太大的角度变化,比如开关柜。
这种方法是直接找到偏移量然后用P-disp frame(P-DispSet指令)直接在工件坐标系里面偏移相应的坐标值。
例如:找点程序PDispOff;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1D Cs2401, *, scp2_4_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1D Cs2401,*,scp2_4_z,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1DCs2401,*,scp2_4_y,v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=Cs2401\SchSpeed:=3;MoveL *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1D s2400,*, sp2400_x, v100, tSensor\WObj:=Wobj_StnA\SchSpeed:=3;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;Search_1D s2400, *, sp2400_y, v100, tSensor\WObj:=Wobj_StnA\PrePDisp:=s2400\SchSpeed:=3;PDispSet Cs2401MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;MoveJ *, v1000, z5, tSensor\WObj:=Wobj_StnA;ArcLStart p2401, v1000, seam1,wd01_16\Weave:=Weave1,fine, tWeldGun\Wobj:=Wobj_StnA;PDispoff;PDispSet Cs2400;ArcLEnd p2400, v1000, seam1, wd01_16\Weave:=weave1, fine, tWeldGun\WObj:=Wobj_StnA;PDispOff;方法2:通过计算工件坐标(oframe)的变化来进行焊缝纠正,原理是当工件坐标系发生变化后,通过寻找在新的工件坐标系中相同坐标点的位置来纠正位置的变化。
这个变化指的是焊缝在新坐标系里面的位置和原来的坐标系并没有发生变化而是随着坐标系整体进行了偏移。
例如工件整体发生了平移(比如由夹具的定位引起的平移)如果焊缝相对于坐标系的位置发生了变化就不适用了。
注:这个程序是通过计算相对坐标系的变化来对焊缝就行纠正的,并不适合所有的焊缝偏移形势。
%%%VERSION:1LANGUAGE:ENGLISH%%%MODULE ABBPERS wobjdata obREF:=[FALSE,TRUE,,[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];PERS wobjdata obNEW:=[FALSE,TRUE,,[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];PERS robtarget p1:=*;PERS robtarget p2:=*;PERS robtarget p3:=*;PERS robtarget Newp1:=*;PERS robtarget Newp2:=*;PERS robtarget Newp3:=*;PERS pose pe1a:=[[0,0,0],[1,0,0,0]];PERS pose pe1b:=[[0,0,0],[1,0,0,0]];PERS pose pe1c:=[[0,0,0],[1,0,0,0]];PERS pose pe2a:=[[0,0,0],[1,0,0,0]];PERS pose pe2b:=[[0,0,0],[1,0,0,0]];PERS pose pe2c:=[[0,0,0],[1,0,0,0]];PERS pose pe3a:=[[0,0,0],[1,0,0,0]];PERS pose pe3b:=[[0,0,0],[1,0,0,0]];PERS pose pe3c:=[[0,0,0],[1,0,0,0]];PERS pose pe1:=[[0,0,0],[1,0,0,0]];PERS pose pe2:=[[0,0,0],[1,0,0,0]];PERS pose pe3:=[[0,0,0],[1,0,0,0]];PROC Search3DPoints()!The 3 point must in the platformPDispOff;!Find the displacement of p1 in 3 directionMoveJ *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe1a,*,*,v200,tWeldGun\Wobj:=obREF;MoveL *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe1b,*,*,v200,tWeldGun\Wobj:=obREF;MoveL *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe1c,*,*,v200,tWeldGun\Wobj:=obREF;!Find the displacement of p2 in 3 directionMoveJ *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe2a,*,*,v200,tWeldGun\Wobj:=obREF;MoveL *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe2b,*,*,v200,tWeldGun\Wobj:=obREF;MoveL *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe2c,*,*,v200,tWeldGun\Wobj:=obREF;!Find the displacement of p3 in 3 directionMoveJ *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe3a,*,*,v200,tWeldGun\Wobj:=obREF;MoveL *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe3b,*,*,v200,tWeldGun\Wobj:=obREF;MoveL *,V200,fine,tWeldGun\Wobj:=obREF;Seach_1D pe3c,*,*,v200,tWeldGun\Wobj:=obREF;MoveL *,V200,fine,tWeldGun\Wobj:=obREF;pe1:=PoseAdd(pe1a,pe1b,pe1c);pe2:=PoseAdd(pe2a,pe2b,pe2c);pe3:=PoseAdd(pe3a,pe3b,pe3c);obNew:=OFrameChange(obREF,p1,p2,p3,pe1,pe2,pe3);pe1_1:=PoseAdd(pe1a,pe1b);pe1:=PoseAdd(pe1_1,pe1c);pe2_1:=PoseAdd(pe2a,pe2b);pe2:=PoseAdd(pe2_1,pe2c);pe3_1:=PoseAdd(pe3a,pe3b);pe3:=PoseAdd(pe3_1,pe3c);obNew:=OFrameChange(obREF,p1,p2,p3,pe1,pe2,pe3);ENDPROCPROC SmarTac_Test()MoveJ *,V200,fine,tWeldGun\Wobj:=obNEW;MoveL *,V200,fine,tWeldGun\Wobj:=obNEW;MoveL *,V200,fine,tWeldGun\Wobj:=obNEW;MoveL *,V200,fine,tWeldGun\Wobj:=obNEW;MoveL *,V200,fine,tWeldGun\Wobj:=obNEW;! you could add some arcweld instruction here ENDPROCENDMODULE二、SmarTac 调试方法的简要说明如上图所示,长方形平板和板中的两条黑线(表示焊缝)的相对位置始终保持不变,当长方形发生旋转和偏移时,黑线也跟随着偏移PPPPPP虽然他们相对位置没有变化,但是相对于机器人的焊枪来说位置却发生了变化,为了保证焊缝位置的精确,因此必须找出这一个相对的变化,本方法采用的是坐标变换的方法来进行焊缝纠正。
1、把第一次安装工件的位置作为标准的安装位置,然后按照三点法建立坐标系obREF。
2、在坐标系中obREF找三个标准点P1、P2、P3,每一个点都尽量靠近边缘位置。
3、按照SmarTac找寻方法,在每一个点的三个方向设定出起始寻找点StartPoint和终止寻找点SearchPoint。
具体的程序架构清参照上面的程序实例。
4、由上面可知,需要找出三围的旋转偏移变化需要采用九点法,(上图中没有画出前后的寻找点)。
5、在第一次设置的过程中pe1a,pe1b,pe1c,pe2a,pe2b,pe2c,pe3a,pe3b,pe3c等参数的值都应该为0,(因为此时还没有变化)。
6、建立新的坐标系统obNew。