(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023152778
(43)【公開日】2023-10-17
(54)【発明の名称】寸法測定装置及び寸法測定方法並びに寸法測定用プログラム、溶接箇所の良否判定装置
(51)【国際特許分類】
G01B 11/02 20060101AFI20231005BHJP
B23K 31/00 20060101ALI20231005BHJP
【FI】
G01B11/02 H
B23K31/00 K
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023033634
(22)【出願日】2023-03-06
(31)【優先権主張番号】P 2022056272
(32)【優先日】2022-03-30
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】江口 晴輝
(72)【発明者】
【氏名】吉田 成志
【テーマコード(参考)】
2F065
【Fターム(参考)】
2F065AA23
2F065AA53
2F065QQ29
2F065QQ31
2F065QQ41
2F065QQ42
2F065RR06
2F065SS13
(57)【要約】
【課題】母材や溶接ビードが任意の形状である場合に、溶接ビードの寸法を自動でかつ簡便に測定可能な寸法測定装置を提供する。
【解決手段】寸法測定装置20はデータ取得部1とビード領域抽出部2と輪郭抽出部3と端点取得部5と基準線付与部6と寸法算出部7とを備えている。データ取得部1は溶接ビード110が形成された母材100の形状データを取得する。ビード領域抽出部2と輪郭抽出部3は溶接ビード110の形成領域と輪郭をそれぞれ抽出し、端点取得部5は溶接ビード110の端点を取得する。基準線付与部6は、端点を起点として、第1基準線と複数の第2基準線の中点位置とが所定の角度範囲内でそれぞれ交差するように輪郭データに付与する。寸法算出部7は、第1基準線に基づいて溶接ビード110の長さを算出し、複数の第2基準線に基づいて溶接ビード110の幅を第1基準線に沿った複数個所で算出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
母材に形成された溶接ビードの寸法を測定する寸法測定装置であって、
前記溶接ビードが形成された前記母材の形状データを取得するデータ取得部と、
前記形状データから前記溶接ビードの形成領域をビード領域データとして抽出するビード領域抽出部と、
前記ビード領域データに基づいて、前記溶接ビードの輪郭を輪郭データとして抽出する輪郭抽出部と、
前記輪郭データに対してスムージング処理を行うスムージング処理部と、
スムージング処理された前記輪郭データに基づいて、前記溶接ビードの端点を取得する端点取得部と、
前記端点を起点として、前記溶接ビードの長さを測定するための第1基準線と、前記溶接ビードの幅を測定するための複数の第2基準線とを、前記輪郭データに付与する基準線付与部と、
前記第1基準線に基づいて前記溶接ビードの長さを算出し、かつ複数の前記第2基準線に基づいて、前記溶接ビードの幅を前記第1基準線に沿った複数個所で算出する寸法算出部と、を少なくとも備え、
前記基準線付与部は、前記第1基準線と複数の前記第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、前記第1基準線と複数の前記第2基準線とを前記輪郭データに付与することを特徴とする寸法測定装置。
【請求項2】
請求項1に記載の寸法測定装置において、
前記基準線付与部では、前記第2基準線は、前記溶接ビードの少なくともいずれか片側の輪郭に沿って、かつ第1距離で、前記第1基準線と複数の前記第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、前記第2基準線が交差する前記溶接ビードの両側の輪郭上の2点が順次移動しながら、付与されることを特徴とする寸法測定装置。
【請求項3】
請求項1に記載の寸法測定装置において、
前記端点取得部が複数の前記端点を取得した場合、
前記基準線付与部は、複数の前記端点のそれぞれを起点として、前記第1基準線を前記輪郭データに付与するとともに、付与された複数の前記第1基準線のそれぞれに対応して複数の前記第2基準線を前記輪郭データに付与し、
前記寸法算出部は、複数の前記第1基準線のそれぞれに基づいて、前記溶接ビードの長さを算出し、算出された複数の前記溶接ビードの長さのうち、最大値を前記溶接ビードの確定長さとするとともに、前記確定長さを有する前記第1基準線に対応した複数の前記第2基準線に基づいて、前記溶接ビードの幅を前記第1基準線に沿った複数個所で算出することを特徴とする寸法測定装置。
【請求項4】
請求項1に記載の寸法測定装置において、
前記基準線付与部は、
前記端点を端点A0とし、前記端点A0上に仮想点B0及び仮想点C0をそれぞれ付与する初期設定処理と、
仮想点Bi(iは0または1以上の整数)から、前記輪郭に沿って、前記端点A0から遠ざかる方向である第1方向に第1距離だけ進んだ点を仮想点B(i+1)とし、
仮想点Ciから、前記輪郭に沿って、前記端点A0から遠ざかる方向であって、前記第1方向と異なる方向である第2方向に前記第1距離だけ進んだ点を仮想点C(i+1)とし、
さらに前記仮想点B(i+1)と前記仮想点C(i+1)との中点を中点A(i+1)に設定する第1ループ処理と、を少なくとも実行し、
前記仮想点B(i+1)と前記仮想点C(i+1)とを結ぶ線分が、所定の角度範囲内で前記中点Aiと前記中点A(i+1)とを結ぶ線分と交差する場合は、
前記基準線付与部は、前記端点A0から仮想点Bk(kは整数で、1≦k<i)を経由して前記仮想点Biに至るまでの経路の距離と、前記端点A0から仮想点Ckを経由して前記仮想点Ciに至るまでの経路の距離との和が、前記輪郭の長さを超えるまで、前記第1ループ処理を1回または複数回実行し、前記第1基準線と複数の前記第2基準線とを前記輪郭データに付与することを特徴とする寸法測定装置。
【請求項5】
請求項4に記載の寸法測定装置において、
前記仮想点B(i+1)と前記仮想点C(i+1)とを結ぶ線分が、前記所定の角度範囲を超えて前記中点Aiと前記中点A(i+1)とを結ぶ線分と交差する場合は、
前記基準線付与部は、
前記仮想点B(i+1)及び前記仮想点C(i+1)のいずれか一方を前記輪郭に沿って、かつ前記端点A0から遠ざかる方向に前記第1距離だけ進めて、移動後の点を仮想点B(i+2)または仮想点C(i+2)と設定し、
前記仮想点B(i+2)と前記仮想点C(i+1)とを結ぶ線分と前記中点Aiと前記中点A(i+1)とを結ぶ線分の交差角度と、前記仮想点B(i+1)と前記仮想点C(i+2)とを結ぶ線分と前記中点Aiと前記中点A(i+1)とを結ぶ線分の交差角度とを比較し、かつ前記所定の角度範囲内かそれに近い交差角度となる前記仮想点B(i+2)または前記仮想点C(i+2)を選択し、
選択された仮想点が前記仮想点B(i+2)の場合、前記中点A(i+1)を前記仮想点B(i+2)と前記仮想点C(i+1)との中点に修正するとともに、前記仮想点B(i+2)を新たに前記仮想点B(i+1)に設定し、
選択された仮想点が前記仮想点C(i+2)の場合、前記中点A(i+1)を前記仮想点B(i+1)と前記仮想点C(i+2)との中点に修正するとともに、前記仮想点C(i+2)を新たに前記仮想点C(i+1)に設定する第2ループ処理を実行し、
前記仮想点B(i+1)と前記仮想点C(i+1)とを結ぶ線分が、前記所定の角度範囲内で前記中点Aiと前記中点A(i+1)とを結ぶ線分と交差するまで、前記第2ループ処理を繰り返し実行することを特徴とする寸法測定装置。
【請求項6】
請求項4に記載の寸法測定装置において、
前記基準線付与部は、前記第1基準線に対し、両端のそれぞれから所定の長さ分を削除して仮基準線とするとともに、前記仮基準線の両端近傍のそれぞれの傾きに応じた直線を前記仮基準線の両端のそれぞれから前記輪郭に交差するまで延長し、
さらに、前記基準線付与部は、前記仮基準線と、前記仮基準線の両端からそれぞれ延長した直線とを合成した線を新たに前記第1基準線として前記輪郭データに付与し、
前記寸法算出部は、新たに設定された前記第1基準線の長さを前記溶接ビードの長さとして算出し、かつ前記仮想点B(i+1)と前記仮想点C(i+1)とを結ぶ線分の長さを前記溶接ビードの幅として算出することを特徴とする寸法測定装置。
【請求項7】
請求項1ないし6のいずれか1項に記載の寸法測定装置において、
前記形状データは複数の画素データからなり、かつ複数の前記画素データのそれぞれは、少なくとも色情報または距離情報を含んでおり、
前記色情報は、前記画素データに含まれる色成分の情報であり、
前記距離情報は、前記画素データに含まれる前記母材または前記溶接ビードの表面位置と前記形状データを取得する三次元形状計測センサとの間の距離であり、
前記ビード領域抽出部は、前記色情報または前記距離情報に基づいて、かつ予めアノテーションが付与された学習データにより学習強化された所定のアルゴリズムを用いて、前記形状データから前記ビード領域データを抽出することを特徴とする寸法測定装置。
【請求項8】
母材に形成された溶接ビードの寸法測定方法であって、
前記溶接ビードが形成された前記母材の形状データを取得する第1ステップと、
前記形状データから前記溶接ビードの形成領域をビード領域データとして抽出する第2ステップと、
前記ビード領域データに基づいて、前記溶接ビードの輪郭を輪郭データとして抽出する第3ステップと、
前記輪郭データに対してスムージング処理を行う第4ステップと、
スムージング処理された前記輪郭データに基づいて、前記溶接ビードの端点を取得する第5ステップと、
前記端点を起点として、前記溶接ビードの長さを測定するための第1基準線と、前記溶接ビードの幅を測定するための複数の第2基準線とを、前記輪郭データに付与する第6ステップと、
前記第1基準線に基づいて前記溶接ビードの長さを算出し、かつ複数の前記第2基準線に基づいて、前記溶接ビードの幅を前記第1基準線に沿った複数個所で算出する第7ステップと、を少なくとも備え、
前記第6ステップでは、前記第1基準線と複数の前記第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、前記第1基準線と複数の前記第2基準線とを前記輪郭データに付与することを特徴とする寸法測定方法。
【請求項9】
請求項8に記載の寸法測定方法において、
前記第6ステップでは、前記第2基準線は、前記溶接ビードの少なくともいずれか片側の輪郭に沿って、かつ第1距離で、前記第1基準線と複数の前記第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、前記第2基準線が交差する前記溶接ビードの両側の輪郭上の2点が順次移動しながら、付与されることを特徴とする寸法測定方法。
【請求項10】
請求項8に記載の寸法測定方法において、
前記第5ステップで、前記端点が複数取得された場合、
前記第6ステップでは、複数の前記端点のそれぞれを起点として、前記第1基準線を前記輪郭データに付与するとともに、付与された複数の前記第1基準線のそれぞれに対応して複数の前記第2基準線を前記輪郭データに付与し、
前記第7ステップでは、複数の前記第1基準線のそれぞれに基づいて、前記溶接ビードの長さを算出し、算出された複数の前記溶接ビードの長さのうち、最大値を前記溶接ビードの確定長さとするとともに、前記確定長さを有する前記第1基準線に対応した複数の前記第2基準線に基づいて、前記溶接ビードの幅を前記第1基準線に沿った複数個所で算出することを特徴とする寸法測定方法。
【請求項11】
請求項9に記載の寸法測定方法において、
前記第6ステップは、
前記端点を端点A0とし、前記端点A0上に仮想点B0及び仮想点C0をそれぞれ付与するステップと、
第1ループ処理と、を少なくとも含み、
前記第1ループ処理は、
仮想点Bi(iは0または1以上の整数)から、前記輪郭に沿って、前記端点A0から遠ざかる方向である第1方向に第1距離だけ進んだ点を仮想点B(i+1)とするステップと、
仮想点Ciから、前記輪郭に沿って、前記端点A0から遠ざかる方向であって、前記第1方向と異なる方向である第2方向に前記第1距離だけ進んだ点を仮想点C(i+1)とするステップと、
前記仮想点B(i+1)と前記仮想点C(i+1)との中点を中点A(i+1)に設定するステップと、を少なくとも含み、
前記第6ステップにおいて、
前記仮想点B(i+1)と前記仮想点C(i+1)とを結ぶ線分が、所定の角度範囲内で前記中点Aiと前記中点A(i+1)とを結ぶ線分と交差する場合は、
前記端点A0から仮想点Bk(kは整数で、1≦k<i)を経由して前記仮想点Biに至るまでの経路の距離と、前記端点A0から仮想点Ckを経由して前記仮想点Ciに至るまでの経路の距離との和が、前記輪郭の長さを超えるまで、前記第1ループ処理を1回または複数回実行し、前記第1基準線と複数の前記第2基準線とを前記輪郭データに付与することを特徴とする寸法測定方法。
【請求項12】
請求項11に記載の寸法測定方法において、
前記仮想点B(i+1)と前記仮想点C(i+1)とを結ぶ線分が、前記所定の角度範囲を超えて前記中点Aiと前記中点A(i+1)とを結ぶ線分と交差する場合は、
前記第6ステップは、第2ループ処理をさらに含み、
前記第2ループ処理は、
前記仮想点B(i+1)及び前記仮想点C(i+1)のいずれか一方を前記輪郭に沿って、かつ前記端点A0から遠ざかる方向に前記第1距離だけ進めて、移動後の点を仮想点B(i+2)または仮想点C(i+2)と設定するステップと、
前記仮想点B(i+2)と前記仮想点C(i+1)とを結ぶ線分と前記中点Aiと前記中点A(i+1)とを結ぶ線分の交差角度と、前記仮想点B(i+1)と前記仮想点C(i+2)とを結ぶ線分と前記中点Aiと前記中点A(i+1)とを結ぶ線分の交差角度とを比較し、かつ前記所定の角度範囲内かそれに近い交差角度となる前記仮想点B(i+2)または前記仮想点C(i+2)を選択するステップと、
選択された仮想点が前記仮想点B(i+2)の場合、前記中点A(i+1)を前記仮想点B(i+2)と前記仮想点C(i+1)との中点に修正するとともに、前記仮想点B(i+2)を新たに前記仮想点B(i+1)に設定するステップと、
選択された仮想点が前記仮想点C(i+2)の場合、前記中点A(i+1)を前記仮想点B(i+1)と前記仮想点C(i+2)との中点に修正するとともに、前記仮想点C(i+2)を新たに前記仮想点C(i+1)に設定するステップと、を少なくとも含み、
前記仮想点B(i+1)と前記仮想点C(i+1)とを結ぶ線分が、前記所定の角度範囲内で前記中点Aiと前記中点A(i+1)とを結ぶ線分と交差するまで、前記第2ループ処理を繰り返し実行することを特徴とする寸法測定方法。
【請求項13】
請求項10に記載の寸法測定方法において、
前記第6ステップは、さらに、
前記第1基準線に対し、両端のそれぞれから所定の長さ分を削除して仮基準線とするとともに、前記仮基準線の両端近傍のそれぞれの傾きに応じた直線を前記仮基準線の両端のそれぞれから前記輪郭に交差するまで延長するステップと、
前記仮基準線と、前記仮基準線の両端からそれぞれ延長した直線とを合成した線を新たに前記第1基準線として前記輪郭データに付与するステップと、を含み、
前記第7ステップでは、新たに設定された前記第1基準線の長さを前記溶接ビードの長さとして算出し、かつ前記仮想点B(i+1)と前記仮想点C(i+1)とを結ぶ線分の長さを前記溶接ビードの幅として算出することを特徴とする寸法測定方法。
【請求項14】
請求項8ないし13のいずれか1項に記載の寸法測定方法において、
前記形状データは複数の画素データからなり、かつ複数の前記画素データのそれぞれは、少なくとも色情報または距離情報を含んでおり、
前記色情報は、前記画素データに含まれる色成分の情報であり、
前記距離情報は、前記画素データに含まれる前記母材または前記溶接ビードの表面位置と前記形状データを取得する三次元形状計測センサとの間の距離であり、
前記第2ステップでは、前記色情報または前記距離情報に基づいて、かつ予めアノテーションが付与された学習データにより学習強化された所定のアルゴリズムを用いて、前記形状データから前記ビード領域データを抽出することを特徴とする寸法測定方法。
【請求項15】
1または複数のプロセッサに、請求項8に記載の寸法測定方法を実行させるための寸法測定用プログラム。
【請求項16】
請求項1に記載の寸法測定装置と、
前記溶接ビードを含む溶接箇所の不良の有無を判定する形状不良判定装置と、を少なくとも備え、
前記寸法測定装置の測定結果と、前記形状不良判定装置の判定結果とに基づいて、前記溶接箇所の外観が所定の基準を満足するか否かを判定することを特徴とする溶接箇所の良否判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、溶接ビードの寸法測定装置及び寸法測定方法並びに寸法測定用プログラム、溶接箇所の良否判定装置に関する。
【背景技術】
【0002】
溶接箇所(例えば、溶接ビードと当該溶接ビードを含む所定の範囲の母材)に関する外観検査を行うことは、溶接品質を担保するために重要である。外観検査には、穴あきやピット等の形状不良の有無や形状不良の種類等を検査する形状不良検査以外に、溶接ビードの寸法が所望の範囲内にあるか否かを検査する寸法検査がある。
【0003】
溶接箇所の外観検査について、検査を行う作業者の技量に依存せず、一定の水準で検査を行いたいという要望がある。また、近年、熟練作業者の数が不足しているという問題もある。
【0004】
これらの理由から、近年、外観検査の自動化が進められてきている。このうち、寸法検査の自動化、具体的には、溶接ビードの寸法測定の自動化について、種々の技術が提案されている。
【0005】
例えば、特許文献1には、レーザ変位計で取得した母材及び溶接ビードの断面形状に対して近似曲線あるいは直線をあてはめ、微分等の数値解析を行うことで、母材における溶接ビードの存在部分を特定したり、溶接ビードの寸法を特定したりする方法が開示されている。
【0006】
特許文献2には、溶接前の母材の情報を用いて比較形状を作成し、これとの比較により接合部形状を特定する方法が開示されている。
【0007】
特許文献1,2に開示される従来の方法は、予め、検査手法の開発者が検査ルールや検査条件を定め、しきい値等の各パラメータを準備、設定する。これらの準備されたルールやパラメータ等に基づいて溶接ビードが形成された母材の外観検査を行い、溶接ビードの形成領域や寸法等を特定する方法を、ルールベースによるアプローチと呼ぶことがある。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2019-124560号公報
【特許文献2】特開2010-256326号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、前述したルールベースによるアプローチでは、予め設定されていないルールでデータを取り扱いたい場合、再度、検査ルールやパラメータの検討と最終的な設定が必要であり、非常に拡張性が低いという欠点がある。例えば、従来、直線状の溶接ビードの検査のみを対象としていたが、曲線状の溶接ビードを検査する必要が生じた場合、検査ルールやパラメータの再検討、再設定が必要となる。また、従来、溶接ビードの検査において、母材として平板のみを対象としていたが、曲面を有する母材に形成された溶接ビードを検査する場合も同様の問題が生じる。また、検査ルールの数が増加するにつれて、検査パラメータ数も増加することが多い。その場合、検査ルールや検査パラメータの設定が煩雑で時間がかかるという問題もある。
【0010】
本開示はかかる点に鑑みてなされたもので、その目的は、母材や溶接ビードがそれぞれ任意の形状である場合にも、溶接ビードの寸法を自動でかつ簡便に測定できる寸法測定装置及び寸法測定方法並びに寸法測定用プログラム、さらに溶接箇所の良否判定装置を提供することにある。
【課題を解決するための手段】
【0011】
本開示に係る寸法測定装置は、母材に形成された溶接ビードの寸法を測定する寸法測定装置であって、前記溶接ビードが形成された前記母材の形状データを取得するデータ取得部と、前記形状データから前記溶接ビードの形成領域をビード領域データとして抽出するビード領域抽出部と、前記ビード領域データに基づいて、前記溶接ビードの輪郭を輪郭データとして抽出する輪郭抽出部と、前記輪郭データに対してスムージング処理を行うスムージング処理部と、スムージング処理された前記輪郭データに基づいて、前記溶接ビードの端点を取得する端点取得部と、前記端点を起点として、前記溶接ビードの長さを測定するための第1基準線と、前記溶接ビードの幅を測定するための複数の第2基準線とを、前記輪郭データに付与する基準線付与部と、前記第1基準線に基づいて前記溶接ビードの長さを算出し、かつ複数の前記第2基準線に基づいて、前記溶接ビードの幅を前記第1基準線に沿った複数個所で算出する寸法算出部と、を少なくとも備え、前記基準線付与部は、前記第1基準線と複数の前記第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、前記第1基準線と複数の前記第2基準線とを前記輪郭データに付与することを特徴とする。
【0012】
本開示に係る寸法測定方法は、母材に形成された溶接ビードの寸法測定方法であって、前記溶接ビードが形成された前記母材の形状データを取得する第1ステップと、前記形状データから前記溶接ビードの形成領域をビード領域データとして抽出する第2ステップと、前記ビード領域データに基づいて、前記溶接ビードの輪郭を輪郭データとして抽出する第3ステップと、前記輪郭データに対してスムージング処理を行う第4ステップと、スムージング処理された前記輪郭データに基づいて、前記溶接ビードの端点を取得する第5ステップと、前記端点を起点として、前記溶接ビードの長さを測定するための第1基準線と、前記溶接ビードの幅を測定するための複数の第2基準線とを、前記輪郭データに付与する第6ステップと、前記第1基準線に基づいて前記溶接ビードの長さを算出し、かつ複数の前記第2基準線に基づいて、前記溶接ビードの幅を前記第1基準線に沿った複数個所で算出する第7ステップと、を少なくとも備え、前記第6ステップでは、前記第1基準線と複数の前記第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、前記第1基準線と複数の前記第2基準線とを前記輪郭データに付与することを特徴とする。
【0013】
本開示に係る寸法測定用プログラムは、1または複数のプロセッサに、前記寸法測定方法を実行させるための寸法測定用プログラムである。
【0014】
本開示に係る溶接箇所の良否判定装置は、前記寸法測定装置と、前記溶接ビードを含む溶接箇所の不良の有無を判定する形状不良判定装置と、を少なくとも備え、前記寸法測定装置の測定結果と、前記形状不良判定装置の判定結果とに基づいて、前記溶接箇所の外観が所定の基準を満足するか否かを判定することを特徴とする。
【発明の効果】
【0015】
本開示によれば、母材や溶接ビードがそれぞれ任意の形状である場合にも、溶接ビードの寸法を自動でかつ簡便に測定することができる。
【図面の簡単な説明】
【0016】
【
図1】実施形態1に係る寸法測定装置の機能ブロック図である。
【
図2】寸法測定装置のハードウェア構成の模式図である。
【
図3】外観検査装置による溶接ビードの形状データ取得の様子を示す模式図である。
【
図4】溶接ビードの寸法測定手順を示すフローチャートである。
【
図5】スムージング処理時及び端点取得時の溶接ビードの輪郭を示す模式図である。
【
図6】溶接ビードの形成領域抽出手順を示すフローチャートである。
【
図7】形状データの画像及び形状データにおける溶接ビードの形成領域とそれ以外の領域とを示す図である。
【
図8】学習データ生成用のアノテーション付与手順を示すフローチャートである。
【
図9A】形状データにアノテーションを付与する様子を示す一例である。
【
図9B】アノテーション付与後の形状データの画像を示す一例である。
【
図10】第1基準線及び第2基準線の付与手順を示すフローチャートである。
【
図11A】第1基準線及び第2基準線を付与する際の第1ループ処理の様子を示す模式図である。
【
図12】第1基準線及び第2基準線を付与する際の第2ループ処理の様子を示す模式図である。
【
図13】第1基準線の補正手順を示すフローチャートである。
【
図14A】補正を行わない場合の第1基準線が付与された輪郭データの一例である。
【
図14B】補正を行わない場合の第1基準線が付与された別の輪郭データの一例である。
【
図15A】第1基準線を仮基準線に変形した場合の輪郭データの一例である。
【
図15B】第1基準線を仮基準線に変形した場合の別の輪郭データの一例である。
【
図16A】補正が完了した後の第1基準線が付与された輪郭データの一例である。
【
図16B】補正が完了した後の第1基準線が付与された別の輪郭データの一例である。
【
図17】実施形態2に係る溶接箇所の良否判定装置の機能ブロック図である。
【発明を実施するための形態】
【0017】
以下、本開示の実施形態を図面に基づいて説明する。なお、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本開示、その適用物或いはその用途を制限することを意図するものではない。
【0018】
(実施形態1)
[1:溶接ビードの寸法測定装置の構成]
図1は、本実施形態に係る寸法測定装置の機能ブロック図を示し、
図2は、寸法測定装置のハードウェア構成の模式図を示す。
【0019】
図1に示すように、寸法測定装置20は、データ取得部1とビード領域抽出部2と輪郭抽出部3とスムージング処理部4とを少なくとも備えている。また、寸法測定装置20は、端点取得部5と基準線付与部6と寸法算出部7とを備えている。また、寸法測定装置20は、記憶部8と表示部9とを備えている。
【0020】
データ取得部1は、外観検査装置30(
図3参照)から溶接ビード110(
図3参照)が形成された母材100(
図3参照)の形状データ(以下、単に形状データという)を取得する。なお、
図1では、外観検査装置30からデータ取得部1に形状データが直接入力される例を示したが、特にこれに限定されない。例えば、寸法測定装置20の外部に設けられた、図示しない記憶部に形状データが保存されており、データ取得部1が当該記憶部から形状データを取得するようにしてもよい。
【0021】
ビード領域抽出部2は、形状データから溶接ビード110の形成領域をビード領域データとして抽出する。言い換えると、ビード領域抽出部2は、形状データから溶接ビード110の形成領域をビード領域データとして、高さ情報を含まない二次元データ形式で抽出する。これにより、シンプルな二次元データ形式で、溶接ビードの長さ、溶接ビードの幅を抽出するためのビード領域データ抽出することができる。ビード領域データ抽出に機械学習(深層学習)を用いて行うため、従来方式のような溶接ビード長さや溶接ビード幅を計測するための、溶接方式(アーク溶接、レーザ溶接、など)、溶接継ぎ手(重ね、突き合わせ、など)、溶接ビード形状(直線、曲線など)等に応じて、種々の設定(各種基準値の微妙なパラメータ設定)が不要である。このため、溶接ビード領域を容易に抽出可能で、新規のユーザであっても操作に対する親和性を非常に高くすることができる。なお、ビード領域データの抽出方法については後で述べる。
【0022】
輪郭抽出部3は、ビード領域データに基づいて、溶接ビード110の輪郭を輪郭データとして抽出する。輪郭データの抽出方法については後で述べる。
【0023】
スムージング処理部4は、輪郭データに対してスムージング処理を行う。
【0024】
端点取得部5は、スムージング処理された輪郭データに基づいて、溶接ビード110の端点(以下、単に端点と呼ぶことがある。)を取得する。なお、後で述べるように、端点は、溶接ビード110の輪郭上において、複数取得されてもよい。
【0025】
基準線付与部6は、端点を起点として、溶接ビード110の長さを測定するための第1基準線と、溶接ビード110の幅を測定するための複数の第2基準線とを、輪郭データに付与する。第1基準線と、複数の第2基準線のそれぞれの中点位置とは、所定の角度範囲内でそれぞれ交差するものとする。なお、後で述べるように、第2基準線は、溶接ビード110の輪郭に沿って第1距離(等距離)毎に、第1基準線と所定の角度範囲内で交差するように複数本、付与される。ここで、第2基準線は、溶接ビード110の少なくともいずれか片側の輪郭に沿ってかつ第1距離で、第1基準線と複数の第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、第2基準線が交差する溶接ビード110の両側の輪郭上の2点が順次移動しながら、付与される。このようにすることで、任意のビード領域データの複雑なビード領域データ、例えば異なる複数の曲線の連続を含む溶接ビード110の形成領域であるビード領域データに対し、第1基準線と、第1基準線にそれぞれ交差する複数の第2基準線とを容易に付与することができる。なお、第1距離は、複数種類の等間隔の距離で構成されてもよい。また、具体的な第1基準線や第2基準線の付与方法については、後で述べる。
【0026】
なお、本願明細書において、「所定の角度範囲」とは、90°±δ(°)であり、δは予め設定された固定値である。δは、例えば、5(°)に設定される。
【0027】
寸法算出部7は、第1基準線に基づいて溶接ビード110の長さを算出する。さらに、寸法測定部は、複数の第2基準線に基づいて、溶接ビード110の幅を第1基準線に沿った複数個所で算出する。なお、算出された溶接ビード110の複数個所の幅に関する統計量も寸法算出部7で算出される。統計量として、例えば、最大値、最小値、平均値、分散等が挙げられる。
【0028】
記憶部8は、溶接ビード110の寸法測定方法を記述した寸法測定用プログラムを保存する。また、記憶部8は、溶接ビード110の寸法測定結果を保存する。記憶部8は、データ取得部1で取得された形状データを一時的に保存してもよい。また、後で述べるように、ビード領域抽出部2は、形状データから溶接ビードの形成領域を示すビード領域データを抽出するにあたって、学習データを用いて機械学習(深層学習)を行う。
【0029】
表示部9は、形状データやビード領域データを二次元または三次元の画像データとして表示する。また、表示部9は、第1基準線や第2基準線が付与される前後の輪郭データを表示する。表示部9は、寸法測定結果を数値または表形式で表示してもよい。あるいは、表示部9は、寸法測定結果を第1基準線や第2基準線が付与された後の輪郭データに付与する形で表示してもよい。また、複数の溶接ビード110に関し、寸法測定結果を表示する場合、表示部9は、グラフ形式で当該結果を表示してもよい。
【0030】
学習データ生成部10は、ビード領域データを抽出するのに用いられる学習データを生成する。記憶部8は、この場合の学習データを保存するようにしてもよい。なお、記憶部8と表示部9と学習データ生成部10とは、寸法測定装置20の外部に設けられてもよい。
【0031】
図2に示す寸法測定装置20のハードウェア構成は、公知のパーソナルコンピュータ(PC)の構成と同様である。つまり、寸法測定装置20は、ハードウェアとして、入力ポート21とCPU(Central Processing Unit)22とGPU(Graphics Processing Unit)23とRAM(Random Access Memory)/ROM(Read Only Memory)24と出力ポート25とデータバス26とを少なくとも備えている。
【0032】
図1に示す寸法測定装置20内の複数の機能ブロックは、
図2に示す各種デバイスに対応している。例えば、RAM/ROM24は、
図1に示す記憶部8に対応している。入力ポート21は、
図1に示すデータ取得部1に対応している。また、寸法測定装置20は、
図1に示す表示部9としてディスプレイ27を備えている。
【0033】
なお、寸法測定装置20は、入力デバイスとしてキーボードやタッチパネル(いずれも図示せず)を備えていてもよい。また、ディスプレイ27をタッチパネルとし、入力デバイスとして利用してもよい。また、寸法測定装置20は、
図1に示す記憶部8として、RAM/ROM24以外にHDD(Hard Disk Drive)やSSD(Solid State Drive)を備えていてもよい。
【0034】
なお、
図1に示すビード領域抽出部2と輪郭抽出部3と端点取得部5と基準線付与部6と寸法算出部7のそれぞれの機能は、GPU23またはCPU22において、記憶部8に保存された寸法測定用プログラムを実行することで実現される。なお、ビード領域抽出部2の機能、つまり、形状データから溶接ビード110の形成領域を抽出する機能は、GPU23において寸法測定用プログラムの一部を実行することで実現される。それ以外の機能に関しては、GPU23において寸法測定用プログラムを実行して実現してもよいし、あるいはCPU22において寸法測定用プログラムを実行して実現してもよい。また、学習データ生成部10の機能は、GPU23またはCPU22において、寸法測定用プログラムとは別のプログラムを実行することで実現される。
【0035】
なお、GPU23とCPU22を総称して、プロセッサと呼ぶことがある。寸法測定装置20は1個のプロセッサ(GPU23またはCPU22)を有していてもよい。ただし、寸法測定装置20は、複数個のプロセッサ(GPU23とCPU22、また、それぞれが複数個あってもよい。)を有するのが、データの処理速度向上の観点から好ましい。
【0036】
なお、
図2では、1本のデータバス26に各種デバイスが接続された例を示しているが、通常のPCと同様に、複数のデータバス26が用途に応じて設けられていてもよい。
【0037】
[2:溶接ビードの寸法測定手順]
図3は、外観検査装置による溶接ビードの形状データ取得の様子を示す模式図であり、
図4は、溶接ビードの寸法測定手順を示すフローチャートである。
図5は、スムージング処理時及び端点取得時の溶接ビードの輪郭を示す模式図である。
【0038】
図3に示すように、外観検査装置30は、三次元形状計測センサ31がロボット32に取り付けられて構成され、母材100に形成された溶接ビード110の形状を計測する。なお、三次元形状計測センサ31は、ロボット32に保持された溶接ヘッド(図示せず)に取り付けられてもよい。なお、溶接ヘッドとは、母材100に溶接のためのエネルギーを供給するエネルギー供給部にあたり、例えば、溶接トーチやレーザヘッドをいう。
【0039】
三次元形状計測センサ31は、母材100の表面を走査可能に構成されたレーザ光源(図示せず)と、母材100の表面に投影されたレーザ光線の反射軌跡を撮像するカメラまたは受光センサ(いずれも図示せず)とで構成されている。なお、カメラは撮像素子としてCCDまたはCMOSイメージセンサを有している。また、三次元形状計測センサ31の構成は特に上記に限定されず、他の構成を採りうる。例えば、カメラや受光センサの代わりに光干渉計を用いてもよい。
【0040】
三次元形状計測センサ31によって、溶接ビード110及びその周囲の母材100をレーザ光線で走査し、溶接ビード110や母材100で反射されたレーザ光線をカメラまたは受光センサで撮像することにより、溶接ビード110及びその周囲の母材100の三次元形状、つまり、形状データが取得される。
【0041】
なお、三次元形状計測センサ31で取得される形状データには、位置情報だけでなく色情報も含まれていてもよい。また、三次元形状計測センサ31の撮像素子または受光センサがカラー画像または白黒画像を取得する場合、各画素には、位置情報と色情報または距離情報とが含まれる。つまり、形状データを構成する各画素のデータ、つまり、画素データには、位置情報と色情報、または位置情報と距離情報、あるいは位置情報と色情報と距離情報とが含まれる。
【0042】
ここで、「位置情報」とは、母材100の表面における所定の位置を原点とする二次元の座標情報である。例えば、母材100の表面と平行な任意の方向をX方向とし、母材100の表面と平行であって、X方向と直交する方向をY方向とし、X方向及びY方向とそれぞれ直交する方向をZ方向とすると、位置情報は、(X,Y)=(a,b)(a,bは任意の値)で表現される。位置情報は、具体的には、各画素の母材100の表面における位置または各画素の溶接ビード110の表面における位置を座標(X,Y)で表現したものである。
【0043】
また、形状データにおいて、位置情報に距離情報がさらに結合される場合がある。本願明細書において、「距離情報」とは、三次元形状計測センサ31と、座標(X,Y)で表される母材100の表面位置または溶接ビード110の表面位置との間の距離を言う。
【0044】
この場合、距離情報を含めた座標情報は、(X,Y,Z)=(a,b,c)(cは任意の値)で表現され、座標(X,Y)と三次元形状計測センサ31との距離が、距離情報Z(=c)で表現される。
【0045】
また、「色情報」とは、カメラの撮像素子または受光センサから出力される信号に含まれる色成分の情報である。撮像素子がカラー画像を取得する場合、画素データに含まれる色情報は、例えば、R成分(赤色成分)とG成分(緑色成分)とB成分(青色成分)のそれぞれの輝度情報であってもよい。撮像素子が白黒画像を取得する場合、画素データに含まれる色情報は、輝度情報である。また、色情報には、透明度を表す成分(A成分)の輝度に相当する情報が含まれていてもよい。輝度の大きさは、例えば、正規化されていてもよい。
【0046】
また、「色情報」は、色の種類に関する情報であってもよい。例えば、色の種類毎に番号を付与されたテーブル等が準備される場合、色情報は、色の種類に対応した番号に相当する。
【0047】
いずれの場合も、位置情報に当該位置における色情報が結合された状態で形状データが構築されている。また、撮像素子で溶接ビード110を含む母材100を撮像する場合、形状データは、撮像素子の各画素における画素データの集合体であるとも言える。ただし、形状データは、一般的な画像データのように二次元または三次元のデータに区分されない。
【0048】
このように外観検査装置30で取得された形状データは、
図4に示すように、寸法測定装置20のデータ取得部1に入力される(ステップS1)。
【0049】
次に、ビード領域抽出部2で、形状データからビード領域データが抽出される(ステップS2)。ステップS2は複数のステップを含み、これらの詳細は後で説明する。
【0050】
次に、輪郭抽出部3は、ビード領域データから輪郭データを抽出する(ステップS3)。具体的には、画像処理機能を有するライブラリ、例えば、OpenCV(Open Source Computer Vision Library)を用いて、ビード領域データから輪郭データが抽出される。
【0051】
さらに、スムージング処理部4は、輪郭データに対してスムージング処理を行う(ステップS4)。具体的には、
図5に示すように、輪郭データに移動平均フィルタを適用して、輪郭データに含まれるジャギーが除去される。なお、ジャギーとは、デジタル画像等に発生するノイズの一種で、線や輪郭に現れる階段状のギザギザのことを言う。
【0052】
なお、スムージング処理は、移動平均フィルタを用いたフィルタリング処理以外の方法で行ってもよい。
【0053】
次に、端点取得部5は、ステップS4が実行された後の輪郭データに対し1点または複数点の端点(
図5参照)を取得する(ステップS5)。端点は、例えば、輪郭が変曲する点、言い換えると、輪郭の傾きの方向が反対方向に変化する点が選択される。なお、スムージング処理を行っていない場合、ジャギーの角部が、端点と認識される場合がある。ステップS4のスムージング処理を行うことで、端点の誤認識が発生するのを抑制できる。
【0054】
さらに、基準線付与部6は、ステップS5の端点取得が実行された後の輪郭データに対して、端点を起点として、前述の第1基準線と第2基準線を付与する(ステップS6)。言い替えると、基準線付与部6は、端点を起点として、溶接ビード110の長さを測定するための第1基準線と、溶接ビード110の幅を測定するための複数の第2基準線と、を輪郭データに付与する。また、第1基準線と複数の第2基準線とを輪郭データに付与するにあたって、複数の第2基準線のそれぞれが、第1基準線と第2基準線の交点で、所定の角度範囲内で第1基準線と交差するようする。なお、ステップS6は複数のステップを含む。ステップS5とステップS6の詳細については後で説明する。
【0055】
次に、寸法算出部7は、第1基準線に基づいて溶接ビード110の長さを算出する。また、寸法算出部7は、複数の第2基準線に基づいて、溶接ビード110の幅を第1基準線に沿った複数個所で算出する。さらに、寸法算出部7は、寸法算出された溶接ビード110の複数個所の幅に関し、前述の統計量を算出する(ステップS7)。
【0056】
なお、ステップS5の端点取得において、複数の端点が取得された場合、ステップS6において、第1基準線と複数の第2基準線との組が複数組生成される。この場合、ステップS7の寸法算出では、それぞれの組に関し、溶接ビード110の長さと幅を算出し、溶接ビード110の長さが最も長くなる組の値を選択し、最終的な算出結果とする。具体的には、算出された複数の溶接ビード110の長さのうち、最大値を溶接ビード110の確定長さとし、これに対応する第1基準線のみを選択する。また、選択された第1基準線に対応した複数の第2基準線のみを選択する。選択された複数の第2基準線に基づいて、溶接ビード110の幅を選択された第1基準線に沿った複数個所で算出する。残りの算出結果、つまり、確定長さを有していない第1基準線とこれに対応した第2基準線とに基づいた算出結果に関しては、記憶部8に保存せず削除する。
【0057】
ステップS7の寸法算出で算出された溶接ビード110の寸法を出力する(ステップS8の算出結果の出力)。算出結果の出力先は、記憶部8、または、寸法測定装置20の外部に設けられた機器または記憶部(いずれも図示せず)である。後者の場合は、出力ポート25を介して、算出結果が送信される。あるいは、算出結果を直接、表示部9に出力してもよい。その場合の算出結果は、数値または表形式あるいはグラフ形式で表示部9に表示される。また、算出結果は、第1基準線と第2基準線とが付与された輪郭データとともに、表示部9に表示されてもよい。
【0058】
[2-1:溶接ビードの形成領域抽出手順]
図6は、溶接ビードの形成領域の抽出手順を示すフローチャートであり、
図4のステップS2のビード領域データ抽出の処理に対応している。
【0059】
図7は、形状データの画像及び形状データにおける溶接ビードの形成領域とそれ以外の領域とを示す図である。
図8は、学習データ生成用のアノテーション付与手順を示すフローチャートである。
図9Aは、形状データにアノテーションを付与する様子を示す一例であり、
図9Bは、アノテーション付与後の形状データの画像を示す一例である。
【0060】
溶接ビード110の形成領域をビード領域データとして形状データから抽出するにあたって、
図6に示すように、抽出元となる形状データが準備される。また、ステップS12の機械学習(深層学習)を実行するにあたって、必要な数と種類の学習データが準備される(ステップS11)。前述したように、学習データは、記憶部8に保存されたデータを利用してもよいし、寸法測定装置20の外部から入力されたデータを利用してもよい。
【0061】
次に、ビード領域抽出部2は、学習データを用いて、ビード領域データを抽出するためのアルゴリズムに対して機械学習(深層学習)を行う(ステップS12)。学習強化されたアルゴリズムを用いて、形状データを、ビード領域データとそれ以外の領域に関するデータとに二分化された状態に加工する(ステップS13)。ステップS12,S13を実行するにあたって、セマンティック・セグメンテーションと呼ばれるアルゴリズムが使用される。セマンティック・セグメンテーションは、画像データにおける全画素のデータにラベルやカテゴリーを関連付けるアルゴリズムであり、物体検出等に用いられる。本実施形態では、DeepLab v3+と呼ばれるアルゴリズムが使用されるが、特にこれに限定されない。また、当該アルゴリズムは、GPU23で実行される。
【0062】
形状データを撮像素子で取得される画像データとして見た場合、形状データにおける各画素のデータに対し、分類が行われる。本実施形態では、形状データにおける各画素のデータにおいて、前述の色情報や三次元形状計測センサ31との距離を表す距離情報が結合されている。ステップS12,S13では、この色情報に着目したクラス分けが行われる。さらに言うと、形状データは、固定サイズに拡張、縮小または分割加工された後、GPU23に実装されたCNN(Convolutional Neural Network;畳み込みニューラルネットワーク)、具体的には、DeepLab v3+に入力される。さらに、CNNの各層で形状データに対して演算処理がなされる。この際、色情報または距離情報に基づいて、溶接ビード110の形成領域に対応するクラスと、それ以外の領域に対応するクラスとに二分化されたクラス分けが行われる。ビード領域抽出部2は、前述のクラスが付与されて、ビード領域データとそれ以外の領域のデータとが識別可能な形式となった形状データを生成する。具体的には、
図7に示すように、形状データの画像に対し、溶接ビード110の形成領域とそれ以外の領域とが色分けされた画像が生成される。
【0063】
ステップS13の実行後、加工結果は、記憶部8に保存される(ステップS14の加工結果の保存)。
【0064】
このように、機械学習(深層学習)で学習強化されたアルゴリズムを使用することで、形状データから溶接ビード110の形成領域であるビード領域データを精度良く、また確実に抽出することができる。また、深層学習を用いてビード領域データを特定するため、例えば、ローパスフィルタ等によるノイズ除去によって溶接部の外観形状の特徴量を特定する場合に比べて、微妙なパラメータ設定によりビード領域データの抽出精度が不安定になる等の問題が生じない。
【0065】
なお、学習データは、別途、準備された実際の溶接ビード110を外観検査して得られた形状データをもとに生成している。ここでは、寸法測定装置20の内部に設けられた学習データ生成部10で学習データを生成する場合を例に取って説明する。ただし、前述したように、学習データを寸法測定装置20の外部で生成してもよい。
【0066】
まず、
図8に示すように、アノテーション付与時の図形指定モードを選択する(ステップS21)。本実施形態では、溶接ビート110の形状を多角形で近似してアノテーションを付与する。
【0067】
次に、学習データ生成部10は、学習データを生成するための形状データを呼び出して、当該形状データのデータファイルを開き(ステップS22)、さらに、開いたデータファイルを表示部9に表示して、可視化する。この場合の表示部9は、タッチパネルであり、入力機能も備えている。なお、入力機能は、タッチペンやマウス等の別のデバイスで実現されてもよい。
【0068】
形状データの画像を表示部9に表示させた後、形状データの画像を見ながら、作業者が溶接ビード110の輪郭をトレースする。本実施形態では、図形指定モードとして、前述した多角形指定モードを選択している。この場合は、
図9Aに示すように、輪郭に沿って、順次タッチペン等でクリックすることにより、多角形の頂点が決定される。最終的に、
図9Bに示すように、溶接ビード110が多角形で囲まれて、溶接ビード110の形成領域が指定され、アノテーション付与が終了する(ステップS23)。
【0069】
アノテーションが付与された形状データは、学習データとして記憶部8に保存される(ステップS24)。
【0070】
次に、アノテーションを付与すべき形状データのデータファイルが残っているか否かを、学習データ生成部10が判断する(ステップS25)。ステップS25の判断結果が否定的、つまり、アノテーションを付与すべき形状データのデータファイルが残っていなければ、アノテーション付与作業を終了する。ステップS25の判断結果が肯定的、つまり、アノテーションを付与すべき形状データのデータファイルが残っていれば、ステップS25の判断結果が否定的になるまで、ステップS22~S24の一連の処理を繰り返し実行する。なお、ステップS25の処理は、作業者が実行してもよい。
【0071】
[2-2:第1基準線及び第2基準線の付与手順]
図10は、第1基準線及び第2基準線の付与手順を示すフローチャートであり、
図4に示すステップS6の処理(第1基準線及び第2基準線を生成し、輪郭データに付与)に対応している。
【0072】
図11Aは、第1基準線及び第2基準線を付与する際の第1ループ処理の様子を示す模式図である。
図11Bは、
図11Aに示す処理に続く処理の様子を示す模式図である。
図11Cは、
図11Bに示す処理に続く処理の様子を示す模式図である。
図12は、第1基準線及び第2基準線を付与する際の第2ループ処理の様子を示す模式図である。
【0073】
まず、端点取得部5で取得した端点を輪郭データ上で端点A
0と設定する。
図10及び
図11Aに示すように、端点A
0上に仮想点B
i,C
iをそれぞれ付与する(ステップS31)。iは0または1以上の整数であるが、ステップS31では、i=0とする。仮想点B
i,C
iは、それぞれ、端点A
0に重なって設定された仮想点(A0(B0、C0))である。ステップS31の処理を初期設定処理と呼ぶことがある。また、ステップS31以降の処理は、基準線付与部6で実行される。
【0074】
次に、
図11Bに示すように、仮想点B
iを、溶接ビード110の輪郭に沿って、端点A
0から遠ざかる方向である第1方向に所定の距離(以下、第1距離と言う)だけ進める。移動後の点を仮想点B
(i+1)とする。同時に、仮想点C
iを、溶接ビード110の輪郭に沿って、端点A
0から遠ざかる方向であって、第1方向と異なる方向である第2方向に第1距離だけ進める。移動後の点を仮想点C
(i+1)とする(ステップS32)。仮想点B
(i+1)と仮想点C
(i+1)との中点を中点
A(i+1)に設定する(ステップS33)。ステップS32及びステップS33の処理を、第1ループ処理と呼ぶことがある。
図11B、および次に
図11Bに続く
図11Cに示すように、第1ループ処理を順次進めることで、端点A
0及び仮想点B
1,B
2,C
1,C
2が溶接ビード110の輪郭上に、中点A
1,A
2が溶接ビード110の領域内にそれぞれ配置される。
図11Cに示す経路A
0-A
1-A
2は、第1基準線の一部をなす。また、線分B
1-C
1及び線分B
2-C
2は、それぞれ第2基準線に相当する。
【0075】
次に、第1基準線における、線分B(i+1)-C(i+1)と第2基準線における、線分Ai-A(i+1)とが、前述した所定の角度範囲内で交差するか否かを判断する(ステップS34)。つまり、線分B(i+1)-C(i+1)と線分Ai-A(i+1)とが、90(°)±δ(°)の範囲内で交差するか否かを判断する。
【0076】
ステップS34の判断結果が否定的な場合、つまり、線分B(i+1)-C(i+1)と線分Ai-A(i+1)とが、所定の角度範囲を超えて交差する場合、ステップS36に進む。
【0077】
ステップS36では、仮想点B(i+1)及び仮想点C(i+1)のいずれか一方を溶接ビード110の輪郭に沿って、かつ端点A0から遠ざかる方向に第1距離だけ移動させる。移動後の点を仮想点B(i+2)または仮想点C(i+2)と設定し、ステップS37に進む。
【0078】
ステップS37では、線分B(i+2)-C(i+1)と線分Ai-A(i+1)との交差角度と線分B(i+1)-C(i+2)と線分Ai-A(i+1)との交差角度とを比較し、所定の角度範囲内かそれに近い交差角度となる仮想点B(i+2)または仮想点C(i+2)を選択する。
【0079】
選択された仮想点が仮想点B(i+2)の場合、中点A(i+1)を仮想点B(i+2)と仮想点C(i+1)との中点に修正する。また、もとの仮想点B(i+1)をスキップし、仮想点B(i+2)を新たに仮想点B(i+1)と設定する。
【0080】
一方、選択された仮想点が移動仮想点C
(i+2)の場合、中点A
(i+1)を移動点B
(i+1)と移動点C
(i+2)との中点に修正する。また、もとの移動点C
(i+1)をスキップし、仮想点C
(i+2)を新たに仮想点C
(i+1)と設定する。ステップS37の終了後は、ステップS34に戻って、ステップS34の判断結果が肯定的になるまで、ステップS36とステップS37の一連の処理を繰り返し実行する。なお、ステップS36とステップS37の処理を合わせて、第2ループ処理と呼ぶことがある。
図12に示すように、第2ループ処理を順次進めることで、端点A
0及び仮想点B
1,B
2,C
1,C
2が溶接ビード110の輪郭上に、中点A
1,A
2が溶接ビード110の領域内にそれぞれ配置される。
図12に示す経路A
0-A
1-A
2-・・・-A
iは、第1基準線の一部をなす。また、線分B
1-C
1、B
2-C
2、・・・、B
i-C
iそれぞれ第2基準線に相当する。なお、
図12には、例えば、ステップS34の判断結果が否定的な場合にスキップされた仮想点B
iの痕を丸破線で示している。
【0081】
一方、ステップS34の判断結果が肯定的な場合、つまり、線分B(i+1)-C(i+1)と線分Ai-A(i+1)とが、所定の角度範囲内で交差する場合、経路A0-Biの長さと経路A0-Ciの長さとの和が、溶接ビード110の輪郭の長さを超えたか否かを判断する(ステップS35)。
【0082】
ステップS35の判断結果が否定的な場合、つまり、経路A0-Biの長さと経路A0-Ciの長さとの和が、溶接ビード110の輪郭の長さを超えていない場合、変数iを(i+1)にカウントアップし、ステップS32に戻って、ステップS35の判断結果が肯定的になるまでステップS32~S34の一連の処理を繰り返し実行する。ここで、経路A0-Biの長さとは、端点A0から仮想点Bk(kは整数で、1≦k<i)を経由して仮想点Biに至るまでの経路の距離を言う。経路A0-Ciの長さとは、端点A0から仮想点Ckを経由して仮想点Ciに至るまでの経路の距離を言う。
【0083】
一方、ステップS35の判断結果が肯定的な場合、つまり、経路A0-Biの長さと経路A0-Ciの長さとの和が、溶接ビード110の輪郭の長さを超えた場合、第1基準線と第2基準線とが仮確定される(ステップS38)。第1基準線は、端点A0を起点として、ステップS35の終了時点で設定された複数の中点A1,・・・,Aiをそれぞれ通る経路に相当する。なお、ステップS35の終了時点で、第1基準線の終点は、溶接ビード110の輪郭に到達するか当該輪郭と交差している。また、線分B1-C1,・・・,Bi-Ciのそれぞれが、前述の第2基準線である。第2基準線の数は、溶接ビード110の長さと前述の第1距離(溶接ビード110の輪郭に沿って、端点A0から遠ざかる方向である第1方向に所定の距離)とに応じて決定される。
【0084】
しかし、ステップS38までの処理では、第1基準線が適切に設定されていない場合がある。したがって、本実施形態では、以降に述べる第1基準線の補正処理(ステップS39)をステップS38の実行後に一律に行って、第1基準線と複数の第2基準線を確定させている。ステップS39の処理についてさらに説明する。
【0085】
[2-3:第1基準線の補正手順]
図13は、第1基準線の補正手順を示すフローチャートであり、
図10に示すステップS39の処理に対応している。
【0086】
図14Aは、補正を行わない場合の第1基準線が付与された輪郭データの一例であり、
図14Bは、補正を行わない場合の第1基準線が付与された別の輪郭データの一例である。
【0087】
図15Aは、第1基準線を仮基準線に変形した場合の輪郭データの一例であり、
図15Bは、第1基準線を仮基準線に変形した場合の別の輪郭データの一例である。
【0088】
図16Aは、補正が完了した後の第1基準線が付与された輪郭データの一例であり、
図16Bは、補正が完了した後の第1基準線が付与された別の輪郭データの一例である。
【0089】
【0090】
図4に示すステップS2のビード領域データ抽出の処理によって、具体的には、
図6に示す手順で、形状データからビード領域データが抽出される場合(ステップS13)、抽出後のビード領域データにノイズが含まれる場合がある(
図14A参照)。このような場合、
図4に示すステップS3の輪郭データ取得の以降の手順に則って、溶接ビード110の長さを算出すると、実際の長さと異なる値が出力される場合がある。あるいは、
図4に示すステップS5の端点取得において、端点が適切に取得できていない場合、第1基準線自体も適切に生成できない場合がある(
図14B参照)。
【0091】
これらが発生した場合も、以下に示す手順を実行することで、輪郭データに対し、第1基準線を適切に付与することができる。このことにより、輪郭データに対し、複数の第2基準線も適切に付与することができる。さらに、溶接ビード110の長さや幅を正確に算出することができる。以下、実際の補正手順について詳しく説明する。
【0092】
まず、第1基準線の両端のそれぞれを予め設定された所定の長さ分だけ除去し、仮基準線を設定する(
図13のステップS41。また、
図15A,15B参照)。この場合、第1基準線の両端のそれぞれから、所定の長さ分だけ正しく除去されているか否かの判定は行わない。
【0093】
次に、仮基準線の両端近傍のそれぞれの傾きに応じた直線(以下、延長線と呼ぶことがある。)を、仮基準線の両端のそれぞれから輪郭に交差するまで延長する(
図13のステップS42。また、
図16A,16B参照)。
【0094】
さらに、仮基準線と、仮基準線の両端からそれぞれ延長した延長線とを合成した線を新たに第1基準線とする。当該第1基準線を輪郭データに付与する(
図13のステップS43。また、
図16A,16B参照)。
【0095】
図4に示すステップS7の寸法算出では、
図16Aや
図16Bに示す第1基準線の長さが溶接ビード110の長さとして算出される。
【0096】
なお、
図4に示すステップS5の端点取得で複数の端点が取得された場合、それぞれの端点を起点として、
図10に示す手順で第1基準線及び第2基準線が輪郭データに付与されるとともに、
図13に示す手順で第1基準線が補正されることは言うまでもない。また、確定長さを有する第1基準線及びこれに対応する複数の第2基準線に基づいて、溶接ビード110の長さや幅が算出されることは前述した通りである。
【0097】
[3:効果等]
以上説明したように、本実施形態に係る寸法測定装置20は、データ取得部1とビード領域抽出部2と輪郭抽出部3とスムージング処理部4と端点取得部5と基準線付与部6と寸法算出部7とを少なくとも備えている。
【0098】
データ取得部1は、溶接ビード110が形成された母材100の形状データを取得する。ビード領域抽出部2は、形状データから溶接ビード110の形成領域をビード領域データとして抽出する。輪郭抽出部3は、ビード領域データに基づいて、溶接ビード110の輪郭を輪郭データとして抽出する。スムージング処理部4は、輪郭データに対してスムージング処理を行う。
【0099】
端点取得部5は、スムージング処理された輪郭データに基づいて、溶接ビード110の端点を取得する。基準線付与部6は、溶接ビード110の端点を起点として、溶接ビード110の長さを測定するための第1基準線と、溶接ビード110の幅を測定するための複数の第2基準線とを、輪郭データに付与する。寸法算出部7は、第1基準線に基づいて溶接ビード110の長さを算出し、かつ複数の第2基準線に基づいて、溶接ビード110の幅を第1基準線に沿った複数個所で算出する。さらに、基準線付与部6は、第1基準線と複数の第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、第1基準線と複数の第2基準線とを輪郭データに付与する。
【0100】
寸法測定装置20をこのように構成することで、母材100や溶接ビード110がそれぞれ任意の形状である場合にも、複雑な測定条件等の設定を行うこと無く、溶接ビード110の寸法を自動でかつ簡便に測定することができる。また、このことにより、溶接ビード110の寸法が所定の規格範囲から外れた不良品を簡便かつ確実に検出できるため、検査費用を低減できる。なお、前述の任意の形状の溶接ビード110には、直線状や円弧状の溶接ビード110以外にも、S字形状、ジグザグ形状の溶接ビード110や、平坦に盛り上がった台形状や扁平形状の溶接ビード110も含まれる。
【0101】
端点取得部5が複数の端点を取得した場合、基準線付与部6は、複数の端点のそれぞれを起点として、第1基準線を輪郭データに付与する。さらに、付与された複数の第1基準線のそれぞれに対応して複数の第2基準線を輪郭データに付与する。
【0102】
寸法算出部7は、複数の第1基準線のそれぞれに基づいて、溶接ビード110の長さを算出し、算出された複数の溶接ビード110の長さのうち、最大値を溶接ビード110の確定長さとする。さらに、確定長さを有する第1基準線に対応した複数の第2基準線に基づいて、溶接ビード110の幅を第1基準線に沿った複数個所で算出する。
【0103】
基準線付与部6と寸法算出部7とをこのように構成することで、例えば、端点取得部5で適切な端点を選択し切れず、複数の端点が取得された場合にも、溶接ビード110の寸法を自動でかつ簡便に、さらに正確に測定することができる。
【0104】
基準線付与部6は、端点を端点A0とし、端点A0上に仮想点Bi及び仮想点Ci(iは0または1以上の整数)それぞれ付与する初期設定処理を実行する。また、基準線付与部6は、仮想点Biから、溶接ビード110の輪郭に沿って、端点A0から遠ざかる方向である第1方向に第1距離だけ進んだ点を仮想点B(i+1)とし、仮想点Ciから、輪郭に沿って、端点A0から遠ざかる方向であって、第1方向と異なる方向である第2方向に第1距離だけ進んだ点を仮想点C(i+1)とし、さらに仮想点B(i+1)と仮想点C(i+1)との中点を中点A(i+1)に設定する第1ループ処理を少なくとも実行する。
【0105】
仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分が、所定の角度範囲(90(°)±δ(°))内で中点Aiと中点A(i+1)とを結ぶ線分と交差する場合は、基準線付与部6は、端点A0から仮想点Bk(kは整数で、1≦k<i)を経由して仮想点Biに至るまでの経路の距離と、端点A0から仮想点Ckを経由して仮想点Ciに至るまでの経路の距離との和が、溶接ビード110の輪郭の長さを超えるまで、第1ループ処理を1回または複数回実行し、第1基準線と複数の第2基準線とを輪郭データに付与する。
【0106】
基準線付与部6をこのように構成することで、溶接ビード110の長さを決定する第1基準線を自動でかつ簡便に、さらに正確に設定することができる。このことに応じて、複数の第2基準線のそれぞれを自動でかつ簡便に、さらに正確に設定することができる。これらにより、溶接ビード110の寸法を自動でかつ簡便に、さらに正確に測定することができる。
【0107】
仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分が、所定の角度範囲を超えて中点Aiと中点A(i+1)とを結ぶ線分と交差する場合は、基準線付与部6は、以下の(i)~(iv)の処理を含む第2ループ処理を実行する。
【0108】
第2ループ処理では、基準線付与部6は、
(i)仮想点B(i+1)及び仮想点C(i+1)のいずれか一方を溶接ビード110の輪郭に沿って、かつ端点A0から遠ざかる方向に第1距離だけ進めて、移動後の点を仮想点B(i+2)または仮想点C(i+2)と設定する。
【0109】
(ii)仮想点B(i+2)と仮想点C(i+1)とを結ぶ線分と中点Aiと中点A(i+1)とを結ぶ線分の交差角度と、仮想点B(i+1)と仮想点C(i+2)とを結ぶ線分と中点Aiと中点A(i+1)とを結ぶ線分の交差角度とを比較し、かつ所定の角度範囲内かそれに近い交差角度となる仮想点B(i+2)または仮想点C(i+2)を選択する。
【0110】
(iii)選択された仮想点が仮想点B(i+2)の場合、中点A(i+1)を仮想点B(i+2)と仮想点C(i+1)との中点に修正するとともに、仮想点B(i+2)を新たに仮想点B(i+1)に設定する。
【0111】
(iv)選択された仮想点が仮想点C(i+2)の場合、中点A(i+1)を仮想点B(i+1)と仮想点C(i+2)との中点に修正するとともに、仮想点C(i+2)を新たに仮想点C(i+1)に設定する。
【0112】
基準線付与部6は、仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分が、所定の角度範囲内で中点Aiと中点A(i+1)とを結ぶ線分と交差するまで、第2ループ処理を繰り返し実行する。
【0113】
基準線付与部6をこのように構成することで、溶接ビード110の長さを決定する第1基準線をより正確に設定することができる。このことに応じて、複数の第2基準線のそれぞれをより正確に設定することができる。
【0114】
溶接ビード110の形状や曲率によっては、仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分が、所定の角度範囲を超えて中点Aiと中点A(i+1)とを結ぶ線分と交差する場合がある。この場合、中点A(i+1)を、仮想点B(i+1)及び仮想点C(i+1)のそれぞれから略等距離の位置に設定できないことがある。つまり、端点A0から中点A(i+1)を経由して溶接ビード110の終点に至る経路の距離が、溶接ビード110の長さを正しく反映しないことがある。
【0115】
本実施形態によれば、仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分と、中点Aiと中点A(i+1)とを結ぶ線分との交差角度に着目して、仮想点B(i+1)及び仮想点C(i+1)のいずれか一方、さらに、中点A(i+1)を再設定することにより、端点A0から中点A(i+1)を経由して溶接ビード110の終点に至る経路の距離が、溶接ビード110の長さを正しく反映できるようにする。これらにより、溶接ビード110の寸法を自動でかつ簡便に、さらに正確に測定することができる。
【0116】
基準線付与部6は、第1基準線に対し、両端のそれぞれから所定の長さ分を削除して仮基準線とする。さらに、仮基準線の両端近傍のそれぞれの傾きに応じた直線(延長線)を仮基準線の両端のそれぞれから溶接ビード110の輪郭に交差するまで延長する。
【0117】
さらに、基準線付与部6は、仮基準線と、仮基準線の両端からそれぞれ延長した直線(延長線)とを合成した線を新たに第1基準線として輪郭データに付与する。
【0118】
寸法算出部7は、新たに設定された第1基準線の長さを溶接ビード110の長さとして算出し、かつ仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分の長さを溶接ビード110の幅として算出する。
【0119】
前述したように、抽出後のビード領域データにノイズが含まれる場合があり、溶接ビード110の長さを算出すると、実際の長さと異なる値が出力されることがある。あるいは、端点取得部5で、端点が適切に取得できていない場合、第1基準線自体が適切に生成されず、ひいては、溶接ビード110の長さの算出値が、実際の長さと異なって出力されることがある。
【0120】
一方、本実施形態によれば、最初に設定した第1基準線の両端を削除して、適切な傾きの延長線を溶接ビード110の輪郭に達するように追加することで、輪郭データに対し、適切な形で第1基準線を適付与することができる。また、このことにより、輪郭データに対し、複数の第2基準線も適切に付与することができる。以上のことから、溶接ビード110の長さや幅を正確に算出することができる。
【0121】
データ取得部1で取得される形状データは複数の画素データからなり、かつ複数の画素データのそれぞれは、少なくとも色情報または距離情報、具体的には、三次元形状計測センサ31と母材100の表面の所定の位置または溶接ビード110の表面の所定の位置との距離である距離情報を含んでいるのが好ましい。
【0122】
この場合、ビード領域抽出部2は、当該色情報または当該距離情報に基づいて、かつ予めアノテーションが付与された学習データを用いて学習強化された所定のアルゴリズムを用いて、形状データからビード領域データを抽出するのが好ましい。
【0123】
このようにすることで、形状データからビード領域データを精度良く抽出することができる。溶接ビード110の形状は多岐にわたり数式で一般化しづらい。このため、変化点を抽出する方法等の、従来のルールベースでの数式によるアプローチで、溶接ビード110が形成された母材100の形状データから溶接ビード110の形成領域としてビード領域データを安定して抽出することは困難である。
【0124】
一方、本実施形態によれば、形状データにおける画素データに含まれる色情報に着目し、さらに、学習強化されたアルゴリズムを用いて、形状データに対して、いわゆるAI(Artificial Intelligence)処理を行っている。このことにより、溶接ビード110や母材100の形状によらず、形状データからビード領域データを精度良く抽出することができる。
【0125】
本実施形態に係る溶接ビード110の寸法測定方法は、以下の第1~第7ステップを少なくとも備えている。
【0126】
第1ステップ(
図4のステップS1の形状データの取得)では、溶接ビード110が形成された母材100の形状データを取得し、第2ステップ(
図4のステップS2のビード領域データ抽出)では、形状データから溶接ビード110の形成領域をビード領域データとして抽出する。
【0127】
第3ステップ(
図4のステップS3の輪郭データの取得)では、ビード領域データに基づいて、溶接ビード110の輪郭を輪郭データとして抽出し、第4ステップ(
図4のステップS4のスムージング処理)では、輪郭データに対してスムージング処理を行い、第5ステップ(
図4のステップS5の端点取得)では、スムージング処理された輪郭データに基づいて、溶接ビード110の端点を取得する。
【0128】
第6ステップ(
図4のステップS6)では、取得された端点を起点として、溶接ビード110の長さを測定するための第1基準線と、溶接ビード110の幅を測定するための複数の第2基準線とを、輪郭データに付与する。具体的には、前記第6ステップでは、前記第1基準線と複数の前記第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、前記第1基準線と複数の前記第2基準線とを前記輪郭データに付与する。第7ステップ(
図4のステップS7の寸法算出)では、第1基準線に基づいて溶接ビード110の長さを算出し、かつ複数の第2基準線に基づいて、溶接ビード110の幅を第1基準線に沿った複数個所で算出する。ここで、第2基準線は、溶接ビード110の少なくともいずれか片側の輪郭に沿ってかつ第1距離で、第1基準線と複数の第2基準線の中点位置とが、所定の角度範囲内でそれぞれ交差するように、第2基準線が交差する溶接ビード110の両側の輪郭上の2点が順次移動しながら、付与される。このようにすることで、任意のビード領域データの複雑なビード領域データ、例えば異なる複数の曲線の連続を含む溶接ビード110の形成領域であるビード領域データに対し、第1基準線と、第1基準線にそれぞれ交差する複数の第2基準線とを容易に付与することができる。なお、第1距離は、複数種類の等間隔の距離で構成されてもよい。
【0129】
本実施形態によれば、母材100や溶接ビード110がそれぞれ任意の形状である場合にも、複雑な測定条件等の設定を行うこと無く、溶接ビード110の寸法を自動でかつ簡便に測定することができる。また、このことにより、溶接ビード110の寸法が所定の規格範囲から外れた不良品を簡便かつ確実に検出できるため、検査費用を低減できる。
【0130】
第5ステップの端点取得で、端点が複数取得された場合、第6ステップでは、複数の端点のそれぞれを起点として、第1基準線を輪郭データに付与する。さらに、付与された複数の第1基準線のそれぞれに対応して複数の第2基準線を輪郭データに付与する。
【0131】
第7ステップの寸法算出では、複数の第1基準線のそれぞれに基づいて、溶接ビード110の長さを算出し、算出された複数の溶接ビード110の長さのうち、最大値を溶接ビード110の確定長さとする。さらに、確定長さを有する第1基準線に対応した複数の第2基準線に基づいて、溶接ビード110の幅を第1基準線に沿った複数個所で算出する。
【0132】
このようにすることで、例えば、端点取得部5で適切な端点を選択し切れず、複数の端点が取得された場合にも、溶接ビード110の寸法を自動でかつ簡便に、さらに正確に測定することができる。
【0133】
第6ステップは、溶接ビード110の端点を端点A
0とし、端点A
0上に仮想点B
i及び仮想点C
i(iは0または1以上の整数)それぞれ付与するステップ(
図10のステップS31)と、第1ループ処理(
図10のステップS32,S33)と、を少なくとも含んでいる。
【0134】
第1ループ処理は、仮想点B
iから、溶接ビード110の輪郭に沿って、端点A
0から遠ざかる方向である第1方向に第1距離だけ進んだ点を仮想点B
(i+1)とするステップ(
図10のステップS32)を少なくとも含んでいる。第1ループ処理は、仮想点C
iから、溶接ビード110の輪郭に沿って、端点A
0から遠ざかる方向であって、第1方向と異なる方向である第2方向に第1距離だけ進んだ点を仮想点C
(i+1)とするステップ(
図10のステップS32)をさらに含んでいる。第1ループ処理は、仮想点B
(i+1)と仮想点C
(i+1)との中点を中点A
(i+1)に設定するステップ(
図10のステップS33)をさらに含んでいる。
【0135】
第6ステップにおいて、仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分が、所定の角度範囲(90(°)±δ(°))内で中点Aiと中点A(i+1)とを結ぶ線分と交差する場合は、端点A0から仮想点Bk(kは整数で、1≦k<i)を経由して仮想点Biに至るまでの経路の距離と、端点A0から仮想点Ckを経由して仮想点Ciに至るまでの経路の距離との和が、溶接ビード110の輪郭の長さを超えるまで、第1ループ処理を1回または複数回実行し、第1基準線と複数の第2基準線とを輪郭データに付与する。
【0136】
このようにすることで、溶接ビード110の長さを決定する第1基準線を自動でかつ簡便に、さらに正確に設定することができる。このことに応じて、複数の第2基準線のそれぞれを自動でかつ簡便に、さらに正確に設定することができる。これらにより、溶接ビード110の寸法を自動でかつ簡便に、さらに正確に測定することができる。
【0137】
仮想点B
(i+1)と仮想点C
(i+1)とを結ぶ線分が、所定の角度範囲を超えて中点A
iと中点A
(i+1)とを結ぶ線分と交差する場合は、第6ステップは、第2ループ処理(
図10のステップS36,S37)をさらに含む。
【0138】
第2ループ処理は、仮想点B
(i+1)及び仮想点C
(i+1)のいずれか一方を溶接ビード110の輪郭に沿って、かつ端点A
0から遠ざかる方向に第1距離だけ進めて、移動後の点を仮想点B
(i+2)または仮想点C
(i+2)と設定するステップ(
図10のステップS36)を少なくとも含んでいる。
【0139】
また、第2ループ処理は、仮想点B
(i+2)と仮想点C
(i+1)とを結ぶ線分と、中点A
iと中点A
(i+1)とを結ぶ線分との交差角度に対して、仮想点B
(i+1)と仮想点C
(i+2)とを結ぶ線分と、中点A
iと中点A
(i+1)とを結ぶ線分との交差角度を比較し、かつ所定の角度範囲内かそれに近い交差角度となる仮想点B
(i+2)または仮想点C
(i+2)を選択するステップ(
図10のステップS37)を含んでいる。
【0140】
選択された仮想点が仮想点B
(i+2)の場合、第2ループ処理は、中点A
(i+1)を仮想点B
(i+2)と仮想点C
(i+1)との中点に修正するとともに、仮想点B
(i+2)を新たに仮想点B
(i+1)に設定するステップ(
図10のステップS37)をさらに含んでいる。
【0141】
選択された仮想点が仮想点C
(i+2)の場合、第2ループ処理は、中点A
(i+1)を仮想点B
(i+1)と仮想点C
(i+2)との中点に修正するとともに、仮想点C
(i+2)を新たに仮想点C
(i+1)に設定するステップ(
図10のステップS37)をさらに含んでいる。
【0142】
第6ステップでは、仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分が、所定の角度範囲内で中点Aiと中点A(i+1)とを結ぶ線分と交差するまで、第2ループ処理を繰り返し実行する。
【0143】
本実施形態によれば、溶接ビード110の長さを決定する第1基準線をより正確に設定することができる。このことに応じて、溶接ビードの複数個所でのそれぞれの幅を決定する複数の第2基準線のそれぞれをより正確に設定することができる。
【0144】
また、仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分と、中点Aiと中点A(i+1)とを結ぶ線分との交差角度に着目して、仮想点B(i+1)及び仮想点C(i+1)のいずれか一方、さらに、中点A(i+1)を再設定することにより、端点A0から中点A(i+1)を経由して溶接ビード110の終点に至る経路の距離が、溶接ビード110の長さを正しく反映できるようにする。これらにより、溶接ビード110の寸法を自動でかつ簡便に、さらに正確に測定することができる。
【0145】
第6ステップは、第1基準線に対し、両端のそれぞれから所定の長さ分を削除して仮基準線とするステップ(
図13のステップS41)をさらに含んでいる。また、第6ステップは、仮基準線の両端近傍のそれぞれの傾きに応じた直線(延長線)を仮基準線の両端のそれぞれから溶接ビード110の輪郭に交差するまで延長するステップ(
図13のステップS42)を含んでいる。
【0146】
第6ステップは、さらに、仮基準線と仮基準線の両端からそれぞれ延長した直線(延長線)とを合成した線を新たに第1基準線として前記輪郭データに付与するステップ(
図13のステップS43)を含んでいる。
【0147】
第7ステップの寸法算出では、新たに設定された第1基準線の長さを溶接ビード110の長さとして算出し、かつ仮想点B(i+1)と仮想点C(i+1)とを結ぶ線分の長さを溶接ビード110の幅として算出する。
【0148】
本実施形態によれば、最初に設定した第1基準線の両端を削除して、適切な傾きの延長線を溶接ビード110の輪郭に達するように追加することで、輪郭データに対し、適切な形で第1基準線を適付与することができる。また、このことにより、輪郭データに対し、複数の第2基準線も適切に付与することができる。以上のことから、溶接ビード110の長さや幅を正確に算出することができる。
【0149】
データ取得部1で取得される形状データは複数の画素データからなり、かつ複数の画素データのそれぞれは、少なくとも色情報または距離情報を含んでいるのが好ましい。
【0150】
第2ステップでは、当該色情報に基づいて、かつ予めアノテーションが付与された学習データを用いて学習強化された所定のアルゴリズムを用いて、形状データからビード領域データを抽出するのが好ましい。
【0151】
本実施形態によれば、形状データにおける画素データに含まれる色情報または距離情報に着目し、さらに、学習強化されたアルゴリズムを用いて、形状データに対して、AI処理を行っている。このことにより、溶接ビード110や母材100の形状によらず、形状データからビード領域データを精度良く抽出することができる。
【0152】
本実施形態に係る寸法測定用プログラムは、1または複数のプロセッサに、前述した溶接ビード110の寸法測定方法を実行させる。
【0153】
このようにすることで、母材100や溶接ビード110がそれぞれ任意の形状である場合にも、複雑な測定条件等の設定を行うこと無く、溶接ビード110の寸法を自動でかつ簡便に測定することができる。また、このことにより、溶接ビード110の寸法が所定の規格範囲から外れた不良品を簡便かつ確実に検出できるため、検査費用を低減できる。
【0154】
(実施形態2)
図17は、本実施形態に係る溶接箇所の良否判定装置の機能ブロックを示す。なお、
図17において、実施形態1と同様の箇所については同一の符号を付して詳細な説明を省略する。また、寸法測定装置20の機能ブロックの構成及び各機能ブロックの機能は、
図1に示したものと同様であるので、図示及び詳細な説明を省略する。
【0155】
図17に示すように、溶接箇所の良否判定装置50は、寸法測定装置20と形状不良判定装置40と良否判定部51と表示/出力部52と、を少なくとも備えている。
【0156】
形状不良判定装置40は、形状データ処理部41と不良判定部42と記憶部43とを少なくとも備えており、そのハードウェア構成は、
図2に示すものと同様である。なお、ディスプレイ27は省略されうる。
【0157】
形状データ処理部41は、外観検査装置30で取得された形状データのノイズ除去機能を有している。母材100の材質によって三次元形状計測センサ31から出射されたレーザ光線の反射率が異なるため、反射率が高すぎるとハレーション等が起こってノイズとなり、形状データに影響を与える場合がある。このため、例えば、CPU上で所定のソフトウェアを実行して、形状データ処理部41によるノイズのフィルタリング処理を実現している。
【0158】
なお、外観検査装置30に光学フィルタ(図示せず)を設けることによっても、同様にノイズを除去できる。光学フィルタとソフトウェア上のフィルタリング処理とを併用することで、高品質の形状データを得ることができる。
【0159】
不良判定部42は、形状データ処理部41でノイズ除去が行われた後の形状データを用いて、溶接ビード110を含む溶接箇所における形状不良の有無を判定する。また、不良判定部42は、形状不良の種類を推定する。さらに、不良判定部42は、溶接箇所における形状不良の位置やサイズを判定する。不良判定部42は、溶接不良の個数を判定するようにしてもよい。不良判定にあたっては、例えば、予め準備された不良判定用の学習データを用いて、機械学習を行うことで、形状データにおける不良の有無や種類等を推論するようにしてもよい。この場合は、CPU22またはGPU23上で、形状データに対して推論用のアルゴリズム処理が実行される。
【0160】
記憶部43は、溶接箇所の形状不良判定結果を保存する。また、ノイズ除去が行われた後の形状データを一時的に保存するようにしてもよい。また、不良判定部42での判定に用いられるデータやソフトウェア、例えば、不良判定用の学習データや推論用のアルゴリズムを保存していてもよい。記憶部43は、RAM/ROM(
図2参照)やHDDあるいはSSDで構成される。
【0161】
良否判定部51は、寸法測定装置20の測定結果と、形状不良判定装置40の判定結果とに基づいて、溶接箇所の外観が所定の基準を満足するか否かを判定する。良否判定部51の機能は、例えば、CPU上で所定のソフトウェアを実行して、実現される。
【0162】
表示/出力部52は、良否判定部51の判定結果を表示するか、または図示しない外部の機器に出力する。表示/出力部52は、ディスプレイ(
図2参照)や出力ポート(
図2参照)あるいはその両方で構成される。
【0163】
本実施形態によれば、溶接ビード110の寸法と溶接箇所の形状不良の有無とを同じ形状データに基づいて同時に評価できる。このことにより、溶接箇所の外観が所定の基準を満たすか否かを自動でかつ簡便に、さらに精度良く評価できる。
【0164】
なお、良否判定部51や表示/出力部52は、寸法測定装置20か形状不良判定装置40のいずれかに組み込まれていてもよい。また、寸法測定装置20と形状不良判定装置40とは、共通のハードウェアを利用していてもよい。
【0165】
ただし、寸法測定用プログラムを実行するプロセッサと形状不良の有無等を判定するプログラムを実行するプロセッサとは、別個に設けられているのが好ましい。さらに、寸法測定用プログラムと形状不良の有無等を判定するプログラムとは、互いに独立して実行できることが好ましい。このようにすることで、溶接ビード110の寸法測定と溶接箇所の形状不良の有無等の判例を並列して同時に行え、溶接箇所の外観を判定するための時間を短縮できる。
【0166】
(その他の実施形態)
本願明細書では、溶接ビード110の寸法測定を例に取って説明したが、測定対象は特にこれに限定されない。
図1,2に示す寸法測定装置20を使用して、実施形態1に示す寸法測定手順を実行することで、輪郭が閉じた形状の領域や物品等の寸法を測定することができる。
【0167】
また、外観検査装置30が、作業者がハンドリング可能な治具(図示せず)と、当該治具に保持された三次元形状計測センサ31とで構成されていてもよい。この場合、作業者が治具を持ち、溶接ビード110に沿って三次元形状計測センサ31を手動で移動させて形状データを取得する。この場合も、
図1,2に示す寸法測定装置20を使用して、実施形態1に示す寸法測定手順を実行することで、溶接ビード110の寸法を自動でかつ簡便に、さらに精度良く測定することができる。なお、この場合は、三次元形状計測センサ31と母材100や溶接ビード110との距離にばらつきが生じることがある。よって、前述した形状データの二分化状態への加工(
図6のステップS12,S13)は、画素データに含まれる色情報に基づいて行う方がよい。
【0168】
なお、形状データに含まれる位置情報は、三次元座標の情報に限られず、二次元座標の情報であってもよい。当該位置情報が三次元座標の情報の場合、溶接ビード110の形成領域を特定し、母材100の表面との高さの差を取ることにより、溶接ビード110の高さや脚長を得ることも可能である。
【0169】
また、寸法測定装置20に、
図17に示す、取得された形状データのノイズ除去機能を有する形状データ処理部41が組み込まれていてもよい。あるいは、データ取得部1に形状データ処理部41の機能が組み込まれていてもよい。
【産業上の利用可能性】
【0170】
本開示の溶接ビードの寸法測定装置は、母材や溶接ビードがそれぞれ任意の形状である場合にも、溶接ビードの寸法を自動でかつ簡便に測定できるため、工業上、非常に有用である。
【符号の説明】
【0171】
1 データ取得部
2 ビード領域抽出部
3 輪郭抽出部
4 スムージング処理部
5 端点取得部
6 基準線付与部
7 寸法算出部
8 記憶部
9 表示部
10 学習データ生成部
20 寸法測定装置
21 入力ポート
22 CPU
23 GPU
24 RAM/ROM
25 出力ポート
26 データバス
27 ディスプレイ
30 外観検査装置
31 三次元形状計測センサ
32 ロボット
40 形状不良判定装置
41 形状データ処理部
42 不良判定部
43 記憶部
50 良否判定装置
51 良否判定部
52 表示/出力部
100 母材
110 溶接ビード