机器人控制系统编程手册V81.docx
- 文档编号:9168985
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:197
- 大小:1.66MB
机器人控制系统编程手册V81.docx
《机器人控制系统编程手册V81.docx》由会员分享,可在线阅读,更多相关《机器人控制系统编程手册V81.docx(197页珍藏版)》请在冰点文库上搜索。
机器人控制系统编程手册V81
编程手册
机器人控制系统编程手册
前言
机器人编程为使机器人完成某种任务而设置的动作顺序描述。
示教是机器人编程的一种重要
方式,通过预先设置好机器人要达到的位置,以指令描述出来。
本手册旨在帮助读者学习和
掌握栋梁的机器人示教软件InoTeachPad的编程方法。
1基本概念
1.1机型
根据轴数、串联/并联这些特性,可对机器人分类。
如下表列出了几种常见的机器人:
名称串联6轴机器人Delta机器人Scara机器人
J4
J2J3
J3
J5
图片
J6J1
J2J4
J1
轴数644
串/并联串联机器人并联机器人串联机器人
特点
灵活性极高,几乎适合于任何
轨迹或角度的工作
精度高结构轻便、响应快
应用场
合
应用范围极广,有装货、喷漆、
测量、弧焊、点焊、包装、装
配、锻造、铸造等
医药食品的搬运、分拣等装配、运输
1.2坐标系
1.2.1关节坐标系
关节坐标系存在于机器人各关节处。
编程手册
第4轴(J4)
-
+
+
+
第3轴(J3)-
第2轴(J2)
-
+
第5轴(J5)
-
+-
第6轴(J6)
-+
第1轴(J1)
1.2.2基坐标系
基坐标系也称机器人坐标系,一般位于机器人根部。
Z
Y
基坐标系
X
Z
基坐标系Z
Y
基坐标系
XY
X
基坐标系是笛卡尔类型的坐标系,后文中工具坐标系、用户坐标系也是。
它们都符合右手定
则,即可先确定X和Z方向,再由右手定则确定Y方向。
Y
X
Z
右手定则
编程手册
1.2.3工具坐标系
工具坐标系附着于工具上,一般取工具末端点作为工具坐标系原点,方向可自由定义。
在InoTeachPad示教器中,最多可定义16个工具坐标系。
其中工具0固定为不使用工具,
此时工具坐标系位于机器人本体末端;工具1~15可由用户自由定义。
X
工具坐标系0
Z
YZ
Z
工具坐标系0
工具坐标系0
X
Y
XY
工具坐标系设置方法详见3.2.3a工具坐标系设置。
1.2.4用户坐标系
用户坐标系是用户自定义的坐标系,一般定义于工件上。
编程手册
工件
在InoTeachPad示教器中,最多可定义16个用户坐标系。
其中用户0固定为不使用额外的
用户坐标系,此时用户坐标系与基坐标系重合;用户1~15可由用户自由定义。
用户坐标系设置详见3.2.3b用户坐标系设置。
注意:
对于Scara、Delta机器人,规定用户坐标系的+Z方向始终与基坐标系的+Z方向成锐
角。
即对于scara,由于基坐标系+Z向上,故用户坐标系+Z被强制定义为相对朝上;对于
Delta,由于基坐标系+Z向下,故用户坐标系+Z被强制定义为相对朝下。
正确错误
Z
基坐标系基坐标系
用户坐标系用户坐标系
Z
Z
ZZ
Y基坐标系基坐标系
Y
XX
0
用户坐标系
Z用户坐标系
XY
X
YZ
编程手册
1.3位置变量
栋梁机器人控制系统中,点用“位置变量”表达,它是一个绝对量,它以(坐标值)+(坐
标系)+(工具号)+(用户号)+(臂参数)的形式描述。
1.3.1坐标系与坐标值
坐标系指机器人取点时所用的坐标系。
用坐标系号1~4表示不同的坐标系,对应不同坐标系,
坐标值的涵义不同。
在关节坐标系下,坐标值取关节值(J1,J2,J3,J4,J5,J6)。
选用其它坐标
系,坐标值用“平动(X,Y,Z)+转动(A,B,C)”的形式表达。
A,B,C分别表示绕Z,Y,X的旋转。
J4
J3J5
关节
坐标
系下
取点
坐标系号为1,坐标值(J1,J2,J3,J4,J5,J6)
表示机器人各关节位置(当前关节值相
对于关节零点的位置)。
J2
J6
J1
机器人本体末端
基坐
标系
下取
点
坐标系号为2,坐标值(X,Y,Z,A,B,C)表
示机器人本体末端点相对于基坐标系
的位姿。
点(不含工具)
基坐标系
工具
坐标坐标系号为3,坐标值(X,Y,Z,A,B,C)表
系下示工具在基坐标系下的位姿。
工具取点
基坐标系
编程手册
用户
坐标坐标系号为4,坐标值(X,Y,Z,A,B,C)。
系下
取点
表示工具在用户坐标系下的位姿。
工具
用户坐标系
注意:
四轴机器人的位置变量只有(X,Y,Z,A),A表示绕Z旋转。
1.3.2工具号与用户号
工具号:
机器人保存点时使用的工具序号。
用户号:
机器人保存点时使用的用户坐标系序号。
在InoTeachPad示教器中,最多可定义16个工具坐标系和16个用户坐标系。
工具0是系统
默认的,表示不采用工具,工具末端点为机器人本体末端;工具1~15为用户定义的工具。
用户号0是系统默认,表示不采用用户坐标系,此时用户坐标系与基坐标系重合,用户1~15
为用户自定义的坐标系。
示例:
位置变量P[0]表示在关节坐标系下取的点,当时所采用的工具号为0,用户号为0。
位置变量P[1]表示在关节坐标系下取的点,当时所采用的工具号为2,用户号为3。
位置变量P[2]表示在基坐标系下取的点,当时所采用的工具号为2,用户号为3。
位置变量P[3]表示在工具坐标系下取的点,当时所采用的工具号为2,用户号为3。
位置变量P[4]表示在用户坐标系下取的点,当时所采用的工具号为2,用户号为3。
位置变量P[1]、P[2]、P[3]、P[4]可以是空间中同一点,只是取点时选用不同的坐标系,如下
图:
编程手册
工具0
P[0]P[1]、P[2]、
P[3]、P[4]
工具2
用户坐标系0用户坐标系3
1.3.3臂参数
机器人控制目标点到达空间同一位姿时,机器人可能存在几种不同的手臂姿势。
对于串联6轴机器人,在腰关节、肘关节、腕关节、第六轴处各有一个臂参数。
臂参数1臂参数2臂参数3
-11-11-11
腰部向前腰部向后肘部向上肘部向下手腕不翻转手腕翻转
臂参数4
-101
轴6(-360°~-180°)轴6(-180°~180°)轴6(180°~360°)
-360°+360°
-180°+180°
对于Scara机器人,只有一个臂参数1,存在两种取值+1和-1。
S
臂参数1
-11
编程手册
左手臂右手臂
Delta机器人无臂参数。
注意:
示教后直接修改臂参数,将会使机器人以另外一种臂姿势到达空间同一点,运动变化
很大,这很可能造成危险,需要慎重!
1.4平移变量
平移变量用于描述在指定坐标系下的偏移向量。
平移变量用(坐标值)+(坐标系)+(工具
号)+(用户号)的形式描述。
坐标系号用于记录平移变量在哪一个坐标系下的表示。
J4
J3J5
关节平
移
坐标系号为1,(J1,J2,J3,J4,J5,J6)表
示机器人各关节的运动量。
工具号、用户号无意义。
J2
J6
J1
末端沿
基坐标
系平移
坐标系号为2,坐标值(X,Y,Z,A,B,C)
表示机器人末端在基坐标系下的偏移
点(不含工具)
量:
XYZ是末端在基坐标轴XYZ方向偏移
量;ABC是末端绕基坐标轴ZYX的旋转
量。
工具号、用户号无意义。
机器人本体末端
基坐标系
编程手册
坐标系号为3,坐标值(X,Y,Z,A,B,C)
表示工具在基坐标系下的偏移量:
TCPXYZ是TCP在基坐标轴XYZ方向偏移
沿基坐量,效果与末端沿基坐标系平移XYZ
工具标系平相同;ABC是TCP绕基坐标轴ZYX的
移旋转量。
工具号指明是哪个工具,用户号无意
义。
基坐标系
坐标系号为4,坐标值(X,Y,Z,A,B,C)
表示工具在用户坐标系下的偏移量:
TCP沿XYZ是TCP在用户坐标系XYZ方向偏移
用户坐量;
标系平ABC是TCP绕用户坐标轴ZYX的旋转
工具
移量。
工具号指明是哪个工具,用户号指明
是哪个用户坐标系。
用户坐标系
Mov中不带Tool和User时,效果同末端
坐标系号为0,坐标值(X,Y,Z,A,B,C)
沿基坐标系平移;
相对平仅表示一个相对平移量。
Mov中带Tool、不带User时,效果同TCP
移工具号、用户号无意义,由Mov指令
沿基坐标系平移;
中的Tool、User确定是何种平移。
Mov中带Tool和User时,效果同TCP
沿用户坐标系平移。
坐标系号为5,坐标值(X,Y,Z,A,B,C)
TCP沿表示TCP绕工具自身坐标系的偏移量:
工具坐XYZ是TCP在工具自身坐标系XYZ方向
标系自偏移量;ABC是TCP绕用户坐标轴ZYX
工具身的平的旋转量。
移工具号指明是哪个工具,用户号无意
义。
示例:
编程手册
平移变量PR0表示关节平移,各平移量为
J1=10°,J2=20°,J3=30°,J4=40°,J5=50°,J6=60°。
平移变量PR1表示末端在基坐标系下的平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°。
平移变量PR2表示工具1的TCP在基坐标系下的平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°。
平移变量PR3表示工具1的TCP在用户坐标系1下的平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°。
平移变量PR4表示相对平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,此处的工具号、用户号无效,由外
部指定。
平移变量PR5表示TCP沿工具坐标系1自身的平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°。
指令中的关于平移变量使用:
计算两点间平移变量指令——Msft:
平移变量的计算统一采用以第一个点为基准点,即
平移变量的坐标系与第一个点相同,第二个点的数据会转换成第一个点坐标系下的值,
然后进行平移变量的计算。
详见2.5.1节Msft指令。
平移变量直接赋值指令——Pr***=(X,Y,Z,A,B,C):
是默认坐标系0、工具号0、用户号0。
详见2.5.2节Pr***指令。
平移变量的加减指令——PrSum:
用户需要在同一坐标系下进行数据加减,若不同,报
错。
详见2.5.3节PrSum指令。
基于某点的平移Offset(P,PR):
对于非关节平移,只需根据实际需要的设置Pr及运动指
令中的Tool、User参数即可。
详见2.3.1节Movj中的Offset使用。
1.4插补与插补精度
插补是机器人的基本运动形式,复杂的运动指令其实是由一系列插补运动组成的。
根据轨迹
的不同,分为以下三种形式。
插补类型轨迹特点
关节插补(Movj)点到点的插补,各关节以最
快速度运转,是速度最快的
插补。
运动轨迹不可预见,
常用于点焊、运输等场合。
直线插补(Movl)轨迹成直线,常用于轨迹焊
接、贴装等场合
圆弧插补(Movc)轨迹成圆弧状
注意:
在执行Movl、Movc时,不允许机器人的臂参数变化。
若需要臂参数变化,可插入
编程手册
Movj指令完成姿势过渡。
在实际的连续运动过程中,很多时候运动并不是逐点精确到位,而是圆滑过渡的,因为这样
不必频繁启停,可以缩短节拍时间。
这些运动的中间点就会表现出轨迹逼近的形式。
轨迹逼
近的程度称为插补精度。
插补精度分为几个等级,如下图Z0、Z1、Z2……
插补精度
1.5奇异位置
在非关节坐标系下运动时,机器人可能会运动到某些特殊位置,此时机器人会失去一些运动
自由,这些特殊的位置称为奇异位置。
在关节插补Movj中,奇异位置并不会影响正常运动。
而在直线插补Movl、圆弧插补Movc
过程中,奇异位置会使得机器人不能正常运行。
遇到奇异位置报警时,可利用关节运动模式
退出奇异位置。
串联6轴机器人存在三种奇异位置,如下图。
顶置奇异延展奇异手轴奇异
J4、J5、J6轴线交点
位于J1正上方
J2、J3、J5关节
中心共线
J4与J6轴共线
Scara机器人只存在一个奇异位置,处于J2=0°时,第1、2臂摆成一条直线。
编程手册
SCARA奇异位置J2=0°
Delta机器人的奇异位置不在工作范围内,无奇异位置。
1.6工作范围与干涉区域
机器人的工作范围指机器人手臂末端所能到达的所有点的集合。
工作范围与机器人臂长和关
节运行范围有关。
在工作范围内,存在一些末端执行器禁止到达的区域,处于这些区域时,机器人会与自身部
件或外部设备发生碰撞,这些区域称为干涉区域。
1.7程序的预处理
在机器人连续运动中,对程序有一个预处理过程。
这类能被预处理的指令称为预处理指令,
绝大多数指令都为预处理指令。
非预处理指令指不会被提前处理的指令,只有3类:
WAIT、
Set系列、包含信号判断的If条件指令。
程序会预先扫描所有的预处理指令,将其下发至运动缓冲区顺序执行,直至缓冲区满为止。
预处理过程会使得监控中数据提前变化,但不会影响程序的正常运行。
比如连续运行下图所
示程序。
当程序第一次执行至第4行时监控中就已经显示B0=2,等到第三次执行至第4行
时监控中显示B0=8,整个显示好似超前了一样。
然而程序本身还是会以正确的逻辑运行。
编程手册
(先暂以C语言为基础理解这段程序,详细指令用法将在第二章说明)若在调试中想监测准
确的变量数值,可以采用单步运动。
2.控制指令
程序最多容纳2000行指令。
程序名由字母、数字、下划线组成,只能字母开头,不超过32
位。
所有程序都是以START开始,END结束,中间根据需求编写指令行,每个指令段都以“;”
结尾。
大部分指令与C语言书写习惯相似,如运算指令、流程控制指令等,简单易懂。
2.1变量
2.1.1全局数值变量
全局数值变量包含B、R、D三种,它们一经定义,便存储于控制器中,作用域可超出当前
的程序段。
B<0~255>间的任意整数。
R<-65536~65535>间任意整数。
D<-9999999.999~9999999.999>间浮点数(最多包含三位小数)。
表示方法:
B***/R***/D***(***为变量编号,从0最多取到255)
范例:
注意事项:
在监控界面中修改B、R、D值会自动限定范围。
在程序执行中,当变量的取值
超出范围,程序立即返回至START并报警。
对于B、R变量,其值为整数,若运算中赋值为
编程手册
小数,会只保留整数部分;如在程序中执行“B1=2.8”,运算结果为B1=2。
2.1.2局部数值变量
对应的,存在LB、LR、LD三种局部数值变量,它们的作用域仅限本段程序。
LB<0~255>间的任意整数。
LR<-65536~65535>间任意整数。
LD<-9999999.999~9999999.999>间浮点数(最多包含三位小数)。
表示方法及注意事项同上。
范例:
2.1.3位置变量
位置变量用(坐标值)+(臂参数)+(坐标系)+(工具号)+(用户号)的方式表达。
在监
控界面中,臂参数是隐藏的,可通过双击列表查看。
变量表示方法:
P[***]
***为变量编号,取值范围<0~9999>
范例:
位置变量P[0]表示在关节坐标系下取的点,当时所采用的工具号为0,用户号为0。
位置变量P[1]表示在关节坐标系下取的点,当时所采用的工具号为2,用户号为3。
位置变量P[2]表示在基坐标系下取的点,当时所采用的工具号为2,用户号为3。
位置变量P[3]表示在工具坐标系下取的点,当时所采用的工具号为2,用户号为3。
位置变量P[4]表示在用户坐标系下取的点,当时所采用的工具号为2,用户号为3。
2.1.4全局平移变量
全局平移变量是指作为全局变量的平移变量,存储于控制器中,作用域可超出当前的程序段。
表示方法:
PR***
***为变量编号,取值范围<0~255>
编程手册
范例:
示例:
PR[0]表示关节平移,平移量为J1=10°,J2=20°,J3=30°,J4=40°,J5=50°,J6=60°。
平移变量PR[1]表示关节平移,平移量为J1=10°,J2=20°,J3=30°,J4=40°,J5=50°,J6=60°。
工具号、用户号无效。
PR[2]表示基坐平移,平移量为X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,工具号、
用户号无效。
PR[3]表示工具平移,即工具在基坐标系下的平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,取用工具2,用户号无效。
PR[4]表示用户平移,即工具在用户坐标系下的平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,取用工具2、用户坐标系3。
PR[5]表示相对平移,平移量为X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,此处的
工具号、用户号无效,由外部指定。
2.1.5局部平移变量
局部平移变量是作为局部变量的平移变量,仅在当前程序中有效。
其它同全局平移变量。
表示方法:
LPR***
***为变量编号,取值范围<0~255>
范例:
LPR[0]表示关节平移,平移量为J1=10°,J2=20°,J3=30°,J4=40°,J5=50°,J6=60°。
LPR[1]表示关节平移,平移量为J1=10°,J2=20°,J3=30°,J4=40°,J5=50°,J6=60°。
工具号、
用户号无效。
LPR[2]表示基坐平移,平移量为X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,工具号、
用户号无效。
LPR[3]表示工具平移,即工具在基坐标系下的平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,取用工具2,用户号无效。
编程手册
LPR[4]表示用户平移,即工具在用户坐标系下的平移,平移量为
X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,取用工具2、用户坐标系3。
LPR[5]表示相对平移,平移量为X=10mm,Y=20mm,Z=30mm,A=40°,B=50°,C=60°,此处的
工具号、用户号无效,由外部指定。
2.1.6信号变量
信号变量分为模拟量和数字量两种。
数字量为数值上离散的量,例如简单的IO信号开关,
只有ON和OFF两种情况。
模拟量为数值上连续的量,其值可包含小数,比如电流值,电压
值,时间等。
2.2运算指令
2.2.1基本运算指令
关系操作符
==关系等于
>关系大于
<关系小于
>=关系大于或等于
<=关系小于或等于
<>关系不等于
逻辑类:
AND逻辑与
OR逻辑或
简单运算类:
=赋值运算符
+加法运算符
-减法运算符
*乘法运算符
/除法运算符
%取余运算符
函数运算类:
(正三角函数的输入值单位均为度,反三角函数输出值单位也均为度)
Sin()正弦运算
Cos()余弦运算
Tan()正切运算
ASin()反正弦运算
ACos()反余弦运算
ATan()反正切运算
Sqrt()开平方运算
特殊符号类:
##注释
编程手册
;分号,位于行末,代表一行语句的结束
:
冒号,用于提示下文,标签L指令、Switch-Case-Default等中有用到
逗号,起间隔作用
“”双引号,表明该内容为字符串
2.2.2Incr
功能:
数值变量的自增
格式:
Incr数值变量;
参数意义
数值变量B/R/LB/LR变量
范例:
B1=1;
IncrB1;##B1自增1,值变为2
2.2.3Decr
功能:
数值变量的自减
格式:
Decr数值变量;
参数意义
数值变量B/R/LB/LR变量
范例:
B1=1;
DecrB1;##B1自减1,值变为0
2.2.4数值运算
功能:
数值变量的赋值
格式:
数值变量=表达式;
参数意义
数值变量B/R/D/LB/LR/LD变量
表达式由变量、数字、运算符组成的表达式
范例:
R7=17;
LD3=(Sin(30)+D1)/2.1;
2.2.5字符串定义
功能:
实现字符串变量的定义,定义的同时也可进行初始赋值。
格式:
String<变量名>;
String<变量名>=“字符串”;
编程手册
参数意义
<变量名>由字母或数字组成,并只能以字母开头,长度不超过10个字符。
若
只输入数字当做变量名,系统会自动增加前缀”Str”,形成合法的变
量名。
表达式长度不超过50个的字符,不能包含中文、全角字符、双引号,也不
能为关键字或其它已存在变量,如关节插补
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 控制系统 编程 手册 V81