高级力控
对齐接触
元操作描述与用法示例
描述: 此元操作维持力控,并以设定的力控制机器人沿预先设定的方向移动,直到它与环境接触,同时调整机器人的位置和方向,使其能通过柔顺运动与接触面对齐。
用法示例: 当机器人的最终目标位姿不是完全预定义的位姿时,可使用此元操作。例如,当抓取位置不确定的物体时,使用此元操作让机器人先使用接触信息来了解目标物体与自身之间的空间关系,再执行抓取动作。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
接触轴 (contactAxis) |
工具坐标系中表示接触(力控)方向的一个轴,必须是 TCP 的一个主轴 [X、Y、Z]。 |
VEC_3d |
none |
0 0 1 ∈ [-1 -1 -1 … 1 1 1] |
接触速度 (contactVel) |
沿接触轴移动到接触面时的 TCP 线速度 |
DOUBLE |
m/s |
0.01 ∈ [0.001 … 0.03] |
接触力 (contactForce) |
沿接触轴的目标力 |
DOUBLE |
N |
5 ∈ [5 … 30] |
对齐轴 (alignAxis) |
工具坐标系中的对齐运动方向。机器人将沿着值设为 1 的轴进行对齐运动。 |
VEC_6i |
none |
0 0 0 0 0 0 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
对齐速度等级 (alignVelScale) |
对齐运动的速度等级。较高的对齐速度会让机器人有更快的运动速度,但稳定性更低。 |
DOUBLE |
none |
0.2 ∈ [0.01 … 1.0] |
死区等级 (deadbandScale) |
TCP 力/力矩的死区等级。机器人将保持其刚度,直到 TCP 力/力矩超过这个死区。死区较低表示机器人运动时柔顺性更高,但稳定性更低。 |
DOUBLE |
none |
0.2 ∈ [0.01 … 1.0] |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为 True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
对齐接触完成 (alignContacted) |
表示对齐接触已经完成的标志 |
BOOL |
none |
前进距离 (forwardDis) |
从起始位置到接触点的前进距离 |
DOUBLE |
m |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
alignContacted |
= |
1 |
力位混合控制
元操作描述与用法示例
描述: 此元操作控制机器人以力位混合运动的模式沿直线移动 TCP 经过路点至目标位姿,并在力控方向上施加力。
用法示例: 当机器人在运行轨迹的同时需要对外施加力的情况下,使用此元操作获得更好的力位混合控制的效果。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
目标点* (target) |
目标点 TCP 位姿 |
COORD |
m-deg |
[traj_start* world*] |
路点 (waypoint) |
路点位姿 |
ARRAY_COORD |
m-deg |
[traj_start* traj_goal* traj_prev* world*] |
力/力矩 (wrench) |
施加在路点上的力和力矩 |
ARRAY_VEC_6d |
N |
|
速度 (vel) |
TCP 线速度 |
DOUBLE |
m/s |
0.25 ∈ [0.001 … 2.2] |
加速度 (acc) |
TCP 线加速度 |
DOUBLE |
m/s^2 |
1.5 ∈ [0.1 … 3.0] |
区域半径 (zoneRadius) |
TCP 接近路点时的过渡区域半径 |
TYPE |
none |
Z50 ∈ [ZFine Z1 Z5 Z10 Z15 Z20 Z30 Z40 Z50 Z60 Z80 Z100 Z150 Z200] |
目标点容差等级 (targetTolerLevel) |
判断机器人是否已到达目标点的容差等级。1 表示用最小的容差检查,0 表示不检查容差。 |
INT |
none |
0 ∈ [0 … 10] |
力控坐标系 (forceCoord) |
力控方向的参考坐标系 |
COORD |
m-deg |
0 0 0 0 0 0 TCP ONLINE ∈ [world* tcp_start* tcp*] |
力控轴* (forceAxis) |
施加力或力矩的力控坐标轴 |
VEC_6i |
none |
0 0 1 0 0 0 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
目标点扭矩* (targetWrench) |
施加在目标点上的力和力矩 |
VEC_6d |
N |
0.0 0.0 -5.0 0.0 0.0 0.0 |
角速度 (angVel) |
TCP 角速度 |
DOUBLE |
deg/s |
150.0 ∈ [10.0 … 500.0] |
加加速度 (jerk) |
TCP 线加加速度 |
DOUBLE |
m/s^3 |
200.0 ∈ [50.0 … 1500.0] |
构型优化目标 (configOptObj) |
三种机器人在运动过程中的构型优化目标的权重,分别是使机器人在笛卡尔坐标空间中更容易平移,在笛卡尔坐标空间中更容易旋转,以及更接近关节参考位置。 |
VEC_3d |
none |
0.0 0.0 0.5 ∈ [0.0 0.0 0.1 … 1.0 1.0 1.0] |
刚度等级 (stiffScale) |
机器人运动时的刚度等级范围为 0.01 到 1.0,其中 0.01 为最小刚度 |
VEC_6d |
none |
1.0 1.0 1.0 1.0 1.0 1.0 ∈ [0.01 0.01 0.01 0.01 0.01 0.01 … 1.0 1.0 1.0 1.0 1.0 1.0] |
启用接触力/力矩极限 (enableMaxWrench) |
在各笛卡尔方向(X, Y, Z, Rx, Ry, Rz) 上是否启用最大接触力/力矩的标志 |
VEC_6i |
none |
0 0 0 0 0 0 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
最大接触力/力矩 (maxContactWrench) |
沿着 Fx, Fy, Fz, Mx, My, Mz 静态碰撞时允许的最大接触力和力矩 |
VEC_6d |
N |
150.0 150.0 150.0 40.0 40.0 40.0 ∈ [5.0 5.0 5.0 1.0 1.0 1.0 … 150.0 150.0 150.0 40.0 40.0 40.0] |
力控方向最大速度 (maxVelForceDir) |
沿力控方向的最大移动速度 |
VEC_3d |
m/s |
2.0 2.0 2.0 ∈ [0.005 0.005 0.005 … 2.0 2.0 2.0] |
*注意:在执行元操作前,必须为标星号的参数赋值。
*坐标系定义
坐标系 |
定义 |
输入格式 |
---|---|---|
world |
世界坐标系,即位于机器人基座中心的固定笛卡尔坐标系 |
X Y Z Rx Ry Rz WORLD WORLD_ORIGIN |
work |
工件坐标系,相对于世界坐标系的用于定义工件位置的坐标系 |
X Y Z Rx Ry Rz WORK WorkCoordName |
tcp |
TCP坐标系,相对于机器人法兰盘中心的定义工具控制点的坐标系 |
X Y Z Rx Ry Rz TCP ONLINE |
tcp_start |
固定在元操作初始TCP位置上的坐标系 |
X Y Z Rx Ry Rz TCP START |
traj_start |
工具坐标系方向上,相对于初始 TCP 位置的偏移 |
X Y Z Rx Ry Rz TRAJ START |
traj_goal |
工具坐标系方向上,相对于目标 TCP 位置的偏移 |
X Y Z Rx Ry Rz TRAJ GOAL |
traj_prev |
工具坐标系方向上,相对于前一路点的偏移 |
X Y Z Rx Ry Rz TRAJ PREVIOUSWAYPOINT |
您可以使用上表中简化的输入格式来描述一个笛卡尔路点,其完整的表示为:X Y Z Rx Ry Rz ReferenceCoordinate A1 A2 A3 A4 A5 A6 A7 E1 E2 E3 E4 E5 E6. A1 至 A7 表示机器人关节参考位置,X1 至 X6 表示外部轴的目标位置。您可根据需求增加相应的数据。
在路点之间使用冒号(:)隔开。例:0.2 0 0.3 0 180 0 WORLD WORLD_ORIGIN : 0.2 0.1 0.3 0 180 0 WORLD WORLD_ORIGIN.
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为 True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
到达目标点 (reachedTarget) |
用于指示机器人是否已到达目标点的标志 |
BOOL |
none |
路点编号 (waypointIndex) |
机器人当前刚经过的路点编号。编号 0 代表起始位置。 |
INT |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
reachedTarget |
= |
1 |
柔顺力控
元操作描述与用法示例
描述: 此元操作控制机器人沿直线柔顺地移动 TCP 经过路点至目标位姿。您可以调整参数“刚度等级”和“最大接触力/力矩”的值以获得更好的柔顺运动效果。
用法示例: 当机器人在移动期间有可能与未知环境碰撞时,或者当您希望在机器人移动时与机器人柔顺交互,可使用此元操作。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
目标点* (target) |
目标点 TCP 位姿 |
COORD |
m-deg |
[traj_start* world*] |
路点 (waypoints) |
起始位置和目标点之间的路点 |
ARRAY_COORD |
m-deg |
[traj_start* traj_goal* traj_prev* world*] |
速度 (vel) |
TCP 线速度 |
DOUBLE |
m/s |
0.25 ∈ [0.001 … 2.2] |
区域半径 (zoneRadius) |
TCP 接近路点时的过渡区域半径 |
TYPE |
none |
Z50 ∈ [ZFine Z1 Z5 Z10 Z15 Z20 Z30 Z40 Z50 Z60 Z80 Z100 Z150 Z200] |
目标点容差等级 (targetTolerLevel) |
判断机器人是否已到达目标点的容差等级。1 表示用最小的容差检查,0 表示不检查容差。 |
INT |
none |
0 ∈ [0 … 10] |
柔顺运动坐标系 (compCoord) |
柔顺运动的参考坐标系 |
COORD |
m-deg |
0 0 0 0 0 0 WORLD WORLD_ORIGIN ∈ [world* tcp_start* tcp*] |
刚度等级 (stiffScale) |
机器人运动时的刚度等级。刚度等级越低,机器人运动越柔顺。 |
VEC_6d |
none |
1.0 1.0 1.0 1.0 1.0 1.0 ∈ [0.01 0.01 0.01 0.01 0.01 0.01 … 1.0 1.0 1.0 1.0 1.0 1.0] |
启用接触力/力矩极限 (enableMaxWrench) |
在各笛卡尔方向(X, Y, Z, Rx, Ry, Rz) 上是否启用最大接触力/力矩的标志 |
VEC_6i |
none |
0 0 0 0 0 0 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
最大接触力/力矩 (maxContactWrench) |
沿着 Fx, Fy, Fz, Mx, My, Mz 静态碰撞时允许的最大接触力和力矩 |
VEC_6d |
N |
150.0 150.0 150.0 40.0 40.0 40.0 ∈ [5.0 5.0 5.0 1.0 1.0 1.0 … 150.0 150.0 150.0 40.0 40.0 40.0] |
加速度 (acc) |
TCP 线加速度 |
DOUBLE |
m/s^2 |
1.5 ∈ [0.1 … 3.0] |
角速度 (angVel) |
TCP 角速度 |
DOUBLE |
deg/s |
150.0 ∈ [10.0 … 500.0] |
加加速度 (jerk) |
TCP 线加加速度 |
DOUBLE |
m/s^3 |
200.0 ∈ [50.0 … 1500.0] |
构型优化目标 (configOptObj) |
三种机器人在运动过程中的构型优化目标的权重,分别是使机器人在笛卡尔坐标空间中更容易平移,在笛卡尔坐标空间中更容易旋转,以及更接近关节参考位置。 |
VEC_3d |
none |
0.0 0.0 0.5 ∈ [0.0 0.0 0.1 … 1.0 1.0 1.0] |
*注意:在执行元操作前,必须为标星号的参数赋值。
*坐标系定义
坐标系 |
定义 |
输入格式 |
---|---|---|
world |
世界坐标系,即位于机器人基座中心的固定笛卡尔坐标系 |
X Y Z Rx Ry Rz WORLD WORLD_ORIGIN |
work |
工件坐标系,相对于世界坐标系的用于定义工件位置的坐标系 |
X Y Z Rx Ry Rz WORK WorkCoordName |
tcp |
TCP坐标系,相对于机器人法兰盘中心的定义工具控制点的坐标系 |
X Y Z Rx Ry Rz TCP ONLINE |
tcp_start |
固定在元操作初始TCP位置上的坐标系 |
X Y Z Rx Ry Rz TCP START |
traj_start |
工具坐标系方向上,相对于初始 TCP 位置的偏移 |
X Y Z Rx Ry Rz TRAJ START |
traj_goal |
工具坐标系方向上,相对于目标 TCP 位置的偏移 |
X Y Z Rx Ry Rz TRAJ GOAL |
traj_prev |
工具坐标系方向上,相对于前一路点的偏移 |
X Y Z Rx Ry Rz TRAJ PREVIOUSWAYPOINT |
您可以使用上表中简化的输入格式来描述一个笛卡尔路点,其完整的表示为:X Y Z Rx Ry Rz ReferenceCoordinate A1 A2 A3 A4 A5 A6 A7 E1 E2 E3 E4 E5 E6. A1 至 A7 表示机器人关节参考位置,X1 至 X6 表示外部轴的目标位置。您可根据需求增加相应的数据。
在路点之间使用冒号(:)隔开。例:0.2 0 0.3 0 180 0 WORLD WORLD_ORIGIN : 0.2 0.1 0.3 0 180 0 WORLD WORLD_ORIGIN.
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为 True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
到达目标点 (reachedTarget) |
用于指示机器人是否已到达目标点的标志 |
BOOL |
none |
路点编号 (waypointIndex) |
机器人当前刚经过的路点编号。编号 0 代表起始位置。 |
INT |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
reachedTarget |
= |
1 |