基础力控
基础力控
末端力清零
元操作描述与用法示例
描述: 此元操作用于将笛卡尔力/力矩偏移量重置为零。通常在力控元操作之前执行此元操作。此元操作适用于所有非夕机器人,包括安装了六维力/力矩传感器的机器人。机器人进入该元操作时应保持足够的静态(即前一个元操作不能触发幅度过大的动作)。在校准过程中,机器人既不能被触碰,也不能与环境接触。
用法示例: 使用此元操作在机器人进行抛光或接触之前将笛卡尔作用力/力矩偏移重置(清零)。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
数据收集时间 (dataCollectTime) |
在重设力/力矩传感器之前,用于收集力/力矩偏移量的时间 |
DOUBLE |
s |
0.2 ∈ [0.1 … 1.0] |
启用静态检查 (enableStaticCheck) |
启用检查机器人是否处于静止状态 |
BOOL |
none |
0 ∈ [0 / 1] |
校准模式 (calibrationMode) |
初始化校准外力偏差模式,共有两种模式:1. 默认原始;2. 校准末端额外负载 |
BOOL |
none |
0 ∈ [0 / 1] |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
terminated |
= |
1 |
接触
元操作描述与用法示例
描述: 此元操作维持力控,并以设定的力控制机器人沿预先设定的方向移动,直到它与环境接触。当机器人与接触面的接触力达到设定的最大接触力值时,机器人会立即停止。用户可以在输入参数中设定移动速度和接触力。用户可以设定多个中间路点和移动速度控制机器人到达要接触的表面。元操作“末端力清零”应始终在执行此元操作之前使用。
用法示例: 在机器人执行需要与环境接触的任务时使用此元操作。例如,在打磨或轴孔装配任务中,机器人的工具都需要与部件接触。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
路点 (waypoint) |
路点位姿 |
ARRAY_COORD |
m-deg |
[traj_start* traj_goal* traj_prev* world*] |
速度 (vel) |
TCP 线速度 |
ARRAY_DOUBLE |
m/s |
[0.0005 … 2.2] |
加速度 (acc) |
TCP 线加速度 |
ARRAY_DOUBLE |
m/s^2 |
[0.1 … 3.0] |
区域半径 (zoneRadius) |
TCP 接近路点时的过渡区域半径 |
ARRAY_TYPE |
mm |
[ZFine Z1 Z5 Z10 Z15 Z20 Z30 Z40 Z50 Z60 Z80 Z100 Z150 Z200] |
启用超弧 (enableSuperArc) |
在相邻方向变化的点之间的启用轴旋转 |
ARRAY_BOOL |
none |
|
加加速度 (jerk) |
TCP 线加加速度 |
DOUBLE |
m/s^3 |
200.0 ∈ [50.0 … 1500.0] |
接触速度 (contactVel) |
移动到接触面时的 TCP 线速度 |
DOUBLE |
m/s |
0.02 ∈ [0.001 … 0.1] |
接触坐标系 (contactCoord) |
接触方向的参考坐标系 |
TYPE |
none |
world ∈ [world tcp] |
接触方向 (contactDir) |
沿着接触坐标系的一个轴,朝接触面接近的方向 |
VEC_3d |
none |
0.0 0.0 -1.0 |
最大接触力 (maxContactForce) |
最大接触力。当外力超过此限制时,元操作将被终止。 |
DOUBLE |
N |
5.0 ∈ [1.0 … 120] |
启用精细接触 (enableFineContact) |
启用该模式可以使机器人在接触时自动调整速度。否则,机器人只会以恒定的速度运动。 |
BOOL |
none |
1 ∈ [0 / 1] |
*坐标系定义
坐标系 |
定义 |
输入格式 |
---|---|---|
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 |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
当前接触力 (curContactForce) |
当前在接触方向上的力 |
DOUBLE |
N |
前进距离 (forwardDis) |
从起始位置到接触点的前进距离 |
DOUBLE |
m |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
terminated |
= |
1 |
对齐接触
元操作描述与用法示例
描述: 此元操作维持力控,并以设定的力控制机器人沿预先设定的方向移动,直到它与环境接触,同时调整机器人的位置和方向,使其能通过柔顺运动与接触面对齐。
用法示例: 当机器人的最终目标位姿不是完全预定义的位姿时,可使用此元操作。当抓取位置不确定的物体时,机器人需要使用接触信息来了解对象与自身之间的空间关系,可使用此元操作。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
接触轴 (contactAxis) |
沿着工具坐标系的一个轴 [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 的轴进行对齐运动。例如,(0,1,0,1,0,0)表示机器人在工具坐标的 Y 和 Rx 轴上进行对齐运动。 |
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.5 ∈ [0.0005 … 2.2] |
加速度 (acc) |
TCP 线加速度 |
DOUBLE |
m/s^2 |
1.5 ∈ [0.1 … 3.0] |
区域半径 (zoneRadius) |
TCP 接近路点时的过渡区域半径 |
TYPE |
mm |
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 |
加加速度 (jerk) |
TCP 线加加速度 |
DOUBLE |
m/s^3 |
200.0 ∈ [50.0 … 1500.0] |
关节参考位置 (preferJntPos) |
机器人关节的参考位置。机器人在笛卡尔空间运动时,各个关节会尽可能地靠近该参考位置。 |
VEC_7d |
deg |
0.0 -40.0 0.0 90.0 0.0 40.0 0.0 ∈ [-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
构型优化目标 (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 |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (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.5 ∈ [0.0005 … 2.2] |
区域半径 (zoneRadius) |
TCP 接近路点时的过渡区域半径 |
TYPE |
mm |
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 … 2.0 2.0 2.0 2.0 2.0 2.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] |
加加速度 (jerk) |
TCP 线加加速度 |
DOUBLE |
m/s^3 |
200.0 ∈ [50.0 … 1500.0] |
关节参考位置 (preferJntPos) |
机器人关节的参考位置。机器人在笛卡尔空间运动时,各个关节会尽可能地靠近该参考位置。 |
VEC_7d |
deg |
0.0 -40.0 0.0 90.0 0.0 40.0 0.0 ∈ [-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
构型优化目标 (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 |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
到达目标点 (reachedTarget) |
用于指示机器人是否已到达目标点的标志 |
BOOL |
none |
路点编号 (waypointIndex) |
机器人当前刚经过的路点编号。编号0代表起始位置。 |
INT |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
reachedTarget |
= |
1 |