日本制御技術株式会社の3次元監視 

JCTでは3次元監視システムの開発に着手致しました。

このホームページではその開発過程を公開し、
皆様方のご意見を頂き製品に反映させて頂きたいと考えております。
設備・装置をディスプレーに表示させ、その上にパーツの色替え、数値や文字およびメータなどを動的に表示し
監視を行うモニタリングでは、二次元表示での限界は現場に直結したオペレータの方々から問題視されてきました。

しかし、今日(2010年5月)に至っても未だ、三次元監視がほとんど採り入れられていない現実には
三次元モデルを作成するのが大変困難である(手間がかかる)、
高性能なコンピュータを導入しなければ、実現は難しい(予算がかかる)、
などの問題が解決されていないと考えられてきたようです。

その為、多くのモニタリングシステムでは、遠近法を取り入れた画面を作成したり、
三角法によりひとつの画面に上から見た絵と正面から見た絵を表示させたりと少しでも
視覚的に受け入れやすい画面の作成に苦労しているのを数多く見てまいりました。

日本制御技術株式会社(Japan Control Technology Inc.)エンジニアリング事業部では
現場の問題を解決するという会社の方針に従い、この未だ確立されていない三次元監視と言う課題に
取込む事を決定いたしました。


まず初めに参考としたのは、3D CAD(製図)の世界でした。
製図と言う最終的には紙(まさに2次元の世界)に印刷されるなかで、設計段階で3次元モデルの考えを
採り入れたのは問題点をいち早く発見するには製品を立体的にみる事が不可欠だったからでしょう。
幾つかのCADで、どの様なオペレーションで三次元空間モデルを作成している調査してみました。

さらに、調査してみると三次元空間の描画技術はすでに数年前からゲームやアニメの世界では実現されていました。
もちろん、製品の圧倒的な販売本数に裏付けされた膨大な予算と時間を費やす事の出来る市場と
顧客のニーズに合わせて、ひとつずつ手作りに近い製品であるモニタリングの世界で掛けられる費用が違います。
弊社では、この問題を解決する手法として現実に存在する技術を積極的に調査し、
可能な限り採用しコストを抑える事を基本方針と致しました。

SCADAの基本部分は描画、画像データベース、画像データベース作成ツール、通信ドライバと考えられます。
描画(どの様な三次元モデルをディスプレーに表示出来るか)がイメージ出来上がれば、その他の部分は必然的に
仕様が固まると言う事は経験的に分かっておりますし、基本描画データベースに拡張性を考慮して設計すれば
多くの顧客ニーズにも応えられる事も経験済みです。
また、通信ドライバに関しては特に既存のものを利用できると考えます。

描画技術を幾つか調査比較した結果、出会ったものが、OpenGLでした。
多くの開発者はWindowsならDirectXを思い浮かべるかもしれません。
弊社では、この選択を否定はいたしません。
他社がこの技術を使い三次元監視が業界に普及する事は弊社としても歓迎する事と考えます。
開発者の方で興味のある方はDirectXもぜひ検討してみてください。

OpenGL は Silicon Graphics, Inc. の登録商標だと思います。
近年では、多くの大学や専門学校の演習でそのテクノロジーを経験されているかもしれません。
この素晴らしい製品は、その名が示す通り日本SGI株式会社 より提供され、ライセンスフリーで開発が認められており、
その事が多くの公的教育機関でも使われている理由ではないでしょうか。

それでは、三次元監視とは如何なるものかデモソフトを実行して見てください。
このデモソフトは三次元監視が如何に今までの平面の監視画面に比べより視覚的に表す事が出来るかを体感して頂く為に
作成致しました。
まず、驚かれるのが実行ファイルのサイズでしょう。
あるいは、ライブラリーファイル glut32.dll のタイムスタンプでしょうか
既に10年も前に確立された、いわゆる枯れた技術と言えるもので、バグもほぼ出つくしていると考えられます。
産業用に使用する技術は最新のテクノロジと安定性は相反する面を
持つ場合もあるでこの辺も導入の際は十分に考慮する必要が有と考えます。

デモの三次元石油基地は、この時点ではまだデータベース化はされておりません。
しかし、シンプルなこの三次元モデルはラフスケッチからわずか3日でプログラム化できました。
当初、デモソフトは三次元立体モデルを作成し、モデルの中心に監視点(カメラと考えて下さい)を
ぐるぐる回転させるものでした。
しかしながら、このデモを見て頂いた多くの方から異常発生時に視点を移動して、発生箇所を凝視出来れば
良いでしょうとのご意見を頂き、ぐるぐると数回回転させた後に空間の中を監視点を移動させるプログラムを
追加しました。

デモ視点移動01 デモ視点移動02 
       図1 視点を移動しての表示例1                   図2 視点を移動しての表示例2

ここまで、このページを読み進んで頂いた方には、なんとなく三次元立体モデルを監視するというイメージが
理解頂けたかもしれませんが、立体空間モデルを作成する事と、その空間を監視するという事は分けて考えられます。
もちろん、あまりにも詳細に作成されたモデルは監視システムの負荷を考えると、幾つかの詳細立体モデルと分け、
表示を切替えることを検討するべきでしょう。

OpenGLでは立体モデルを監視する際に、監視点(カメラ)と
視点(カメラが向いている映像の中心)、視角を設定できるようになっています。
今回のデモでは、このカメラ位置とカメラの向きをテーブル化し切替えることで、
立体モデル空間を飛び回っている様に見せております。

このデモソフトは、PCの性能、グラフィックボードの性能、VRAMの容量にも影響を受ける事になります。
ほとんどのお手持ちのパソコンでこのデモソフトは快適に起動するものと考えております。
導入に際し、グラフィックボード(チップ)もOpenGL対応のものは多数市販されており、
特別高価なPCでなくても、最新のPCであれば問題ないと考えております。

具体的な、開発手順について 今後、逐次このホームページ上で更新してゆく予定です。 (2010年6月17日 エンジニアリング事業部 鈴木)