跳到主要内容

15.4.4 力控指令

15.4.4.1 CalibSensorError

说明

标定力矩传感器零点。

定义

没有参数,直接使用。 机械臂需处于静止状态,任意位姿均可调用此接口标定,使用时请注意设置正确负载,否则可能会出现报错。

示例

例 1
FcInit(tool1, wobj0, 0);
FcStart();
CalibSensorError();

注意

  • 只适用于协作机型的力矩传感器零点标定,工业机型不生效。

  • 机械臂需处于静止状态,任意位姿均可调用此接口标定,使用时请注意设置正确负载,否则可能会出现报错。

15.4.4.2 FcInit

说明

用于力控开启前的一些初始化工作,如设置工件、工具和力控坐标系。

定义

FcInit(Tool, Wobj, ForceFrameRef);
Tool,数据类型 tool,力控所使用的工具,力控坐标系的原点是该工具的 TCP(姿态与第三个参数中所选择的坐标系姿态相同)。需要注意的是,所有使用的转接法兰都需要包含在工具的定义中。
Wobj,数据类型 wobj,力控所使用的工件,很多力控功能的定义是相对于工件坐标系来的,例如力控坐标系的姿态、搜索模式和终止条件等。该参数默认为 Wobj0。
ForceFrameRef,数据类型 int,定义力控坐标系相对于哪个坐标系定义。支持:

  • 0:世界坐标系

  • 1:工件坐标系

  • 2:工具坐标系

  • 3:基坐标系。

默认值为世界坐标系(0)。

示例

例 1
FcInit(tool1, wobj0, 0);
力控初始化,并且定义力控所使用的工具tool1和工件wobj0,以及力控坐标系相对于世界坐标系定义。

注意

FcInit 和 FcStop 之间不允许再次调用 FcInit。

15.4.4.3 SetControlType

说明

设置阻抗控制类型。

定义

SetControlType(ctrl_type);
ctrl_type,数据类型 int,阻抗控制类型,支持:

  • 0:关节阻抗

  • 1:笛卡尔阻抗。

示例

例 1
FcInit(tool1, wobj0, 0);
SetControlType(0);
设置阻抗控制模式为关节阻抗。

注意

FcInit 之后,FcStart 之前,不满足此限制,阻抗类型将无法设置成功。
设置阻抗控制类型后,需配合设置对应阻抗刚度来运行。如设置控制类型为关节阻抗,应该继续调用 SetJntCtrlStiffVec 接口设置关节阻抗刚度;若只设置笛卡尔阻抗刚度,那么当机器人运动时,笛卡尔刚度设置并不生效;若同时关节阻抗和笛卡尔阻抗刚度,那么当机器人运动时,只有关节阻抗刚度设置生效;默认关节阻抗和笛卡尔阻抗刚度都为 0。

15.4.4.4 SetCartNsStiff

说明

设置零空间阻抗刚度。

定义

SetCartNsStiff(cart_ns_stiff);
cart_ns_stiff,数据类型 double,笛卡尔零空间阻抗刚度,取值范围(0~4),单位: Nm/rad。

示例

例 1
FcInit(tool1, wobj0, 0);
SetControlType(1);
SetCartNSStiff(2);
设置阻抗控制模式为笛卡尔阻抗,零空间刚度设置为 2。

注意

SetControlType 1 之后,也即设置阻抗控制类型为笛卡尔阻抗之后,方可调用此接口,不满足此限制,零空间阻抗参数将无法设置成功。

15.4.4.5 SetJntCtrlStiffVec

说明

设置关节阻抗刚度。

定义

SetJntCtrlStiffVec(jnt1_stiff, jnt2_stiff, jnt3_stiff, jnt4_stiff, jnt5_stiff, jnt6_stiff, jnt7_stiff);
jnt1_stiff,数据类型 double,关节 1 阻抗刚度,单位 Nm/rad。
jnt2_stiff,数据类型 double,关节 2 阻抗刚度,单位 Nm/rad。
jnt3_stiff,数据类型 double,关节 3 阻抗刚度,单位 Nm/rad。
jnt4_stiff,数据类型 double,关节 4 阻抗刚度,单位 Nm/rad。
jnt5_stiff,数据类型 double,关节 5 阻抗刚度,单位 Nm/rad。
jnt6_stiff,数据类型 double,关节 6 阻抗刚度,单位 Nm/rad。
jnt7_stiff,数据类型 double,关节 7 阻抗刚度,单位 Nm/rad。//设置 6 轴机器人时此参数默认为 0。

示例

例 1
FcInit(tool1, wobj0, 0);
SetControlType(0);
SetJntCtrlStiffVec(1500, 1500, 1500, 1500, 100, 100, 100);
设置阻抗控制模式为关节阻抗,1~7 关节的阻抗刚度分别设置为 1500、1500、1500、1500、100、100、100。

注意

SetControlType 0 之后,也即设置阻抗控制类型为关节阻抗之后,方可调用此接口,不满足此限制,关节阻抗参数将无法设置成功。

协作机型各轴刚度上限,单位:Nm/rad

机型 J1 J2 J3 J4 J5 J6 J7

ER3P

6000

6000

6000

1000

1000

1000

1000

ER7P

6000

6000

6000

1000

1000

1000

1000

ER3

3000

3000

3000

300

300

300

ER7

3000

3000

3000

300

300

300

SR3

3000

3000

3000

300

300

300

SR4

3000

3000

3000

300

300

300

SR5

3000

3000

3000

300

300

300

CR7

6000

6000

6000

1000

1000

1000

CR12

20000

20000

20000

3000

2500

2500

CR17

20000

20000

20000

2500

2500

CR17/25

20000

20000

20000

2500

2500

CR18

20000

20000

20000

3000

2500

2500

CR20

20000

20000

20000

3000

2500

2500

CR25

20000

20000

20000

2500

2500

15.4.4.6 SetCartCtrlStiffVec

说明

设置笛卡尔阻抗刚度。

定义

SetCartCtrlStiffVec(trans_stiff_x, trans_stiff_y, trans_stiff_z, rot_stiff_x, rot_stiff_y, rot_stiff_z);
trans_stiff_x,数据类型 double,X 方向笛卡尔阻抗力刚度,单位 N/m。
trans_stiff_y,数据类型 double,Y 方向笛卡尔阻抗力刚度,单位 N/m。
trans_stiff_z,数据类型 double,Z 方向笛卡尔阻抗力刚度,单位 N/m。
rot_stiff_x,数据类型 double,X 方向笛卡尔阻抗力矩刚度,单位 N·m/rad。
rot_stiff_y,数据类型 double,Y 方向笛卡尔阻抗力矩刚度,单位 N·m/rad。
rot_stiff_z,数据类型 double,Z 方向笛卡尔阻抗力矩刚度,单位 N·m/rad。

示例

例 1
FcInit(tool1, wobj0, 0);
SetControlType(1);
SetCartCtrlStiffVec(1000, 1000, 1000, 100, 100, 100);
设置阻抗控制模式为笛卡尔阻抗,X/Y/Z 方向的阻抗力刚度设置为 1000,阻抗力矩刚度设置为 100。

注意

SetControlType 1 之后,也即设置阻抗控制类型为笛卡尔阻抗之后,方可调用此接口,不满足此限制,笛卡尔阻抗参数将无法设置成功。

协作机型各轴刚度上限,单位:N/m 及Nm/rad

机型

trans_x

trans_y

trans_z

rot_x

rot_y

rot_z

ER3P

6000

6000

6000

1000

1000

1000

ER7P

6000

6000

6000

1000

1000

1000

ER3

3000

3000

3000

300

300

300

ER7

3000

3000

3000

300

300

300

SR3

3000

3000

3000

300

300

300

SR4

3000

3000

3000

300

300

300

SR5

3000

3000

3000

300

300

300

CR7

6000

6000

6000

1000

1000

1000

CR12

18000

18000

18000

2500

2500

2500

CR17/25

18000

18000

18000

2500

2500

2500

CR18

18000

18000

18000

2500

2500

2500

CR20

18000

18000

18000

2500

2500

2500

15.4.4.7 SetJntTrqDes

说明

设置关节期望力矩。

定义

SetJntTrqDes(tau_d1, tau_d2, tau_d3, tau_d4, tau_d5, tau_d6, tau_d7);
tau_d1,数据类型 double,关节 1 期望力矩,取值范围(-30~30),单位 N·m。
tau_d2,数据类型 double,关节 2 期望力矩,取值范围(-30~30),单位 N·m。
tau_d3,数据类型 double,关节 3 期望力矩,取值范围(-30~30),单位 N·m。
tau_d4,数据类型 double,关节 4 期望力矩,取值范围(-30~30),单位 N·m。
tau_d5,数据类型 double,关节 5 期望力矩,取值范围(-30~30),单位 N·m。
tau_d6,数据类型 double,关节 6 期望力矩,取值范围(-30~30),单位 N·m。
tau_d7,数据类型 double,关节 7 期望力矩,取值范围(-30~30),单位 N·m。//设置 6 轴机器人时此参数默认为 0。

示例

例 1
FcInit(tool1, wobj0, 0);
SetControlType(0);
FcStart();
SetJntTrqDes(5, 5, 5, 5, 5, 5, 5);
FcStop();
设置关节期望力矩,所有关节的期望力矩设置为 5 N·m。

注意

FcStart 之后,FcStop 之前,方可调用此接口,不满足此限制,关节期望力矩设置不成功。

15.4.4.8 SetCartForceDes

说明

设置笛卡尔期望力/力矩。

定义

SetCartForceDes(force_x, force_y, force_z, torque_x, torque_y, torque_z);
force_x,数据类型 double,X 方向笛卡尔期望力,取值范围(-60~60),单位 N。
force_y,数据类型 double,Y 方向笛卡尔期望力,取值范围(-60~60),单位 N。
force_z,数据类型 double,Z 方向笛卡尔期望力,取值范围(-60~60),单位 N。
torque_x,数据类型 double,X 方向笛卡尔期望力矩,取值范围(-10~10),单位 N·m。
torque_y,数据类型 double,Y 方向笛卡尔期望力矩,取值范围(-10~10),单位 N·m。
torque_z,数据类型 double,Z 方向笛卡尔期望力矩,取值范围(-10~10),单位 N·m。

示例

例 1
FcInit(tool1, wobj0, 0);
SetControlType(1);
FcStart();
SetCartForceDes(0, 0, 5, 0, 0, 0);
FcStop();
设置笛卡尔期望力/力矩,将 z 方向的期望力设置为 5 N。

注意

FcStart 之后,FcStop 之前,方可调用此接口,不满足此限制,笛卡尔期望力/力矩设置不成功。

15.4.4.9 SetSineOverlay

说明

设置绕单轴旋转的正弦搜索运动。

定义

SetSineOverlay(line_dir, amplify, frequency, phase, bias);
line_dir,数据类型 int,搜索运动参考轴。支持:

  • 0:X 轴

  • 1:Y 轴

  • 2:Z 轴

amplify,数据类型 double,搜索运动幅值,单位 N·m。
frequency,数据类型 double,搜索运动频率,单位 Hz。
phase,数据类型 double,搜索运动相位,取值范围(-3.14~3.14),单位 rad。
bias,数据类型 double,搜索运动偏置,取值范围(-10~10),单位 N·m。

示例

例 1
FcInit(tool1, wobj0, 0);
SetControlType(1);
SetSineOverlay(0, 10, 5, 3.14, 2);
设置绕 x 轴(0)的旋转搜索运动,幅值为 10 N·m,频率为 5 Hz,相位为 3.14 rad,偏置为 2 N·m。

注意

SetControlType 1 之后,也即设置阻抗控制类型为笛卡尔阻抗之后,StartOverlay 之前,方可调用此接口,不满足此限制,正弦搜索运动将无法设置成功。

协作机型参数上限:

机型

搜索运动幅值上限

搜索运动频率上限

ER3P

10

5

ER7P

10

5

ER3

10

5

ER7

10

5

SR3

5

5

SR3-C

5

5

SR3-A

5

5

SR4

5

5

SR4-C

5

5

CR7

10

5

CR12

10

5

CR17/25

10

5

CR18

10

5

CR20

10

5

15.4.4.10 SetLissajousOverlay

说明

设置平面内的莉萨如搜索运动。

定义

SetLissajousOverlay(plane, amplify_one, frequncy_one, amplify_two, frequncy_two, phase_diff);
plane,数据类型 int,搜索运动参考平面。支持

  • 0:参考平面为XY 平面

  • 1:参考平面为XZ 平面

  • 2:参考平面为YZ 平面

amplify_one,数据类型 double,搜索运动一方向幅值,取值范围(-20~20),单位 N·m。
frequncy_one,数据类型 double,搜索运动一方向频率,取值范围(0~5),单位 Hz。
amplify_two,数据类型 double,搜索运动二方向幅值,取值范围(-20~20),单位 N·m。
frequncy_two,数据类型 double,搜索运动二方向频率,取值范围(0~5),单位 Hz。
phase_diff,数据类型 double,搜索运动两个方向相位偏差,取值范围(-3.14~3.14),单位 rad。

示例

例 1
FcInit(tool1, wobj0, 0);
SetControlType(1);
SetLissajousOverlay(0, 5, 2.5, 10, 5, 3.14);
设置 xy 平面(0)内的莉萨如搜索运动,x 方向的幅值为 5 N·m,频率为 2.5 Hz;y 方向的幅值为 10 N·m,频率为 5 Hz,y 方向相对于 x 方向的相位偏差为 3.14 rad。

注意

SetControlType 1 之后,也即设置阻抗控制类型为笛卡尔阻抗之后,StartOverlay 之前,不满足此限制,搜索运动将无法设置成功。

15.4.4.11 SetLoad

说明

设置力控模块使用的负载信息。

定义

SetLoad(m, rx, ry, rz, Ixx, Iyy, Izz);
m,数据类型 double,负载质量,单位 kg,范围(0~25)。
rx,数据类型 double,负载质心在法兰坐标系 x 方向的距离,单位 mm,范围(-300, 300)。
ry,数据类型 double,负载质心在法兰坐标系 y 方向的距离,单位 mm,范围(-300, 300)。
rz,数据类型 double,负载质心在法兰坐标系 z 方向的距离,单位 mm,范围(-300, 300)。
Ixx,数据类型 double,负载质心 x 轴的主轴惯量,单位 kg·mm²,范围(0, 100000)。
Iyy,数据类型 double,负载质心 y 轴的主轴惯量,单位 kg·mm²,范围(0, 100000)。
Izz,数据类型 double,负载质心 z 轴的主轴惯量,单位 kg·mm²,范围(0, 100000)。

示例

例 1
FcInit(tool1, wobj0, 0);
FcStart();
SetLoad(1, 0, 0, 10, 0.001, 0.001, 0.0001);
设置末端负载,此负载具有这样的信息:质量1kg,质心在法兰坐标系下的分量分别为0,0,10mm,负载相对于负载质心坐标系的主轴转动惯量分别为 0.001kg·mm²、0.001kg·mm²、0.0001kg·mm²。

注意

FcStart 之后,方可调用此接口,不满足此限制,负载参数将无法设置成功。

15.4.4.12 FcStart

说明

用于开启力控操作,此操作将机器人从单纯的位置控制切换到力控制。

定义

没有参数,直接使用。

示例

例 1
FcInit(tool1, wobj0, 0);
FcStart();
FcInit 之后通过 FcStart 开启力控,此时机器人处于力控模式。

注意

FcInit 之后调用此接口,且调用之前应确保机器人机械零点、力传感器零点、负载信息已经正确设置,本体参数已经正确辨识。否则,将影响力控功能的使用效果,甚至无法开启力控功能。

15.4.4.13 FcStop

说明

用于停止力控,此操作将机器人从力控制切换到位置控制。执行该指令内部会自动停止所有搜索运动。

定义

没有参数,直接使用。

示例

例 1
FcInit(tool1, wobj0, 0);
FcStart();
FcStop();
FcStop 停止力控,将机器人从力控制切换到位置控制,并清空所有的力控状态。

注意

FcStart 之后调用此接口,调用此接口时会清空力控状态,例如:力控负载信息、阻抗参数、搜索运动、期望力等。如需再次开启力控,则需重新 FcInit。

15.4.4.14 StartOverlay

说明

开启前面设置的搜索运动。

定义

没有参数,直接使用。

示例

例 1
FcInit(Tool1, Wobj0, 0);
SetControlType(1);
SetSineOverlay(0, 10, 5, 3.14, 2);
SetLissajousOverlay(0, 5, 2.5, 10, 5, 3.14);
FcStart();
StartOverlay();
开启搜索运动,搜索运动为之前设置的各种搜索运动的叠加。示例中的搜索运动为绕 x 轴的正弦搜索运动和 xy 平面内的莉萨如搜索运动的叠加。

注意

FcStart 之后,方可调用此接口,不满足此限制,搜索运动将无法开启成功。

15.4.4.15 PauseOverlay

说明

暂停搜索运动。

定义

没有参数,直接使用。

示例

例 1
FcInit(Tool1, Wobj0, 0);
SetControlType(1);
SetSineOverlay(0, 10, 5, 3.14, 2);
FcStart();
StartOverlay();
PauseOverlay();
暂停搜索运动。

注意

StartOverlay 之后,方可调用此接口。

15.4.4.16 RestartOverlay

说明

重新开启暂停的搜索运动。

定义

没有参数,直接使用。

示例

例 1
FcInit(Tool1, Wobj0, 0);
SetControlType(1);
SetSineOverlay(0, 10, 5, 3.14, 2);
FcStart();
StartOverlay();
PauseOverlay();
RestartOverlay();
重新开启暂停的搜索运动。

注意

PauseOverlay 之后,方可调用此接口。此接口和 PauseOverlay 搭配使用,用于重新启动暂停的搜索运动。

15.4.4.17 StopOverlay

说明

停止搜索运动。

定义

没有参数,直接使用。

示例

例 1
FcInit(Tool1, Wobj0, 0);
SetControlType(1);
SetSineOverlay(0, 10, 5, 3.14, 2);
FcStart();
StartOverlay();
StopOverlay();
停止搜索运动。

注意

StartOverlay 之后,调用此接口才具有实际意义。

15.4.4.18 FcCondForce

说明

用于定义与接触力有关的终止条件。

定义

FcCondForce(xmin, xmax, ymin, ymax, zmin, zmax, IsInside, TimeOut);
xmin,定义 X 方向上的力限制下限,为负值时表示 X 负方向上的最大值。单位为 N,默认值为负无穷。数据类型 double
xmax,定义 X 方向上的力限制上限,为负值时表示 X 负方向上的最小值。单位为 N,默认值为正无穷。数据类型 double
ymin,定义 Y 方向上的力限制下限,为负值时表示 Y 负方向上的最大值。单位为 N,默认值为负无穷。数据类型 double
ymax,定义 Y 方向上的力限制上限,为负值时表示 Y 负方向上的最小值。单位为 N,默认值为正无穷。数据类型 double
zmin,定义 Z 方向上的力限制下限,为负值时表示 Z 负方向上的最大值。单位为 N,默认值为负无穷。数据类型 double
zmax,定义 Z 方向上的力限制上限,为负值时表示 Z 负方向上的最小值。单位为 N,默认值为正无穷。数据类型 double
IsInside,用于定义限制条件内部为 true 还是外部为 true。数据类型 bool
TimeOut,定义超时时间,单位为秒,取值范围 1~600。数据类型 double

示例

例 1
FcInit(Tool1, Wobj0, 0);
FcStart();
FcCondForce(-100, 100, -100, 100, -100, 100, true, 60);
定义一个终止条件:当接触力在力控坐标系 X/Y/Z 轴方向的大小在 ±100 N 范围内时条件为 true,超出 100 N 范围时终止,超时时间为 60 秒。

注意

FcStart 之后,FcStop 之前,方可调用此接口,不满足此限制,接触力终止条件无法设置成功。

15.4.4.19 FcCondPosBox

说明

用于定义与接触位置有关的终止条件。

定义

FcCondPosBox(SupvFrame, Box, IsInside, Timeout);
SupvFrame,用于选择监控的空间体相对哪个坐标系定义。该坐标系是从工件坐标系上叠加一个坐标系转换得来的,转换坐标系由 pose 定义,默认使用 pose0,即不使用任何转换,直接使用工件坐标系。数据类型:pose
Box,定义一个长方体,数据类型 fcboxvol
IsInside,用于定义限制条件内部为 true 还是外部为 true。数据类型:bool
TimeOut,定义超时时间,单位为秒,取值范围 1~600。数据类型 double

示例

例 1
FcInit(Tool1, Wobj0, 0);
FcStart();
VAR fcboxvol box1 = fcbv:{-100.0, 100.0, -200.0, 200.0, -300.0, 300.0};
VAR pose pose1 = pe:{{0, 0, 0}, {1, 0, 0, 0}};
FcCondPosBox(pose1, box1, false, 60);
定义一个终止条件:当机器人 TCP 进入定义的长方体内部,或等待超过 60 秒,触发终止条件。

注意

FcStart 之后,FcStop 之前,方可调用此接口,不满足此限制,立方体位置终止条件无法设置成功。

15.4.4.20 FcCondTorque

说明

用于定义与接触力矩有关的终止条件。

定义

FcCondTorque(xmin, xmax, ymin, ymax, zmin, zmax, IsInside, TimeOut);
xmin,定义 X 方向上的力矩限制下限,为负值时表示 X 负方向上的最大值。单位为 N·m,默认值为负无穷。数据类型 double
xmax,定义 X 方向上的力矩限制上限,为负值时表示 X 负方向上的最小值。单位为 N·m,默认值为正无穷。数据类型 double
ymin,定义 Y 方向上的力矩限制下限,为负值时表示 Y 负方向上的最大值。单位为 N·m,默认值为负无穷。数据类型 double
ymax,定义 Y 方向上的力矩限制上限,为负值时表示 Y 负方向上的最小值。单位为 N·m,默认值为正无穷。数据类型 double
zmin,定义 Z 方向上的力矩限制下限,为负值时表示 Z 负方向上的最大值。单位为 N·m,默认值为负无穷。数据类型 double
zmax,定义 Z 方向上的力矩限制上限,为负值时表示 Z 负方向上的最小值。单位为 N·m,默认值为正无穷。数据类型 double
IsInside,用于定义限制条件内部为 true 还是外部为 true。数据类型 bool
TimeOut,定义超时时间,单位为秒,取值范围 1~600。数据类型 double

示例

例 1
FcInit(Tool1, Wobj0, 0);
FcStart();
FcCondTorque(-10, 10, -10, 10, -10, 10, true, 60);
定义一个终止条件:当接触力矩在力控坐标系各轴方向的大小大于 10 N·m,或时间超时 60 秒,则触发终止条件。

注意

FcStart 之后,FcStop 之前,方可调用此接口,不满足此限制,接触力矩终止条件无法设置成功。

15.4.4.21 FcCondWaitWhile

说明

用于激活在之前定义的终止条件,并在当前行等待直到这些条件变为 False 或者超时。

定义

没有参数,直接使用。

示例

例 1
FcInit(Tool1, Wobj0, 0);
FcStart();
FcCondTorque(-10, 10, -10, 10, -10, 10, true, 60);
FcCondForce(-100, 100, -100, 100, -100, 100, true, 60);
FcCondWaitWhile();
激活终止条件,程序阻塞在当前位置,等待触发终止条件。

注意

定义力控终止条件之后

15.4.4.22 FcMonitor

说明

用于开启或关闭力控模块保护监控。力控保护监控是指控制器在阻抗模式下,使用用户设置的保护参数,来限制机器人的速度、动量、功率等状态,以实现阻抗模式下的保护。

定义

FcMonitor(On); 开启力控模块保护监控,用户设置的保护参数在阻抗运动中生效。
FcMonitor(Off); 关闭力控模块保护监控,用户设置的保护参数在阻抗运动中不生效,控制器将采用默认保护参数限制机器人的运动状态。

示例

例 1
FcInit(Tool1, Wobj0, 0);
SetControlType(0);
SetFcJointVelMax(1.0, 1.0, 1.0, 0.5, 0.5, 0.5, 0);
SetFcJointEnergyMax(100, 100, 100, 100, 100, 100, 0);
FcMonitor(On);//开启力控模块保护监控
FcStart();

FcMonitor(Off); //关闭力控模块保护监控

FcStop();
设置保护参数后开启力控模块保护监控,力控结束后关闭保护监控。

注意

  • 建议在使用阻抗模式的时候,先设置好保护参数,再使用 FcMonitor On 开启力控模块保护监控。

  • 如果未设置保护参数或者使用 FcMonitor Off 关闭力控模块保护监控,控制器将生效默认的保护参数。

  • 默认的保护参数限制较大,在使用阻抗模式下容易触发力控保护报错。

15.4.4.23 GetEndToolTorque

说明

用于获取机器人当前的力矩信息。

定义

GetEndToolTorque(Tool, Wobj [, RefType]);
[] 表示该参数可以省略。
返回值,力矩信息,数据类型 TorqueInfo
Tool,当前使用的工具信息,数据类型 Tool
Wobj,当前使用的工件信息,数据类型 Wobj
RefType,力矩相对的参考系,数据类型 int。支持:

  • 0:默认,相对世界坐标系

  • 1:相对法兰盘

  • 2:相对工具坐标系

示例

例 1
TorqueInfo tmp_info = GetEndToolTorque(tool1, wobj1);
//获得在tool1 wobj1条件下机器人末端工具的力矩信息结构体

Print(tmp_info.joint_torque.measure_torque);
Print(tmp_info.joint_torque.external_torque);
//打印各个轴的测量力和外部力

Print(tmp_info.cart_torque.m_torque);
//打印笛卡尔空间力矩

Print(tmp_info.cart_torque.m_force[1]);
Print(tmp_info.cart_torque.m_torque[1]);
//打印X方向的力和力矩信息

15.4.4.24 SetFcJointVelMax

说明

用于设置阻抗运动时的最大轴速度。

定义

SetFcJointVelMax(jnt1_vel, jnt2_vel, jnt3_vel, jnt4_vel, jnt5_vel, jnt6_vel, jnt7_vel);
jnt1_vel,数据类型 double,关节 1 最大速度,单位 rad/s。
jnt2_vel,数据类型 double,关节 2 最大速度,单位 rad/s。
jnt3_vel,数据类型 double,关节 3 最大速度,单位 rad/s。
jnt4_vel,数据类型 double,关节 4 最大速度,单位 rad/s。
jnt5_vel,数据类型 double,关节 5 最大速度,单位 rad/s。
jnt6_vel,数据类型 double,关节 6 最大速度,单位 rad/s。
jnt7_vel,数据类型 double,关节 7 最大速度,单位 rad/s。

示例

SetFcJointVelMax(1.0, 1.0, 1.0, 1.0, 0.5, 0.5, 0.5);

设置各关节最大速度,协作机型可设置各轴速度上限见下表,单位 rad/s。

机型

J1

J2

J3

J4

J5

J6

J7

ER3P

4.7

4.7

4.7

4.7

6.28

6.28

6.28

ER7P

4.7

4.7

4.7

4.7

6.28

6.28

6.28

ER3

4.7

4.7

4.7

6.28

6.28

6.28

ER7

4.7

4.7

4.7

6.28

6.28

6.28

SR3

4.7

4.7

4.7

6.28

6.28

6.28

SR4

4.7

4.7

4.7

6.28

6.28

6.28

SR5

4.7

4.7

4.7

6.28

6.28

6.28

CR7

4.7

4.7

4.7

6.28

6.28

6.28

CR12

4.7

4.7

4.7

6.28

6.28

6.28

CR17

4.7

4.7

4.7

6.28

6.28

CR18

4.7

4.7

4.7

6.28

6.28

6.28

CR20

4.7

4.7

4.7

6.28

6.28

6.28

CR25

4.7

4.7

4.7

6.28

6.28

15.4.4.25 SetFcCartVelMax

说明

用于设置阻抗运动时的最大笛卡尔速度。

定义

SetFcCartVelMax(vel_x, vel_y, vel_z, vel_a, vel_b, vel_c);
vel_x,数据类型 double,X 方向上最大线速度,单位 m/s。
vel_y,数据类型 double,Y 方向上最大线速度,单位 m/s。
vel_z,数据类型 double,Z 方向上最大线速度,单位 m/s。
vel_a,数据类型 double,绕 X 轴最大角速度,单位 rad/s。
vel_b,数据类型 double,绕 Y 轴最大角速度,单位 rad/s。
vel_c,数据类型 double,绕 Z 轴最大角速度,单位 rad/s。

示例

SetFcCartVelMax(1.0, 1.0, 1.0, 0.5, 0.5, 0.5);

设置笛卡尔最大速度,协作机型可设置速度上限见下表,单位 m/s、rad/s。

机型

Vel_x

Vel_y

Vel_z

Vel_a

Vel_b

Vel_c

ER3P

3.0

3.0

3.0

6.28

6.28

6.28

ER7P

3.0

3.0

3.0

6.28

6.28

6.28

ER3

3.0

3.0

3.0

6.28

6.28

6.28

ER7

3.0

3.0

3.0

6.28

6.28

6.28

SR3

3.0

3.0

3.0

6.28

6.28

6.28

SR4

3.0

3.0

3.0

6.28

6.28

6.28

SR5

3.0

3.0

3.0

6.28

6.28

6.28

CR7

3.0

3.0

3.0

6.28

6.28

6.28

CR12

3.0

3.0

3.0

6.28

6.28

6.28

CR17

3.0

3.0

3.0

6.28

6.28

6.28

CR18

3.0

3.0

3.0

6.28

6.28

6.28

CR20

3.0

3.0

3.0

6.28

6.28

6.28

CR25

3.0

3.0

3.0

6.28

6.28

6.28

15.4.4.26 SetFcJointMomentumMax

说明

用于设置阻抗运动时的关节最大角动量。

定义

SetFcJointMomentumMax(jnt1_moment, jnt2_moment, jnt3_moment, jnt4_moment, jnt5_moment, jnt6_moment, jnt7_moment);
Jnt1_moment,数据类型:double,关节1最大角动量,单位:kg*m/s。
Jnt2_moment,数据类型:double,关节2最大角动量,单位:kg*m/s。
Jnt3_moment,数据类型:double,关节3最大角动量,单位:kg*m/s。
Jnt4_moment,数据类型:double,关节4最大角动量,单位:kg*m/s。
Jnt5_moment,数据类型:double,关节5最大角动量,单位:kg*m/s。
Jnt6_moment,数据类型:double,关节6最大角动量,单位:kg*m/s。
Jnt7_moment,数据类型:double,关节7最大角动量,单位:kg*m/s。

示例

SetFcJointMomentumMax(0.1, 0.1, 0.1, 0.1, 0.055, 0.055, 0.055);

设置各关节最大角动量,协作机型可设置各轴角动量上限见下表,单位 kg·m/s。

机型

J1

J2

J3

J4

J5

J6

J7

ER3P

1.0

1.0

1.0

1.0

0.55

0.55

0.55

ER7P

2.0

2.0

1.0

1.0

0.55

0.55

0.55

ER3

1.0

1.0

1.0

0.55

0.55

0.55

ER7

2.0

2.0

1.0

0.55

0.55

0.55

SR3

0.55

0.55

0.55

0.2

0.2

0.2

SR4

1.0

1.0

0.55

0.2

0.2

0.2

SR5

1.0

1.0

0.55

0.2

0.2

0.2

CR7

2.0

2.0

1.0

0.55

0.55

0.55

CR12

3.5

3.5

2.0

1.0

0.55

0.55

CR17

7.0

7.0

5.5

3.5

2.0

CR18

3.5

3.5

2.0

1.0

0.55

0.55

CR20

7.0

7.0

3.5

2.0

1.0

1.0

CR25

7.0

7.0

3.5

2.0

1.0

15.4.4.27 SetFcJointEnergyMax

说明

用于设置阻抗运动时关节的最大功率。

定义

SetFcJointEnergyMax(jnt1_energy, jnt2_energy, jnt3_energy, jnt4_energy, jnt5_energy, jnt6_energy, jnt7_energy);
Jnt1_ energy,数据类型:double,关节1最大功率,单位:kg.m2/s3。
Jnt2_ energy,数据类型:double,关节2最大功率,单位:kg.m2/s3。
Jnt3_ energy,数据类型:double,关节3最大功率,单位:kg.m2/s3。
Jnt4_ energy,数据类型:double,关节4最大功率,单位:kg.m2/s3。
Jnt5_ energy,数据类型:double,关节5最大功率,单位:kg.m2/s3。
Jnt6_ energy,数据类型:double,关节6最大功率,单位:kg.m2/s3。
Jnt7_ energy,数据类型:double,关节7最大功率,单位:kg.m2/s3。

示例

SetFcJointEnergyMax(100, 100, 100, 100, 100, 100, 100);

设置各关节最大功率,协作机型可设置各关节功率上限见下表,单位 kg·m²/s³。

机型

J1

J2

J3

J4

J5

J6

J7

ER3P

2500.0

2500.0

2500.0

2500.0

1500.0

1500.0

1500.0

ER7P

4000.0

4000.0

3000.0

3000.0

2000.0

1000.0

1000.0

ER3

2500.0

2500.0

2500.0

1500.0

1500.0

1000.0

ER7

4000.0

4000.0

3000.0

2000.0

1000.0

1000.0

SR3

1500.0

1500.0

1500.0

600.0

600.0

600.0

SR4

2500.0

2500.0

1500.0

600.0

600.0

600.0

SR5

2500.0

2500.0

1500.0

600.0

600.0

600.0

CR7

4000.0

4000.0

3000.0

2000.0

1000.0

1000.0

CR12

8000.0

8000.0

5000.0

3500.0

1500.0

1500.0

CR17

8000.0

8000.0

5000.0

1500.0

1500.0

CR18

4000.0

4000.0

3000.0

2000.0

1000.0

1000.0

CR20

16000.0

16000.0

8000.0

4500.0

2500.0

2500.0

CR25

16000.0

16000.0

8000.0

4500.0

2500.0

15.4.4.28 SetCartCtrlMaxWrench

说明

用于设置阻抗运动笛卡尔空间的最大阻抗力矩。

定义

SetCartCtrlMaxWrench(x_wrench, y_wrench, z_wrench, a_wrench, b_wrench, c_wrench);
x_wrench,数据类型:double,x方向上的最大力。取值范围(0-1000)单位:N。
y_wrench,数据类型:double,y方向上的最大力。取值范围(0-1000)单位:N。
z_wrench,数据类型:double,z方向上的最大力。取值范围(0-1000)单位:N。
a_wrench,数据类型:double,a方向上的最大力矩。取值范围(0-1000)单位:N.m。
b_wrench,数据类型:double,b方向上的最大力矩。取值范围(0-1000)单位:N.m。
c_wrench,数据类型:double,c方向上的最大力矩。取值范围(0-1000)单位:N.m。

示例

SetCartCtrlMaxWrench(100, 100, 100, 100, 100, 100);

15.4.4.29 SetJntCtrlMaxTorque

说明

用于设置阻抗运动关节空间的最大阻抗力矩。

定义

SetJntCtrlMaxTorque(jnt1, jnt2, jnt3, jnt4, jnt5, jnt6, jnt7);
Jnt1,数据类型:double,关节1最大力矩。取值范围(0-1000)单位:N.m。
Jnt2,数据类型:double,关节2最大力矩。取值范围(0-1000)单位:N.m。
Jnt3,数据类型:double,关节3最大力矩。取值范围(0-1000)单位:N.m。
Jnt4,数据类型:double,关节4最大力矩。取值范围(0-1000)单位:N.m。
Jnt5,数据类型:double,关节5最大力矩。取值范围(0-1000)单位:N.m。
Jnt6,数据类型:double,关节6最大力矩。取值范围(0-1000)单位:N.m。
Jnt7,数据类型:double,关节7最大力矩。取值范围(0-1000)单位:N.m。

示例

SetJntCtrlMaxTorque(100, 100, 100, 100, 100, 100, 100);

15.4.4.30 SetCartCtrlMaxVel

说明

用于设置阻抗运动笛卡尔空间的最大速度。

定义

SetCartCtrlMaxVel(x_vel, y_vel, z_vel, a_vel, b_vel, c_vel);
x_vel,数据类型:double,x方向笛卡尔最大速度。取值范围(0-3)单位:m/s。
y_vel,数据类型:double,y方向笛卡尔最大速度。取值范围(0-3)单位:m/s。
z_vel,数据类型:double,z方向笛卡尔最大速度。取值范围(0-3)单位:m/s。
a_vel,数据类型:double,a方向笛卡尔最大速度。取值范围(0-10)单位:rad/s。
b_vel,数据类型:double,b方向笛卡尔最大速度。取值范围(0-10)单位:rad /s。
c_vel,数据类型:double,c方向笛卡尔最大速度。取值范围(0-10)单位:rad /s。

示例

SetCartCtrlMaxVel(1, 1, 1, 3, 3, 3);

15.4.4.31 SetJntCtrlMaxVel

说明

用于设置阻抗运动关节空间的最大速度。

定义

SetJntCtrlMaxVel(jnt1, jnt2, jnt3, jnt4, jnt5, jnt6, jnt7);
Jnt1,数据类型:double,关节1最大速度。取值范围(0-10)单位:rad/s。
Jnt2,数据类型:double,关节2最大速度。取值范围(0-10)单位:rad/s。
Jnt3,数据类型:double,关节3最大速度。取值范围(0-10)单位:rad/s。
Jnt4,数据类型:double,关节4最大速度。取值范围(0-10)单位:rad/s。
Jnt5,数据类型:double,关节5最大速度。取值范围(0-10)单位:rad/s。
Jnt6,数据类型:double,关节6最大速度。取值范围(0-10)单位:rad/s。
Jnt7,数据类型:double,关节7最大速度。取值范围(0-10)单位:rad/s。

示例

SetJntCtrlMaxVel(3, 3, 3, 3, 3, 3, 3);

15.4.4.32 SetFcGain

说明

用于设置阻抗运动时关节的力控带宽。

定义

SetFcGain(jnt1, jnt2, jnt3, jnt4, jnt5, jnt6, jnt7);
Jnt1,数据类型:double,关节1力控带宽。取值范围(0-30)单位:无
Jnt2,数据类型:double,关节2力控带宽。取值范围(0-30)单位:无
Jnt3,数据类型:double,关节3力控带宽。取值范围(0-30)单位:无
Jnt4,数据类型:double,关节4力控带宽。取值范围(0-30)单位:无
Jnt5,数据类型:double,关节5力控带宽。取值范围(0-30)单位:无
Jnt6,数据类型:double,关节6力控带宽。取值范围(0-30)单位:无
Jnt7,数据类型:double,关节7力控带宽。取值范围(0-30)单位:无

示例

SetFcGain(20, 20, 20, 20, 20, 20, 20);

15.4.4.33 SetFric

说明

用于设置阻抗运动时各关节摩擦力补偿系数。

定义

SetFric(jnt1, jnt2, jnt3, jnt4, jnt5, jnt6, jnt7);
Jnt1,数据类型:double,关节1摩擦力补偿系数。取值范围(0-1)单位:无
Jnt2,数据类型:double,关节2摩擦力补偿系数。取值范围(0-1)单位:无
Jnt3,数据类型:double,关节3摩擦力补偿系数。取值范围(0-1)单位:无
Jnt4,数据类型:double,关节4摩擦力补偿系数。取值范围(0-1)单位:无
Jnt5,数据类型:double,关节5摩擦力补偿系数。取值范围(0-1)单位:无
Jnt6,数据类型:double,关节6摩擦力补偿系数。取值范围(0-1)单位:无
Jnt7,数据类型:double,关节7摩擦力补偿系数。取值范围(0-1)单位:无

示例

SetFric(0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9);