標準インターフェースコマンド
KUKAで標準インターフェースを用いてロボットプログラミングを行う際は、以下の点にご注意ください。
-
複数の パラメータ は コロン で区切る必要があります。
-
全ての パラメータ は ローカル変数 と定義します。
-
パラメータ は 入力パラメータ あるいは 出力パラメータ と定義することが可能です。
以下のコマンドについて説明します。
通信の初期化
本サブプログラムによって、TCP/IP通信の設定、通信成功フラグ、データ受信成功フラグ、接続タイムアウト時間の設定に使われるXMLというファイルが作成されます。
Mech-Visionプロジェクトの実行
このサブプログラムを実行すると、Mech-Visionプロジェクトが実行され、カメラ撮影とビジョン処理による認識が行われます。Mech-Vizを使用せずMech-Visionを使用する場合に使用します。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Job |
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。 |
Pos_Num_Need |
ビジョンポイントの期待数で、Mech-Visionから取得したいビジョンポイントの数です。設定可能な範囲は0~20で、0に設定するとすべてのビジョンポイントが取得されます。 |
SendPos_Type |
ロボット位置姿勢のタイプで、ロボット実機の位置姿勢がMech-Visionに送信される形式を指定します。パラメータ範囲は0~3です。
|
MM_J |
E6AXIS型の変数で、事前定義済みのロボットの関節角度を保存するために使用されます。この関節角度は、SendPos_Type=3の場合のみ使用されます。 |
ビジョン目標点の取得
Mech-Vizを使用せずMech-Visionを使用する場合に使用します。このコマンドは、Mech-Visionプロジェクト起動後、ビジョン処理による認識結果を取得するために使用されます。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Job |
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。 |
出力パラメータ |
|
Pos_Num |
取得した出力結果の数を記録するための変数です。 |
MM_Status |
ステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。 |
Mech-Vizプロジェクトの実行
Mech-VisionとMech-Vizの両方を使用する場合に使用します。このコマンドを実行すると、Mech-Vizプロジェクトが実行され、対応するMech-Visionを呼び出してロボットの動作経路を計画します。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
SendPos_Type |
ロボット位置姿勢のタイプです。パラメータ範囲は0~2です。
|
MM_J |
E6AXIS型の変数で、事前定義済みのロボットの関節角度を保存するために使用されます。この関節角度は、SendPos_Type=2の場合のみ使用されます。 |
Mech-Vizによって計画された動作経路を取得
このコマンドは、Mech-Vizプロジェクトに計画した把持経路を取得するために使用されます。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Jps_Pos |
取得する経路におけるポイントのタイプを設定します。
|
出力パラメータ |
|
Pos_Num |
取得した位置姿勢の数を記録するための変数です。 |
VisPos_Num |
最初の「ビジョン処理による移動」が経路全体における位置番号を保存するための変数です。 例えば、「移動_1、移動_2、ビジョン処理による移動_1、移動_3」の場合、最初の「ビジョン処理による移動」の位置は3です。ビジョン処理による移動がない場合、このパラメータは0になります。 |
MM_Status |
ステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。 |
ビジョンポイント座標の取得
関節角度を取得(Mech-Vizを使用する場合にのみ有効)
Mech-Visionのパラメータレシピの切替
Mech-Visionのレシピ機能は異なるワークの認識に使用される場合、画像マッチングテンプレート、ROI、信頼性のしきい値など、Mech-Visionプロジェクトの各ステップのパラメータを変更することができます。このコマンドは、 MM_Start_Vis前に使用する必要があります。
Mech-Viz分岐を選択
Mech-Vizプロジェクトに 「メッセージによって異なる分岐を実行」 ステップがある場合、このコマンドは Mech-Viz にある「メッセージによって異なる分岐を実行」ステップを指定された出口に沿って実行し続けることを制御します。このコマンドを呼び出す前に、「MM_Start_Viz」を呼び出す必要があります。Mech-Vizは「メッセージによって異なる分岐を実行」ステップに実行すると、203コマンドが出口を送信するのを待ちます。
移動インデックスを設定
インデックスパラメータが付いたステップは「リストによる移動」、「グリッドによる移動」、「カスタマイズのパレットパターン」、「事前計画パレットパターン」などです。このコマンドを呼び出して、インデックスクラスのパラメータにインデックス番号を設定できます。このコマンドを呼び出す前に、MM_Start_Vizを実行する必要があります。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Skill_Num |
インデックス付きの移動ステップのステップIDで、正の整数である必要があります。ステップIDは、ステップパラメータで読み取りを行います。 |
Index_Num |
次にこのステップが実行されたときに設定されるべき 現在のインデックス の値です。 このコマンドを送信すると、Mech-Vizの現在のインデックス値がこのパラメータの値から1を引いた値に変更されます。 このコマンドで指定したステップに Mech-Viz プロジェクトが実行されると、 Mech-Viz の 現在のインデックス の値が、このパラメータの値まで1つずつ増加します。 |
ソフトウェアのステータスを取得
Mech-Vision、Mech-Viz、Mech-Centerの実行ステータスを取得するために使用されます。現在、Mech-Visionのプロジェクトステータスを確認できます。
パラメータの説明
パラメータ | 説明 |
---|---|
出力パラメータ |
|
MM_Status |
ステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。 |
Mech-Visionプロジェクトへ対象物の寸法を送信
吸盤のDO信号を取得
このコマンドは、Mech-VisionまたはMech-Vizによって計画された吸盤のDO信号を取得するために使用されます。ロボットは MM_Set_DoList により、取得されたDO信号をロボットハンドに適用します。
吸盤のDO信号を設定
このコマンドは、ロボットが取得した吸盤のDO信号をロボットハンドに適用するために使用されます。
このコマンドは、 MM_Get_DoList の後に呼び出す必要があります。 |
キャリブレーション
Mech-Visionのカスタマイズされたデータを取得
このコマンドは、Mech-Visionの「出力」ステップからカスタマイズされたデータを受信するために使用されます。つまり、posesとlabels以外のポートのデータを受信します(ステップパラメータ「ポートタイプ」を「カスタム」に設定する場合)。
Mech-Visionから取得したカスタマイズされたデータをレジスタ変数に保存
このコマンドは、Mech-Visionから取得したカスタマイズされたデータを指定したロボットのレジスタ変数に保存するために使用されます。 Mech-Visionのカスタマイズされたデータを取得 を実行した後に使用します。
「ビジョン処理による移動」の計画データまたはカスタマイズされたデータを取得
このコマンドは、Mech-Visionプロジェクトの「ビジョン処理による移動」の計画結果、またはMech-Vizプロジェクトの「ビジョン処理による移動」の計画結果またはカスタマイズされたデータを取得するために使用されます。MM_Get_PlanPoseまたはMM_Get_PlanJps により、取得したデータを各変数に割り当てることができます。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Resource |
「ビジョン処理による移動」の計画結果のソースを指定します。
|
Jps_Pos |
返されたデータの予期形式の説明は以下の通りです。 |
出力パラメータ |
|
Pos_Num |
変数で、受信した経路点の数を保存するために使用されます。 |
VisPos_Num |
変数で、最初のビジョン処理による移動が計画した経路における位置番号を保存するために使用されます。 |
MM_Status |
変数で、このコマンドが実行した後に返されたステータスコードを保存するために使用されます。 |
-
Resourceが0の場合、Jps_Pos パラメータの値の範囲は1~4です。
Jps_Pos パラメータ値 返されたデータの予期形式 説明 1
位置姿勢(JPs形式),移動方式,ツール番号,速度,カスタマイズされたデータ1,...,カスタマイズされたデータN
2
位置姿勢(TCP形式),移動方式,ツール番号,速度カスタマイズされたデータ1,...,カスタマイズされたデータN
3
位置姿勢(JPs形式),移動方式,ツール番号,速度,Mech-Vizの「ビジョン処理による移動」の計画結果,カスタマイズされたデータ1,...,カスタマイズされたデータN
4
位置姿勢(TCP形式),移動方式,ツール番号,速度,Mech-Vizの「ビジョン処理による移動」の計画結果,カスタマイズされたデータ1,...,カスタマイズされたデータN
-
Resourceが正整数の場合、Jps_Pos パラメータの値の範囲は1~2です。
Jps_Pos パラメータ値 返されたデータの予期形式 説明 1
位置姿勢(JPs形式)、移動方式、ツール番号、速度、Mech-Visionの「ビジョン処理による移動」の計画結果
2
位置姿勢(TCP形式)、移動方式、ツール番号、速度、Mech-Visionの「ビジョン処理による移動」の計画結果
位置姿勢
経路点の位置姿勢は、ロボット関節角度(JPs、単位は度)、ツール位置姿勢(TCP、3次元座標はミリメートル、オイラー角は度)のいずれかであり、その形式は送信するコマンドパラメータに依存します。
移動方式
-
1:関節運動。
-
2:直線運動。
ツール番号
ロボットがその経路点に移動するときに使用するロボットハンドの番号です。-1である場合、ロボットハンドが使用されないことを示します。
速度
経路点の速度値です。
「ビジョン処理による移動」の計画結果
Mech-VisionまたはMech-Vizの「ビジョン処理による移動」ステップが計画されたデータのことで、把持するワークのラベル、把持されたワークの合計数、今回把持されたワークの数、吸盤のエッジコーナー番号、TCPオフセット、ワーク群の向き、単体ワークの向き、ワーク群の寸法が含まれます。
カスタイズされたデータ
Mech-Visionプロジェクトの「出力」ステップでポートタイプが「カスタム」に設定された場合に出力されたposesとlabelsポート以外のカスタマイズされたポートのデータです。 カスタマイズされたデータは、ポート名のA–Zの順に並べられています。
MM_GET_PLANDATAから取得したデータを変数に保存
このコマンドは 「ビジョン処理による移動」の計画データまたはカスタマイズされたデータを取得 の後に使用され、取得したデータを異なる変数に格納するために使用されます。「ビジョン処理による移動」の計画データまたはカスタマイズされたデータを取得 コマンドで指定されたJps_Posパラメータ値に従って、異なるプログラムを選択します。
サブプログラム
MM_Get_PlanPose(Serial:IN,Jps_Pos:IN,MM_P:OUT,MM_MoveType:OUT,MM_ToolNum:OUT,MM_Speed:OUT) (Jps_Pos=2またはJps_Pos=4の場合)
MM_Get_PlanJps(Serial:IN,Jps_Pos:IN,MM_J:OUT,MM_MoveType:OUT,MM_ToolNum:OUT,MM_Speed:OUT) (Jps_Pos=1またはJps_Pos=3の場合)
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Serial |
保存する経路点を指定します。 |
Jps_Pos |
「ビジョン処理による移動」の計画データまたはカスタマイズされたデータを取得 コマンドのJps_Posの設定値と同じです。 |
出力パラメータ |
|
MM_P |
指定した経路点が対応するTCPデータを保存するための位置姿勢の変数です。 |
MM_J |
指定した経路点が対応する関節角度データを保存するための関節角度の変数です。 |
MM_MoveType |
指定した経路点が対応する移動方式を保存するための変数です。1は関節運動、2は直線運動を示します。 |
MM_ToolNum |
指定した経路点が対応するツール番号を保存するための変数です。-1である場合、ロボットハンドが使用されないことを示します。 |
MM_Speed |
変数で、指定した経路点が対応する速度を保存するために使用されます。 |
MM_UserData |
定義されたグローバル配列変数で、指定した経路点が対応するカスタマイズされたデータを保存するために使用されます。配列のサイズは50です。 |
MM_Plan_Results |
定義されたグローバル配列変数で、指定した経路点が対応する「ビジョン処理による移動」の計画結果を保存するために使用されます。配列のサイズは21です。 |
配列変数MM_Plan_Resultsの詳細を下表に示します。
データ | 説明 | 変数 |
---|---|---|
把持するワークのラベル |
10個の整数で構成され、デフォルトは10個のゼロです。 |
MM_Plan_Results[1] ~ MM_Plan_Results[10] |
把持されたワークの合計数 |
累計で把持されたワークの数です。 |
MM_Plan_Results[11] |
今回把持されたワークの数となります。 |
今回把持されたワークの数となります。 |
MM_Plan_Results[12] |
吸盤のエッジコーナー番号 |
この吸盤に使用されているエッジコーナー番号です。 |
MM_Plan_Results[13] |
TCPオフセット |
ロボットハンド中心からのワーク群の中心のXYZオフセットです。 |
MM_Plan_Results[14] ~ MM_Plan_Results[16] |
ワーク群の向き |
吸盤の長辺に対するワーク群の向きです。0は平行、1は垂直を意味します。 |
MM_Plan_Results[17] |
単体ワークの向き |
吸盤の長辺に対する単体ワークの向きです。0は平行、1は垂直を意味します。 |
MM_Plan_Results[18] |
ワーク群の寸法 |
今回把持されたワーク群の長さ、幅、高さです。 |
MM_Plan_Results[19] ~ MM_Plan_Results[21] |
サンプル
-
サンプル1
MM_Get_PlanPose(1,4,XP1,MoveType,ToolNum,Pose_Speed)
このサンプルを実行すると、受信した最初の経路点のTCPデータが位置変数XP1に、移動方式がMoveTypeに、ツール番号がToolNumに、移動速度がPose_Speedに、カスタマイズされたデータがMM_UserDataに、「ビジョン処理による移動」の計画結果がMM_Plan_Resultsに保存されます。
-
サンプル2
MM_Get_PlanJps(1,3,JP1,MoveType,ToolNum,Pose_Speed)
このサンプルを実行すると、受信した最初の経路点の関節角度データが位置変数P1に、移動方式がMoveTypeに、ツール番号がToolNumに、移動速度がPose_Speedに、カスタマイズされたデータがMM_UserDataに、「ビジョン処理による移動」の計画結果がMM_Plan_Resultsに保存されます。
Mech-Visionの「経路計画」ステップの結果を取得
Mech-Visionプロジェクトを実行した後、このコマンドはMech-Visionプロジェクトの「経路計画」ステップから出力された衝突のない把持経路を取得するために使用されます。
このコマンドを使用する時、Mech-Visionの「出力」ステップの ポートタイプ を「事前定義済み(ロボット経路)」に設定する必要があります。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Job |
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。 |
Jps_Pos |
このパラメータは、「経路計画」ステップから返された経路点の位置姿勢タイプを指定するために使用されます。
|
出力パラメータ |
|
Pos_Num |
変数で、このコマンドを実行した後に返された経路点の数を保存するために使用されます。 |
VisPos_Num |
変数で、経路計画設定ツールで設定された「ビジョン処理による移動」が経路全体における位置を保存するために使用されます。 例えば、「移動_1、移動_2、ビジョン処理による移動_1、移動_3」の場合、ビジョン処理による移動の位置は3です。 「ビジョン処理による移動」がなければ、このパラメータは0です。 |
MM_Status |
変数で、このコマンドが実行した後に返されたステータスコードを保存するために使用されます。 |
Mech-Vizのステップパラメータを読み取る
このコマンドは、Mech-Vizプロジェクトで指定されたステップパラメータの値を読み取るために使用されます。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Get_id |
このパラメータは、property_configファイルで指定された 構成ID フィールドとなります。 |
出力パラメータ |
|
MM_Status |
このコマンドが実行した後に返されるステータスコードを保存するための整数変数です。 |
Viz_Prop |
指定されたステップの返されるパラメータ値を保存するための整数変数で、現在INT整数値のみを返すことをサポートしています。 |
Mech-Visionでは、ツールバーの をクリックし、 プロパティ設定 をクリックしてproperty_configファイルを開きます。 |
このコマンドを使用する前に、あらかじめproperty_configファイルに、ステップ番号と、パラメータ名に対応するキー名を、以下の形式で指定しておく必要があります。
read,構成ID,ステップ番号,パラメータ名に対応するキー名
read |
ステップパラメータ値の読取りに使用する行を指定します。 |
構成ID |
唯一の番号を正の整数で指定します。1つの構成IDは、1つのステップパラメータ値を読み取るためにのみ使用できます。複数のステップパラメータ値を読み取る場合は、異なる構成IDを使用してください。 |
ステップ番号 |
読み取るパラメータが属するステップの番号を指定します。 |
キー名 |
読み込むパラメータに対応するキー名を指定します。 |
|
property_configファイルには複数のreadコマンドを設定することができますが、各readコマンドの構成IDは一意である必要があります。 |
Mech-Vizのステップパラメータを設定
このコマンドは、Mech-Vizプロジェクトで指定されたステップパラメータの値を設定するために使用されます。
パラメータの説明
パラメータ | 説明 |
---|---|
入力パラメータ |
|
Set_id |
このパラメータは、property_configファイルで指定された 構成ID フィールドとなります。 |
出力パラメータ |
|
MM_Status |
このコマンドが実行した後に返されるステータスコードを保存するための整数変数です。 |
Mech-Visionでは、ツールバーの をクリックし、 プロパティ設定 をクリックしてproperty_configファイルを開きます。 |
このコマンドを使用する前に、あらかじめproperty_configファイルに、ステップ番号、パラメータ名に対応するキー名とパラメータ値を、以下の形式で指定しておく必要があります。
write,構成ID,ステップ番号,パラメータ名に対応するキー名,パラメータ値
write |
ステップパラメータ値の設定に使用する行を指定します。 |
構成ID |
番号(一意でない)を正の整数で指定します。 |
ステップ番号 |
設定するパラメータが属するステップの番号を指定します。 |
キー名 |
設定するパラメータに対応するキー名を指定します。 |
パラメータ値 |
設定するパラメータ値を指定します。 |
|
サンプル
例えば、property_configファイルの内容は、1が構成ID、3がステップ番号、xOffset、yOffset、zOffsetがキー名、10がxOffsetに対応するパラメータ値、20がyOffsetに対応するパラメータ値、30がzOffsetに対応するパラメータ値を示します。
write, 1, 3, xOffset, 10
write, 1, 3, yOffset, 20
write, 1, 3, zOffset, 30
ロボットが以下のコマンドを送信した後、Mech-VizはxOffset、yOffsetとzOffsのパラメータ値をそれぞれ10、20と30に設定します。
mm_set_property(1,MM_Status)
このサンプルを実行すると、xOffset、yOffsetとzOffsに対応するパラメータ値がそれぞれ10、20と30に設定され、返されたステータスコードがMM_Status変数に保存されます。