高性能视觉引导
视觉伺服示教 (VSTeach)

元操作描述与用法示例
描述: 此元操作从视觉系统多次采集图像特征数据或物体位姿并输出其平均值。
用法示例: 将机器人移动到目标位置后,可使用此元操作记录目标图像的特征或目标物体的位姿。您可将此元操作输出参数的值记录到变量中后,在元操作 [高性能图像视觉伺服] 或 [高性能位姿视觉伺服] 中使用。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
|---|---|---|---|---|
目标物体名* (objName) |
视觉伺服使用的目标物体的名称 |
OBJNAME |
none |
|
目标物体编号 (objIndex) |
视觉伺服使用的目标物体的编号 |
INT |
none |
0 ∈ [0 … 1] |
采样次数 (collectTimes) |
采集图像特征样本的次数 |
INT |
none |
30 ∈ [10 … 200] |
*注意:在执行元操作前,必须为标星号的参数赋值。
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
|---|---|---|---|
终止 (terminated) |
用于指示元操作是否终止的标志。如果元操作终止,则将其设置为 TRUE。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
示教完成 (teachFinished) |
用于指示示教数据是否采集完成的标志 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
|---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
示教 2D 特征点 (taughtFeaturePts2D) |
示教的多个特征点在 2D 相机坐标系中的位置。其值可用于元操作 [高性能图像视觉伺服] 的输入参数 [目标特征点]。 |
ARRAY_VEC_2d |
none |
示教 2D 对齐点 (taughtAlignPts2D) |
示教的对齐物体的特征点在 2D 相机坐标系中的位置。其值可用于元操作 [高性能图像视觉伺服] 的输入参数 [对齐物体特征点]。 |
ARRAY_VEC_2d |
none |
示教特征点噪声 (taughtFeaturePtsNoise) |
示教 2D 特征点的噪声。其值可用于元操作 [高性能图像视觉伺服] 的输入参数 [视觉检测噪声]。 |
ARRAY_VEC_2d |
none |
示教 3D 特征点 (taughtFeaturePts3D) |
示教的多个特征点在 3D 相机坐标系中的位置。其值可用于元操作 [高性能位姿视觉伺服] 的输入参数 [目标特征点]。 |
ARRAY_VEC_3d |
m |
示教 3D 对齐点 (taughtAlignPts3D) |
示教的对齐物体的特征点在 3D 相机坐标系中的位置。其值可用于元操作 [高性能位姿视觉伺服] 的输入参数 [对齐物体特征点]。 |
ARRAY_VEC_3d |
m |
示教物体位姿 (taughtObjPose) |
示教的目标物体在 3D 相机坐标系中的位姿。其值可用于元操作 [高性能位姿视觉伺服] 的输入参数 [目标物体位姿]。 |
POSE |
mm-deg |
示教对齐位姿 (taughtAlignPose) |
示教的对齐物体在 3D 相机坐标系中的位姿。其值可用于元操作 [高性能位姿视觉伺服] 的输入参数 [对齐物体位姿]。 |
POSE |
mm-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
|---|---|---|
teachFinished |
= |
1 |

高性能图像视觉伺服 (HPImageBasedVS)

元操作描述与用法示例
描述: 此元操作使用基于图像的视觉伺服(IBVS),根据实时的视觉反馈,持续控制机器人追踪位置随机且无法预测的对象,以实现高精度、高响应性、准静态的追踪。在此过程中,机器人沿着视觉伺服轴运动,将目标物体上的特征点与目标特征点对齐。
用法示例: 使用此元操作来控制机器人定位平面上位置不确定或处于高速运动中的物体。此元操作也可用于将两个物体对齐,如将 FPC 线缆和接头对齐。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
|---|---|---|---|---|
目标物体名* (objName) |
视觉伺服使用的目标物体的名称 |
OBJNAME |
none |
|
目标物体编号 (objIndex) |
视觉伺服使用的目标物体的编号 |
INT |
none |
0 ∈ [0 … 1] |
目标特征点* (targetFeaturePts) |
目标特征点在 2D 相机坐标系中的位置,每个点由两个像素值(X,Y)表示 |
ARRAY_VEC_2d |
none |
|
目标深度* (targetDepth) |
目标特征点在相机坐标系中的深度 |
ARRAY_DOUBLE |
m |
[0.01 … 1.2] |
视觉伺服轴 (vsAxis) |
相机坐标系中允许移动的轴 |
VEC_6i |
none |
1 1 1 0 0 1 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
速度等级 (velScale) |
视觉伺服的速度等级。注意:该值过大可能造成机器人抖动。 |
DOUBLE |
none |
10 ∈ [1.0 … 100.0] |
最大速度 (maxVel) |
机器人移动允许的最大线速度 |
DOUBLE |
m/s |
0.05 ∈ [0.001 … 0.5] |
最大角速度 (maxAngVel) |
机器人移动允许的最大角速度 |
DOUBLE |
deg/s |
20.0 ∈ [1.0 … 100] |
图像收敛容差 (imageConvToler) |
判定图像是否收敛的容差。拍摄的图像特征与目标特征的误差在容差之内时,将判定为已收敛。 |
DOUBLE |
none |
5.0 ∈ [1 … 50] |
目标收敛次数 (targetConvTimes) |
满足图像收敛容差的目标连续次数。连续收敛的次数达到此设定值时,[目标物体已对齐] 为 TRUE;0 表示 [目标物体已对齐] 永远不会为 TRUE。 |
INT |
none |
4 ∈ [0 … 20] |
超时时间 (timeoutTime) |
接收数据所允许的最长时间间隔,该时间内机器人未接收到视觉反馈的数据将报错 |
DOUBLE |
s |
3 ∈ [0.1 … 10] |
启用物体对齐 (enableObjAlign) |
用于启用物体对齐功能的标志。该功能可使两个物体的特征点对齐。 |
BOOL |
none |
0 ∈ [0 / 1] |
对齐物体特征点 (alignObjPts) |
对齐物体的特征点在 2D 相机坐标系中的位置,每个点由两个像素值(X,Y)表示。该对齐物体在机器人手部并由机器人移动。 |
ARRAY_VEC_2d |
none |
|
优化速度等级 (optVelScale) |
用于提升视觉伺服在 Z 和 Rz 方向上的速度等级。可帮助优化机器人笛卡尔运动的轨迹。 |
VEC_2d |
none |
0 0 ∈ [0 0 … 100 100] |
视觉检测噪声 (visualDetectNoise) |
每个特征点的视觉检测结果的噪声 |
ARRAY_VEC_2d |
none |
[0 0 … 20 20] |
*注意:在执行元操作前,必须为标星号的参数赋值。
元操作状态参数
状态参数 |
描述 |
类型 |
单位 |
|---|---|---|---|
终止 (terminated) |
用于指示元操作是否终止的标志。如果元操作终止,则将其设置为 TRUE。 |
BOOL |
none |
时间周期 (timePeriod) |
运行当前元操作所用的时间 |
DOUBLE |
s |
目标物体已对齐 (objAligned) |
用于指示视觉伺服是否成功对齐目标物体的标志 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
|---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
|---|---|---|
reachedTarget |
= |
1 |

高性能位姿视觉伺服 (HPPoseBasedVS)

元操作描述与用法示例
描述: 此元操作使用基于位置的视觉伺服(PBVS),根据实时的视觉反馈,持续控制机器人追踪位置随机且无法预测的对象,以实现高精度、高响应性、准静态的追踪。在此过程中,机器人沿着视觉伺服轴运动,将目标物体的位姿与目标特征点或目标位姿对齐。
用法示例: 使用此元操作来控制机器人定位自由空间中位置和姿态不确定的物体。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
|---|---|---|---|---|
目标物体名* (objName) |
视觉伺服使用的目标物体的名称 |
OBJNAME |
none |
|
目标物体编号 (objIndex) |
视觉伺服使用的目标物体的编号 |
INT |
none |
0 ∈ [0 … 1] |
检测物体位姿 (detectObjPose) |
用于指示视觉伺服是否检测物体位姿的标志。若此参数设置为 TRUE,视觉伺服以物体位姿作为对齐目标;若此参数设置为 FALSE,视觉伺服以特征点作为对齐目标。 |
BOOL |
none |
1 ∈ [0 / 1] |
目标物体位姿 (targetObjPose) |
相机坐标系中物体的目标位姿 |
POSE |
mm-deg |
0 0 0 0 0 0 |
视觉伺服坐标系 (vsCoord) |
视觉伺服控制方向的参考坐标系 |
COORD |
mm-deg |
0 0 0 0 0 0 WORLD WORLD_ORIGIN ∈ [world* tcp_start* tcp*] |
视觉伺服轴 (vsAxis) |
视觉伺服坐标系中允许移动的轴 |
VEC_6i |
none |
1 1 1 1 1 1 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
速度等级 (velScale) |
视觉伺服各轴的速度等级。注意:该值过大可能造成机器人抖动。 |
VEC_6d |
none |
10 10 10 10 10 10 ∈ [0 0 0 0 0 0 … 100.0 100.0 100.0 100.0 100.0 100.0] |
最大速度* (maxVel) |
机器人在视觉伺服坐标系各方向上允许移动的最大线速度和角速度 |
VEC_6d |
none |
0.1 0.1 0.1 10.0 10.0 10.0 ∈ [0.0 0.0 0.0 0.0 0.0 0.0 … 0.5 0.5 0.5 100.0 100.0 100.0] |
最大加速度* (maxAcc) |
机器人在视觉伺服坐标系各方向上允许移动的最大线加速度和角加速度 |
VEC_6d |
none |
2.5 2.5 2.5 300.0 300.0 300.0 ∈ [0.0 0.0 0.0 0.0 0.0 0.0 … 5.0 5.0 5.0 600.0 600.0 600.0] |
超时时间 (timeoutTime) |
接收数据所允许的最长时间间隔,该时间内机器人未接收到视觉反馈的数据将报错 |
DOUBLE |
s |
3 ∈ [0.1 … 10] |
视觉延迟时间 (visualDelayTime) |
相机拍摄图像与视觉伺服接收到图像之间的时间间隔 |
DOUBLE |
s |
0 ∈ [0.0 … 0.5] |
位置收敛容差 (posConvToler) |
判定位置是否收敛的容差。拍摄的特征位置与目标特征位置的误差在容差之内时,将判定为已收敛。 |
DOUBLE |
m |
0.001 ∈ [0.0001 … 0.01] |
旋转收敛容差 (rotConvToler) |
判定旋转是否收敛的容差。拍摄的特征旋转角度与目标特征旋转角度的误差在容差之内时,将判定为已收敛。 |
DOUBLE |
deg |
1 ∈ [0.01 … 10] |
目标收敛次数 (targetConvTimes) |
同时满足位置和旋转收敛容差的目标连续次数。连续收敛的次数达到此设定值时,[目标物体已对齐] 为 TRUE;0 表示 [目标物体已对齐] 永远不会为 TRUE。 |
INT |
none |
3 ∈ [0 … 20] |
目标特征点 (targetFeaturePts) |
目标特征点在 3D 相机坐标系中的位置,每个点由三个坐标值(X,Y,Z)表示,至少需要三个特征点以表示物体位姿 |
ARRAY_VEC_3d |
m |
|
启用物体对齐 (enableObjAlign) |
用于启用物体对齐功能的标志。该功能可使两个物体的特征点对齐。 |
BOOL |
none |
0 ∈ [0 / 1] |
对齐物体特征点 (alignObjPts) |
对齐物体的特征点在 3D 相机坐标系中的位置,每个点由三个像素值(X,Y,Z)表示。该对齐物体在机器人手部并由机器人移动。 |
ARRAY_VEC_3d |
m |
|
对齐物体位姿 (alignObjPose) |
对齐物体在 3D 相机坐标系中的位姿。该对齐物体在机器人手部并由机器人移动。 |
POSE |
mm-deg |
0 0 0 0 0 0 |
抑制超调 (suppressOvershoot) |
用于指示视觉伺服是否抑制位置超调的标志。若此参数设置为 TRUE,视觉伺服会在位置控制中应用超调抑制机制;机器人执行视觉伺服任务时将更稳定,但响应速度可能会相应减慢。若此参数设置为 FALSE,控制系统将在无超调抑制的状态下运行。 |
BOOL |
none |
0 ∈ [0 / 1] |
动态物体追踪 (dynamicObjTrack) |
用于指示动态物体追踪是否已启用的标志。若此参数设置为 TRUE,视觉伺服对匀速运动的物体有更好的追踪效果,但可能导致对静态物体的收敛速度降低。 |
BOOL |
none |
0 ∈ [0 / 1] |
视觉检测噪声等级 (visDetectNoiseLevel) |
物体位姿视觉检测结果的噪声等级。其范围为 1 至 100,其中 1 表示噪声最小。 |
INT |
none |
1 ∈ [1 … 100] |
*注意:在执行元操作前,必须为标星号的参数赋值。
*坐标系定义
坐标系 |
定义 |
输入格式 |
|---|---|---|
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 |
目标物体已对齐 (objAligned) |
用于指示视觉伺服是否成功对齐目标物体的标志 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
|---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
|---|---|---|
reachedTarget |
= |
1 |

高性能偏差伺服 (HPOffsetServo)

元操作描述与用法示例
描述: 此元操作使用基于偏移量的视觉伺服(OBVS),根据实时的视觉反馈,持续控制机器人追踪位置随机且无法预测的对象,以实现高精度、高响应性、准静态的追踪。在此过程中,机器人在向指定目标点运动的同时沿视觉伺服轴持续调整目标物体的位姿。
用法示例: 使用此元操作来控制机器人在运行至目标点的同时动态校准其姿态。需要上位机持续向此元操作发送位姿偏移量,从而实现对物体位姿的在线实时调整。
元操作输入参数
输入参数 |
描述 |
类型 |
单位 |
默认值和范围 |
|---|---|---|---|---|
目标物体名* (objName) |
视觉伺服使用的目标物体的名称 |
OBJNAME |
none |
|
目标物体编号 (objIndex) |
视觉伺服使用的目标物体的编号 |
INT |
none |
0 ∈ [0 … 1] |
目标点 (target) |
目标点 TCP 位姿 |
COORD |
mm-deg |
0 0 0 0 0 0 WORLD WORLD_ORIGIN ∈ [traj_start* world*] |
视觉伺服坐标系 (vsCoord) |
视觉伺服控制方向的参考坐标系 |
COORD |
mm-deg |
0 0 0 0 0 0 WORLD WORLD_ORIGIN ∈ [world* tcp_start* tcp*] |
视觉伺服轴 (vsAxis) |
视觉伺服坐标系中允许移动的轴 |
VEC_6i |
none |
1 1 1 1 1 1 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
速度等级 (velScale) |
视觉伺服各轴的速度等级。注意:该值过大可能造成机器人抖动。 |
VEC_6d |
none |
10.0 10.0 10.0 10.0 10.0 10.0 ∈ [0 0 0 0 0 0 … 100.0 100.0 100.0 100.0 100.0 100.0] |
最大速度* (maxVel) |
机器人在视觉伺服坐标系各方向上允许移动的最大线速度和角速度 |
VEC_6d |
none |
0.1 0.1 0.1 10.0 10.0 10.0 ∈ [0.0 0.0 0.0 0.0 0.0 0.0 … 0.5 0.5 0.5 100.0 100.0 100.0] |
最大加速度* (maxAcc) |
机器人在视觉伺服坐标系各方向上允许移动的最大线加速度和角加速度 |
VEC_6d |
none |
2.5 2.5 2.5 300.0 300.0 300.0 ∈ [0.0 0.0 0.0 0.0 0.0 0.0 … 5.0 5.0 5.0 600.0 600.0 600.0] |
超时时间 (timeoutTime) |
接收数据所允许的最长时间间隔,该时间内机器人未接收到视觉反馈的数据将报错 |
DOUBLE |
s |
1 ∈ [0.1 … 10] |
视觉延迟时间 (visualDelayTime) |
相机拍摄图像与视觉伺服接收到图像之间的时间间隔 |
DOUBLE |
s |
0 ∈ [0.0 … 0.5] |
位置收敛容差 (posConvToler) |
判定位置是否收敛的容差。拍摄的特征位置与目标特征位置的误差在容差之内时,将判定为已收敛。 |
DOUBLE |
m |
0.001 ∈ [0.0001 … 0.01] |
旋转收敛容差 (rotConvToler) |
判定旋转是否收敛的容差。拍摄的特征旋转角度与目标特征旋转角度的误差在容差之内时,将判定为已收敛。 |
DOUBLE |
deg |
1 ∈ [0.01 … 10] |
目标收敛次数 (targetConvTimes) |
同时满足位置和旋转收敛容差的目标连续次数。连续收敛的次数达到此设定值时,[目标物体已对齐] 为 TRUE;0 表示 [目标物体已对齐] 永远不会为 TRUE。 |
INT |
none |
3 ∈ [0 … 20] |
*注意:在执行元操作前,必须为标星号的参数赋值。
*坐标系定义
坐标系 |
定义 |
输入格式 |
|---|---|---|
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 |
目标物体已对齐 (objAligned) |
用于指示视觉伺服是否成功对齐目标物体的标志 |
BOOL |
none |
元操作输出参数
输出参数 |
描述 |
类型 |
单位 |
|---|---|---|---|
终止位姿 (tcpPoseOut) |
在世界坐标系下元操作终止时的 TCP 位姿 |
COORD |
m-deg |
默认跳转条件
状态参数 |
跳转条件 |
数值 |
|---|---|---|
reachedTarget |
= |
1 |
