(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024144848
(43)【公開日】2024-10-15
(54)【発明の名称】探傷装置の制御装置、および品質管理支援方法
(51)【国際特許分類】
G01N 29/265 20060101AFI20241004BHJP
B25J 13/08 20060101ALI20241004BHJP
【FI】
G01N29/265
B25J13/08 Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023056993
(22)【出願日】2023-03-31
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】松本 高幸
(72)【発明者】
【氏名】石田 誠
【テーマコード(参考)】
2G047
3C707
【Fターム(参考)】
2G047AA05
2G047AB05
2G047BA03
2G047BC09
2G047DB03
2G047DB16
2G047DB17
2G047GA03
2G047GA06
2G047GA21
2G047GG39
3C707AS14
3C707KS34
3C707KV18
3C707LT07
3C707LU08
3C707LW12
(57)【要約】 (修正有)
【課題】プローブを用いた検査を高精度に行うことができるようにした探傷装置の制御装置を提供する。
【解決手段】探傷装置の制御装置は、プローブと、プローブを検査対象に押し当てるロボットアームと、を備える探傷装置を制御対象とする。制御装置は、なぞり処理、学習処理、および検査処理を実行する。なぞり処理は、ロボットアームを操作することによって、プローブを検査対象に接触させつつ検査対象に沿って移動させる処理である。学習処理は、なぞり処理によって移動する都度のプローブの位置に応じて検査対象の形状を学習する処理である。検査処理は、検査対象に接触させたプローブを学習処理によって学習された検査対象の形状に従って変位させつつ発信した超音波の反射波を用いて検査対象を検査する処理である。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プローブと、プローブを検査対象に押し当てるロボットアームと、を備える探傷装置を制御対象とし、
なぞり処理、学習処理、および検査処理を実行するように構成され、
前記なぞり処理は、前記ロボットアームを操作することによって、前記プローブを前記検査対象に接触させつつ前記検査対象に沿って移動させる処理であり、
前記学習処理は、前記なぞり処理によって移動する都度の前記プローブの位置に応じて前記検査対象の形状を学習する処理であり、
前記検査処理は、前記検査対象に接触させた前記プローブを前記学習処理によって学習された前記検査対象の形状に従って変位させつつ発信した超音波の反射波を用いて前記検査対象を検査する処理である探傷装置の制御装置。
【請求項2】
前記学習処理は、前記検査対象の形状を学習することによって形状学習データを生成する処理であり、
前記形状学習データは、前記検査対象の複数の位置のそれぞれに付与された教示点に関する前記検査対象の表面の座標と前記表面に直交する方向とを示すデータである請求項1記載の探傷装置の制御装置。
【請求項3】
前記学習処理は、前記プローブが通過した経路における前記検査対象の曲率が大きい場合の隣接する前記教示点同士の間隔を前記曲率が小さい場合の前記間隔以下とする条件で前記曲率に応じて隣接する前記間隔を変更する間隔可変処理を含む請求項2記載の探傷装置の制御装置。
【請求項4】
前記なぞり処理は、暫定経路データに従って、前記プローブを前記検査対象に接触させつつ前記検査対象に沿って変位させる処理であり、
前記暫定経路データは、所定の座標系において前記プローブを前記検査対象に接触させつつ前記検査対象に沿って移動させる経路を定めるデータであり、
3次元データ取得処理、調整処理を実行するように構成され、
前記3次元データ取得処理は、前記検査対象の画像に応じた前記検査対象に関する位置および角度の情報を示すデータを取得する処理であり、
前記調整処理は、前記位置および角度の情報を入力として、前記所定の座標系を前記検査対象に整合させる整合処理を含み、
前記なぞり処理の入力となる前記暫定経路データは、前記調整処理によって前記所定の座標系が前記検査対象に整合された前記暫定経路データである請求項1記載の探傷装置の制御装置。
【請求項5】
プローブと、プローブを検査対象に押し当てるロボットアームと、を備える探傷装置を制御対象とし、
変位処理、3次元データ取得処理、調整処理を実行するように構成され、
前記変位処理は、経路データに従って、前記プローブを前記検査対象に接触させつつ前記検査対象に沿って変位させる処理であり、
前記経路データは、所定の座標系において前記プローブを前記検査対象に接触させつつ前記検査対象に沿って変位させる経路を定めるデータであり、
前記3次元データ取得処理は、前記検査対象の画像に応じた前記検査対象に関する位置および角度の情報を示すデータを取得する処理であり、
前記調整処理は、前記位置および角度の情報を入力として、前記所定の座標系を前記検査対象に整合させる整合処理を含み、
前記変位処理の入力となる前記経路データは、前記調整処理によって前記所定の座標系が前記検査対象に整合された前記経路データである探傷装置の制御装置。
【請求項6】
前記3次元データ取得処理は、前記検査対象の複数個の所定のオブジェクトに関する位置および角度を示すデータを取得する処理であり、
前記整合処理は、前記複数個の所定のオブジェクトに関する前記位置および角度の情報を入力として、前記所定の座標系を前記検査対象に整合させる処理である請求項4または5記載の探傷装置の制御装置。
【請求項7】
前記整合処理は、合成用代表点と所定の座標系の原点とを結ぶベクトルだけ合成点を変位させた点へと前記所定の座標系の原点をシフトさせる処理を含み、
前記合成用代表点は、前記複数個の所定のオブジェクトのうちの1つに対応した点であり、
前記合成点は、前記複数個の所定のオブジェクトに関する前記位置および角度の情報を前記合成用代表点に反映させることによって得られる点である請求項6記載の探傷装置の制御装置。
【請求項8】
前記調整処理は、確認用取得処理、判定処理、およびリトライ処理を含み、
前記確認用取得処理は、前記検査対象の確認用オブジェクトの画像に応じた前記確認用オブジェクトに関する位置および角度の情報を取得する処理であり、
前記判定処理は、前記確認用オブジェクトに関する位置および角度と、前記整合処理によって整合された前記所定の座標系とが整合するか否かを判定する処理であり、
前記リトライ処理は、前記判定処理によって整合しないと判定される場合、前記3次元データ取得処理、および前記整合処理を再度実行させる処理である請求項4記載の探傷装置の制御装置。
【請求項9】
請求項2記載の探傷装置の制御装置が実行する前記学習処理によって生成される複数の前記検査対象に関する前記形状学習データを記憶する工程と、
前記記憶した複数の前記検査対象に関する前記形状学習データを、前記検査対象の製造工程にフィードバックする工程と、を有する品質管理支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、探傷装置の制御装置、および品質管理支援方法に関する。
【背景技術】
【0002】
たとえば下記特許文献1には、超音波センサを把持したロボットアームが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、超音波センサ(プローブ)を用いた検査を精度良く行う上では、検査対象に適切にプローブを接触させつつプローブを変位させることが望ましい。しかし、検査対象の正確な位置を把握できない場合には、検査対象に適切にプローブを接触させつつプローブを変位させることが難しい。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.プローブと、プローブを検査対象に押し当てるロボットアームと、を備える探傷装置を制御対象とし、なぞり処理、学習処理、および検査処理を実行するように構成され、前記なぞり処理は、前記ロボットアームを操作することによって、前記プローブを前記検査対象に接触させつつ前記検査対象に沿って移動させる処理であり、前記学習処理は、前記なぞり処理によって移動する都度の前記プローブの位置に応じて前記検査対象の形状を学習する処理であり、前記検査処理は、前記検査対象に接触させた前記プローブを前記学習処理によって学習された前記検査対象の形状に従って変位させつつ発信した超音波の反射波を用いて前記検査対象を検査する処理である探傷装置の制御装置である。
【0006】
上記構成では、なぞり処理によって移動する都度のプローブの位置に応じて検査対象の形状を学習する。そして、学習した検査対象の形状に従ってプローブを変位させつつプローブから発信した超音波の反射波を用いて検査を行う。これにより、検査対象の公差に起因して検査対象の仕様と検査対象の実際の形状との間に乖離がある場合であっても、検査対象の実際の形状を高精度に把握しつつプローブを検査対象に接触させることができる。そのため、プローブを用いた検査を高精度に行うことができる。
【0007】
2.前記学習処理は、前記検査対象の形状を学習することによって形状学習データを生成する処理であり、前記形状学習データは、前記検査対象の複数の位置のそれぞれに付与された教示点に関する前記検査対象の表面の座標と前記表面に直交する方向とを示すデータである上記1記載の探傷装置の制御装置である。
【0008】
上記構成では、形状学習データを用いることにより、検査対象の位置毎に、検査対象の表面に直交する方向を把握できる。そのため、検査対象の位置毎に、プローブをどの方向から押し付けるべきかを容易に把握できる。
【0009】
3.前記学習処理は、前記プローブが通過した経路における前記検査対象の曲率が大きい場合の隣接する前記教示点同士の間隔を前記曲率が小さい場合の前記間隔以下とする条件で前記曲率に応じて隣接する前記間隔を変更する間隔可変処理を含む上記2記載の探傷装置の制御装置である。
【0010】
検査対象の曲率が大きい場合には小さい場合と比較して、検査対象の位置毎で検査対象の表面に直交する方向が大きく変化する。そのため、曲率が小さい時に適切な教示点の間隔では、曲率が大きい場合に、プローブをどの方向から検査対象に押し付けるかの情報が不足するおそれがある。そこで、上記構成では、間隔可変処理を実行する。これにより、プローブをどの方向から検査対象に押し付けるかの情報を十分に得るうえで適切な数の教示点を確保しつつも、教示点の数が過度の大きくなることを抑制できる。
【0011】
4.前記なぞり処理は、暫定経路データに従って、前記プローブを前記検査対象に接触させつつ前記検査対象に沿って変位させる処理であり、前記暫定経路データは、所定の座標系において前記プローブを前記検査対象に接触させつつ前記検査対象に沿って移動させる経路を定めるデータであり、3次元データ取得処理、調整処理を実行するように構成され、前記3次元データ取得処理は、前記検査対象の画像に応じた前記検査対象に関する位置および角度の情報を示すデータを取得する処理であり、前記調整処理は、前記位置および角度の情報を入力として、前記所定の座標系を前記検査対象に整合させる整合処理を含み、前記なぞり処理の入力となる前記暫定経路データは、前記調整処理によって前記所定の座標系が前記検査対象に整合された前記暫定経路データである上記1~3のいずれか1つに記載の探傷装置の制御装置である。
【0012】
探傷装置と検査対象との相対的な位置関係が想定した関係から微妙にずれるなどする場合、暫定経路データが示す所定の座標系が検査対象と整合しないおそれがある。そこで上記構成では、検査対象の画像に応じた検査対象に関する位置および角度の情報を取得する。そして、それら位置および角度の情報に基づき、所定の座標系を検査対象と整合させる。これにより、暫定経路データが意図した経路に沿ってプローブを変位させることができる。
【0013】
5.プローブと、プローブを検査対象に押し当てるロボットアームと、を備える探傷装置を制御対象とし、変位処理、3次元データ取得処理、調整処理を実行するように構成され、前記変位処理は、経路データに従って、前記プローブを前記検査対象に接触させつつ前記検査対象に沿って変位させる処理であり、前記経路データは、所定の座標系において前記プローブを前記検査対象に接触させつつ前記検査対象に沿って変位させる経路を定めるデータであり、前記3次元データ取得処理は、前記検査対象の画像に応じた前記検査対象に関する位置および角度の情報を示すデータを取得する処理であり、前記調整処理は、前記位置および角度の情報を入力として、前記所定の座標系を前記検査対象に整合させる整合処理を含み、前記変位処理の入力となる前記経路データは、前記調整処理によって前記所定の座標系が前記検査対象に整合された前記経路データである探傷装置の制御装置である。
【0014】
探傷装置と検査対象との相対的な位置関係が想定した関係から微妙にずれるなどする場合、経路データが示す所定の座標系が検査対象と整合しないおそれがある。そこで上記構成では、検査対象の画像に応じた検査対象に関する位置および角度の情報を取得する。そして、それら位置および角度の情報に基づき、所定の座標系を検査対象と整合させる。これにより、経路データが意図した経路に沿ってプローブを変位させることができる。
【0015】
6.前記3次元データ取得処理は、前記検査対象の複数個の所定のオブジェクトに関する位置および角度を示すデータを取得する処理であり、前記整合処理は、前記複数個の所定のオブジェクトに関する前記位置および角度の情報を入力として、前記所定の座標系を前記検査対象に整合させる処理である上記4または5記載の探傷装置の制御装置である。
【0016】
所定のオブジェクトの位置および角度には、所定の座標系と検査対象とを整合させるための情報が含まれる。しかし、検査対象が大きいほど、単一のオブジェクトから得られた位置および角度を用いて所定の座標系と検査対象とを整合させる場合には、その整合の精度が低下しやすい。そこで上記構成では、複数の所定のオブジェクトのそれぞれの位置および角度に関する情報を用いて、所定の座標系を検査対象に整合させる。
【0017】
7.前記整合処理は、合成用代表点と所定の座標系の原点とを結ぶベクトルだけ合成点を変位させた点へと前記所定の座標系の原点をシフトさせる処理を含み、前記合成用代表点は、前記複数個の所定のオブジェクトのうちの1つに対応した点であり、前記合成点は、前記複数個の所定のオブジェクトに関する前記位置および角度の情報を前記合成用代表点に反映させることによって得られる点である上記6記載の探傷装置の制御装置。
【0018】
所定のオブジェクトのうちの1つに対応する合成用代表点と原点とを結ぶベクトルは、実際の検査対象とは独立に適宜しておくことができる。そして、実際の検査対象の位置および角度が反映された合成点をこのベクトルだけシフトさせることによって、実際の意検査対象に対する正しい所定の座標系の原点を特定できる。
【0019】
8.前記調整処理は、確認用取得処理、判定処理、およびリトライ処理を含み、前記確認用取得処理は、前記検査対象の確認用オブジェクトの画像に応じた前記確認用オブジェクトに関する位置および角度の情報を取得する処理であり、前記判定処理は、前記確認用オブジェクトに関する位置および角度と、前記整合処理によって整合された前記所定の座標系とが整合するか否かを判定する処理であり、前記リトライ処理は、前記判定処理によって整合しないと判定される場合、前記3次元データ取得処理、および前記整合処理を再度実行させる処理である上記4~7のいずれか1つに記載の探傷装置の制御装置である。
【0020】
上記構成では、整合処理がなされた後、整合された所定の座標系と、確認用オブジェクトの位置および角度と、が整合するか否かを判定する。そして整合してないと判定される場合、リトライ処理を実行することにより、所定の座標系を、検査対象により確実に整合させることができる。
【0021】
9.上記2~8のいずれか1つに記載の探傷装置の制御装置が実行する前記学習処理によって生成される複数の前記検査対象に関する前記形状学習データを記憶する工程と、前記記憶した複数の前記検査対象に関する前記形状学習データを、前記検査対象の製造工程にフィードバックする工程と、を有する品質管理支援方法である。
【0022】
形状学習データは、検査対象の公差の情報を含む。そこで、上記方法では、複数の検査対象の形状学習データを検査対象の製造工程にフィードバックする。これにより、検査対象の製造工程の妥当性を検討することができる。
【図面の簡単な説明】
【0023】
【
図1】一実施形態にかかる探傷システムの構成を示す図である。
【
図2】同実施形態にかかるプローブの構成を示す斜視図である。
【
図3】同実施形態にかかる探傷システムが実行する処理の手順を示す流れ図である。
【
図4】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【
図5】同実施形態にかかる調整処理を説明するための斜視図である。
【
図6】同実施形態にかかる探傷システムが実行する処理の手順を示す流れ図である。
【
図7】同実施形態にかかる形状学習データを示す図である。
【
図8】同実施形態にかかる制御装置が実行する処理の手順を示す流れ図である。
【
図9a】同実施形態にかかる暫定経路データを示す図である。
【
図9b】同実施形態にかかる検査対象を例示する図である。
【
図9c】同実施形態にかかるサンプリング点を例示する図である。
【
図9d】同実施形態にかかる形状学習データの教示点を例示する図である。
【
図10】同実施形態にかかる座標系を整合させる処理を説明するための図である。
【
図11】同実施形態にかかる座標系を整合させる処理を説明するための図である。
【
図12】同実施形態にかかる座標系を整合させる処理を説明するための図である。
【
図13】座標系を整合させる処理の手順を総括する流れ図である。
【発明を実施するための形態】
【0024】
以下、一実施形態について図面を参照しつつ説明する。
「システム構成」
図1に、探傷システムの構成を示す。
【0025】
探傷システムは、検査対象にプローブを押し当てつつプローブから発信される超音波の反射波に応じて、検査対象を検査するシステムである。検査対象の検査は、内部の異常の有無を目的とする。詳しくは、検査対象が複合材である場合、検査対象の検査は、複合材内部の剥離、非接着、気泡、異物の有無等の検査であってもよい。
【0026】
探傷システムは、探傷装置10を備える。探傷装置10は、台車20に設けられたロボットアーム26と、エンドエフェクタ28と、カメラ30と、を備える。台車20は、車輪22を備えている。また、台車20には、ストッパ24が設けられている。そのため、台車を所定位置に移動させた後、台車20が動かないように固定することが可能となっている。
【0027】
台車20には、制御装置40が設けられている。制御装置40は、探傷装置10を制御対象とする。制御装置40は、PU42、記憶装置44、および通信機46を備える。PU42は、CPU、GPU、およびTPU等の少なくとも1つを備えるソフトウェア処理装置である。制御装置40は、記憶装置44に記憶されたプログラムをPU42が実行することによって、制御対象を制御する。
【0028】
通信機46は、外部の端末50の通信機56と通信可能となっている。端末50は、検査対象から離れたところに配置されていてもよい。端末50は、PU52、記憶装置54、および通信機56を備えている。端末50は、ユーザインターフェースとしての表示装置60を操作する。また、端末50は、ユーザインターフェースとしての入力デバイス62からの入力を受け付ける。
【0029】
図2に、エンドエフェクタ28を示す。エンドエフェクタ28は、プローブ28aを把持する枠体28bを備える。プローブ28aは、超音波を発信する部材および発信した超音波の反射波を感知する部材を含む。また、プローブ28aは、それ以外に保護膜等を含んでもよい。
【0030】
「前処理」
図3に、検査対象の検査のための前処理の手順を示す。
図3に示す処理のうち、オフライン処理は、端末50の記憶装置54に記憶されたプログラムをPU52がたとえば所定の条件が成立する場合に実行することによって実現される。また、
図3に示す処理のうち、オンライン処理は、制御装置40の記憶装置44に記憶されたプログラムをPU42がたとえば所定の条件が成立する場合に実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を表現する。
【0031】
図3に示す一連の処理において、端末50のPU52は、まず検査対象の3次元データを取得する(S10)。3次元データは、検査対象の表面の形状および寸法を示すデータを含む。3次元データは、検査対象の仕様に応じて作成されたものである。次にPU52は、3次元データを用いて、プローブ28aがなぞる検査対象の経路である暫定経路を規定するデータを生成する(S12)。すなわち、PU52は、3次元データが示す検査対象の表面に所定の経路を設定することによって、暫定経路を設定する。
【0032】
詳しくは、PU52は、所定位置UFを原点とする基準座標系を設定する。所定位置UFは、ユーザが任意に設定可能な位置である。PU52は、この基準座標系において暫定経路を設定する。詳しくは、PU52は、プローブ28aがなぞる検査対象の経路上の複数の位置を設定することによって、それら位置同士を結ぶように暫定経路を定義する。PU52は、暫定経路の設定とともに、検査対象における代表点P1~P3および確認点Prを設定する。代表点P1~P3および確認点Prは、いずれも検査対象の所定のオブジェクトの位置を特定する。PU52は、上記3次元データから代表点P1~P3および確認点Prを特定するデータ部分を、パターンマッチング用のデータとして対応する代表点P1~P3および確認点Prに紐づけておく。これにより、PU52は、代表点P1~P3および確認点Prに関するデータを生成する。すなわち、代表点P1~P3および確認点Prに関するデータは、代表点P1~P3および確認点Prの位置および向きを規定するデータと、パターンマッチング用のデータとを含む。
【0033】
本実施形態では、一例として、PU52が、ロボットアーム26および検査対象を仮想空間上でシミュレートしつつ基準座標系を設定する。すなわち、カメラ30によって撮影される検査対象をシミュレートしつつ基準座標系を設定する。この処理により、カメラ30によって撮影される代表点P1~P3および確認点PRに対応するオブジェクトが把握される。また、代表点P1から所定位置UFへと進むベクトルVnがノミナルなベクトルとして把握される。
【0034】
そしてPU52は、通信機56を操作することによって、暫定経路データを、代表点P1~P3および確認点Prを定義するデータ等とともに制御装置40に送信する(S14)。なお、PU52は、S14の処理を完了する場合、
図3に示すオフライン処理を一旦終了する。
【0035】
これに対し、制御装置40のPU42は、暫定経路データ等を受信する(S20)。そしてPU42は、暫定経路データ等を記憶装置44に記憶する(S22)。なお、PU42は、S22の処理を完了する場合、
図3に示すオンライン処理を一旦終了する。
【0036】
「座標系の調整」
上記暫定経路データに従って、プローブ28aによって検査対象をなぞるためには、ロボットアーム26を変位させるために用いる座標系(以下、ロボット座標系)と、暫定経路データを定める基準座標系とを検査対象に整合させる必要がある。次にこれについて説明する。
【0037】
図4に、上記座標系の調整のための処理の手順を示す。
図4に示す処理は、記憶装置44に記憶されたプログラムをPU42がたとえば所定の条件が成立する場合に実行することにより実現される。
【0038】
図4に示す一連の処理において、PU42は、まず、スタートボタンがオンに切り替わったか否かを判定する(S30)。スタートボタンは、上記座標系の調整処理の開始を指令するためのインターフェースである。スタートボタンは、一例として、台車20が検査対象の付近に配置された後に、作業者によって押下されることとすればよい。スタートボタンは、たとえば台車20に設けておけばよい。
【0039】
PU42は、スタートボタンがオンに切り替わったと判定する場合(S30:YES)、カメラ30による検査対象の3次元画像に応じた、代表点P1~P3の座標データを取得する(S32)。詳しくは、PU42は、代表点P1~P3に対応する所定のオブジェクトと、3次元画像とのパターンマッチングによって、代表点P1~P3の座標データを取得する。代表点P1~P3の座標データは、それぞれ、ロボット座標系における位置座標を規定するデータを含む。詳しくは、座標データは、互いに直交する3つの座標軸の成分であるx成分、y成分、およびz成分を規定するデータを含む。また、座標データは、代表点P1~P3のそれぞれに対応する所定のオブジェクトの向きによって、x軸、y軸、およびz軸の3つの軸のそれぞれの回転角を示す(w,p,r)を規定するデータを含む。すなわち、たとえば所定のオブジェクトがねじ穴である場合、ねじ穴の軸線方向を、x軸、y軸、およびz軸の3つの軸のそれぞれの回転角を示す(w,p,r)によって特定する。
【0040】
こうして取得された代表点P1~P3の座標データは、PU42がS20の処理によって受信したデータとは、一般にずれている。
そこで、PU42は、S32の処理によって取得した代表点P1~P3の座標データと整合するように基準座標系をシフトさせる(S34)。ここで、代表点P1~P3のそれぞれと、所定位置UFとの位置関係は、S12の処理で生成されたデータによって規定された既知の関係である。そのため、PU42は、ロボット座標系の原点から所定位置UFまでのベクトルを、代表点P1~P3を用いて算出できる。ここで、原理的には、代表点P1~P3のいずれか1つの座標データを用いることによって、所定位置UFを特定できる。ただし、本実施形態において、PU42は、代表点P1~P3のそれぞれから定まる所定位置UFの平均化処理によって最終的な所定位置UFを算出する。
【0041】
具体的には、PU42は、まず、S32の処理によって取得した代表点P1~P3の座標データを合成することによって、代表点P1の座標データを生成する。これは、たとえば、代表点P1~P3を用いて定義される点を定めることで実現できる。すなわち、ここで、定義する点をたとえば重心とする場合、代表点P1~P3を用いて重心の座標データを算出する。一方、定義する点から代表点P1へと進むベクトルは既知のため、このベクトルだけ定義した点をシフトさせた点を代表点P1とみなす。こうして更新された代表点P1の座標データは、代表点P1~P3の座標データを合成することによって得られる点である。上述したように、上記代表点P1から所定位置UFに進むベクトルVnは既知である。そのため、PU42は、更新された代表点P1を上記ベクトルVnだけずらした点へと所定位置UFをシフトさせる。なお、こうした処理は、実際には、3次元のベクトルの演算ではなく、代表点P1~P3のそれぞれの回転角を参照した演算となる。
【0042】
所定位置UFのシフトによって、暫定経路自体が検査対象においてシフトされる。これにより、実際の検査対象において暫定経路を意図した経路に定めることができる。
次にPU42は、カメラ30による検査対象の3次元画像に応じた、検査対象における確認点Prの座標データを取得する(S36)。確認点Prは、代表点P1~P3とは別の点である。確認点Prの座標データは、S34の処理によってシフトさせた基準座標系における位置座標を規定するデータである。
【0043】
図5に、検査対象における上記代表点P1~P3と、確認点Prとを例示した。なお、
図5には、ロボット座標系の原点P0を併せ記載している。
図4に戻り、PU42は、取得した確認点Prの座標データが、S10の処理において扱う3次元データによって定まる座標データからずれているか否かを判定する(S38)。PU42は、ずれがあると判定する場合(S38:YES)、基準座標系の再設定であるリトライ処理を実行すべく、S32の処理に戻る。
【0044】
一方、PU42は、ずれがないと判定する場合(S38:NO)、調整完了フラグF1に「1」を代入する(S40)。
なお、PU42は、S40の処理を完了する場合と、S30の処理において否定判定する場合と、には、
図4に示す一連の処理を一旦終了する。
【0045】
「検査対象の形状学習」
S10の処理において扱う3次元データは、検査対象の公差を反映したものとなっていない。そのため、暫定経路データに従ってプローブ28aを変位させる場合、プローブ28aを検査対象の検査にとって最適な位置において最適な押しつけ力で押し付けることができないおそれがある。そのため、PU52は、検査対象の検査をするのに先立って、検査対象の形状を学習する。
【0046】
図6に、上記学習に関する処理の手順を示す。
図6に示すオンライン処理は、制御装置40の記憶装置44に記憶されたプログラムをPU42がたとえば所定の条件が成立する場合に実行することによって実現される。また、
図6に示すオフライン処理は、端末50の記憶装置54に記憶されたプログラムをPU52がたとえば所定の条件が成立する場合に実行することによって実現される。
【0047】
図6に示す一連の処理において、PU42は、まず、調整完了フラグF1が「1」であるか否かを判定する(S50)。PU42は、調整完了フラグF1が「1」であると判定する場合(S50:YES)、S22の処理において記憶装置44に記憶した暫定経路データを読み出す(S52)。そして、PU42は、暫定経路データが示す経路に従ってプローブ28aを検査対象に接触させつつ変位させる(S54)。換言すれば、PU42は、プローブ28aによって、検査対象の所定箇所の形状をなぞる。ここで、PU42は、ロボットアーム26が備える力センサの検出値を入力として、検査対象からの反作用を検知する。これにより、PU42は、検査対象の表面位置を検出する。
【0048】
PU42は、プローブ28aを変位させるのに伴って、検査対象の形状データをサンプリングする(S56)。形状データは、検査対象の表面の位置座標と、検査対象の表面に直交する方向とを特定するデータである。PU42は、暫定経路データに従った全経路をプローブ28aが辿るまで、S54,S56の処理を継続する(S58:NO)。
【0049】
PU42は、暫定経路データに従った全経路をプローブ28aが辿ると(S58:YES)、S56の処理によってサンプリングされたデータに応じた形状学習データを記憶装置44に記憶させる(S60)。形状学習データは、検査対象の複数の位置のそれぞれに付与された教示点に関する、検査対象の表面の位置の座標と、表面に直交する方向とを特定するデータである。PU42は、サンプリングしたデータのうちの少なくとも一部を形状学習データとする。
【0050】
図7に、形状学習データによって規定される教示点を例示する。
図7には、教示点PT1~PT11を記載している。
図7には、教示点PT1~PT11における検査対象70の表面に直交する方向を単位長さを有したベクトルにて表現している。
図7に示すように、PU42は、検査対象70の表面の曲率が大きい領域における教示点の間隔を小さい領域における教示点の間隔以下とする条件で、曲率に応じて教示点の間隔を変更する。すなわち、教示点PT1,PT2は、検査対象70の表面がフラットな位置にあるために、間隔が大きい。一方、教示点PT4~PT11は、検査対象70の表面の曲率が大きい位置にあるため、互いに隣り合うもの同士の間隔が小さい。
【0051】
図6に戻り、PU52は通信機46を操作することによって、形状学習データを端末50に送信する(S62)。そしてPU42は、学習完了フラグF2に「1」を代入する(S64)。なお、PU42は、S64の処理を完了する場合と、S50の処理において否定判定する場合と、には、
図6に示すオンライン処理を一旦終了する。
【0052】
一方、端末50のPU52は、形状学習データを受信する(S70)。そして、PU52は、形状学習データを記憶装置54に記憶する(S72)。PU52は、S72の処理によって記憶装置54に記憶したデータ量が閾値以上となったか否かを判定する(S74)。閾値は、量産される検査対象の製造工程を評価するうえで十分な数の形状学習データのデータ量に設定されている。PU52は、閾値以上と判定する場合(S74:YES)、検査対象の製造工程に、記憶装置54に記憶されている形状学習データ群を提供する(S76)。この処理は、製造工程にかかわる人がアクセスする端末に、形状学習データ群を送信する処理であってもよい。これにより、製造現場において、検査対象の製造工程における公差等を評価することができる。
【0053】
なお、PU52は、S76の処理を完了する場合と、S74の処理において否定判定する場合と、には、
図6に示すオフライン処理を一旦終了する。
「検査対象の検査」
図8に、検査対象の検査に関する処理の手順を示す。
図8に示す処理は、記憶装置44に記憶されたプログラムをPU42がたとえば所定の条件が成立する場合に実行することによって実現される。
【0054】
図8に示す一連の処理において、PU42は、まず、学習完了フラグF2が「1」であるか否かを判定する(S80)。PU82は、学習完了フラグF2が「1」であると判定する場合(S80:YES)、S60の処理によって記憶した形状学習データを読み出す(S82)。そして、PU82は、検査対象の検査を開始する(S84)。すなわち、PU82は、形状学習データに従って、検査対象の表面にプローブ28aを接触させつつプローブ28aを変位させる。その際、PU42は、検査対象の表面に垂直に力が加わるようにプローブ28aを検査対象に押し付ける。たとえば
図7に示す例を用いると、PU42は、プローブ28aに、単位ベクトルの方向と逆方向の力を付与する。そして、PU42は、教示点PT1~PT11へと順に教示点PT1~PT11を辿るように、プローブ28aを変位させる。その際、PU42は、プローブ28aから超音波を発信させるとともに、プローブ28aが受信した超音波の反射波を取得する。
【0055】
PU42は、受信した反射波を入力として検査対象の現在検査している位置が正常であるか否かを判定する(S86)。PU42は、検査対象が正常と判定する場合(S86:YES)、検査を完了したか否かを判定する(S88)。PU82は、形状学習データによって規定される経路を全てプローブ28aが辿っている場合に、検査を完了したと判定する。PU42は、未だ検査を完了していないと判定する場合(S88:NO)、S86の処理に戻る。
【0056】
一方、PU42は、検査対象に異常があると判定する場合(S86:NO)、プローブ28aの変位を一時停止する(S90)。その際、PU42は、異常が検知された旨を報知する。そして、PU42は、再始動の指令がなされるか否かを判定する(S92)。再始動の指令は、作業者によってなされる。作業者は、異常が生じた旨の報知に応じて、状況を確認する。そして、作業者は、探傷装置10による検査を継続することが妥当と判断される場合には、再始動の指令をする。
【0057】
PU42は、再始動の指令が出される場合(S92:YES)、S86の処理に戻る。
なお、PU42は、S88の処理において肯定判定される場合と、S80の処理において否定判定される場合と、には、
図8に示す一連の処理を一旦終了する。
【0058】
「本実施形態の作用および効果」
PU42は、端末50から暫定経路データを受信する。暫定規定データは、検査対象の仕様によって規定される3次元データに応じて、検査対象の表面に定義される仮の経路である。
【0059】
図9aに、暫定経路データを例示する。
図9aには、教示点Pt1~Pt7を結ぶ暫定経路を例示した。
これにより、PU42は、検査対象の教示点Pt1~Pt7を順に辿るようにプローブ28aを変位させつつ、検査対象の実際の表面形状を学習する。
【0060】
図9bに、教示点Pt1~Pt6を結ぶ検査対象の表面形状を例示する。
図9bに示すように、実際の検査対象の表面形状は、公差に起因して、3次元データによって規定される表面形状からずれている。
【0061】
PU42は、S54の処理によって、プローブ28aを検査対象に接触させつつ変位させる。PU42は、この際、ロボットアーム26の制御を通じて、プローブ28aに接触している検査対象の座標および表面に直交する方向を検出する。そして、PU42は、検出した座標および方向を逐次記憶する。
【0062】
図9cに、上記座標および方向を記憶するサンプリング点を例示する。
PU42は、S54の処理を完了すると、サンプリングしたデータを用いて、形状学習データを生成する。
【0063】
図9dに、形状学習データの教示点を例示する。形状学習データは、教示点PT1,PT2,…をつなぐことによって、プローブ28aが検査の際に通過する経路を定義する。また、形状学習データは、各教示点における検査対象の表面に垂直な方向を特定する。
【0064】
形状学習データを用いることにより、PU42は、検査対象の表面に垂直に力を加えつつプローブ28aを検査対象に押し付けることができる。そのため、プローブ28aを用いて精度良く検査を行うことができる。
【0065】
また、上記暫定経路データ等は、端末50のPU52によって、カメラ30から見た検査対象をシミュレートすることによって生成される。
図10に示すように、シミュレートによって、PU52は、ロボット座標系における検査対象上の代表点P1~P3の位置を定める。これは、詳しくは、カメラ30から代表点P1~P3へと進むベクトルと、ロボット座標系の原点P0からカメラ30から見た座標系の原点へと進むベクトルとの和をPU52が算出することによって実現される。そしてPU52は、代表点P1から所定位置UFへと進むベクトルをノミナルのベクトルVnとして設定する。
【0066】
その後、制御装置40のPU42は、
図11に示すように、カメラ30の実際の画像からロボット座標系における代表点P1~P3の座標データを取得する。
図11には、それらカメラ30の実際の画像における代表点P1~P3を、代表点P1´、P2´、P3´と記載している。また、
図11には、これに対応する実際の所定位置UF´を記載している。これは、
図10における所定位置UFに対してずれている。
【0067】
PU42は、代表点P1~P3の情報を合成することによって、新たな代表点P1´を設定する。そして新たな代表点P1´へと向かうベクトルと存知のベクトルVnとの合成計算をすることによって求めたい所定位置UF´を算出する。所定位置UFが所定位置UF´にシフトされることにより、所定位置UFを原点とする基準座標系上の複数の教示点が所定位置UF´を原点とする基準座標系上の教示点に一斉にシフトされる。
【0068】
そのため、
図12に示すように、教示点Pt1,Pt2,…が検査対象における正しい位置に変更される。
図13に、
図10~
図12の処理の手順を総括して示す。
【0069】
図10に示す処理として、まず、所定位置UFを原点とする基準座標系が任意に決められる(S100)。次に、暫定経路データが設定されることにより、プローブ28aの変位に関する教示作業が実施される(S102)。次に、ロボット座標系における検査対象(ワーク)の代表点P1が設定される(S104)。これにより、代表点P1から所定位置UFへと進むノミナルのベクトルVnが定義される(S106)。
【0070】
その後、
図11に示すように、カメラ30の実際の画像から検査対象の代表点P1´が設定される(S108)。ここで、代表点P1´は、代表点P1´~P3´の情報を合成したものである。
図11に示す処理は、実際の検査対象(2品目以降)の位置姿勢における代表点P1´、P2´、P3´が検出された後、それら3点から代表点P1´が計算により設定される処理である。
【0071】
図12に示すように、合成した代表点P1´と存知のベクトルVnの逆行列を用いて、所定位置UF´が求められる(S110)。これにより、所定位置UF´を原点とする基準座標系において教示点が定義されることから、全ての教示点が一度にシフトされる(S112)。なお、上記逆行列は、回転角を示す成分を有する。
【0072】
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
(1)PU42は、S34の処理を、検査対象の1つのオブジェクトに対応する代表点P1をベクトルVnだけシフトさせる処理とした。これにより、代表点の数が1個であっても、任意の複数個であっても、所定位置UFを簡易にシフトさせることができる。
【0073】
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1]制御装置は、制御装置40に対応する。なぞり処理は、S54の処理に対応する。学習処理は、S56,S60の処理に対応する。検査処理は、S84~S88の処理に対応する。[2,3]形状学習データは、
図7に例示したデータに対応する。[4,6]3次元データ取得処理は、S32の処理に対応する。調整処理は、S34~S38の処理に対応する。整合処理は、S34の処理に対応する。[5,6]変位処理は、S54の処理に対応する。3次元データ取得処理は、S32の処理に対応する。調整処理は、S34~S38の処理に対応する。整合処理は、S34の処理に対応する。[7]合成用代表点は、代表点P1に対応する。[8]確認用取得処理は、S36の処理に対応する。判定処理は、S38の処理に対応する。リトライ処理は、S38の処理において肯定判定される場合に実行される処理に対応する。[9]学習データを記憶する工程は、S72の処理を実行する工程に対応する。フィードバックする工程は、S76の処理を実行する工程に対応する。
【0074】
<その他の実施形態>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0075】
「なぞり処理について」
・
図6には、S50の処理において肯定判定されることをトリガとしてS54の処理が実行される例を示したが、これに限らない。たとえば、S50の処理において肯定判定されていることと、なぞり処理の実行指令が入力されることとの、論理積が真である場合にS54の処理が実行されるようにしてもよい。
【0076】
・S54の処理の実行条件にS50の処理において肯定判定されている旨の条件を含めることは必須ではない。換言すれば、なぞり処理が、調整処理の完了後になされることは必須ではない。
【0077】
・たとえば暫定経路データの精度が高い場合などには、なぞり処理は必須ではない。なぞり処理を実行しない場合、たとえば、暫定経路データに従ってプローブ28aを検査対象に適切に押し付けつつ、検査対象を検査すればよい。ただし、その場合、
図4に示した処理を実行することが望ましい。
【0078】
「学習処理について」
・
図6には、S56の処理によってサンプリングされた点を、サンプリング結果が示す検査対象の曲率に応じて間引くことによって形状学習データを構成する教示点PT1,PT2,…を定めたがこれに限らない。たとえば、サンプリングされた点の全てを教示点としてもよい。ここで、PU40は、暫定経路データが示す曲率に応じてサンプリング間隔を変更してもよい。
【0079】
・学習処理が、形状学習データを生成する処理を含むことは必須ではない。たとえば、検査対象のうちのなぞり処理によってなぞられた各位置の3つの座標軸の成分のみからなるデータを生成する処理であってもよい。
【0080】
「3次元データ取得処理について」
・S32の処理においては、x軸、y軸、およびz軸の各座標軸の成分と、それら各座標軸に関する回転角w,p,rとを取得したが、これに限らない。たとえば、任意の3つのオイラー角を取得してもよい。
【0081】
・S32の処理においては、3個の代表点のx軸、y軸、およびz軸の各座標軸の成分と、それら各座標軸に関する回転角w,p,rとを取得したが、これに限らない。たとえば、2個または4個以上の代表点のそれぞれにおけるx軸、y軸、およびz軸の各座標軸の成分と、それ各座標軸に関する回転角w,p,rとを取得してもよい。また、単一の代表点のx軸、y軸、およびz軸の各座標軸の成分と、それら各座標軸に関する回転角w,p,rとを取得してもよい。
【0082】
「調整処理について」
・調整処理は、代表点のうちのいずれかをベクトルVnだけシフトさせた位置を所定位置UFとする処理に限らない。たとえば、
図10に例示する処理において、PU52は、代表点P1~P3の重心Gを算出し、重心Gから所定位置UFへと進むベクトルVnを設定してもよい。その場合、
図11に例示する処理において、PU42は、代表点P1´~P3´を用いて重心G´を算出すればよい。そしてPU42は、重心G´をベクトルVnだけシフトさせた位置を所定位置UF´とすればよい。
【0083】
・調整処理は、PU52がベクトルVnを利用する処理に限らない。たとえば、代表点から算出される所定の点を所定位置UFに設定してもよい。ここで、所定の点は、たとえば重心とすることができる。その場合、PU42は、
図11に例示した処理に代えて、代表点P1´~P3´の重心G´としての所定位置UF´を算出すればよい。
【0084】
「基準座標系について」
・上記実施形態では、端末50のPU52がロボットアーム26および検査対象をシミュレートしつつ、基準座標系を設定したり、代表点P1から所定位置UFへと進むベクトルVnを定めたりしたが、これに限らない。たとえば、実際の検査対象を1つ用意し、実際のカメラ30によって用意した検査対象を撮影しつつ、代表点P1から所定位置UFへと進むベクトルVnを定めるなどしてもよい。
【0085】
「調整処理について」
・
図4に示す処理から、S36,S38の処理を削除してもよい。
・調整処理を実行することは必須ではない。
【0086】
「プローブについて」
・上記実施形態では、反射法に用いるプローブを例示したが、これに限らない。たとえば透過法に用いるプローブであってもよい。その場合、超音波を発信するプローブと、検査対象を透過した超音波を受信するプローブとのそれぞれについて、各別に上記各処理を実行すればよい。これは、超音波を発信するプローブと、検査対象を透過した超音波を受信するプローブとのそれぞれについて、各別のロボットアーム26を備えることにより実現できる。なお、その場合、S12の処理によって生成される暫定経路データは、超音波を発信するプローブと、検査対象を透過した超音波を受信するプローブとで、各別のデータとなる。また、
図8のS84の処理においては、超音波を発信するプローブと、検査対象を透過した超音波を受信するプローブとを、連動させる。
【0087】
「制御装置について」
・制御装置40としては、PU42と記憶装置44とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路(たとえばASIC等)を備えてもよい。すなわち、制御装置は、以下の(a)~(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア処理回路や、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、1または複数のソフトウェア処理回路および1または複数の専用のハードウェア回路の少なくとも一方を備えた処理回路によって実行されればよい。
【符号の説明】
【0088】
10…探傷装置
20…台車
24…ストッパ
26…ロボットアーム
28…エンドエフェクタ
28a…プローブ
28b…枠体
30…カメラ
40…制御装置
50…端末
60…表示装置
62…入力デバイス
70…検査対象