(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023122951
(43)【公開日】2023-09-05
(54)【発明の名称】ワーク計測方法、ワーク計測システム、およびプログラム
(51)【国際特許分類】
G01B 11/24 20060101AFI20230829BHJP
G01B 11/245 20060101ALI20230829BHJP
【FI】
G01B11/24 Z
G01B11/245 H
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022026733
(22)【出願日】2022-02-24
(71)【出願人】
【識別番号】000001199
【氏名又は名称】株式会社神戸製鋼所
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】吉本 達也
(72)【発明者】
【氏名】岡本 陽
【テーマコード(参考)】
2F065
【Fターム(参考)】
2F065AA04
2F065AA21
2F065AA31
2F065AA52
2F065AA53
2F065BB05
2F065FF01
2F065FF04
2F065FF05
2F065FF09
2F065FF11
2F065FF31
2F065GG04
2F065GG12
2F065HH04
2F065JJ03
2F065JJ05
2F065JJ26
2F065MM13
2F065MM16
2F065MM23
2F065MM26
2F065PP25
2F065QQ21
2F065QQ31
2F065QQ38
(57)【要約】
【課題】3次元CADデータなどの事前の準備を要することなく、ワークの形状や位置を測定する。
【解決手段】複数の部材から構成されるワークの形状および位置の計測を行うワーク計測方法は、前記ワークの3次元の点群データを取得する取得ステップと、計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定ステップと、前記概形推定ステップにて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化ステップと、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の部材から構成されるワークの形状および位置の計測を行うワーク計測方法であって、
前記ワークの3次元の点群データを取得する取得ステップと、
計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定ステップと、
前記概形推定ステップにて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化ステップと、
を有するワーク計測方法。
【請求項2】
前記条件は、前記ワークに対応する境界枠の形状、サイズ、個数、および制約のいずれかを含む、請求項1に記載のワーク計測方法。
【請求項3】
前記評価関数は、前記境界枠に含まれる点群の点数と点群密度による重み付き線形和である、請求項1または2に記載のワーク計測方法。
【請求項4】
前記最適化ステップにおいて、前記境界枠の寸法、位置、角度の少なくともいずれかのパラメータを最適化する、請求項1から3のいずれか一項に記載のワーク計測方法。
【請求項5】
前記概形推定ステップにおいて、前記点群データを複数の方向から走査することにより、前記境界枠を推定する、請求項1から4のいずれか一項に記載のワーク計測方法。
【請求項6】
前記概形推定ステップにおいて、前記点群データを2次元平面に投影して概形を推定する、請求項1から5のいずれか一項に記載のワーク計測方法。
【請求項7】
前記複数の部材に対応する、前記2次元平面に直交する軸方向の位置を導出する導出ステップを更に有する、請求項6に記載のワーク計測方法。
【請求項8】
前記境界枠は、直線または曲線を含んで構成される、請求項1から7のいずれか一項に記載のワーク計測方法。
【請求項9】
前記境界枠は、2次元または3次元にて示される、請求項1から8のいずれか一項に記載のワーク計測方法。
【請求項10】
前記ワークに対するタッチセンシングの測定結果を用いて、前記最適化ステップにて最適化された前記1または複数の境界枠を補正する補正ステップを更に有する、請求項1から9のいずれか一項に記載のワーク計測方法。
【請求項11】
複数の部材から構成されるワークの形状および位置の計測を行うワーク計測システムであって、
前記ワークの3次元の点群データを取得する取得手段と、
計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定手段と、
前記概形推定手段にて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化手段と、
を有するワーク計測システム。
【請求項12】
コンピュータに、
複数の部材から構成されるワークの3次元の点群データを取得する取得ステップと、
計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定ステップと、
前記概形推定ステップにて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワーク計測方法、ワーク計測システム、およびプログラムに関する。
【背景技術】
【0002】
従来、溶接ロボットを用いて、予め定めた位置に被溶接部材(以下、ワークとも称する)を準備し、ワークの溶接が行われている。このような場合に、ワークの自動溶接などを目的として、ワークの設置状態の把握を容易にし、省力化することが求められている。ワークの位置を把握する際には、例えば、3次元センサを用いて取得される3次元データが用いられている。
【0003】
3次元データを用いる例として、特許文献1では、3次元CADデータから2つの部材を特定し、その共有エッジを抽出して溶接線を特定することが開示されている。また、特許文献2では、事前に計測された基準対象物の基準3次元モデルデータと、作業時の実際の対象物の3次元データとから差分値を求める構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-156566号公報
【特許文献2】特許第6917096号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、特許文献1では、3次元CADデータを利用することが前提となっており、このようなデータが無い場合には、溶接線を特定することができない。また、特許文献2では、部材のずれ量を補正することを主たる目的としており、事前に3次元モデルデータを取得する必要がある。そのため、対象物の大きさや形状の変化には対応できないという課題がある。
【0006】
本発明は、3次元CADデータなどの事前の準備を要することなく、ワークの形状や位置を測定することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明は以下の構成を有する。すなわち、複数の部材から構成されるワークの形状および位置の計測を行うワーク計測方法は、前記ワークの3次元の点群データを取得する取得ステップと、計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定ステップと、前記概形推定ステップにて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化ステップと、を有する。
【0008】
また、本発明の別の形態は以下の構成を有する。すなわち、複数の部材から構成されるワークの形状および位置の計測を行うワーク計測システムは、前記ワークの3次元の点群データを取得する取得手段と、計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定手段と、前記概形推定手段にて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化手段と、を有する。
【0009】
また、本発明の別の形態は以下の構成を有する。すなわち、プログラムは、コンピュータに、複数の部材から構成されるワークの3次元の点群データを取得する取得ステップと、計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定ステップと、前記概形推定ステップにて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化ステップと、を実行させる。
【発明の効果】
【0010】
本発明により、3次元CADデータなどの事前の準備を要することなく、ワークの形状や位置を測定することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】本発明の一実施形態に係るワーク計測システムの全体概要を示すブロック図。
【
図2】本発明の一実施形態に係る情報処理装置の機能構成の例を示すブロック図。
【
図3】本発明の一実施形態に係る点群データの例を示す例図。
【
図4】本発明の一実施形態に係るワークの例を示す概略図。
【
図5】本発明の一実施形態に係る全体処理のフローチャート。
【
図6】本発明の一実施形態に係る概形推定処理のフローチャート。
【
図7】本発明の一実施形態に係る概形推定処理を説明するための説明図。
【
図8】本発明の一実施形態に係る概形推定処理を説明するためのグラフ図。
【
図9】本発明の一実施形態に係る最適化処理のフローチャート。
【
図10】本発明の一実施形態に係る計測結果を説明するための説明図。
【
図11】本発明の一実施形態に係る計測結果を説明するための説明図。
【
図12】本発明の一実施形態に係る計測結果を説明するための説明図。
【
図13】本発明の一実施形態に係る補足情報の算出を説明するための説明図。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について図面などを参照して説明する。なお、以下に説明する実施形態は、本発明を説明するための一実施形態であり、本発明を限定して解釈されることを意図するものではなく、また、各実施形態で説明されている全ての構成が本発明の課題を解決するために必須の構成であるとは限らない。また、各図面において、同じ構成要素については、同じ参照番号を付すことにより対応関係を示す。
【0013】
<第1の実施形態>
以下、本発明に係る一実施形態について図面を参照しつつ説明する。なお、以下の説明に用いる各図にてx軸、y軸、z軸により示す3次元座標軸はそれぞれ対応しているものとする。以下の説明では、x軸方向とy軸方向からなる平面を水平面とし、これに直交するz軸方向を高さ方向とする。
【0014】
[計測システムの構成]
図1は、本実施形態に係るワーク計測システム1の全体概要を示す。ワーク計測システム1は、本実施形態に係るワーク計測方法を実装可能なシステムであり、情報処理装置100、および、3次元センサ200を含んで構成される。また、ワーク計測システム1の周囲には、計測対象であるワーク300が配置される。本実施形態では、ワーク300は1または複数の部材から構成されてよい。ワーク計測システム1は、例えばタッチセンシング可能な溶接ロボットを含んで構成される溶接システムと一体となった構成または接続された構成として用いられてよい。タッチセンシング機能は、ワーク300の位置や形状を把握するための機能である。本実施形態では、ワーク計測システム1が、タッチセンシング機能を有する溶接システム400に接続されて連携可能な構成を例に挙げて説明する。
【0015】
情報処理装置100は、例えば、PC(Personal Computer)などから構成される。なお、本実施形態に係るワーク計測システム1が、溶接システム400と一体となった構成である場合には、情報処理装置100は不図示の溶接ロボットを制御するための制御装置と一体であってもよい。情報処理装置100は、制御部101、記憶部102、通信部103、およびUI(User Interface)部104を含んで構成される。
【0016】
制御部101は、例えば、CPU(Central Processing Unit)、GPU(Graphical Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、あるいはFPGA(Field Programmable Gate Array)のうち少なくとも1つを用いて構成されてよい。また、記憶部102は、例えば、HDD(Hard Disk Drive)、ROM(Read Only Memory)、またはRAM(Random Access Memory)等の揮発性や不揮発性の記憶装置により構成される。制御部101が、記憶部102に記憶された各種プログラムを読み出して実行することにより、後述の各種機能を実現する。
【0017】
通信部103は、外部装置や各種センサとの通信を行うための部位である。通信部103による通信は有線/無線は問わず、また、その通信規格を限定するものでもない。UI部104は、ユーザからの操作を受け付けたり、計測結果を表示したりする。UI部104は、例えば、マウスやキーボードなどを含んでもよいし、表示部と操作部が一体となったタッチパネルディスプレイなどで構成されてもよい。情報処理装置100内の各部位は、不図示の内部バス等により通信可能に接続される。
【0018】
3次元センサ200は、3次元データとしての点群データを取得するためのセンサである。3次元センサ200としては、例えば、ToF(Time of Flight)カメラ、ステレオカメラ、または、LiDAR(Light Detection And Ranging)などが利用可能である。上記各センサは、それぞれ異なる特性を有するため、計測環境や計測対象であるワーク300に応じて使い分けてよい。
【0019】
ToFカメラは、レーザ光を計測対象に照射し、その反射したレーザ光を撮像素子で計測することで画素ごとに距離を算出する。ToFカメラの計測可能距離は、数十cm~数m程度となる。ステレオカメラは、複数(例えば、2台)のカメラにて撮影された複数の画像を用いてそれらの視差から距離を算出する。ステレオカメラの計測可能距離は、数十cm~数m程度となる。LiDARは、レーザ光を周囲に照射し、反射したレーザ光を計測することで距離を算出する。LiDARの計測可能距離は、数十cm~数十m程度となる。
【0020】
本実施形態では、3次元センサ200としてToFカメラを用いた例を説明する。本実施形態において、3次元センサ200は、ワーク300の上方に設置され、下方側に位置するワーク300を撮影可能である。なお、3次元センサ200は固定されていてもよいし、撮影に応じて上下左右の位置や撮影角度、撮影条件を調整可能に構成されていてもよい。
【0021】
[機能構成]
図2は、本実施形態に係るワーク計測方法に係る処理を実行する情報処理装置100の機能構成の例を示す図である。
図2に示す各部位は、情報処理装置100の制御部101が記憶部102に記憶されたプログラムを読み出して、実行することにより実現されてよい。情報処理装置100は、点群データ取得部151、前処理部152、概形推定処理部153、バウンディングボックス最適化部154、補足情報導出部155、補正処理部156、センシング情報取得部157、およびデータ管理部158を含んで構成される。
【0022】
点群データ取得部151は、3次元センサ200により撮影されたワーク300の3次元データである点群データを取得する。前処理部152は、取得した点群データに対して前処理を行う。ここでの前処理は、利用する点群データに応じて異なっていてよく、例えば、フィルタ処理、外れ値除去処理、クラスタリング処理、座標変換処理などが挙げられる。
【0023】
概形推定処理部153は、点群データにて示されるワーク300の概形を、バウンディングボックスを用いて推定する処理を行う。ここでの概形とは、点群データに基づいて近似されたワーク300の形状に相当する。バウンディングボックス最適化部154は、概形推定処理部153にて推定されたワーク300の概形を示すバウンディングボックスに基づいて、ワーク300の形状をより精度良く特定するために最適化する。本実施形態に係るバウンディングボックスの具体例については後述するが、ワーク300を構成する1または複数の部材の形状を表すための1または複数の矩形や円形などの境界枠を示す。バウンディングボックスは、2次元すなわち平面形状で示されてもよいし、3次元すなわち立体形状で示されてもよい。したがって、バウンディングボックスは、直線から構成される矩形形状に限定されるものではなく、その一部に曲線が含まれてもよい。また、バウンディングボックスとワーク300を構成する部材とは、必ずしも1対1の関係となるものではなく、ワーク300の形状や点群データの撮影方向などに応じて、1対多の関係もあり得る。補足情報導出部155は、3次元座標におけるワーク300の位置座標を特定するための補足情報を導出する。補足情報の例については後述する。
【0024】
補正処理部156は、バウンディングボックス最適化部154にて得られたバウンディングボックスに対し、溶接システム400により提供されるタッチセンシング機能にて取得された情報に基づいて、計測精度をより向上させるための補正処理を行う。センシング情報取得部157は、補正処理部156にて利用するための計測情報を、溶接システム400により提供されるタッチセンシング機能を介して取得する。センシング情報取得部157は、溶接システム400に対してタッチセンシング機能による計測を行わせるような構成であってよい。データ管理部158は、3次元センサ200やタッチセンシング機能を介して取得した各種データや計測動作の中で生成したデータを保持、管理する。本実施形態のワーク計測方法によってワークの形状および位置を把握した後に、タッチセンシングを行うことにより、ワークの位置をより精度よく把握できるため、精度の高い溶接線の位置を把握し、ロボット溶接をすることが可能となる。
【0025】
[点群データ]
図3は、3次元センサ200により、ワーク300を撮影することで得られる点群データの例を示す。ここでは、ワーク300に対して、上方向から撮影した例を斜め方向から見た図として示している。本例のワーク300は、上方から見た場合、中心に位置する1つのダイヤフラムと、その四方に延びる4つの梁フランジからなる十字形状のワークである。ワーク300としては、鉄骨仕口ワークを例に挙げている。
【0026】
ワーク300の形状、構成、寸法等は特に限定するものでは無い。例えば、ダイヤフラムと梁フランジからなる構成の例としては、1つのダイヤフラムと3つの梁フランジからなるT字、1つのダイヤフラムと2つの梁フランジからなるL字やI字がある。また、ダイヤフラムと梁フランジの接続位置での段差の有無や、ダイヤフラムと梁フランジの接続位置におけるオフセットなどが構成上の要素として挙げられる。
【0027】
図4は、本実施形態に係るワーク計測方法において、ワーク300の計測対象となる要素を説明するための図である。ここでは、1つのダイヤフラム301と2つの梁フランジ302、303からなるL字のワークの例を示す。中心点301aは、ダイヤフラム301の中心を示す。中心線301bは、ダイヤフラム301の中心点301aを通るx軸方向に沿った中心線である。中心線301cは、ダイヤフラム301の中心点301aを通るy軸方向に沿った中心線である。中心線302aは、梁フランジ302のx軸方向に沿った中心線であり、梁フランジ302の短手の中心位置に相当する。中心線303aは、梁フランジ303のy軸方向に沿った中心線であり、梁フランジ303の短手の中心線に相当する。中心線302aと中心線301bとは平行であるものとし、その差分をオフセットOFF1として示す。中心線303aと中心線301cとは平行であるものとし、その差分をオフセットOFF2として示す。以下の説明では、梁フランジの短手を幅とも称し、長手を長さとも称する。
【0028】
以下の説明では、上述したような点群データやワークの形状を例に挙げて説明する。しかし、このような形状のワークに限定するものではなく、そのほかの形状のワークを対象として本発明を適用することが可能である。
【0029】
[処理フロー]
以下、本実施形態に係るワーク計測処理の流れを説明する。
図5は、本実施形態に係るワーク計測処理の処理全体の流れを示すフローチャートである。各工程は、
図2に示す情報処理装置100の各部位が連携することで実現される。ここでは、説明を簡略化するために、処理主体を情報処理装置100としてまとめて記載する。本処理フローが開始される前に、ワーク300が、3次元センサ200にて撮影可能な位置に配置されているものとする。
【0030】
ステップS501にて、情報処理装置100は、3次元センサ200を用いて撮影された3次元データである点群データを取得する。ワーク300が所定の寸法よりも小さい場合には、1回の撮影動作にて点群データが取得されてよい。また、ワーク300が所定の寸法よりも大きい場合には、複数回の撮影動作により複数の点群データを取得し、それらを統合してもよい。また、ワーク300が鉄骨仕口などの所定の形状を有する場合には、死角を極力生じさせないように、ワーク300の真上から撮影することが好ましい。本工程において、撮影の際には、情報処理装置100が撮影位置や撮影角度を調整するような構成であってもよいし、ワーク計測システム1の利用者が指定するような構成であってもよい。
【0031】
ステップS502にて、情報処理装置100は、ステップS501にて取得した点群データに対して前処理を行う。前処理としては、例えば、フィルタ処理、外れ値除去処理、クラスタリング処理、座標変換処理などが挙げられる。なお、本工程における前処理は、ステップS501にて取得した点群データの構成に応じて必要な処理が実行されればよく、前処理が省略されてもよい。
【0032】
フィルタ処理は、例えば、公知のVoxel Gridフィルタなどを用いて、点群データに含まれる点群を一定の間隔にてリサンプリングすることで、所定体積当たりの点群密度を一定にする処理であってよい。外れ値除去処理は、計測精度を低下させうる外れ値を除去する処理であってよい。外れ値は、例えば、隣接点群の平均と分散等の統計情報から特定してもよいし、所定半径内に存在する隣接点群の数から特定されてもよい。クラスタリング処理は、例えば、点群データに含まれる点群を距離等に基づいて複数のグループに分割し、属する点群の数が所定の閾値以下のグループを削除することで、ワーク300の形状を示す点群以外の点群を除去する処理であってよい。座標変換処理は、3次元センサ200の撮影位置や撮影角度に基づいて、3次元センサ200の座標系から所定の座標系へ変換する。所定の座標系は、例えば、タッチセンシング機能にて利用する座標系であってもよいし、
図1に示すようなワーク300を設置した面をxy平面として原点や座標軸が規定された座標系であってもよい。座標系の変換に要するパラメータは、事前のキャリブレーション処理などで導出しておいてよい。
【0033】
ステップS503にて、情報処理装置100は、ステップS502にて処理された点群データを用いて概形推定処理を行う。本工程の詳細については、
図6~
図8を用いて後述する。本工程の結果、ワーク300の概形を示す1または複数のバウンディングボックスが得られる。
【0034】
ステップS504にて、情報処理装置100は、ステップS503にて得られたバウンディングボックスに対して、最適化処理により、補正を行う。本工程の詳細については、
図9を用いて後述する。
【0035】
ステップS505にて、情報処理装置100は、3次元座標におけるワーク300の位置座標を特定するための補足情報を導出する。補足情報は、例えば、ワーク300を構成する各部位の高さ情報が含まれる。例えば、
図3に示すように、ワーク300を構成するダイヤフラムや梁フランジの上面は必ずしも水平であるとは限らず、その位置によっては高さが異なり得る。そのため、ワーク300の形状をより正確に測定するために、補足情報として高さ情報を含めてよい。そのほか、各部位の面と、水平面とがなす角度などを補足情報として含めてもよい。
【0036】
図13は、補足情報として、z軸方向におけるパラメータ、すなわち、高さの算出を説明するための説明図である。本例では、
図3と同様、ワーク300が1のダイヤフラムと4つの梁フランジから構成される十字形状のワークである例を示している。ダイヤフラムについては、周辺部は点群データの計測精度が低いものとして、境界から所定の範囲に位置する周辺部の点群データを除いた領域1301内の高さ情報を用いて、ダイヤフラムの高さを算出する。梁フランジについても周辺部は点群データの計測精度が低いものとして扱う。更に、ダイヤフラムと近接した位置の高さ情報を用いる。したがって、梁フランジそれぞれの高さを算出する場合、領域1302の点群データの高さ情報を用いる。
【0037】
ステップS506にて、情報処理装置100は、タッチセンシング機能にて取得された情報に基づいて補正処理を行う。本工程における動作は、ここまでの処理により得られた計測結果に基づいて、情報処理装置100がタッチセンシング機能によるタッチセンシング動作および補正処理を行うか否かを判定した上で実行してもよい。または、ワーク計測システム1の利用者が、本工程を行うか否かを指定するような構成であってもよい。したがって、本工程は、省略されてもよい。そして、本処理フローを終了する。
【0038】
(概形推定処理)
図6は、本実施形態に係る概形推定処理のフローチャートであり、
図5のステップS503の工程に対応する。まず、概形推定処理の全体概要を、
図7および
図8を用いて説明する。
【0039】
図7は、ワーク300を3次元センサ200にて直上から撮影した場合の点群データを示す。つまり、
図3に示すような点群データを、2次元平面上に投影するように変換した状態である。本例では、ワーク300は十字形状を有する。概形推定処理では、計測対象であるワーク300の形状に応じて規定される複数の方向から順に概形推定を行う。例えば、ワーク300が十字形状である場合には、x軸方向に沿って右から左、左から右、y軸方向に沿って上から下、下から上の4方向による動作を行う。
図7の場合、x軸に沿って左から右の例を示している。また、ROI(Region Of Interest)701を設定し、ROI701をずらしながら概形推定を行う。
図7では、ワーク300を構成する4つの梁フランジのうち、図中左側の梁フランジの幅がx軸方向に沿って、左から右に向かって概形として推定されていく例を示している。
【0040】
図8は、
図7に示す概形推定処理を説明するための図であり、
図7の概形推定の結果例を示すグラフ図である。
図8において、横軸は第1の軸方向(
図7の例では、x軸方向)における検出結果を示し、縦軸は第2の軸方向(
図7の例では、y軸方向)における検出結果を示す。
図7の計測の例では、横軸が梁フランジの長さに対応し、縦軸が梁フランジの幅に対応する。また、横軸においては、ROI701を移動させる中で、点群を検出し始めた位置を「0」として示している。各軸の数値は一例であり、計測対象のワーク300のサイズ等に応じて変動し得る。
図7に示すように梁フランジに相当する点群データを特定することで、ワーク300を構成する梁フランジの幅、すなわち、ワーク300の概形を推定することができる。本例の場合、梁フランジの幅は「200」として推定することができる。更に、推定処理を継続すると、長さが「500」の位置で急激に幅の値が上昇している。これにより、梁フランジの長さは「500」として推定することができる。
【0041】
上述したように、
図7の例では4つの方向から点群データを走査することで概形推定を行う。このとき、
図8のように計測値が急激に変化したタイミングで概形推定の方向を切り替えてもよい。または、すべての点群データに対して、すべての方向から概形推定処理を行うように構成されてもよい。以下の説明では、計測値が閾値以上に変化した場合に概形推定の方向を切り替える形態について説明する。
【0042】
概形推定により得られるバウンディングボックスの情報としては、例えば、以下のような項目が挙げられる。なお、計測対象のワーク300の形状などによっては、以下に示す情報の一部をユーザが指定するような構成であってもよい。
形状:長方形、円、立方体など
サイズ:形状が長方形の場合、長辺の長さ、短辺の長さ、中心座標、角度など
個数:形状ごとのバウンディングボックスの個数
制約:バウンディングボックス間の接続関係や位置関係など
【0043】
図6へ戻り、
図7の処理に対応するフローチャートの説明を行う。本処理フローの前提として、上記のようなバウンディングボックスの情報を取得するためのワーク300の概形推定を行う上で、ワーク300の形状に応じた条件が規定される。例えば、ワーク300が
図3に示すような十字形状であり、鉄骨仕口ワークである場合、概形推定の際の条件は、以下のようなものが挙げられる。
【0044】
形状:長方形
サイズ:部材に応じて異なる
個数:ダイヤフラム1個+梁フランジ2~4個
制約:梁フランジの短辺はダイヤフラムの一辺と接し、異なる梁フランジ同士は接しない
【0045】
上記のような推定条件下において、ワーク300の概形推定が行われる。なお、概形推定の際の推定条件は、ワーク300の形状に応じて予め規定されている。また、上記の推定条件に限定するものではなく、任意の推定条件が規定可能である。上記のような概形推定を行うための条件は、計測対象となるワーク300の種類に応じて予め規定されていてよい。
【0046】
また、ワーク300を構成する各部材の仕口の概形を推定するためには、ワーク300の上方、すなわち、
図1等のz軸方向に沿った方向から観察する必要がある。そのため、
図3に示すような点群データを利用する場合には、点群データを回転させ、
図7に示すような上方から俯瞰した状態となるように変換を行う。この変換は、
図5のステップS502における前処理にて行われてよい。
【0047】
ステップS601~ステップS611のループ処理が、点群データに対して、
図1等に示すxy平面上のz軸周りにおける所定の角度ごとに繰り返される。ここでの所定の角度および開始角度は予め規定されているものとし、例えば、所定の角度を5度とし、開始角度をxy平面上のx軸に沿った方向を基準とした角度(0度)としてよい。
【0048】
ステップS602にて、概形推定処理部153は、点群データのxy平面上にてROI701を設定する。ここで設定するROI701は、概形推定の開始位置に相当し、走査方向すなわち、点群データのスキャン方向の数に応じて複数が設定されてよい。また、ROI701のサイズは特に限定するものではなく、例えば、固定のサイズが用いられてもよいし、点群データの画像サイズに応じて規定されていてもよい。
【0049】
続いて、ステップS603~ステップS609のループ処理が、点群データに対して、xy平面上の所定の方向ごとに繰り返される。ここでは、x軸の正方向、y軸の正方向、x軸の負方向、y軸の負方向の4つのスキャン方向にて点群データに対するスキャンが行われるものとする。スキャン方向は、上記の推定条件に基づいてその方向や数が規定されていてよい。
【0050】
ステップS604にて、概形推定処理部153は、設定したROI701における点群の幅を算出する。
【0051】
ステップS605にて、概形推定処理部153は、ステップS604にて算出した点群の幅と、前回のROI701の位置にて算出した幅からとの差分、すなわち、変化量が閾値以上か否かを判定する。ここでの閾値は予め規定されているものとする。なお、変化量に代えて、変化率を用いて判定してもよい。変化量が閾値以上である場合(ステップS605にてYES)、概形推定処理部153の処理はステップS607へ進む。一方、変化量が閾値未満である場合(ステップS605にてNO)、概形推定処理部153の処理はステップS606へ進む。
【0052】
ステップS606にて、概形推定処理部153は、ROI701をスキャン方向に平行移動させる。ここでのROI701の移動量は、ROI701のサイズ等によって予め規定されているものとする。そして、概形推定処理部153の処理はステップS604へ戻り、処理を繰り返す。
【0053】
ステップS607にて、概形推定処理部153は、変化量が閾値以上となった位置の直前の値を梁フランジの幅とし、点群を検出した位置から変化量が閾値以上となった位置までの長さを梁フランジの長さとして設定する。
【0054】
ステップS608にて、概形推定処理部153は、ステップS607にて設定した梁フランジの長さが閾値以下である場合、当該方向における梁フランジは無いものとして設定する。つまり、梁フランジの個数の設定を行う。
【0055】
ステップS609にて、概形推定処理部153は、すべてのスキャン方向からのスキャンが完了したか否かを判定する。すべてのスキャン方向からのスキャンが完了していない場合には未処理のスキャン方向に切り替え、ステップS604以降の処理を繰り返す。一方、すべてのスキャン方向からのスキャンが完了した場合、概形推定処理部153の処理はステップS610へ進む。
【0056】
ステップS610にて、概形推定処理部153は、各梁フランジの中心線と、xy平面上におけるx軸またはy軸とがなす角を計算する。
【0057】
ステップS611にて、概形推定処理部153は、すべての回転角度の計算処理が完了したか否かを判定する。すべての回転角度の計算処理が完了していない場合には、次の角度に回転させて、ステップS602以降の処理を繰り返す。一方、すべての回転角度の計算処理が完了した場合には、概形推定処理部153の処理はステップS612へ進む。
【0058】
ステップS612にて、概形推定処理部153は、ワーク300を構成する各梁フランジの中心線とx軸またはy軸がなす角の平均が最小となる角度の回転位置をワークの設置角度とする。すなわち、xy平面上において、x軸およびy軸と、各梁フランジとが平行な位置関係となるように、z軸周りの点群データの回転角を決定する。
【0059】
ステップS613にて、概形推定処理部153は、点群全体の幅および長さと、算出した各梁フランジの長さから、ワーク300を構成するダイヤフラムの寸法を算出する。ダイヤフラムの寸法の算出は、上記の推定条件に基づいて算出することができる。これにより、ワーク300全体の概形を示す1または複数のバウンディングボックスを生成することができる。例えば、
図7の形状を有するワーク300の場合、1つのダイヤフラムおよび4つの梁フランジそれぞれに対応した、計5つのバウンディングボックスを生成することができる。言い換えると、バウンディングボックスのパラメータにより、ワーク300を構成する各部材の概形が特定される。そして、本処理フローを終了する。
【0060】
(バウンディングボックス最適化処理)
図9は、本実施形態に係るバウンディングボックス最適化処理のフローチャートであり、
図5のステップS504の工程に対応する。
【0061】
ステップS901にて、バウンディングボックス最適化部154は、
図5のステップS503における概形推定処理により得られた各バウンディングボックスのパラメータを初期値として設定する。つまり、概形推定処理により得られたパラメータを基準とし、最適化処理により、その計測精度を向上させる。
【0062】
ステップS902にて、バウンディングボックス最適化部154は、評価関数を用いて評価値を計算する。本実施形態では、評価関数として、点群の点数と点群密度による重み付き線形和を示す以下の式(1)を用いる。
F(x)=W
NN(x)+W
DD(x) ・・・(1)
W
N,W
D:重み係数
x:最適化パラメータ
N(x):バウンディングボックス内に存在する点数
D(x):バウンディングボックス内の点群密度
最適化パラメータxは、例えば、バウンディングボックスの位置、角度、幅、長さなどが用いられてよい。より具体的には、
図4に示すような構成のワーク300の例の場合、ワーク300のz軸周りの角度、ダイヤフラムの中心座標、梁フランジの幅、長さ、オフセットなどが最適化パラメータとして用いられてよい。
【0063】
ステップS903にて、バウンディングボックス最適化部154は、ステップS901にて設定した初期値と、ステップS902にて算出した評価値とに基づき、評価値の変化量を算出する。本実施形態では、初期値から各最適化パラメータを所定間隔にて変化させながら、評価値の変化量を算出する。
【0064】
ステップS904にて、バウンディングボックス最適化部154は、ステップS903にて算出した勾配ベクトルに基づいて、パラメータを更新する。ここでは、例えば、公知の最急降下法などの手法を用いてパラメータを更新してよい。
【0065】
ステップS905にて、バウンディングボックス最適化部154は、パラメータを更新した結果、その変化量が所定の範囲にて収束、または、更新回数が所定の閾値に達したか否かを判定する。所定の範囲にて収束、または、更新回数が所定の閾値に達した場合(ステップS905にてYES)、本処理フローを終了する。それ以外の場合は(ステップS905にてNO)、バウンディングボックス最適化部154の処理はステップS902へ戻り、処理を繰り返す。
【0066】
[処理結果説明]
図10~
図12は、本実施形態に係るワーク計測方法による計測結果を示す図である。ここでは、本実施形態に係るワーク計測方法と比較する従来方法として、公知のOBB(Oriented Bounding Box)による手法を例に挙げて説明する。
【0067】
図10は、あるワークの点群データ1000を用いた計測結果としてのバウンディングボックスの例を示す。点群データ1000には、周辺に一定のノイズが含まれている。バウンディングボックス1001は従来方法により得られた計測結果を示し、バウンディングボックス1002は本実施形態に係るワーク計測方法により得られた計測結果を示す。従来方法では、ノイズに影響された結果、実際のワークを示す点群よりも大きな範囲を示している。一方、本実施形態に係るワーク計測方法では、より実際のワークの形状に近いバウンディングボックス1002が得られている。
【0068】
図11は、あるワークの点群データ1100を用いた測定結果としてのバウンディングボックスの例を示す。点群データ1100では、3次元カメラによるワークの撮影が正しく行われず、一部に欠損1101が生じている。バウンディングボックス1102は従来方法により得られた計測結果を示し、バウンディングボックス1103は本実施形態に係るワーク計測方法により得られた計測結果を示す。従来方法では、欠損1101に影響された結果、主軸が正しく特定できず、実際のワークを示す点群に対し角度やサイズに誤差が生じている。一方、本実施形態に係るワーク計測方法では、欠損1101の影響を抑制し、より実際のワークの角度やサイズに近いバウンディングボックス1103が得られている。
【0069】
図12は、あるワークの点群データ1200を用いた測定結果としてのバウンディングボックスの例を示す。点群データ1200では、ワークの2カ所に付属品が備えられており、その付属品に対応する点群1201が含まれている。バウンディングボックス1202は従来方法により得られた計測結果を示し、バウンディングボックス1203は本実施形態に係るワーク計測方法により得られた計測結果を示す。従来方法では、点群1201に影響された結果、実際のワークを示す点群よりも大きな範囲を示している。一方、本実施形態に係るワーク計測方法では、所定のサイズよりも小さい点群1201は除去してその影響を抑制し、より実際のワークの形状に近いバウンディングボックス1203が得られている。
【0070】
以上、本実施形態により、3次元CADデータなどの事前の準備を要することなく、ワークの形状や位置を測定することが可能となる。また、従来の方法よりも、より精度良くワークの形状を把握することが可能となる。
【0071】
<その他の実施形態>
上記の実施形態に示したようなワーク計測方法を、溶接ロボットを含む溶接システムに適用することが可能である。これにより、例えば、バウンディングボックスの情報に基づいて、対象ワークに応じて自動的に溶接線を抽出することが可能となる。
【0072】
また、上記の実施形態では、ワークの上方からの視点に基づいて形状を測定した例を示したが、これを多方向から計測するような構成であってもよい。これにより、死角等の影響を抑制して、より精度良く計測が可能となる。
【0073】
本実施形態は、上述した1以上の実施形態の機能を実現するためのプログラムやアプリケーションを、ネットワークまたは記憶媒体等を用いてシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。
【0074】
また、本実施形態は、1以上の機能を実現する回路によって実現してもよい。なお、1以上の機能を実現する回路としては、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)が挙げられる。
【0075】
以上の通り、本明細書には次の事項が開示されている。
(1) 複数の部材から構成されるワークの形状および位置の計測を行うワーク計測方法であって、
前記ワークの3次元の点群データを取得する取得ステップと、
計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定ステップと、
前記概形推定ステップにて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化ステップと、
を有するワーク計測方法。
この構成によれば、3次元CADデータなどの事前の準備を要することなく、ワークの形状や位置を測定することが可能となる。
【0076】
(2) 前記条件は、前記ワークに対応する境界枠の形状、サイズ、個数、および制約のいずれかを含む、(1)に記載のワーク計測方法。
この構成によれば、ワークに対応する条件として、形状、サイズ、個数、および制約のいずれかに基づいて、当該ワークのバウンディングボックスを推定することが可能となる。
【0077】
(3) 前記評価関数は、前記境界枠に含まれる点群の点数と点群密度による重み付き線形和である、(1)または(2)に記載のワーク計測方法。
この構成によれば、バウンディングボックス内の点群の点数と点群密度による重み付き線形和に基づいて、バウンディングボックスを最適化することが可能となる。
【0078】
(4) 前記最適化ステップにおいて、前記境界枠の寸法、位置、角度の少なくともいずれかのパラメータを最適化する、(1)から(3)のいずれかに記載のワーク計測方法。
この構成によれば、バウンディングボックスの寸法、位置、角度の少なくともいずれかの最適化を行うことが可能となる。
【0079】
(5) 前記概形推定ステップにおいて、前記点群データを複数の方向から走査することにより、前記境界枠を推定する、(1)から(4)のいずれかに記載のワーク計測方法。
この構成によれば、より精度良く、ワークの概形を推定することが可能となる。
【0080】
(6) 前記概形推定ステップにおいて、前記点群データを2次元平面に投影して概形を推定する、(1)から(5)のいずれかに記載のワーク計測方法。
この構成によれば、点群データを2次元平面に投影した所望の方向からの形状を精度良く推定することが可能となる。
【0081】
(7) 前記複数の部材に対応する、前記2次元平面に直交する軸方向の位置を導出する導出ステップを更に有する、(6)に記載のワーク計測方法。
この構成によれば、ワークを構成する各部材における、2次元平面に対する高さ方向の情報を更に導出することが可能となる。
【0082】
(8) 前記境界枠は、直線または曲線を含んで構成される、(1)から(7)のいずれかに記載のワーク計測方法。
この構成によれば、任意の形状のバウンディングボックスを用いてワークの形状を特定することが可能となる。
【0083】
(9) 前記境界枠は、2次元または3次元にて示される、(1)から(8)のいずれかに記載のワーク計測方法。
この構成によれば、2次元または3次元のバウンディングボックスを用いてワークの形状を特定することが可能となる。
【0084】
(10) 前記ワークに対するタッチセンシングの測定結果を用いて、前記最適化ステップにて最適化された前記1または複数の境界枠を補正する補正ステップを更に有する、(1)から(9)のいずれかに記載のワーク計測方法。
この構成によれば、タッチセンシングの結果を用いて、測定精度を更に向上させることが可能となる。
【0085】
(11) 複数の部材から構成されるワークの形状および位置の計測を行うワーク計測システムであって、
前記ワークの3次元の点群データを取得する取得手段と、
計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定手段と、
前記概形推定手段にて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化手段と、
を有するワーク計測システム。
この構成によれば、3次元CADデータなどの事前の準備を要することなく、ワークの形状や位置を測定することが可能となる。
【0086】
(12) コンピュータに、
複数の部材から構成されるワークの3次元の点群データを取得する取得ステップと、
計測対象のワークの形状に対応して規定された条件および前記点群データを用いて、前記複数の部材に対応する概形を示す1または複数の境界枠を推定する概形推定ステップと、
前記概形推定ステップにて推定された前記1または複数の境界枠を評価関数によるパラメータの調整により最適化し、前記複数の部材の形状を特定する最適化ステップと、
を実行させるためのプログラム。
この構成によれば、3次元CADデータなどの事前の準備を要することなく、ワークの形状や位置を測定することが可能となる。
【符号の説明】
【0087】
1…ワーク計測システム
100…情報処理装置
101…制御部
102…記憶部
103…通信部
104…UI部
151…点群データ取得部
152…前処理部
153…概形推定処理部
154…バウンディングボックス最適化部
155…補足情報導出部
156…補正処理部
157…センシング情報取得部
158…データ管理部
200…3次元カメラ
300…ワーク
400…溶接システム