(57)【要約】【課題】  計測対象の計測のための計測器の位置姿勢の設定を迅速且つ容易に行うための技術を提供すること。【解決手段】  計測器による計測対象を表す第１のモデルと、該計測器の計測範囲を表す第２のモデルと、を表示画面に表示する。第２のモデルの位置姿勢をユーザ操作に応じて変更する。第２のモデルの位置姿勢が変更された状態における、計測器に対する相対的な位置姿勢が一定である部位の位置姿勢、を求めて出力する。【選択図】  図１
2020013548.tif 000002
【特許請求の範囲】
【請求項１】
計測器による計測対象を表す第１のモデルと、該計測器の計測範囲を表す第２のモデルと、を表示画面に表示する表示手段と、
ユーザ操作に応じて前記第２のモデルの位置姿勢を変更する変更手段と、
前記第２のモデルの位置姿勢が変更された状態における、前記計測器に対する相対的な位置姿勢が一定である部位の位置姿勢、を出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記表示手段は、前記計測器または前記計測範囲の向きに相当する軸を前記表示画面に表示することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記表示手段は、前記計測器による前記計測対象の撮像画像に基づいて該計測対象の位置姿勢を求め、該求めた位置姿勢で配置した前記第１のモデルを前記表示画面に表示することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記表示手段は、前記第１のモデルと前記第２のモデルとの間の相対的な位置および／または姿勢を前記表示画面に表示することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記表示手段は、前記第１のモデルを構成する各要素を、前記第２のモデルとの位置関係に応じた色で描画することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記表示手段は、前記部位の位置姿勢が、予め規定されている制約の範囲を超えている場合には、前記表示画面に警告を表示することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記表示手段は、前記計測器による撮像画像を前記表示画面に表示することを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記出力手段は、複数の計測対象のそれぞれについて前記部位の位置姿勢を求めて出力することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記出力手段は、前記表示画面に前記部位の位置姿勢を表示することを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
前記出力手段は、前記部位の位置姿勢を、前記部位の位置姿勢を制御するための装置に対して出力することを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
前記計測器はロボットアームに取り付けられており、前記部位は該ロボットアームの一部であることを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記計測器は、前記計測対象にパターン光を投影する投影部と、該パターン光が投影された該計測対象を撮像する撮像部と、を有することを特徴とする請求項１乃至１１の何れか１項に記載の画像処理装置。
【請求項１３】
前記計測器は、それぞれ異なる位置姿勢で前記計測対象を撮像する複数の撮像装置を有することを特徴とする請求項１乃至１１の何れか１項に記載の画像処理装置。
【請求項１４】
前記第２のモデルは半透明のモデルであることを特徴とする請求項１乃至１３の何れか１項に記載の画像処理装置。
【請求項１５】
前記第２のモデルはワイヤーフレームのモデルであることを特徴とする請求項１乃至１３の何れか１項に記載の画像処理装置。
【請求項１６】
前記表示手段は、前記計測器を表す第３のモデルを前記表示画面に表示し、
前記変更手段は、前記第２のモデルまたは前記第３のモデルがユーザ操作に応じて操作されることにより、前記第２のモデルの位置姿勢を変更し、
前記出力手段は、前記第２のモデルまたは前記第３のモデルの位置姿勢に基づいて、前記部位の位置姿勢を求めて出力する
ことを特徴とする請求項１乃至１５の何れか１項に記載の画像処理装置。
【請求項１７】
前記変更手段は、前記第２のモデルおよび前記第３のモデルのうち一方がユーザ操作に応じて操作された場合、前記第２のモデルと前記第３のモデルとの間の相対的な位置姿勢が維持されるように他方の位置姿勢を変更することを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記表示手段は、前記部位の位置姿勢としてユーザにより指定された位置姿勢に基づいて、前記第２のモデルおよび前記第３のモデルのそれぞれの位置姿勢を求め、該それぞれの位置姿勢で配置した前記第２のモデルおよび前記第３のモデルを前記表示画面に表示することを特徴とする請求項１６または１７に記載の画像処理装置。
【請求項１９】
前記表示手段は、前記第３のモデルの位置姿勢を有する視点から見える、前記第２のモデルが表す計測範囲の空間の画像を前記表示画面に表示することを特徴とする請求項１６乃至１８の何れか１項に記載の画像処理装置。
【請求項２０】
前記表示手段は、前記第１のモデルと前記第３のモデルとの間の距離を前記表示画面に表示することを特徴とする請求項１６乃至１９の何れか１項に記載の画像処理装置。
【請求項２１】
前記表示手段は、前記第１のモデルと前記第３のモデルとの干渉判定、前記部位を表すモデルと前記第１のモデルとの干渉判定、を行い、干渉があれば警告を前記表示画面に表示することを特徴とする請求項１６乃至２０の何れか１項に記載の画像処理装置。
【請求項２２】
前記表示手段は、前記第２のモデルに対して相対位置姿勢が決められている物を前記表示画面に表示し、
前記変更手段は、当該物がユーザ操作に応じて操作されることによって、前記第２のモデルの位置姿勢を変更する
ことを特徴とする請求項１乃至１５の何れか１項に記載の画像処理装置。
【請求項２３】
請求項１乃至２２の何れか１項に記載の画像処理装置と、
前記画像処理装置が出力した位置姿勢に基づいて被検物を計測する計測器と
を有することを特徴とするシステム。
【請求項２４】
請求項１乃至２２の何れか１項に記載の画像処理装置と、
被検物を計測する計測器と、
前記計測器が固定され、前記計測器による計測結果に基づいて前記被検物を操作するロボットと、を有し、
前記画像処理装置が出力した位置姿勢に基づいて前記ロボットを移動させて、前記計測器によって前記被検物を計測する、ことを特徴とするシステム。
【請求項２５】
請求項１乃至２２の何れか１項に記載の画像処理装置が出力した位置姿勢に基づいて被検物を計測する工程と、
該計測結果に基づいて被検物を処理することにより物品を製造する工程と、を有することを特徴とする物品の製造方法。
【請求項２６】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の表示手段が、計測器による計測対象を表す第１のモデルと、該計測器の計測範囲を表す第２のモデルと、を表示画面に表示する表示工程と、
前記画像処理装置の変更手段が、ユーザ操作に応じて前記第２のモデルの位置姿勢を変更する変更工程と、
前記画像処理装置の出力手段が、前記第２のモデルの位置姿勢が変更された状態における、前記計測器に対する相対的な位置姿勢が一定である部位の位置姿勢、を出力する出力工程と
を備えることを特徴とする画像処理方法。
【請求項２７】
コンピュータを、請求項１乃至２２の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測技術に関するものである。
【背景技術】
【０００２】
撮像装置を用いて対象物を撮像する前に、予め対象物と撮像装置との間の位置関係を設定する必要がある。これは、撮像装置のレンズの焦点距離、ＣＣＤなどの撮像素子のサイズなどをはじめとした様々なファクターによって撮像装置の視野領域が規定されており、対象物がその領域に入っている必要があるためである。この設定を、シミュレーション装置上で行う技術が存在する。
【０００３】
特許文献１には、実空間でカメラを設置する前に、どのような範囲を撮影することができるかをシミュレーションによって予め知ることを目的とした技術が開示されている。この技術は、カメラの設置領域となるエリアのエリア画像を表示し、そのエリア画像上にカメラ表示子を重ねて配置、表示する。そしてカメラの種類や画角などの情報を基に、撮影範囲や死角を提示する、というものである。
【０００４】
特許文献２では、ビデオカメラの撮影現場と離れて映像を見る場合、ビデオカメラがどこからどこを見ているかが不明確であり、映像から撮影現場を把握することやビデオカメラに指示を与えることが難しいことを課題としている。これに対し、特許文献２では、ビデオカメラの存在位置、視野可能領域を含んだ現実世界を、予め仮想空間上で準備し、その仮想空間上に現実世界のビデオカメラの位置や視線、画角領域をリアルタイムで３次元的に表示することで、この課題を解消している。
【０００５】
特許文献１，２に開示されている技術の目的は、実空間上において、おおよそどこに撮像装置を設置すれば所望の対象物もしくは所望の領域が視野領域に入るかを知ることにある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１０５８０２号公報
【特許文献２】特開２００８−５４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方で、例えば、撮像装置を有する３次元計測器などにおいては、背景技術に記載の技術では十分な効果が得られない状況が存在する。一般に、計測器においては、視野領域とは別に計測に好適な所定領域が規定されており、当然その領域は実空間上で不可視である。この所定領域の中でもさらに精度が良好な箇所が存在することもあり、その領域あるいは領域内の特定箇所に計測対象が来るように調整することは困難を伴う。
【０００８】
実際の調整方法の一例を以下に記す。まず、使用者は計測対象が計測に好適な領域に入るようなおおよその位置に計測器を移動させる。そして計測器と計測対象の実際の相対的な位置関係を知るためにその距離などをスケールなどで測る。そしてその結果を基に計測器を移動させて、再度スケールで確認を行う。その後、その計測器の位置で撮影された画像を確認し、例えばそれが画角内に収まっていない場合は再度調整及び確認を行うこととなる。
【０００９】
前述の３次元計測器は、例えば、ロボットなどに固定して用いられることもあり、この場合には更なる難点、手間が存在する。まず、使用者は計測器そのものの位置姿勢を制御するわけではなく、計測器が搭載されているロボットの位置姿勢をコントローラなどで操作して計測器の位置姿勢制御を行う。即ち、仮に計測器の位置姿勢がわかっても、計測器自体がその位置姿勢となるようにロボットの位置姿勢を制御しなければならない。また、ロボットの操作は安全柵の外で行われることが多く、ロボット操作を行った後にスケールで確認を行う際に安全柵に対する出入りを要するので、作業効率も低下することもある。このように、上記の計測器と計測対象の位置関係の設定において、背景技術に記載の技術では十分な効果が得られない。本発明では、計測対象の計測のための計測器の位置姿勢の設定を迅速且つ容易に行うための技術を提供する。
【課題を解決するための手段】
【００１０】
本発明の一様態は、計測器による計測対象を表す第１のモデルと、該計測器の計測範囲を表す第２のモデルと、を表示画面に表示する表示手段と、ユーザ操作に応じて前記第２のモデルの位置姿勢を変更する変更手段と、前記第２のモデルの位置姿勢が変更された状態における、前記計測器に対する相対的な位置姿勢が一定である部位の位置姿勢、を出力する出力手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明の構成によれば、計測対象の計測のための計測器の位置姿勢の設定を迅速且つ容易に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】システムの構成例を示す図。
【図２】ＧＵＩの表示例を示す図。
【図３】ＧＵＩの表示例を示す図。
【図４】ＧＵＩの表示例を示す図。
【図５】ＧＵＩの表示例を示す図。
【図６】ＧＵＩの表示例を示す図。
【図７】ＧＵＩの表示例を示す図。
【図８】ＧＵＩの表示例を示す図。
【図９】ＧＵＩの表示例を示す図。
【図１０】ＧＵＩの表示例を示す図。
【図１１】ＧＵＩの表示例を示す図。
【図１２】ＧＵＩの表示例を示す図。
【図１３】ＧＵＩの表示例を示す図。
【図１４】ＧＵＩの表示例を示す図。
【図１５】ＧＵＩの表示例を示す図。
【図１６】画像処理装置１が行う処理のフローチャート。
【図１７】計測装置とロボットアームを含む制御システムを示す図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の１つである。
【００１４】
［第１の実施形態］
先ず、本実施形態に係るシステムの構成例について、図１を用いて説明する。計測器２は、設置台１０に載置されている計測対象（対象物）３の位置、姿勢、形状等、計測対象３に係る３次元情報を計測するための３次元形状計測器である。計測器２には、例えば、計測対象３にパターン光を投影する投影部と、該パターン光が投影された該計測対象３を撮像する撮像部と、を有するアクティブ方式のものがある。また、計測器２には、それぞれ異なる位置姿勢で計測対象３を撮像する複数の撮像装置を有するパッシブ方式のものもある。
【００１５】
計測対象３としては様々な物体（様々なサイズや様々な材質の物体）が適用可能である。計測対象３が比較的小型のものである場合は、ばら積み状態で載置されることもあり、比較的大型のものであれば、一個体のみで載置される場合もある。計測対象３をばら積みで載置する場合には、パレットなどの容器に該計測対象３が納められているケースも多く存在する。本実施形態では、計測対象３は計測器２による計測対象だけでなく、該計測器２による計測対象が収められた容器も含むものとする。本実施形態では、計測対象３として、パレットにばら積みされた状態の小型ワークを想定する。また、図１に示すように、計測対象３は設置台１０に搭載され、重力方向に対して斜めに設置されているものとする。
【００１６】
計測器２に関しては、その性能や仕様により規定される計測範囲４が存在する。例えば、計測器２が撮像装置を備える場合、該撮像装置の視野内に計測対象３の少なくとも一部が含まれていないと、所望の計測が出来ない（所望の計測結果が得られない）。また、計測対象３が撮像装置の視野に入っていれば計測器２と計測対象３との間の相対的な位置姿勢が好適（つまり、計測器２による計測対象３の計測精度が充分）であるとは限らない。つまり、計測対象３が撮像装置の視野に入っていたとしても、デフォーカスや収差の観点から計測に好適な撮像装置の位置や姿勢というものが存在する。また、例えば、前述のアクティブ方式の３次元形状計測器においては、パターンを投影する光学系の性能、仕様から考えられる好適な計測対象３の位置や姿勢というものも存在する。このような３次元形状計測器においては、認識性能や精度上好適な領域というものが規定されていることが往々にしてある。本実施形態では計測器２より遠方５００ｍｍの位置で５００×５００ｍｍの大きさの領域を底面、計測器２より遠方３００ｍｍの位置で３００×３００ｍｍの大きさの領域を上面、とする四角錐台状の領域を計測範囲４として規定する。本実施形態において、計測範囲４は計測器２が一定の計測性能を達成することが可能な領域であるとする。つまり、計測器２と計測範囲４との間の相対的な位置姿勢（位置姿勢関係）は、計測器２のパラメータ（焦点距離など）を変更しない限りは一定である。
【００１７】
計測対象３を精度よく計測するために、ユーザは計測対象３を計測範囲４の特定箇所に合わせるように調整を行う。計測対象３のワークのばら積み状態は様々な状態が想定され、ばら積みされた表層ワークの高さ位置も多様なパターンが存在する。その場合、ユーザは、例えば計測対象３の入ったパレットの底面を計測範囲４の遠方端、すなわち前述の５００×５００ｍｍの領域と一致させようとする。そのように設定することで、その上にばら積みされたワークは四角錐台状の領域に入り、ばら積み状態が高い場合であってもばら積み表面に存在するワークが計測器２より遠方３００ｍｍより遠い位置にあれば計測範囲４にワークを収めることが出来るためである。
【００１８】
本実施形態では、図１に示す如く、計測器２はマウンタ１１などを介してロボットアーム１２に取り付けられている（固定されている）。ロボットアーム１２はロボットベース１３に固定されており、可動部５などのロボットアーム１２における特定部位の位置や姿勢はロボットコントローラ１４により制御される。該制御に関する指令は、例えばプログラミングペンダント１５から送信される。ユーザがプログラミングペンダント１５を操作して可動部５の位置や姿勢の変更指示を入力すると、該変更指示はロボットコントローラ１４に送信され、ロボットコントローラ１４は該変更指示に従って可動部５の位置や姿勢を変更する。以下で取り扱う位置姿勢は、特に断らない限りは。ロボットベース１３の位置姿勢を基準とする座標系（基準座標系）における位置姿勢であるものとする。基準座標系は、例えば、ロボットベース１３の位置を原点とし、該原点で直交する３軸をそれぞれＸ軸、Ｙ軸、Ｚ軸とする座標系である。可動部５としてはロボットアーム１２の先端のフランジ部が例として挙げられる。あるいは図１のように計測対象３を把持するためのツールとして把持機構をフランジ部に固定接続した場合、そのツール先端部を可動部５とすることもある。本実施形態においてはツール先端を可動部５とする。
【００１９】
ここで、計測器２及び可動部５はロボットアーム１２に固定して取り付けられているため、計測器２と可動部５との間の相対的な位置姿勢はロボットアーム１２の位置や姿勢にかかわらず一定である。「計測器２と可動部５との間の相対的な位置姿勢」は計測器２やマウンタ１１やツールの設計情報などを基に取得することが可能である。また、マーカなどを計測器２で複数の視点から撮影し、演算処理を行うことで取得する方法も知られている。
【００２０】
この「計測器２と可動部５との間の相対的な位置姿勢」は、画像処理装置１が有する記憶部６に格納されているものとする。画像処理装置１は更に演算部９、表示部７、入力部８、を有する。
【００２１】
演算部９は、１以上のＣＰＵやプロセッサ、演算処理回路などにより構成されている。演算部９は、記憶部６に格納されているコンピュータプログラムやデータを用いて処理を実行することで、画像処理装置１全体の動作制御を行うと共に、画像処理装置１が行うものとして後述する各処理を実行若しくは制御する。例えば、演算部９は、以下に説明するＧＵＩ（グラフィカルユーザインターフェース）の表示制御や該ＧＵＩに対する操作入力に応じた各処理を実行若しくは制御する。
【００２２】
記憶部６には、上記の「計測器２と可動部５との間の相対的な位置姿勢」に加えて、以下の説明において画像処理装置１が既知の情報として取り扱う情報が保存されている。また、記憶部６には、画像処理装置１が行うものとして後述する各処理を演算部９に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。
【００２３】
入力部８は、キーボード、マウス、タッチパネル画面などのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示を演算部９に対して入力することができる。
【００２４】
表示部７は、液晶画面やタッチパネル画面などにより構成されており、演算部９による処理結果を画像や文字などでもって表示することができる。例えば、表示部７には、以下に説明するＧＵＩを表示することができる。
【００２５】
次に、計測器２による計測範囲４内の所望領域内に計測対象３が収まるような可動部５の位置姿勢を得るために画像処理装置１が行う処理について、同処理のフローチャートを示す図１６に従って説明する。
【００２６】
ここで、図１６のフローチャートに従った処理を開始する時点で、表示部７の表示画面には、図２に例示するＧＵＩが表示されているものとする。表示領域１７は、規定の位置姿勢を有する視点から見た「上記の基準座標系と一致する座標系（仮想座標系）で規定される仮想空間」の画像を表示するための領域である。また、表示領域１７には、仮想座標系の各軸（Ｘ軸、Ｙ軸、Ｚ軸）を表すアイコン１８が表示される。
【００２７】
ステップＳ１６０１では、演算部９は、ユーザが入力部８や表示部７の表示画面を操作することで「計測対象表示」ボタン１９が指示された（指示済み）か否かを判断する。この判断の結果、「計測対象表示」ボタン１９が指示された場合には、処理はステップＳ１６０２に進み、「計測対象表示」ボタン１９が指示されていない場合には、処理はステップＳ１６１３に進む。
【００２８】
ステップＳ１６０２では、演算部９は、計測対象３の幾何形状を模した３次元モデルである計測対象モデルを生成し、該生成した計測対象モデルを、該計測対象モデルの位置姿勢として設定されている計測対象位置姿勢でもって上記の仮想空間中に配置する。計測対象位置姿勢の初期値には規定の位置姿勢が設定されており、該計測対象位置姿勢は後述するステップＳ１６０５においてユーザ操作に応じて更新される。また、計測対象モデルのデータは予め作成して記憶部６に登録されており、演算部９は、この計測対象モデルのデータに基づいて計測対象モデルを生成する。
【００２９】
そしてステップＳ１６０３では、演算部９は、規定の位置姿勢を有する視点から見た「ステップＳ１６０２で配置した計測対象モデル」の画像を生成し、該画像を表示領域１７に表示する。ステップＳ１６０３におけるＧＵＩの表示例を図３に示す。図３に示す如く、表示領域１７には、規定の位置姿勢を有する視点から見た計測対象モデル２３の画像が表示される。また、計測対象位置姿勢の欄２１には、計測対象位置姿勢が表示される。図３では、計測対象位置（単位は「ｍｍ」）として、Ｘ座標位置「０」、Ｙ座標位置「３００．０」、Ｚ座標位置「１００．０」が表示されている。また、計測対象姿勢（単位は「度」）として、Ｒｘ（仮想座標系におけるＸ軸周りの角度）「０」、Ｒｙ（仮想座標系におけるＹ軸周りの角度）「０」、Ｒｚ（仮想座標系におけるＺ軸周りの角度）「０」が表示されている。
【００３０】
なお、計測対象３が複数存在する場合には、それぞれの計測対象３に係る情報をＧＵＩに一覧表示して、計測対象モデルを表示する計測対象３の選択を受け付けても良い。つまり、一覧表示された情報の中からユーザが入力部８や表示部７の表示画面を介して選択した情報に対応する計測対象３の計測対象モデルと該計測対象モデルの計測対象位置姿勢とを図３に例示する如くＧＵＩに表示するようにしても良い。
【００３１】
ステップＳ１６０４では、演算部９は、計測対象位置や計測対象姿勢を変更する変更指示が入力されたか否かを判断する。ユーザは入力部８を操作して位置や姿勢を変更するためのキーを押下したり、表示領域１７上のタッチ操作やドラッグ操作等を行うことで、計測対象位置や計測対象姿勢の変更指示を入力することができる。またユーザは入力部８や表示部７の表示画面を操作して、計測対象位置姿勢の欄２１の数値を直接変更することで計測対象モデルの位置や姿勢を変更するようにしても良い。
【００３２】
ユーザは現実空間中の基準座標系における計測対象３の大よその位置姿勢を予め取得しているものとする。「現実空間中の基準座標系における計測対象３の大よその位置姿勢」は、現実空間においてメジャーなどを用いて計測することで取得することや、設置台１０の位置姿勢から推定することが想定される。然るにユーザは、例えば、入力部８や表示部７の表示画面を操作して、計測対象位置姿勢として「現実空間中の基準座標系における計測対象３の大よその位置姿勢」を設定する。
【００３３】
この判断の結果、計測対象位置や計測対象姿勢の変更指示が入力された場合には、処理はステップＳ１６０５に進み、入力されていない場合には、処理はステップＳ１６０６に進む。
【００３４】
ステップＳ１６０５では、演算部９は、計測対象位置や計測対象姿勢の変更指示に応じて、計測対象位置や計測対象姿勢を更新する。図３のＧＵＩにおいて計測対象モデル２３の位置姿勢の変更を行うと、図４に示す如く、変更後の位置姿勢で配置された計測対象モデル２３の画像が生成されて表示領域１７に表示される。
【００３５】
なお、上記の「視点」の位置姿勢の初期値には規定の位置姿勢が設定されており、ユーザは入力部８を操作したり、表示領域１７上のタッチ操作やドラッグ操作等を行うことで、該視点の位置姿勢を変更することができる。また、視点の位置姿勢の変更を行うと、仮想座標系に対する視点の相対的な位置姿勢が変更されるため、アイコン１８を該変更において更新する。つまり、視点と仮想座標系との間の相対的な姿勢を表すように、仮想座標系の各軸の方向を更新したアイコン１８を生成して表示する。
【００３６】
ステップＳ１６０６では、演算部９は、ユーザが入力部８や表示部７の表示画面を操作することで「計測器表示」ボタン２０が指示された（指示済み）か否かを判断する。この判断の結果、「計測器表示」ボタン２０が指示された場合には、処理はステップＳ１６０７に進み、「計測器表示」ボタン２０が指示されていない場合には、処理はステップＳ１６１３に進む。
【００３７】
ステップＳ１６０７では、演算部９は、計測器２の幾何形状を模した３次元モデルである計測器モデルを生成し、該生成した計測器モデルを、該計測器モデルの位置姿勢として設定されている計測器位置姿勢でもって上記の仮想空間中に配置する。計測器位置姿勢の初期値には規定の位置姿勢が設定されており、該計測器位置姿勢は後述するステップＳ１６１０においてユーザ操作に応じて更新される。また、計測器モデルのデータは予め作成して記憶部６に登録されており、演算部９は、この計測器モデルのデータに基づいて計測器モデルを生成する。また演算部９は、計測器２の計測範囲４を表す３次元モデルである計測範囲モデルを生成する。そして演算部９は、該生成した計測範囲モデルを、計測器位置姿勢に「計測器２に対する計測範囲４の相対的な位置姿勢」を加えた計測範囲位置姿勢でもって上記の仮想空間中に配置する。つまり、計測器モデルの位置姿勢がどのような位置姿勢であったとしても、計測器モデルと計測範囲モデルとの間の相対位置姿勢は変わらない。この「計測器２に対する計測範囲４の相対的な位置姿勢」は予め記憶部６に登録されているものとする。また、計測範囲モデルのデータは予め作成して記憶部６に登録されており、演算部９は、この計測範囲モデルのデータに基づいて計測範囲モデルを生成する。また演算部９は、計測器２の位置姿勢に、上記の「計測器２と可動部５との間の相対的な位置姿勢」を加えることで、可動部５の位置姿勢を求める。
【００３８】
ステップＳ１６０８では、演算部９は、ステップＳ１６０７で配置した計測器モデルを上記視点から見た画像及びステップＳ１６０７で配置した計測範囲モデルを上記視点から見た画像を生成し、該生成したそれぞれの画像を表示領域１７に表示する。ステップＳ１６０８におけるＧＵＩの表示例を図５に示す。図５に示す如く、表示領域１７には、上記視点から見た計測対象モデル２３の画像に加えて、計測器モデル２４の画像、計測範囲モデル２５の画像が表示される。つまり、計測対象モデル、計測器モデル、計測範囲モデル、が配置された仮想空間を上記の視点から見た画像（仮想空間の画像）が生成されて、表示領域１７に表示される。
【００３９】
また、可動部位置姿勢の欄２２には、ステップＳ１６０７にて求めた可動部５の位置姿勢が表示される。図５では、可動部５の位置（単位は「ｍｍ」）として、Ｘ座標位置「８７．２」、Ｙ座標位置「２５０．２」、Ｚ座標位置「２３０．０」が表示されている。また、可動部５の姿勢（単位は「度」）として、Ｒｘ（仮想座標系におけるＸ軸周りの角度）「１７８．０」、Ｒｙ（仮想座標系におけるＹ軸周りの角度）「１．２」、Ｒｚ（仮想座標系におけるＺ軸周りの角度）「０．４」が表示されている。
【００４０】
なお、計測器２が複数存在する場合には、それぞれの計測器２に係る情報をＧＵＩに一覧表示して、計測器モデルを表示する計測器２の選択を受け付けても良い。つまり、一覧表示された情報の中からユーザが入力部８や表示部７の表示画面を介して選択した情報に対応する計測器２の計測器モデル及び該計測器２の計測範囲４の計測範囲モデルを図５に例示する如くＧＵＩに表示するようにしても良い。
【００４１】
ステップＳ１６０９では、演算部９は、ユーザが入力部８や表示部７の表示画面を操作することで、計測器モデルや計測範囲モデルの位置や姿勢を変更する変更指示が入力されたか否かを判断する。
【００４２】
計測対象モデル、計測器モデル、計測範囲モデルが表示されると、ユーザは、計測範囲モデルの内部に計測対象モデルの一部若しくは全部が収まるように計測器モデルや計測範囲モデルやハンドモデルを移動させる操作（調整）を行う。例えば、計測対象３のパレット底面を計測範囲４の遠方端に合わせたいとする。この場合、先ず計測範囲モデルの四角錐台の底面がパレット底面と一致するように計測器モデルや計測範囲モデルを移動させる。そして次に、パレット底面と並行方向に計測範囲モデルの四角錐台を動かし、例えば四角錐台の底面中央とパレット底面中央がおおよそ一致するように調整する。計測器モデルや計測範囲モデルの位置や姿勢を変更させるための操作は、上記の計測対象モデルの位置や姿勢を変更するための操作と同様である。上記の操作のために、計測範囲モデルは半透明のモデルであったり、ワイヤーフレームのモデルであったりと、計測対象モデルと重なっても該計測対象モデルが計測範囲モデルによって隠蔽されないようなモデルであることが望ましい。また、同様の目的を達成できるのであれば、それぞれのモデルの表示形態は特定の表示形態に限らない。
【００４３】
この判断の結果、計測器モデルや計測範囲モデルの位置や姿勢の変更指示が入力された場合には、処理はステップＳ１６１０に進み、入力されていない場合には、処理はステップＳ１６１３に進む。
【００４４】
ステップＳ１６１０では、演算部９は、計測器位置や計測器姿勢の変更指示があれば、該変更指示に従って計測器位置や計測器姿勢を更新し、計測範囲位置や計測範囲姿勢の変更指示があれば、該変更指示に従って計測範囲位置や計測範囲姿勢を更新する。
【００４５】
なお、計測器位置姿勢を更新した場合、演算部９は、計測範囲位置姿勢を、該更新後の計測器位置姿勢に「計測器２に対する計測範囲４の相対的な位置姿勢」を加えた計測範囲位置姿勢に更新する。
【００４６】
一方、計測範囲位置姿勢を更新した場合、演算部９は、計測器位置姿勢を、該更新後の計測範囲位置姿勢から「計測器２に対する計測範囲４の相対的な位置姿勢」を減じた計測器位置姿勢に更新する。
【００４７】
つまり、上記の通り、計測器モデルと計測範囲モデルとの間の相対的な位置姿勢は、計測器モデル及び計測範囲モデルの何れの位置姿勢が変更されても維持されたままである。然るに、演算部９は、一方の位置姿勢が変更された場合には、該相対的な位置姿勢が維持されるように、他方の位置姿勢も更新する。
【００４８】
計測器位置姿勢が更新された場合、次回のステップＳ１６０７では、該更新後の計測器位置姿勢でもって計測器モデルが仮想空間中に配置される。同様に、計測範囲位置姿勢が更新された場合、次回のステップＳ１６０７では、該更新後の計測範囲位置姿勢でもって計測範囲モデルが仮想空間中に配置される。
【００４９】
例えば、図５のＧＵＩにおいて計測器モデル２４や計測範囲モデル２５の位置姿勢の変更を行うと、図６に示す如く、変更後の位置姿勢で配置された計測器モデル２４の画像及び計測範囲モデル２５の画像が生成されて表示領域１７に表示される。図６では、計測対象モデル２３が計測範囲モデル２５に収まっている。
【００５０】
そしてユーザが入力部８や表示部７の表示画面を操作して計測器モデルや計測範囲モデルを移動させ、計測範囲モデルに対する計測対象モデルの包含状態が所望の包含状態となった（例えば計測範囲モデルの内部に計測対象モデルの全てが収まった場合）とする。この場合、ユーザは、この時点で可動部位置姿勢の欄２２に表示されている位置姿勢をプログラミングペンダント１５を用いて入力し、該位置姿勢に可動部５を移動させる指示をプログラミングペンダント１５を用いて入力する。これによりロボットコントローラ１４は、ロボットアーム１２を稼働させて、可動部５の位置姿勢を、プログラミングペンダント１５を用いて入力された位置姿勢に移動させる。これにより、計測対象３が計測範囲４に対して所望の位置姿勢となるように計測器２を移動させることができる。
【００５１】
実際には、仮想空間上で設定した計測対象モデルの位置姿勢と実空間上における計測対象３の位置姿勢との誤差、記憶部６に記憶されている「計測器２と可動部５との間の相対的な位置姿勢」の誤差等の種々の要因により、若干のずれが生じる場合も考えられる。その場合、上記移動後に計測器２を用いて撮影や計測を行い、計測器２と計測対象３が所望の相対位置姿勢関係になっているかを確認し、可動部５を動かして計測器２の位置姿勢の微調整を行うことにより最適な位置を設定することも可能である。
【００５２】
そして、ステップＳ１６１３では、演算部９は、ユーザが入力部８や表示部７の表示画面を操作して終了指示を入力したか否かを判断する。この判断の結果、ユーザが入力部８や表示部７の表示画面を操作して終了指示を入力した場合には、図１６のフローチャートに従った処理は終了し、入力していない場合には、処理はステップＳ１６０１に戻る。
【００５３】
このように本実施形態では、実空間上での可動部５及び計測器２の移動と計測器２と計測対象３との間の相対的な位置姿勢の確認の繰り返しを必要としない。そして本実施形態によれば、従来より少ない手間で従来よりも簡易な操作により計測器２と計測対象３との相対的な位置姿勢を所望の位置姿勢に設置することができる。
【００５４】
なお、可動部５は、ロボットアーム１２における特定部位の一例に過ぎず、ロボットアーム１２において可動部５以外の部位（計測器２に対する相対的な位置姿勢が一定の部位）の位置姿勢を可動部５の位置姿勢の代わりに求めて表示するようにしても良い。
【００５５】
＜変形例＞
計測器モデルや計測範囲モデルの移動方向をガイドするためにも例えば計測器モデルにおいて計測器２の向きに相当する軸（計測器２が撮像部を有しているのであれば該撮像部の視軸）や計測範囲モデルの向きに相当する軸をＧＵＩに表示するようにしても良い。
【００５６】
また、上記実施例では、ユーザは、計測器モデル２４や計測範囲モデル２５を移動させる操作を行ったが、操作を行う物はこれに限らず、計測器２や計測範囲４に対する相対位置姿勢が固定されていたり、予め決められていたりする物を表すものでもよい。例えば、可動部５は、計測器モデル２４や計測範囲モデル２５に対する位置姿勢が固定されている。そのため、図６に示すように、計測範囲モデル２５に対する相対位置姿勢が固定された、可動部５の位置姿勢を表す座標系２２ｃを表示部７に表示させ、ユーザが座標系２２ｃの位置姿勢を変更するように操作してもよい。また、例えば、計測器２を固定しているマウンタ１１や可動部５の幾何形状を模した３次元モデルであるロボットモデルを表示部７に表示させ、ユーザがロボットモデルを見ながら、その位置姿勢を変更するように操作してもよい。
【００５７】
［第２の実施形態］
本実施形態を含む以下の各実施形態や各変形例では、第１の実施形態との差分について説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。本実施形態では、第１の実施形態に対し、ユーザによる入力及び設定をより簡単にするＧＵＩを提供する。
【００５８】
本実施形態では、図２のＧＵＩの代わりに、図７のＧＵＩが表示部７の表示画面に表示される。表示領域１７には、計測器２による撮像画像が表示される。
【００５９】
ユーザは各種の入力や操作を行う前に、計測対象３を現実空間中の所望の位置に所望の姿勢でもって設置する。本実施形態では、計測対象３は比較的大型の直方体形状の一個体とする。次に、ユーザは、計測対象３がおおよそ計測器２の計測可能な領域に入るように（計測対象３を最低限計測できる範囲に収めるように）、プログラミングペンダント１５を操作して可動部５の移動を指示する。表示領域１７には計測器２による撮像画像が表示されるので、ユーザは表示領域１７を観察しながら可動部５を移動させ、表示領域１７に計測対象３が計測可能な状態で写ったことを確認すると、プログラミングペンダント１５を操作して該移動を停止させる。
【００６０】
そしてユーザは、計測対象３がおおよそ計測器２の計測可能な領域に入ったことを確認すると、このときの可動部５の位置姿勢を可動部位置姿勢の欄２２に入力する。このときの可動部５の位置姿勢を欄２２に入力するための方法には様々な方法があり、特定の方法に限らない。例えば、ユーザは、プログラミングペンダント１５に表示されている可動部５の位置姿勢を、入力部８や表示部７の表示画面を操作して欄２２に入力しても良い。またユーザは、プログラミングペンダント１５を操作することで、該プログラミングペンダント１５に表示されている位置姿勢を画像処理装置１に転送して欄２２に表示させても良い。
【００６１】
次に、ユーザが入力部８や表示部７の表示画面を操作して「ワーク計測」ボタン２６を指示すると、演算部９は、表示領域１７に表示されている撮像画像に基づいて、該撮像画像中の計測対象３の位置姿勢を求める（計測する）。撮像画像中の物体の位置姿勢を求める（計測する）方法には様々な周知の方法があり、如何なる方法を採用しても良い。例えば演算部９は、撮像画像に対して画像処理を施した結果と、記憶部６に予め登録している「計測対象３に関するマッチング用の３次元モデル」と、をマッチングして計測対象３の位置姿勢を求める。ここで、演算部９が撮像画像から求めた計測対象３の位置姿勢は、計測器２を基準とする座標系における位置姿勢である。
【００６２】
そして演算部９は、撮像画像中の計測対象３の位置姿勢を求めると、図８に例示するＧＵＩを表示部７の表示画面に表示する。図８のＧＵＩでは、求めた位置姿勢でもって配置した計測対象モデル２３が、撮像画像に重畳した状態で表示領域１７に表示されている。
【００６３】
そして演算部９は、撮像画像から求めた計測対象３の位置姿勢、記憶部６に予め登録している「計測器２と可動部５との間の相対的な位置姿勢」、欄２２に表示している位置姿勢、に基づいて、基準座標系（仮想座標系）における計測対象３の位置姿勢を求める。例えば、欄２２に表示している位置姿勢に「計測器２と可動部５との間の相対的な位置姿勢」及び「撮像画像から求めた計測対象３の位置姿勢」を加えることで、基準座標系（仮想座標系）における計測対象３の位置姿勢を求める。そして演算部９は、基準座標系（仮想座標系）における計測対象３の位置姿勢を計測対象位置姿勢の欄２１に表示する。
【００６４】
ここで、ユーザが入力部８や表示部７の表示画面を操作して「計測対象位置姿勢登録」ボタン２７を指示すると、演算部９は、図９に例示するＧＵＩを表示部７の表示画面に表示する。表示領域１７には、上記の視点から見た計測対象モデル２３、計測器モデル２４、計測範囲モデル２５の画像、アイコン１８が表示されている。計測対象モデル２３の位置姿勢は、「ワーク計測」２６を押下したことで行われた処理によって求めた「基準座標系（仮想座標系）における計測対象３の位置姿勢」である。また、計測器モデル２４の位置姿勢は、欄２２に表示している位置姿勢に「計測器２と可動部５との間の相対的な位置姿勢」を加えることで求められる。また、計測範囲モデル２５の位置姿勢は、計測器モデルの基準座標系における位置姿勢に「計測器２に対する計測範囲４の相対的な位置姿勢」を加えることで求めることができる。
【００６５】
各モデルが表示された後は、第１の実施形態と同様、ユーザは計測範囲モデルの内部に計測対象モデルの一部若しくは全部が収まるように計測器モデルや計測範囲モデルを移動させる操作を行う。該操作が完了した状態におけるＧＵＩの表示例を図１０に示す。
【００６６】
図１０の例では、計測対象モデル２３の表層部が計測範囲モデル２５のほぼ中央に合わせられている。その際の可動部５の位置姿勢は演算部９で第１の実施形態と同様に演算され、欄２２に表示される。これにより使用者は所望の条件で計測を行うための可動部位置姿勢を知ることが可能である。
【００６７】
このように、本実施形態によれば、第１の実施形態で前提としていた基準座標系における計測対象３の大よその位置姿勢を予め取得しているという条件は不要である。すなわち、実空間上でメジャーなどを用いて位置姿勢を取得する行為や、設置台１０の位置姿勢などから位置姿勢を取得する行為が不要であり、作業がより簡単になる。また、計測さえ出来れば、その際の計測対象モデル２３及び計測器モデル２４及び計測範囲モデル２５の実空間上での配置関係が仮想空間に表示できるため、第１の実施形態よりユーザの入力、設定負荷が減少する。
【００６８】
［第３の実施形態］
本実施形態では、計測器モデルの位置姿勢を有する視点から計測範囲モデルが示す計測範囲（視体積）内の仮想空間を観察した場合に見える画像（仮想空間画像）を生成してＧＵＩに表示する。規定の位置姿勢を有する視点から見える「規定の視体積内の空間」の画像を生成するための技術については周知であるため、これに係る詳細な説明は省略する。例えば、図６のＧＵＩの代わりに、図１１のＧＵＩを表示する。図１１のＧＵＩでは、計測器モデル２４の位置姿勢から、計測範囲モデル２５内の空間を観察した場合に見える画像２９が表示されている。なお、画像２９の表示形態については、上記の例に限らず、様々な表示形態が考えられる。例えば、図１１において、画像２９は表示領域１７内に表示したが異なる箇所に表示してもよい。
【００６９】
このように、本実施形態によれば、ユーザは計測器２による撮像を行う前に計測対象３がおおよそどのように映るのかを把握することが可能であり、仮想的な撮像画像（画像２９）を確認しながら効率的かつ精度よく調整を行うことが可能である。
【００７０】
［第４の実施形態］
本実施形態では、ＧＵＩ上で、計測対象モデルと計測範囲モデルとの相対的な位置関係を表す情報を表示する。本実施形態では、図６のＧＵＩの代わりに、図１２のＧＵＩを表示する。相対位置の欄３０には、計測範囲モデル２５における規定位置と、計測対象モデル２３における規定位置と、の間の相対的な位置が表示されている。図１２では、計測範囲モデル２５における規定位置と計測対象モデル２３における規定位置との間の相対的な位置（単位はｍｍ）として、Ｘ座標位置「３．２」、Ｙ座標位置「２．１」、Ｚ座標位置「１．２」が表示されている。なお、「計測範囲モデル２５における規定位置」、「計測対象モデル２３における規定位置」は何れも、予め指定されており、指定された位置は記憶部６に登録されているものとする。例えば、計測範囲４が表わす四錐台の底面の中心位置に対応する計測範囲モデルの位置と、計測対象３のパレットの底面の中心位置に対応する計測対象モデルの位置と、が予め指定されて、記憶部６に登録されている。然るに演算部９は、計測範囲モデル２５における規定位置と、計測対象モデル２３における規定位置と、の間の相対的な位置を求めて、欄３０に表示する。
【００７１】
欄３０に表示されている数値（Ｘ座標位置、Ｙ座標位置、Ｚ座標位置）が０に近いほど、計測範囲モデル２５における規定位置と、計測対象モデル２３における規定位置と、が近いことを示している。然るにユーザは欄３０に表示されている数値を見ながら、該数値が０に近づくように、計測器モデルや計測範囲モデルを移動させる。上記の例では、欄３０に表示されている数値が０に近づくように計測器モデルや計測範囲モデルを移動させることで、計測範囲４の遠方端とパレット底面とを合わせるように計測器モデルや計測範囲モデルを移動させることができる。
【００７２】
なお、計測対象モデルと計測範囲モデルとの相対的な位置関係を表す情報として、相対位置に加えて若しくは変えて他の情報を表示するようにしても良い。例えば、相対位置に加えて相対姿勢を表示するようにしても良い。また、上記の例では計測範囲４の遠方端平面の中心座標に対応する計測範囲モデルの位置と、計測対象３のパレットの底面の中心座標に対応する計測対象モデルの位置と、を指定した。しかし、計測範囲４の重心座標に対応する計測範囲モデルの位置と、計測対象３の重心座標に対応する計測対象モデルの位置と、を指定してもよい。また、計測器２の底面の中心座標に対応する計測器モデルの位置と、計測対象３のパレットの底面の中心座標に対応する計測対象モデルの位置と、を指定し、指定したそれぞれの位置間の距離を算出し、該距離を欄３０の代わりに表示しても良い。
【００７３】
また、図１２のＧＵＩでは、計測対象モデル２３と計測範囲モデル２５との相対関係を数値により示したが、モデルの色情報などにより計測対象が計測範囲の中のどこに位置するのかを示すようにしてもよい。この場合、図６のＧＵＩの代わりに、図１３のＧＵＩを表示する。
【００７４】
図１３のＧＵＩでは、計測対象モデル２３の代わりに、該計測対象モデル２３の各部が計測範囲モデル２５におけるどの領域に属しているのかを色別に示した計測対象モデル３１が表示されている。例えば演算部９は、計測対象モデル３１を規定の単位（例えばあるボリューム）で分割した各要素が、計測範囲モデル２５内のどの位置に存在するかを求め、該要素を該求めた位置に対応する色で描画する。図１３では計測対象モデル３１を構成する各要素のうち計測範囲モデル２５の遠方（計測器モデル２４から見て遠方）にある要素は濃色で描画されており、近方端と遠方端の中間位置にある要素は淡色で描画されている。本実施形態においても図６と同様に、計測範囲４の遠方端とパレット底面を合わせることが調整の目的であるので、図１３に示す如く、計測対象モデル３１の底面の色が濃色になるように調整を行うことで該目的が達成される。
【００７５】
また例えば、計測対象モデル２３の代わりに、該計測対象モデル２３の各部が計測器モデル２４における規定位置からどれだけ離間しているのかを色別に示した計測対象モデルを表示しても良い。
【００７６】
また、着色の様態も様々であり、上記の例の通り濃淡のグラデーションにより示してもよいし、異なる色のグラデーションで示してもよい。また、例えば所定領域の遠方端平面など特定の位置にある計測対象モデルの要素のみを着色してもよい。更に、計測範囲モデル２５の外に存在する計測対象モデルの要素を強調するように着色することも考えられる。
【００７７】
このように、本実施形態によれば、計測対象モデルと計測器モデルもしくは計測範囲モデルとの相対関係が数値もしくは着色により直感的に把握することが出来るので、それらの相対関係を仮想空間上で効率的かつ精度よく調整を行うことが可能である。
【００７８】
［第５の実施形態］
本実施形態では、図６のＧＵＩの代わりに、図１４のＧＵＩを表示する。一般に、実空間において可動部５には可動範囲や姿勢制約が存在する。然るに、可動部５が取り得る位置や姿勢の範囲を規定する条件情報を予め作成して記憶部６に登録しておく。そして演算部９は、ＧＵＩの表示後、欄２２に表示されている可動部５の位置や姿勢が条件情報が示す位置や姿勢の範囲に入っているか否かを判断し、入っていない場合には、警告を表示部７の表示画面に表示する。図１４のＧＵＩでは、警告としてのメッセージ３２「ロボットの姿勢制約範囲外です」が表示されており、欄２２に表示されている可動部５の姿勢が姿勢制約の範囲を超えていることをユーザに通知する。これによりユーザは、実空間上で可動部５を実際に動かすことを試みなくとも、仮想空間における配置関係が実空間上で実現可能か否かを知ることが出来る。
【００７９】
また、上記のＧＵＩにおいて、可動部５が取り得ない位置や姿勢の範囲に対応する計測器モデル及び計測範囲モデルの範囲（禁止領域）を半透表示することで、計測器モデルや計測範囲モデルを移動させてはいけない領域をユーザに通知することができる。また、同様の目的のために、禁止領域に計測器モデルや計測範囲モデルが移動した場合に何らかのメッセージを表示部７の表示画面に表示させるようにしても良い。
【００８０】
また、計測器２や可動部５と計測対象３とが干渉すると、装置や計測対象３の破損などが生じ得る。そこで演算部９は、計測器モデルと計測対象モデルとの干渉判定を行い、干渉があれば警告（例えば、干渉があることを示すメッセージ）を表示部７の表示画面に表示する。また演算部９は、可動部５の位置姿勢に該可動部５の幾何形状を模したモデルを配置した場合に、該モデルと計測対象モデルとの干渉判定を行い、干渉があれば警告（例えば、干渉があることを示すメッセージ）を表示部７の表示画面に表示する。
【００８１】
また、警告の表示形態は特定の表示形態に限らない。例えば、条件情報が示す位置の範囲に入っていない場合、欄２２に表示されている位置を赤字表示する等、強調表示しても良いし、条件情報が示す姿勢の範囲に入っていない場合、欄２２に表示されている姿勢を赤字表示する等、強調表示しても良い。
【００８２】
このように、本実施形態によれば、ユーザは実空間上で可動部５を動かすことなく、移動が実空間上で実現可能なものか、あるいは移動により干渉が起きないかを判定することが可能であり、設定の効率化や装置の物理的損傷の防止に寄与する。
【００８３】
［第６の実施形態］
本実施形態では、複数の計測対象３に対する可動部５の位置姿勢を求めて表示する。本実施形態では、図６のＧＵＩの代わりに図１５に示すＧＵＩを表示する。表示領域１７には、３つの計測対象３（対象１，対象２，対象３）のそれぞれに対応する計測対象モデル２３ａ、２３ｂ、２３ｃが表示されている。ユーザは計測対象モデル２３ａ、２３ｂ、２３ｃのうち１つの計測対象モデル（ここでは一例として計測対象モデル２３ａとする）に対する計測器モデル２４や計測範囲モデル２５の位置姿勢を第１の実施形態と同様に調整しているものとする。ここで、ユーザは入力部８や表示部７の表示画面を操作して計測対象配置の欄３３に、計測対象３の個数や配置情報を入力する。図１５では、計測対象３の個数（図１５の場合は３）、計測対象３のＸ軸方向の間隔（図１５では３０ｍｍ）、Ｙ軸方向の間隔（図１５では−２００ｍｍ）、Ｚ軸方向の間隔（図１５では０ｍｍ）、を入力している。これはすなわち、計測対象モデル２３ａの位置からＸ軸方向に３０ｍｍ、Ｙ軸方向に−２００ｍｍ、Ｚ軸方向に０ｍｍ移動した位置に計測対象モデル２３ｂが位置していることを示している。またこれは、計測対象モデル２３ｂの位置からＸ軸方向に３０ｍｍ、Ｙ軸方向に−２００ｍｍ、Ｚ軸方向に０ｍｍ移動した位置に計測対象モデル２３ｃが位置していることを示している。ここでは説明を簡単にするために、姿勢については全ての計測対象モデルで同じとしている。
【００８４】
そしてユーザが入力部８や表示部７の表示画面を操作して「算出」ボタン１５０１を指示すると、演算部９は、計測対象モデル２３ａについて求めた可動部５の位置姿勢と、計測対象モデル２３ａの位置姿勢と、の間の相対位置姿勢を相対位置姿勢Ｔとする。そして演算部９は、計測対象モデル２３ｂの位置姿勢との相対位置姿勢が相対位置姿勢Ｔとなるような位置姿勢を、「計測対象モデル２３ｂに対応する可動部５の位置姿勢」として求める。同様に演算部９は、計測対象モデル２３ｃの位置姿勢との相対位置姿勢が相対位置姿勢Ｔとなるような位置姿勢を、「計測対象モデル２３ｃに対応する可動部５の位置姿勢」として求める。このようにして対象１，対象２，対象３のそれぞれに対応する可動部５の位置姿勢が求まるので、演算部９は、これら求めた可動部５の位置姿勢を欄２２に表示する。これにより、個別の計測対象モデルに対して計測器モデル２４や計測範囲モデル２５の相対関係を調整しなくても、それぞれを計測する際の可動部５の位置姿勢を得ることが出来る。なお、ここでは計測対象モデル２３ａ、２３ｂ、２３ｃの順に対応する可動部５の位置姿勢を求めたが、この順に限らない。
【００８５】
なお、複数の計測対象３に対応する可動部５の位置姿勢を求める手順は特定の手順に限らない。例えば、１つの計測対象モデルの位置姿勢を設定した後で欄３３に計測対象モデルの数や配置間隔を入力することで他の計測対象モデルの位置姿勢を確定させる。そしてその後、何れか１つの計測対象モデルに対する計測器モデル２４や計測範囲モデル２５の位置姿勢を調整する。
【００８６】
また、図１５では、欄３３に入力可能な情報は計測対象モデルの数と配置間隔のみであったが、他の情報を入力するようにしても良い。例えば、それぞれの計測対象モデルの姿勢成分を規定する情報を入力するようにしても良い。
【００８７】
また、欄２１には、それぞれの計測対象モデルの位置姿勢を表示するようにしても良い。また、それぞれの計測対象３は同種の物体であるものとして記したが、これらが異なる種別の物体でもよい。
【００８８】
＜変形例＞
上記の実施形態や変形例では、計測器２は３次元形状計測器としたが、その他の計測器であっても良い。例えば、計測器２は、該計測器２から対象までの距離の演算を行う計測器であっても良いし、撮像画像から輪郭抽出を行って計測対象３の検査を行う装置であっても良い。つまり、その性能や仕様により定義される計測範囲を有する多様な形態の計測器２を想定することが可能である。
【００８９】
また、上記の実施形態や変形例では、計測対象３はばら積みされた小型ワークやそれを収納するパレットとしたが、これに限らない。例えば、パレットが存在しない場合には、ばら積みされた小型ワークが存在するおおよその空間全体を計測対象３として扱うことも出来る。また、比較的大型のワーク一個体のみが載置される場合も往々にしてあり、その中でも特定の範囲を計測するようなケースも考えられ、その場合、該特定の範囲を計測対象３としても良い。つまり、計測対象３のサイズや材質などに依らない。
【００９０】
また、上記の実施形態や変形例では、計測範囲４は計測器２が一定の計測性能を達成することが可能な四角錐台状の領域としたが、これに限らない。まず、計測範囲４の定義として、計測性能までは示さなくとも、計測器の撮像範囲としておおよそ望ましいワーキングディスタンス領域を示すこともある。また、計測範囲４の形状には様々な形状が考え得る。例えば、計測範囲４として、四角錐台状の領域の他に、円錐台状、あるいは四角錐状や円錐状などの錐体状、直方体状や立方体状の領域も考えられる。加えて、計測範囲４のサイズも計測器２の性能などの各種条件により、多様に変わり得る。
【００９１】
また上記の実施形態や変形例では、可動部５は計測対象３を把持するためにロボットアーム１２のフランジ部に固定接続されたツールの先端としたが、これに限らない。上述したように、ロボットアームの一部、例えばロボットアーム１２のフランジ部を可動部５とすることも出来る。可動部５は自身の移動に伴う位置姿勢の変化に依らず計測器２と特定の相対関係にある部位であればよく、その定義内で様々な部位を用いることが可能である。
【００９２】
また、画像処理装置１の構成は、図１に示した構成に限らない。例えば、図１では記憶部６は画像処理装置１内に備わっているものとしたが、画像処理装置１の外部に備わっていても良く、例えば、ロボットコントローラ１４に記憶部６を組み込んでも良いし、画像処理装置１と通信可能な外部装置に組み込んでも良い。これは演算部９についても同様である。
【００９３】
また、上記の実施形態や変形例では、様々なＧＵＩの構成について説明したが、これら説明したＧＵＩの構成は一例であり、様々な構成が考えられる。例えば、表示領域１７に、可動部５の幾何形状を模した３次元モデルや、可動部５を基準とする座標系を表すアイコンを表示することで、演算部９で算出された可動部５の位置姿勢を視覚的に表わしてもよい。
【００９４】
また、計測器２や可動部５が固定されるマウンタやロボットアーム１２の３次元モデルも表示領域１７に表示し、計測器モデル２４や計測範囲モデル２５の操作に伴ってそれらのモデルの位置姿勢が変化してもよい。その場合、マウンタやロボットアーム１２の３次元モデルと、計測対象モデル２３や計測器モデル２４との間の干渉判定を行い、干渉があれば警告（例えば、干渉があることを示すメッセージ）を表示部７の表示画面に表示するようにしても良い。また、計測器モデル２４の表示を省略することも可能である。その場合、表示領域１７には計測対象モデル２３と計測範囲モデル２５を示し、その相対関係を調整することとなるが、計測器２と計測範囲４との間の相対的な位置姿勢は一定であるから、第１の実施形態と同様に可動部５の位置姿勢を算出することは可能である。
【００９５】
また、ＧＵＩに撮像ボタンや確認用表示領域を追加してもよい。この場合、仮想空間で上記の調整を行った後に、ユーザはプログラミングペンダント１５を操作して実空間上で可動部５を移動させてから入力部８や表示部７の表示画面を操作して撮像ボタンを押下する。これにより計測器２は撮像を行い、該撮像により得られる撮像画像を画像処理装置１に送出し、演算部９は、この撮像画像を確認用表示領域に表示する。これにより、他の画面に遷移することなく、計測器２による撮像画像が所望の撮像画像（計測対象３が所望の状態で写っている）となるように調整が出来たか否かを確認することが出来る。
【００９６】
また、上記の実施形態や変形例では、可動部５の位置姿勢を欄２２に表示するものとしたが、演算部９は、可動部５の位置姿勢を表示することなくロボットコントローラ１４やプログラミングペンダント１５に対して出力するようにしても良い。
【００９７】
また、計測器モデル２４や計測範囲モデル２５の位置姿勢をＧＵＩにて表示しても良い。その場合、表示した位置姿勢をユーザが入力部８や表示部７の表示画面を操作して変更することで計測器モデル２４や計測範囲モデル２５の位置姿勢を変更するようにしても良い。
【００９８】
また、ＧＵＩに表示する位置姿勢の表現方法は特定の表現方法に限らず、オイラー角表現や回転角表現等の様々な表現方法で表現可能である。また、上記のＧＵＩでは６自由度の位置姿勢を個別のボックスに表示する例を提示したが、１つのボックスに６自由度の位置姿勢をカンマ区切りで表示することなども考えられる。
【００９９】
また、表示部７の表示画面において操作対象とするモデルの選択方法は特定の方法に限らない。例えば、操作対象のモデルの表示領域を直接指定することで選択しても良いし、表示領域１７外に各モデルに対応するラジオボタンを設け、ユーザにより選択されたラジオボタンに対応するモデルを操作対象のモデルとして選択するようにしても良い。
【０１００】
また、表示領域１７に対する操作についても様々な操作がある。例えば入力部８としてマウスを用いた際にマウスホイールを回転させることにより表示領域１７に表示する仮想空間の画像を拡大、縮小してもよい。仮想空間の画像の拡大、縮小については、単に画像を拡大、縮小しても良いし、仮想空間中の上記視点を視線方向／視線方向とは逆方向に移動させることで仮想空間の画像に含まれる空間範囲を変化させても良い。また、右クリックしながらマウスを動かすことで、仮想空間中の上記視点を移動させるようにしても良い。
【０１０１】
また、表示部７は、他の装置が有する表示装置としても良い。例えば、表示部７をプログラミングペンダント１５が有する表示装置としても良い。また、表示部７を画像処理装置１とは別個の装置としても良いし、画像処理装置１と一体化した装置としても良い。
【０１０２】
また、情報の入力形態については上記の入力形態に限らない。例えば、マウスやキーボードを用いて入力した情報は、例えばロボットコントローラ１４からコマンド通信により通知することも考えられ、その入力形態は任意である。
【０１０３】
また、上記の実施形態や変形例では、ユーザが行う操作の順を具体的に示したが、これらの順序は一例であり、これに限るものではない。例えば、計測対象モデル２３の表示と計測器モデル２４の表示は上記の例に記した通りの順序ではなく、逆の順序であっても構わない。
【０１０４】
また、上記の実施形態や変形例では、計測器モデル２４や計測範囲モデル２５を移動させる度に演算部９が可動部５の位置姿勢を演算して欄２２に表示するものとした。しかし、ユーザが上記調整の完了指示を入力部８や表示部７の表示画面を操作して入力したことをトリガにして可動部５の位置姿勢の演算及び表示を行ってもよい。
【０１０５】
また、上記の実施形態や変形例に示した一部の手順は省略することも可能である。例えば、実空間上で計測対象３がジグに設置されているなど、予めその位置姿勢が定められている場合には、その位置姿勢を予め記憶部６などに記憶しておけば、計測対象３の位置姿勢の設定は不要である。この場合、記憶された位置姿勢に基づき、計測対象モデル２３が表示領域１７に表示されることとなる。
【０１０６】
なお、上記の各実施形態や各変形例にて使用した数値は何れも一例であり、これらの数値に限定することを意図したものではない。また、上記の各実施形態や各変形例では、モデルは何れも、元となる現実物体の幾何形状を模したものとしたが、これに限らず、元となる現実物体が識別できるのであれば、必ずしもモデルは元となる現実物体の幾何形状を模したものに限らない。また、モデルが予めＣＡＤ等により予め作成されている場合には、この予め作成されているモデルを取得すれば良い。また、上記の各実施形態や各変形例にて説明した各ＧＵＩの構成やその操作方法は何れも一例であり、これらの構成や操作方法に限定することを意図したものではない。
【０１０７】
また、上記の実施形態や変形例の一部若しくは全部を適宜組み合わせて使用しても構わない。また、上記の実施形態や変形例の一部若しくは全部を選択的に使用しても構わない。
【０１０８】
［第７の実施形態］
上述の画像処理装置１である計測装置は、ある支持部材に支持された状態で使用されうる。本実施形態では、一例として、図１７のようにロボットアーム５３００（把持装置）に備え付けられて使用される制御システムについて説明する。計測装置５１００は、支持台５３５０に置かれた被検物５２１０にパターン光を投影して撮像し、画像を取得する。そして、計測装置５１００の制御部が、又は、計測装置５１００の制御部から画像データを取得した制御部５３１０が、被検物５２１０の位置および姿勢を求め、求められた位置および姿勢の情報を制御部５３１０が取得する。制御部５３１０は、その位置および姿勢の情報に基づいて、ロボットアーム５３００に駆動指令を送ってロボットアーム５３００を制御する。ロボットアーム５３００は先端のロボットハンドなど（把持部）で被検物５２１０を保持して、並進や回転などの移動をさせる。さらに、ロボットアーム５３００によって被検物５２１０を他の部品に組み付けることにより、複数の部品で構成された物品、例えば電子回路基板や機械などを製造することができる。また、移動された被検物５２１０を加工することにより、物品を製造することができる。制御部５３１０は、ＣＰＵなどの演算装置やメモリなどの記憶装置を有する。なお、ロボットを制御する制御部を制御部５３１０の外部に設けても良い。また、計測装置５１００により計測された計測データや得られた画像をディスプレイなどの表示部５３２０に表示してもよい。
【０１０９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１０】
２：計測器  ３：計測対象  ４：計測範囲  ５：可動部  ６：記憶部  ７：表示部  ８：入力部  ９：演算部  １０：設置台  １１：マウンタ  １２：ロボットアーム  １３：ロボットベース  １４：ロボットコントローラ  １５：プログラミングペンダント
【図１】
2020013548.tif 000003
【図２】
2020013548.tif 000004
【図３】
2020013548.tif 000005
【図４】
2020013548.tif 000006
【図５】
2020013548.tif 000007
【図６】
2020013548.tif 000008
【図７】
2020013548.tif 000009
【図８】
2020013548.tif 000010
【図９】
2020013548.tif 000011
【図１０】
2020013548.tif 000012
【図１１】
2020013548.tif 000013
【図１２】
2020013548.tif 000014
【図１３】
2020013548.tif 000015
【図１４】
2020013548.tif 000016
【図１５】
2020013548.tif 000017
【図１６】
2020013548.tif 000018
【図１７】
2020013548.tif 000019