NTT DATA — Trusted Global Innovator

株式会社NTTデータエンジニアリングシステムズ

No.48 お客様事例

FeatureMakerの画面表示にDarwin Vueを利用する

株式会社日立製作所 電力グループ 電力・電機開発研究所様は、エネルギー、社会インフラ、産業インフラ分野の世界市場で、お客様に最適なシステム・機器・サービスをご提供するために、幅広い分野の研究者が連携を図り、新製品・新技術開発に取り組まれています。

今回は自社開発されたFeatureMakerについて、NDESへの開発依頼などのお話を中心に、非破壊検査プロジェクト デジタルエンジニアリンググループリーダ 主任研究員 定岡紀行様、ターボ機械研究開発センター 流体科学プロジェクト システム評価グループ 主任研究員 矢敷達朗様にお伺いしました。

電力・電機開発研究所の概要

当社の研究組織は、研究開発本部と事業グループ内の研究所の2つに分かれています。その中で電力・電機開発研究所は、電力グループ内の事業グループに位置付けられ、エネルギー・環境および社会インフラに関連したシステム・機器およびサービスを提供するための研究開発部門です。主に火力・水力システム(ガスタービン、蒸気タービン、ボイラ、水車など)、原子力システム(原子炉機器・構造、原子炉水化学、燃料サイクル、非破壊検査など)、送変電システム(送変電、受配電など)、社会・産業インフラシステム(医療システム、上下水システム、計測・検査、化学・医薬プラント、触媒システム、情報制御システム、超電導技術など)の様々な機器、システム及びそれらを支える基盤技術の開発を行っています。

当研究所の研究施設は、JR常磐線の「かつた」、「おおみか」、「ひたちたが」、「ひたち」の各駅に点在しており、本館は「おおみか」にあります。

人物の写真
非破壊検査プロジェクト
デジタルエンジニアリング
グループリーダ
主任研究員 定岡 紀行 様

FeatureMaker開発の経緯

2002年に、断層撮像装置として高エネルギー産業用X線CT装置(以下、CT装置)を開発しました(図1)。このCT装置の特長は、高速・高精度撮像を実現したことです。医療用X線CT装置と同じメカニズムで、X線源の反対側に検出器があり、真中のテーブルに計測物を置いて1回転することで、1断層が撮像できる仕組みです。高さ方向の断層は、両側もしくはテーブルを上下させて順次撮像します。医療用と異なるのはX線の強さで、工業用の金属加工物を精度良く透過させるため、医療用X線の約10~100倍になります。さらに高エネルギーX線用の薄型シリコン半導体センサを開発したことで、1断面の高精度撮像が10~15秒になり、大型エンジンブロック全体が数時間以内で撮像できるようになりました。

説明図
図1 高エネルギー産業用X線CT装置
(上図をクリックすると拡大図が表示されます)

このように、工業部品の内部形状までデジタル化が実現できると、次は計測データをCADに取り込みたいという要求が出てきました。実物の計測データをCADに取り込むことで、流体解析、構造解析などによる性能評価を行い、製品の改善、改良が容易にできます。そこで、これを実現するためのツールとして開発したのが、リバースエンジニアリングソフトウェア「FeatureMaker」*1です。

CT装置で撮像した計測データ(以下、CTデータ)と一般的なCADデータは、データ形式が全く異なります。CTデータは、ボクセルと言われる小さい立方体の中に値が入っていますが、CADデータは、幾何学的形状で定義されています。そこで、CTデータからSTLデータへ変換した後、FeatureMakerで平面、円筒面、円錐面などのフィーチャ情報を取り出してCADデータに変換します。

*1 FeatureMakerは、株式会社日立製作所の製品です。

NDESへ開発依頼

FeatureMakerの開発当初は、計測データからフィーチャ情報を取得する「表面領域拡張法」*2を開発し、自作のグラフィカルユーザインターフェース(以下GUI)で表示させていました。開発が進むにつれ、面を取り出すソルバー部分と、表示するGUI部分の両方の開発内容が非常に多くなり、ソルバーに注力すると表示ルーチンに時間が取れなくなりました。しかも、計測した表面データは三角形ポリゴンで数十万~数百万になり、自作のGUIでは対話的に処理することが難しく、開発するにしても作業スケジュールの見通しがつかない状況でした。そのとき、NDESからCADビュワーであるDarwin Vueを表示部分のエンジンとし、FeatureMakerのGUIとして組み込むことを提案されました。これで表示部分は解決できます。我々のFeatureMakerをアドオン形式でDarwin Vueに組み込むことができるので、この開発をNDESに依頼しました。FeatureMakerのGUIはDarwin Vueと同じ表示画面を使用しています。また、FeatureMaker特有のアイコンもNDESに作成してもらいました。

人物の写真
ターボ機械研究開発センター
流体科学プロジェクト
システム評価グループ
主任研究員 矢敷 達朗 様

それから、FeatureMakerに取り込んだデータを汎用CADのデータ形式へ出力する方法を検討していました。それに関してもNDESは、Space-Eを開発してきた基盤があり、汎用CADデータ形式のIGESやCATIAへの出力が実現できるということから、NDESに開発をお願いしました。

このようにNDESが持っているDarwin Vueの表示技術とCADとの連携を図るためのポテンシャル、そして我々が持っているソフトウェア技術を融合することで、新しい製品としてFeatureMakerが完成できたのです。

*2 特許P03777989,P03894063

FeatureMakerの特長

■高精度なフィーチャ情報の抽出

FeatureMakerでは、表示させたSTLデータを画面上からピックして、表示領域拡張法により、フィーチャ情報を自動抽出して形状を認識させます。例えば、平面を取るときは、1点を指定するとプログラムの中で、どこまでが平面でどういう形状かという情報を探索して抽出します。円筒面も同じ操作で、2点を指定すると円筒面の形状とその領域を抽出します。この操作を繰り返してフィーチャを定義していきます。

FeatureMakerの強みは、ノイズを含むSTLデータでも失敗することなく高精度なフィーチャ情報を抽出できることです。また、1/4円筒面や高さが極端に低い場合など、認識するには難しい形状も抽出できます。抽出できるフィーチャ情報は、平面、円筒面、円錐面です。

画面例
図2 FeatureMakerの画面

■拘束条件のオプション

FeatureMakerには、いろいろなオプションがあります。例えば拘束条件ですが、基準面を指定して拘束をかけることができます。「基準面に対して垂直」という拘束条件を設定すると、その条件を基に計測データからフィッティングしてフィーチャを抽出できます。フィレット面に対しても、「2つの面に対して接する」という拘束条件を設定して、基準面を指示すると、計測データからフィッティングして正確なフィーチャを抽出できます。

■フィーチャと自由曲面の両方をサポート

フィーチャが定義できない領域は、自由曲面を定義します。自由曲面は、画面上で計測データの形状を見ながら境界線を定義し、そこにNURBS面を貼ります。

今、計測データを処理するソフトウェアはいろいろありますが、全データを自由曲面に自動変換するのが主流です。そのため、平面や円筒面などのフィーチャ情報が抜けたデータになっています。一部のフィーチャ情報であれば抽出できる機能を持ったソフトウェアもありますが、フィーチャ情報が取れて自由曲面にもできる両方の機能を持っているのはFeatureMakerだけです。

説明図
図3 FeatureMakerの概要
(上図をクリックすると拡大図が表示されます)

また、FeatureMakerの開発のきっかけはCTデータでしたが、現在は一般的なレーザ、カメラなどの3次元計測装置から出力されるSTLデータを取り込むことができます。

表面領域拡張法

ここでは、FeatureMakerに実装した表面領域拡張法を簡単に説明します。以前から画像処理の分野では、領域を広げていくアルゴリズムの概念はありましたが、計測データから形状情報を取り出すための処理に領域拡張を利用したことが新しい手法になります。

計測データからフィーチャ情報を得るためには、3つの情報を同時に抽出する必要があります。1つ目は、平面、円筒面などのフィーチャ情報です。2つ目は、形状のパラメータ情報です。平面であれば法線ベクトルと基点、円筒面であれば半径と中心軸の情報です。そして3つ目は、どこまでがフィーチャに含まれるかという領域の情報です。この3つの情報が逐次的に求まればいいのですが、お互いが依存関係にあるため、同時に解決する必要がありました。そこで、フィーチャ情報だけはユーザーに入力してもらい、パラメータ情報と領域情報に関しては、反復的に解きながら同時に求めるようなアルゴリズムを考えました。これが表面領域拡張法です。

具体的に図4で説明すると、最初にフィーチャの種類として円筒面を選択し、シード点を1点指定します(図4①)。そのシード点が初期の領域になり、フィーチャのパラメータとして円筒面の半径、中心軸の情報を算出します。次にその円筒面に含まれる領域を探索し、最初の初期領域が点だったのが青い領域まで広がります(図4②)。そして、その領域で円筒面の半径と中心軸を求め直して、形状パラメータを更新します。その繰り返しで、これ以上領域が広がらず、形状パラメータの更新もなくなったところで、最終的に円筒面の形状が決まります(図4③)。最初の1点から求まる半径は、非常に荒いデータですが、領域を広げるごとに精度が高くなります。

この開発で一番難しかったのは、スタートの時点です。はじめに的外れな情報を抽出すると領域を広げられないため、少ない情報からいかにして精度良い円筒面を出すかというところが苦労しました。

説明図
図4 表面領域拡張法
(上図をクリックすると拡大図が表示されます)

説明図
図5 FeatureMakerの適応例
(上図をクリックすると拡大図が表示されます)

FeatureMakerの次期バージョン

今のバージョンは、対話的な処理が前提になっているので、形状によっては自由曲面の境界線の定義の操作時間が、全体の8割になることもあります。そのため、複雑なクランクシャフトになると工数が4~5日ほどかかっています。

そこで、次期バージョンでは全部の形状を自動認識させる機能を追加するために、東京大学先端科学技術研究センター鈴木教授と共同研究しているところです。今のバージョンは、シード点とフィーチャの種類を指定していますが、これも全く指定せずに、計測データだけでフィーチャ情報を得られるように考えています。また、自由曲面についても、計測データにフィッティングさせることで面精度を保持し、境界線の定義を操作せずに自動認識させることも考えています。

この次期バージョンでフィーチャが自動認識できれば、現状にはない世界トップクラスのソフトウェアになると思っています。

NDESへのメッセージ

NDESはSpace-Eを開発、販売し、実際にものづくりをされているお客様と密接なつながりがあります。そういうものづくりの知識があり、ソフト開発の技術も持っているNDESに協力してもらうことは、我々にとっても開発が迅速にできるというメリットがあります。実際にNDESとプログラム開発を一緒にさせてもらい、技術力の高さには非常に感心しています。NDESに協力してもらわなければ、実現できませんでした。

今後NDESには、大規模データの取り扱いと、64ビットの対応をお願いしたいと思います。これからは、大規模データがひとつのキーワードになります。今は、100~200万ポリゴンまで対応できますが、ものによっては、4~500万、1~2000万ポリゴンの計測データになるものがあります。そのため、今はデータを圧縮して簡略化し、精度が落ちない範囲のポリゴン数にして読み込んでいますが、お客様からは、測定した生データを使いたいという要望があります。

それから、お客様は様々なCADを使われています。できればIGESではなく、生データを読み込みたいという要望もあり、今後はIGES、CATIA以外のCADデータにも対応する予定です。こちらの協力もお願いします。

参考文献:矢敷、定岡、他2名 "フィーチャ抽出に基づく3次元計測データからのCADデータ生成"
精密工学会誌、pp593-596 Vol.73 No.5 2007

おわりに

アルゴリズムの核になる部分を発想するときは、人とディスカッションしながらアイデアを出すことが多いそうです。取材前は、アルゴリズムと聞いて理解できる内容なのか心配でしたが、分かりやすく説明していただきとても勉強になりました。

大変お忙しいところ、貴重な時間をさいてお話を聞かせていただき、ありがとうございました。

会社プロフィール

会社の写真
電力・電機開発研究所(本館)
本社 〒100-8280 東京都千代田区丸の内一丁目6番6号
設立 大正9年(1920年)2月1日
創業 明治43年(1910年)
資本金 282,033百万円(2007年3月末日現在)
売上高 2,785,115百万円(2007年3月期)
従業員 41,016名(2007年3月末日現在)
電力グループ 電力・電機開発研究所:
〒319-1221 茨城県日立市大みか町七丁目2番1号

― この記事に関連するソリューション ―