ID : 641
Vis.CalTrans
功能
校准视觉坐标和机器人坐标。
格式
Vis.CalTransCal编号、 视觉坐标1X、视觉坐标1Y、机器人坐标1(V型)、 视觉坐标2X、视觉坐标2Y、
机器人坐标2(V型)、 视觉坐标3X、 视觉坐标3Y、 机器人坐标3(V型)
指定项目
- Cal编号
- 通过整数型数据指定Cal数据表的编号(0~31)。
- 视觉坐标1X
- 通过单精度实数型数据指定视觉坐标1的X坐标。
- 视觉坐标1Y
- 通过单精度实数型数据指定视觉坐标1的Y坐标。
- 机器人坐标1
- 通过矢量型数据指定视觉坐标1对应的机器人坐标1。虽可指定位置型及齐次转换型数据,但仅反映最初的X、Y、Z分量。另外,使用Array通过值进行指定时,将最初的3要素作为X、Y、Z处理。
- 视觉坐标2X
- 通过单精度实数型数据指定视觉坐标2的X坐标。
- 视觉坐标2Y
- 通过单精度实数型数据指定视觉坐标2的Y坐标。
- 机器人坐标2
- 通过矢量型数据指定视觉坐标2对应的机器人坐标2。虽可指定位置型及齐次转换型数据,但仅反映最初的X、Y、Z分量。另外,使用Array通过值进行指定时,将最初的3要素作为X、Y、Z处理。
- 视觉坐标3X
- 通过单精度实数型数据指定视觉坐标3的X坐标。
- 视觉坐标3Y
- 通过单精度实数型数据指定视觉坐标3的Y坐标。
- 机器人坐标3
- 通过矢量型数据指定视觉坐标3对应的机器人坐标3。虽可指定位置型及齐次转换型数据,但仅反映最初的X、Y、Z分量。另外,使用Array通过值进行指定时,将最初的3要素作为X、Y、Z处理。
解说
计算变换矩阵,登录至指定Cal编号的Cal数据表。
Cal表的内容如下所示。各要素为单精度实数型数据。
Cal表由变换矩阵数据区域与示教位置数据区域构成。
变换矩阵数据
可用Vis.GetCalData调取数据。
数据编号 | 内容 |
---|---|
0 | 通常矢量的X分量 |
1 | 定向矢量的X分量 |
2 | 近似矢量的X分量 |
3 | 机器人基准位置的X分量 |
4 | 通常矢量的Y分量 |
5 | 定向矢量的Y分量 |
6 | 近似矢量的Y分量 |
7 | 机器人基准位置的Y分量 |
8 | 通常矢量的Z分量 |
9 | 定向矢量的Z分量 |
10 | 近似矢量的Z分量 |
11 | 机器人基准位置的Z分量 |
示教位置数据
可用Vis.GetCalPos调取数据。
数据编号 | 内容 |
---|---|
0 | 视觉坐标1的X分量 |
1 | 视觉坐标1的Y分量 |
2 | 视觉坐标1的Z分量 |
3 | 视觉坐标2的X分量 |
4 | 视觉坐标2的Y分量 |
5 | 视觉坐标2的Z分量 |
6 | 视觉坐标3的X分量 |
7 | 视觉坐标3的Y分量 |
8 | 视觉坐标3的Z分量 |
9 | 机器人坐标1的X分量 |
10 | 机器人坐标1的Y分量 |
11 | 机器人坐标1的Z分量 |
12 | 机器人坐标1的RX分量 |
13 | 机器人坐标1的RY分量 |
14 | 机器人坐标1的RZ分量 |
15 | 机器人坐标2的X分量 |
16 | 机器人坐标2的Y分量 |
17 | 机器人坐标2的Z分量 |
18 | 机器人坐标2的RX分量 |
19 | 机器人坐标2的RY分量 |
20 | 机器人坐标2的RZ分量 |
21 | 机器人坐标3的X分量 |
22 | 机器人坐标3的Y分量 |
23 | 机器人坐标3的Z分量 |
24 | 机器人坐标3的RX分量 |
25 | 机器人坐标3的RY分量 |
26 | 机器人坐标3的RZ分量 |
注意事项
- 使用Vis.Trans指令前,需使用此指令和Vis.SetCalData指令,预先将变换矩阵登录至Cal数据表。
- 在“视觉-机器人坐标校准”的“校准用操作盘(Main.pns)”中使用此指令。转动“校准用操作盘(Main.pns)”执行校准时,如果未按压保存按钮,则不保存Cal数据。(电源OFF时,数据将丢失。)
应用示例
Sub Main
Dim fCamPos1(1) as Single
Dim fCamPos2(1) as Single
Dim fCamPos3(1) as Single
Dim vRobPos1 as Vector
Dim vRobPos2 as Vector
Dim vRobPos3 as Vector
Dim lCalNum as Integer
lCalNum = 1
fCamPos1(0) = 50
fCamPos1(1) = 50
fCamPos2(0) = 50
fCamPos2(1) = 300
fCamPos3(0) = 500
fCamPos3(1) = 300
vRobPos1 = V(325, 112.5, 279)
vRobPos2 = V(200, 112.5, 279)
vRobPos3 = V(200, -112.5, 279)
Vis.CalTrans lCalNum, fCamPos1(0), fCamPos1(1), vRobPos1, fCamPos2(0),
fCamPos2(1), vRobPos2, fCamPos3(0), fCamPos3(1), vRobPos3
End Sub
ID : 641