JP2017219359A - 形状測定装置、ロボット制御装置、及びロボット - Google Patents
形状測定装置、ロボット制御装置、及びロボット Download PDFInfo
- Publication number
- JP2017219359A JP2017219359A JP2016112390A JP2016112390A JP2017219359A JP 2017219359 A JP2017219359 A JP 2017219359A JP 2016112390 A JP2016112390 A JP 2016112390A JP 2016112390 A JP2016112390 A JP 2016112390A JP 2017219359 A JP2017219359 A JP 2017219359A
- Authority
- JP
- Japan
- Prior art keywords
- point group
- partial
- shape measuring
- partial point
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
【課題】専用装置を用いることなく対象物の全周モデルを容易に生成することができる形状測定装置を提供する。
【解決手段】対象物が第1撮像方向から撮像された第1撮像画像に応じた第1点群OP1と、対象物が第1撮像方向と異なる第2撮像方向から撮像された第2撮像画像に応じた第2点群OP2とに基づいて、第1点群の少なくとも一部である第1部分点群S11に対応する第2部分点群S12を第2点群から検出し、第1部分点群と第2部分点群とに基づいて第1点群と第2点群との位置合わせを行う、形状測定装置。
【選択図】図9
【解決手段】対象物が第1撮像方向から撮像された第1撮像画像に応じた第1点群OP1と、対象物が第1撮像方向と異なる第2撮像方向から撮像された第2撮像画像に応じた第2点群OP2とに基づいて、第1点群の少なくとも一部である第1部分点群S11に対応する第2部分点群S12を第2点群から検出し、第1部分点群と第2部分点群とに基づいて第1点群と第2点群との位置合わせを行う、形状測定装置。
【選択図】図9
Description
この発明は、形状測定装置、ロボット制御装置、及びロボットに関する。
対象物のモデルに基づいて対象物の位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいてロボットに所定の作業を行わせる技術の研究や開発が行われている。
これに関し、測定対象物が配置された回転ステージの回転角度を変化させる毎に測定対象物をカメラで撮像し、撮像した複数の撮像画像と、各撮像画像に対応する当該回転角度とに基づいて測定対象物の全周モデルを生成する三次元形状計測装置が知られている(特許文献1参照)。
しかしながら、このような三次元形状計測装置では、回転角度を特定可能な回転ステージ等の全周モデルを生成するための専用装置と、当該専用装置の調整とが必要であり、全周モデルを生成するために要する時間を短縮することや、全周モデルを生成するための手間を軽減することが困難な場合があった。
上記課題の少なくとも一つを解決するために本発明の一態様は、対象物が第1撮像方向から撮像された第1撮像画像に応じた第1点群と、前記対象物が前記第1撮像方向と異なる第2撮像方向から撮像された第2撮像画像に応じた第2点群とに基づいて、前記第1点群の少なくとも一部である第1部分点群に対応する第2部分点群を前記第2点群から検出し、前記第1部分点群と前記第2部分点群とに基づいて前記第1点群と前記第2点群との位置合わせを行う、形状測定装置である。
この構成により、形状測定装置は、対象物が第1撮像方向から撮像された第1撮像画像に応じた第1点群と、対象物が第1撮像方向と異なる第2撮像方向から撮像された第2撮像画像に応じた第2点群とに基づいて、第1点群の少なくとも一部である第1部分点群に対応する第2部分点群を第2点群から検出し、第1部分点群と第2部分点群とに基づいて第1点群と第2点群との位置合わせを行う。これにより、形状測定装置は、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
この構成により、形状測定装置は、対象物が第1撮像方向から撮像された第1撮像画像に応じた第1点群と、対象物が第1撮像方向と異なる第2撮像方向から撮像された第2撮像画像に応じた第2点群とに基づいて、第1点群の少なくとも一部である第1部分点群に対応する第2部分点群を第2点群から検出し、第1部分点群と第2部分点群とに基づいて第1点群と第2点群との位置合わせを行う。これにより、形状測定装置は、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、本発明の他の態様は、形状測定装置において、前記第1点群の中から曲率により面を構成する点群を前記第1部分点群として検出し、検出した前記第1部分点群に基づいて前記第2部分点群を前記第2点群から検出する、構成が用いられてもよい。
この構成により、形状測定装置は、第1点群の中から曲率により面を構成する点群を第1部分点群として検出し、検出した第1部分点群に基づいて第2部分点群を第2点群から検出する。これにより、形状測定装置は、第1点群の中から曲率により検出した第1部分点群に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
この構成により、形状測定装置は、第1点群の中から曲率により面を構成する点群を第1部分点群として検出し、検出した第1部分点群に基づいて第2部分点群を第2点群から検出する。これにより、形状測定装置は、第1点群の中から曲率により検出した第1部分点群に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、本発明の他の態様は、形状測定装置において、前記第1部分点群に基づく共分散行列の固有値を算出し、算出した前記固有値に基づいて前記第2部分点群を前記第2点群から検出する、構成が用いられてもよい。
この構成により、形状測定装置は、第1部分点群に基づく共分散行列の固有値を算出し、算出した当該固有値に基づいて第2部分点群を第2点群から検出する。これにより、形状測定装置は、算出した固有値であって第1部分点群に基づく共分散行列の固有値に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
この構成により、形状測定装置は、第1部分点群に基づく共分散行列の固有値を算出し、算出した当該固有値に基づいて第2部分点群を第2点群から検出する。これにより、形状測定装置は、算出した固有値であって第1部分点群に基づく共分散行列の固有値に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、本発明の他の態様は、形状測定装置において、前記第2点群の中から曲率により面を構成する1以上の点群を検出し、検出した当該点群のそれぞれに基づく共分散行列の固有値を算出し、算出した当該固有値と、前記第1部分点群に基づく共分散行列の固有値とに基づいて当該1以上の点群の中から前記第2部分点群を検出する、構成が用いられてもよい。
この構成により、形状測定装置は、第2点群の中から曲率により面を構成する1以上の点群を検出し、検出した当該点群のそれぞれに基づく共分散行列の固有値を算出し、算出した当該固有値と、第1部分点群に基づく共分散行列の固有値とに基づいて当該1以上の点群の中から第2部分点群を検出する。これにより、形状測定装置は、算出した固有値であって第1部分点群に基づく共分散行列の固有値と、算出した固有値であって第2部分点群に基づく共分散行列の固有値とに基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
この構成により、形状測定装置は、第2点群の中から曲率により面を構成する1以上の点群を検出し、検出した当該点群のそれぞれに基づく共分散行列の固有値を算出し、算出した当該固有値と、第1部分点群に基づく共分散行列の固有値とに基づいて当該1以上の点群の中から第2部分点群を検出する。これにより、形状測定装置は、算出した固有値であって第1部分点群に基づく共分散行列の固有値と、算出した固有値であって第2部分点群に基づく共分散行列の固有値とに基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、本発明の他の態様は、形状測定装置において、前記第1部分点群を含む領域が分割された分割領域のうち前記第1部分点群を構成する点を所定数以上含む当該分割領域である1以上の第1分割領域毎の第1分割領域特徴量を算出し、前記第2部分点群を含む領域が分割された分割領域のうち前記第2部分点群を構成する点を所定数以上含む当該分割領域である1以上の第2分割領域毎の第2分割領域特徴量を算出し、算出した当該第1分割領域特徴量及び当該第2分割領域特徴量に基づいて前記第1点群と前記第2点群との位置合わせを行う、構成が用いられてもよい。
この構成により、形状測定装置は、第1部分点群を含む領域が分割された分割領域のうち第1部分点群を構成する点を所定数以上含む当該分割領域である1以上の第1分割領域毎の第1分割領域特徴量を算出し、第2部分点群を含む領域が分割された分割領域のうち第2部分点群を構成する点を所定数以上含む当該分割領域である1以上の第2分割領域毎の第2分割領域特徴量を算出し、算出した当該第1分割領域特徴量及び当該第2分割領域特徴量に基づいて第1点群と第2点群との位置合わせを行う。これにより、形状測定装置は、算出した第1分割領域特徴量及び第2分割領域特徴量に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
この構成により、形状測定装置は、第1部分点群を含む領域が分割された分割領域のうち第1部分点群を構成する点を所定数以上含む当該分割領域である1以上の第1分割領域毎の第1分割領域特徴量を算出し、第2部分点群を含む領域が分割された分割領域のうち第2部分点群を構成する点を所定数以上含む当該分割領域である1以上の第2分割領域毎の第2分割領域特徴量を算出し、算出した当該第1分割領域特徴量及び当該第2分割領域特徴量に基づいて第1点群と第2点群との位置合わせを行う。これにより、形状測定装置は、算出した第1分割領域特徴量及び第2分割領域特徴量に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、本発明の他の態様は、形状測定装置において、前記第1点群と前記第2点群との位置合わせを行った後、位置合わせされた前記第1点群及び前記第2点群に応じた点群を生成する、構成が用いられてもよい。
この構成により、形状測定装置は、第1点群と第2点群との位置合わせを行った後、位置合わせされた第1点群及び第2点群に応じた点群を生成する。これにより、形状測定装置は、生成した第1点群及び第2点群に応じた点群に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
この構成により、形状測定装置は、第1点群と第2点群との位置合わせを行った後、位置合わせされた第1点群及び第2点群に応じた点群を生成する。これにより、形状測定装置は、生成した第1点群及び第2点群に応じた点群に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、本発明の他の態様は、上記に記載の形状測定装置を備え、前記形状測定装置が位置合わせした前記第1点群及び前記第2点群に基づいて、前記対象物の位置及び姿勢を算出し、算出した前記対象物の位置及び姿勢に基づいてロボットに所定の作業を行わせる、ロボット制御装置である。
この構成により、ロボット制御装置は、上記に記載の形状測定装置が位置合わせした第1点群及び第2点群に基づいて、対象物の位置及び姿勢を算出し、算出した対象物の位置及び姿勢に基づいてロボットに所定の作業を行わせる。これにより、ロボット制御装置は、ロボットに所定の作業を行わせる準備に要する時間を短縮することができる。
この構成により、ロボット制御装置は、上記に記載の形状測定装置が位置合わせした第1点群及び第2点群に基づいて、対象物の位置及び姿勢を算出し、算出した対象物の位置及び姿勢に基づいてロボットに所定の作業を行わせる。これにより、ロボット制御装置は、ロボットに所定の作業を行わせる準備に要する時間を短縮することができる。
また、本発明の他の態様は、上記に記載のロボット制御装置の制御により前記所定の作業を行う、ロボットである。
この構成により、ロボットは、上記に記載のロボット制御装置の制御により所定の作業を行う。これにより、ロボットは、ロボット制御装置により生成された全周モデルに基づいて所定の作業を行うことができる。
この構成により、ロボットは、上記に記載のロボット制御装置の制御により所定の作業を行う。これにより、ロボットは、ロボット制御装置により生成された全周モデルに基づいて所定の作業を行うことができる。
以上により、形状測定装置は、対象物が第1方向から撮像された第1撮像画像に応じた第1点群と、対象物が第1方向と異なる第2方向から撮像された第2撮像画像に応じた第2点群とに基づいて、第1点群の少なくとも一部である第1部分点群に対応する第2部分点群を前記第2点群から検出し、第1部分点群と第2部分点群とに基づいて第1点群と第2点群との位置合わせを行う。これにより、形状測定装置は、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、ロボット制御装置は、上記に記載の形状測定装置が位置合わせした第1点群及び第2点群に基づいて、対象物の位置及び姿勢を算出し、算出した対象物の位置及び姿勢に基づいてロボットに所定の作業を行わせる。これにより、ロボット制御装置は、ロボットに所定の作業を行わせる準備に要する時間を短縮することができる。
また、ロボットは、上記に記載のロボット制御装置の制御により前記所定の作業を行う。これにより、ロボットは、ロボット制御装置により生成された全周モデルに基づいて所定の作業を行うことができる。
また、ロボット制御装置は、上記に記載の形状測定装置が位置合わせした第1点群及び第2点群に基づいて、対象物の位置及び姿勢を算出し、算出した対象物の位置及び姿勢に基づいてロボットに所定の作業を行わせる。これにより、ロボット制御装置は、ロボットに所定の作業を行わせる準備に要する時間を短縮することができる。
また、ロボットは、上記に記載のロボット制御装置の制御により前記所定の作業を行う。これにより、ロボットは、ロボット制御装置により生成された全周モデルに基づいて所定の作業を行うことができる。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
以下、本発明の実施形態について、図面を参照して説明する。
<形状測定システムの構成>
まず、形状測定システム1の構成について説明する。
図1は、実施形態に係る形状測定システム1の構成の一例を示す図である。形状測定システム1は、撮像部10と、形状測定装置30を備える。
まず、形状測定システム1の構成について説明する。
図1は、実施形態に係る形状測定システム1の構成の一例を示す図である。形状測定システム1は、撮像部10と、形状測定装置30を備える。
撮像部10は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたステレオカメラである。なお、撮像部10は、ステレオカメラに代えて、ライトフィールドカメラ等の三次元画像を撮像可能な他のカメラであってもよい。撮像部10は、図1に示した作業台TBの上面に載置された対象物Oを含む範囲を撮像範囲として撮像可能な位置に設置される。
作業台TBは、例えば、テーブル等の台である。なお、作業台TBは、テーブルに代えて、対象物Oを載置することが可能な台であれば、他の台であってもよい。対象物Oは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。以下では、一例として、対象物Oが図2に示したイケールである場合について説明する。図2は、対象物Oの一例を示す図である。図2に示した例では、対象物Oは、リブVRを有するシングルリブタイプのイケールである。なお、対象物Oは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。
この一例において、対象物Oは、治具BSを介して作業台TBの上面に載置される。すなわち、作業台TBの上面には、治具BSが載置されており、治具BSの上に対象物Oが載置されている。治具BSは、対象物Oの姿勢をユーザーが所望する姿勢と一致させた状態で固定することができる治具である。ユーザーは、治具BSの上に載置された対象物Oの姿勢を変化させることにより、対象物Oの姿勢に対する相対的な方向であって撮像部10の光軸の方向である撮像方向を変化させることができる。図1では、図を簡略化するため、治具BSを平板形状によって表しているが、治具BSは、他の形状であってもよい。また、治具BSは、以下において説明する処理が簡略化されるため、図1に示したように、撮像部10が撮像範囲を撮像した場合において対象物Oの後ろ(オクルージョン領域)に隠れて撮像画像に含まれない(撮像されない)ように作業台TBと対象物Oとの間に配置されることが望ましい。
対象物Oの姿勢は、この一例において、対象物Oの重心とともに動くように対象物Oの重心に対応付けられた三次元局所座標系である対象物座標系OCの各座標軸のワールド座標系WCにおける方向によって表される。なお、対象物Oの姿勢は、他の方法によって表される構成であってもよい。ワールド座標系WCは、この一例において、重力が働く方向をZ軸の負方向とし、北の方向をY軸の正方向とし、東の方向をX軸の正方向とする座標系である。なお、ワールド座標系WCは、他の座標系であってもよい。
撮像部10は、ケーブルによって形状測定装置30と通信可能に接続されている。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。また、撮像部10は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって形状測定装置30と接続される構成であってもよい。
形状測定装置30は、撮像部10に前述の撮像範囲を撮像させる。そして、形状測定装置30は、撮像部10が撮像した撮像画像を撮像部10から取得する。この撮像画像には、対象物Oの表面のうちの一部が含まれている(撮像されている)。形状測定装置30は、取得した撮像画像に含まれる当該一部の三次元形状を測定する。形状測定装置30は、測定した当該三次元形状に基づいて当該三次元形状を表す三次元点群を対象物点群として生成する。形状測定装置30は、このような対象物点群を、互いに異なる撮像方向から対象物Oが撮像された複数の撮像画像のそれぞれに基づいて生成する。形状測定装置30は、生成した複数の対象物点群に基づいて、対象物Oの表面全体の三次元形状を表すモデルである全周モデルを対象物モデルとして生成する。すなわち、対象物モデルは、この一例において、対象物Oの表面全体の三次元形状を表す三次元点群のことである。
形状測定装置30は、例えば、ワークステーションやデスクトップPC(Personal Computer)、ノートPC、タブレットPC、多機能携帯電話端末(スマートフォン)、通信機能付きの電子書籍リーダー、PDA(Personal Digital Assistant)等の情報処理装置である。
<形状測定装置が行う処理の概要>
以下、形状測定装置30が行う処理の概要について説明する。
以下、形状測定装置30が行う処理の概要について説明する。
前述した通り、ユーザーは、治具BSの上に載置された対象物Oの姿勢を変化させることによって前述の撮像方向を変化させることができる。ユーザーは、撮像方向を複数の所望の方向のそれぞれに変化させる。ユーザーは、撮像方向を変化させる毎に形状測定装置30を操作し、撮像部10に撮像範囲をステレオ撮像させる。ユーザーから撮像部10に撮像範囲をステレオ撮像させる操作を受け付けた形状測定装置30は、撮像部10に撮像範囲をステレオ撮像させる。そして、形状測定装置30は、撮像部10が撮像範囲をステレオ撮像した撮像画像を撮像部10から取得する。すなわち、形状測定装置30は、互いに異なる撮像方向から対象物Oが撮像された撮像画像を撮像部10から取得する。ここで、ユーザーは、撮像部10による対象物Oの複数回のステレオ撮像によって、対象物Oの表面の全部が撮像されるように撮像方向を変化させる。より具体的には、ユーザーは、対象物Oの表面のうちの如何なる一部分であっても、撮像部10に撮像させた当該複数の撮像画像のいずれかに含まれるように撮像方向を当該複数回変化させる。
以下では、説明の便宜上、ユーザーが撮像方向として選択する方向の候補のそれぞれを選択方向候補と称して説明する。また、以下では、一例として、ユーザーが撮像方向を選択する際、予め決められた複数の選択方向候補の中から撮像方向を選択する場合について説明する。ただし、この一例では、ユーザーが対象物Oの姿勢を変化させるため、ユーザーが選択した選択方向候補と撮像方向とはおおよそ一致するが、必ずしも完全に一致するわけではない。しかし、このような場合であっても、撮像部10による対象物Oの複数回のステレオ撮像によって、対象物Oの表面の全部が撮像されている場合、形状測定装置30は、以下において説明する処理を実行することが可能である。このため、以下では、ユーザーが選択した選択方向候補と撮像方向とがおおよそ一致していることを、当該選択方向候補と撮像方向とが一致していると称して説明する。
ユーザーは、予め決められた複数の選択方向候補のそれぞれと撮像方向とを一致させる際、対象物Oを治具BSに載置して動かないように固定する。このようにしてユーザーは、撮像方向が動かないように固定する。なお、形状測定装置30は、対象物Oの姿勢を変化させる装置を制御し、撮像方向を変化させる毎に撮像部10に撮像領域をステレオ撮像させる構成であってもよい。この場合、形状測定装置30には、予め決められた複数の選択方向候補を示す情報がユーザーにより予め記憶される。
撮像部10が撮像範囲をステレオ撮像した撮像画像を撮像部10から取得した後、形状測定装置30は、取得した撮像画像に基づいて対象物点群を生成する。具体的には、形状測定装置30は、当該撮像画像に基づいて、当該撮像画像に含まれる表面であって対象物Oの表面の各点のワールド座標系WCにおける三次元位置(三次元座標)を測定(検出)する。形状測定装置30は、測定した当該三次元位置に基づいて当該表面の三次元形状を表す対象物点群を生成する。すなわち、対象物点群を構成する各点は、ワールド座標系WCにおける三次元位置を示す。なお、形状測定装置30が撮像画像から対象物点群を生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。また、形状測定装置30は、ToF(Time of Flight)や三角測量法等の従来の手法に基づいて距離画像を生成する他の装置から、対象物点群を取得する構成であってもよい。
形状測定装置30は、このような対象物点群の生成を、撮像部10がステレオ撮像した撮像画像のそれぞれについて行う。例えば、複数の選択方向候補の数が14である場合、形状測定装置30は、14の選択方向候補のそれぞれについて撮像範囲を撮像部10に撮像させる。そして、形状測定装置30は、撮像部10により撮像された14枚の撮像画像のそれぞれに対応する対象物点群を生成する。図3は、複数の選択方向候補の数が14である場合において形状測定装置30が生成する14の対象物点群のそれぞれの一例を示す図である。図3に示したように、これら14の対象物点群はそれぞれ、14枚の撮像画像のそれぞれに含まれる対象物Oの表面の三次元形状を表している。また、これら14の対象物点群のそれぞれは、互いに異なる一部であって対象物Oの表面の一部の三次元形状を表している。このため、対象物Oの表面全部の三次元形状は、これら14の対象物点群のすべてによって表すことができる。
ここで、形状測定装置30は、撮像部10から取得した撮像画像毎に生成した対象物点群に基づいて対象物モデルを生成する。具体的には、形状測定装置30は、対象物Oが第1撮像方向から撮像された第1撮像画像に応じた第1点群と、対象物Oが第1撮像方向と異なる第2撮像方向から撮像された第2撮像画像に応じた第2点群とに基づいて、第1点群の少なくとも一部である第1部分点群に対応する第2部分点群を第2点群から検出する。第1撮像方向は、ある選択方向候補と一致する撮像方向である。第2撮像方向は、当該選択方向候補と異なる他の選択方向候補と一致する撮像方向である。第1点群は、第1撮像画像に基づいて生成された対象物点群のことである。第2点群は、第2撮像画像に基づいて生成された対象物点群のことである。
形状測定装置30は、検出した第1部分点群と、検出した第2部分点群とに基づいて第1点群と第2点群との位置合わせを行う。これを対象物点群対毎に繰り返すことにより、形状測定装置30は、専用装置を用いることなく対象物Oの全周モデルを容易に生成することができる。対象物点群対は、形状測定装置30が生成したすべての対象物点群から選択可能な2つの対象物点群の組み合わせのことである。すなわち、上記の第1点群は、このような対象物点群対に含まれる対象物点群の一方のことであり、第2点群は、当該対象物点群の他方のことである。以下では、形状測定装置30が対象物モデルを生成するために行う処理について詳しく説明する。
なお、対象物モデルは、対象物Oの表面全体の三次元形状を表す三次元点群に代えて、当該三次元点群に基づいて生成される対象物OのCAD(Computer Aided Design)モデルやCG(Computer Graphics)モデルであってもよい。この場合、形状測定装置30は、当該三次元点群に基づいて当該CADモデルや当該CGを生成する。
<形状測定装置のハードウェア構成>
以下、図4を参照し、形状測定装置30のハードウェア構成について説明する。図4は、形状測定装置30のハードウェア構成の一例を示す図である。
以下、図4を参照し、形状測定装置30のハードウェア構成について説明する。図4は、形状測定装置30のハードウェア構成の一例を示す図である。
形状測定装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。また、形状測定装置30は、通信部34を介して撮像部10と通信を行う。
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、形状測定装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、形状測定装置30が処理する各種の情報、各種の画像、各種のプログラム等を格納する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、形状測定装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、形状測定装置30が処理する各種の情報、各種の画像、各種のプログラム等を格納する。
入力受付部33は、例えば、表示部35と一体に構成されたタッチパネルである。なお、入力受付部33は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
<形状測定装置の機能構成>
以下、図5を参照し、形状測定装置30の機能構成について説明する。図5は、形状測定装置30の機能構成の一例を示す図である。
以下、図5を参照し、形状測定装置30の機能構成について説明する。図5は、形状測定装置30の機能構成の一例を示す図である。
形状測定装置30は、記憶部32と、制御部36を備える。
制御部36は、形状測定装置30の全体を制御する。制御部36は、撮像制御部361と、画像取得部363と、点群生成部365と、部分点群検出部367と、位置調整部377と、判定部379と、全周モデル生成部381を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
撮像制御部361は、撮像部10が撮像可能な範囲である撮像範囲を撮像部10にステレオ撮像させる。
画像取得部363は、撮像部10がステレオ撮像した撮像画像(三次元画像)を撮像部10から取得する。
点群生成部365は、画像取得部363が取得した撮像画像に基づいて対象物点群を生成する。
画像取得部363は、撮像部10がステレオ撮像した撮像画像(三次元画像)を撮像部10から取得する。
点群生成部365は、画像取得部363が取得した撮像画像に基づいて対象物点群を生成する。
部分点群検出部367は、点群生成部365が生成した複数の対象物点群のそれぞれから所定条件を満たす1以上の部分点群を検出する。
位置調整部377は、部分点群検出部367が対象物点群毎に検出した1以上の部分点群に基づいて、対象物点群同士の位置合わせを行う。
全周モデル生成部381は、位置調整部377による対象物点群同士の位置合わせの結果に基づいて対象物モデルを生成する。
位置調整部377は、部分点群検出部367が対象物点群毎に検出した1以上の部分点群に基づいて、対象物点群同士の位置合わせを行う。
全周モデル生成部381は、位置調整部377による対象物点群同士の位置合わせの結果に基づいて対象物モデルを生成する。
<形状測定装置が対象物モデルを生成するために行う処理>
以下、図6を参照し、形状測定装置30が対象物モデルを生成するために行う処理について説明する。図6は、形状測定装置30が対象物モデルを生成するために行う処理の流れの一例を示すフローチャートである。
以下、図6を参照し、形状測定装置30が対象物モデルを生成するために行う処理について説明する。図6は、形状測定装置30が対象物モデルを生成するために行う処理の流れの一例を示すフローチャートである。
ユーザーは、撮像方向を複数の選択方向候補の中から1つずつ選択し、選択した撮像方向毎に、撮像方向が実現するように対象物Oを治具BSの上に固定してから、ステップS120〜ステップS150の処理を形状測定装置30に実行させる(ステップS110)。ここで、当該処理が形状測定装置30により実行された後、ユーザーは、未選択の選択方向候補が残っていた場合、未選択の選択方向候補から再び撮像方向を1つ選択し、選択した撮像方向が実現するように対象物Oを治具BSの上に固定してから、当該処理を再び形状測定装置30に実行させる。一方、当該処理が形状測定装置30により実行された後、未選択の選択方向候補が残っていない場合、ユーザーは、ステップS160〜ステップS170の処理を形状測定装置30に実行させる。
ステップS110においてユーザーからステップS120〜ステップS150の処理を実行する操作を形状測定装置30が受け付けた後、撮像制御部361は、撮像部10に撮像範囲をステレオ撮像させる(ステップS120)。次に、画像取得部363は、ステップS120において撮像部10がステレオ撮像した撮像画像を撮像部10から取得する(ステップS130)。次に、点群生成部365は、ステップS130において画像取得部363が取得した撮像画像に基づいて対象物点群を生成する(ステップS140)。そして、点群生成部365は、生成した対象物点群を記憶部32に記憶させる。
次に、判定部379は、記憶部32に記憶された1以上の対象物点群のそれぞれを表示部35に表示させる。そして、判定部379は、対象物点群の生成処理を終了させる操作と当該生成処理を継続させる操作とのいずれかをユーザーから受け付けるまで待機する(ステップS150)。当該生成処理は、すなわち、ステップS120〜ステップS150の繰り返し処理のことである。当該生成処理を継続させる操作をユーザーから受け付けたと判定部379が判定した場合(ステップS150−継続)、撮像制御部361は、ステップS110に遷移し、ユーザーからステップS120〜ステップS150の処理を実行する操作をユーザーから受け付けるまで待機する。ユーザーは、撮像制御部361が待機している間に未選択の選択方向候補の中から撮像方向を選択し、選択した撮像方向が実現するように対象物Oを治具BSの上に固定してから、ステップS120〜ステップS150の処理を形状測定装置30に実行させる。一方、当該生成処理を終了させる操作を受け付けたと判定部379が判定した場合(ステップS150−終了)、表示部35に表示された複数の対象物点群に基づいて、対象物モデルを生成するために十分な対象物点群が記憶部32に記憶されたとユーザーが判断したと判定し、部分点群検出部367と、位置調整部377と、全周モデル生成部381とのそれぞれは、対象物モデル生成処理を実行し(ステップS160)、対象物モデルを生成するとともに、生成した対象物モデルを表示部35に表示させる。
そして、判定部379は、対象物モデルを生成するための処理を終了する操作と、当該処理を継続する操作とのいずれかをユーザーから受け付けるまで待機する(ステップS170)。当該処理は、すなわち、ステップS110〜ステップS170の処理のことである。当該処理を継続する操作を受け付けたと判定部379が判定した場合(ステップS170−継続)、撮像制御部361は、ステップS110に遷移し、ユーザーからステップS120〜ステップS150の処理を実行する操作をユーザーから受け付けるまで待機する。ユーザーは、撮像制御部361が待機している間に新たな選択方向候補(選択済みの選択方向候補のそれぞれと異なる選択方向候補)を決定し、決定した選択方向候補の中から撮像方向を選択し、選択した撮像方向が実現するように対象物Oを治具BSの上に固定してから、ステップS120〜ステップS150の処理を形状測定装置30に実行させる。一方、当該処理を終了する操作を受け付けたと判定部379が判定した場合(ステップS170−終了)、制御部36は、処理を終了する。
<対象物モデル生成処理の流れ>
以下、図7を参照し、図6に示したステップS160において形状測定装置30が実行する対象物モデル生成処理の流れについて説明する。図7は、形状測定装置30が実行する対象物モデル生成処理の流れの一例を示すフローチャートである。
以下、図7を参照し、図6に示したステップS160において形状測定装置30が実行する対象物モデル生成処理の流れについて説明する。図7は、形状測定装置30が実行する対象物モデル生成処理の流れの一例を示すフローチャートである。
部分点群検出部367は、記憶部32に記憶された複数の対象物点群を記憶部32から読み出す。当該対象物点群は、図6に示したフローチャートにおけるステップS140において点群生成部365が生成した対象物点群である。部分点群検出部367は、読み出した複数の対象物点群のそれぞれ毎に、対象物点群に基づいて対象物点群の一部分である部分点群のうち所定条件を満たす部分点群を検出する(ステップS210)。所定条件は、以下に示した2つの条件である条件1)、条件2)のうち少なくとも一方を満たすことである。
条件1)一つながりの面であって曲率が一定の面を三次元形状として表す部分点群であること
条件2)一つながりの面であって曲率が所定値未満の面を三次元形状として表す部分点群であること
条件2)一つながりの面であって曲率が所定値未満の面を三次元形状として表す部分点群であること
なお、曲率が0以外の場合、これらの面は曲面であり、曲率が0の場合、当該面は平面である。ここで、図8を参照し、ステップS210の処理について説明する。
図8は、対象物点群の一例を示す図である。図8に示した点群OPは、対象物点群の一例である。点群OPには、上記の所定条件を満たす面を構成する部分点群が3つ含まれている。従って、図8に示した例では、部分点群検出部367は、点群OPに基づいて、部分点群S1〜部分点群S3の3つの部分点群を、所定条件を満たす部分点群として検出する。
ステップS210の処理が実行された後、部分点群検出部367と位置調整部377とは、ステップS210において記憶部32から読み出した複数の対象物点群から選択可能な2つの対象物点群の組み合わせである対象物点群対毎に、ステップS230の処理を繰り返し行う(ステップS220)。ここで、ステップS220において部分点群検出部367は、対象物点群対X12と対象物点群対X21を同じ対象物点群対と判定し、これらの対象物点群対についてステップS230の処理を重複して行わない。対象物点群対X12は、ある対象物点群X1を1つ目の対象物点群として含み、対象物点群X2を2つ目の対象物点群として含む対象物点群対のことである。対象物点群対X21は、対象物点群X2を1つ目の対象物点群として含み、対象物点群X1を2つ目の対象物点群として含む対象物点群対のことである。
部分点群検出部367は、ステップS220において選択した対象物点群対に基づいて、以下において説明する部分点群対検出処理を行う(ステップS230)。ここで、ステップS230における部分点群対検出処理について説明する。以下では、説明の便宜上、ステップS220において選択された対象物点群対に含まれる2つの対象物点群のうちの一方を第1点群と称し、第1点群に基づいてステップS210において検出された1以上の部分点群を第1部分点群と称して説明する。また、以下では、当該対象物点群のうちの他方を第2点群と称し、第2点群に基づいてステップS210において検出された1以上の部分点群を仮第2部分点群と称して説明する。
部分点群検出部367は、1以上の第1部分点群のそれぞれ毎に、第1部分点群を構成する各点に基づく主成分分析を行う。部分点群検出部367は、この主成分分析の結果として得られる第1主軸をX軸とし、当該結果として得られる第2主軸をY軸とし、当該各点のX軸周り及びY軸周りにおける分散を表す共分散行列を算出する。この共分散行列は、第1部分点群の拡がりを表す。部分点群検出部367は、算出した共分散行列に基づく2つの固有値を算出する。そして、部分点群検出部367は、算出した2つの固有値のうちの小さい方の固有値を、算出した2つの固有値のうち大きい方の固有値によって除した比を第1固有値比として算出する。すなわち、部分点群検出部367は、第1部分点群のそれぞれ毎に第1固有値比を算出する。
また、部分点群検出部367は、1以上の仮第2部分点群のそれぞれ毎に、仮第2部分点群を構成する各点に基づく主成分分析を行う。部分点群検出部367は、この主成分分析の結果として得られる第1主軸をX軸とし、当該結果として得られる第2主軸をY軸とし、当該各点のX軸周り及びY軸周りにおける分散を表す共分散行列を算出する。この共分散行列は、仮第2部分点群の拡がりを表す。部分点群検出部367は、算出した共分散行列に基づく2つの固有値を算出する。そして、部分点群検出部367は、算出した2つの固有値のうちの小さい方の固有値を、算出した2つの固有値のうち大きい方の固有値によって除した比を第2固有値比として算出する。すなわち、部分点群検出部367は、仮第2部分点群のそれぞれ毎に第2固有値比を算出する。
ここで、ある第1固有値比と、ある第2固有値比との差が所定閾値未満である場合、当該第1固有値比に対応する第1部分点群が表す三次元形状と、当該第2固有値比に対応する仮第2部分点群が表す三次元形状とはそれぞれ、同じ部位を互いに異なる撮像方向から見た場合における当該部位の表面の三次元形状である可能性が高い。当該部位は、対象物Oのある一部の部位のことである。第1固有値比に対応する第1部分点群は、第1固有値比を算出するために用いた第1部分点群のことである。第2固有値比に対応する仮第2部分点群は、第2固有値比を算出するために用いた仮第2部分点群のことである。
例えば、図9に示した点群OP1及び点群OP2を例に挙げて説明する。図9は、ステップS220において選択された対象物点群対に含まれる第1点群及び第2点群の一例を示す図である。点群OP1は、当該第1点群の一例であり、点群OP2は、当該第2点群の一例である。また、第1部分点群S11は、点群OP1に基づいて検出された部分点群であり、仮第2部分点群S12は、点群OP2に基づいて検出された部分点群である。
図9に示した例では、第1部分点群S11と仮第2部分点群S12とのそれぞれは、図2に示した対象物OのリブVRを互いに異なる撮像方向から見たい場合におけるリブVRの表面の三次元形状である。この場合、第1部分点群S11に対応する第1固有値比と、仮第2部分点群S12に対応する第2固有値比との差は、所定閾値未満となる可能性が高い。また、図9に示した第1部分点群S21と仮第2部分点群S22とのそれぞれは、図2に示した対象物Oが有するある面を互いに異なる撮像方向から見たい場合における当該面の三次元形状である。この場合、第1部分点群S21に対応する第1固有値比と、仮第2部分点群S22に対応する第2固有値比との差は、所定閾値未満となる可能性が高い。
一方、第1部分点群S11に対応する第1固有値比と、仮第2部分点群S22に対応する第2固有値比との差は、所定閾値以上となる可能性が高い。これは、第1部分点群S11が表す三次元形状を有する部位であって対象物Oの部位は、仮第2部分点群S22が表す三次元形状を有する部位と異なる部位であるためである。同様の理由により、第1部分点群S21に対応する第1固有値比と、仮第2部分点群S12に対応する第2固有値比との差は、所定閾値以上となる可能性が高い。
このような理由により、部分点群検出部367は、第1固有値比と第2固有値比との差に基づいて部分点群対を検出する。部分点群対は、第1部分点群と仮第2部分点群との組み合わせのうち、ある部位を第1撮像方向から見た場合における当該部位の表面の三次元形状を表す第1部分点群と、当該部位を仮第2撮像方向から見た場合における当該部位の表面の三次元形状を表す仮第2部分点群との組み合わせである可能性の高い組み合わせのことである。
具体的には、部分点群検出部367は、第1固有値比のそれぞれと、第2固有値比のそれぞれとの差を算出し、差が所定閾値未満となる第1固有値比と第2固有値比との組み合わせに対応する第1部分点群と仮第2部分点群との組み合わせのそれぞれを部分点群対として検出する。第1固有値比と第2固有値比との組み合わせに対応する第1部分点群と仮第2部分点群との組み合わせは、第1固有値比に対応する第1部分点群と、第2固有値比に対応する仮第2部分点群との組み合わせのことである。以下では、説明の便宜上、部分点群検出部367が検出した部分点群対に含まれる仮第2部分点群を、第2部分点群と称して説明する。すなわち、部分点群検出部367はこのような処理により、ある第1部分点群を含む部分点群対を検出する際、第1固有値比及び第2固有値比に基づいて、当該第1部分点群とともに当該部分点群対に含める第2部分点群を仮第2部分点群の中から検出する。
部分点群検出部367は、検出した部分点群対のそれぞれに対してステップS220において選択した対象物点群対を対応付ける。そして、部分点群検出部367は、ステップS220に遷移し、次の対象物点群対を選択する。なお、部分点群検出部367は、ステップS230において部分点群対が検出されなかった場合、部分点群対が未検出のままステップS220に遷移し、次の対象物点群対を選択する。この場合、対象物Oの表面のうちステップS220において選択された対象物点群対に含まれる第1点群が表す表面と、対象物Oの表面のうち当該対象物点群対に含まれる第2点群が表す表面とは、重なる部分がない。
ステップS220〜ステップS230の繰り返し処理によって部分点群対を検出した後、部分点群検出部367は、再び対象物点群対毎に、ステップS245〜ステップS290の処理を繰り返し行う(ステップS240)。ここで、ステップS240において部分点群検出部367は、対象物点群対X12と対象物点群対X21を同じ対象物点群対と判定し、これらの対象物点群対についてステップS250〜ステップS290の処理を重複して行わない。
ステップS240において対象物点群対を選択した後、部分点群検出部367は、選択した対象物点群対に部分点群対が対応付けられているか否かを判定する(ステップS245)。部分点群検出部367は、ステップS240において選択した対象物点群対に部分点群対が対応付けられていないと判定した場合(ステップS245−NO)、部分点群検出部367は、ステップS240に遷移し、次の対象物点群対を選択する。なお、部分点群検出部367は、ステップS240に遷移する際に未選択の対象物点群対が残っていない場合、ステップS300に遷移する。一方、ステップS240において選択した対象物点群対に部分点群対が対応付けられていると部分点群検出部367が判定した場合(ステップS245−YES)、位置調整部377は、当該対象物点群対に対応付けられた部分点群対のそれぞれ毎に、ステップS260〜ステップS280の処理を繰り返し行う(ステップS250)。
位置調整部377は、ステップS250において選択された部分点群対に基づいて、ステップS240において選択された対象物点群対に含まれる第1点群及び第2点群の位置合わせを行う処理である第1位置調整処理を行う(ステップS260)。ここで、ステップS260の処理について説明する。なお、以下におけるステップS260の処理についての説明において、単に第1点群と記載した場合、ステップS240において選択された対象物点群対に含まれる第1点群を示し、単に第2点群と記載した場合、ステップS240において選択された対象物点群対に含まれる第2点群を示し、単に第1部分点群と記載した場合、ステップS250において選択された部分点群対に含まれる第1部分点群を示し、単に第2部分点群と記載した場合、ステップS250において選択された部分点群対に含まれる第2部分点群を示す。
位置調整部377は、第1部分点群に基づくキューブを第1キューブとして検出するとともに、第2部分点群に基づくキューブを第2キューブとして検出する。ある点群に基づくキューブは、当該点群を含む領域が分割された分割領域のうち当該点群を構成する点を所定数以上含む分割領域のことである。当該領域は、位置調整部377が記憶部32の記憶領域内に生成した仮想的な領域である。所定数は、この一例において、3である。なお、所定数は、3以上の数であれば他の数であってもよい。ここで、図10を参照し、ステップS260の処理について説明する。
図10は、ある点群を含む領域が分割された分割領域を例示する図である。図10では、ステップS260において検出されるキューブを明確に示すため、第1部分点群及び第2部分点群に代えて、図10に示したある点群PPを例に挙げて説明する。位置調整部377は、点群PPを含む領域を複数の立方体形状の分割領域に分割する。当該領域は、記憶部32の記憶領域内に生成された仮想的な領域である。当該領域における位置は、ワールド座標系WCにおける位置(座標)によって表される。図10に示した点線は、当該分割領域のうちの一部の分割領域の境界を示している。
点群PPを含む領域を前述の分割領域に分割する際、位置調整部377は、ワールド座標系WCにおけるX軸、Y軸、Z軸それぞれにおいて、点群PPを含む範囲を算出する。当該範囲は、例えば、最小値と最大値によって表される範囲である。位置調整部377は、算出したX軸の範囲とY軸の範囲とZ軸の範囲とのうちの最も狭い範囲を特定する。位置調整部377は、特定した当該範囲を第2所定数の分割範囲に等分割する。第2所定数は、例えば、20である。なお、第2所定数は、これに代えて、20より小さな数であってもよく、20より大きな数であってもよい。位置調整部377は、当該分割範囲の長さを1辺の長さとする立方体形状の分割領域によってワールド座標系WCにおける点群PPを含む領域を分割する。この際、位置調整部377は、当該最も狭い範囲の両端のうちの一端を基準位置として分割領域を各座標軸の方向に隙間なく並べる。また、位置調整部377は、点群PPの全体を覆い尽くすように分割領域を並べる。なお、当該領域を分割する方法は、これに限られず、他の方法であってもよい。また、分割領域の形状は、立方体形状に代えて、他の形状であってもよい。ただし、分割領域の形状は、ステップS260の処理が簡単になるため、立方体形状であることが望ましい。
位置調整部377は、ワールド座標系WCにおける点群PPを含む領域を分割領域に分割した後、各分割領域内に含まれる点であって点群PPを構成する点の数を算出する。そして、位置調整部377は、各分割領域のうちの当該点が前述の所定数(この一例において、3)以上含まれる分割領域を、点群PPに基づくキューブとして検出する。なお、当該所定数は、CPU31の処理速度に応じてユーザーにより決定される数である。当該処理速度が速いほど、当該所定数を小さくしてもステップS260の処理に要する時間が増大しないため、ユーザーは、当該所定数を小さな数に決定することができる。
図10において説明したキューブの検出方法と同様の検出方法により、ステップS260において位置調整部377は、第1部分点群に基づくキューブを第1キューブとして検出するとともに、第2部分点群に基づくキューブを第2キューブとして検出する。
1以上の第1キューブ及び1以上の第2キューブのそれぞれを検出した後、位置調整部377は、第1キューブのそれぞれ毎に、第1キューブ内に含まれる点群の重心の位置に仮想的な点を第1特徴点として生成する。第1特徴点は、第1部分点群に基づいて生成(検出)される特徴点である。また、位置調整部377は、第1キューブのそれぞれ毎に、第1キューブ内に生成した第1特徴点に対応付ける特徴量を第1特徴量として算出する。ここで、図11〜図13を参照し、第1特徴量を算出する処理について説明する。
位置調整部377は、ステップS260において検出した1以上の第1キューブから第1特徴量を算出する対象となる第1キューブを対象第1キューブとして1つずつ選択する。位置調整部377は、当該1以上の第1キューブにおける相対的な位置関係であって、選択した対象第1キューブと他の第1キューブとの相対的な位置関係に基づいて、対象第1キューブ内に生成した第1特徴点に対応付ける第1特徴量を算出する。
具体的には、位置調整部377は、対象第1キューブから他の第1キューブのそれぞれまでの位置関係を表すテンソルを第1特徴量として算出する。以下では、一例として、各第1キューブが第1部分点群を含む領域において平面的に分布している場合について説明する。各第1キューブが当該平面的に分布している場合、各第1キューブの図心は、ある1つの平面に含まれる。
図11は、第1部分点群を含む領域において平面的に分布している第1キューブを例示する図である。図11に示した例では、6個の第1キューブ、すなわち第1キューブC1〜第1キューブC6のそれぞれが当該領域において平面的に分布している。なお、図11に示した例では、4個の分割領域Uが第1キューブC1〜第1キューブC6とともに描かれている。分割領域Uは、ステップS260において所定数未満の点を含んでいること等の何らかの理由によって第1キューブとして検出されなかった分割領域である。以下では、一例として、第1キューブC2が対象第1キューブである場合について説明する。また、以下では、一例として、形状測定装置30が行う処理において分割領域Uを用いない場合について説明するが、形状測定装置30は、分割領域Uを何らかの処理に用いる構成であってもよい。
位置調整部377は、対象第1キューブに含まれる所定数以上の点によって構成される面の法線方向を対象第1キューブの方向として算出する。図11に示した例では、当該法線方向は、矢印A1が示す方向である。位置調整部377は、検出した1以上の第1キューブのそれぞれに含まれる各点の位置を座標変換し、算出した当該法線方向とワールド座標系WCにおけるZ軸の正方向とを図12に示したように一致させる。図12は、対象第1キューブの方向とワールド座標系WCにおけるZ軸の正方向とを一致させた場合における図11に示した第1キューブを例示する図である。
位置調整部377は、座標変換した各点に基づいて、当該各点を含む領域を前述の分割領域に分割し、1以上の第1キューブを新たに検出する。すなわち、ここでの第1キューブを検出する対象は、当該座標変換した各点である。また、ここでの第1キューブの検出方法は、前述した第1キューブの検出方法と同様の検出方法であるため説明を省略する。位置調整部377は、例えば、新たに検出された第1キューブのうち選択した対象第1キューブに含まれていた所定数以上の点を最も多く含む第1キューブを新たな対象第1キューブとして特定する。図13は、座標変換した各点に基づいて新たに検出された第1キューブを例示する図である。図13に示した例では、位置調整部377は、座標変換した各点に基づいて7個の第1キューブである第1キューブC11〜第1キューブC17のそれぞれを検出している。以下では、一例として、新たな対象第1キューブとして特定された第1キューブが第1キューブC12である場合について説明する。なお、図13に示した分割領域Uは、図11及び図12に示した分割領域Uと同様に、座標変換した各点に基づいて新たに第1キューブを検出した際、所定数未満の点を含んでいること等の何らかの理由で第1キューブとして検出されなかった分割領域である。
位置調整部377は、第1特徴量を表すテンソル(この一例において、行列)のP行Q列目の成分として、ワールド座標系WCにおけるX軸方向に沿って分割領域P個分だけ対象第1キューブから離れた第1キューブであって、ワールド座標系WCにおけるZ軸方向に沿って分割領域(Q−1)個分だけ対象第1キューブから離れた第1キューブの数を算出する。ここで、Pは1以上の整数である。なお、Pの最大値は、ワールド座標系WCにおけるX軸方向に沿って対象第1キューブから最も離れた第1キューブまでの分割領域の数(対象第1キューブを0個として数えた場合の数)である。また、Qは1以上の整数である。なお、Qの最大値は、ワールド座標系WCにおけるZ軸方向に沿って対象第1キューブから最も離れた第1キューブまでの分割領域の数(対象第1キューブを0個として数えた場合の数)である。
例えば、第1特徴量を表すテンソルの1行1列目の成分は、ワールド座標系WCにおけるX軸方向に沿って分割領域1個分だけ対象第1キューブから離れた第1キューブであって、ワールド座標系WCにおけるZ軸方向に沿って分割領域0個分だけ対象第1キューブから離れた第1キューブの数である。すなわち、図13に示した例では、当該第1キューブが第1キューブC11と第1キューブC13の2個であるため、当該成分は、2である。また、第1特徴量を表すテンソルの2行1列目の成分は、ワールド座標系WCにおけるX軸方向に沿って分割領域2個分だけ対象第1キューブから離れた第1キューブであって、ワールド座標系WCにおけるZ軸方向に沿って分割領域0個分だけ対象第1キューブから離れた第1キューブの数である。すなわち、図13に示した例では、当該第1キューブが第1キューブC14の1個のみであるため、当該成分は、1である。また、第1特徴量を表すテンソルの6行4列目の成分は、ワールド座標系WCにおけるX軸方向に沿って分割領域6個分だけ対象第1キューブから離れた第1キューブであって、ワールド座標系WCにおけるZ軸方向に沿って分割領域3個分だけ対象第1キューブから離れた第1キューブの数である。すなわち、図13に示した例では、当該第1キューブが第1キューブC15の1個のみであるため、当該成分は、1である。また、第1特徴量を表すテンソルの5行4列目の成分は、ワールド座標系WCにおけるX軸方向に沿って分割領域5個分だけ対象第1キューブから離れた第1キューブであって、ワールド座標系WCにおけるZ軸方向に沿って分割領域3個分だけ対象第1キューブから離れた第1キューブの数である。すなわち、図13に示した例では、当該第1キューブが0個であるため、当該成分は、0である。
このようにして位置調整部377は、第1特徴量を表すテンソルの各成分を算出することにより、ステップS260において検出した1以上の第1キューブ毎の第1特徴点に対応付ける第1特徴量を算出する。以下に示す式(1)は、図13に示した例において位置調整部377が算出した当該テンソルTcである。
なお、各第1キューブが第1部分点群を含む領域において立体的に分布している場合、第1特徴量は、対象第1キューブと当該領域内に位置する他の第1キューブのそれぞれまでの位置関係を表すテンソルによって表される。この場合、当該テンソルは、3階のテンソルである。各第1キューブが当該立体的に分布している場合、各第1キューブの図心は、ある1つの平面に含めることができない。
1以上の第1キューブのそれぞれ毎に第1キューブ内に生成した第1特徴点に対応付ける第1特徴量を算出した後、位置調整部377は、算出した当該第1特徴量を当該第1特徴点に対応付ける。第1特徴量は、第1分割領域特徴量の一例である。
また、位置調整部377は、第2キューブのそれぞれ毎に、第2キューブ内に含まれる点の重心に仮想的な点を第2特徴点として生成する。第2特徴点は、第2部分点群に基づいて生成(検出)される特徴点である。また、位置調整部377は、1以上の第1キューブのそれぞれ毎に第1キューブに基づく第1特徴量を算出する方法と同様の方法によって、1以上の第2キューブのそれぞれ毎に第2キューブ内に生成した第2特徴点に対応付ける第2特徴量を算出する。当該方法については、上記においてすでに説明済みであるため、説明を省略する。1以上の第2キューブ内に生成した第2特徴点に対応付ける第2特徴量を算出した後、位置調整部377は、算出した第2特徴量を当該第2特徴点に対応付ける。第2特徴量は、第2分割領域特徴量の一例である。
このようにして、第1特徴量が対応付けられた第1特徴点と、第2特徴量が対応付けられた第2特徴点とを算出した後、位置調整部377は、当該第1特徴点と当該第2特徴点とのマッチングを行い、第1部分点群を含む第1点群と、第2部分点群を含む第2点群との位置合わせを行う。ここで、位置調整部377は、例えば、SAC−IA(SAmple Consensus Initial Alignment)を用いることにより、当該位置合わせを行う。なお、位置調整部377は、これに代えて、他の方法によって当該位置合わせを行う構成であってもよい。また、位置調整部377は、上記において説明した第1キューブに基づく第1特徴点及び第1特徴量と、第2キューブに基づく第2特徴点及び第2特徴量とに基づいて当該位置合わせを行う構成に代えて、他の特徴点及び特徴量に基づいて当該位置合わせを行う構成であってもよい。この場合、例えば、位置調整部377は、第1部分点群からISS(Intrinsic Shape Signatures)及びSHOT(Signature of Histograms of OrienTations)に基づいて算出した特徴点及び特徴量と、第2部分点群からISS及びSHOTに基づいて算出した特徴点及び特徴量とに基づいて、当該位置合わせを行う。
ステップS260において第1位置調整処理を行った後、位置調整部377は、第2位置調整処理を行う(ステップS270)。ここで、ステップS270における第2位置調整処理について説明する。位置調整部377は、第1位置調整処理によって位置合わせされた第1点群と第2点群とをICP(Iterated Closest Points)アルゴリズムによって移動させ、第1位置調整処理による第1点群と第2点群との位置合わせを補正する。これにより、位置調整部377は、第2位置調整処理における第1点群と第2点群との位置合わせの結果として、第1点群と第2点群とを対応付ける回転変換行列を算出する。
なお、位置調整部377は、ステップS270の処理を省略する構成であってもよい。この場合、位置調整部377は、ステップS260において、第1位置調整処理における当該位置合わせの結果として、第1点群と第2点群とを対応付ける回転変換行列を算出する。
ステップS270において第2位置調整処理を行った後、位置調整部377は、ステップS270における第2位置調整処理による第1点群と第2点群との位置合わせを評価する評価値(当該位置合わせの精度を表す評価値)を算出する(ステップS280)。そして、位置調整部377は、算出した評価値をステップS250において選択した部分点群対に対応付ける。位置調整部377は、例えば、当該位置合わせにおけるICP残差を当該評価値として算出する。なお、位置調整部377は、これに代えて、ステップS270における第2位置調整処理による第1点群と第2点群との位置合わせを評価可能(当該位置合わせの精度を表すことが可能)な他の値を評価値として算出する構成であってもよい。
ステップS250〜ステップS280の処理によってすべての部分点群対のそれぞれについて前述の評価値を算出した後、位置調整部377は、ステップS280において算出した評価値のうち最大の評価値を特定する。そして、位置調整部377は、特定した最大の評価値に対応付けられた部分点群対について算出された回転変換行列を、ステップS240において選択した対象物点群対に対応付ける。当該回転変換行列は、当該部分点群対に対する第2位置調整処理の結果としてステップS270において算出された行列である。
ステップS240〜ステップS290の処理によってすべての対象物点群対のそれぞれに前述の回転変換行列が対応付けられた後、全周モデル生成部381は、対象物点群対のそれぞれに対応付けられた回転変換行列に基づいて、対象物点群対のそれぞれを位置合わせすることによってすべての対象物点群を組み合わせた合成点群を生成する(ステップS300)。ここで、ステップS300の処理について説明する。
全周モデル生成部381は、ステップS210において記憶部32から読み出した複数の対象物点群のうちのある対象物点群(すなわち、第1点群)に対して他の対象物点群(すなわち、第2点群)を1つずつ位置合わせすることによって合成点群を生成する。この際、全周モデル生成部381は、当該ある対象物点群と、当該他の対象物点群とを含む対象物点群対に対応付けられた回転変換行列に基づいて、当該ある対象物点群と、当該他の対象物点群との位置合わせを行う。
このようにステップS300において生成された合成点群は、ステップS210において記憶部32から読み出した複数の対象物点群のうちのある対象物点群(すなわち、第1点群)に対して他の対象物点群(すなわち、第2点群)を1つずつ位置合わせすることによって生成されているため、対象物Oの表面全体の三次元形状を精度よく表していない場合がある。そこで、全周モデル生成部381は、ステップS300の処理を行った後、ステップS310の処理を行う。
ステップS310において全周モデル生成部381は、ステップS300において生成した合成点群に組み合わされている対象物点群のそれぞれ毎に、対象物点群を合成点群から取り除き、対象物点群を取り除いた合成点群に対して改めて対象物点群の位置合わせを行う。この際、全周モデル生成部381は、IPCアルゴリズムによって当該位置合わせを行う。これにより、全周モデル生成部381は、対象物Oの表面全体の三次元形状を精度よく表している合成点群を生成する。そして、全周モデル生成部381は、生成した合成点群を構成する複数の点において点同士の間の距離が所定距離未満の点同士を1つの新たな点に置き換えた合成点群を対象物モデルとして生成する。全周モデル生成部381は、例えば、当該点同士を削除するとともに、当該点同士の中点に当該新たな点を生成することにより、このような置き換えを行う。なお、全周モデル生成部381は、当該点同士を削除するとともに、当該点同士のうちいずれか一方の位置に当該新たな点を生成することにより、このような置き換えを行う構成等の他の構成であってもよい。また、全周モデル生成部381は、このような点同士の削除を行わない構成であってもよい。なお、合成点群は、位置合わせされた第1点群及び第2点群に応じた点群の一例である。
以上のように、形状測定装置30は、ステップS210〜ステップS310の処理を行うことにより、対象物モデルを生成する。すなわち、形状測定装置30は、専用装置を用いることなく対象物モデルを容易に生成することができる。
<実施形態の変形例1>
以下、実施形態の変形例1について説明する。なお、実施形態の変形例1では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。実施形態の変形例1では、図7に示したステップS230の処理が、以下において説明するステップS230aの処理に置き換わる。ステップS230aの処理がステップS230の処理と異なる部分は、ステップS230の処理のうち第1点群に基づいて第1部分点群を検出する処理と、第2点群に基づいて第2部分点群を検出する処理との部分である。
以下、実施形態の変形例1について説明する。なお、実施形態の変形例1では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。実施形態の変形例1では、図7に示したステップS230の処理が、以下において説明するステップS230aの処理に置き換わる。ステップS230aの処理がステップS230の処理と異なる部分は、ステップS230の処理のうち第1点群に基づいて第1部分点群を検出する処理と、第2点群に基づいて第2部分点群を検出する処理との部分である。
ステップS230aにおいて、部分点群検出部367は、上記の実施形態において説明した分割領域を用いて第1点群から1以上の第1部分点群を検出するとともに、第2点群から1以上の第2部分点群を検出する。
具体的には、部分点群検出部367は、第1点群を含む領域を前述の分割領域に分割する。当該領域を分割領域に分割する方法は、図10において説明した方法と同様の方法であるため説明を省略する。部分点群検出部367は、当該領域を分割領域に分割した後、第1点群を構成する点を3以上含む分割領域のそれぞれ毎に、分割領域内に含まれる点によって構成される三次元形状を面に近似する。当該面は、曲率が0以外の場合に曲面であり、曲率が0の場合、平面である。
このような近似を行った後、部分点群検出部367は、第1点群を含む領域を分割した分割領域のうちの互いに隣り合う2つの分割領域のそれぞれに含まれる面同士が似ている場合、これらの面のそれぞれを含む分割領域同士を結合して1つの分割領域を生成する。当該面同士が似ているとは、当該面同士の曲率の差が第2所定閾値未満であることを意味する。部分点群検出部367は、このような分割領域の結合を、似ている2つの面のそれぞれを含む分割領域であって互いに隣り合う2つの分割領域がなくなるまで繰り返す。これにより、部分点群検出部367は、第1点群の一部分である部分点群のうちステップS230において説明した所定条件を満たす1以上の部分点群を第1部分点群として検出する。すなわち、部分点群検出部367は、当該結合の結果として最後に残る1以上の面を表す部分点群を第1部分点群対として検出する。
また、部分点群検出部367は、第2点群を含む領域を前述の分割領域に分割し、分割した分割領域に基づいて、この一例において説明した方法であって第1点群から第1部分点群を検出する方法と同様の方法により、第2点群から1以上の仮第2部分点群を検出する。
このように、部分点群検出部367は、ステップS230aの処理によって、第1点群から1以上の第1部分点群を検出するとともに、第2点群から1以上の仮第2部分点群を検出することができる。これにより、部分点群検出部367は、上記において説明した実施形態と同様の効果を得ることができる。
<第1実施形態の変形例2>
以下、図14を参照し、実施形態の変形例2について説明する。なお、実施形態の変形例2では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
以下、図14を参照し、実施形態の変形例2について説明する。なお、実施形態の変形例2では、実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
図14は、実施形態の変形例2に係るロボットシステム2の構成の一例を示す図である。ロボットシステム2は、撮像部10と、ロボット20と、ロボット制御装置50を備える。また、ロボット制御装置50は、形状測定装置30を備える。より具体的には、ロボット制御装置50は、形状測定装置30が備える各機能部を備える。
ロボット20は、アームAと、アームAを支持する支持台Bを備える単腕ロボットである。単腕ロボットは、この一例におけるアームAのような1本のアーム(腕)を備えるロボットである。なお、ロボット20は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、2本以上のアーム(例えば、2本以上のアームA)を備えるロボットである。なお、複腕ロボットのうち、2本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット20は、2本のアームを備える双腕ロボットであってもよく、3本以上のアーム(例えば、3本以上のアームA)を備える複腕ロボットであってもよい。また、ロボット20は、スカラロボットや、円筒型ロボット等の他のロボットであってもよい。
アームAは、エンドエフェクターEと、マニピュレーターMを備える。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
エンドエフェクターEは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターEは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
エンドエフェクターEは、ケーブルによってロボット制御装置50と通信可能に接続されている。これにより、エンドエフェクターEは、ロボット制御装置50から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、エンドエフェクターEは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置50と接続される構成であってもよい。
マニピュレーターMは、6つの関節を備える。また、当該6つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターMを備えるアームAは、6軸垂直多関節型のアームである。アームAは、支持台Bと、エンドエフェクターEと、マニピュレーターMと、マニピュレーターMが備える6つの関節それぞれのアクチュエーターとによる連携した動作によって6軸の自由度の動作を行う。なお、アームAは、5軸以下の自由度で動作する構成であってもよく、7軸以上の自由度で動作する構成であってもよい。
マニピュレーターMが備える6つの(関節に備えられた)アクチュエーターはそれぞれ、ケーブルによってロボット制御装置50と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置50から取得される制御信号に基づいて、マニピュレーターMを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。また、マニピュレーターMが備える6つのアクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置50と接続される構成であってもよい。
ロボット制御装置50は、この一例において、ロボットを制御する装置である。ロボット制御装置50は、予め入力された動作プログラムに基づいて制御信号を生成する。ロボット制御装置50は、生成した制御信号をロボット20に送信し、ロボット20に所定の作業を行わせる。所定の作業は、この一例において、ロボット20がアームAを動作させ、作業台TBの上面に載置された対象物Oを把持し、把持した対象物Oを図示しない給材領域に配置する作業である。なお、所定の作業は、これに代えて、他の作業であってもよい。
ロボット制御装置50は、所定の作業において、撮像部10により対象物Oを含む範囲を撮像し、撮像した撮像画像に基づいて対象物Oの位置及び姿勢を算出する。この際、ロボット制御装置50は、当該撮像画像に含まれる対象物Oの表面の三次元形状を表す対象物点群を生成する。ロボット制御装置50は、生成した対象物点群と、対象物モデルとに基づいて対象物Oの位置及び姿勢を算出する。
ここで、ロボット制御装置50は、所定の作業を行う前に、この対象物モデルを予め生成する。すなわち、ロボット制御装置50は、撮像部10が前述の撮像範囲を撮像した撮像画像を撮像部10から取得する。ロボット制御装置50は、取得した撮像画像に含まれる対象物Oの表面の三次元形状を測定する。ロボット制御装置50は、測定した当該三次元形状に基づいて対象物点群を生成する。ロボット制御装置50は、このような対象物点群を、互いに異なる撮像方向から対象物Oが撮像された複数の撮像画像のそれぞれに基づいて生成する。ロボット制御装置50は、生成した複数の対象物点群に基づいて、対象物モデルを生成する。ロボット制御装置50が撮像部10から取得した撮像画像に基づいて対象物モデルを生成する処理は、実施形態において説明した処理であって形状測定装置30が対象物モデルを生成するための処理の説明においてワールド座標系WCをロボット座標系RCに読み替えた場合の処理と同様の処理であるため説明を省略する。
このように、ロボット制御装置50は、実施形態において説明した形状測定装置30を備え、形状測定装置30が位置合わせした第1点群及び第2点群に基づいて、対象物Oの位置及び姿勢を算出し、算出した対象物Oの位置及び姿勢に基づいてロボット20に所定の作業を行わせる。これにより、ロボット制御装置50は、ロボット20に所定の作業を行わせる準備に要する時間を短縮することができる。
なお、ロボットシステム2において、ロボット制御装置50と形状測定装置30とは、別体であってもよい。この場合、ロボット制御装置50は、形状測定装置30から形状測定装置30が生成した対象物モデルを取得し、取得した対象物モデルに基づいてロボット20に所定の作業を行わせる。
以上のように、形状測定装置30は、対象物(この一例において、対象物O)が第1撮像方向から撮像された第1撮像画像に応じた第1点群と、対象物が第1撮像方向と異なる第2撮像方向から撮像された第2撮像画像に応じた第2点群とに基づいて、第1点群の少なくとも一部である第1部分点群に対応する第2部分点群を前記第2点群から検出し、第1部分点群と第2部分点群とに基づいて第1点群と第2点群との位置合わせを行う。これにより、形状測定装置は、専用装置を用いることなく対象物の全周モデル(この一例において、対象物モデル)を容易に生成することができる。
また、形状測定装置30は、第1点群の中から曲率により面を構成する点群を第1部分点群として検出し、検出した第1部分点群に基づいて第2部分点群を第2点群から検出する。これにより、形状測定装置30は、第1点群の中から曲率により検出した第1部分点群に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、形状測定装置30は、第1部分点群に基づく共分散行列の固有値を算出し、算出した当該固有値に基づいて第2部分点群を第2点群から検出する。これにより、形状測定装置30は、算出した固有値であって第1部分点群に基づく共分散行列の固有値に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、形状測定装置30は、第2点群の中から曲率により面を構成する1以上の点群(この一例において、仮第2部分点群)を検出し、検出した当該点群のそれぞれに基づく共分散行列の固有値を算出し、算出した当該固有値と、第1部分点群に基づく共分散行列の固有値とに基づいて当該1以上の点群の中から第2部分点群を検出する。これにより、形状測定装置30は、算出した固有値であって第1部分点群に基づく共分散行列の固有値と、算出した固有値であって第2部分点群に基づく共分散行列の固有値とに基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、形状測定装置30は、第1部分点群を含む領域が分割された分割領域のうち第1部分点群を構成する点を所定数以上含む当該分割領域である1以上の第1分割領域(この一例において、第1キューブ)毎の第1分割領域特徴量(この一例において、第1特徴量)を算出し、第2部分点群を含む領域が分割された分割領域のうち第2部分点群を構成する点を所定数以上含む当該分割領域である1以上の第2分割領域(この一例において、第2キューブ)毎の第2分割領域特徴量(この一例において、第2特徴量)を算出し、算出した当該第1分割領域特徴量及び当該第2分割領域特徴量に基づいて第1点群と第2点群との位置合わせを行う。これにより、形状測定装置30は、算出した第1分割領域特徴量及び第2分割領域特徴量に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、形状測定装置30は、第1点群と第2点群との位置合わせを行った後、位置合わせされた第1点群及び第2点群に応じた点群(この一例において、合成点群)を生成する。これにより、形状測定装置30は、生成した第1点群及び第2点群に応じた点群に基づいて、専用装置を用いることなく対象物の全周モデルを容易に生成することができる。
また、ロボット制御装置50は、形状測定装置30が位置合わせした第1点群及び第2点群に基づいて、対象物の位置及び姿勢を算出し、算出した対象物の位置及び姿勢に基づいてロボット20に所定の作業を行わせる。これにより、ロボット制御装置50は、ロボット20に所定の作業を行わせる準備に要する時間を短縮することができる。
また、ロボット20は、ロボット制御装置50の制御により所定の作業を行う。これにより、ロボット20は、ロボット制御装置50により生成された全周モデルに基づいて所定の作業を行うことができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、形状測定装置30、ロボット制御装置50)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…形状測定システム、2…ロボットシステム、10…撮像部、20…ロボット、30…形状測定装置、31…CPU、32…記憶部、33…入力受付部、34…通信部、35…表示部、36…制御部、50…ロボット制御装置、361…撮像制御部、363…画像取得部、365…点群生成部、367…部分点群検出部、377…位置調整部、379…判定部、381…全周モデル生成部
Claims (8)
- 対象物が第1撮像方向から撮像された第1撮像画像に応じた第1点群と、前記対象物が前記第1撮像方向と異なる第2撮像方向から撮像された第2撮像画像に応じた第2点群とに基づいて、前記第1点群の少なくとも一部である第1部分点群に対応する第2部分点群を前記第2点群から検出し、
前記第1部分点群と前記第2部分点群とに基づいて前記第1点群と前記第2点群との位置合わせを行う、
形状測定装置。 - 前記第1点群の中から曲率により面を構成する点群を前記第1部分点群として検出し、検出した前記第1部分点群に基づいて前記第2部分点群を前記第2点群から検出する、
請求項1に記載の形状測定装置。 - 前記第1部分点群に基づく共分散行列の固有値を算出し、算出した前記固有値に基づいて前記第2部分点群を前記第2点群から検出する、
請求項1又は2に記載の形状測定装置。 - 前記第2点群の中から曲率により面を構成する1以上の点群を検出し、検出した当該点群のそれぞれに基づく共分散行列の固有値を算出し、算出した当該固有値と、前記第1部分点群に基づく共分散行列の固有値とに基づいて当該1以上の点群の中から前記第2部分点群を検出する、
請求項1から3のうちいずれか一項に記載の形状測定装置。 - 前記第1部分点群を含む領域が分割された分割領域のうち前記第1部分点群を構成する点を所定数以上含む当該分割領域である1以上の第1分割領域毎の第1分割領域特徴量を算出し、
前記第2部分点群を含む領域が分割された分割領域のうち前記第2部分点群を構成する点を所定数以上含む当該分割領域である1以上の第2分割領域毎の第2分割領域特徴量を算出し、
算出した当該第1分割領域特徴量及び当該第2分割領域特徴量に基づいて前記第1点群と前記第2点群との位置合わせを行う、
請求項1から4のうちいずれか一項に記載の形状測定装置。 - 前記第1点群と前記第2点群との位置合わせを行った後、位置合わせされた前記第1点群及び前記第2点群に応じた点群を生成する、
請求項1から5のうちいずれか一項に記載の形状測定装置。 - 請求項1から6のうちいずれか一項に記載の形状測定装置を備え、
前記形状測定装置が位置合わせした前記第1点群及び前記第2点群に基づいて、前記対象物の位置及び姿勢を算出し、算出した前記対象物の位置及び姿勢に基づいてロボットに所定の作業を行わせる、
ロボット制御装置。 - 請求項7に記載のロボット制御装置の制御により前記所定の作業を行う、
ロボット。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016112390A JP2017219359A (ja) | 2016-06-06 | 2016-06-06 | 形状測定装置、ロボット制御装置、及びロボット |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016112390A JP2017219359A (ja) | 2016-06-06 | 2016-06-06 | 形状測定装置、ロボット制御装置、及びロボット |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017219359A true JP2017219359A (ja) | 2017-12-14 |
Family
ID=60657422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016112390A Pending JP2017219359A (ja) | 2016-06-06 | 2016-06-06 | 形状測定装置、ロボット制御装置、及びロボット |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017219359A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022091739A1 (ja) * | 2020-10-26 | 2022-05-05 | 国立研究開発法人産業技術総合研究所 | 垂直器 |
CN114720993A (zh) * | 2022-03-30 | 2022-07-08 | 上海木蚁机器人科技有限公司 | 机器人定位方法、装置、电子设备以及存储介质 |
-
2016
- 2016-06-06 JP JP2016112390A patent/JP2017219359A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022091739A1 (ja) * | 2020-10-26 | 2022-05-05 | 国立研究開発法人産業技術総合研究所 | 垂直器 |
CN114720993A (zh) * | 2022-03-30 | 2022-07-08 | 上海木蚁机器人科技有限公司 | 机器人定位方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018051704A (ja) | ロボット制御装置、ロボット、及びロボットシステム | |
JP6546618B2 (ja) | 学習装置、学習方法、学習モデル、検出装置及び把持システム | |
JP6380828B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
EP2963513B1 (en) | Teaching apparatus and robot system | |
JP4835616B2 (ja) | 動作教示システム及び動作教示方法 | |
JP6271953B2 (ja) | 画像処理装置、画像処理方法 | |
JP2017170571A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP6364836B2 (ja) | ロボット、ロボットシステム、及び制御装置 | |
WO2012091144A4 (en) | Information processing apparatus and method | |
JP2012026974A (ja) | 3次元物体認識装置及び3次元物体認識方法 | |
CN113119104B (zh) | 机械臂控制方法、机械臂控制装置、计算设备及*** | |
US20180215044A1 (en) | Image processing device, robot control device, and robot | |
JP2017219359A (ja) | 形状測定装置、ロボット制御装置、及びロボット | |
JP2017042897A (ja) | ロボットシステム、ロボット、及びロボット制御装置 | |
JP2017202549A (ja) | ロボット制御装置、ロボット、及びロボットシステム | |
CN111745639B (zh) | 信息处理方法及装置、物体检测装置以及机器人*** | |
JP2013137591A (ja) | 最近傍点探索装置およびその方法、プログラム、3次元位置・姿勢認識装置およびその方法 | |
US11118902B2 (en) | Three-dimensional shape measurement device, robot system, and three-dimensional shape measurement method | |
JP6455869B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP2018017610A (ja) | 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム | |
JP2014238687A (ja) | 画像処理装置、ロボット制御システム、ロボット、画像処理方法及び画像処理プログラム | |
JP2019111588A (ja) | ロボットシステム、情報処理装置、及びプログラム | |
JP6237117B2 (ja) | 画像処理装置、ロボットシステム、画像処理方法、および画像処理プログラム | |
JP6766229B2 (ja) | 位置姿勢計測装置及び方法 | |
JP2017052073A (ja) | ロボットシステム、ロボット、及びロボット制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20181026 |