HYUNDAI抓取样例程序

本节将介绍用于完成简单识别并移动的机器人样例程序。

注意

在开始本节内容之前,请确保已完成 HYUNDAI标准接口通信配置 操作。

使用 Mech-Vision 进行视觉识别并获取结果

在示教器界面,点击左上角 Program 区域,在输入框内输入 9700,打开 9700 程序。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Program File Format Version : 1.6  MechType: 739(HH4-01)  TotalAxis: 6  AuxAxis: 0
     REM VIS sample
     '_
     V500$="192.168.1.10"
     V500%=8000
     V501%=1
     CALL 9821_MMH_OPEN
     PRINT #0,"UDP OPEN OK !"
     DELAY 1.0
     '_
     V503%=1
     V504%=1
     V505%=2
     V506%=1
     V507%=10
     P500=P*
     '_
     CALL 9803_MMH_ChangVIS
     IF (V504$ <> "1107") THEN
     REM ERROR OCCURED
     STOP
     ENDIF
     '_
     CALL 9801_MMH_VIStrig
     IF (V504$ <> "1102") THEN
     REM ERROR OCCURED
     STOP
     ENDIF
     '_
     CALL 9802_MMH_VISresult
     IF (V504$ <> "1100") THEN
     REM ERROR OCCURED
     STOP
     ENDIF
     '_
     CALL 9822_MMH_CLOSE
     '_
     IF V505% = 2 THEN
     FOR LV1%=1 TO VAL(V506$)
     LV3%=LV1%-1
     LV2%=V507%+LV3%
     P[LV2%]=(0,0,0,0,0,0,&H0001)R
     P[LV2%].X=V![500+LV3%*14]
     P[LV2%].Y=V![501+LV3%*14]
     P[LV2%].Z=V![502+LV3%*14]
     P[LV2%].RX=V![503+LV3%*14]
     P[LV2%].RY=V![504+LV3%*14]
     P[LV2%].RZ=V![505+LV3%*14]
     NEXT
     '_
     ELSE
     FOR LV1%=1 TO VAL(V506$)
     LV2%=V507%+LV1%-1
     P[LV2%]=(0,0,0,0,0,0)A
     P[LV2%].J1=V![508+LV3%*14]
     P[LV2%].J2=V![509+LV3%*14]
     P[LV2%].J3=V![510+LV3%*14]
     P[LV2%].J4=V![511+LV3%*14]
     P[LV2%].J5=V![512+LV3%*14]
     P[LV2%].J6=V![513+LV3%*14]
     NEXT
     ENDIF
     '_
     '_
     END

程序逻辑解读

  • 第 4~9 行:机器人与视觉系统建立 UDP 连接。V500$ 变量值表示工控机 IP,V500% 变量值表示 Mech-Vision 中设置的端口号。

  • 第 11 行:V503% 变量值表示 Mech-Vision 工程编号。

  • 第 12 行:V504% 变量值表示预期返回的视觉点的数量,范围为 0~4,其中,0 表示获取所有视觉点。

  • 第 13 行:V505% 变量值表示位姿类型,1 表示 JPs,2 表示 TCP。

  • 第 14 行:V506% 变量值表示 Mech-Vision 工程配方编号。

  • 第 15 行:V507% 变量值表示 P 变量的初始索引值。例如:V507%=10,表示 Mech-Vision 输出的第一个视觉点将赋值到P[10]中。

  • 第 18~22 行:设置 Mech-Vision 工程配方。若返回的状态码不等于 1107,则表示设置配方失败,程序将停止运行。

  • 第 24~28 行:触发 Mech-Vision 工程运行。若返回的状态码不等于 1102,则表示触发工程失败,程序将停止运行。

  • 第 30~34 行:获取 Mech-Vision 工程输出的视觉点。若返回的状态码不等于 1100,则表示获取结果失败,程序将停止运行。

  • 第 36 行:机器人与视觉系统断开 UDP 连接。

  • 第 38~49 行:若视觉点的位姿类型为 TCP,则将 TCP 值赋值给 P[LV2%]。

  • 第 52~61 行:若视觉点的位姿类型为 JPs,则将关节角值赋值给 P[LV2%]。

使用 Mech-Viz 规划路径

在示教器界面,点击左上角 Program 区域,在输入框内输入 9701,打开 9701 程序。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Program File Format Version : 1.6  MechType: 739(HH4-01)  TotalAxis: 6  AuxAxis: 0
     REM VIZ-path sample
     '_
     V500$="192.168.1.10"
     V500%=8000
     V501% =1
     CALL 9821_MMH_OPEN
     PRINT #0,"UDP OPEN OK !"
     DELAY 1.0
     '_
     V505%=1
     P500=P*
     '_
     CALL 9804_MMH_StartVIZ
     IF (V504$ <> "2103") THEN
     REM ERROR OCCURED
     STOP
     ENDIF
     '_
     V507%=970
     V505%=2
     '_
     CALL 9808_MMH_VIZpath
     IF (V504$ <> "2100") THEN
     REM ERROR OCCURED
     STOP
     ENDIF
     '_
     CALL 9805_MMH_StopVIZ
     IF (V504$ <> "2104") THEN
     REM ERROR OCCURED
     STOP
     ENDIF
     '_
     CALL 9822_MMH_CLOSE
     '_
     IF V505% = 2 THEN
     '_
     FOR LV1%=1 TO VAL(V506$)
     LV3%=LV1%-1
     LV2%=V507%+LV3%
     P[LV2%]=(0,0,0,0,0,0,&H0001)R
     P[LV2%].X=V![500+LV3%*14]
     P[LV2%].Y=V![501+LV3%*14]
     P[LV2%].Z=V![502+LV3%*14]
     P[LV2%].RX=V![503+LV3%*14]
     P[LV2%].RY=V![504+LV3%*14]
     P[LV2%].RZ=V![505+LV3%*14]
     NEXT
     '_
     ELSE
     FOR LV1%=1 TO VAL(V506$)
     LV2%=V507%+LV1%-1
     P[LV2%]=(0,0,0,0,0,0)A
     P[LV2%].J1=V![508+LV3%*14]
     P[LV2%].J2=V![509+LV3%*14]
     P[LV2%].J3=V![510+LV3%*14]
     P[LV2%].J4=V![511+LV3%*14]
     P[LV2%].J5=V![512+LV3%*14]
     P[LV2%].J6=V![513+LV3%*14]
     NEXT
     ENDIF
     '_
     END

程序逻辑解读

  • 第 4~9 行:机器人与视觉系统建立 UDP 连接。V500$ 变量值表示工控机 IP,V500% 变量值表示 Mech-Vision 中设置的端口号。

  • 第 11 行:V505% 变量值表示位姿类型,1 表示 JPs,2 表示 TCP。

  • 第 14~18 行:触发 Mech-Viz 工程运行。若返回的状态码不等于 2103,则表示触发工程失败,程序将停止运行。

  • 第 20 行:V507% 变量值表示 P 变量的初始索引值。例如:V507%=10,表示 Mech-Viz 输出的第一个路径点将赋值到P[10]中。

  • 第 23~27 行:获取 Mech-Viz 规划的路径。若返回的状态码不等于 2100,则表示获取路径失败,程序将停止运行。

  • 第 29~33 行:停止 Mech-Viz 工程的运行。若返回的状态码不等于 2104,则表示停止运行失败,程序将停止运行。

  • 第 35 行:机器人与视觉系统断开 UDP 连接。

  • 第 39~49 行:若路径点的位姿类型为 TCP,则将 TCP 值赋值给 P[LV2%]。

  • 第 52~61 行:若路径点的位姿类型为 JPs,则将关节角值赋值给 P[LV2%]。

运行样例程序

运行样例程序的方法,可参考《 测试标准接口通信 》操作。