サンプルプログラム13:MM_S13_Vis_MoveInAdvance

現在ご覧いただいているのは未リリースのバージョンです(V2.1.0)。異なるバージョンを参照する場合は、画面右上のボタンから切り替えが可能です。

■ ご利用中のバージョンが分からない場合はお気軽にサポート窓口までご連絡ください。

プログラム概要

機能

Mech-Visionプロジェクトをトリガーした後、ロボットがカメラ撮影が完了した時点で移動でき、Mech-Visionプロジェクトの実行が終了するのを待機する必要はありません。このサンプルは、カメラがEIH方式で取り付けられている場合に適しています。

ファイル場所

Mech-VisionとMech-Vizソフトウェアのインストールディレクトリにある Communication Component/Robot_Interface/YASKAWA/sample/MM_S13_Vis_MoveInAdvance

必要なプロジェクト

Mech-Visionプロジェクト(EIHカメラ取り付け方式)

使用前提

  1. 標準インターフェース通信設定 が完了しました。

  2. 自動キャリブレーション が完了しました。

このサンプルプログラムは参考用です。ユーザーは実際の状況に応じて、このプログラムを基に変更を加える必要があります。このプログラムをそのまま使用しないでください。

プログラム説明

以下はMM_S13_Vis_MoveInAdvanceサンプルプログラムのコードと関連する説明です。

このサンプルは、MM_S1_Vis_Basicサンプルに比べて、「撮影完了後に移動できる」機能(太字部分のコード)のみが追加されています。そのため、MM_S1_Vis_Basicサンプルと同じ部分のコードについては、以下で再度説明することはありません(詳細は MM_S1_Vis_Basicサンプルの説明 をご参照ください)。
NOP
'--------------------------------
'FUNCTION: trigger Mech-Vision
'project then move to wait
'position and get vision pose in
'EIH setup
'Mech-Mind, 2023-12-25
'--------------------------------
'clear I50 to I69
CLEAR I050 20
'initialize p variables
SUB P070 P070
SUB P071 P071
'set 100mm to z of P070
SETE P070 (3) 100000
'move to robot home position
MOVJ C00000 VJ=50.00
'initialize communication
'parameters (initialization is
'required only once)
CALL JOB:MM_INIT_SOCKET ARGF"192.168.170.22;50000;1"
'move to image-capturing position
MOVJ C00001 VJ=50.00 PL=0
'open socket connection
CALL JOB:MM_OPEN_SOCKET
'trigger NO.1 Mech-Vision project
CALL JOB:MM_START_VIS ARGF"1;0;2;30"
'move to wait position for
'picking
MOVJ C00002 VJ=50.00
'get vision result from NO.1
'Mech-Vision project
CALL JOB:MM_GET_VISDATA ARGF"1;51;52"
'check whether vision result has
'been got from Mech-Vision
'successfully
IFTHENEXP I052<>1100
	'add error handling logic here
	'according to different error
	'codes
	'e.g.: I052=1003 means no point
	'cloud in ROI
	'e.g.: I052=1002 means no
	'vision result
	 PAUSE
ENDIF
'close socket connection
CALL JOB:MM_CLOSE_SOCKET
'save first vision point data to
'local variables
CALL JOB:MM_GET_POSE ARGF"1;71;61;62"
'move to intermediate waypoint of
'picking
MOVJ C00003 VJ=50.00
'move to approach waypoint of
'picking
SFTON P070
MOVL P071 V=166.6 PL=0
SFTOF
'move to picking waypoint
MOVL P071 V=50.0 PL=0
'add object grasping logic here,
'such as DOUT OT#(1) ON
PAUSE
'move to departure waypoint of
'picking
SFTON P070
MOVL P071 V=166.6 PL=0
SFTOF
'move to intermediate waypoint of
'placing
MOVJ C00004 VJ=50.00
'move to approach waypoint of
'placing
MOVL C00005 V=166.6 PL=0
'move to placing waypoint
MOVL C00006 V=50.0 PL=0
'add object releasing logic here,
'such as DOUT OT#(1) OFF
PAUSE
'move to departure waypoint of
'placing
MOVL C00007 V=166.6 PL=0
'move back to robot home position
MOVJ C00008 VJ=50.00
END

上記のサンプルプログラムの処理流れは、下図の通りです。

sample13

下表は、「撮影完了後に移動できる」機能のコードとその説明です。コマンド名のリンクをクリックすることで、その詳細な説明を確認できます。

処理流れ コートと説明

ロボットが撮影完了後に移動できる

EIHシーンでは、Mech-Visionプロジェクトの実行が終了するのを待たずに、カメラの撮影完了後にロボットが移動できるようにするために、Mech-Visionソフトウェア内で ロボット通信設定  次へ  詳細設定 を選択し、撮影完了後、「1102:トリガー成功」を返す にチェックを入れます。これにより、ロボットは MM_START_VIS コマンドを使用し、「1102:トリガー成功」を受信した後、移動を開始できるようになり、サイクルタイムを短縮できます。

下図ような設定を行わない場合、Mech-Visionプロジェクトが正常に実行されると、ビジョンシステムは直ちに「1102」ステータスコードをロボットに返します。このとき、ロボットは撮影が完了したかどうか判断できないため、移動することはできません。したがって、ロボットはMech-Visionプロジェクトが終了するのを待つ必要があります。

ビジョンシステムから返された「1102」ステータスコードは、MM_START_VIS コマンド内部で処理されます。下図のような設定を完了した場合、MM_START_VISコマンドンの実行が完了した後、ロボットは移動を開始できます。
configure communication
'move to wait position for
'picking
MOVJ C00002 VJ=50.00

上記のコードでは、C00002は把持の待機点を指します。撮影後にロボットが把持の待機点に移動できることを意味します。これにより、Mech-Visionプロジェクトの実行とロボットの移動を並行して行うことができ、サイクルタイムを短縮することができます。

  • 事前にC00002(把持の待機点)を設定する必要があります。詳細については、キャリブレーション開始点を設定 をご参照ください。

  • MM_S1_Vis_Basic サンプルとの違いに注意する必要があります。MM_S1_Vis_Basicサンプルでは、ロボットはMech-Visionプロジェクトの実行が終了した後に移動できますが、本サンプルではロボットはカメラの撮影が完了した後にすぐに移動できるようになっています。

Mech-Mindは、お客様のプライバシーを重視しています

このサイトでは最高の体験を提供するために Cookie を使用しています。サイトの閲覧を続ける場合、Cookie の使用に同意したことになります。「拒否する」を選択すると、このサイトを訪れた際に追跡や記憶が行われないように単独の Cookie が使用されます。