(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】検査装置、検査方法、位置決め方法、およびプログラム
(51)【国際特許分類】
B25J 13/08 20060101AFI20240730BHJP
G01N 21/88 20060101ALI20240730BHJP
【FI】
B25J13/08 A
G01N21/88 Z
(21)【出願番号】P 2021532783
(86)(22)【出願日】2020-07-02
(86)【国際出願番号】 JP2020026010
(87)【国際公開番号】W WO2021010181
(87)【国際公開日】2021-01-21
【審査請求日】2023-06-26
(31)【優先権主張番号】P 2019131635
(32)【優先日】2019-07-17
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000005083
【氏名又は名称】株式会社プロテリアル
(74)【代理人】
【識別番号】100096091
【氏名又は名称】井上 誠一
(72)【発明者】
【氏名】西 雄一
(72)【発明者】
【氏名】染次 孝博
(72)【発明者】
【氏名】園田 真志
(72)【発明者】
【氏名】西村 崇善
(72)【発明者】
【氏名】榎本 敦子
(72)【発明者】
【氏名】中須 信昭
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2018-194542(JP,A)
【文献】特開2018-004310(JP,A)
【文献】特開2007-248241(JP,A)
【文献】特開2007-240434(JP,A)
【文献】特開2015-085493(JP,A)
【文献】特開2019-002788(JP,A)
【文献】特開2008-292430(JP,A)
【文献】特開2001-255279(JP,A)
【文献】特開2017-062154(JP,A)
【文献】国際公開第2015/008373(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G01N 21/88
(57)【特許請求の範囲】
【請求項1】
検査対象物を把持する把持用ロボットアームと、測定センサと、
前記検査対象物の形状データに検査対象とする検査部位を設定する検査部位設定部と、
前記検査対象物の形状データに基づいて前記検査対象物に対する前記測定センサの測定位置を算出する測定位置算出部と、
前記測定位置に基づいて前記把持用ロボットアームの軌道を生成する軌道生成部と、
前記軌道に基づいて前記把持用ロボットアームの動作を制御し、前記検査対象物の位置決めを行うロボット制御部と、
位置決め後、前記測定センサにより前記検査対象物の測定を行う測定部と、
測定されたデータに基づいて前記検査対象物の検査を行う検査部と、
を備え、
前記測定位置算出部は、
前記形状データを包含し、かつ、前記形状データの各方向を規定可能な幾何形状を生成する幾何生成部と、
前記幾何形状により規定される各方向ごとに複数の測定候補位置を設定する測定候補位置設定部と、
設定された各測定候補位置について、前記形状データにおける各測定可能領域を算出する測定可能領域算出部と、
算出された各測定可能領域に基づいて、全ての前記検査部位が測定されるように、前記測定候補位置の中から、測定位置を選定する測定位置選定部と、
を含む
検査装置。
【請求項2】
前記測定センサは、測定用ロボットアームに設けられ、
前記軌道生成部は、経路計画法を用いて、干渉を回避した前記把持用ロボットアームおよび前記測定用ロボットアームの軌道を生成し、
前記ロボット制御部は、前記軌道に基づいて前記把持用ロボットアームおよび前記測定用ロボットアームの動作を制御し、前記検査対象物および前記測定センサの位置決めを行う
請求項1に記載の検査装置。
【請求項3】
前記幾何生成部は、前記形状データを包含する多面体を生成し、
前記測定候補位置設定部は、前記多面体の各面の法線方向上に前記測定候補位置を設定する
請求項1または請求項2に記載の検査装置。
【請求項4】
前記測定位置選定部は、全ての検査部位が測定され、かつ、測定数が最小となるように測定位置を選定する
請求項1から請求項3のいずれかに記載の検査装置。
【請求項5】
前記検査部位設定部により設定された検査部位に対して検査対象とする欠陥種類を設定する検査仕様設定部と、を更に備える
請求項1から請求項4のいずれかに記載の検査装置。
【請求項6】
前記検査仕様設定部は、前記欠陥種類の欠陥の有害/無害を判定するための基準である限度基準をさらに設定し、
前記検査部は、測定されたデータと前記欠陥種類の限度基準とを照合することで、前記検査対象物の検査を行う
請求項5に記載の検査装置。
【請求項7】
前記測定部は、前記欠陥種類に応じた照明条件により前記検査対象物の測定を行う
請求項5または請求項6に記載の検査装置。
【請求項8】
前記測定部は、
前記検査対象物の2次元画像を測定する第1測定部と、
前記検査対象物の3次元形状を測定する第2測定部と、を含み、
前記検査部は、
前記第1測定部により測定された2次元画像に基づいて、前記検査対象物の欠陥候補を抽出する第1検査部と、
前記第2測定部により測定された3次元形状に基づいて、抽出された前記欠陥候補の形状検査を行う第2検査部と、を含む
請求項1から請求項7のいずれかに記載の検査装置。
【請求項9】
前記検査部の検査結果を表示する表示部と、を更に備える
請求項1から請求項8のいずれかに記載の検査装置。
【請求項10】
前記ロボット制御部は、前記把持用ロボットアームが把持する前記検査対象物を、他の把持用ロボットアームに把持させるように制御する
請求項1から請求項9のいずれかに記載の検査装置。
【請求項11】
前記測定位置選定部は、ある測定候補位置を測定位置として選定する際に、当該測定候補位置の測定可能領域の全領域が、既に選定された測定位置の測定可能領域を統合した統合領域に含まれる場合には、当該測定候補位置は測定位置として選定しない
ことを特徴とする請求項1から請求項10のいずれかに記載の検査装置。
【請求項12】
前記測定センサはカメラであり、
半球状に配置された複数の照明と、半球の頂点上方に配置され、球中心方向を向く前記カメラと、から構成される光学系を備え、
欠陥種類ごとに、前記半球状に配置された複数の照明のうち、どの照明を点灯させるかの照明条件が設定されており、
前記測定部は、ある測定位置に位置決め後、当該測定位置で測定する欠陥種類に応じた前記照明条件に基づき、前記照明を点灯したうえで、前記カメラによる測定を行う
ことを特徴とする請求項1から請求項
11のいずれかに記載の検査装置。
【請求項13】
欠陥種類ごとに用意された欠陥あり/なしの良否画像データに基づき学習させた深層学習器が記憶部に記憶されており、
前記測定部は、前記検査対象物の2次元画像を測定し、
前記検査部は、前記深層学習器を用いて、前記2次元画像から欠陥候補を抽出する
ことを特徴とする請求項1から請求項
12のいずれかに記載の検査装置。
【請求項14】
コンピュータが、
検査対象物の形状データに検査対象とする検査部位を設定するステップと、
前記検査対象物の形状データに基づいて前記検査対象物に対する測定センサの測定位置を算出するステップと、
前記測定位置に基づいて前記検査対象物を把持する把持用ロボットアームの軌道を生成するステップと、
前記軌道に基づいて前記把持用ロボットアームの動作を制御し、前記検査対象物の位置決めを行うステップと、
位置決め後、前記測定センサにより前記検査対象物の測定を行うステップと、
測定されたデータに基づいて前記検査対象物の検査を行うステップと、
を実行し、
前記測定位置を算出するステップは、
前記形状データを包含し、かつ、前記形状データの各方向を規定可能な幾何形状を生成するステップと、
前記幾何形状により規定される各方向ごとに複数の測定候補位置を設定するステップと、
設定された各測定候補位置について、前記形状データにおける各測定可能領域を算出するステップと、
算出された各測定可能領域に基づいて、全ての前記検査部位が測定されるように、前記測定候補位置の中から、測定位置を選定するステップと、
を実行する
検査方法。
【請求項15】
コンピュータを、
検査対象物の形状データに検査対象とする検査部位を設定する検査部位設定部、
検査対象物の形状データに基づいて前記検査対象物に対する測定センサの測定位置を算出する測定位置算出部、
前記測定位置に基づいて前記検査対象物を把持する把持用ロボットアームの軌道を生成する軌道生成部、
前記軌道に基づいて前記把持用ロボットアームの動作を制御し、前記検査対象物の位置決めを行うロボット制御部、
位置決め後、前記測定センサにより前記検査対象物の測定を行う測定部、
測定されたデータに基づいて前記検査対象物の検査を行う検査部、
として機能させ、
前記測定位置算出部は、
前記形状データを包含し、かつ、前記形状データの各方向を規定可能な幾何形状を生成する幾何生成部と、
前記幾何形状により規定される各方向ごとに複数の測定候補位置を設定する測定候補位置設定部と、
設定された各測定候補位置について、前記形状データにおける各測定可能領域を算出する測定可能領域算出部と、
算出された各測定可能領域に基づいて、全ての前記検査部位が測定されるように、前記測定候補位置の中から、測定位置を選定する測定位置選定部と、
を含む
プログラム。
【請求項16】
コンピュータが、
検査対象物の形状データに検査対象とする検査部位を設定するステップと、
前記検査対象物の形状データに基づいて前記検査対象物に対する測定位置を算出するステップと、
前記測定位置に基づいて前記検査対象物を把持する把持用ロボットアームの軌道を生成するステップと、
前記軌道に基づいて前記把持用ロボットアームの動作を制御し、前記検査対象物の位置決めを行うステップと、
を実行し、
前記測定位置を算出するステップは、
前記形状データを包含し、かつ、前記形状データの各方向を規定可能な幾何形状を生成するステップと、
前記幾何形状により規定される各方向ごとに複数の測定候補位置を設定するステップと、
設定された各測定候補位置について、前記形状データにおける各測定可能領域を算出するステップと、
算出された各測定可能領域に基づいて、全ての前記検査部位が測定されるように、前記測定候補位置の中から、測定位置を選定するステップと、
を実行する
位置決め方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検査装置、検査方法、位置決め方法、およびプログラムに関する。
【背景技術】
【0002】
従来から、製品の製造ライン等では、カメラ等のセンサとロボットアームを組み合わせた検査装置により、製品のキズや欠けなどの外観検査の自動化が進められている。
【0003】
例えば、特許文献1には、複数個のカメラが設けられたロボットアームから構成される検査装置が開示されており、複数個のカメラで撮像した検査対象物を撮像データに基づいて検査対象物の良否を判定することで、製品の検査をばらつきなく高い品質で行うことを可能としている。
【0004】
また特許文献2には、センサユニットが装着されたロボットアームから構成される検査装置と、検査対象物を保持する保持具が装着されたロボットアームから構成される検査冶具と、制御ユニットとを備えた外観検査システムにより、検査対象物の外観検査を行う外観検査方法が開示されている。特に、コンピュータによる検査対象の外観異常の自動抽出と、作業者による外観異常箇所の良否判定とを組み合わせた外観検査方法が提案されている。
【先行技術文献】
【特許文献】
【0005】
【文献】国際公開第2015/011782号公報
【文献】特開2018-59830号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1、2では、プログラミングペンダント等により、検査対象物の形状や検査項目ごとにロボットアームの動作を教示する必要があるため、検査を実施するまでの準備に多大な工数がかかり、非効率であった。
【0007】
本開示は、前述した問題点に鑑みてなされたものであり、ロボットアームの教示作業を必要としない検査装置等を提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一実施形態によれば、検査対象物を把持する把持用ロボットアームと、測定センサと、前記検査対象物の形状データに検査対象とする検査部位を設定する検査部位設定部と、前記検査対象物の形状データに基づいて前記検査対象物に対する前記測定センサの測定位置を算出する測定位置算出部と、前記測定位置に基づいて前記把持用ロボットアームの軌道を生成する軌道生成部と、前記軌道に基づいて前記把持用ロボットアームの動作を制御し、前記検査対象物の位置決めを行うロボット制御部と、位置決め後、前記測定センサにより前記検査対象物の測定を行う測定部と、測定されたデータに基づいて前記検査対象物の検査を行う検査部と、を備え、前記測定位置算出部は、前記形状データを包含し、かつ、前記形状データの各方向を規定可能な幾何形状を生成する幾何生成部と、前記幾何形状により規定される各方向ごとに複数の測定候補位置を設定する測定候補位置設定部と、設定された各測定候補位置について、前記形状データにおける各測定可能領域を算出する測定可能領域算出部と、算出された各測定可能領域に基づいて、全ての前記検査部位が測定されるように、前記測定候補位置の中から、測定位置を選定する測定位置選定部と、を含む検査装置が提供される。
【0009】
また本開示の一実施形態によれば、コンピュータが、検査対象物の形状データに検査対象とする検査部位を設定するステップと、前記検査対象物の形状データに基づいて前記検査対象物に対する測定センサの測定位置を算出するステップと、前記測定位置に基づいて前記検査対象物を把持する把持用ロボットアームの軌道を生成するステップと、前記軌道に基づいて前記把持用ロボットアームの動作を制御し、前記検査対象物の位置決めを行うステップと、位置決め後、前記測定センサにより前記検査対象物の測定を行うステップと、測定されたデータに基づいて前記検査対象物の検査を行うステップと、を実行し、前記測定位置を算出するステップは、前記形状データを包含し、かつ、前記形状データの各方向を規定可能な幾何形状を生成するステップと、前記幾何形状により規定される各方向ごとに複数の測定候補位置を設定するステップと、設定された各測定候補位置について、前記形状データにおける各測定可能領域を算出するステップと、算出された各測定可能領域に基づいて、全ての前記検査部位が測定されるように、前記測定候補位置の中から、測定位置を選定するステップと、を実行する検査方法が提供される。
【0010】
また本開示の一実施形態によれば、コンピュータを、検査対象物の形状データに検査対象とする検査部位を設定する検査部位設定部、検査対象物の形状データに基づいて前記検査対象物に対する測定センサの測定位置を算出する測定位置算出部、前記測定位置に基づいて前記検査対象物を把持する把持用ロボットアームの軌道を生成する軌道生成部、前記軌道に基づいて前記把持用ロボットアームの動作を制御し、前記検査対象物の位置決めを行うロボット制御部、位置決め後、前記測定センサにより前記検査対象物の測定を行う測定部、測定されたデータに基づいて前記検査対象物の検査を行う検査部、として機能させ、前記測定位置算出部は、前記形状データを包含し、かつ、前記形状データの各方向を規定可能な幾何形状を生成する幾何生成部と、前記幾何形状により規定される各方向ごとに複数の測定候補位置を設定する測定候補位置設定部と、設定された各測定候補位置について、前記形状データにおける各測定可能領域を算出する測定可能領域算出部と、算出された各測定可能領域に基づいて、全ての前記検査部位が測定されるように、前記測定候補位置の中から、測定位置を選定する測定位置選定部と、
を含むプログラムが提供される。
【0011】
また本開示の一実施形態によれば、コンピュータが、検査対象物の形状データに検査対象とする検査部位を設定するステップと、前記検査対象物の形状データに基づいて前記検査対象物に対する測定位置を算出するステップと、前記測定位置に基づいて前記検査対象物を把持する把持用ロボットアームの軌道を生成するステップと、前記軌道に基づいて前記把持用ロボットアームの動作を制御し、前記検査対象物の位置決めを行うステップと、を実行し、前記測定位置を算出するステップは、前記形状データを包含し、かつ、前記形状データの各方向を規定可能な幾何形状を生成するステップと、前記幾何形状により規定される各方向ごとに複数の測定候補位置を設定するステップと、設定された各測定候補位置について、前記形状データにおける各測定可能領域を算出するステップと、算出された各測定可能領域に基づいて、全ての前記検査部位が測定されるように、前記測定候補位置の中から、測定位置を選定するステップと、を実行する位置決め方法が提供される。
【発明の効果】
【0012】
本開示によれば、ロボットアームの教示作業を必要としない検査装置等が提供される。
【図面の簡単な説明】
【0013】
【
図4】制御装置6のハードウェア構成の例を示すブロック図
【
図7】検査部位80、検査仕様9を設定する処理の流れを示すフローチャート
【
図11】測定位置10を算出する処理の流れを示すフローチャート
【
図13】幾何形状81(球面グリッド)の例を示す図
【
図15】各測定候補位置101の測定可能領域P1が統合される様子を示す図
【
図18】検査装置1が実行する検査動作の流れを示すフローチャート
【
図19】測定・検査処理の流れを示すフローチャート
【
図23】製造工程パラメータから予測した不良発生率と実際の不良発生率との相関関係を示す相関解析結果の表示例を示す図
【発明を実施するための形態】
【0014】
以下図面に基づいて、本開示の実施形態(以下、「本実施形態」と表記)を詳細に説明する。
【0015】
(1.検査装置1の構成)
図1は、本実施形態の検査装置1の全体構成を示す図である。検査装置1は、検査対象物7の外観検査を行う装置であり、主に、供給機構2、把持機構3、測定機構4、排出機構5、および制御装置6から構成される。
【0016】
供給機構2は、検査対象物7を供給するためのコンベア21と検査対象物7の位置および姿勢を認識するためのビジョンセンサ22から構成される。ビジョンセンサ22は、コンベア21の上方に配置され、コンベア21上の検査対象物7の位置および姿勢を認識する。認識された検査対象物7の位置および姿勢に基づいて、把持用ロボットアーム31aまたは31bにより検査対象物7が把持される。
【0017】
なお、供給機構2は、図の例に限定されない。例えば、供給機構2が、検査対象物7が山積みされたコンテナ(不図示)とコンテナの上方に配置されたビジョンセンサ22から構成されてもよい。この場合、ビジョンセンサ22により検査対象物7の位置および姿勢が認識され、把持用ロボットアーム31aまたは31bにより検査対象物7が把持される。
【0018】
また、供給機構2が、検査対象物7を一定の姿勢で整列したトレー(不図示)で構成されてもよい。この場合、検査対象物7の位置および姿勢があらかじめ既知であるため、ビジョンセンサ22を設ける必要がない。すなわち、ビジョンセンサ22なしで、検査対象物7が把持用ロボットアーム31aまたは31bにより把持される。
【0019】
また、供給機構2が、パーツフィーダ(不図示)で構成されてもよい。この場合も、検査対象物7が一定の姿勢で整列されるため、ビジョンセンサ22なしで検査対象物7が把持用ロボットアーム31aまたは31bにより把持される。
【0020】
把持機構3は、支柱18の両側部に双腕状に配置された多関節型(例えば6軸)のロボットアーム(把持用ロボットアーム31aおよび31b)から構成される。把持用ロボットアーム31a、31bは、それぞれ、アーム部311a、311bとハンド部312a、312bを備える。ハンド部312a、312bは、アーム部311a、311bの先端に設けられる。
【0021】
ハンド部312a、312bは、検査対象物7を把持可能な構造であればどのような形態でもよいが、ハンド部312a、312bにより把持された状態で、検査対象物7の半分以上が露出する構造であることが望ましい。ハンド部312a、312bをこのような構造とすれば、把持用ロボットアーム31a、31b間での一度の持ち替え動作で、検査対象物7の全面を測定することができる。ハンド部312a、312bとして、挟持タイプのもの、吸着タイプのものなどを採用できる。
【0022】
なお、本開示において、把持用ロボットアーム31aまたは31bを、把持用ロボットアーム31と表記する場合がある。この場合、把持用ロボットアーム31のアーム部はアーム部311、ハンド部はハンド部312と表記する。
【0023】
測定機構4は、支柱18の上部に配置された多関節型(例えば6軸)のロボットアーム(測定用ロボットアーム41)と、2次元光学系(以下「2D光学系42」と表記)と、3次元センサ(以下「3Dセンサ45」と表記)とから構成される。2D光学系42および3Dセンサ45は、例えば、測定用ロボットアーム41の先端部に直接、または他の部材を介して固定される。
【0024】
図2、3は、2D光学系42を示す図である。
図2は2D光学系42の斜視図であり、
図3は2D光学系42の中心におけるXZ断面図である。
図2、3に示すように、2D光学系42は、本体43aおよびレンズ43bからなるカメラ43と、半球状に複数配置された照明44から構成される。カメラ43は半球の頂点上方に配置され、検査対象物7を撮像する。
【0025】
カメラ43(本体43a)には、例えば、CCD(Charge Coupled
Device)イメージセンサやCMOS(Complementary Metal Oxide
Semiconductor)イメージセンサ等の撮像センサが搭載されている。照明44は、例えば白色LEDである。検査対象物7の撮像時に、照明44の点灯が切り替えられ、照明角度の異なる2次元画像を取得することができる。なお、カメラ43は複数配置されてもよい。
【0026】
3Dセンサ45は、検査対象物7の3次元形状を測定するセンサである。3Dセンサ45は、例えば、二眼あるいは多眼のステレオカメラ、レーザやプロジェクタなどの投光部とカメラとを備えたアクティブ方式のステレオカメラ、タイムオブフライト法を用いる機器など、任意の領域の3次元データを測定できるものであればよい。
なお、カメラ43や3Dセンサ45は、本開示における測定センサの一例である。
【0027】
排出機構5は、検査対象物7を排出するためのコンベア51から構成される。検査対象物7の検査の合否や欠陥の種類で分類できるように、コンベア51を複数設けても良い。
【0028】
制御装置6は、供給機構2、把持機構3、および測定機構4の動作を制御するコンピュータである。
以下、制御装置6のハードウェア構成(
図4)および機能構成(
図5)について説明する。
【0029】
(2.制御装置6のハードウェア構成)
図4は、制御装置6のハードウェア構成を示すブロック図である。図に示すように、制御装置6は、制御部61、記憶部62、通信部63、入力部64、モニタ65、周辺機器I/F部66、UPS67等が、バス69を介して接続される汎用のコンピュータで実現される。但し、これに限ることなく、用途、目的に応じて様々な構成を採ることが可能である。
【0030】
制御部61は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等によって構成される。CPUは、記憶部62、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス69を介して接続された各装置を駆動制御し、制御装置6が行う後述する処理を実現する。
【0031】
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。RAMは、揮発性メモリであり、記憶部62、ROM、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部61が各種処理を行う為に使用するワークエリアを備える。
【0032】
記憶部62は、HDD(Hard Disk Drive)等であり、制御部61が実行するプログラム、プログラム実行に必要なデータ、OS(Operating System)等が格納される。プログラムに関しては、OSに相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。これらの各プログラムコードは、制御部61により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種処理を実行する。
【0033】
本実施形態では、記憶部62には、検査対象物7の形状データ8(例えば、CADデータ)が記憶されている。また、記憶部62には、ROS(Robot Operation System)が構築されており、ROSのシミュレータ機能を用いることで、把持用ロボットアーム31および測定用ロボットアーム41の軌道を自動生成することが可能となっている。
【0034】
また、記憶部62には、光学系シミュレータが構築されており、検査対象物7の形状データ8と光学系の条件を入力することで、形状データ8における測定可能領域P(撮像範囲)を算出することが可能となっている。また、記憶部62には、検査時に使用される学習済みの深層学習器72があらかじめ記憶されている。
【0035】
通信部63は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク間の通信を媒介する通信インタフェースであり、ネットワークを介して、他のコンピュータ間との通信制御を行う。ネットワークは、有線、無線を問わない。
【0036】
入力部64は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。入力部64を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。モニタ65は、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等(ビデオアダプタ等)を有する。なお、入力部64及びモニタ65は、タッチパネルディスプレイのように、一体となっていてもよい。
【0037】
周辺機器I/F(Interface)部66は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器I/F部66を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器I/F部66は、USB(Universal Serial Bus)やLANやIEEE1394やRS-232C等によって構成されており、通常複数の周辺機器I/Fを有する。周辺機器との接続形態は有線、無線を問わない。制御装置6は、周辺機器I/F(Interface)部66を介して、コンベア21、コンベア51、ビジョンセンサ22、把持用ロボットアーム31、測定用ロボットアーム41、2D光学系42、3Dセンサ45等と接続される。
【0038】
UPS67は、停電などによって電力が断たれた場合にも電力を供給し続ける無停電電源装置である。
バス69は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【0039】
制御装置6は、1台のコンピュータで構成されてもよいし、複数のコンピュータが協働して検査装置1の動作を実行するように構成されてもよい。以下の説明では、簡素な構成例として、制御装置6が1台のコンピュータで構成される例を説明する。
【0040】
(3.制御装置6の機能構成)
図5は、制御装置6の機能構成を示すブロック図である。図に示すように、制御装置6は、コンベア制御部11、ワーク認識部12、ロボット制御部13、動作設定部14、測定部15、検査部16、およびデータ表示部17の各機能から構成される。
【0041】
コンベア制御部11は、コンベア21、51の駆動部に制御命令を送り、コンベア21、51の動作制御をおこなう。具体的には、コンベア制御部11は、未検査の検査対象物7が載置されたコンベア21を供給方向(
図1のX方向)に動作させ、検査対象物7をビジョンセンサ22の下部まで供給する。また、検査終了後、コンベア制御部11は、検査済みの検査対象物7が載置されたコンベア51を排出方向(
図1のX方向)に動作させ、検査対象物7を排出する。
【0042】
ワーク認識部12は、ビジョンセンサ22により、ビジョンセンサ22の下部に供給された検査対象物7の位置および姿勢を認識する。認識された検査対象物7の位置および姿勢に基づいて、把持用ロボットアーム31が動作制御され、ハンド部312により検査対象物7が把持される。
【0043】
ロボット制御部13は、把持用ロボットアーム31および測定用ロボットアーム41の各関節の駆動部に制御命令を送り、把持用ロボットアーム31および測定用ロボットアーム41の動作を制御する。
【0044】
具体的には、ロボット制御部13は、後述する軌道生成部143により生成される軌道に基づいて、把持用ロボットアーム31のハンド部312をコンベア21上のピッキング位置まで移動させるとともに、検査対象物7の予め決められた位置をハンド部312で把持させるように制御する。これにより、コンベア21上の検査対象物7がピッキングされる。
【0045】
また、ロボット制御部13は、検査対象物7の把持後(ピッキング後)、後述する軌道生成部143により生成される軌道に基づいて、把持用ロボットアーム31および測定用ロボットアーム41の軌道を制御し、検査対象物7およびカメラ43の位置決めを行う。検査対象物7およびカメラ43の位置決め後、検査対象物7の測定が行われる。
【0046】
また、ロボット制御部13は、検査対象物7を、把持用ロボットアーム31aのハンド部312aと把持用ロボットアーム31bのハンド部312bとの間で持ち替えるように制御する。例えば、測定位置10毎に、把持用ロボットアーム31a、31bのいずれで検査対象物7を把持するかのルールをあらかじめ定めておき、制御部61は、このルールに基づいて、持ち替え動作を行う。
【0047】
また、ロボット制御部13は、検査対象物7の検査終了後、後述する軌道生成部143により生成される軌道に基づいて、把持用ロボットアーム31のハンド部312をコンベア51上のリリース位置まで移動させるとともに、検査対象物7のハンド部312による把持状態を解除する。これにより、コンベア51上に検査済みの検査対象物7がリリースされる。
【0048】
動作設定部14は、把持用ロボットアーム31および測定用ロボットアーム41の動作制御に必要な設定を行う。動作設定部14は、
図5に示すように、検査部位設定部140、検査仕様設定部141、測定位置算出部142(幾何生成部142a、測定候補位置設定部142b、測定可能領域算出部142c、測定位置選定部142d)、および軌道生成部143から構成される。
【0049】
検査部位設定部140は、検査対象物7の形状データ8(例えば、CADデータ)を記憶部62から読込み、形状データ8に対して、検査対象とする検査部位80を設定する。
【0050】
検査仕様設定部141は、検査部位設定部140により設定された各検査部位80に対して検査仕様9を設定する。検査仕様9は、欠陥種類91および欠陥仕様92の情報を含む。欠陥種類91とは、「凸」欠陥、「凹」欠陥、バリなど、検査対象とする欠陥の種類を示す。欠陥仕様92とは、各欠陥の限度基準であり、各欠陥の有害/無害を判定するための基準として使用される。
【0051】
検査部位設定部140および検査仕様設定部141の具体的な処理については後述する(
図7~
図10参照)。
【0052】
測定位置算出部142は、形状データ8に基づいて検査対象物7の測定位置10を算出する。測定位置10とは、形状データ8(検査対象物7)に対するカメラ43の相対的な位置であり、例えば、形状データ8(検査対象物7)の中心を原点としたカメラ43の位置座標である。測定位置算出部142は、形状データ8に設定された全ての検査部位80がカメラ43により測定(撮像)されるように、形状データ8の周りに測定位置10を複数算出する。この測定位置10に基づいて把持用ロボットアーム31および測定用ロボットアーム41の軌道が自動生成される。
【0053】
図5に示すように、測定位置算出部142は、幾何生成部142a、測定候補位置設定部142b、測定可能領域算出部142c、および測定位置選定部142dから構成される。
【0054】
幾何生成部142aは、形状データ8を包含し、かつ、形状データ8の各方向を規定可能な幾何形状81を生成する。
【0055】
測定候補位置設定部142bは、幾何形状81により規定される各方向に1以上の測定候補位置101を設定する。
【0056】
測定可能領域算出部142cは、測定候補位置設定部142bにより設定された各測定候補位置101について、光学系シミュレータにより、形状データ8における測定可能領域Pを算出する。
【0057】
測定位置選定部142dは、各測定候補位置101の測定可能領域Pに基づいて、測定候補位置101の中から測定位置10を選定する。例えば、測定位置選定部142dは、全ての検査部位80(検査対象領域)が測定され、かつ、測定数が最小となるように測定位置10を選定する。
【0058】
測定位置算出部142(幾何生成部142a、測定候補位置設定部142b、測定可能領域算出部142c、測定位置選定部142d)の具体的な処理については後述する(
図11~
図15参照)。
【0059】
軌道生成部143は、ROS上に検査装置1や周辺設備のCADモデルを構築したうえで、PRM(Probabilistic Roadmap Planner)法やRRT(Rapidly
exploring Random Tree)法などの経路計画法(Motion Planning)を用いて、干渉を回避した把持用ロボットアーム31および測定用ロボットアーム41の軌道を生成する。
【0060】
具体的には、軌道生成部143は、ワーク認識部12により認識した検査対象物7の位置および姿勢に基づいて、検査対象物7のピッキング位置(ハンド部312の目標位置および目標姿勢)を算出し、ピッキング位置に基づいて、把持用ロボットアーム31の軌道を生成する。この軌道によって、把持用ロボットアーム31を制御することで、コンベア21上の検査対象物7が把持用ロボットアーム31のハンド部312により把持(ピッキング)される。
【0061】
また、軌道生成部143は、測定位置算出部142により算出された測定位置10に基づいて、把持用ロボットアーム31および測定用ロボットアーム41の軌道を生成する。具体的には、軌道生成部143は、検査対象物7に対するカメラ43の相対的な位置が、測定位置算出部142により算出された測定位置10となるように、把持用ロボットアーム31および測定用ロボットアーム41の軌道を生成する。この軌道によって、把持用ロボットアーム31および測定用ロボットアーム41を制御することで、検査対象物7およびカメラ43が測定ポイントへ位置決めされる。これにより、プログラミングペンダント等による教示なしで検査対象物7の測定・検査を行うことができ、効率性の高い検査が実現される。
【0062】
また、軌道生成部143は、検査終了後、検査対象物7のリリース位置(ハンド部312の目標位置および目標姿勢)に基づいて、把持用ロボットアーム31の軌道を生成する。この軌道によって、把持用ロボットアーム31を制御することで、コンベア51上に検査済みの検査対象物7がリリースされる。
【0063】
測定部15は、検査対象物7およびカメラ43の位置決め後、検査対象物7の測定を行う。
図5に示すように、測定部15は、第1測定部151および第2測定部152から構成される。
【0064】
第1測定部151は、2D光学系42に測定指示を送り、検査対象物7の2次元画像データD1を測定する。
【0065】
第2測定部152は、3Dセンサ45に測定指示を送り、検査対象物7の3次元形状データD2を測定(形状測定)する。
【0066】
検査部16は、測定部15(151、152)により測定された測定データに基づいて検査対象物7の検査を行う。
図5に示すように、検査部16は、第1検査部161および第2検査部162から構成される。
【0067】
第1検査部161は、第1測定部151により測定された検査対象物7の2次元画像データD1に基づいて、欠陥候補71を抽出する。
【0068】
本実施形態では、第1検査部161は、機械学習の一種である深層学習(Deep
Learning)により学習させた深層学習器72を用いて、欠陥候補71を抽出する。深層学習器72は、欠陥の種類ごとに用意された欠陥あり/なしの良否画像データ(学習データ)に基づき学習させた識別器であり、あらかじめ記憶部62に記憶されている。深層学習手法としては、SegNetやResNet、あるいはSegNetとResNetを併用した手法などが利用できるが、これら手法に限定されない。
【0069】
第2検査部162は、第2測定部152により測定された検査対象物7の3次元形状データD2に基づいて、第1検査部161により抽出された欠陥候補71の箇所の詳細な形状検査(寸法検査)を行い、最終的な欠陥の有害/無害を判定する。
【0070】
図6は、検査処理の概要を示す図である。図に示すように、まず、深層学習器72を用いて2次元画像データD1から欠陥候補71を抽出し(第1検査)、欠陥候補71が抽出されなかった場合には、検査対象物を「良」(欠陥なし)と判定する。一方、欠陥候補71が抽出された場合には、さらに3次元形状データD2により欠陥候補71の箇所の形状検査(寸法検査)を行い(第2検査)、欠陥候補71の箇所の欠陥仕様92と照合することで、最終的な良否判定を行う。
【0071】
(4.検査部位、検査仕様の設定)
図7~
図10を参照して、検査に先立ち、検査対象物7の形状データ8に対して検査対象とする検査部位80、および検査仕様9(欠陥種類91、欠陥仕様92)を設定する処理を説明する。
【0072】
図7は、検査部位80、および検査仕様9を設定する処理の流れを示すフローチャートである。
制御装置6の制御部61は、まず、検査対象物7の形状データ8を記憶部62から読込み、モニタ65に表示する(ステップS1)。
図8は、検査対象物7(継手)の形状データ8の例を示す。
【0073】
続いて、制御部61(検査部位設定部140)は、モニタ65上に表示された形状データ8に対して、検査対象とする検査部位80を設定する(ステップS2)。この設定は入力部64を介したユーザ操作により行われる。例えば、
図9の例のように、ユーザは、形状データ8(配管継手のCADデータ)に対して、検査部位80として検査部位80a(継手本体部の外面)、および検査部位80b(継手端部の外面)を設定する。
【0074】
続いて、制御部61(検査仕様設定部141)は、ステップS2において設定された各検査部位80に対して、検査仕様9(欠陥種類91、欠陥仕様92)の設定を受け付ける(ステップS3)。例えば、
図10に示すように、検査部位80a(継手本体部の外面)の検査仕様9a(欠陥種類91、欠陥仕様92)として、検査仕様9a-1(「凸」、「Φ3.0mm、高さ2.0mm」)および検査仕様9a-2(「凹」、「Φ3.0mm、深さ1.0mm」)を設定する。
【0075】
また、検査部位80b(継手端部の外面)の検査仕様9b(欠陥種類91、欠陥仕様92)として、検査仕様9b-1(「凸」、「Φ3.0mm、高さ2.0mm」)、検査仕様9b-2(「凹」、「Φ3.0mm、深さ1.0mm」)、および検査仕様9b-3(「バリ」、「0.5H×2L(mm)」)を設定する。
【0076】
後述するように、制御装置6は、ステップS2において設定された検査部位80が全て測定されるように、測定位置10を選定(算出)する。また、制御装置6は、ステップS3において設定した各検査部位80の検査仕様9(欠陥種類91、欠陥仕様92)に基づいて、検査対象物7の良否判定を行う。
【0077】
(5.測定位置の算出)
図11~
図15を参照して、検査対象物7の測定位置10を算出する処理を説明する。ここで算出された測定位置10に基づいて、把持用ロボットアーム31および測定用ロボットアーム41の軌道が生成される。
【0078】
図11は、測定位置10を算出する処理の流れを示すフローチャートである。
まず、制御装置6の制御部61(幾何生成部142a)は、検査対象物7の形状データ8を包含し、かつ、形状データ8の各方向を規定可能な幾何形状81を生成する(ステップS11)。例えば、
図12に示すような形状データ8を包含する多面体81や、
図13に示すような形状データ8を包含する球面グリッド81などを生成する。
【0079】
多面体(
図12)の場合には、形状データ8の各方向が、多面体の各面の向き(面の法線方向)によって規定される。球面グリッド(
図13)の場合には、形状データ8の各方向が、各グリッド線の交点の方向によって規定される。本実施形態では、制御部61(幾何生成部142a)は、
図12の多面体81を生成するものとして説明する。多面体81は、例えば、正12面体や正20面体であるが、これらに限定されない。
【0080】
続いて、制御部61(測定候補位置設定部142b)は、幾何形状81により規定される各方向に1以上の測定候補位置101を設定する(ステップS12)。本実施形態では、制御部61は、多面体81(幾何形状81)の各面82の中心83を通る面法線84上に1以上の測定候補位置101(カメラ43の位置座標)を設定する。なお、測定候補位置101に設置される各カメラ43の撮像方向は、面82に垂直な方向とする。つまり、各カメラ43の撮像中心は、各面82の中心83となる。
【0081】
図14は、多面体81(正20面体)のある面82の中心83を通る面法線84上に測定候補位置101を設定する例を示す。図の例では、面法線84上に3つの測定候補位置101が設定されている。測定候補位置101は、カメラ43の視野範囲、被写体深度、作動距離などの光学的条件に基づいて適宜設定される。
【0082】
制御部61(測定候補位置設定部142b)は、多面体81の全ての面82について測定候補位置101を設定する。例えば、
図14の正20面体の各面82毎にそれぞれ3点の測定候補位置101を設定した場合、計60点の測定候補位置101が設定される。
【0083】
続いて、制御部61(測定可能領域算出部142c)は、ステップS12において設定された各測定候補位置101について、光学系シミュレータを用いて、形状データ8における測定可能領域Pを算出する(ステップS13)。
【0084】
そして、制御部61(測定位置選定部142d)は、ステップS13において算出された各測定候補位置101の測定可能領域Pに基づいて、全ての検査部位80(検査対象領域)が測定され、かつ、測定数が最小となる測定位置10を測定候補位置101の中から選定する(ステップS14)。
【0085】
例えば、制御部61(測定位置選定部142d)は、全ての測定候補位置101の中から、ランダムな順序で測定候補位置101を一つずつ選択していき、選択された測定候補位置101の測定可能領域Pを統合していく。測定可能領域Pが統合された領域を統合領域Rと呼ぶ。そして、制御部61は、統合領域Rが全ての検査部位(検査対象領域)を網羅(包含)した段階で測定候補位置101の選択を打ち切り、それまでに選択された測定候補位置101を測定位置10として選定する。
【0086】
図15を用いて具体的に説明する。例えば、
図15に示すように、測定候補位置101a、101b、101cの順序でランダムに選択された場合、統合領域RがR1、R2、R3と順次生成される。ここで統合領域R1は測定候補位置101aの測定可能領域P1と等価であり、統合領域R2は統合領域R1に測定候補位置101bの測定可能領域P2を統合した領域であり、R3は統合領域R2に測定候補位置101cの測定可能領域P3を統合した領域である。
【0087】
以降同様に、測定候補位置101の選択および測定可能領域Pの統合(統合領域Rの拡張)を順次繰り返していき、統合領域Rが全ての検査部位80(検査対象領域)を網羅(包含)した段階で測定候補位置101の選択を打ち切り、それまでに選択された測定候補位置101を測定位置10として選定する。なお、選択した測定候補位置101の測定可能領域Pの全領域が、それまでに生成された統合領域Rに含まれる場合には、別の測定候補位置101を選択し直す。すなわち、既に測定された領域を重複して測定してしまうことがないように測定位置10が選定される。
【0088】
また仮に、全ての測定候補位置101の測定可能領域Pを統合した統合領域Rが、全ての検査部位(検査対象領域)を網羅できなかった場合には、制御部61は、面数を増やした多面体81(方向分解能を上げた多面体81)を生成し直し、ステップS11~S14の処理を再度実行する。
【0089】
図16は、ステップS14において選定された測定位置10に紐づけて各種検査情報等を保持する測定検査テーブル100を示す。測定検査テーブル100には、測定順に整列された各測定位置10(測定位置10-1、10-2、…)に紐づけて、各測定位置10における検査部位80、欠陥種類91、欠陥仕様92、照明条件93、第1測定データ94、第2測定データ95、検査結果96の情報が保持される。
【0090】
検査部位80は、
図7のステップS1において設定した検査部位80のうち、各測定位置10の測定可能領域Pに含まれる検査部位80(各測定位置10で測定・検査可能な検査部位)である。欠陥種類91、欠陥仕様92は、
図7のステップS2において設定した検査部位80に紐づく欠陥種類91、欠陥仕様92である。
【0091】
照明条件93とは、測定時に、どの照明44を点灯させるかの条件であり、例えば、欠陥種類91の種類(「凸」「凹」「バリ」…)に応じて予め定められている。
【0092】
第1測定データ94、第2測定データ95には、測定実行後に測定データの保存先情報が記録される。検査結果96には、検査実行後に検査結果の情報が記録される。
【0093】
(6.検査装置1の動作)
図17~
図23を参照して、検査装置1の動作について説明する。
【0094】
図17は、検査装置1の動作の概要を示す。まず、
図17(a)のように、検査装置1は、把持用ロボットアーム31の軌道を制御し、コンベア21上の検査対象物7を把持(ピッキング)する。続いて、
図17(b)のように、検査装置1は、把持用ロボットアーム31と測定用ロボットアーム41の軌道を制御し、検査対象物7を測定ポイントまで移動する。ここで、検査対象物7の検査部位を全て測定するため、検査装置1は、検査対象物7とカメラ43の位置関係を変えながら、複数回測定を行う。また、
図17(c)のように、検査装置1は、必要に応じて、把持用ロボットアーム31a、31b間で検査対象物7の持ち替えを行う。検査終了後、
図17(d)のように、検査装置1は、把持用ロボットアーム31の軌道を制御し、コンベア51上に検査対象物7をリリースする。
【0095】
図18のフローチャートを参照して、検査装置1(制御装置6)の動作の詳細を説明する。
【0096】
まず、制御装置6の制御部61(コンベア制御部11)は、未検査の検査対象物7が載置されたコンベア21を稼働制御し、ビジョンセンサ22の下部まで検査対象物7を供給する(ステップS21)。
【0097】
続いて、制御部61(ワーク認識部12)は、ビジョンセンサ22により、ステップS21において供給された検査対象物7の位置および姿勢を認識する(ステップS22)。
【0098】
続いて、制御部61(ロボット制御部13)は、ステップS12において認識した検査対象物7の位置および姿勢に基づいて、把持用ロボットアーム31(31aまたは31b)を移動させ、ハンド部312で検査対象物7を把持させるように制御する(ステップS23)。
【0099】
具体的には、まず、制御部61(軌道生成部143)は、ステップS22において認識した検査対象物7の位置および姿勢に基づいて、検査対象物7を把持可能なハンド部312の目標位置および目標姿勢を算出し、算出したハンド部312の目標位置および目標姿勢に基づいて、把持用ロボットアーム31の軌道を生成する。
【0100】
そして、制御部61(ロボット制御部13)は、生成された軌道に基づいて、把持用ロボットアーム31の軌道を制御するとともに、検査対象物7の予め決められた位置をハンド部312で把持させるように制御する。これにより、検査対象物7が把持用ロボットアーム31によりピッキングされる。
【0101】
続いて、制御部61(ロボット制御部13)は、把持用ロボットアーム31および測定用ロボットアーム41の軌道を制御し、測定ポイントへ検査対象物7およびカメラ43を位置決めする(ステップS24)。
【0102】
具体的には、まず、制御部61(軌道生成部143)は、検査対象物7に対するカメラ43の相対的な位置が、測定検査テーブル100(
図16参照)の測定位置10(最初の測定では測定位置10-1)となるように、把持用ロボットアーム31および測定用ロボットアーム41の軌道計算を行い、軌道を生成する。
【0103】
ここで、測定位置10は、検査対象物7に対するカメラ43の相対的な位置でしかないため、把持用ロボットアーム31および測定用ロボットアーム41の軌道が一意に定まらない。そのため、制御部61(軌道生成部143)は、検査対象物7に対するカメラ43の相対的な位置が測定位置10となるような把持用ロボットアーム31および測定用ロボットアーム41の軌道の中から、所定の条件を満たす軌道を一意に決定する。所定の条件を満たす軌道とは、例えば、把持用ロボットアーム31および測定用ロボットアーム41の平均移動量が最小となる軌道、把持用ロボットアーム31および測定用ロボットアーム41の平均移動時間が最小となる軌道、などである。
【0104】
そして、制御部61(ロボット制御部13)は、生成された軌道に基づいて、把持用ロボットアーム31および測定用ロボットアーム41の軌道を制御し、検査対象物7およびカメラ43の位置決めを行う。
【0105】
続いて、制御部61(測定部15、検査部16)は、検査対象物7の測定・検査を実行する(ステップS25)。
【0106】
ここで、
図19のフローチャートを参照して、測定・検査の処理を説明する。
【0107】
まず、制御部61(第1測定部151)は、2D光学系42に測定指示を送り、検査対象物7の2次元画像データD1を測定する(ステップS41)。具体的には、制御部61は、測定検査テーブル100を参照して、該当する測定位置10で検査可能な検査部位80について、欠陥種類91ごとに測定を行う。この際、制御部61は、各欠陥種類91に応じて照明条件93を切り替えてもよい。
【0108】
例えば、
図16を参照すると、測定位置10-1における検査部位80は「部位A」であり、検査対象とする欠陥種類91は「凸」欠陥および「凹」欠陥である。また、「凸」欠陥の検査に適した照明条件93は「条件1」、「凹」欠陥の検査に適した照明条件93は「条件2」である。したがって、制御部61(第1測定部151)は、「部位A」において「凸」欠陥の測定を行う場合、照明条件93「条件1」に基づき照明44を点灯したうえで、カメラ43による測定を行う。また、「部位A」において「凹」欠陥の測定を行う場合、照明条件93「条件2」に基づき照明44を点灯したうえで、カメラ43による測定を行う。
【0109】
なお、欠陥種類91に依らず、制御部61(第1測定部)は、決められた照明44を点灯(例えば全ての照明44を点灯)して測定を行ってもよいし、照明44の点灯を一つずつ切り替えながら測定を行ってもよい。後者の場合、照明角度が異なる照明数分の2次元画像が得られる。
【0110】
制御部61(第1測定部151)は、測定された検査対象物7の2次元画像データD1(測定データ)を記憶部62に保存し、測定検査テーブル100の第1測定データ94に保存先情報を記録する。
【0111】
続いて、制御部61(第1検査部161)は、ステップS41において測定された検査対象物7の2次元画像データD1を深層学習器72に入力し、2次元画像データD1から欠陥候補71を抽出する(ステップS42)。
【0112】
図20は、欠陥候補71の抽出例を示す。
図20(a)は検査対象物7のカメラ43による撮影画像であり、
図20(b)は深層学習により得られる欠陥の度合いをコンターマップ(等高線図)で描画した画像(
図20(a)の撮影画像にコンターマップを重畳した画像)である。
図20(b)に示すように、例えば、欠陥の度合いが所定の閾値を超える箇所が、欠陥候補71(71a、71b、71c)として抽出される。
【0113】
ステップS42において欠陥候補71が抽出されなかった場合には(ステップS43;No)、制御部61(第1検査部161)は、検査対象物7を「良」(欠陥なし)と判定し、検査結果を測定検査テーブル100の検査結果96欄に記録する(ステップS46)。
【0114】
ステップS42において欠陥候補71が抽出された場合には(ステップS43;Yes)、制御部61(第2測定部152)は、3Dセンサ45に測定指示を送り、検査対象物7の3次元形状データD2を測定し(ステップS44)、測定された3次元形状データD2を記憶部62に保存し、測定検査テーブル100の第2測定データ95に保存先情報を記録する。なお、3Dセンサ45による測定を行う際、制御部61は、把持用ロボットアーム31または測定用ロボットアーム41を制御し、検査対象物7に対する3Dセンサ45の測定位置を調整してもよい。
【0115】
続いて、制御部61(第2検査部162)は、ステップS44において測定された検査対象物7の3次元形状データD2に基づいて、ステップS42において抽出された欠陥候補71の箇所の形状検査(寸法検査)を行い、良否を判定する。
【0116】
例えば、
図16の測定位置10-1における2次元画像データD1から「凸」欠陥の欠陥候補71が抽出されたとする。この場合、制御部61(第2検査部162)は、3次元形状データD2から欠陥候補71(「凸」欠陥)の形状を認識し、測定検査テーブル100の欠陥仕様92「φ3.0mm、高さ2.0mm」と照合することで、形状検査(寸法検査)を行う。例えば、制御部61(第2検査部162)は、欠陥候補71のφ(直径)が3.0mm以上、かつ、高さが2.0mm以上であると認識した場合、「否」(「凸」欠陥あり)と判定し、それ以外の場合は「良」(「凸」欠陥なし)と判定する。
【0117】
そして、制御部61(第2検査部162)は、検査結果を測定検査テーブル100の検査結果96欄に記録する(ステップS46)。
【0118】
図18のフローチャートの説明に戻る。
全ての検査が終了していない場合(ステップS26;No)、制御部61は、次の測定・検査を行うにあたり、検査対象物7の把持用ロボットアーム31a、31b間での持ち替えが必要か否かを判断する(ステップS27)。
【0119】
例えば、測定位置10毎に、把持用ロボットアーム31a、31bのいずれで検査対象物7を把持するかのルールをあらかじめ定めておき、制御部61は、このルールに基づいて、持ち替えが必要か否かを判断する。
【0120】
持ち替えが不要な場合、制御部61は、ステップS24へ戻り、次の測定ポイントへ把持用ロボットアーム31および測定用ロボットアーム41を移動させる。
【0121】
一方、持ち替えが必要な場合(ステップS27;Yes)、制御部61(ロボット制御部13)は、検査対象物7を、把持用ロボットアーム31aのハンド部312aと把持用ロボットアーム31bのハンド部312bとの間で持ち替えるように制御する(ステップS28)。
【0122】
例えば、検査対象物7を、把持用ロボットアーム31aのハンド部312aから把持用ロボットアーム31bのハンド部312bに持ち替えるとする。この場合、制御部61は、まず、把持用ロボットアーム31aのハンド部312aと把持用ロボットアーム31bのハンド部312bがあらかじめ決められた持ち替え時の位置および姿勢となるように、把持用ロボットアーム31aと把持用ロボットアーム31bの軌道を制御し、ハンド部312aとハンド部312bを位置決めする。
【0123】
続いて、制御部61は、検査対象物7の予め決められた位置をハンド部312bで把持させ、ハンド部312bによる把持後、ハンド部312aの把持を解除する。これにより、ハンド部312a、312b間での検査対象物7の持ち替えが行われる。
【0124】
そして検査対象物7の持ち替え後、ステップS24へ戻り、制御部61(ロボット制御部13)は、持ち替え後の把持用ロボットアーム31および測定用ロボットアーム41を次の測定ポイントへ移動させ、検査対象物7およびカメラ43の位置決めを行う。
【0125】
上記したステップ24~ステップS28の処理は、全ての検査が終了するまで(ステップS26;Yes)、繰り返し実行される。
【0126】
検査対象物7の検査終了後、制御部61(ロボット制御部13)は、検査対象物7を把持している把持用ロボットアーム31をコンベア51上の把持解除位置まで移動させるとともに、ハンド部312を制御し、検査対象物7の把持状態を解除する(ステップS29)。これにより、コンベア51上に検査済みの検査対象物7がリリースされる。そして、制御部61(コンベア制御部11)は、検査済みの検査対象物7が載置されたコンベア51を動作制御し、検査対象物7を排出する。
【0127】
最後に、制御部61(データ表示部17)は、検査対象物7の検査結果に関する情報をモニタ67に表示する。例えば、制御部61は、
図21に示すように、欠陥箇所を明示した撮影画像を表示する。また、制御部61は、
図22に示すように、日ごとの不良品発生率の推移グラフを表示したり、
図23に示すように、製造工程パラメータから予測した不良発生率と実際の不良発生率との相関関係を示す相関解析結果などを表示してもよい。
【0128】
以上、図面を参照しながら、本実施形態について説明した。本実施形態の検査装置1は、検査対象物7を把持する把持用ロボットアーム31と、カメラ43が設けられた測定用ロボットアーム41と、制御装置6と、を備える。特に、制御装置6は、検査対象物7の形状データ8に基づいて、検査対象物7に対するカメラ43の測定位置10を算出し、測定位置10に基づいて把持用ロボットアーム31および測定用ロボットアーム41の軌道を生成する。そして、制御装置6は、生成した軌道に基づいて把持用ロボットアーム31および測定用ロボットアーム41の動作を制御し、検査対象物7およびカメラ43の測定ポイントへの位置決めを行う。
【0129】
このように、検査対象物7の形状データ8(CADデータ等)から算出された測定位置10に基づいて、把持用ロボットアーム31および測定用ロボットアームの軌道を自動生成することで、従来のように、プログラミングペンダント等による教示なしで検査対象物7の測定・検査を行うことができ、効率性の高い検査を実現することが可能となる。
【0130】
また、本実施形態によれば、全ての検査部位80が測定されるように測定位置10が算出される。具体的には、形状データ8を包含する多面体81を生成し、多面体81の各面82の中心83を通る面法線84上に1以上の測定候補位置101を設定し、各測定候補位置101の測定可能領域Pに基づいて、全ての検査部位80(検査対象領域)が測定され、かつ、測定数が最小となる測定位置10を選定する。これにより、全ての検査部位80を測定するための最適な測定位置10が自動で決定される。
【0131】
また、本実施形態によれば、形状データ8の各検査部位80に検査対象とする欠陥種類91や欠陥仕様92などの検査仕様9を紐づけて設定しておく。これにより、検査対象物7の良否判定を検査仕様9に基づいて効率的に行うことができる。
【0132】
また、本実施形態によれば、検査対象物7の測定・検査を2段階で実行する。すなわち、深層学習器72を用いて2次元画像データD1から欠陥候補71を抽出し(第1検査)、欠陥候補71が抽出されなかった場合には、検査対象物を「良」(欠陥なし)と判定する。一方、欠陥候補71が抽出された場合には、さらに3次元形状データD2に基づいて欠陥候補71の箇所の形状検査(寸法検査)を行い(第2検査)、最終的な良否判定を行う。
【0133】
従来、あらかじめ抽出した欠陥の画像特徴量に基づいて欠陥を認識・分類するためのルールを作り込み、このルールに基づいて欠陥候補を抽出することが良く行われていた。しかし、このようなルールベースのアルゴリズムでは、欠陥の形態やアイテム、ワーク形状など、個々の条件ごとにパラメータや閾値の調整が必要となる。さらに、検査装置の立上調整時や運用後も、見逃しや過検出を低減するためにパラメータの調整作業を繰り返すなど、非常に多くの工数がかかる。また、判定精度は検査者の技量に依存し、アルゴリズムの作り込みにも限界があるため、複雑な検査対象物であるほど十分な判定精度が得られなかった。
【0134】
この点、本実施形態では、欠陥候補抽出に深層学習を適用することで、煩雑なパラメータ調整や閾値調整が不要となり、開発工数を大幅に削減できる。しかし、深層学習だけでは、欠陥の寸法、深さ、高さなどの数値データを得ることが難しく、また、内部の処理がブラックボックスであるため、深層学習により得られた結果について、技術的な根拠を示すことが難しいという問題がある。
【0135】
そのため、本実施形態では、深層学習により欠陥候補が抽出された場合、該欠陥候補についてさらに形状検査(寸法検査)を行い、最終的な良否判定を行う。形状検査(寸法検査)は、欠陥候補の寸法、深さ、高さなどの数値データに基づいて実施されるため、検査結果についての技術的な根拠が明確になる。なお、形状検査のみで検査を行うことも可能であるが、3Dセンサ45による3次元形状測定は測定時間がかかるため、本実施形態では、1回目の測定・検査により2次元画像に基づく網羅的な検査を行い、2回目の測定・検査により3次元形状に基づく詳細な形状検査(寸法検査)を行う2段階の測定・検査方法を採用した。
【0136】
以上、添付図面を参照しながら、本開示に係る検査装置1等の好適な実施形態について説明したが、本開示はかかる例に限定されない。
【0137】
例えば、
図24に示すように、2D光学系42および3Dセンサ45は検査装置1Aの検査台19等に固定されてもよい。この場合、測定用ロボットアーム41の軌道制御が不要となる。すなわち、
図18のステップS23において、制御装置6の制御部61(軌道生成部143)は、検査対象物7に対するカメラ43の相対的な位置が、測定位置10となるように、把持用ロボットアーム31の軌道を生成する。そして、制御部61(ロボット制御部13)は、生成された軌道に基づいて、把持用ロボットアーム31の軌道を制御し、検査対象物7の位置決めを行う。
【0138】
また、測定用ロボットアーム41の先端部に、3Dスキャナおよびトラッキングマーカを搭載し、制御部61が、トラッキングマーカの動作をトラッキングシステムで追跡することで、検査対象物7の立体形状を測定するように構成してもよい。
【0139】
その他当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。
【符号の説明】
【0140】
1 :検査装置
2 :供給機構
2D :測定用ロボットアーム
3 :把持機構
4 :測定機構
5 :排出機構
6 :制御装置
7 :検査対象物
8 :形状データ
9 :検査仕様
10 :測定位置
11 :コンベア制御部
12 :ワーク認識部
13 :ロボット制御部
14 :動作設定部
15 :測定部
16 :検査部
17 :データ表示部
21 :コンベア
31 :把持用ロボットアーム
31a :把持用ロボットアーム
31b :把持用ロボットアーム
41 :測定用ロボットアーム
42 :2D光学系
43 :カメラ
44 :照明
45 :3Dセンサ
51 :コンベア
71 :欠陥候補
72 :深層学習器
80 :検査部位
80a :検査部位
80b :検査部位
81 :幾何形状
81 :球面グリッド
81 :多面体
82 :面
83 :中心
84 :面法線
91 :欠陥種類
92 :欠陥仕様
93 :照明条件
94 :第1測定データ
95 :第2測定データ
96 :検査結果
100 :測定検査テーブル
101 :測定候補位置
101a :測定候補位置
101b :測定候補位置
101c :測定候補位置
140 :検査部位設定部
141 :検査仕様設定部
142 :測定位置算出部
142a :幾何生成部
142b :測定候補位置設定部
142c :測定可能領域算出部
142d :測定位置選定部
143 :軌道生成部
151 :第1測定部
152 :第2測定部
161 :第1検査部
162 :第2検査部
311 :アーム部
311a :アーム部
311b :アーム部
312 :ハンド部
312a :ハンド部
312b :ハンド部
D1 :2次元画像データ
D2 :3次元形状データ
P :測定可能領域
P1 :測定可能領域
P2 :測定可能領域
P3 :測定可能領域
R :統合領域
R1 :統合領域
R2 :統合領域