標準インターフェースコマンド
KAWASAKIで標準インターフェースを用いてロボットプログラミングを行う際は、以下の点にご注意ください。
-
複数のパラメータはコンマで区切る必要があります。
-
すべてのパラメータはプログラムファイル内でローカル変数として定義する必要があります。
-
パラメータは入力パラメータあるいは出力パラメータと定義することが可能です。
-
入力引数は定数、グローバル変数、ローカル変数を指定することができます。出力引数はグローバル変数、ローカル変数を指定することができます。
通信の初期化
ホストIPアドレス、ポート番号、およびTCP/IPの待機時間を設定するためのコマンドです。このコマンドはグローバル変数を設定するため、ロボットプログラムはこのコマンドを一度だけ呼び出す必要があります。
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です。
|
.#start_vis |
.sendpos_type=3の場合のみ、事前定義済みのロボットの関節角度データが使用されます。.sendpos_typeが3以外の場合、このパラメータの値は#start_visとすることができます。 |
サンプル
-
サンプル1:
CALL mm_start_vis(1,1,1,#start_vis)
このサンプルを実行すると、Mech-Visionプロジェクト1が実行されます。Mech-Visionプロジェクト1が1つのビジョン結果を返すことを期待します。ロボットは、#start_visデータを使用せずに、現在の関節角度とフランジデータをMech-Visionに送信します。
-
サンプル2:
CALL mm_start_vis(1,1,3,#start_vis)
このサンプルを実行すると、Mech-Visionプロジェクト1が実行されます。Mech-Visionプロジェクト1が1つのビジョン結果を返すことを期待します。ロボットは#start_visに保存した関節角度データをMech-Visionに送信し、経路計画設定ツールでの仮想ロボットに計画の開始位置を設定します。
ビジョン目標点の取得
Mech-Vizを使用せずMech-Visionを使用する場合に使用します。対応するMech-Visionプロジェクトからビジョン認識結果を取得します。
パラメータの説明
入力パラメータ | 説明 |
---|---|
.job |
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。 |
出力パラメータ | 説明 |
---|---|
.pos_num |
取得した出力結果の数を記録するための変数です。 |
.ret |
ステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。 |
Mech-Vizプロジェクトの実行
Mech-VisionとMech-Vizの両方を使用する場合に使用します。Mech-Vizプロジェクトを実行し、それに対応するMech-Visionプロジェクトも実行されます。この時Mech-Vizのシミュレーション上でロボットの初期関節位置が設定されます。
パラメータの説明
入力パラメータ | 説明 |
---|---|
.sendpos_type |
ロボット位置姿勢のタイプです。パラメータ範囲は0~2です。
|
.#start_viz |
.sendpos_type=2の場合のみ、この関節角度データが使用されます。.sendpos_typeが2以外の場合、このパラメータの値は#start_vizとすることができます。 |
Mech-Vizによって計画された動作経路を取得
このコマンドは、Mech-Vizプロジェクトに計画した把持経路を取得するために使用されます。
パラメータの説明
入力パラメータ | 説明 |
---|---|
.getpos_type |
取得する経路上の点の位置姿勢タイプを設定します。1または2に設定することができます。
|
出力パラメータ | 説明 |
---|---|
.pos_num |
取得した位置姿勢の数を記録するための変数です。 |
.vispos_num |
最初の「ビジョン処理による移動」が経路全体における位置番号を保存するの変数です。例えば、「移動_1、移動_2、ビジョン処理による移動_1、移動_3」の場合、最初のビジョン処理による移動の位置は3です。ビジョン処理による移動が含まれていない場合、0を返します。 |
.ret |
ステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。 |
ビジョン結果を取得
関節角度を取得(Mech-Vizを使用する場合にのみ有効)
Mech-Visionのパラメータレシピの切替
Mech-Viz分岐を選択
Mech-Vizプロジェクトに メッセージによって異なる分岐を実行 ステップがある場合、Mech-Vizプロジェクトの「メッセージによって異なる分岐を実行」ステップの出口を制御するために使用されます。 このコマンドの前にmm_start_vizを実行する必要があります。Mech-Vizが「メッセージによって異なる分岐を実行」ステップに実行すると、203コマンドが分岐出口を送信するのを待ちます。
移動インデックスを設定
リストによる移動、グリッドによる移動、事前計画パレットパターン、カスタマイズのパレットパターンなど、インデック機能を持つ移動ステップは、このコマンドを実行することでインデックス値を設定することができます。 このコマンドを呼び出す前にmm_start_vizを実行する必要があります。
ソフトウェアのステータスを取得
Mech-Vision、Mech-Viz、Mech-Centerの実行ステータスを取得するために使用されます。現在、Mech-Visionのプロジェクトステータスを確認できます。
パラメータの説明
出力パラメータ | 説明 |
---|---|
.ret |
ステータスコードを記録するための変数です。詳細については、 標準インターフェースのステータスコード一覧とトラブルシューティング をご参照ください。 |
Mech-Visionプロジェクトへ対象物の寸法を送信
Mech-Vizのステップパラメータを読み取る
このコマンドは、Mech-Vizプロジェクトで指定されたステップパラメータの値を読み取るために使用されます。
パラメータの説明
入力パラメータ | 説明 |
---|---|
.group_num |
このパラメータは、property_configファイルで指定された 構成ID フィールドとなります。 |
Mech-Visionでは、ツールバーの をクリックし、 プロパティ設定 をクリックしてproperty_configファイルを開きます。 |
このコマンドを使用する前に、あらかじめproperty_configファイルに、ステップ番号と、パラメータ名に対応するキー名を、以下の形式で指定しておく必要があります。
read,構成ID,ステップ番号,パラメータ名に対応するキー名
read |
ステップパラメータ値の読取りに使用する行を指定します。 |
構成ID |
唯一の番号を正の整数で指定します。1つの構成IDは、1つのステップパラメータ値を読み取るためにのみ使用できます。複数のステップパラメータ値を読み取る場合は、異なる構成IDを使用してください。 |
ステップ番号 |
読み取るパラメータが属するステップの番号を指定します。 |
キー名 |
読み込むパラメータに対応するキー名を指定します。 |
|
property_configファイルには複数のreadコマンドを設定することができますが、各readコマンドの構成IDは一意である必要があります。 |
出力パラメータ | 説明 |
---|---|
.return_value |
指定されたステップのパラメータの値を返します。 |
Mech-Vizのステップパラメータを設定
このコマンドは、Mech-Vizプロジェクトで指定されたステップパラメータの値を設定するために使用されます。
パラメータの説明
入力パラメータ | 説明 |
---|---|
.group_num |
このパラメータは、property_configファイルで指定された 構成ID フィールドとなります。 |
Mech-Visionでは、ツールバーの をクリックし、 プロパティ設定 をクリックしてproperty_configファイルを開きます。 |
このコマンドを使用する前に、あらかじめproperty_configファイルに、ステップ番号、パラメータ名に対応するキー名とパラメータ値を、以下の形式で指定しておく必要があります。
write,構成ID,ステップ番号,パラメータ名に対応するキー名,パラメータ値
write |
ステップパラメータ値の設定に使用する行を指定します。 |
構成ID |
番号(一意でない)を正の整数で指定します。 |
ステップ番号 |
設定するパラメータが属するステップの番号を指定します。 |
キー名 |
設定するパラメータに対応するキー名を指定します。 |
パラメータ値 |
設定するパラメータ値を指定します。 |
|
サンプル
例えば、property_configファイルの内容は、1が構成ID、3がステップ番号、xOffset、yOffset、zOffsetがキー名、0.000000がxOffsetに対応するパラメータ値、1.000000がyOffsetに対応するパラメータ値、2.000030がzOffsetに対応するパラメータ値を示します。
write, 1, 3, xOffset, 0.000000
write, 1, 3, yOffset, 1.000000
write, 1, 3, zOffset, 2.000030
ロボットが以下のコマンドを送信した後、Mech-VizはxOffset、yOffsetとzOffsのパラメータ値をそれぞれ0.000000、1.000000と2.000030に設定します。
CALL mm_set_property(1)
このサンプルを実行すると、xOffset、yOffsetとzOffsに対応するパラメータ値がそれぞれ0.000000、1.000000と2.000030に設定されます。
吸盤のDO信号を取得
このコマンドは、Mech-VisionまたはMech-Vizによって計画された吸盤のDO信号を取得するために使用されます。ロボットは mm_set_dolist により、取得されたDO信号をロボットハンドに適用します。
|
吸盤のDO信号を設定
このコマンドは、ロボットが取得した吸盤のDO信号をロボットハンドに適用するために使用されます。
このコマンドは、 mm_get_dolist の後に呼び出す必要があります。 |
サンプル
CALL mm_get_vizdata(2,posnum,vis_index,statuscode) ;receive path
CALL mm_get_dolist(0) ;receive DO from viz
CALL mm_get_pose(vis_index,pt1,label1,speed1) ; save the pick point to pt1
LAPPRO pt1,200
LMOVE pt1 ;move to pick point
CALL mm_set_dolist ;turn on DO for picking
twait 1 ;wait for gripping
LDEPART 200
上記のサンプルを実行すると、ロボットが「ビジョン処理による移動」の経路点に移動した後、mm_set_dolistを呼び出して対応する吸盤のDO信号値をONに設定します。
キャリブレーション
カメラの外部パラメータをキャリブレーションするときに使用します。Mech-Visionのカメラキャリブレーション機能と連動してキャリブレーションを自動的に行います。詳細については、 キャリブレーションの操作手順 をご参照ください。
Mech-Visionのカスタマイズされたデータを取得
このコマンドは、Mech-Visionの「出力」ステップからカスタマイズされたデータを受信するために使用されます。つまり、posesとlabels以外のポートのデータを受信します(ステップパラメータ「ポートタイプ」を「カスタム」に設定する場合)。データは、ポート名のアルファベット順にA-Zまで並んでいます。
パラメータの説明
入力パラメータ | 説明 |
---|---|
.job |
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。 |
出力パラメータ | 説明 |
---|---|
.pos_num |
返されたビジョンポイントの数を保存するために使用されます。 |
.count |
返されたカスタマイズされたデータの数を保存するために使用されます。 |
.ret |
このコマンドが実行した後に返されたステータスコードを保存するために使用されます。 |
このサンプルを実行した後、返されたビジョンポイントでの位置姿勢とラベルデータはmm_get_pose(.index,.&targetpos,.label,.speed) プログラムから取得できます。カスタマイズされたデータはvis_custom_data[]の2次元配列に格納されています。
「ビジョン処理による移動」の計画データまたはカスタマイズされたデータを取得
このコマンドは、Mech-Visionプロジェクトの「ビジョン処理による移動」の計画結果、またはMech-Vizプロジェクトの「ビジョン処理による移動」の計画結果またはカスタマイズされたデータを取得するために使用されます。
パラメータの説明
入力パラメータ | 説明 |
---|---|
.resource |
「ビジョン処理による移動」の計画結果のソースを指定します。
|
.getpos_type |
返されたデータの予期形式の説明は以下の通りです。 |
-
.resourceが0の場合、.getpos_type パラメータの値の範囲は1~4です。
.getpos_type パラメータ値 返されたデータの予期形式 説明 1
位置姿勢(JPs形式),移動方式,ツール番号,速度,カスタマイズされたデータの数,カスタマイズされたデータ1,...,カスタマイズされたデータN
2
位置姿勢(TCP形式),移動方式,ツール番号,速度,カスタマイズされたデータの数,カスタマイズされたデータ1,...,カスタマイズされたデータN
3
位置姿勢(JPs形式),移動方式,ツール番号,速度,Mech-Vizの「ビジョン処理による移動」の計画結果,カスタマイズされたデータの数,カスタマイズされたデータ1,...,カスタマイズされたデータN
4
位置姿勢(TCP形式),移動方式,ツール番号,速度,Mech-Vizの「ビジョン処理による移動」の計画結果,カスタマイズされたデータの数,カスタマイズされたデータ1,...,カスタマイズされたデータN
-
.resourceが正整数の場合、.getpos_type パラメータの値の範囲は1~2です。
.getpos_type パラメータ値 返されたデータの予期形式 説明 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の順に並べられています。
出力パラメータ | 説明 |
---|---|
.pos_num |
受信した経路点の数を保存するために使用されます。 |
.vispos_index |
最初の「ビジョン処理による移動」が経路全体における位置を保存するための変数です。 例えば、「移動_1、移動_2、ビジョン処理による移動_1、移動_3」の場合、最初のビジョン処理による移動の位置は3です。ビジョン処理による移動がない場合、このパラメータは0になります。 |
.ret |
このコマンドが実行した後に返されたステータスコードを保存するために使用されます。 |
正常に呼び出された場合、返されたデータは下表のように固定変数に保存されます。
データ | 変数 (i、jともに1から始まる) |
---|---|
J1-J6関節角度 |
vis_pos_j1[],vis_pos_j2[],vis_pos_j3[],vis_pos_j4[],vis_pos_j5[],vis_pos_j6[] |
TCP位置姿勢データ(XYZOAT) |
vis_pos_x[],vis_pos_y[],vis_pos_z[],vis_pos_o[],vis_pos_a[],vis_pos_t[] |
速度 |
vis_pos_spd[i] |
移動方式 |
vis_pos_type[i] |
ツール番号 |
vis_pos_tool[i] |
「ビジョン処理による移動」であるか |
vis_pos_vismove[i]が1であれば、経路点は「ビジョン処理による移動」の経路点であり、そうでなければ「ビジョン処理による移動」以外の経路点です。 |
Mech-Visionのカスタマイズされたデータ |
vis_custom_data[i,j]
|
Mech-VisionまたはMech-Vizの「ビジョン処理による移動」の計画結果 |
vis_plan_result[i,j] vis_pos_vismove[i]が1の場合のみ、vis_custom_data[i,j]は値を持ちます。 |
vis_plan_result[i,j]変数の詳細を下表に示します。
データ | 説明 | 変数 |
---|---|---|
把持するワークのラベル |
10個の整数で構成され、デフォルトは10個のゼロです。 |
vis_plan_result[i,1] ~ vis_plan_result[i.10] |
把持されたワークの合計数 |
今回把持されたワークの数となります。 |
vis_plan_result[i,11] |
今回把持されたワークの数となります。 |
今回把持されたワークの数となります。 |
vis_plan_result[i,12] |
吸盤のエッジコーナー番号 |
この吸盤に使用されているエッジコーナー番号です。 |
vis_plan_result[i,13] |
TCPオフセット |
ロボットハンド中心からのワーク群の中心のXYZオフセットです。 |
vis_plan_result[i,14] ~ vis_plan_result[i,16] |
ワーク群の向き |
吸盤の長辺に対するワーク群の向きです。0は平行、1は垂直を意味します。 |
vis_plan_result[i,17] |
単体ワークの向き |
吸盤の長辺に対する単体ワークの向きです。0は平行、1は垂直を意味します。 |
vis_plan_result[i,18] |
ワーク群の寸法 |
今回把持されたワーク群の長さ、幅、高さです。 |
vis_plan_result[i,19] ~ vis_plan_result[i,21] |
Mech-Visionの「経路計画」ステップの結果を取得
Mech-Visionプロジェクトを実行した後、このコマンドはMech-Visionプロジェクトの「経路計画」ステップから出力された衝突のない把持経路を取得するために使用されます。
このコマンドを使用する時、Mech-Visionの「出力」ステップの ポートタイプ を「事前定義済み(ロボット経路)」に設定する必要があります。
パラメータの説明
入力パラメータ | 説明 |
---|---|
.job |
Mech-Visionのプロジェクト番号は、Mech-Visionのプロジェクトリストで確認できます。プロジェクト名の前の数字は、プロジェクト番号を表します。 |
.getpos_type |
「経路計画」ステップから返された経路点の位置姿勢タイプを指定します。
|
出力パラメータ | 説明 |
---|---|
.pos_num |
このコマンドを実行した後に返された経路点の数を保存するために使用されます。 |
.vispos_num |
経路計画設定ツールで設定された「ビジョン処理による移動」が経路全体における位置を保存するために使用されます。 例えば、「移動_1、移動_2、ビジョン処理による移動_1、移動_3」の場合、ビジョン処理による移動の位置は3です。 ビジョン処理による移動がない場合、このパラメータは0になります。 |
.ret |
このコマンドが実行した後に返されたステータスコードを保存するために使用されます。 |