接口通信指令の説明

簡介

自動化通信プロトコル - Epic Pro サーバーとして(ポート5700)。

指令の説明

単一指令

動作

指令

返り値

撮影

110, カメラID

110, カメラID1, カメラID2…​

(110のみ入力した場合、デフォルトで最初のカメラを使用)

成功:110, カメラID

失敗:000, 失敗コード, カメラID

検出

120, リクエストするポーズ点の数

(120のみ入力した場合、デフォルトで1つのポーズをリクエスト)

成功:コマンドコード=120

ケース1(通常の検出/衝突検出):コマンドコード, ポーズタイプ(デカルト0/関節1), 送信されたポーズ点の数n, グリップポイントのあるグリップ物体の数, 認識されたグリップポイントの合計数, 現在の空間ID, 現在のグリップ物体ID, 現在のグリップポイントインデックス(全てのグリップポイントリストでのインデックス), 現在のグリップポイント番号(グリップポイント編集ツールでの番号), 0, 0, 0, ポーズ*n

ケース2(経路計画):コマンドコード, ポーズタイプ(デカルト0/関節1), 送信されたポーズ点の数n, グリップポイントのあるグリップ物体の数, 認識されたグリップポイントの合計数, 現在の空間名ID, 現在のグリップ物体ID, 現在のグリップポイントインデックス(全てのグリップポイントリストでのインデックス), 現在のグリップポイント番号(グリップポイント編集ツールでの番号), 0, 0, 0, ポーズ*n

インターフェースの点群が変化する場合、衝突検出や経路計画ではロボットも変化します。

失敗:000, ロボットに返すステータスコード

スペース内のグリップ物体の切り替え

130, 空間ID, グリップ物体ID

成功:130

失敗:000, ロボットに返すステータスコード

ロボット撮影ポーズ(EIH使用時)

140, カメラID, X, Y, Z, 姿勢

(四元数はW, X, Y, Zの順で解析)

成功:140, カメラID

失敗:000, ロボットに返すステータスコード

視覚ソフトウェアの再起動

307

コマンド受信:307

工業PCのシャットダウン

886

コマンド受信:886

クイックコマンド

動作

コマンド

Epic Proの応答

撮影+検出

220, カメラID1, カメラID2…​

(カメラIDを省略した場合、デフォルトで最初のカメラを使用)

成功:コマンドコード=220

ケース1(通常の検出/衝突検出):コマンドコード, ポーズタイプ(デカルト0/関節1), 送信されたポーズ点の数n, グリップポイントのあるグリップ物体の数, 認識されたグリップポイントの合計数, 現在の空間ID, 現在のグリップ物体ID, 現在のグリップポイントインデックス(全てのグリップポイントリストでのインデックス), 現在のグリップポイント番号(グリップポイント編集ツールでの番号), 0, 0, 0, ポーズ*n

ケース2(経路計画):コマンドコード, ポーズタイプ(デカルト0/関節1), 送信されたポーズ点の数n, グリップポイントのあるグリップ物体の数, 認識されたグリップポイントの合計数, 現在の空間名ID, 現在のグリップ物体ID, 現在のグリップポイントインデックス(全てのグリップポイントリストでのインデックス), 現在のグリップポイント番号(グリップポイント編集ツールでの番号), 0, 0, 0, ポーズ*n

インターフェースの点群が変化する場合、衝突検出や経路計画ではロボットも変化します。

失敗:000, ロボットに返すステータスコード

撮影+ロボット撮影ポーズ

240, カメラID, X, Y, Z, 姿勢

成功:240, カメラID

失敗:000, ロボットに返すステータスコード

撮影+ロボット撮影ポーズ+検出

250, カメラID, X, Y, Z, 姿勢

成功:コマンドコード=250

ケース1(通常の検出/衝突検出):コマンドコード, ポーズタイプ(デカルト0/関節1), 送信されたポーズ点の数n, グリップポイントのあるグリップ物体の数, 認識されたグリップポイントの合計数, 現在の空間ID, 現在のグリップ物体ID, 現在のグリップポイントインデックス(全てのグリップポイントリストでのインデックス), 現在のグリップポイント番号(グリップポイント編集ツールでの番号), 0, 0, 0, ポーズ*n

ケース2(経路計画):コマンドコード, ポーズタイプ(デカルト0/関節1), 送信されたポーズ点の数n, グリップポイントのあるグリップ物体の数, 認識されたグリップポイントの合計数, 現在の空間名ID, 現在のグリップ物体ID, 現在のグリップポイントインデックス(全てのグリップポイントリストでのインデックス), 現在のグリップポイント番号(グリップポイント編集ツールでの番号), 0, 0, 0, ポーズ*n

インターフェースの点群が変化する場合、衝突検出や経路計画ではロボットも変化します。

失敗:000, ロボットに返すステータスコード

スペース内のグリップ物体の切り替え+撮影

310, 空間ID, グリップ物体ID, カメラID1, カメラID2…​

(カメラIDを省略した場合、デフォルトで最初のカメラを使用)

成功:240, カメラID

失敗:000, ロボットに返すステータスコード

スペース内のグリップ物体の切り替え+撮影+検出

320, 空間ID, グリップ物体ID, カメラID1, カメラID2…​

(カメラIDを省略した場合、デフォルトで最初のカメラを使用)

成功:コマンドコード=320

ケース1(通常の検出/衝突検出):コマンドコード, ポーズタイプ(デカルト0/関節1), 送信されたポーズ点の数n, グリップポイントのあるグリップ物体の数, 認識されたグリップポイントの合計数, 現在の空間ID, 現在のグリップ物体ID, 現在のグリップポイントインデックス(全てのグリップポイントリストでのインデックス), 現在のグリップポイント番号(グリップポイント編集ツールでの番号), 0, 0, 0, ポーズ*n

ケース2(経路計画):コマンドコード, ポーズタイプ(デカルト0/関節1), 送信されたポーズ点の数n, グリップポイントのあるグリップ物体の数, 認識されたグリップポイントの合計数, 現在の空間名ID, 現在のグリップ物体ID, 現在のグリップポイントインデックス(全てのグリップポイントリストでのインデックス), 現在のグリップポイント番号(グリップポイント編集ツールでの番号), 0, 0, 0, ポーズ*n

インターフェースの点群が変化する場合、衝突検出や経路計画ではロボットも変化します。

失敗:000, ロボットに返すステータスコード

スペース内のグリップ物体の切り替え+撮影+ロボット撮影ポーズ

340, 空間ID, グリップ物体ID, カメラID, X, Y, Z, 姿勢

スペース内のグリップ物体の切り替え+撮影+ロボット撮影ポーズ+検出

350, 空間ID, グリップ物体ID, カメラID, X, Y, Z, 姿勢

複合指令

基本原則:

  1. 各コマンドをセミコロン (;) で区切り、相互に組み合わせます。

  2. 手持ちカメラの場合、撮影するカメラIDと撮影ポイント位置を送信するカメラIDが一致していることを確認し、撮影ポイントを送信する前に該当IDのカメラ撮影を実行してください。

  3. コマンド順序:

    コマンド順序

    コマンド例

    手持ちカメラ:物体の把持切り替え → 撮影 → 検出

    130,0,0;110,0;120

    外部カメラ:物体の把持切り替え → 撮影 → 現在のカメラ撮影ポイント → 検出

    130,0,0;110,0;140,0,0,0,0,0,0,0;120

    ステッチ手持ちカメラ:物体の把持切り替え → カメラ0撮影 → カメラ1撮影 → 検出

    130,0,0;110,0;110,1;120

    ステッチ外部カメラ:物体の把持切り替え → カメラ0撮影 → 現在のカメラ0撮影ポイント → カメラ1撮影 → 現在のカメラ1撮影ポイント → 検出

    130,0,0;110,0;140,0,0,0,0,0,0,0;110,1;140,1,0,0,0,0,0,0;120

簡単な例:

動作

指令

返り値

撮影+検出

110, カメラID1, カメラID2…​;120 または 110;120

(カメラIDを省略した場合、デフォルトで最初のカメラを使用)

結果は上記の表を参照

撮影+ロボット撮影ポーズ

110, カメラID1;140, X, Y, Z, 姿勢

結果は上記の表を参照

撮影+ロボット撮影ポーズ+検出

110, カメラID1;140, X, Y, Z, 姿勢;120

結果は上記の表を参照

返りステータスコード

失敗ステータスコード

ステータスコード

説明

3000

初期化に失敗しました

3001

ロボットの初期化に失敗しました

3002

クロール設定の切り替えに失敗しました

3003、カメラグループID

カメラグループの切り替えに失敗し、失敗したカメラグループIDが返されます。

3004

カメラパラメータの設定に失敗しました

3005

写真の撮影に失敗しました

3006

ATOMの検出に失敗しました

3007

経路計画データの準備に失敗しました

3008

衝突検出データの準備に失敗しました

3009

手先にカメラがある場合、ロボットの現在位置の設定に失敗しました

3010

ResponseHookのコンパイルに失敗しました

3011

ExtendPageのコンパイルに失敗しました

3012

ParserMonitorDataのコンパイルに失敗しました

3013

ATOMパラメータの設定に失敗しました

3014

通信サービスの開始に失敗しました

3015

コマンドの実行に失敗しました

3016

Hookの初期化に失敗しました

例外ステータスコード

ステータスコード

説明

4000

ATOMの例外

4001

ATOMの検出例外

4002

Epic Proの異常動作

4003

衝突検出の例外

4004

パス計画の例外

4005

現在のロボットの姿勢設定の例外

4006

リクエストされたパラメーターの数が正しくありません

4007

カメラの撮影ポイントデータの設定に失敗しました

警告ステータスコード

ステータスコード

説明

5000

操作が完了していません。後でもう一度試してください。

5001

ロボットの現在位置が受信されていません

5002

ポーズリストが空です

5003

衝突検出後に利用可能なポイントがありません

5004

利用可能な軌道が計画されていません

5005

ATOMのピクチャ名が空です

5006

ATOMはグラブポイントの結果を空で返します

5007

受信したEIHデータの桁数が正しくありません

5008

ツールデータがありません

5009

バインドされたモデル名が空です

5010

受信パラメータにnull値が含まれています

5011

カメラ データがありません

5012

リクエストされた経路ポイントの数が設定値を超えています

5013

ロボットの最後の撮影ポイントの姿勢が送信されていません。再撮影して姿勢を送信してください