インターフェース通信コマンド仕様
|
ポート5700
自動化通信プロトコル - Epic Pro がサーバーとして機能(ポート5700)。

単一コマンド
動作 |
コマンド |
応答 |
||
---|---|---|---|---|
撮影 |
110,カメラID 110,カメラID1,カメラID2… (110のみ入力した場合、デフォルトで最初のカメラが使用されます) |
成功:110,カメラID 失敗:000,エラーコード,カメラID |
||
検出 |
通常検出:120,リクエストされたポーズ点数,0 把持経路計画のみ:120,把持経路点数,0 退避経路計画付き:120,把持経路点数,退避経路点数 |
成功:コマンドコード=120 ケース1(通常検出/衝突検出):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n ケース2(経路計画):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n インターフェースの点群が更新されます。衝突検出や経路計画の場合、ロボットの状態も変化します。
失敗:000,ロボット状態コード |
||
空間内の物体切り替え |
130,空間ID,物体ID |
成功:130 失敗:000,ロボット状態コード |
||
ロボット撮影ポーズ(ハンドアイ) |
140,カメラID,X,Y,Z,姿勢 (クォータニオンはW,X,Y,Zの順で解析) |
成功:140,カメラID 失敗:000,ロボット状態コード |
||
視覚ソフトウェアの再起動 |
307 |
コマンド受信:307 |
||
産業用PCのシャットダウン |
886 |
コマンド受信:886 |
ショートカットコマンド
動作 |
コマンド |
応答 |
---|---|---|
撮影+検出 |
通常検出:220,把持点数,0 把持経路計画のみ:220,把持経路点数,0 退避経路計画付き:220,把持経路点数,退避経路点数 |
成功:コマンドコード=220 ケース1(通常検出/衝突検出):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n ケース2(経路計画):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n インターフェースの点群が更新されます。衝突検出や経路計画の場合、ロボットの状態も変化します。 失敗:000,ロボット状態コード |
撮影+ロボット撮影ポーズ |
240,カメラID,X,Y,Z,姿勢 |
成功:240,カメラID 失敗:000,ロボット状態コード |
撮影+ロボット撮影ポーズ+検出 |
通常検出:250,カメラID,X,Y,Z,姿勢,把持点数,0 把持経路計画のみ:250,カメラID,X,Y,Z,姿勢,把持経路点数,0 退避経路計画付き:250,カメラID,X,Y,Z,姿勢,把持経路点数,退避経路点数 |
成功:コマンドコード=250 ケース1(通常検出/衝突検出):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n ケース2(経路計画):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n インターフェースの点群が更新されます。衝突検出や経路計画の場合、ロボットの状態も変化します。 失敗:000,ロボット状態コード |
空間内の物体切り替え+撮影 |
310,空間ID,物体ID,カメラID1,カメラID2… (カメラIDが含まれていない場合、デフォルトで最初のカメラが使用されます) |
成功:310,カメラID 失敗:000,ロボット状態コード |
空間内の物体切り替え+撮影+検出 |
通常検出:320,空間ID,物体ID,カメラID1,カメラID2…,把持点数,0 把持経路計画のみ:320,空間ID,物体ID,カメラID1,カメラID2…,把持経路点数,0 退避経路計画付き:320,空間ID,物体ID,カメラID1,カメラID2…,把持経路点数,退避経路点数 (カメラIDが含まれていない場合、デフォルトで最初のカメラが使用されます) |
成功:コマンドコード=320 ケース1(通常検出/衝突検出):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n ケース2(経路計画):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n インターフェースの点群が更新されます。衝突検出や経路計画の場合、ロボットの状態も変化します。 失敗:000,ロボット状態コード |
空間内の物体切り替え+撮影+ロボット撮影ポーズ |
340,空間ID,物体ID,カメラID,X,Y,Z,姿勢 |
成功:340,カメラID 失敗:000,ロボット状態コード |
空間内の物体切り替え+撮影+ロボット撮影ポーズ+検出 |
通常検出:350,空間ID,物体ID,カメラID,X,Y,Z,姿勢,把持点数,0 把持経路計画のみ:350,空間ID,物体ID,カメラID,X,Y,Z,姿勢,把持経路点数,0 退避経路計画付き:350,空間ID,物体ID,カメラID,X,Y,Z,姿勢,把持経路点数,退避経路点数 |
成功:コマンドコード=350 ケース1(通常検出/衝突検出):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n ケース2(経路計画):コマンドコード,ポーズタイプ(デカルト0/関節1),送信されたポーズ点数(n),把持可能な物体数,総把持点数,現在の空間ID,現在の物体ID,現在の把持点インデックス(全把持点リスト内でのインデックス),現在の把持点番号(把持点編集ツールで表示される番号),予約済みProStatus情報(情報がない場合は0で埋める),0,0,ポーズ*n インターフェースの点群が更新されます。衝突検出や経路計画の場合、ロボットの状態も変化します。 失敗:000,ロボット状態コード |
組み合わせコマンド
基本原則:
-
単一の指令を互いに組み合わせ、セミコロン(;)で区切ります
-
手に目がある場合、写真を撮るカメラIDと写真点の姿勢を送信するカメラIDが一致していることを確認し、写真点を送信する前に対応するIDのカメラで写真を撮影します。
-
指令の順序:
指令の順序
例の指令
手外の目: 空間物体を切り替え → 写真を撮る → 検出
130,0,0;110,0;120,1,0
手に目: 空間物体を切り替え → 写真を撮る → 現在のカメラの写真点 → 検出
130,0,0;110,0;140,0,0,0,0,0,0,0;120,1,0
手に目のステッチング: 空間物体を切り替え → カメラ0で写真を撮る → カメラ1で写真を撮る → 検出
130,0,0;110,0;110,1;120,1,0
手外の目のステッチング: 空間物体を切り替え → カメラ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,1,0
状態コードの返却
すべてのコマンドはHOOKを経由して返却され、すべて応答があります。 |
成功状態コード
状態コード |
説明 |
備考 |
---|---|---|
2001 |
設定切り替え成功 |
|
2002 |
カメラ切り替え成功 |
|
2003 |
ロボット撮影ポーズ設定成功 |
|
2004 |
撮影成功 |
|
2005 |
検出成功 |
通常検出および衝突検出の成功を含む |
2006 |
経路計画成功 |
異常状態コード
状態コード |
説明 |
備考 |
---|---|---|
3001 |
現在の操作実行中です。しばらくしてから再試行してください |
プラン終了中または待機状態では他の操作を実行できません |
3002 |
コマンド解析失敗。フォーマットを確認してください |
|
3003 |
リクエストされたパラメータ数が要件を満たしていません |
|
3004 |
撮影ポーズのフォーマットが正しくありません |
|
3005 |
リクエストされた経路点数が要件を満たしていません |
|
3006 |
リクエストされた把持点数が要件を満たしていません |
|
3007 |
把持空間の切り替えに失敗 |
|
3008 |
把持設定の切り替えに失敗 |
|
3009 |
カメラ切り替えに失敗 |
|
3010 |
カメラパラメータの設定に失敗 |
|
3011 |
現在のロボット撮影ポーズを受信していません |
|
3012 |
カメラ撮影ポーズ設定時に撮影データがありません |
|
3013 |
現在のロボット撮影ポーズの設定に失敗 |
|
3014 |
前回のロボット撮影ポーズが送信されていません。再度撮影し、対応するポーズを送信してください |
|
3015 |
撮影失敗 |
|
3016 |
検出入力データが不足しています |
ATOMをリクエストする前に不足しているデータ:ハンドアイキャリブレーション結果データまたはハンドアイ撮影点データ |
3017 |
ATOMパラメータの設定に失敗 |
実行時パラメータおよびマッピングパラメータを含む |
3018 |
ATOM検出異常 |
ATOMの実行にエラーまたは異常が発生(結果がnull、またはリクエスト中に例外が発生) |
3019 |
検出異常 |
120コマンドの異常(ATOM異常を除く) |
3020 |
検出結果なし |
ターゲットが検出されませんでした: 1. ATOMの検出結果が空 2. ATOMの結果は空ではないがすべて衝突 3. ATOMの結果は空ではないが把持点が計画されない |
3021 |
利用可能な把持点なし |
把持可能な結果が存在するが、すべて把持済みで再度リクエスト時に「利用可能な把持点なし」と表示 |
3022 |
Epic Pro異常 |
通信およびフックが実行されたが、フックで処理されない異常(フック実行異常) |
ポート5800
リアルタイムロボットデータ取得(デフォルトポート5800)
// 注意:SNの命名規則がVendorName-ModelName-RobotNameに変更されました
// VendorNameはmotion_planモジュールと同じ命名規則に従います
// RobotNameは001、002、003などになります
// デカルト空間ポーズの送信
{"SN":"Abb-001","C":"[269.91,3.84,910.26,0.0353839,0.705059,0.0673907]"}
// 関節角度の送信
{"SN":"Abb-001","J":"[2.03,-48.87,50.83,-0.06,85.19,0.91]"}