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 の経路から新しいクライアントを登録します。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 が認識結果の座標を返す方式で動作します。
この技術は、今の製品の中にあります
研究ノートで検証された構造は、現在 AimFactoryCore と Robot Suite の一部になっています。
