Research Note 03

Stäubli ロボット連携 — VAL3 TCP Socket Plug-in

VAL3 のソケット通信を call AiveManual() 関数でラップし、Stäubli から AIVE と RoboEye を制御する構造を実装しました。

  • Stäubli SP2
  • VAL3
  • TCP Clients ソケット
  • sAive 文字列送信
  • RoboEye ビジョン連携
  • AIVE 基本プロトコル
Stäubli ロボット
SP2 ティーチペンダント IO > Socket > TCP Clients 画面
SP2 ティーチペンダント IO > Socket > TCP Clients 画面
New TCP Client の登録 — Name: Aive、Port: 1470、Server ip: 192.168.0.30
New TCP Client の登録 — Name: Aive、Port: 1470、Server ip: 192.168.0.30
VAL3 AiveManual 関数コード — toString でパディング後に sAive を送信
VAL3 AiveManual 関数コード — toString でパディング後に sAive を送信

Stäubli SP2 ティーチペンダントで、IO > Socket > TCP Clients の経路から新しいクライアントを登録します。Name: Aive、Port: 1470、Server IP: 192.168.0.30 に設定し、Ping Test で接続を確認します。接続に成功すると該当 IP が出力され、失敗すると 'Destination host unreachable' のメッセージが表示されます。

VAL3 プログラムでは、sAive 変数に AIVE プロトコル文字列を直接代入して送信します。例:sAive = "<C1>"(モーター ON)、sAive = "<L1>"(照明 ON)。AiveManual 関数は n_mm、n_hz、n_sec の値を受け取って <P1NNN> と <P2NN,NN> の文字列を組み立て、delay() で動作時間を待機します。

提供する VAL3 プログラム:AiveManualWork(直接振動)、AiveLightON/OFF(照明)、AiveMotion / AiveMotionReady(保存モーション)。VAL3 の特性上、toString() で数値を文字列に変換するパディング処理が必要です。

RoboEye ビジョン連携も、同じ TCP Clients のソケット構造で開発しました。AIVE 制御(コマンド送信のみ)と異なり、ビジョンはトリガーを送って座標を受信する双方向通信です。Stäubli VAL3 から RoboEye サーバーへ撮影トリガーを送ると、RoboEye が認識結果の座標を返す方式で動作します。

Stäubli 連携ページ →

この技術は、今の製品の中にあります

研究ノートで検証された構造は、現在 AimFactoryCore と Robot Suite の一部になっています。