机器人常见数据格式

笛卡尔空间位置数据格式

笛卡尔空间位置数据是机器人末端执行器在三维空间中位置和姿态的数学表示。各厂商采用不同的姿态表示方法,但通常都包含位置坐标(X、Y、Z)和姿态信息。

若不加以特别注明,则默认:

  1. 角度的单位为角度值。

  2. 距离的单位为毫米。

ABB

ABB机器人采用格式[X, Y, Z, q1, q2, q3, q4],其中. 位置使用毫米为单位,用单位四元数表示姿态。四元数中q1为实部,q2、q3、q4分别为xyz方向上的虚部。虽然在示教器上可以读取到ZYX欧拉角,但其内部的robtarget数据结构实际使用单位四元数来表示姿态。

ABB的robtarget数据类型包含以下组件:

组件名称

数据类型

说明

trans

pos

用mm来表示工具中心点的位置(X、Y、Z)

rot

orient

以单位四元数形式表示工具方位(q1、q2、q3、q4)

robconf

confdata

机器臂的轴配置(cf1、cf4、cf6和cfx)

extax

extjoint

外部轴数据,用于控制外部轴的位置

FANUC

FANUC机器人使用格式[X, Y, Z, W, P, R]表示位置和姿态数据,其中(X, Y, Z)为位置坐标,(W, P, R)为姿态角度。采用xyz固定角表示姿态,也被称为RPY角。

系统中的位置和姿态数据通过用户坐标系和工具坐标系进行管理。用户坐标系允许用户定义工作区域的参考坐标系,而工具坐标系则定义了工具末端的位置和姿态。

YASKAWA

YASKAWA机器人使用[X, Y, Z, Rx, Ry, Rz]格式,用xyz固定角表示姿态。

yaskawa coordinate

KUKA

KUKA机器人使用[X, Y, Z, A, B, C]格式,用zyx欧拉角表示姿态。KUKA系统通过POSITION、XYZWPR、XYZWPREXT、JOINTPOS和PATH等数据类型来表示位置数据。

KUKA的POSITION数据类型包含以下组件:

组件类型

数量

单位

说明

REAL值(位置)

3个

毫米

表示X、Y、Z位置坐标

REAL值(方向)

3个

表示W、P、R方向角度

CONFIG数据类型

1个

由4个布尔值和3个整数组成,代表关节位置和转弯数的配置

ROKAE

ROKAE机器人采用[X, Y, Z, q1, q2, q3, q4]格式,用单位四元数表示姿态。其中q1为单位四元数实部,q2、q3、q4分别为xyz方向上的虚部,这与ABB的格式相似。

UR

UR机器人使用[X, Y, Z, Rx, Ry, Rz]格式,用旋转矢量表示姿态。UR系统中[X, Y, Z]单位为米,[Rx, Ry, Rz]单位为弧度制。

虽然可以从示教器上读取到xyz固定角,但UR内部的pose数据使用旋转矢量表示姿态。因此给机器人下发的数据格式最好为[X, Y, Z, Rx, Ry, Rz]。

其他品牌格式

EFORT和ESTUN机器人都用[X, Y, Z, A, B, C]格式,用zyx欧拉角表示姿态。

ELITE机器人使用[X, Y, Z, Rx, Ry, Rz]格式,用xyz固定角表示姿态。

常用的机器人姿态表示方法包括:3x3旋转矩阵、固定角(XYZ固定角/RPY)、欧拉角(ZYX欧拉角)、单位四元数、旋转矢量和等效轴角。固定角与欧拉角的不同之处在于左乘(绝对变换)与右乘(相对变换),因此XYZ固定角(RPY)等同于ZYX欧拉角。

速度数据格式

机器人速度数据定义了机器人运动的快慢程度,包括关节空间速度和笛卡尔空间速度两种类型。不同厂商在速度数据的表示和控制方面采用了不同的策略。

ABB

ABB使用speeddata数据类型来定义机器人运动的速度参数。该数据类型包含四个主要组件:v_tcp(工具中心点速度,单位mm/s)、v_ori(TCP重新定位速度,以度/秒表示)、v_leax(线性外部轴速度,单位mm/s)和v_reax(旋转外部轴速度,以度/秒表示)。

ABB的speeddata数据类型包含以下组件:

组件名称 数据类型 单位 说明

v_tcp

num

mm/s

工具中心点的速率。如果使用固定工具或协调外轴,则规定相对于工件的速率

v_ori

num

°/s

TCP的重新定位速率。如果使用固定工具或协调,则规定相对于工件的速度

v_leax

num

mm/s

线性外轴的速率

v_reax

num

°/s

旋转外轴的速率

系统预定义了用于移动机械臂和外轴的速度数据,具体如下:

名称 TCP速度 方向 线性外轴 旋转外轴

v5

5 mm/s

500°/s

5000 mm/s

1000°/s

v10

10 mm/s

500°/s

5000 mm/s

1000°/s

v20

20 mm/s

500°/s

5000 mm/s

1000°/s

v30

30 mm/s

500°/s

5000 mm/s

1000°/s

v40

40 mm/s

500°/s

5000 mm/s

1000°/s

v50

50 mm/s

500°/s

5000 mm/s

1000°/s

v60

60 mm/s

500°/s

5000 mm/s

1000°/s

v80

80 mm/s

500°/s

5000 mm/s

1000°/s

v100

100 mm/s

500°/s

5000 mm/s

1000°/s

v150

150 mm/s

500°/s

5000 mm/s

1000°/s

v200

200 mm/s

500°/s

5000 mm/s

1000°/s

v300

300 mm/s

500°/s

5000 mm/s

1000°/s

v400

400 mm/s

500°/s

5000 mm/s

1000°/s

v500

500 mm/s

500°/s

5000 mm/s

1000°/s

v600

600 mm/s

500°/s

5000 mm/s

1000°/s

v800

800 mm/s

500°/s

5000 mm/s

1000°/s

v1000

1000 mm/s

500°/s

5000 mm/s

1000°/s

v1500

1500 mm/s

500°/s

5000 mm/s

1000°/s

v2000

2000 mm/s

500°/s

5000 mm/s

1000°/s

v2500

2500 mm/s

500°/s

5000 mm/s

1000°/s

v3000

3000 mm/s

500°/s

5000 mm/s

1000°/s

v4000

4000 mm/s

500°/s

5000 mm/s

1000°/s

v5000

5000 mm/s

500°/s

5000 mm/s

1000°/s

v6000

6000 mm/s

500°/s

5000 mm/s

1000°/s

v7000

7000 mm/s

500°/s

5000 mm/s

1000°/s

vmax

取决于机器人型号

500°/s

5000 mm/s

1000°/s

FANUC

移动速度控制:

FANUC支持多种移动速度控制方式,在移动中可对运行程序的关节插补和直线插补运动规定移动倍率。移动倍率范围值为1~100%。移动中也可以运行程序速度为设定值减慢处理。

移动速度有以下几种表示方法:

  • 百分比表示(%):相对于最大速度的百分比,不需要位置变量,不使用辅助功能。

  • 时间表示(秒):在0.1~3600秒范围内可用四位小数指定。移动时间包含加速和减速时间,在进行PTP移动时,所有关节同时移动指定时间。

  • 速度表示(mm/sec):在0.1~32000mm/sec范围内可用直角坐标系速度指定。

  • 进给速度表示(cm/min):在0.1~12000cm/min范围内可用进给速度指定。

运动类型控制:

FANUC提供了灵活的运动控制方式,支持关节插补运动和直线插补运动:

  • 关节插补运动(JP):例如JP[1] 50% FINE表示50%速度精确定位

  • 直线插补运动(LP):例如LP[1] 100mm/sec FINE表示线性运动100mm/s精确定位

  • 圆弧插补运动(CP):用于圆弧轨迹运动控制

YASKAWA

YASKAWA机器人支持三种主要运动方式:MOVJ(关节插补)、MOVL(直线插补)、MOVC(圆弧插补),每种方式均有专属参数和速度单位。

MOVJ

功能

以关节插补方式向示教位置移动。

附加项目

位置数据、基座轴位置数据、工装轴位置数据

画面中不显示

VJ=(再现速度)

VJ:0.01~100.00%

PL=(定位等级)

PL:0~8

NWAIT

UNTIL 文

ACC=(加速度调整比率)

ACC:20~100%

DEC=(减速度调整比率)

DEC:20~100%

使用例

MOVJ  VJ=50.00  PL=2  NWAIT  UNTIL  IN#(16)=ON

MOVL

功能

以直线插补方式向示教位置移动。

附加项目

位置数据、基座轴数据、工装轴位置数据

画面中不显示

V=(再现速度)、 VR=(姿态的再现速度)、 VE=(外部轴的再现速度、 VMAX=(VMAX速度)

V:0.1~1500.0 mm/秒+1~9000cm/分、 VR:0.1~360.0度/秒、 VE:0.01~100.00%、 VMAX:50~100%

PL=(定位等级)

PL:0~8

CR=(转角半径)

CR:0.1~6563.5mm

NWAIT

UNTIL 语句

ACC=(加速度调整比率)

ACC:20~100%

DEC=(减速度调整比率)

DEC:20~100%

使用例

MOVL  V=138  PL=0  NWAIT  UNTIL  IN#(16)=ON

MOVC

功能

以圆弧插补方式向示教位置移动。

附加项目

位置数据、基座轴数据、工装轴位置数据

画面中不显示。

V=(再现速度)、VR=(姿态角再现速度)、VE=(外部轴再现速度)

与MOVL相同。

PL=(定位等级)

PL:0~8

NWAIT

ACC=(加速度调整比率)

ACC:20~100%

DEC=(减速度调整比率)

DEC:20~100%

COORD=(圆弧姿势控制指定)

COORD:0~1

FPT:圆弧终点指定

使用例

MOVC  V=138  PL=0  NWAIT

目前我们将速度数据写在了D变量里,导致机器人运行速度和下图表示的实际不符。

KUKA

KUKA机器人支持三种主要运动类型:PTP(点到点运动)、LIN(直线运动)和CIRC(圆弧运动),每种运动类型都有相应的速度参数设置方式。

PTP:

PTP运动采用关节空间运动,通过控制各个轴的速度百分比实现精确定位。

参数类型 参数名称 取值范围 说明

速度控制

$VEL_AXIS[x]

1~100%

控制各个轴的速度百分比
x代表轴号(1~8)

加速度控制

$ACC_AXIS[x]

系统定义

针对每个轴的加速度控制
x代表轴号(1~8)

LIN/CIRC:

轨迹运动采用笛卡尔空间运动,速度参数更加丰富,支持线性速度和姿态速度的独立控制。

参数类型 参数名称 单位 说明

速度控制

$VEL.CP

m/s

轨迹速度,控制TCP在空间中的线性运动速度

$VEL.ORI1

°/s

回转速度,控制绕A和B轴的姿态旋转速度

$VEL.ORI2

°/s

转速,控制绕C轴(工具X轴)的旋转速度

加速度控制

$ACC.CP

m/s²

轨迹加速度,控制线性运动的加减速

$ACC.ORI1

°/s²

回转加速度,控制姿态变化的加减速

$ACC.ORI2

°/s²

转速加速度,控制绕工具轴旋转的加减速

ROKAE

ROKAE机器人系统提供了统一的speed指令来控制机器人的运动速度,该指令定义机器人和外部轴的运动速度。

speed指令包含以下核心参数:

参数名

数据类型

参数说明

取值范围

per

double

关节速度百分比,用于指定关节运动时的运动速度,适用于MoveAbsJ和MoveJ等命令

1% ~ 100%

tcp

double

TCP线速度,定义工具中心点的线速度

0.001 mm/s ~ 7000 mm/s

ori

double

空间旋转速度,定义工具的旋转速度

0.001°/s ~ 500°/s

exj_l

double

外部轴线速度,定义外部直线轴的运动速度

0 mm/s ~ 2000 mm/s

exj_r

double

外部轴角速度,定义外部旋转轴的运动速度

0°/s ~ 300°/s

系统预定义了常用的速度变量,具体如下:

名称 关节速度百分比 TCP线速度 空间旋转速度 外部轴角速度 外部轴线速度

v5

1%

5 mm/s

200°/s

0°/s

0 mm/s

v10

3%

10 mm/s

200°/s

0°/s

0 mm/s

v25

5%

25 mm/s

200°/s

0°/s

0 mm/s

v30

5%

30 mm/s

200°/s

0°/s

0 mm/s

v40

5%

40 mm/s

200°/s

0°/s

0 mm/s

v50

5%

50 mm/s

200°/s

0°/s

0 mm/s

v60

8%

60 mm/s

200°/s

0°/s

0 mm/s

v80

8%

80 mm/s

200°/s

0°/s

0 mm/s

v100

10%

100 mm/s

200°/s

0°/s

0 mm/s

v150

15%

150 mm/s

200°/s

0°/s

0 mm/s

v200

20%

200 mm/s

200°/s

0°/s

0 mm/s

v300

30%

300 mm/s

200°/s

0°/s

0 mm/s

v400

40%

400 mm/s

200°/s

0°/s

0 mm/s

v500

50%

500 mm/s

200°/s

0°/s

0 mm/s

v600

60%

600 mm/s

200°/s

0°/s

0 mm/s

v800

70%

800 mm/s

200°/s

0°/s

0 mm/s

v1000

100%

1000 mm/s

200°/s

0°/s

0 mm/s

v1500

100%

1500 mm/s

200°/s

0°/s

0 mm/s

v2000

100%

2000 mm/s

200°/s

0°/s

0 mm/s

v3000

100%

3000 mm/s

200°/s

0°/s

0 mm/s

v4000

100%

4000 mm/s

200°/s

0°/s

0 mm/s

v5000

100%

5000 mm/s

200°/s

0°/s

0 mm/s

v6000

100%

6000 mm/s

200°/s

0°/s

0 mm/s

v7000

100%

7000 mm/s

200°/s

0°/s

0 mm/s

UR

UR机器人在示教编程和脚本编程中采用不同的速度数据格式。在示教编程时,速度数据格式以角度、毫米为单位,而在脚本编程时则以弧度、米为单位。

UR系统支持三种移动类型:moveJ(将在机器人手臂关节空间内执行所计算的移动)、moveL(将使工具在路点之间进行线性移动)和moveP(将使工具以恒定速度通过圆形混合区进行线性移动)。

转角区域数据

转角区域数据定义了机器人在路径点之间的平滑过渡方式,这对于实现连续、高效的机器人运动至关重要。不同厂商采用了不同的转角处理策略。

ABB

ABB机器人使用zonedata数据类型来定义转角区域参数,该数据类型决定了机器人在路径点处的运动行为。转角区域参数可以控制机器人是在目标位置完全停止(精确定位),还是以飞越点的形式平滑通过目标位置。

abb zone

ABB的zonedata数据类型包含以下组件:

组件名称

数据类型

说明

finep

bool

规定运动是否随着停止点或飞越点而结束。TRUE表示运动随停止点而结束,且程序执行将不再继续,直至机械臂达到停止点。FALSE表示运动随飞越点而结束,且程序执行将继续进行。

pzone_tcp

num

TCP区域的半径(毫米),将扩展区域定义为区域的最小相对尺寸

pzone_ori

num

工具重新定位的区域半径(毫米),将半径定义为TCP距编程点的距离

pzone_eax

num

外轴的区域半径(毫米),将半径定义为TCP距编程点的距离

zone_ori

num

工具重新定位的区域半径(度),如果机械臂正夹持工件,则意味着有关工件的旋转角

zone_leax

num

线性外轴的区域半径(毫米)

zone_reax

num

旋转外轴的区域半径(度)

系统预定义了常用的的转角区域配置,具体如下:

路径区域

Zone

名称

TCP路径

方向

外轴

方向

线性轴

旋转轴

fine

0 mm

0 mm

0 mm

0 mm

z0

0.3 mm

0.3 mm

0.3 mm

0.03°

0.3 mm

0.03°

z1

1 mm

1 mm

1 mm

0.1°

1 mm

0.1°

z5

5 mm

8 mm

8 mm

0.8°

8 mm

0.8°

z10

10 mm

15 mm

15 mm

1.5°

15 mm

1.5°

z15

15 mm

23 mm

23 mm

2.3°

23 mm

2.3°

z20

20 mm

30 mm

30 mm

3.0°

30 mm

3.0°

z30

30 mm

45 mm

45 mm

4.5°

45 mm

4.5°

z40

40 mm

60 mm

60 mm

6.0°

60 mm

6.0°

z50

50 mm

75 mm

75 mm

7.5°

75 mm

7.5°

z60

60 mm

90 mm

90 mm

9.0°

90 mm

9.0°

z80

80 mm

120 mm

120 mm

12°

120 mm

12°

z100

100 mm

150 mm

150 mm

15°

150 mm

15°

z150

150 mm

225 mm

225 mm

23°

225 mm

23°

z200

200 mm

300 mm

300 mm

30°

300 mm

30°

转角区域数据的数据结构如下:

< data object of zonedata >
< finep of bool >
< pzone_tcp of num >
< pzone_ori of num >
< pzone_eax of num >
< zone_ori of num >
< zone_leax of num >
< zone_reax of num >

FANUC

FANUC系统提供了两种主要的定位类型:FINE(精确定位)和CNT(连续定位)。FINE定位类型要求机器人在目标位置完全停止后,才能移向下一个目标位置移动。CNT定位类型则允许机器人接近目标位置但不在该位置停止而在下一个位置运动作业。

faunc zone

YASKAWA

YASKAWA采用定位等级PL和转角半径CR来控制转角区域。系统提供了FINE定位类型(机器人在目标位置完全停止后,向着下一个目标位置移动)和CNT定位类型(机器人接近目标位置,但是不在该位置停止而在下一位置运动作业)。

KUKA

KUKA机器人使用多种轨迹逼近参数来控制转角行为,不同运动类型采用不同的逼近策略。系统支持PTP(点到点)、LIN(直线)和CIRC(圆弧)三种运动方式,每种运动方式都有相应的轨迹逼近配置。

运动方式与轨迹逼近参数:

运动方式 适用参数 说明

PTP

C_PTP

仅用于PTP运动的轨迹逼近,使目标点被轨迹逼近。在PTP-PTP轨迹逼近中只需要C_PTP参数

PTP-CP

C_DIS, C_ORI, C_VEL

PTP到笛卡尔路径的轨迹逼近,可组合使用多个参数

LIN/CIRC

C_DIS, C_ORI, C_VEL

笛卡尔路径运动的轨迹逼近,支持距离、姿态和速度参数

轨迹逼近参数详解:

参数名称 适用运动 单位 参数说明

C_PTP

PTP

%

定义PTP运动的轨迹逼近百分比,控制在多大程度上逼近目标点

C_DIS

LIN/CIRC/PTP-CP

mm

距离参数,轨迹逼近最早开始于与目标点的距离低于$APO.CDIS值时

C_ORI

LIN/CIRC

°

姿态参数,轨迹逼近最早开始于主导姿态角低于$APO.CORI值时

C_VEL

LIN/CIRC

%

速度参数,轨迹逼近最早开始于朝向目标点的减速阶段中速度低于$APO.CVEL值时

运动组合与参数使用:

  • PTP单独运动:仅使用C_PTP参数,通过$APO.CPTP设置逼近百分比

  • PTP-CP组合运动:可使用C_DIS、C_ORI、C_VEL参数,实现从点到点运动向笛卡尔路径的平滑过渡

  • LIN/CIRC运动:支持C_DIS、C_ORI、C_VEL三种参数的组合使用,实现精确的轨迹控制

在实际应用中:

  • 参数优先级:当多个参数同时设置时,系统会选择最先满足条件的参数作为轨迹逼近的开始点

  • 参数组合:LIN和CIRC运动可以组合使用多个参数,以实现更精确的轨迹控制

  • 系统变量:这些参数对应的系统变量分别为$APO.CPTP、$APO.CDIS、$APO.CORI、$APO.CVEL

ROKAE

ROKAE机器人提供了多种圆滑过渡距离的设置方式。zone变量用于定义某一运动间隔或者变量定义两条运动轨迹之间转弯区域的大小。当停止处理时,机器人将运动到目标点且到达目标点的速度为0,之后才会继续执行下一条指令。当过渡处理时,机器人不会运动到目标点,而是从距离目标点若干distance毫米的地方时,开始转向往下一个目标点运动。

rokae zone

ROKAE系统预定义了常用的转弯区域变量,其中笛卡尔空间转弯区域大小和转弯百分比有直接对应关系:

名称

笛卡尔空间转弯区大小

转弯百分比

fine

0 mm

0%

z1

1 mm

1%

z5

5 mm

3%

z10

10 mm

5%

z15

15 mm

8%

z20

20 mm

10%

z30

30 mm

15%

z40

40 mm

20%

z50

50 mm

25%

z60

60 mm

30%

z80

80 mm

40%

z100

100 mm

50%

z150

150 mm

75%

z200

200 mm

100%

UR

UR机器人在路径规划中支持转角区域(Blend Region)功能,通过设置转角半径参数r(单位:m)来实现平滑的轨迹过渡。当为路径点设置转角半径时,机器人将不会在该点完全停止,而是以圆弧轨迹平滑过渡到下一段路径。

机器人在设置转角半径后,轨迹会在路径点附近形成圆弧过渡,避免急停急起的现象。圆弧的半径大小直接影响轨迹的平滑程度和偏离原始路径的距离。较小的转角半径能更接近原始路径点,但运动不够平滑;较大的转角半径运动更加流畅,但会偏离预期轨迹更多。

当相邻路径点的转角区域发生重叠时,情况会变得复杂。如果当前路径点的转角区域与前一个或后一个路径点的转角半径产生重叠,系统会跳过中间的路径点,直接连接到下一个有效点。

转角区域参数的设置与两个运动点之间的距离大小有直接关系,需要合理设置以确保机器人运动的平滑性和效率。

机械臂配置数据

机械臂配置数据对于机器人的正确运动控制至关重要,它定义了机器人关节的当前状态和运动约束。这个数据经常会因为设置不当而导致视觉点位不可达的问题。

ABB

ABB使用confdata数据类型来定义机器人的轴配置。通过使用直角坐标系,可以定义和储存机器臂的所有位置。当计算机器臂的解决方案时,通常可能存在两种或更多的解决方案,这些情况就是机器臂能够有多种不同的位置或配置。为明确表示可能配置之一,通过使用四个轴的值来定义机器人配置。

对于一个旋转轴,该值是义机器人轴的当前象限。将象限编号为0、1、2等等,其中亦为负,象限编号与轴的当前关系有关。对于6轴机器人,象限0为从零位开始到180°的第一个四分之一圆,即0°到90°;象限1为第二个四分之一圆,即90°到180°,以此类推。

abb status 6

对于7轴机器人,象限0是以零位为中心旋转的四分之一圆,即-45°到45°;象限1是正向旋转的第二个四分之一圆,即45°到135°,以此类推。

abb status 7

对于线性轴,该值说明有关机器人轴的问题来数。对于各个轴,值0意味着一个介于0到1米之间的位置,值1意味着一个介于1到2米之间的位置,对于负值,-1意味着一个介于-1到0米之间的位置,以此类推。

abb status 1

配置监督:

对于一些机器人种型而言,如果ConfL\On有以设置,则配置数据(confdata)亦用于对有关线性移动的编程点变监督。不使用ConfL\On执行配置监控,如进行Confl-接头移动期间控制配置。

在开始进行指定运动之前,进行验证,以查看是否能够实现编程配置。如果不可能,则停止程序,完成运动时(在区域或精点中),同时验证机器人已达到编程配置。用ConfL\On的配置监督将不同机器人有所不同。

机械臂类型 配置监督内容

6轴机械臂

检查第1、4和6轴是否不会移动180度以上,且该有序移动无需更改cfx(cfx仅用于串行连接机器人,而不适用于并联连杆机器人)

4轴机械臂

检查轴1和6是否不会移动180度以上

并联臂机器人(Delta型机器人)

检查轴4是否不会移动180度以上

SCARA机器人

检查轴1和4不会移动超出180度,也会核实轴2的标志

7轴机械臂

检查轴1、4和6是否不会移动180度以上,且安排的移动无需改变cfx

涂漆机械臂

未实施任何配置监督

机械臂配置数据:

  1. 含串行线的6轴机械臂

    机器人工作范围内存在三个象界点,即cf1为轴1的象限编号、cf4为轴4的象限编号和cf6为轴6的象限编号。

    cfx为用于从编号0到7的八种可能的机器人配置中选择一种。下表描述了有关如何相对于三个象界点来放置机器人的各种配置

    cfx

    相对于轴1的脑中心

    相对于下臀的脑中心

    轴5角

    0

    在前面

    在前面

    1

    在前面

    在前面

    2

    在前面

    在后面

    3

    在前面

    在后面

    4

    在后面

    在前面

    5

    在后面

    在前面

    6

    在后面

    在后面

    7

    在后面

    在后面

  2. 含平行杆的6轴机械臂:仅使用配置参数cf1、cf4和cf6。

  3. 4轴机械臂:仅使用配置参数cf6。

  4. 平行臂机械臂:仅使用配置参数cf4。

  5. SCARA机器人:仅使用的三个配置参数cf1、cf4和cfx。采用cfx值来展示轴2角度的标志。如果轴2角度为负,那么,cfx为1,否则,cfx为0。

  6. 7轴机器人:运用四个配置参数,cf1、cf4和cf6分别用于关节1、4和6,cfx用于从8种可能的机器人配置中选择一种。方法同用于其他机器人时类似。

    cfx

    轴2角度

    相对于下臂的腕中心

    轴5角度

    0

    在前面

    1

    在前面

    2

    在后面

    3

    在后面

    4

    在前面

    5

    在前面

    6

    在后面

    7

    在后面

  7. 涂漆机械臂:使用全部四种配置参数。分别对接口1、4和6使用cf1、cf4、cf6,并针对接口5使用cfx。

  8. IRB 5500:使用全部四种配置参数。分别针对接口1、4和6使用cf1、cf4、cf6,cfx参数包含接头5象限号以及有关轴2和轴3的四种可能的配置。

  9. IRB 5350:机械臂有有两个旋转轴(臂1和臂2)和一个线性轴(臂3)。cf1用于接转轴1, cfx用于接转轴2,未使用cf4和cf6。

组件:

组件 数据类型 旋转轴 线性轴

cf1

num

轴1的当前象限,表示为一个正整数或负整数

轴1的当前间隔米数,表示为一个正整数或负整数

cf4

num

轴4的当前象限,表示为一个正整数或负整数

轴4的当前间隔米数,表示为一个正整数或负整数

cf6

num

轴6的当前象限,表示为一个正整数或负整数

轴6的当前间隔米数,表示为一个正整数或负整数

cfx

num

对于串行线机械臂和7轴机器人,当机械臂配置表示为0到7范围中的一个整数。 + 对于SCARA机器人,当机械臂配置表示为0到1范围中的一个整数。 + 对于涂漆机械臂,轴5的当前象限表示为一个正整数或负整数。 + 对于其他机械臂,使用轴2的当前象限,表示为一个正整数或负整数。

轴2的当前间隔米数,表示为一个正整数或负整数

FANUC

FANUC机器人使用形态来指定机器人各个关节的位置状态。形态是指机器人主体部分的姿势,对于给定的直角坐标值(X、Y、Z、W、P、R),通常存在多个满足条件的形态解。为了确定唯一的机器人位置,需要明确指定每个轴的关节配置和回转数。

FANUC系统将机器人的关节配置分为以下几种基本类型:

主要配置状态:

配置项

状态值

说明

FLIP/NOFLIP

LEFT/RIGHT

指示机器人手腕(J5轴)的翻转状态,决定了工具的朝向

UP/DOWN

FRONT/BACK

表示机器人手臂(J3轴)的上下配置,影响机器人的工作空间利用

肘关节状态

UPPER/LOWER

描述机器人肘部(J2和J3轴组合)的配置状态

fanuc status

回转数范围定义:

FANUC系统使用回转数来处理旋转轴超过±180°的情况:

回转数值

角度范围

说明

1

180°~539°

正向超过一圈的角度范围

0

-179°~179°

标准角度范围,无回转

-1

-539°~-180°

负向超过一圈的角度范围

FANUC系统使用专门的系统变量来管理和跟踪回转轴的状态:

回转轴状态变量:

系统变量

功能

应用说明

$SSCR_GRP[group].$TURN_AXIS[1]

管理第1轴(基座旋转轴)的回转状态

记录J1轴的转数信息,用于区分多圈旋转位置

$SSCR_GRP[group].$TURN_AXIS[2]

管理第2轴(肩部轴)的回转状态

记录J2轴的转数信息,影响手臂的配置

$SSCR_GRP[group].$TURN_AXIS[3]

管理第3轴(肘部轴)的回转状态

记录J3轴的转数信息,决定肘部的上下配置

形态数据结构:

数据组件

数据类型

说明

关节位置

JOINTPOS

所有关节的角度值,以度为单位

配置标志

CONFIG

描述机器人当前的配置状态(FLIP、UP等)

回转信息

TURN

各轴的回转数,用于处理多圈旋转

有效性标志

STATUS

指示该形态是否有效和可达

YASKAWA

YASKAWA机器人使用[fig_ctrl]来指向姿态信息的指针(输出)。语法为:

typedef unsigned int BITSTRING;

说明

D00

0:Front  1:Back

D01

0:Upper  arm  1:Lower  arm

D02

0:Fli  p 1:No  flip

D03

0:R<180   1:R>=180

D04

0:T<180   1:T>=180

D05

0:S<180   1:S>=180

D06-D31

Reserved  by  manufacturer

KUKA

KUKA机器人使用POSITION、XYZWPR、XYZWPREXT、JOINTPOS和PATH等数据类型来表示位置数据。POSITION数据类型包含三个REAL值表示以毫米为单位的X、Y、Z位值,三个REAL值表示以度为单位的W、P、R方向,一个CONFIG数据类型由4个布尔值和3个整数组成,代表关节位置和转弯数的配置。

KUKA机器人的配置数据通过STATUS和TURN组件来定义。TCP位置(X、Y、Z)和姿态(A、B、C)的数值不足于明确规定机器人的位置。因为当TCP相同,也确的位置仍可能有多个,状态和转弯方向用于从多个可能的轴位置中确定一个唯一的位置。

kuka status 1

STATUS

位0:过顶区域检测

当轴1位于0°时,A1坐标系与$ROBROOT坐标系相同。当值不等于0°时,A1坐标系随轴1一起动。

位置

过顶区域

比特位0=1

基本区域

位0=0

当轴1位于0°时,A1坐标系与$ROBROOT坐标系相同,当值不等于0°时,A1坐标系随轴1一起动。

kuka status 2

位1:给出轴3的位置

比特位1值改变时对应的角取决于机器人类型。对轴3和轴4相关的机器人,适用:

位置

A3≥0°

位1 =1

A3<0°

比特位1=0

对于轴3与轴4错开的机器人,比特位1改变时对应的角取决于偏移量的大小。

kuka status 3

位2:给出轴5的位置

位置

A5>0

比特位2=1

A5≤0

比特位2=0

位3:未用,始终为0。

位4:驱动类型标识

说明是否用一台绝对精确的机器人对点进行示教。

说明

这点未用绝对精确的机器人示教

比特位4=0

这点已用一个绝对精确的机器人示教

比特位4=1

TURN

TURN参数通过6个比特位分别对应6个轴(A1-A6)的转弯状态,每个比特位记录对应轴是否处于负角度范围。这样可以准确区分机器人各轴在多圈旋转情况下的实际位置。各比特位如下决定轴值的正负号:

  • 比特位=0:角度≥0°

  • 比特位=1:角度<0°

比特位5

比特位4

比特位3

比特位2

比特位1

比特位0

0

A6≥0°

A5≥0°

A4≥0°

A3≥0°

A2≥0°

A1≥0°

1

A6<0°

A5<0°

A4<0°

A3<0°

A2<0°

A1<0°