(57)【要約】【課題】効率的なモデルを生成することができる検出装置などを提供する。【解決手段】対象物が撮像された撮像画像に基づいて、点群を生成し、生成した前記点群から前記対象物が有する線分の端点の候補を検出し、検出した前記候補に基づいて前記対象物の少なくとも一部のモデルを生成する、検出装置。【選択図】図１
2018017654.tif 000002
【特許請求の範囲】
【請求項１】
対象物が撮像された撮像画像に基づいて、点群を生成し、生成した前記点群から前記対象物が有する線分の端点の候補を検出し、検出した前記候補に基づいて前記対象物の少なくとも一部のモデルを生成する、
検出装置。
【請求項２】
前記撮像画像に基づいて、前記点群から平面を検出し、検出した前記平面から輪郭を検出し、検出した前記輪郭から前記線分を検出し、検出した前記線分から前記端点の候補を検出する、
請求項１に記載の検出装置。
【請求項３】
前記端点の候補に基づいて所定の形状の図形を生成する、
請求項１または請求項２のいずれか１項に記載の検出装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載の検出装置によって生成された前記モデルに基づいて所定の作業を行う、
ロボット。
【請求項５】
請求項４に記載のロボットを制御する、
ロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出装置、ロボットおよびロボット制御装置に関する。
【背景技術】
【０００２】
３次元の物体の全周モデルを生成することが行われている。そして、３次元の物体の全周モデルを使用して各種の演算を行って、ロボットの動作を制御することが行われている。
特許文献１に記載された３次元形状計測装置では、対象物（被写体）が配置された回転テーブルの回転制御を行い、当該対象物を３次元座標取得装置により異なる視点で複数回測定し、各視点から取得された当該対象物の形状データを合成することで、３次元の物体の全周モデルを生成することが行われる（特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２２１２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来では、精度の良いモデルを使用して各種の演算を行う場合にはデータ容量が大きくなり、一方、データ容量を小さくする場合にはモデルの精度が悪くなり各種の演算の精度が悪くなるといった問題があった。
【課題を解決するための手段】
【０００５】
上記課題の少なくとも一つを解決するために本発明の一態様は、対象物が撮像された撮像画像に基づいて、点群を生成し、生成した前記点群から前記対象物が有する線分の端点の候補を検出し、検出した前記候補に基づいて前記対象物の少なくとも一部のモデルを生成する、検出装置である。
この構成により、検出装置では、対象物が撮像された撮像画像に基づいて、点群を生成し、生成した点群から当該対象物が有する線分の端点の候補を検出し、検出した候補に基づいて当該対象物の少なくとも一部のモデルを生成する。これにより、検出装置では、効率的なモデルを生成することができる。
【０００６】
本発明の一態様は、検出装置において、前記撮像画像に基づいて、前記点群から平面を検出し、検出した前記平面から輪郭を検出し、検出した前記輪郭から前記線分を検出し、検出した前記線分から前記端点の候補を検出する、構成が用いられてもよい。
この構成により、検出装置では、撮像画像に基づいて、点群から平面を検出し、検出した平面から輪郭を検出し、検出した輪郭から線分を検出し、検出した線分から端点の候補を検出する。これにより、検出装置では、効率的なモデルを生成するために、端点の候補を検出することができる。
【０００７】
本発明の一態様は、検出装置において、前記端点の候補に基づいて所定の形状の図形を生成する、構成が用いられてもよい。
この構成により、検出装置では、端点の候補に基づいて所定の形状の図形を生成する。これにより、検出装置では、効率的なモデルを生成するために、所定の形状の図形を生成することができる。
【０００８】
本発明の一態様は、上記のような検出装置によって生成された前記モデルに基づいて所定の作業を行う、ロボットである。
この構成により、ロボットでは、検出装置によって生成されたモデルに基づいて所定の作業を行う。これにより、ロボットでは、効率的なモデルに基づいて所定の作業を行うことができる。
【０００９】
本発明の一態様は、上記のようなロボットを制御する、ロボット制御装置である。
この構成により、ロボット制御装置では、ロボットを制御する。これにより、ロボット制御装置では、効率的なモデルに基づいてロボットを制御することができる。
【００１０】
以上のように、本発明に係る検出装置、ロボットおよびロボット制御装置によれば、検出装置において、対象物が撮像された撮像画像に基づいて、点群を生成し、生成した点群から当該対象物が有する線分の端点の候補を検出し、検出した候補に基づいて当該対象物の少なくとも一部のモデルを生成する。これにより、本発明に係る検出装置、ロボットおよびロボット制御装置では、効率的なモデルを生成あるいは使用することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るロボットシステムの概略的な構成例を示す図である。
【図２】本発明の一実施形態に係るロボット制御装置の概略的な構成例を示す図である。
【図３】本発明の一実施形態に係るロボットシステムにおけるロボット制御装置により行われる全体の処理の一例を示す図である。
【図４】本発明の一実施形態に係るロボットシステムにおけるロボット制御装置により行われる平面の推定の処理の一例を示す図である。
【図５】本発明の一実施形態に係るロボットシステムにおけるロボット制御装置により行われる平面の境界線（輪郭）の推定の処理の一例を示す図である。
【図６】本発明の一実施形態に係るロボットシステムにおけるロボット制御装置により行われる境界線（輪郭）の直線近似の処理の一例を示す図である。
【図７】本発明の一実施形態に係るロボットシステムにおけるロボット制御装置により行われる線分の端点特定の処理の一例を示す図である。
【図８】本発明の一実施形態に係るロボットシステムにおけるロボット制御装置により行われる端点集約の処理の一例を示す図である。
【図９】本発明の一実施形態に係るロボットシステムにおけるロボット制御装置により行われる三角形構成の処理の一例を示す図である。
【図１０】本発明の一実施形態に係る推定された平面群の一例を示す図である。
【図１１】本発明の一実施形態に係る注目点の周囲の様子の一例を示す図である。
【図１２】本発明の一実施形態に係る推定された境界線群（輪郭群）の一例を示す図である。
【図１３】本発明の一実施形態に係る境界線（輪郭）の線分化の一例を示す図である。
【図１４】本発明の一実施形態に係る重複した端点の群の一例を示す図である。
【図１５】本発明の一実施形態に係る集約後における端点の群の一例を示す図である。
【図１６】本発明の一実施形態に係る多角形に関する配置の一例を示す図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態について図面を参照して詳細に説明する。
【００１３】
［ロボットシステム］
図１は、本発明の一実施形態に係るロボットシステム１の概略的な構成例を示す図である。
ロボットシステム１は、ロボット１１と、ロボット制御装置１２と、ロボット１１とロボット制御装置１２とを通信可能に接続するケーブル１３と、３次元計測装置２１と、３次元計測装置２１とロボット制御装置１２とを通信可能に接続するケーブル２２と、作業台５１と、対象物５２を備える。
なお、３次元計測装置２１と、作業台５１と、対象物５２のうちの１以上は、ロボットシステム１に含まれないもの（つまり、ロボットシステム１の外部にあるもの）であると捉えられてもよい。
また、図１では、ロボット１１とロボット制御装置１２とを接続する配線の詳細を省略しており、１本のケーブル１３のみを示してあるが、任意の配線が用いられてもよい。
【００１４】
ロボット１１は、基端（支持台）３１と、マニピュレーターＭ１と、力覚センサー３２と、エンドエフェクターＥ１を備える。
ここで、本実施形態では、ロボット１１は、単腕ロボットである。他の構成例として、任意のロボットが用いられてもよく、例えば、２本の腕を有する双腕ロボット（複腕ロボットの一種）、３本以上の腕を有する複腕ロボット、スカラロボット、または、直角座標ロボットが用いられてもよい。直角座標ロボットは、例えば、ガントリロボットである。
【００１５】
本実施形態では、ロボット制御装置１２は、ロボット１１とは別体で設けられている。他の構成例として、ロボット制御装置１２は、ロボット１１と一体で設けられてもよく、例えば、ロボット１１の基端３１の内部に設けられてもよい。
また、本実施形態では、ロボット１１とロボット制御装置１２とが、有線のケーブル１３を介して、通信する構成を示す。他の構成例として、ロボット１１とロボット制御装置１２とが、無線の回線を介して、通信する構成が用いられてもよい。
また、本実施形態では、３次元計測装置２１とロボット制御装置１２とが、有線のケーブル２２を介して、通信する構成を示す。他の構成例として、３次元計測装置２１とロボット制御装置１２とが、無線の回線を介して、通信する構成が用いられてもよい。
【００１６】
［作業台および対象物］
本実施形態では、作業台５１は、テーブルである。なお、作業台５１の代わりに、他のものが用いられてもよく、例えば、床、天井、あるいは、壁などが用いられてもよい。
対象物５２は、作業台５１の面に載置されている。
ここで、対象物５２としては、任意の物体が用いられてもよい。対象物５２は、例えば、生体であってもよく、または、生体でなくてもよい。
【００１７】
［３次元計測装置］
３次元計測装置２１は、３次元計測を行う装置である。
３次元計測装置２１としては、例えば、画像を撮像する撮像装置（例えば、カメラ）が用いられる。
本実施形態では、３次元計測装置２１は、対象物５２について３次元計測を行うことが可能なところに設けられている。なお、他の構成例として、３次元計測装置２１は、ロボット１１に取り付けられて設けられてもよく、あるいは、ロボット１１に内蔵されて設けられてもよい。
【００１８】
［ロボット］
ロボット１１の基端３１は、設置されている。
ロボット１１のマニピュレーターＭ１の一端は、基端３１と接続されている。ロボット１１のマニピュレーターＭ１の他端と、エンドエフェクターＥ１とが、これらの間に力覚センサー３２を介して、接続されている。
ロボット１１のマニピュレーターＭ１は、６軸垂直多関節型の構造を有しており、６個の関節を備える。それぞれの関節は、アクチュエーター（図示せず）を備える。そして、ロボット１１では、６個の関節のそれぞれのアクチュエーターの動作によって、６軸の自由度の動作を行う。他の構成例として、５軸以下の自由度で動作を行うロボット、または、７軸以上の自由度で動作を行うロボットが用いられてもよい。
ロボット１１のエンドエフェクターＥ１は、例えば、ハンドであり、物体を把持することが可能な指部を備える。他の構成例として、ロボット１１のエンドエフェクターＥ１は、任意のものであってもよく、例えば、空気の吸引を利用して物体を吸着するもの、磁力を利用して物体を寄せ付けるものなどであってもよい。
【００１９】
［ロボット制御装置］
ロボット制御装置１２は、ロボット１１を制御する。例えば、ロボット制御装置１２は、マニピュレーターＭ１が有するそれぞれのアクチュエーター、力覚センサー３２およびエンドエフェクターＥ１のそれぞれを制御する。
また、ロボット制御装置１２は、３次元計測装置２１を制御する。
ロボット制御装置１２は、力覚センサー３２から、検出結果の情報を受信する。
また、ロボット制御装置１２は、３次元計測装置２１から、３次元計測の結果の情報を受信する。
ロボット制御装置１２は、力覚センサー３２および３次元計測装置２１のそれぞれから受信された情報のうちの１以上に基づいて、ロボット１１を制御してもよい。
【００２０】
図２は、本発明の一実施形態に係るロボット制御装置１２の概略的な構成例を示す図である。
ロボット制御装置１２は、入力部１１１と、出力部１１２と、記憶部１１３と、制御部１１４を備える。
制御部１１４は、情報取得部１３１と、モデル生成部１３２と、ロボット制御部１３３を備える。
【００２１】
入力部１１１は、外部から情報を入力する。一例として、入力部１１１は、力覚センサー３２および３次元計測装置２１のそれぞれから送信される情報を入力する。他の例として、入力部１１１は、キーボードあるいはマウスなどの操作部を備え、当該操作部に対してユーザー（人）により行われる操作の内容に応じた情報を入力してもよい。
本実施形態では、入力部１１１は、ケーブル１３を介して力覚センサー３２と通信し、ケーブル２２を介して３次元計測装置２１と通信する。
【００２２】
出力部１１２は、外部に情報を出力する。一例として、出力部１１２は、力覚センサー３２および３次元計測装置２１のそれぞれに対して情報を出力（送信）する。他の例として、出力部１１２は、表示部により情報を表示出力してもよい。当該表示部は、例えば、画面を有するディスプレイ装置であり、当該画面に情報を表示出力する。当該表示部は、ロボット制御装置１２の外部に設けられてもよく、あるいは、ロボット制御装置１２の内部に設けられてもよい。他の例として、出力部１１２は、他の態様で情報を出力してもよく、例えば、音（音声を含む。）により情報を出力してもよい。
本実施形態では、出力部１１２は、ケーブル１３を介して力覚センサー３２と通信し、ケーブル２２を介して３次元計測装置２１と通信する。
【００２３】
記憶部１１３は、情報を記憶する。一例として、記憶部１１３は、制御部１１４により使用される制御プログラムおよび各種のパラメーターの情報を記憶する。他の例として、記憶部１１３は、任意の情報を記憶してもよく、例えば、ロボット１１を制御する際に使用される画像などの情報を記憶してもよい。
【００２４】
制御部１１４は、ロボット制御装置１２において各種の制御を行う。制御部１１４は、例えば、記憶部１１３に記憶された制御プログラムおよび各種のパラメーターの情報に基づいて、各種の制御を行う。
情報取得部１３１は、入力部１１１により入力される情報を取得する。
モデル生成部１３２は、モデルを生成する処理を行う。
ロボット制御部１３３は、ロボット１１の動作を制御する。具体的には、ロボット制御部１３３は、ケーブル１３を介してマニピュレーターＭ１と通信することで、マニピュレーターＭ１の動作を制御する。また、ロボット制御部１３３は、ケーブル１３を介してエンドエフェクターＥ１と通信することで、エンドエフェクターＥ１の動作を制御する。
【００２５】
［ロボットシステムにおいて行われる処理］
図３〜図９に示されるフローチャートおよび図１０〜図１６を参照して、ロボットシステム１において行われる処理の例を示す。
本実施形態では、３次元座標を用いて各処理が行われる。例えば、各点には、３次元座標の情報が対応付けられて、各種の処理に使用される。３次元座標の座標系としては、任意の座標系が用いられてもよい。
【００２６】
なお、本実施形態では、これらの処理の説明において、「端点」と呼ぶ点は、「端点の候補」を表わしてもよい。つまり、本実施形態では、これらの処理において検出（特定）された端点（ここでは、端点の候補）のすべてが実際に端点とみなされて使用されてもよく、または、これらの処理において検出（特定）された端点（ここでは、端点の候補）の一部が実際に端点とみなされて使用されてもよい。このため、検出（特定）された端点（ここでは、端点の候補）のすべてが実際に端点とみなされる場合には、端点の候補と端点とは実質的に同じ点を表すことになる。
【００２７】
＜全体の処理＞
図３は、本発明の一実施形態に係るロボットシステム１におけるロボット制御装置１２により行われる全体の処理の一例を示す図である。
図３の例では、ロボット制御装置１２は、ステップＳ１の処理からステップＳ１０の処理まで順番に行う。
【００２８】
（ステップＳ１）
情報取得部１３１は、対象物５２について、３次元計測装置２１により行われた３次元計測の結果の情報を取得する。本実施形態では、当該情報は、複数の異なる角度で撮像された画像（撮像画像）の情報を含み、複数の異なる角度で検出された３次元点群の情報を含む。３次元点群は、３次元座標を有する複数の点の集合（群）である。
ここで、本実施形態では、作業台５１の面と接する対象物５２の面については３次元計測が行われないが、他の構成例として、作業台５１の面を透明な面とする構成、あるいは、棒状の支持部などにより対象物５２を支持する構成とすることで、対象物５２のすべての面（または、ほぼすべての面）について３次元計測が行われてもよい。
【００２９】
（ステップＳ２）
モデル生成部１３２は、情報取得部１３１により取得された３次元点群の情報に基づいて、対象物５２について、３次元点群を繋ぎ合わせることで、３次元の全周の形状のデータ（全周データ）を作成する。
ここで、全周データとしては、例えば、公知の手法で得られた全周データが用いられてもよく、または、他の手法で得られた全周データが用いられてもよい。
【００３０】
（ステップＳ３）
モデル生成部１３２は、作成された全周データに含まれる平面を推定（検出）する。
（ステップＳ４）
モデル生成部１３２は、３次元点群に関する角度に基づいて、推定された平面の境界線（輪郭）を推定（検出）する。
（ステップＳ５）
モデル生成部１３２は、推定された境界線（輪郭）を直線で近似する。
（ステップＳ６）
モデル生成部１３２は、近似された直線について、線分の端点を残し、線分の端点以外の点を削除する。
（ステップＳ７）
モデル生成部１３２は、残された端点について集約する。本実施形態では、モデル生成部１３２は、残された複数の端点について、互いの距離が最も短く集約可能な２以上の点を１点に集約する。
（ステップＳ８）
モデル生成部１３２は、集約後の端点について、多角形を構成する。本実施形態では、モデル生成部１３２は、集約後の端点について、線分の端点を順番に結び合わせて、閉じた多角形を構成する。例えば、モデル生成部１３２は、線分の一方の端点を結び合わせた後に他方の端点を結び合わせることで、閉じた多角形を構成する。
（ステップＳ９）
モデル生成部１３２は、構成された多角形を三角形に分割する。
【００３１】
以上により、モデル生成部１３２は、３次元の対象物５２の全周モデルを生成する。
（ステップＳ１０）
ロボット制御部１３３は、生成された３次元の対象物５２の全周モデルに基づいて、ロボット１１の動作を制御する。
【００３２】
以下で、個別の処理を詳しく説明する。
＜平面の推定の処理＞
図４は、本発明の一実施形態に係るロボットシステム１におけるロボット制御装置１２により行われる平面の推定の処理（図３に示されるステップＳ３の処理）の一例を示す図である。
（ステップＳ２１）
モデル生成部１３２は、取得された３次元点群を処理対象として、当該３次元点群のなかから、３個の点をランダムに選択する。そして、モデル生成部１３２は、ステップＳ２２の処理へ移行する。
なお、他の構成例として、モデル生成部１３２は、取得された３次元点群の代わりに、当該３次元点群のうちの一部の３次元点群を処理対象としてもよい。
【００３３】
（ステップＳ２２）
モデル生成部１３２は、選択された３個の点を使用して、平面に関する所定のパラメーター（以下、「平面パラメーター」ともいう。）を計算する。そして、モデル生成部１３２は、ステップＳ２３の処理へ移行する。
本実施形態では、モデル生成部１３２は、選択された３個の点の３次元座標を使用して、式（１）に示される平面の方程式における平面パラメーターａ、ｂ、ｃ、ｄを計算する。ここで、本実施形態では、ｘｙｚ直交座標系を使用しており、式（１）においてｘ、ｙ、ｚはそれぞれの軸の座標値を表す。モデル生成部１３２は、選択された３個の点の３次元座標（ｘ、ｙ、ｚ）が式（１）を満たす場合における平面パラメーターａ、ｂ、ｃ、ｄを計算する。
【００３４】
［数１］
ａｘ＋ｂｙ＋ｃｚ＝ｄ    ・・（１）
【００３５】
（ステップＳ２３）
モデル生成部１３２は、計算された平面パラメーターａ、ｂ、ｃ、ｄにより表される平面のインライアに含まれる点の数をスコア値として計算する。そして、モデル生成部１３２は、ステップＳ２４の処理へ移行する。なお、点の数の代わりに、点の密度などが用いられてもよい。
ここで、インライアは、平面に所定の厚みを持たせた領域を表す。当該所定の厚みとしては、任意の値が用いられてもよく、例えば、３次元計測装置２１の計測誤差に基づいて設定されてもよい。
【００３６】
（ステップＳ２４）
モデル生成部１３２は、処理対象としている３次元点群について、すべての３個の点の組み合わせについてスコア値を計算したか否かを判定する。
この判定の結果、モデル生成部１３２は、すべての３個の点の組み合わせについてスコア値を計算していないと判定した場合には（ステップＳ２４：ＮＯ）、ステップＳ２１の処理へ移行する。この場合、ステップＳ２１の処理では、モデル生成部１３２は、未だに選択されていない組み合わせに係る３個の点（個々の点については既に選択されていてもよい。）を選択する。
一方、この判定の結果、モデル生成部１３２は、すべての３個の点の組み合わせについてスコア値を計算したと判定した場合には（ステップＳ２４：ＹＥＳ）、ステップＳ２５の処理へ移行する。
【００３７】
（ステップＳ２５）
モデル生成部１３２は、スコア値が最大となったときにおける平面のインライアに含まれる点を、同一の平面上の点とみなして、当該点の情報を平面リストの情報として記憶部１１３に記憶し、当該点を処理対象としている３次元点群から削除する。そして、モデル生成部１３２は、ステップＳ２６の処理へ移行する。この処理により、処理対象としている３次元点群は、当該点が削除されたものに更新される。当該点の情報としては、例えば、それぞれの点の３次元座標の情報が用いられる。当該平面リストの情報としては、例えば、同一の平面上の点ごとに分類した点群（つまり、それぞれの平面ごとに分類した点群）のリストの情報が用いられる。
【００３８】
（ステップＳ２６）
モデル生成部１３２は、更新後における処理対象としている３次元点群に含まれる点の数が所定の閾値以下であるか否かを判定する。
この判定の結果、モデル生成部１３２は、更新後における処理対象としている３次元点群に含まれる点の数が所定の閾値を超えると判定した場合（ステップＳ２６：ＮＯ）、ステップＳ２１の処理へ移行する。この場合、ステップＳ２１の処理では、モデル生成部１３２は、未だに選択されていない組み合わせに係る３個の点（個々の点については既に選択されていてもよい。）を選択する。
一方、この判定の結果、モデル生成部１３２は、更新後における処理対象としている３次元点群に含まれる点の数が所定の閾値以下であると判定した場合（ステップＳ２６：ＹＥＳ）、本フローの処理を終了する。
ここで、当該閾値としては、任意の値が用いられてもよく、例えば、平面を構成することが可能な最少の点の数よりも１つ少ない数が用いられてもよい。また、当該閾値としては、例えば、あらかじめ設定されてもよく、または、ユーザーにより変更可能に設定されてもよい。
【００３９】
図１０は、本発明の一実施形態に係る推定された平面群２０１の一例を示す図である。
当該平面群２０１は、複数の平面から構成されている。
図１０の例では、これら複数の平面のうちの１個の平面２２１のみに符号を付してある。
【００４０】
＜平面の境界線の推定の処理＞
図５は、本発明の一実施形態に係るロボットシステム１におけるロボット制御装置１２により行われる平面の境界線（輪郭）の推定の処理（図３に示されるステップＳ４の処理）の一例を示す図である。
本処理では、モデル生成部１３２は、図４に示される処理（ステップＳ３の処理）においてインライアに含まれていた点をすべて、当該インライアの元となった平面に移動させた３次元点群を、処理対象とする。
【００４１】
（ステップＳ４１）
初期（本フローの最初）においては、モデル生成部１３２は、処理対象としている３次元点群のなかから、１個の点を注目点として選択する。この選択は、例えば、ランダムに行われてもよい。
続いて、モデル生成部１３２は、選択された注目点を中心とする所定の半径を有する円の内部に含まれる点のそれぞれについて、当該点と当該注目点とを結ぶ線分を引く。そして、モデル生成部１３２は、ステップＳ４２の処理へ移行する。ここで、モデル生成部１３２は、必ずしも当該線分を実際に引く必要は無く、情報処理において当該線分を把握できればよい。
なお、当該所定の半径としては、任意の値が用いられてもよい。
【００４２】
（ステップＳ４２）
モデル生成部１３２は、注目点に対して引かれた線分のそれぞれに対して、右回り（いわゆる時計回り）に、ラベルを付与する。そして、モデル生成部１３２は、ステップＳ４３の処理へ移行する。
ここで、本実施形態では、右回りにラベルを付与するが、他の構成例として、左回りにラベルを付与してもよく、あるいは、他の順序でラベルを付与してもよい。
また、ラベルとしては、任意のものが用いられてもよく、例えば、連続的な番号の情報が用いられてもよい。
【００４３】
（ステップＳ４３）
モデル生成部１３２は、注目点に対して引かれた線分について、注目点を中心として回転方向で隣り合う２個の線分がなす角度を計算する。そして、モデル生成部１３２は、ステップＳ４４の処理へ移行する。
ここで、本実施形態では、注目点に対して引かれた線分の数が０個または１個である場合には、当該角度を３６０度とみなす。
【００４４】
（ステップＳ４４）
モデル生成部１３２は、計算された角度のそれぞれが所定の閾値以上であるか否かを判定することで、計算されたすべての角度のうちで少なくとも１個の角度が当該所定の閾値以上であるか否かを判定する。
この判定の結果、モデル生成部１３２は、計算されたすべての角度のうちで少なくとも１個の角度が当該所定の閾値以上であると判定した場合（ステップＳ４４：ＹＥＳ）、ステップＳ４５の処理へ移行する。
一方、この判定の結果、モデル生成部１３２は、計算されたすべての角度が当該所定の閾値未満であると判定した場合（ステップＳ４４：ＮＯ）、ステップＳ４６の処理へ移行する。
ここで、当該所定の閾値としては、任意の値が用いられてもよく、例えば、対象物５２の種類あるいは形状などに応じた値が用いられてもよい。
【００４５】
（ステップＳ４５）
モデル生成部１３２は、注目点を境界線上の点とみなして、当該注目点の情報を境界点リストの情報として記憶部１１３に記憶する。そして、モデル生成部１３２は、ステップＳ４６の処理へ移行する。当該注目点の情報としては、例えば、それぞれの注目点の３次元座標の情報が用いられる。当該境界点リストの情報としては、境界線上の点のリストの情報が用いられる。
【００４６】
（ステップＳ４６）
モデル生成部１３２は、処理対象としている３次元点群に含まれるすべての点について、当該点を注目点として検査（チェック）を行ったか否かを判定する。
この判定の結果、モデル生成部１３２は、処理対象としている３次元点群に含まれるすべての点についてチェックが完了していないと判定した場合（ステップＳ４６：ＮＯ）、ステップＳ４７の処理へ移行する。
一方、この判定の結果、モデル生成部１３２は、処理対象としている３次元点群に含まれるすべての点について、チェックが完了したと判定した場合（ステップＳ４６：ＹＥＳ）、本フローの処理を終了する。
【００４７】
（ステップＳ４７）
モデル生成部１３２は、注目点を未だに選択されていない点に更新（変更）する。そして、モデル生成部１３２は、ステップＳ４１の処理へ移行して、更新後の注目点についてチェックを行う。
【００４８】
図１１は、本発明の一実施形態に係る注目点２５１の周囲の様子の一例を示す図である。
図１１には、注目点２５１と、その周囲に位置する複数の点の一例を示してある。また、注目点２５１を中心とする所定の半径を有する円の内部に含まれる点２６１〜２６４と、注目点２５１に対して引かれた線分について当該注目点２５１を中心として回転方向で隣り合う２個の線分がなす角度θ１〜θ４を示してある。
図１１の例では、角度θ１〜θ４のうちで最大の角度θ４が所定の閾値以上であり、注目点２５１が境界線上の点であるとみなされる。
【００４９】
図１２は、本発明の一実施形態に係る推定された境界線群３０１（輪郭群）の一例を示す図である。
当該境界線群３０１は、取得された境界点リストに含まれる点（境界点）について、隣り合う点を結んで構成される境界線の群である。
図１２の例では、境界線３２１および境界線３２２が構成されている。
【００５０】
＜境界線の直線近似の処理＞
図６は、本発明の一実施形態に係るロボットシステム１におけるロボット制御装置１２により行われる境界線（輪郭）の直線近似の処理（図３に示されるステップＳ５の処理）の一例を示す図である。
（ステップＳ６１）
モデル生成部１３２は、取得された境界点リストに含まれる点の群（点群）を処理対象として、当該点群のなかから、２個の点をランダムに選択する。そして、モデル生成部１３２は、ステップＳ６２の処理へ移行する。
【００５１】
（ステップＳ６２）
モデル生成部１３２は、選択された２個の点を使用して、直線に関する所定のパラメーター（以下、「直線パラメーター」ともいう。）を計算する。そして、モデル生成部１３２は、ステップＳ６３の処理へ移行する。
本実施形態では、モデル生成部１３２は、選択された２個の点の３次元座標を使用して、直線の方程式における平面パラメーターを計算する。ここで、本実施形態では、ｘｙｚ直交座標系を使用している。
【００５２】
（ステップＳ６３）
モデル生成部１３２は、計算された直線パラメーターにより表される直線のインライアに含まれる点の数をスコア値として計算する。そして、モデル生成部１３２は、ステップＳ６４の処理へ移行する。なお、点の数の代わりに、点の密度などが用いられてもよい。
ここで、インライアは、直線に所定の厚みを持たせた領域を表す。当該所定の厚みとしては、任意の値が用いられてもよく、例えば、３次元計測装置２１の計測誤差に基づいて設定されてもよい。
【００５３】
（ステップＳ６４）
モデル生成部１３２は、処理対象としている点群について、すべての２個の点の組み合わせについてスコア値を計算したか否かを判定する。
この判定の結果、モデル生成部１３２は、すべての２個の点の組み合わせについてスコア値を計算していないと判定した場合には（ステップＳ６４：ＮＯ）、ステップＳ６１の処理へ移行する。この場合、ステップＳ６１の処理では、モデル生成部１３２は、未だに選択されていない組み合わせに係る２個の点（個々の点については既に選択されていてもよい。）を選択する。
一方、この判定の結果、モデル生成部１３２は、すべての２個の点の組み合わせについてスコア値を計算したと判定した場合には（ステップＳ６４：ＹＥＳ）、ステップＳ６５の処理へ移行する。
【００５４】
（ステップＳ６５）
モデル生成部１３２は、スコア値が最大となったときにおける直線のインライアに含まれる点を、同一の直線上の点とみなして、当該点の情報を境界線リスト（直線リスト）の情報として記憶部１１３に記憶し、当該点を処理対象としている点群から削除する。そして、モデル生成部１３２は、ステップＳ６６の処理へ移行する。この処理により、処理対象としている点群は、当該点が削除されたものに更新される。当該点の情報としては、例えば、それぞれの点の３次元座標の情報が用いられる。当該境界線リスト（当該直線リスト）の情報としては、例えば、同一の直線上の点ごとに分類した点群（つまり、それぞれの直線ごとに分類した点群）のリストの情報が用いられる。
【００５５】
（ステップＳ６６）
モデル生成部１３２は、更新後における処理対象としている点群に含まれる点の数が所定の閾値以下であるか否かを判定する。
この判定の結果、モデル生成部１３２は、更新後における処理対象としている点群に含まれる点の数が所定の閾値を超えると判定した場合（ステップＳ６６：ＮＯ）、ステップＳ６１の処理へ移行する。この場合、ステップＳ６１の処理では、モデル生成部１３２は、未だに選択されていない組み合わせに係る２個の点（個々の点については既に選択されていてもよい。）を選択する。
一方、この判定の結果、モデル生成部１３２は、更新後における処理対象としている点群に含まれる点の数が所定の閾値以下であると判定した場合（ステップＳ６６：ＹＥＳ）、本フローの処理を終了する。
ここで、当該閾値としては、任意の値が用いられてもよく、例えば、直線を構成することが可能な最少の点の数よりも１つ少ない数が用いられてもよい。また、当該閾値としては、例えば、あらかじめ設定されてもよく、または、ユーザーにより変更可能に設定されてもよい。
【００５６】
＜直線（境界線）の線分化の処理＞
モデル生成部１３２は、取得された直線（境界線）に関し、複数の離れた線分を含む直線については、これら複数の線分に分離する。モデル生成部１３２は、例えば、ユークリッドクラスター抽出手法（Ｅｕｃｌｉｄｅａｎ  Ｃｌｕｓｔｅｒ  Ｅｘｔｒａｃｔｉｏｎ  Ｍｅｔｈｏｄ）を用いて、直線を線分に分離することが可能である。
【００５７】
具体的には、まず、モデル生成部１３２は、境界線リスト（直線リスト）の情報に基づいて、処理対象とする直線に含まれる点のなかで、１個の点を選択する。
次に、モデル生成部１３２は、当該直線に含まれる点のなかで、選択された点に対して所定の距離以内に存在する他の点を探索する。また、モデル生成部１３２は、探索された点に対して当該所定の距離以内に存在するさらに他の点を探索する。このような処理を繰り返して行うことで、モデル生成部１３２は、初期に選択された点および探索された点からなるクラスターを検出する。なお、当該所定の距離としては、任意の値が用いられてもよい。
そして、モデル生成部１３２は、検出されたクラスターに含まれる点の数が所定の範囲（所定の下限値以上であり所定の上限値以下）であるか否かを判定する。モデル生成部１３２は、検出されたクラスターに含まれる点の数が所定の範囲と判定した場合、当該クラスターを、線分を構成する点のクラスターであると判定する。なお、当該所定の範囲としては、任意の範囲が用いられてもよい。
モデル生成部１３２は、線分を構成する点のクラスターに含まれる点を、同一の線分上の点とみなして、当該点の情報を線分リストの情報として記憶部１１３に記憶する。当該点の情報としては、例えば、それぞれの点の３次元座標の情報が用いられる。当該線分リストの情報としては、例えば、同一の線分上の点ごとに分類した点群（つまり、それぞれの線分ごとに分類した点群）のリストの情報が用いられる。
【００５８】
図１３は、本発明の一実施形態に係る境界線（輪郭）の線分化の一例を示す図である。
図１３には、境界線群３０１を示してあり、また、境界線３２１について特定された複数の線分ａ１〜ａ２０と、境界線３２２について特定された線分ｂ１〜ｂ４を示してある。
【００５９】
図７は、本発明の一実施形態に係るロボットシステム１におけるロボット制御装置１２により行われる線分の端点特定の処理（図３に示されるステップＳ６の処理）の一例を示す図である。
本処理では、モデル生成部１３２は、線分リストの情報に基づいて、それぞれの線分ごとに、順次、処理対象とする。
【００６０】
（ステップＳ８１）
初期（本フローの最初）においては、モデル生成部１３２は、処理対象とする線分に含まれる点のなかから、１個の点を注目点として選択する。この選択は、例えば、ランダムに行われてもよい。モデル生成部１３２は、当該線分に相当する同一の線分上の点について、選択された注目点から他の一点までの距離を計算する。そして、モデル生成部１３２は、ステップＳ８２の処理へ移行する。
【００６１】
（ステップＳ８２）
モデル生成部１３２は、注目点に関して、同一の線分上のすべての他の一点について距離を計算したか否かを判定する。
この判定の結果、モデル生成部１３２は、注目点に関して、同一の線分上のすべての他の一点について距離を計算したと判定した場合（ステップＳ８２：ＹＥＳ）、ステップＳ８３の処理へ移行する。
一方、この判定の結果、モデル生成部１３２は、注目点に関して、同一の線分上のすべての他の一点について距離を計算していないと判定した場合（ステップＳ８２：ＮＯ）、ステップＳ８６の処理へ移行する。
【００６２】
（ステップＳ８３）
モデル生成部１３２は、同一の線分上のすべての点を注目点としたか否かを判定する。
この判定の結果、モデル生成部１３２は、同一の線分上のすべての点を注目点としたと判定した場合（ステップＳ８３：ＹＥＳ）、ステップＳ８４の処理へ移行する。
一方、この判定の結果、モデル生成部１３２は、同一の線分上のすべての点を注目点としていないと判定した場合（ステップＳ８３：ＮＯ）、ステップＳ８７の処理へ移行する。
【００６３】
（ステップＳ８４）
モデル生成部１３２は、同一の線分に関する距離の計算結果に基づいて、最大の距離が得られた２点（いずれかの注目点と他の一点）を当該線分の端点として特定して、当該端点の情報を端点リストの情報として記憶部１１３に記憶する。当該点（端点）の情報としては、例えば、それぞれの点（端点）の３次元座標の情報が用いられる。当該端点リストの情報としては、例えば、端点に分類した点群のリストの情報が用いられる。
【００６４】
（ステップＳ８５）
モデル生成部１３２は、すべての線分を処理対象としたか否かを判定する。
この判定の結果、モデル生成部１３２は、すべての線分を処理対象としたと判定した場合（ステップＳ８５：ＹＥＳ）、本フローの処理を終了する。
一方、この判定の結果、モデル生成部１３２は、すべての線分を処理対象としていないと判定した場合（ステップＳ８５：ＮＯ）、ステップＳ８８の処理へ移行する。
【００６５】
（ステップＳ８６）
モデル生成部１３２は、同一の線分について、他の一点として、未だに選択されていない点を選択して更新する。そして、モデル生成部１３２は、ステップＳ８１の処理へ移行する。この場合、ステップＳ８１の処理では、モデル生成部１３２は、更新後における他の一点について距離を計算する。
【００６６】
（ステップＳ８７）
モデル生成部１３２は、同一の線分について、注目点として、未だに選択されていない点を選択して更新する。そして、モデル生成部１３２は、ステップＳ８１の処理へ移行する。この場合、ステップＳ８１の処理では、モデル生成部１３２は、更新後における注目点について距離を計算する。
【００６７】
（ステップＳ８８）
モデル生成部１３２は、処理対象とする線分として、未だに選択されていない線分を選択して更新する。そして、モデル生成部１３２は、ステップＳ８１の処理へ移行する。この場合、ステップＳ８１の処理では、モデル生成部１３２は、更新後における線分について距離を計算する。
【００６８】
図１４は、本発明の一実施形態に係る重複した端点の群の一例を示す図である。
図１４には、図７に示されるフローの処理により得られた点群４０１の一例を示してある。当該点群４０１は、重複した端点の群となっている。なお、図１４の例では、説明の便宜上から、２次元の情報を使用した場合を仮定して各端点が二重になっている例を示してあるが、３次元の情報を使用した場合には各端点が三重になる。
図１４の例では、複数の端点が重複している重複部４２１の一例を示してある。
【００６９】
図８は、本発明の一実施形態に係るロボットシステム１におけるロボット制御装置１２により行われる端点集約の処理（図３に示されるステップＳ７の処理）の一例を示す図である。
本処理では、モデル生成部１３２は、端点リストの情報（ここでは、重複した端点の情報）に基づいて、それぞれの端点ごとに、順次、処理対象とする。
【００７０】
（ステップＳ１２１）
初期（本フローの最初）においては、モデル生成部１３２は、重複した複数の端点のなかから、１個の端点を注目点ｎ（スタート点）として選択する。モデル生成部１３２は、選択された注目点ｎと、当該注目点ｎに対応するもう一方の端点（ペア点ｎ’）の情報を記憶する。当該情報は、記憶部１１３に記憶されてもよい。そして、モデル生成部１３２は、ステップＳ１２２の処理へ移行する。
【００７１】
（ステップＳ１２２）
モデル生成部１３２は、ペア点ｎ’に対して最近傍探索の処理を行い、これにより見つかった点を関連点（ｎ＋１）とする。そして、モデル生成部１３２は、ステップＳ１２３の処理へ移行する。
（ステップＳ１２３）
モデル生成部１３２は、ペア点ｎ’と関連点（ｎ＋１）との重心の点（重心点）を生成して、当該重心点（ｎ＋１）’’の情報を記憶する。当該情報は、記憶部１１３に記憶されてもよい。そして、モデル生成部１３２は、ステップＳ１２４の処理へ移行する。
【００７２】
（ステップＳ１２４）
モデル生成部１３２は、重複した複数の端点のすべての点（端点）について処理を行ったか否かを判定する。
この判定の結果、モデル生成部１３２は、重複した複数の端点のすべての点（端点）について処理を行ったと判定した場合（ステップＳ１２４：ＹＥＳ）、本フローの処理を終了する。
一方、この判定の結果、モデル生成部１３２は、重複した複数の端点のすべての点（端点）について処理を行っていないと判定した場合（ステップＳ１２４：ＮＯ）、ステップＳ１２５の処理へ移行する。
【００７３】
（ステップＳ１２５）
モデル生成部１３２は、注目点を、未だに選択されていない端点に更新する。なお、更新後の端点は、例えば、関連点（ｎ＋１）であってもよく、あるいは、他の点であってもよい。そして、モデル生成部１３２は、ステップＳ１２１の処理へ移行する。
本実施形態では、求められた重心点（ｎ＋１）’’が、集約後における端点となる。つまり、本実施形態では、重複した複数の端点について、近傍にある端点を１個の点（重心点）に集約している。
なお、本実施形態では、説明の便宜上から、２次元の情報を使用した場合を仮定して各端点が二重になっている例を示してあるが、３次元の情報を使用した場合には各端点が三重になる。二重の端点については重複する２個の端点の重心位置が求められ、三重の端点については重複する３個の端点の重心位置が求められる。
【００７４】
図１５は、本発明の一実施形態に係る集約後における端点の群の一例を示す図である。
図１５には、図８に示されるフローの処理により得られた点群４５１の一例を示してある。当該点群４５１は、集約された端点の群となっている。
例えば、図１５の例では、図１４の例における重複部４２１に含まれる複数の端点が集約されて１個の点４７１になっている。他の重複部についても同様である。
【００７５】
＜三角形構成の処理＞
図９は、本発明の一実施形態に係るロボットシステム１におけるロボット制御装置１２により行われる三角形構成の処理（図３に示されるステップＳ８の処理）の一例を示す図である。
本処理では、モデル生成部１３２は、集約後における複数の端点を処理対象とする。
【００７６】
（ステップＳ１４１）
モデル生成部１３２は、集約後における複数の端点のうちの１個の点を、注目する頂点（注目頂点）として選択する。そして、モデル生成部１３２は、選択された注目頂点の両端（両側の頂点）を結ぶ直線が多角形の内部に存在するか否かを判定する。本実施形態では、当該多角形は、集約後における複数の端点を結んで構成される多角形である。
この判定の結果、モデル生成部１３２は、注目頂点の両端を結ぶ直線が多角形の内部に存在すると判定した場合（ステップＳ１４１：ＹＥＳ）、ステップＳ１４２の処理を行う。
一方、この判定の結果、モデル生成部１３２は、注目頂点の両端を結ぶ直線が多角形の内部に存在しないと判定した場合（ステップＳ１４１：ＮＯ）、注目頂点を更新して、再び、ステップＳ１４１の処理を行う。
【００７７】
（ステップＳ１４２）
モデル生成部１３２は、他の頂点が、注目頂点とその両端を結んだ三角形の内部に存在しないか否かを判定する。
この判定の結果、モデル生成部１３２は、他の頂点が、注目頂点とその両端を結んだ三角形の内部に存在しないと判定した場合（ステップＳ１４２：ＹＥＳ）、ステップＳ１４３の処理へ移行する。
一方、この判定の結果、モデル生成部１３２は、他の頂点が、注目頂点とその両端を結んだ三角形の内部に存在すると判定した場合（ステップＳ１４２：ＮＯ）、ステップＳ１４６の処理へ移行する。
【００７８】
（ステップＳ１４３）
モデル生成部１３２は、注目頂点とその両端を結んだ三角形の部分を切り取って、当該三角形の部分の情報を記憶する。この場合、モデル生成部１３２は、当該注目頂点も切り取る。当該情報は、記憶部１１３に記憶されてもよい。そして、モデル生成部１３２は、ステップＳ１４４の処理へ移行する。
【００７９】
（ステップＳ１４４）
モデル生成部１３２は、残りの端点（頂点）の数が３個であるか否かを判定する。
この判定の結果、モデル生成部１３２は、残りの端点（頂点）の数が３個であると判定した場合（ステップＳ１４４：ＹＥＳ）、ステップＳ１４５の処理へ移行する。
一方、この判定の結果、モデル生成部１３２は、残りの端点（頂点）の数が３個ではないと判定した場合（ステップＳ１４４：ＮＯ）、ステップＳ１４７の処理へ移行する。
【００８０】
（ステップＳ１４５）
モデル生成部１３２は、残りの３個の端点（頂点）を結んで構成される三角形の部分を切り取って、当該三角形の部分の情報を記憶する。当該情報は、記憶部１１３に記憶されてもよい。そして、モデル生成部１３２は、本フローの処理を終了する。
【００８１】
（ステップＳ１４６）
モデル生成部１３２は、注目頂点を更新する。そして、モデル生成部１３２は、ステップＳ１４１の処理へ移行する。
【００８２】
（ステップＳ１４７）
モデル生成部１３２は、注目頂点を更新する。そして、モデル生成部１３２は、ステップＳ１４１の処理へ移行する。
なお、本実施形態では、ＳＴＬ（Ｓｔａｎｄａｒｄ  Ｔｒｉａｎｇｕｌａｔｅｄ  Ｌａｎｇｕａｇｅ）が用いられる場合を示したが、他の構成が用いられてもよい。
【００８３】
図１６を参照して、注目頂点の両端（両側の頂点）を結ぶ直線が多角形の内部に存在するか否かを判定する処理（ステップＳ１４１の処理）の具体例を示す。
図１６は、本発明の一実施形態に係る多角形に関する配置５０１の一例を示す図である。当該配置５０１では、６個の端点Ｐ０〜Ｐ５が多角形の頂点として存在する。図１６の例では、モデル生成部１３２は、当該多角形の頂点（端点Ｐ０〜Ｐ５）について、左回り（いわゆる反時計回り）の回転方向で、連続的な番号（０〜５）をラベリングする処理を完了しているとする。
【００８４】
図１６の例では、６個の端点Ｐ０〜Ｐ５を順番に結んで多角形が構成される。
一例として、端点Ｐ０を注目頂点とした場合、当該注目頂点の両端を結ぶ直線（端点Ｐ５と端点Ｐ１とを結ぶ直線）が当該多角形の内部に存在すると判定される。なお、図１６には、当該注目頂点とその両端を結んだ三角形５２１を示してある。
他の例として、端点Ｐ４を注目頂点とした場合、当該注目頂点の両端を結ぶ直線（端点Ｐ３と端点Ｐ５とを結ぶ直線）が当該多角形の内部に存在しないと判定される。なお、図１６には、当該注目頂点とその両端を結んだ三角形５２２を示してある。
このように、本実施形態では、三角形の内部に他の頂点が存在しないという条件と、当該三角形の回転方向が反時計回りであるという条件を同時に満たす三角形が、所望の三角形として判定される。
【００８５】
モデル生成部１３２は、上記の処理の結果に基づいて、対象物５２の形状のモデル（全周モデル）を生成する。
このように、モデル生成部１３２は、３次元計測装置２１を用いて取得された３次元点群の情報に基づいて、対象物５２のモデルを生成する。
【００８６】
［実施形態のまとめ］
以上のように、本実施形態に係るロボットシステム１では、ロボット制御装置１２は、対象物５２について、効率的なモデルを生成することができる。ロボット制御装置１２は、対象物５２について、例えば、ノイズ耐性が高く（つまり、ノイズに強く）、精度が良く、データ容量が小さいモデルを生成することができる。
本実施形態では、ロボット制御装置１２は、物体（本実施形態では、対象物５２）を局所的な平面の繋ぎ合わせで近似することができると仮定し、平面上に位置しない点を除去した後に、平面の頂点のみを残す処理を行って面を張ることで、モデルを生成する。これにより、例えば、点の数が大量に増加させられなくても、ロボット制御装置１２は、効率的なモデルを生成することが可能である。
【００８７】
本実施形態に係るロボットシステム１では、ロボット制御装置１２は、生成されたモデルに基づいて、ロボット１１の動作を制御する。これにより、ロボット１１は、所定の動作を行って、所定の作業を実行する。
一例として、ロボット制御装置１２は、生成されたモデルに基づいて、物体（本実施形態では、対象物５２）の位置および姿勢に応じて、エンドエフェクターＥ１により当該物体を容易に把持することが可能な位置および姿勢を計算して、当該エンドエフェクターＥ１により当該物体を把持することが可能である。
【００８８】
ここで、本実施形態に係るロボットシステム１は、例えば、産業用あるいはサービス用など、任意のロボット分野に適用されてもよい。
また、本実施形態では、物体のモデルを生成する際に曲線を直線に近似する処理が用いられる場合があるが、対象物５２としては、必ずしも直線の輪郭で構成されたものばかりでなく、曲線の輪郭を含むものが用いられてもよい。なお、一般に、工業用の部品あるいは電子機器の部品は、平面の組み合わせで構成されるものが多いと言われている。
【００８９】
また、本実施形態では、撮像画像に基づいて物体が有する線分の端点の候補を検出して当該物体のモデルを生成する機能と、ロボット１１を制御する機能を備えるロボット制御装置１２を示したが、他の構成例として、ロボット１１を制御する機能を備えずに、撮像画像に基づいて物体が有する線分の端点の候補を検出して当該物体のモデルを生成する機能を備える装置（検出装置）が実施されてもよい。
また、本実施形態では、物体（本実施形態では、対象物５２）の全体のモデルを生成する場合を示したが、他の構成例として、物体の一部のモデルを生成する場合が用いられてもよい。
【００９０】
一構成例として、対象物（図１の例では、対象物５２）が撮像された撮像画像に基づいて、点群を生成し、生成した点群から当該対象物が有する線分の端点の候補を検出し、検出した候補に基づいて当該対象物の少なくとも一部のモデルを生成する、検出装置（例えば、図１に示されるロボット制御装置１２が有する該当する機能を有する装置）である。
一構成例として、検出装置において、撮像画像に基づいて、点群から平面を検出し（例えば、ステップＳ３の処理）、検出した平面から輪郭（境界線）を検出し（例えば、ステップＳ４の処理）、検出した輪郭から線分を検出し（例えば、ステップＳ５の処理など）、検出した線分から端点の候補を検出する（例えば、ステップＳ６〜ステップＳ７の処理）。
一構成例として、検出装置において、端点の候補に基づいて所定の形状の図形（本実施形態では、三角形）を生成する（例えば、ステップＳ８〜ステップＳ９の処理）。
一構成例として、検出装置によって生成されたモデルに基づいて所定の作業を行う、ロボット（図１の例では、ロボット１１）である。
一構成例として、ロボットを制御する、ロボット制御装置（図１の例では、ロボット制御装置１２）である。
【００９１】
なお、以上に説明した装置（例えば、ロボット制御装置１２など）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体（記憶媒体）に記録（記憶）し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）あるいは周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）あるいは電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００９２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００９３】
１…ロボットシステム、１１…ロボット、１２…ロボット制御装置、１３、２２…ケーブル、２１…３次元計測装置、３１…基端、３２…力覚センサー、５１…作業台、５２…対象物、１１１…入力部、１１２…出力部、１１３…記憶部、１１４…制御部、１３１…情報取得部、１３２…モデル生成部、１３３…ロボット制御部、２０１…平面群、２２１…平面、２５１…注目点、２６１〜２６４、４７１…点、３０１…境界線群、３２１、３２２…境界線、４０１、４５１…点群、４２１…重複部、５０１…配置、５２１〜５２２…三角形、Ｍ１…マニピュレーター、Ｅ１…エンドエフェクター、θ１〜θ５…角度、ａ１〜ａ２０…線分、Ｐ０〜Ｐ５…端点
【図１】
2018017654.tif 000003
【図２】
2018017654.tif 000004
【図３】
2018017654.tif 000005
【図４】
2018017654.tif 000006
【図５】
2018017654.tif 000007
【図６】
2018017654.tif 000008
【図７】
2018017654.tif 000009
【図８】
2018017654.tif 000010
【図９】
2018017654.tif 000011
【図１０】
2018017654.tif 000012
【図１１】
2018017654.tif 000013
【図１２】
2018017654.tif 000014
【図１３】
2018017654.tif 000015
【図１４】
2018017654.tif 000016
【図１５】
2018017654.tif 000017
【図１６】
2018017654.tif 000018