「OPC UA for Robotics」の現在地と将来への展望:いまさら聞けない「OPC UA for Robotics」(2)(2/3 ページ)
産業機器のインタフェース共通化を目指すOPC UAのコンパニオン仕様の1つに、産業用ロボットを対象とする「OPC UA for Robotics」がある。本連載では「OPC UA for Roboticsとは何か、何ができるのか」について、想定される活用シーンとともに紹介する。第2回の今回は「OPC UA for Robotics」の現在の状況と今後の展開について紹介する。
Part1に含まれないもの
「Part1」が対象としている範囲は、工場ネットワーク内で求められる産業用ロボットインタフェースの一部でしかなく、図2のOTネットワーク以下はまだ対象外である。しかし、このOTネットワーク以下の統合こそ、生産システムの挙動を制御し、モノづくりの価値を生み出すために特に重要であり、最もエンジニアリングコストを要する領域でもある。そこで以下では、「Part1」に含まれないインタフェースの例を、産業用ロボットコントローラーが有する機能と合わせて簡単に紹介する。
ここで述べたいのは、一口にロボットコントローラーと言っても多様な機能が詰め込まれており、そのインタフェースにも多くの形態があるため、共通化は容易ではない、ということである。
まず産業用ロボットの工場ネットワーク内での位置付けについておさらいしておく。図2のようにロボットや機械装置が直接、相互接続される場合もあるが、図1のようにPLCや産業用PCが上位制御系として複数のロボットや機械装置を統合制御することも多い。また、ロボットコントローラー配下にロボットハンドや外部軸、各種IO機器などが接続される場合もある。
そこで、ロボットのインタフェースを図3のように上位/機器間インタフェースと下位インタフェースとに分けて記述するのは自然であろう。図3は、黒枠で囲ったロボットコントローラーの中に、ロボット制御に関するソフトウェア機能要素を色分けして並べ、外部インタフェースを示す矢印を追加したものである。図3の下方に記載した要素ほど制御対象であるロボットや周辺機器に近く、厳密なリアルタイム性を必要とする。
図3中の各機能要素の概要は以下の通りである。
- HMI: プログラミングペンダントや操作パネルのような、人が直接触れるインタフェース機能
- ロボット言語インタプリター:ロボットの動作を記述するロボット言語プログラムを読み取り、順次実行する機能
- 軌道/動作計画:主にロボット手先の軌道や加減速などの指令プロファイルを作成する機能
- 運動学・座標変換:ロボット手先位置を各関節のモータ角度に変換する機能
- 機構制御:制御対象であるロボット機構の特性を考慮し、指令通りに機構を動作させるための機能
- フィールドバスIO:駆動系や周辺機器との接続に使われるフィールドバスのIO機能
- サーボ制御:モータを指令に追従するよう制御する機能
- 汎用IO他:周辺機器との接続/制御のための汎用IO機能
- RTOS:リアルタイム制御のための基盤を提供する機能
- 安全系:非常停止や速度/領域監視などの機械安全や機能安全を提供する機能
ロボットの各種インタフェース
ロボットコントローラーの上位/機器間インタフェースとして考えられるのは、主に以下の3種類である。
- ロボット言語から参照できる入出力変数/レジスタインタフェース:このインタフェースは、ほぼ全ての主要メーカーが整備している
- ロボット言語を介さず直接動作指令などをトリガーとするインタフェース:PLCなどから直接ロボットを制御するために、整備が進んでいるインタフェースである
- ロボットの動作指令を逐次与えるインタフェース:周辺機器とロボット動作を厳密に同期させたい場合などに対応するためのインタフェースであるが、これを一般に提供しているメーカーは限られる
また、下位インタフェースとして考えられるのは、主に以下の3種類である。
- (追加外部軸用)モータインタフェース:ロボットハンドやステージなど、ロボットの付加軸としてロボットコントローラーから動作を制御するモータのためのインタフェースである
- (周辺機器接続/制御用)IOインタフェース:主にデジタル信号のON/OFFで制御されるような機器(グリッパ、空気弁など)やセンサー(接触/近接センサーなど)のためのインタフェースである
- 同フィールドバスマスターインタフェース:EtherCATなどオープンかつ高性能なフィールドバスマスターの一部をユーザーに解放し、さまざまなスレーブ機器を接続できるようにしたインタフェースである。まだ少数だが、このような先進的なインタフェースを備えるメーカーも登場している
「OPC UA for Robotics Part 1」は、これらのインタフェースのほぼ全てをカバーできていない。「Part 1」が提供するインタフェースだけでは、上位コントローラーからロボットを制御することはできない。また、「Part1」で見ることができるロボットの状態は、ロボットコントローラーが処理している膨大なデータの表層部分でしかない。
Copyright © ITmedia, Inc. All Rights Reserved.