自适应装配
搜孔
元操作描述与用法示例
描述: 此元操作控制机器人以力搜索的模式在轴孔装配任务中找到孔。具体来说,它控制机器人在圆形或矩形区域内沿着表面上越来越密集的轨迹进行搜索,同时保持一定的接触力。
用法示例: 在执行轴孔装配任务之前使用此元操作定位轴孔位置。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
接触轴 (contactAxis) |
工具坐标系中表示接触(力控)方向的一个轴,必须是 TCP 的一个主轴 [X、Y、Z]。 |
VEC_3d |
none |
0.0 0.0 1.0 |
接触力 (contactForce) |
在表面搜索的接触力 |
DOUBLE |
N |
5 ∈ [5 … 20] |
搜索轴 (searchAxis) |
工具坐标系中的表示搜索方向的一个轴,必须垂直于接触轴。 |
VEC_3d |
none |
1.0 0.0 0.0 |
搜索图形 (searchPattern) |
搜索轨迹所构成的图形(螺旋或之字) |
TYPE |
none |
SPIRAL ∈ [SPIRAL ZIGZAG] |
螺旋半径 (spiralRadius) |
搜索图形为螺旋时,搜索的区域半径。当有效负载或接触环境摩擦力/阻力较大时,该值可能略小于其设定值。 |
DOUBLE |
m |
0.015 ∈ [0.001 … 0.015] |
之字长度 (zigzagLength) |
搜索图形为之字时,沿搜索轴的搜索区域长度。当有效负载或接触环境摩擦力/阻力较大时,该值可能略小于其设定值。 |
DOUBLE |
m |
0.03 ∈ [0.001 … 0.03] |
之字宽度 (zigzagWidth) |
搜索图形为之字时,垂直于搜索轴和接触轴的搜索区域宽度。当有效负载或接触环境摩擦力/阻力较大时,该值可能略小于其设定值。 |
DOUBLE |
m |
0.03 ∈ [0.001 … 0.03] |
开始密度 (startDensity) |
在开始循环中基础搜索轨迹图形重复的次数 |
INT |
none |
2 ∈ [1 … 5] |
时间系数 (timeFactor) |
TCP 绘制基础搜索轨迹图形所需时间的时间系数。 注意:1. 如果搜索半径大,时间系数小,可能会导致机器人超出极限并停止。 2. 在手动模式下,无论速度百分比如何,该系数都会大约翻倍。 |
INT |
none |
2 ∈ [1 … 10] |
摆动范围 (wiggleRange) |
在搜索过程中,TCP 沿接触轴摆动范围以找到合适的角度。注意:如果该参数设置得很大,请务必增大摆动周期的值,否则机器人可能会超出极限。 |
DOUBLE |
deg |
0 ∈ [0 … 90] |
摆动周期 (wigglePeriod) |
TCP 沿接触轴来回摆动一次的时间周期。注意:1. 将此值设置得太小可能会导致机器人超出极限并停止,特别是当摆动运动不是沿着机器人法兰的 Z 轴时。2. 在手动模式下,无论速度百分比如何,该系数都会大约翻倍。 |
DOUBLE |
s |
0.3 ∈ [0.2 … 30] |
立即搜索 (searchImmed) |
立即开始搜索,无需等待接触力达到其设定值 |
BOOL |
none |
1 ∈ [0 / 1] |
搜索刚度系数 (searchStiffRatio) |
搜索运动中机器人的刚度系数。注意:将此值设置得太小可能会导致机器人可能无法很好地按搜索轨迹运动,特别是当表面摩擦力或接触力非常大时。 |
DOUBLE |
none |
1 ∈ [0.1 … 1] |
力控方向最大速度 (maxVelForceDir) |
沿力控方向的最大移动速度 |
DOUBLE |
m/s |
0.1 ∈ [0.005 … 0.5] |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为 True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
搜索阻力 (searchResisForce) |
搜索运动中的反馈力,代表碰撞的力或阻力的大小 |
DOUBLE |
N |
推进距离 (pushDis) |
TCP 向表面推进的距离,可作为搜索成功标志 |
DOUBLE |
m |
力下降值 (forceDrop) |
从设定的接触力下降的值。注意:如果输入参数立即搜索被设置为 TRUE,此状态将不可靠。 |
DOUBLE |
N |
丢失接触 (lostContact) |
表示丢失接触的标志。只有当 X、Y、Z、Rx、Ry、Rz 轴上检测到的力均在 1.5 秒内持续小于 1N 或 1Nm 时,该标志才会被触发。 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
pushDistance |
> |
0.005 |
入孔检查
元操作描述与用法示例
描述: 此元操作用于检查轴是否已经插在孔中。您可以设定接触轴和垂直于接触轴的搜索轴,并将生成相应的正交轴以形成坐标系。机器人将向搜索轴正方向、搜索轴负方向、正交轴负方向、正交轴正方向移动。当机器人沿着这些轴移动时,如果机器人超过了设定的 搜索范围 的限制,则元操作将终止,状态参数“轴入孔”将被设置为 False;如果机器人在过程中沿所有这些方向遇到大于“搜索力”的力值,则元操作将终止,“轴入孔”将被设置为 True。
用法示例: 使用此元操作检查是否已完成插轴入孔的动作。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
接触轴 (contactAxis) |
工具坐标系中表示接触(力控)方向的一个轴,必须是 TCP 的一个主轴 [X、Y、Z]。 |
VEC_3d |
none |
0.0 0.0 1.0 |
搜索轴 (searchAxis) |
工具坐标系中的表示搜索方向的一个轴,必须垂直于接触轴。 |
VEC_3d |
none |
1.0 0.0 0.0 |
搜索范围 (searchRange) |
机器人进行向前、向后、向左和向右搜索运动的范围 |
DOUBLE |
m |
0.01 ∈ [0.001 … 0.1] |
搜索力 (searchForce) |
用于检测机器人是否可以沿搜索方向移动的力的阈值。当检测到的力大于此值时,机器人将沿着下一个运动方向移动。 |
DOUBLE |
N |
3 ∈ [2 … 20] |
搜索速度 (searchVel) |
搜索运动的 TCP 线速度 |
DOUBLE |
m/s |
0.01 ∈ [0.001 … 0.1] |
仅直线搜索 (linearSearchOnly) |
用于指示机器人是否仅在搜索轴正方向和搜索轴负方向上进行直线搜索的标志 |
BOOL |
none |
0 ∈ [0 / 1] |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为 True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
轴入孔 (pegIsInHole) |
表示轴是否已经在孔中的标志 |
BOOL |
none |
检查完成 (checkComplete) |
用于指示入孔检查是否已完成的标志 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
TCP 初始位姿 (initTcpPose) |
工程运行至此元操作时的初始 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
checkComplete |
= |
1 |
柔顺插拔
元操作描述与用法示例
描述: 此元操作控制机器人沿预先设定的插入方向移动,直到总外力达到设定值。插入过程中,若除插入方向外的其他方向上有外力超过死区等级,机器人将停止插入动作,并在相应方向上调整其位置和方向,直到各方向的力都在死区之内,再继续插入。
用法示例: 可在高精密度装配任务(如变速箱装配、轴孔装配)或机器护理应用(如套筒安装)中使用此元操作。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
插入轴* (insertAxis) |
工具坐标系中表示插入方向的一个轴 |
TYPE |
none |
[X -X Y -Y Z -Z] |
柔顺轴 (compAxis) |
工具坐标系中的柔顺轴。机器人将沿着值设为 1 的轴进行柔顺运动。 |
VEC_6i |
none |
0 0 0 0 0 0 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
最大接触力 (maxContactForce) |
最大接触力。当外力超过此极限时,元操作将被终止。 |
DOUBLE |
N |
5 ∈ [1 … 120] |
死区等级 (deadbandScale) |
进行对齐运动时力/力矩的死区等级。只有当外部力/力矩高于这个死区时,机器人才会执行柔顺运动。0 表示没有死区。 |
DOUBLE |
none |
50 ∈ [10 … 100] |
插入速度 (insertVel) |
插入方向的 TCP 线速度 |
DOUBLE |
m/s |
0.01 ∈ [0.001 … 0.1] |
柔顺速度等级 (compVelScale) |
柔顺运动的速度等级。较高的速度等级会导致机器人在进行柔顺运动时速度更快但不太稳定。 |
DOUBLE |
none |
20 ∈ [10 … 100] |
*注意:在执行元操作前,必须为标星号的参数赋值。
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为 True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
插入距离 (insertDis) |
机器人在插入方向的移动距离 |
DOUBLE |
m |
正在移动 (isMoving) |
用于指示机器人是否仍在移动的标志 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
isMoving |
= |
0 |
啮合
元操作描述与用法示例
描述: 此元操作控制机器人在一个方向上持续施加固定的力,同时沿一个方向来回移动,直到啮合完成。可以通过附加一个方向上的啮合运动以提高啮合成功率。
用法示例: 在装配任务中使用此元操作进行零件啮合的操作。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
接触轴 (contactAxis) |
工具坐标系中表示接触(力控)方向的一个轴,必须是 TCP 的一个主轴 [X、Y、Z]。 |
VEC_3i |
none |
0 0 1 ∈ [-1 -1 -1 … 1 1 1] |
接触力 (contactForce) |
沿接触轴的目标力 |
DOUBLE |
N |
15 ∈ [5 … 50] |
啮合轴 (matingAxis) |
工具坐标系中的表示啮合时滑动或旋转方向的一个轴,不能和接触轴一致 |
VEC_6i |
none |
0 1 0 0 0 0 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
滑动啮合范围 (slideMatingRange) |
滑动啮合的运动范围 |
DOUBLE |
m |
0.1 ∈ [0.001 … 0.35] |
滑动啮合速度 (slideMatingVel) |
滑动啮合时 TCP 的线速度 |
DOUBLE |
m/s |
0.1 ∈ [0.001 … 0.5] |
滑动啮合加速度 (slideMatingAcc) |
滑动啮合时 TCP 的线加速度 |
DOUBLE |
m/s^2 |
1.0 ∈ [0.1 … 2.5] |
旋转啮合范围 (rotateMatingRange) |
旋转啮合的运动范围 |
DOUBLE |
deg |
10 ∈ [1 … 60] |
旋转啮合速度 (rotateMatingVel) |
旋转啮合时 TCP 的角速度 |
DOUBLE |
deg/s |
10 ∈ [1.0 … 60.0] |
旋转啮合加速度 (rotateMatingAcc) |
旋转啮合时 TCP 的角加速度 |
DOUBLE |
deg/s^2 |
180 ∈ [5 … 500] |
啮合次数 (matingTimes) |
啮合次数。完成指定啮合次数时,元操作将被终止。注意:如果设置为0,机器人只执行一次向前运动,而不是来回移动。 |
INT |
none |
1 ∈ [0 … 1000] |
接触方向最大距离 (maxContactDis) |
沿接触轴的最大移动距离。当移动距离超过此值时,元操作将被终止。 |
DOUBLE |
m |
0.05 ∈ [0.005 … 0.5] |
安全力 (safetyForce) |
啮合期间的安全力极限。当反馈力超过此值时,元操作将被终止。 |
DOUBLE |
N |
50.0 ∈ [20 … 80] |
附加啮合轴 (addMatingAxis) |
工具坐标系中的表示啮合是滑动或旋转方向的一个附加轴,不能和接触轴或啮合轴一致,在啮合时叠加在该轴方向上的啮合动作 |
VEC_6i |
none |
0 0 0 0 0 0 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
附加滑动啮合范围 (addSlideMatingRange) |
附加滑动啮合的运动范围 |
DOUBLE |
m |
0.05 ∈ [0.001 … 0.1] |
附加滑动啮合速度 (addSlideMatingVel) |
附加滑动啮合运动的 TCP 的线速度 |
DOUBLE |
m/s |
0.1 ∈ [0.001 … 0.5] |
附加滑动啮合加速度 (addSlideMatingAcc) |
附加滑动啮合运动的 TCP 的线加速度 |
DOUBLE |
m/s^2 |
1.0 ∈ [0.1 … 2.5] |
附加旋转啮合范围 (addRotateMatingRange) |
附加旋转啮合的运动范围 |
DOUBLE |
deg |
10 ∈ [1 … 60] |
附加旋转啮合速度 (addRotateMatingVel) |
附加旋转啮合运动的 TCP 的角速度 |
DOUBLE |
deg/s |
10 ∈ [1.0 … 60.0] |
附加旋转啮合加速度 (addRotateMatingAcc) |
附加旋转啮合运动的 TCP 的角加速度 |
DOUBLE |
deg/s^2 |
180 ∈ [5 … 500] |
力控方向最大速度 (maxVelForceDir) |
沿力控方向的最大移动速度。当机器人突然与环境失去接触时,将约束其速度。注意,如果将该参数值设置过小,机器人的力控性能可能会下降。 |
DOUBLE |
m/s |
0.5 ∈ [0.002 … 0.5] |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为 True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
啮合完成 (matingFinish) |
用于表示啮合是否完成的标志 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
matingFinished |
= |
1 |
螺丝锁付
元操作描述与用法示例
描述: 此元操作适用于螺丝锁付任务。在拧紧过程中,机器人在螺丝入孔方向与物体保持刚性接触,同时在其他方向执行柔顺运动。
用法示例: 在装配应用中,使用此元操作执行螺丝锁付任务。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
---|---|---|---|---|
入孔方向 (insertDir) |
在工具坐标系中螺丝进入螺孔的方向 |
TYPE |
none |
Z ∈ [X -X Y -Y Z -Z] |
最大入孔速度 (maxInsertVel) |
螺丝拧入螺孔的最大速度 |
DOUBLE |
m/s |
0.01 ∈ [0.001 … 0.05] |
入孔进给力 (insertForce) |
螺丝拧紧时的进给力 |
DOUBLE |
N |
20 ∈ [10 … 50] |
刚度等级 (stiffScale) |
拧螺丝时机器人的刚度等级,刚度等级越低,机器人运动越柔顺。 |
DOUBLE |
none |
0.5 ∈ [0.1 … 1] |
螺丝入牙输入端口 (diScrewInHole) |
数字输入端口号用于接收螺丝入牙信号 |
TYPE |
none |
NONE ∈ [NONE, gpioIn0 … gpioIn15, modbusIn0 … modbusIn15] |
拧紧完成输入端口 (diFastenFinish) |
数字输入端口号用于接收螺丝拧紧完成信号 |
TYPE |
none |
NONE ∈ [NONE, gpioIn0 … gpioIn15, modbusIn0 … modbusIn15] |
螺丝卡住输入端口 (diScrewJam) |
数字输入端口号用于接收螺丝卡住信号 |
TYPE |
none |
NONE ∈ [NONE, gpioIn0 … gpioIn15, modbusIn0 … modbusIn15] |
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止 (terminated) |
元操作终止的标志。如果元操作终止,则将其设置为 True。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
入孔距离 (insertDis) |
螺丝拧入螺孔的距离 |
DOUBLE |
m |
入孔速度 (insertVel) |
螺丝拧入螺孔的速度 |
DOUBLE |
m/s |
拧紧状态 (fastenState) |
螺丝拧紧状态:0 代表默认状态,1 代表入牙,2 代表拧紧完成,-1 代表螺丝卡住。 |
INT |
none |
螺丝入孔 (reachedHole) |
检测螺丝是否与螺孔完全接触的标志 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
---|---|---|
fastenState |
= |
2 |