(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177950
(43)【公開日】2024-12-24
(54)【発明の名称】検査支援装置及び検査支援方法
(51)【国際特許分類】
G01N 21/84 20060101AFI20241217BHJP
G01N 29/04 20060101ALI20241217BHJP
G01N 29/265 20060101ALI20241217BHJP
G01N 27/9013 20210101ALI20241217BHJP
G01B 21/20 20060101ALN20241217BHJP
【FI】
G01N21/84 Z
G01N29/04
G01N29/265
G01N27/9013
G01B21/20 101
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023096394
(22)【出願日】2023-06-12
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000198
【氏名又は名称】弁理士法人湘洋特許事務所
(72)【発明者】
【氏名】渡辺 正浩
(72)【発明者】
【氏名】針山 達雄
(72)【発明者】
【氏名】丸野 兼治
(72)【発明者】
【氏名】豊内 哲也
【テーマコード(参考)】
2F069
2G047
2G051
2G053
【Fターム(参考)】
2F069AA04
2F069AA66
2F069AA93
2F069DD19
2F069DD24
2F069DD25
2F069GG04
2F069HH09
2F069JJ02
2F069QQ05
2G047AA05
2G047BA03
2G047BC07
2G047DB03
2G047DB16
2G047GA19
2G047GA20
2G047GA21
2G051AB02
2G051AC21
2G051BA10
2G051BC05
2G051CA04
2G051CB01
2G051EA12
2G051EA14
2G053AA11
2G053AB21
2G053BA03
2G053DA01
2G053DB06
2G053DB07
2G053DB19
(57)【要約】
【課題】作業者が効率的にワークの検査を行えるようにする。
【解決手段】検査支援装置は、現実空間内に置かれたワークの形状、位置、及び姿勢を示す現実データを取得する現実データ取得部と、前記ワークの設計上の形状を示す設計データ上の検査位置に対して、前記設計データを前記現実データに重ねる変換操作を施すことにより、現実空間における前記ワーク上での検査位置を算出する変換部と、前記ワークを検査するセンサの現実空間での位置を取得するセンサ位置取得部と、現実空間における前記ワーク上での前記検査位置と、前記センサの前記位置との差が許容位置ずれ範囲内に収まる方向を、前記センサを移動させる方向として表示装置に表示させる表示制御部とを有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
現実空間内に置かれたワークの形状、位置、及び姿勢を示す現実データを取得する現実データ取得部と、
前記ワークの設計上の形状を示す設計データ上の検査位置に対して、前記設計データを前記現実データに重ねる変換操作を施すことにより、現実空間における前記ワーク上での検査位置を算出する変換部と、
前記ワークを検査するセンサの現実空間での位置を取得するセンサ位置取得部と、
現実空間における前記ワーク上での前記検査位置と、前記センサの前記位置との差が許容位置ずれ範囲内に収まる方向を、前記センサを移動させる方向として表示装置に表示させる表示制御部と、
を有する検査支援装置。
【請求項2】
請求項1に記載の検査支援装置であって、
前記変換部は、前記変換操作により前記設計データ上における検査方向を現実空間における前記ワーク上での検査方向に変換し、
前記センサ位置取得部は、前記センサが向いている方向を取得し、
前記表示制御部は、現実空間における前記ワーク上での前記検査方向と前記センサが向いている前記方向とがなす角度が許容角度範囲内に収まる方向を、前記センサを振る方向として前記表示装置に表示させる、
検査支援装置。
【請求項3】
請求項1に記載の検査支援装置であって、
前記設計データ上の前記検査位置と、当該検査位置における検査結果とを関連つけて記憶部に格納する格納部、
を更に有する検査支援装置。
【請求項4】
請求項1に記載の検査支援装置であって、
前記現実データ取得部は、現実空間における前記ワークの前記形状、前記位置、及び前記姿勢を測定する三次元測定器から前記現実データを取得する、
検査支援装置。
【請求項5】
請求項1に記載の検査支援装置であって、
前記変換部は、前記変換操作として前記設計データに対して回転操作と並進操作とを施し、変換後の前記設計データと前記現実データとの偏差が最小となるような前記変換操作を前記検査位置に対して施す、
検査支援装置。
【請求項6】
請求項1に記載の検査支援装置であって、
前記センサは、画像による欠陥検出センサ、反射スペクトルによる膜厚又は材質計測センサ、及び超音波又は渦電流による内部欠陥検出センサのいずれかである、
検査支援装置。
【請求項7】
請求項1に記載の検査支援装置であって、
前記表示制御部は、現実空間における前記ワーク上での前記検査位置と前記センサの前記位置との距離が許容距離範囲内に収まる方向を、前記検査位置に前記センサを近づける方向又は遠ざける方向として前記表示装置に表示させる、
検査支援装置。
【請求項8】
請求項1に記載の検査支援装置であって、
前記表示制御部は、現実空間における前記ワーク上での前記検査位置と前記センサの前記位置との差が前記許容位置ずれ範囲内に収まったときに、前記表示装置の表示態様を変化させる、
検査支援装置。
【請求項9】
請求項1に記載の検査支援装置であって、
前記表示制御部は、前記設計データ上の位置のうち、前記変換操作が行われた前記設計データと前記現実データとの差が所定値以上の位置を、前記設計データ上の前記検査位置に設定する、
検査支援装置。
【請求項10】
請求項1に記載の検査支援装置であって、
前記表示制御部は、前記設計データ上の位置のうち、前記センサによって異常が発見された位置を、前記設計データ上の前記検査位置に設定する、
検査支援装置。
【請求項11】
コンピュータが、
現実空間内に置かれたワークの形状、位置、及び姿勢を示す現実データを取得するステップと、
前記ワークの設計上の形状を示す設計データ上の検査位置に対して、前記設計データを前記現実データに重ねる変換操作を施すことにより、現実空間における前記ワーク上での検査位置を算出するステップと、
前記ワークを検査するセンサの現実空間での位置を取得するステップと、
現実空間における前記ワーク上での前記検査位置と、前記センサの前記位置との差が許容位置ずれ範囲内に収まる方向を、前記センサを移動させる方向として表示装置に表示させるステップと、
を実行する検査支援方法。
【請求項12】
請求項11に記載の検査支援方法であって、
前記コンピュータは、
前記変換操作により前記設計データ上における検査方向を現実空間における前記ワーク上での検査方向に変換するステップと、
前記センサが向いている方向を取得するステップと、
現実空間における前記ワーク上での前記検査方向と前記センサが向いている前記方向とがなす角度が許容角度範囲内に収まる方向を、前記センサを振る方向として前記表示装置に表示させるステップと、
を更に実行する検査支援方法。
【請求項13】
請求項11に記載の検査支援方法であって、
前記コンピュータは、
前記設計データ上の前記検査位置と、当該検査位置における検査結果とを関連つけて記憶部に格納するステップ、
を更に実行する検査支援方法。
【請求項14】
請求項11に記載の検査支援方法であって、
前記コンピュータは、現実空間における前記ワークの前記形状、前記位置、及び前記姿勢を測定する三次元測定器から前記現実データを取得する、
検査支援方法。
【請求項15】
請求項11に記載の検査支援方法であって、
前記コンピュータは、前記変換操作として前記設計データに対して回転操作と並進操作とを施し、変換後の前記設計データと前記現実データとの偏差が最小となるような前記変換操作を前記検査位置に対して施す、
検査支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査支援装置及び検査支援方法に関する。
【背景技術】
【0002】
検査用のセンサを備えたロボットがワークに対して自動で検査を行う場合に、ワーク上の目標の位置にセンサを移動させる方法が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、よりフレキシブルな検査を行うために、ロボットではなく作業者が、部品等のワークに欠陥があるかを、センサを把持して手作業で検査することがある。ワークの関心箇所をセンサで測定する際、作業者は、センサの位置及び方向を経験に基づき決めるため、適切な測定を効率的に行うことができない。
【0005】
特許文献1に記載された技術は、ワーク上の目標の位置にロボットを誘導する技術であり、人が手作業で検査をする場合に適用することはできない。
【0006】
本発明は、このような状況に鑑みてなされたものであり、作業者が効率的にワークの検査を行えるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下の通りである。
【0008】
上記課題を解決するため、本発明の一態様に係る検査支援装置は、現実空間内に置かれたワークの形状、位置、及び姿勢を示す現実データを取得する現実データ取得部と、前記ワークの設計上の形状を示す設計データ上の検査位置に対して、前記設計データを前記現実データに重ねる変換操作を施すことにより、現実空間における前記ワーク上での検査位置を算出する変換部と、前記ワークを検査するセンサの現実空間での位置を取得するセンサ位置取得部と、現実空間における前記ワーク上での前記検査位置と、前記センサの前記位置との差が許容位置ずれ範囲内に収まる方向を、前記センサを移動させる方向として表示装置に表示させる表示制御部とを有する。
【発明の効果】
【0009】
本発明によれば、作業者が効率的にワークの検査を行うことができる。
【0010】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、第1実施形態に係る検査支援システムの構成例を示す模式図である。
【
図2A】
図2Aは、第1実施形態に係る欠陥検出センサ(その1)の一例を示す模式図である。
【
図2B】
図2Bは、第1実施形態に係る欠陥検出センサ(その2)の一例を示す模式図である。
【
図2C】
図2Cは、第1実施形態に係る膜厚又は材料計測センサの一例を示す模式図である。
【
図2D】
図2Dは、第1実施形態に係る内部欠陥検出センサの一例を示す模式図である。
【
図3】
図3は、第1実施形態に係る検査条件情報のデータ構造の一例を示す模式図である。
【
図4】
図4は、第1実施形態に係る検査結果情報のデータ構造の一例を示す模式図である。
【
図5】
図5は、第1実施形態に係る変換部が行う変換操作の一例を示す模式図である。
【
図6A】
図6Aは、第1実施形態に係る表示装置の表示態様(その1)の例を示す模式図である。
【
図6B】
図6Bは、第1実施形態に係る表示装置の表示態様(その2)の例を示す模式図である。
【
図6C】
図6Cは、第1実施形態に係る表示装置の表示態様(その3)の例を示す模式図である。
【
図6D】
図6Dは、第1実施形態に係る表示装置の表示態様(その4)の例を示す模式図である。
【
図7】
図7は、第1実施形態に係る検査支援装置が行う処理の一例を示すフローチャートである。
【
図8】
図8は、第1実施形態に係る検査支援装置が行う処理の一例を示すフローチャートである。
【
図9】
図9は、第1~第3実施形態に係る検査支援装置のハードウェア構成の一例を示す模式図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を説明する。実施例は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0013】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0014】
各種情報の例として、「テーブル」、「リスト」、「キュー」等の表現にて説明することがあるが、各種情報はこれら以外のデータ構造で表現されてもよい。例えば、「XXテーブル」、「XXリスト」、「XXキュー」等の各種情報は、「XX情報」としてもよい。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
【0015】
同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0016】
実施例において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、プロセッサ(例えばCPU、GPU)によりプログラムを実行し、記憶資源(例えばメモリ)やインターフェースデバイス(例えば通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。
【0017】
プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施例において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0018】
<第1実施形態>
図1は、本実施形態に係る検査支援システムの構成例を示す模式図である。検査支援システム10は、作業者が部品等のワーク200に対して手作業で検査を行うのを支援するシステムである。
【0019】
一例として、検査支援システム10は、検査支援装置100、3Dスキャナ111、位置姿勢測定センサ121、センサ131、表示装置140、及びワーク台201を備える。
【0020】
ワーク台201は、部品等のワーク200を載置する載置台である。この例では、ワーク台201の表面に複数のマーカ124を設ける。また、ワーク200には検査位置210が予め設定されており、その検査位置210において作業者がセンサ131で検査を行う。
【0021】
3Dスキャナ111は、現実空間におけるワーク200の形状、位置、及び姿勢を測定する三次元測定器である。3Dスキャナ111は、複数のマーカ124の各々の位置を特定することで、例えばワーク台201の表面を座標面とする座標系を設定する。その座標系を以下ではステージ座標系と呼ぶ。そして、3Dスキャナ111は、ステージ座標系を基準にしたワーク200の形状、位置、及び姿勢を示す現実データ112を出力する。3Dスキャナ111等の三次元測定器を用いることで、このようにワーク200の形状、位置、及び姿勢を示す現実データ112を得ることができる。
【0022】
センサ131は、ワーク200を検査するためのデバイスである。
図2A~
図2Dは、本実施形態で使用するセンサ131の例を示す模式図である。
【0023】
図2Aは、画像による欠陥検出センサ131の一例を示す模式図である。欠陥検出センサ131は、複数の照明133でワーク200を照らしながら、カメラレンズ132でワーク200の表面の画像を取得する。ワークに傷や割れのような欠陥211があると、画像上の明るさの違いとして欠陥211を検出できる。
【0024】
また、複数の照明133のうちで点灯させる照明を切り替えることで、欠陥211への照明の照射方向が変わり、欠陥211の画像が変わる。この例の場合、右側の照明133を点灯して左側の照明133を消灯すると、欠陥211の左側だけ明るくなった画像を取得できる。一方、左側の照明133を点灯して右側の照明133を消灯すると、欠陥211の右側だけ明るくなった画像を取得できる。欠陥検出センサ131は、このようにして欠陥211の位置、凹凸、及び大きさ等を測定する。
【0025】
図2Bは、画像による欠陥検出センサ131(
図2A)の照明133をパターン照明133’にした立体形状センサの一例の模式図である。パターン照明133’は、レーザ光や液晶プロジェクタなどによって縞状のパターンをワーク200に投影する。ワーク200の表面の凹凸によって投影されたパターンが変形する。これを利用して、立体形状センサ131は、投影されたパターンをカメラレンズ132で撮像し、そのパターンの変形量を算出することで三角測量の原理でワーク200の表面の立体形状を測定する。
【0026】
図2Cは、反射スペクトルによる膜厚又は材質計測センサ131の一例を示す模式図である。センサ131は、ワーク200の表面の膜212に分光器用レンズ134から光を投影して、その反射光の分光特性を測定する。その分光特性は、膜212の厚みや材質の変動によって変化する。これにより、センサ131は、分光特性を測定して解析することによって、膜212の厚みや材質の変動を測定することができる。
【0027】
図2Dは、超音波による内部欠陥検出センサ131の一例の模式図である。内部欠陥検出センサ131は、超音波探傷子135を有しており、これをワーク200に接触させて発振した超音波が内部欠陥213で反射して超音波探傷子135に帰ってくる信号を解析することで内部欠陥213を検出する。同様の原理でワーク200の厚みも内部欠陥検出センサ131で検出できる。また、超音波に代えて渦電流を用いても、内部欠陥検出センサ131によって内部欠陥213やワーク200の厚みを検出できる。
【0028】
再び
図1を参照する。センサ131には、複数のマーカ123が設けられたアタッチメント122が取り付けられる。
【0029】
位置姿勢測定センサ121は、アタッチメント122上のマーカ123を認識することにより、三次元の現実空間におけるセンサ131の位置と姿勢とを測定するモーションキャプチャカメラである。複数の位置姿勢測定センサ121を設けることで、ステレオ視によってマーカ123の三次元的な位置を測定することができる。更に、本実施形態では三個以上のマーカ123をアタッチメント122に設ける。これにより、位置姿勢測定センサ121は、アタッチメント122に取り付けられたセンサ131の三次元的な姿勢と位置とを測定することができる。
【0030】
また、位置姿勢測定センサ121は、ワーク台201上のマーカ124の位置を認識することで、ワーク台201の表面を座標面とする前述のステージ座標系を特定する。そして、位置姿勢測定センサ121は、そのステージ座標系を基準にしたセンサ131の位置と姿勢とを示すセンサ位置姿勢データ113を出力する。なお、センサ131の位置は、例えばステージ座標系におけるセンサ131の重心の位置である。また、センサ131の姿勢は、センサ131が向いている方向である。センサ131が光学系を有する場合、その光学系の光軸方向がセンサ131が向いている方向である。その方向は、センサ131に設定された局所座標系の三つの座標軸のうちのいずれかが向いている方向でもよい。
【0031】
位置姿勢測定センサ121はモーションキャプチャカメラに限定されず、他のセンサを位置姿勢測定センサ121として採用してもよい。そのようなセンサとしては、例えばレーザトラッカと呼ばれるセンサがある。そのセンサは、アタッチメント122に取り付けた再帰反射ミラー(不図示)にレーザ光を照射し、反射光のずれとレーザ光の往復時間によってミラーの方向と距離とを計測する。この場合、複数のマーカ123の位置をカメラで認識することで、センサ131の姿勢も測定できる。なお、レーザトラッカは、複数でなく一個でよい。
【0032】
検査支援装置100は、PC(Personal Computer)やサーバ等のコンピュータであって、作業者がセンサ131でワーク200を検査するのを支援する装置である。一例として、検査支援装置100は、全体制御部104、格納部105、入力部107、表示部108、記憶部109、現実データ取得部110、センサ位置取得部120、及びセンサデータ取得部130を備える。
【0033】
記憶部109は、検査条件情報101、CAD(Computer Aided Design)データ102、及び検査結果情報106を記憶する。
【0034】
CADデータ102は、ワーク200の三次元CADデータであって、ワーク200の設計上の形状を示す設計データの一例である。例えば、ワーク200の表面上の各点の位置座標を集めたデータがCADデータ102である。以下では、CADデータ102における位置座標の基準となる座標系をワーク座標系と呼ぶ。
【0035】
図3は、検査条件情報101のデータ構造の一例を示す模式図である。検査条件情報101は、検査位置、検査方法、及び許容範囲の各々を関連付けた情報である。
【0036】
検査位置は、前述のワーク座標系を採用したCADデータ102上における検査位置の位置座標であって、CADデータ102が示すワーク200の表面上において予め検査することが予定されている位置である。
【0037】
検査方法は、当該検査位置に対する検査に使用するセンサ131のIDと、検査時のセンサ131の検査方向(姿勢)である。検査方向は、ワーク座標系を基準にして設定される。
【0038】
検査方向は、検査時にセンサ131が向いている方向(姿勢)であって、例えばセンサ131の基準線の延在方向である。センサ131の基準線は、例えばセンサ131が光学系を有する場合はその光学系の光軸である。検査方向は、CADデータ102が示すワーク200の検査位置における法線方向である。但し、センサ131の種類によっては、法線方向から傾いた方向が検査方向となる場合もある。
【0039】
許容範囲は、許容位置ずれ範囲、許容距離範囲、及び許容角度範囲である。許容位置ずれ範囲は、センサ131の基準線に垂直な面に現実空間における検査位置とセンサ131の位置とを投影した場合におけるこれらの位置のずれ量の許容範囲である。許容距離範囲は、現実空間における検査位置とセンサ131の位置との距離の許容範囲である。許容角度範囲は、検査方向と現実空間においてセンサ131が実際に向いている方向とがなす角度の許容範囲である。
【0040】
図4は、検査結果情報106のデータ構造の一例を示す模式図である。検査結果情報は、CADデータ102上の検査位置と、当該検査位置における検査結果とを関連付けた情報である。検査結果は、センサ131による検査の検査位置での結果である。例えば、センサデータ114や、「傷あり」や「傷なし」等の異常の有無を示す情報が検査結果に格納される。
【0041】
再び
図1を参照する。現実データ取得部110は、ステージ座標系を基準にしたワーク200の形状、位置、及び姿勢を示す現実データ112を3Dスキャナ111から取得する。なお、この例では3Dスキャナ111がステージ座標系への変換を行っているが、現実データ取得部110がその変換を行ってもよい。その場合、3Dスキャナ111は、ワーク200の形状を示す形状データと、マーカ124の位置を示す位置データとを現実データ取得部110に出力する。そして、現実データ取得部110が、形状データと位置データとに基づいて、ステージ座標系を基準にしたワーク200の形状、位置、及び姿勢を示す現実データ112を生成する。
【0042】
センサ位置取得部120は、ステージ座標系を基準にしたセンサ131の位置と姿勢とを示すセンサ位置姿勢データ113を位置姿勢測定センサ121から取得する。なお、この例では位置姿勢測定センサ121がステージ座標系への変換を行っているが、センサ位置取得部120がその変換を行ってもよい。その場合、位置姿勢測定センサ121は、センサ131の形状を示す形状データと、マーカ123の位置を示す位置データとをセンサ位置取得部120に出力する。そして、センサ位置取得部120が、形状データと位置データとに基づいて、ステージ座標系を基準にしたセンサ131の位置と姿勢とを示すセンサ位置姿勢データ113を生成する。
【0043】
センサデータ取得部130は、センサ131の検査結果を示すセンサデータ114を取得する。
【0044】
全体制御部104は、検査支援装置100の全体を制御する機能を有し、例えば変換部104aと表示制御部104bとを備える。
【0045】
変換部104aは、検査条件情報101における検査位置に対して、CADデータ102を現実データ112に重ねる変換操作を施すことにより、現実空間におけるワーク200上での検査位置を算出する。また、変換部104aは、検査条件情報101の検査方法に含まれる検査方向に対して上記の変換操作を施すことにより、その検査方向を現実空間におけるワーク200上での検査方向に変換する。
【0046】
図5は、変換部104aが行う変換操作の一例を示す模式図である。
図5では、現実空間内のステージ座標系におけるワーク200と共に、ワーク座標系においてCADデータ102が示す設計上のワーク300も併記している。
【0047】
まず、変換部104aは、現実データ取得部110から現実データ112を取得し、記憶部109からCADデータ102を取得する。
【0048】
そして、変換部104aは、現実データ112が示すワーク200にCADデータ102が示すワーク300が重なるような変換操作を特定する。そのような変換操作は、ワーク座標系とステージ座標系の各々の座標軸の向きを一致させるための回転操作Tと、ワーク座標系を並進させてその原点をステージ座標系の原点に一致させるための並進操作vとを合成した操作である。このような変換操作をワーク300に施すことで、ワーク300をワーク200に重ねることができる。
【0049】
なお、回転操作Tを表す行列を以下では回転行列Tとも呼ぶ。また、並進操作vを表すベクトルを以下では並進ベクトルvとも呼ぶ。
【0050】
また、ワーク300とワーク200の位置、形状、及び姿勢は、それぞれCADデータ102と現実データ112で示される。そのため、以下ではワーク300に変換操作を施すことを、CADデータ102に変換操作を施すとも言う。また、ワーク200にワーク300を重ねることを、現実データ112にCADデータ102を重ねるとも言う。
【0051】
変換部104aは、そのような変換操作のうちで、変換後のCADデータ102と現実データ112との偏差が最小となるような変換操作を構成する回転操作Tと並進操作vとを求める。このように現実データ112にCADデータ102を重ねるアルゴリズムとしては、ICP(Iterative Closest Point)と呼ばれる反復的な距離偏差最小化アルゴリズムを用いればよい。これにより、現実データ112と変換後のCADデータ102との差が最も小さくなるような変換操作を得ることができる。
【0052】
変換部104aは、このようにして求めた変換操作をワーク300上の検査位置310に対して施すことにより、ワーク200上での検査位置210を算出する。例えば、ワーク座標系における検査位置310の位置ベクトルがApである場合、変換部104aは、ステージ座標系における検査位置210の位置ベクトルをT・Ap+vにより算出する。
【0053】
また、変換部104aは、上記の変換操作を構成する回転操作Tにより、ワーク300上における検査方向Bpをワーク200上での検査方向T・Bpに変換する。
【0054】
なお、位置ベクトルApは、検査位置として予め検査条件情報101(
図3参照)に格納される。また、検査方向Bpは、検査方法として予め検査条件情報101の検査方法に格納される。検査方法に検査方向Bpが定義されていない場合、ワーク300の位置ベクトルApにおける法線方向を検査方向Bpとして代用してもよい。
【0055】
以上の操作により、検査支援装置100は、現実空間におけるワーク200上での検査位置T・Ap+vと検査方向T・Bpとを特定することができる。
【0056】
再び
図1を参照する。表示制御部104bは、検査位置とセンサ131との位置ずれや、検査方向とセンサ131の姿勢とのずれ等を低減させるセンサ131の移動方向を表示装置140に表示する。
【0057】
図6A~
図6Dは、表示装置140の表示態様の例を示す模式図である。
【0058】
図6Aは、表示装置140としてタブレット端末を使用した例を示す。表示装置140には、センサ131の移動方向141、振り方向142、及び回転方向144を示す画像が表示される。この例では、その画像として矢印が表示される。
【0059】
移動方法141は、センサ131が向いている方向に垂直な面にワーク200上の検査位置T・Ap+vとセンサ131の実際の位置とを投影した場合におけるこれらの位置のずれ量が、検査条件情報101の「許容範囲」に含まれる許容位置ずれ範囲内に収まる方向である。
【0060】
作業者は、移動方向141に従ってセンサ131を移動させることで、自分の経験に頼らなくてもセンサ131の位置ずれを許容位置ずれ範囲内に収めることができる。
【0061】
振り方向142は、センサ131の一点を固定した状態でセンサ131を振る方向のうち、ワーク200上での検査方向T・Bpとセンサ131が実際に向いている方向とがなす角度が、検査条件情報101の「許容範囲」に含まれる許容角度範囲内に収まる方向である。
図6Aの例では、下方から上方にセンサ131を振る「パン」を示す。
【0062】
作業者は、振り方向142に従ってセンサ131の姿勢を変化させることで、自分の経験に頼らなくてもセンサ131の姿勢のずれを許容角度範囲内に収めることができる。
【0063】
回転方向144は、センサ131の基準線を回転軸にしてセンサ131を回転させる方向を示す。例えば、回転方向144は、センサ131の基準線に垂直な方向と、ワーク200上の検査位置T・Ap+vに設定された基準方向(例えば当該検査位置におけるワーク200の接平面内の方向)との間の角度が許容範囲内に収まる方向を示す。その許容範囲の値は、例えば検査条件情報101の許容範囲に格納される。
【0064】
また、表示装置140には距離方向143も表示される。距離方向143は、ワーク200上の検査位置T・Ap+vとセンサ131の位置との距離が、検査条件情報101の「許容範囲」に含まれる許容距離範囲内に収まる方向を示す。距離方向143は内円と外円とを有する。内円は、検査条件情報101(
図3参照)の許容範囲に含まれる許容距離範囲を示しており、その大きさは固定されている。一方、外円の大きさは、検査位置T・Ap+vとセンサ131の実際の位置との距離に応じて変化する。その距離が許容距離範囲に収まると外円が内円に収まる。一方、その距離が許容距離範囲を超えると外円が内円よりも大きくなる。
【0065】
作業者は、距離方向143の外円が内円に収まるようにセンサ131をワーク200に近づけたり遠ざけたりすることで、自分の経験に頼らなくても検査位置T・Ap+vとセンサ131の実際の位置との距離を許容距離範囲に収めることができる。
【0066】
表示制御部104bは、センサ位置姿勢データ113が示すセンサ131の実際の位置及び姿勢と、ワーク200上での検査位置T・Ap+v及び検査方向T・Bpとの各々のずれを特定し、各々のずれが許容位置ずれ範囲、許容距離範囲、及び許容角度範囲の各々に収まるか否かに応じて各方向141、142、144と距離方向143を表示する。
【0067】
また、表示制御部104bは、ずれが許容範囲に収まったときに、表示装置140の表示態様を変化させてもよい。例えば、検査位置とセンサ131の実際の位置との差が許容位置ずれ範囲内に収まった場合に、移動方向141と回転方向144の各々の矢印を消したり、矢印を薄くしたりしてもよい。これにより、作業者が、これ以上センサ131を動かす必要がなく、センサ131で検査を始めてもよいと認識することができる。
【0068】
更に、表示制御部104bは、方向141~144の色合い、濃さ、大きさ、点滅速度等によってずれの大きさを表示してもよい。
【0069】
また、表示装置140として小型のディスプレイを採用し、それをアタッチメント122に取り付けてもよい。
【0070】
図6Bは、表示装置140として眼鏡型表示デバイス(例えばスマートグラス)を使用した例を示す。眼鏡型表示デバイスを使用することで、作業者の視界に方向141~144が表示されるため、作業者が効率的に作業を行うことができる。
【0071】
図6Cは、表示装置140にワーク200のCG(Computer Graphics)画像を表示した例である。このCG画像は、センサ131から見たワーク200の画像であって、検査位置210もCG画像に表示される。例えば、表示制御部104bは、
図5のような変換操作が施されたCADデータ102に基づき、検査位置210を含むCG画像を生成する。なお、表示制御部104bは、現実データ112に基づきCG画像を生成してもよい。また、表示制御部104bは、センサ位置姿勢データ113と現実データ112に基づいて、現実空間におけるワーク200とセンサ131との相対的な位置関係を特定することで、センサ131から見たCG画像を生成する。また、表示制御部104bは、センサ131の位置を示す十字線145も表示装置140に表示する。その十字線145の交点と検査位置210とのずれが位置ずれとなる。そのため、この例では、位置ずれを示す移動方向141と回転方向144の表示を不要にすることができる。
【0072】
なお、距離方向143の内円と外円の各々を振り方向142を短軸にする楕円状にすることで振り方向142を示してもよい。この場合は、検査方向とセンサ131が向いている方向とがなす角度が許容角度範囲内に収まったときに内円と外円の各々を真円にすればよい。これにより、振り方向142の表示を不要にすることができる。
【0073】
図6Dは、発光ダイオードや液晶ディスプレイ等の表示器をアタッチメント122に表示装置140として設けた例を示す。
図6Dにおいて黒色の部分は発光している部分を示す。このように予め矢印や円の発光パターンを表示装置140に組み込み、ずれが許容範囲を超えている場合に発光パターンを発光させることで、ずれが許容範囲に収まる方向を作業者が把握することができる。また、発光パターンの色合い、濃さ、大きさ、及び点滅速度等によりずれの大きさを表現してもよい。
【0074】
再び
図1を参照する。格納部105は、CADデータ102上の検査位置と、当該検査位置における検査結果とを関連つけて検査結果情報106を生成し、検査結果情報106を記憶部109に格納する。例えば、格納部105は、変換部104aを介してCADデータ102上の検査位置を取得し、その検査位置での検査結果を含むセンサデータ114をセンサデータ取得部130から取得する。そして、格納部105は、検査位置と検査結果とを関連付けて検査結果情報106に格納する。これにより、作業者は、CADデータ102上のどの位置に異常があるかを後で検証することができる。
【0075】
入力部107は、作業者が検査支援装置100に種々のデータを入力するキーボードやマウス等の入力デバイスである。
【0076】
表示部108は、データ入力時に作業者に種々のデータを表示する液晶ディスプレイ等の表示デバイスである。
【0077】
次に、本実施形態に係る検査支援装置100が行う処理について説明する。
【0078】
図7は、本実施形態に係る検査支援装置100が行う処理の一例を示すフローチャートである。
【0079】
まず、現実データ取得部110は、ステージ座標系を基準にしたワーク200の形状、位置、及び姿勢を示す現実データ112を3Dスキャナ111から取得する(ステップS1)。
【0080】
例えば、3Dスキャナ111は、ワーク台201上のワーク200の形状を測定し、次いでワーク台201の複数のマーカ124の位置を特定することで、現実データ112を生成する。なお、一方向からの測定ではワーク200の全形状を測定できない場合、作業者がワーク200を動かして3Dスキャナ111が複数方向から形状を測定してもよい。
【0081】
次に、変換部104aが、記憶部109からCADデータ102を取得する(ステップS2)。
【0082】
次いで、変換部104aが、
図5に示したように、現実データ112にCADデータ102を重ねる変換操作を実現する回転行列Tと並進ベクトルvとを算出する(ステップS3)。
【0083】
次に、表示制御部104bが、i番目のセンサ131の準備を促すメッセージを表示装置140に表示する(ステップS4)。この例では整数i(=1, …, N)のIDで識別される複数のセンサ131があり、初めてステップS4を行う場合にはi=1のセンサ131の準備をするメッセージが表示装置140に表示される。
【0084】
このメッセージに基づき、作業者は、センサ131の電源を入れる作業や、センサ131にアタッチメント122を取り付ける作業を行う。なお、複数のセンサ131の各々に既にアタッチメント122が設けられている場合は、アタッチメント122を取り付ける作業は不要である。また、センサ131の種類に応じて、センサ131の校正作業を行ってもよい。
【0085】
次いで、全体制御部104は、記憶部109から検査条件情報101を読み出す(ステップS5)。
【0086】
次に、全体制御部104は、検査条件情報101の上からp番目のレコードを読み出し、そのレコードの「検査方法」にi番目のセンサを使用することが定められているかを判定する(ステップS6)。なお、初めてステップS6を実行する場合には、全体制御部104はp=1のレコードを読み出す。また、初めてステップS6を実行する場合でなくても、次のセンサ131に持ち替えた場合(ステップS15で「NO」)も、全体制御部104はp=1のレコードを読み出す。ステップS6でYESと判定された場合にはステップS7に移り、NOと判定された場合にはステップS14に移る。
【0087】
ステップS7においては、表示制御部104bが、
図6Cに例示したように表示装置140にワーク200のCG画像と検査位置210とを表示する。例えば、表示制御部104bは、検査条件情報101のp番目のレコードに格納されている検査位置Apに対して回転行列Tと並進ベクトルvの各変換を施した位置T・Ap+vを検査位置210として表示する。これにより、作業者は、検査位置210にセンサ131を近づけることができる。なお、
図6A、
図6B、及び
図6Dのように表示装置140にCG画像を表示しない場合は、ステップS7をスキップしてもよい。
【0088】
次に、センサ位置取得部120は、位置姿勢測定センサ121からi番目のセンサ131のセンサ位置姿勢データ113を取得する(ステップS8)。
【0089】
次いで、表示制御部104bは、センサ位置姿勢データ113が示すセンサ131の実際の位置及び姿勢と、ワーク200上での検査位置T・Ap+v及び検査方向T・Bpとの各々のずれを特定する。そして、表示制御部104bは、各々のずれが許容位置ずれ範囲、許容距離範囲、及び許容角度範囲の各々に収まるか否かに応じて、
図6A~6Dのように表示装置140に各方向141~144を表示する(ステップS9)。なお、ステップS9で使用する検査位置Apと検査方向Bpは、それぞれ検査条件情報101のp番目のレコードに格納されているワーク座標系での検査位置と検査方向である。
【0090】
次いで、表示に従って作業者がセンサ131を移動させ、移動後のセンサ131のセンサ位置姿勢データ113をセンサ位置取得部120が取得する(ステップS10)。そして、ずれが許容範囲内にあるかを表示制御部104bが判定する(ステップS11)。ここでNOと判定された場合にはステップS7に戻る。
【0091】
一方、YESと判定された場合にはステップS12に移り、作業者がi番目のセンサ131を用いてp番目の検査位置での検査を実行し、その検査結果を示すセンサデータ114をセンサデータ取得部130が取得する。
【0092】
次いで、格納部105は、CADデータ102上のp番目の検査位置と、当該検査位置における検査結果とを関連付けて検査結果情報106に格納する(ステップS13)。
【0093】
次に、全体制御部104は、全ての検査位置での検査が終了したかを判定する(ステップS14)。例えば、全体制御部104は、検査条件情報101においてpが最大となる最終行の検査位置での検査が終了したかを判定する。ここでNOと判定された場合は、pを1だけインクリメントしてステップS5に戻る。
【0094】
一方、ステップS14でYESと判定された場合にはステップS15に移る。ステップS15では、全体制御部104が、1番目からN番目までの全てのセンサ131で検査を行ったかを判定する(ステップS15)。例えば、全体制御部104は、i<Nであれば全てのセンサ131で検査を行っていない(NO)と判定し、i=Nであれば全てのセンサ131で検査を行った(YES)と判定する。
【0095】
ここでNOと判定された場合には、iを1だけインクリメントしてステップS4に戻る。一方、YESと判定された場合は処理を終了する。
【0096】
以上説明した本実施形態によれば、ステップS9において、
図6A~
図6Dのような各方向141~144を表示制御部104bが表示装置140に表示する。これにより、作業者は、各方向141~144を頼りにしてセンサ131を移動させることで、センサ131の位置や姿勢のずれが許容範囲に収めることができる。その結果、作業者は、自身の経験に頼らずにセンサ131の位置や姿勢を決めることができ、効率的にワーク200の検査を行うことができる。
【0097】
<第2実施形態>
第1実施形態では、3Dスキャナ111がワーク200の形状、位置、及び姿勢を測定して現実データ112を生成する。これに対し、本実施形態では、作業者が
図2Bで説明した立体形状センサ131をワーク200上で走査して、走査時のワーク200の形状、位置、及び姿勢をセンサ位置取得部120が測定する。そして、そのセンサ位置取得部120が生成したセンサ位置姿勢データ113に基づいて検査支援装置100が現実データ112を生成する。この場合はワーク台201上のマーカ124を省いてもよい。
【0098】
また、別の例として、センサ131としてワーク200を撮像するカメラを用い、得られた画像列からSFM(Structure from Motion)又はヴィジュアルSLAM(Simultaneous Localization and Mapping)と呼ばれるアルゴリズムで現実データ112を生成してもよい。この場合は、マーカ124は、測定結果の倍率を校正するために用いる。
【0099】
<第3実施形態>
第1実施形態では、検査条件情報101(
図3参照)にワーク200の検査位置を予め定義する。これに対し、本実施形態では、定義済の検査位置に加えて新たな検査位置を追加する。
【0100】
図8は、本実施形態に係る検査支援装置100が行う処理の一例を示すフローチャートである。
【0101】
まず、
図7のステップS15でYESと判定されると、表示制御部104bは、CADデータ102上の位置のうちで、変換T・Ap+vが行われたCADデータ102と現実データ112との差、すなわち形状の差が所定値以上となる位置を特定する(ステップS21)。
【0102】
次に、表示制御部104bは、CADデータ102上の位置のうちで、ステップS12における検査で異常が検出された位置を特定する(ステップS22)。例えば、表示制御部104bは、検査結果情報106を参照することにより異常が検出された位置を特定する。
【0103】
次いで、格納部105は、ステップS21とステップS22で特定された位置を検査位置に含むレコードを検査条件情報101に追加することで検査条件情報101を更新する(ステップS23)。なお、新たに追加したレコードにおける検査方法と許容範囲は、作業者が適宜設定してよい。また、全体制御部104が、新たに追加したレコードにおける検査方法と許容範囲を設定してもよい。例えば、全体制御部104は、ステップS21で特定された箇所の位置や形状に応じて予め決められた検査方法と許容範囲を設定してもよい。また、全体制御部104は、異常がある箇所の位置や形状、異常の種類等に応じて予め決められた検査方法と許容範囲を設定してもよい。更に、全体制御部104は、異常が検出された検査位置については、前回の検査時とは異なるセンサ131を検査方法に設定してもよい。
【0104】
その後、ステップS4に戻る。これにより、ステップS12に処理が移ることで追加の検査が行われる。追加の検査と、ステップS22、S23を実行前に行った初回検査とで、使用するセンサ131を分けてもよい。例えば、初回検査ではi=1のセンサ131として「センサA」を割り当て、i=2のセンサ131として「センサB」を割り当てる。また、追加検査ではi=3のセンサ131として「センサA」を割り当て、i=4のセンサ131として「センサC」を割り当てる。そして、初回検査時にはステップS15においてi=2となったときにYESと判定し、その後i=3にセットしてからステップS4に戻ればよい。また、ステップS23を終えた後にp=1にリセットすることで全検査位置に対して「センサA」と「センサC」で検査を行ってもよいし、ステップS23で追加したレコードに対応するpの値にpをリセットしてからステップS4に戻ってもよい。
【0105】
以上により、本実施形態に係る検査支援装置100が行う処理を終える。なお、上記の例ではステップS21とステップS22の両方を実行したが、これらのステップのいずれか一方のみを実行してもよい。更に、この例ではステップS15の後に各ステップS21、S22を実行したが、これとは別のタイミングで各ステップS21、S22を実行してもよい。
【0106】
上記した本実施形態によれば、CADデータ102上の位置のうちで、現実データ112との差が所定値以上となる位置や異常が発見された位置を検査位置として新たに設定する。そのため、新たに設定された位置を他のセンサ131で作業者が検査することで、当該位置にどのような異常があるのかを確認することができる。
【0107】
次に、第1~第3実施形態に係る検査支援装置100のハードウェア構成について説明する。
【0108】
図9は、第1~第3実施形態に係る検査支援装置100のハードウェア構成の一例を示す模式図である。
【0109】
図9に示すように検査支援装置100は、記憶装置100a、メモリ100b、プロセッサ100c、入力装置100d、表示装置100e、通信インターフェース100f、及び媒体読み取り装置100gを有する。これらの各部はバス100iにより相互に接続される。
【0110】
記憶装置100aは、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置であって、第1~第3実施形態に係る検査支援プログラム50を記憶する。
【0111】
検査支援プログラム50をコンピュータが読み取り可能な記録媒体100hに記録させておき、プロセッサ100cに記録媒体100hの検査支援プログラム50を読み取らせるようにしてもよい。
【0112】
記録媒体100hとしては、例えばCD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、及びUSB (Universal Serial Bus)メモリ等の物理的な可搬型記録媒体がある。フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体100hとして使用してもよい。
【0113】
公衆回線、インターネット、及びLAN(Local Area Network)等に接続された装置に検査支援プログラム50を記憶させてもよい。その場合は、プロセッサ100cがその検査支援プログラム50を読み出して実行すればよい。
【0114】
メモリ100bは、DRAM(Dynamic Random Access Memory)等のようにデータを一時的に記憶するハードウェアであって、その上に検査支援プログラム50が展開される。
【0115】
プロセッサ100cは、検査支援装置100の各部を制御するCPU(Central Processing Uni)やGPU(Graphical Processing Unit)である。そのプロセッサ100cがメモリ100bと協働して検査支援プログラム50を実行することにより
図1の全体制御部104、格納部105、現実データ取得部110、センサ位置取得部120、及びセンサデータ取得部130が実現される。
【0116】
図1の記憶部109は、記憶装置100aとメモリ100bにより実現される。
【0117】
入力装置100dは、
図1の入力部107を実現するためのキーボードやマウス等の入力デバイスである。
【0118】
表示装置100eは、
図1の表示部108を実現するための液晶ディスプレイ等の表示デバイスである。
【0119】
通信インターフェース100fは、検査支援装置100をインターネットやLAN等のネットワークに接続するためのNIC(Network Interface Card)等のハードウェアである。
図1の現実データ取得部110、センサ位置取得部120、及びセンサデータ取得部130は、通信インターフェース100fを介して現実データ112、センサ位置姿勢データ113、及びセンサデータ114を取得する。
【0120】
媒体読み取り装置100gは、記録媒体100hに記録されているデータを読み取るためのUSBリーダ等のハードウェアである。
【0121】
本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【0122】
本発明は、上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した各実施形態は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明が、必ずしも説明した全ての構成要素を備えるものに限定されるものではない。また、ある実施形態の構成の一部を、他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に、他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0123】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現されてもよい。各機能を実現するプログラム、判定テーブル、ファイル等の情報は、メモリや、HDD、SSD等の記憶装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、DVD(Digital Versatile Disc)等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0124】
10…検査支援システム、50…検査支援プログラム、100…検査支援装置、100a…記憶装置、100b…メモリ、100c…プロセッサ、100d…入力装置、100e…表示装置、100f…通信インターフェース、100g…媒体読み取り装置、100h…記録媒体、100i…バス、101…検査条件情報、102…CADデータ、104…全体制御部、104a…変換部、104b…表示制御部、105…格納部、106…検査結果情報、107…入力部、108…表示部、109…記憶部、110…現実データ取得部、111…3Dスキャナ、112…現実データ、113…センサ位置姿勢データ、114…センサデータ、120…センサ位置取得部、121…位置姿勢測定センサ、122…アタッチメント、123、124…マーカ、130…センサデータ取得部、131…センサ、132…カメラレンズ、133…照明、133’…パターン照明、134…分光器用レンズ、135…超音波探傷子、140…表示装置、141…移動方向、142…振り方向、143…距離方向、144…回転方向、145…十字線、200、300…ワーク、201…ワーク台、210、310…検査位置、211…欠陥、212…膜、213…内部欠陥。