(57)【要約】【課題】本発明は、作業ロボットが行う作業に求められる作業精度を満たす精度で、取得した画像データから作業対象物の３次元位置・姿勢認識を行い、作業ロボットが当該作業を適切に行うようシミュレーションすることが可能なシミュレーションシステムおよびそのためのシミュレーションプログラムの提供を目的とする。【解決手段】本発明にかかるシミュレーションシステムは、撮像部２０、特に第２撮像部２２の倍率設定、フォーカス設定等の撮像パラメータを制御し、作業に要求される作業精度を満たす解像度で画像データを取得することにより、作業対象物１０自体の大きさや、作業対象物１０と撮像部２０との距離に影響されて解像度が低下することを防ぎ、作業対象物１０に対する必要な３次元位置・姿勢認識精度を維持することができるので、シミュレーションおよび現実の作業において作業効率の低下や、作業の失敗確率の増大を招くことを抑制できる。【選択図】図２
2012071394.tif 000002
【特許請求の範囲】
【請求項１】
作業対象物を用いて作業を行う作業ロボットの動作シミュレーションを行うシステムであって、
前記作業に応じて要求される作業精度を記憶した記憶手段と、
前記作業対象物を撮像し、画像データを取得する撮像部と、
前記画像データを取得する際、前記作業精度を満たす解像度となるように、前記撮像部における撮像パラメータを制御するパラメータ制御手段と、
前記撮像部において取得した画像データに基づいて、前記作業対象物の３次元位置・姿勢を認識する認識手段と、
認識した前記作業対象物の３次元位置・姿勢に基づいて、前記作業を行うように前記作業ロボットを制御するロボット制御手段とを備えることを特徴とする、
シミュレーションシステム。
【請求項２】
請求項１に記載のシミュレーションシステムであって、
前記認識手段が、前記作業対象物の種別を認識する第１認識手段と、前記第１認識手段において認識された前記作業対象物の３次元位置・姿勢を認識する第２認識手段とを含むことを特徴とする、
シミュレーションシステム。
【請求項３】
請求項２に記載のシミュレーションシステムであって、
前記撮像部が、前記作業対象物が存在し得る領域を比較的広い範囲で撮像する第１撮像部と、前記第１撮像部において撮像した領域内で、前記第１認識手段において認識した前記作業対象物を比較的狭い範囲で撮像する第２撮像部とを含むことを特徴とする、
シミュレーションシステム。
【請求項４】
請求項１〜３のいずれかに記載のシミュレーションシステムであって、
前記撮像パラメータが、倍率設定およびフォーカス設定を含むことを特徴とする、
シミュレーションシステム。
【請求項５】
請求項１〜４のいずれかに記載のシミュレーションシステムであって、
前記撮像部が、前記作業ロボットに取付けられていることを特徴とする、
シミュレーションシステム。
【請求項６】
請求項１〜５のいずれかに記載のシミュレーションシステムであって、
前記記憶手段が、前記作業対象物の３次元形状データを記憶したことを特徴とする、
シミュレーションシステム。
【請求項７】
請求項１〜６のいずれかに記載のシミュレーションシステムであって、
前記記憶手段が、前記作業内の各工程ごとに要求される作業精度を表現したデータを記憶したことを特徴とする、
シミュレーションシステム。
【請求項８】
請求項１〜７のいずれかに記載のシミュレーションシステムであって、
前記記憶手段が、前記作業に用いられる作業対象物の各部位ごとに要求される作業精度を表現したデータを記憶したことを特徴とする、
シミュレーションシステム。
【請求項９】
請求項１〜８のいずれかに記載のシミュレーションシステムであって、
前記作業対象物を用いて行う前記作業を決定する作業決定手段をさらに備えることを特徴とする、
シミュレーションシステム。
【請求項１０】
コンピュータにインストールされて実行されることにより、作業ロボットと撮像部とを前記コンピュータによって制御するシステムを、請求項１〜９のいずれかに記載のシミュレーションシステムとして機能させることを特徴とする、
シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシミュレーションシステムおよびそのためのシミュレーションプログラムに関し、特に、ロボット動作の作業シミュレーションを行うシミュレーションシステムおよびそのためのシミュレーションプログラムに関する。
【背景技術】
【０００２】
従来のロボット動作のシミュレーションシステムとしては、特許文献１に示すような、作業ロボット、作業対象物および撮像部の３次元モデルを汎用コンピュータ等の表示画面に表示し、シミュレーションを行うものがあった。さらに撮像部が取得するであろう視野情報を計算で求めて画面に表示し、撮像視野を含めたシミュレーションが可能となっていた。
【０００３】
また現実に、撮像部としての視覚センサによる作業対象物の認識方法としては、特許文献２に示すように、作業対象物である物品の存在範囲をさらに区分けし、分割した個別の領域内において取得した画像から、その物品の３次元位置・姿勢を認識するというものがあった。ここで３次元位置・姿勢とは、対象物の空間位置および空間姿勢の少なくとも一方（典型的には双方）を含む座標値の組として定義されるものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７３２４９４号公報
【特許文献２】特開２００４−１６０５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のシミュレーションシステムでは、分割した個別の領域における作業対象物の画像データを計算で求めることにより取得し、作業対象物の３次元位置・姿勢認識を行うシミュレーションをする。個別の領域内の作業対象物の大きさが異なる場合には、その作業対象物の大きさに合わせた個別の領域を設定し、同様に計算で求めることにより画像データを取得して作業対象物の３次元位置・姿勢認識を行うことになる。
【０００６】
ここで、作業対象物の３次元位置・姿勢認識に用いられる画像データは、シミュレーションシステムにおけるカメラ等の撮像部によって取得され、計算されるが、上記のように、作業対象物の大きさが異なれば分割する個別の領域の大きさ、すなわち領域内の画素数も変わってくる。
【０００７】
例えば小さな物品に応じた個別の領域を設定し、その画像データを計算および取得すると、物品を示す画像データの画素数は少なくなり、シミュレーションにおいて、その画素数に応じた解像度で画像解析を行うことになる。よって、シミュレーションにおける物品の３次元位置・姿勢認識もその解像度の範囲で行われることになる。また、個別の領域を設定した空間位置とカメラの設置位置とが遠い場合にも、撮像部が取得する画像データにおいては物品は小さく映り、物品を示す画素数は少なくなる。この場合にも、その画素数に応じた解像度で画像解析を行い、シミュレーションにおける物品の３次元位置・姿勢認識もその解像度の範囲で行われることになる。
【０００８】
このとき、その解像度に応じた物品の３次元位置・姿勢認識精度が、当該物品を用いて行われる作業に要求される作業精度を満たせないものである場合、シミュレーションおよび現実において作業する場合における作業効率の低下や、作業の失敗確率の増大につながってしまうという問題があった。
【０００９】
本発明は、上記のような問題を解決するためになされたものであり、作業ロボットが行う作業に求められる作業精度を満たす精度で、シミュレーションにおいて取得した画像データから作業対象物の３次元位置・姿勢認識を行い、作業ロボットが当該作業を適切に行うようシミュレーションすることが可能なシミュレーションシステムおよびそのためのシミュレーションプログラムの提供を目的とする。
【課題を解決するための手段】
【００１０】
請求項１の発明であるシミュレーションシステムは、作業対象物を用いて作業を行う作業ロボットの動作シミュレーションを行うシステムであって、前記作業に応じて要求される作業精度を記憶した記憶手段と、前記作業対象物を撮像し、画像データを取得する撮像部と、前記画像データを取得する際、前記作業精度を満たす解像度となるように、前記撮像部における撮像パラメータを制御するパラメータ制御手段と、前記撮像部において取得した画像データに基づいて、前記作業対象物の３次元位置・姿勢を認識する認識手段と、認識した前記作業対象物の３次元位置・姿勢に基づいて、前記作業を行うように前記作業ロボットを制御するロボット制御手段とを備えることを特徴とする。
【００１１】
請求項２の発明は、請求項１に記載のシミュレーションシステムであって、前記認識手段が、前記作業対象物の種別を認識する第１認識手段と、前記第１認識手段において認識された前記作業対象物の３次元位置・姿勢を認識する第２認識手段とを含むことを特徴とする。
【００１２】
請求項３の発明は、請求項２に記載のシミュレーションシステムであって、前記撮像部が、前記作業対象物が存在し得る領域を比較的広い範囲で撮像する第１撮像部と、前記第１撮像部において撮像した領域内で、前記第１認識手段において認識した前記作業対象物を比較的狭い範囲で撮像する第２撮像部とを含むことを特徴とする。
【００１３】
請求項４の発明は、請求項１〜３のいずれかに記載のシミュレーションシステムであって、前記撮像パラメータが、倍率設定、フォーカス設定を含むことを特徴とする。
【００１４】
請求項５の発明は、請求項１〜４のいずれかに記載のシミュレーションシステムであって、前記撮像部が、前記作業ロボットに取付けられていることを特徴とする。
【００１５】
請求項６の発明は、請求項１〜５のいずれかに記載のシミュレーションシステムであって、前記記憶手段が、前記作業対象物の３次元形状データを記憶したことを特徴とする。
【００１６】
請求項７の発明は、請求項１〜６のいずれかに記載のシミュレーションシステムであって、前記記憶手段が、前記作業内の各工程ごとに要求される作業精度を表現したデータを記憶したことを特徴とする。
【００１７】
請求項８の発明は、請求項１〜７のいずれかに記載のシミュレーションシステムであって、前記記憶手段が、前記作業に用いられる作業対象物の各部位ごとに要求される作業精度を表現したデータを記憶したことを特徴とする。
【００１８】
請求項９の発明は、請求項１〜８のいずれかに記載のシミュレーションシステムであって、前記作業対象物を用いて行う前記作業を決定する作業決定手段をさらに備えることを特徴とする。
【００１９】
また、請求項１０の発明は、請求項１の発明に対応するプログラム発明である。
【発明の効果】
【００２０】
請求項１の発明によれば、撮像部の撮像パラメータを制御し、作業に要求される作業精度を満たす解像度でシミュレーションにおいて画像データを取得することにより、作業対象物自体の大きさや、作業対象物と撮像部との距離に影響されて解像度が低下することを防ぎ、シミュレーションにおける作業対象物に対する必要な３次元位置・姿勢認識精度を維持することができるので、シミュレーションおよび現実の作業において作業効率の低下や、作業の失敗確率の増大を招くことを抑制できる。
【００２１】
特に請求項４の発明によれば、制御する撮像パラメータとして倍率およびフォーカスが含まれることで、シミュレーションにおいて所望の作業精度を満たすために必要となる解像度となるように、倍率を調節し、さらにフォーカスを合わせることができるため、現実の作業において倍率やフォーカスを含む撮像パラメータがどの範囲で必要となるのかをシミュレーションで確認することができる。
【図面の簡単な説明】
【００２２】
【図１】シミュレーションシステム１００の表示画面に表示される作業ロボットおよび視野画面を示す図である。
【図２】シミュレーションシステム１００の構成を示すブロック図である。
【図３】シミュレーションシステム１００の３次元形状データの内容を示す図である。
【図４】シミュレーションシステム１００の作業精度データの内容を示す図である。
【図５】シミュレーションシステム１００の動作順序を示すフローチャートである。
【図６】シミュレーションシステム１００の分割領域の一例を示す図である。
【図７】シミュレーションシステム１００の分割領域の一例を示す図である。
【図８】シミュレーションシステム１００の、現実のロボット動作との関係を示す図である。
【発明を実施するための形態】
【００２３】
＜Ａ．実施形態＞
＜Ａ−１．構成＞
【００２４】
図１は、本発明の実施形態にかかるシミュレーションシステム１００がシミュレーション上に定義された作業ロボット３０の動作シミュレーションを行う際に、ディスプレイＤＰ上に表示される画像（シミュレーション画像）の例である。このシミュレーション画像は作業ロボット３０の動きを２次元あるいは３次元の動画として表示可能である。このディスプレイＤＰには、作業ロボット３０や作業対象物１０のシミュレーション動作画像を表示するほか、第２撮像部２２（２２Ｒ、２２Ｌ）によってその時点で撮像されていると計算される画像を、視野画面１６としてサブウインドウ内に表示することができる。
【００２５】
この作業ロボット３０は、複数種の作業対象物１０を順次に組み立てて所定の製品または半製品を製造する作業を行うロボットとして、シミュレーションにおいて定義される。
【００２６】
作業ロボット３０は例えば１対の腕部１３Ｒ、腕部１３Ｌを備え、それぞれの腕部１３Ｒ、腕部１３Ｌにステレオカメラ等の第２撮像部２２（２２Ｒ、２２Ｌ）が取付けられている。ロボットの頭部にも第１撮像部２１が取付けられ、第１撮像部２１で作業対象物１０が存在しうる領域全体を撮像し、第２撮像部２２（２２Ｒ、２２Ｌ）で作業対象物１０が存在すると認識した部分領域（分割領域）内のみを撮像する。第２撮像部２２で得られた画像データから認識した３次元位置・姿勢に基づいて、ハンド部１４Ｒ、ハンド部１４Ｌを用いて作業対象物１０を把持、移動し、組み立て等する作業を行う。
【００２７】
たとえば作業ロボット３０は、図示するように首部の水平旋回と鉛直方向への伸縮とによって頭部が自在に可動し、頭部に備えられた第１撮像部２１は広い視野範囲を確保できるように、シミュレーション上で設定される。第２撮像部２２をハンド部１４Ｒ、ハンド部１４Ｌ等に備える場合には、作業ロボット３０を操作することで、撮像部２０を作業対象物１０に容易に近接させることができ、精度よく撮像することができる。
【００２８】
第１撮像部２１、第２撮像部２２は１つのカメラ等でそれぞれの機能が果たされてもよく、それが設けられる箇所も、作業ロボット３０本体（例えばハンド部１４Ｒ、ハンド部１４Ｌの指等）に限らず、このシミュレーションシステム１００が想定する空間内で任意である。また、作業ロボット３０の腕部も、双腕である場合に限られるものではない。
【００２９】
作業対象物１０は、その数、種類、大きさ等に特に限定はなく、図１においてはトレー１５上に載置された設定となっているが、シミュレーションシステム１００が想定する空間内の例えば床面に直接載置される場合であってもよく、特に制限しない。また、その載置の状態も、特に一定の規律をもって複数の作業対象物１０が並べられる必要もなく、互いに重なり合った状態等であってもよい。
【００３０】
第２撮像部２２（２２Ｒ、２２Ｌ）において取得される画像のディスプレイＤＰ上の表示方法としては、この図１において図示するように、作業ロボット３０が表示されるディスプレイＤＰの表示画面の一部を視野画面１６として用いる方法であってもよいし、別画面（別ウインドウ）において表示されるものであってもよい。図１では、作業対象物１０のうち特定の作業対象物ＰＴが第２撮像部２２Ｌによって撮像され、ディスプレイＤＰの視野画面１６に表示されている状態を示している。
【００３１】
このとき、第２撮像部２２（２２Ｒ、２２Ｌ）の撮像パラメータ（倍率、アングル方向、フォーカス等）の数値をあわせて表示してもよい。第２撮像部２２（２２Ｒ、２２Ｌ）において取得されると計算される画像は、シミュレーションシステム１００において備えられる第２撮像部２２の個数に応じて、例えば複数表示してもよい。ユーザーは、表示面に表示される作業ロボット３０と、さらに表示される視野画面１６とを確認しながら、作業を適切に行うためのシミュレーションを行うことができる。
【００３２】
図２は、本発明の実施形態にかかるシミュレーションシステム１００の機能ブロック図である。図２に示された構成要素は全て、所定のプログラムがインストールされた汎用コンピュータ等を用いて機能的に実現され得るものであり、撮像部２０、作業ロボット３０等は、シミュレーション上定義された仮想上のものである。前述のように、このシミュレーションシステム１００では、汎用コンピュータに附属するディスプレイＤＰの画面上に作業シミュレーション画像を表示しつつ、作業ロボット３０に所定の作業を実行させることにより、その動作シミュレーションを行う。
【００３３】
このシミュレーションシステム１００は、コンピュータ内部で仮想的に作業ロボット３０を動作させる計算を行い、その結果を現実の作業ロボット３０の動作に反映させていくものである。
【００３４】
各機能手段の具体的構成に関して、図２に示すこのシミュレーションシステム１００は、作業対象物１０を用いて行う作業を決定する作業決定手段４０と、作業対象物１０を撮像し、画像データを取得する撮像部２０（第１撮像部２１および第２撮像部２２）と、撮像部２０の撮像パラメータを制御するパラメータ制御手段５０と、撮像部２０において取得した画像データから画像解析し、さらに作業対象物１０の３次元位置・姿勢を認識する認識手段６０（第１認識手段６１および第２認識手段６２）と、作業を行うために作業ロボット３０の動作を制御するロボット制御手段７０と、作業に要求される作業精度のデータ、作業対象物１０の３次元形状データを記憶した記憶手段８０（形状記憶手段８１および精度記憶手段８２）とを備える。
【００３５】
作業決定手段４０では、作業ロボット３０に行わせる作業を、あらかじめ準備された複数の作業項目からユーザーの選択に基づいて決定し、それに応じた作業ロボット３０の動きを特定する。具体的には、たとえば第１部品の頂部にある雄ネジを第２部品の上面のネジ穴に螺合させるなどの作業を選択し、それに従った具体的なロボット動作を決定する。作業を効率的に行うため、適切な作業順序を選択するのが望ましい。作業順序を決定する方法としては、例えば３次元ＣＡＤを用いて組み立て品を設計したり、実際に組み立て作業をさせるティーチング処理を行ったりするなどして、効率のよい順序を探す方法がある。なお、シミュレーションシステム１００内に作業決定手段４０を設けずに、外部で事前に決定した動作プログラムをインポートしたり、ユーザーがシミュレーションしたい一連の作業工程を直接に入力したりするような方法を用いてもよい。
【００３６】
撮像部２０は、作業対象物１０の存在しうる比較的広い範囲の領域全体を撮像する第１撮像部２１と、その領域全体を複数の分割領域に概念的に分割し、作業対象物１０が存在すると認識した比較的狭い範囲の個別の分割領域内で作業対象物１０を撮像する第２撮像部２２とを備える。この第２撮像部２２は、少なくとも倍率を調節可能なズーム機能、およびフォーカス機能を有するものである。第１撮像部２１と第２撮像部２２とは別々に設けられるものであってもよいし、１つの装置内でそれぞれの機能を切り替えて実現されるものであってもよい。
【００３７】
記憶手段８０には、設計あるいは予め測定した作業対象物１０の３次元形状データを記憶した形状記憶手段８１と、ある作業と作業対象物１０との関係で予め設定された作業精度を記憶した精度記憶手段８２とが備えられる。この記憶手段８０に記憶されたデータは、汎用コンピュータ外部において備えられた記憶装置等から、例えば通信によって供給されるものであってもよい。
【００３８】
形状記憶手段８１は、図３に示すように、作業対象物１０の種類ごとに３次元形状データが記憶されている。ここで３次元形状データとは、例えば各点が３次元位置情報を持つ点群データである。点群データについては、予めステレオ法等によって実測されたデータを使用したものであってもよいし、対象の３次元モデル上に規定され、各点が３次元位置情報を有し、全体として対象の全周形状を示す点群である、いわゆるモデル点群であってもよい。なお、作業対象物１０の３次元位置・姿勢を認識する方法によって作業対象物１０の形状などを特定可能であって当該３次元形状データを用いる必要がない場合には、記憶手段８０内に形状記憶手段８１を備えない構成であってもよい。
【００３９】
精度記憶手段８２は、図４に示すように、各作業における工程ごとに、それらの工程が設定される作業対象物１０の部位を特定するデータ（たとえば当該作業対象物についてあらかじめ定められた原点位置からの座標値で示すデータやその部位を示すコード値）と、その部位に設定された場合に要求される作業精度を示す数値（たとえば許容誤差値）とが記憶されている。作業内容の情報は複数の種類について記憶可能であり、作業の種類としては、作業対象物１０の取り出し、その運搬の他、例えば作業対象物１０同士を組み合わせて接続させる組み立て作業のような、他の作業対象物１０との関連性を持つ作業も含まれる。１つの作業対象物１０の中で作業が設定される部位が複数箇所ある場合も想定され、また、作業対象物１０の同じ部位であっても、異なる複数の作業を設定することも可能である。
【００４０】
作業、又はそのうちの工程の具体的内容としては、例えば、どの位置にどのような角度で接続するか、どの程度の強さで接続するか（ボルトの締め具合等）等がある。また、作業内容が同じであっても、作業対象物１０の硬さ、滑りやすさ等の性質により、要求される作業精度に幅がある。また１つの作業内であっても、要求される作業精度の異なる工程が含まれ得る。
【００４１】
＜Ａ−２．動作＞
【００４２】
以下、図５に示すフローチャートに従って、本発明の実施形態にかかるシミュレーションシステム１００における動作を説明する。
【００４３】
まず作業決定手段４０において、作業ロボット３０が行うべき作業を決定する。例えば、ある部品を組み立てる場合、その中で必要となる作業（部品の運搬、部品同士の組み合わせ、接続等）を抽出する。それらの作業を例えば作業効率のよい順で行うものとして決定する（ステップＳ１）。
【００４４】
次に、実際のシミュレーション動作の本体が開始される。上記の作業に必要とされる作業対象物１０を確定し、シミュレーションシステム１００の想定する空間範囲においてその作業対象物１０を探索する（ステップＳ２）。なお探索範囲については、ユーザーが予め限定して記憶させておいてもよい。探索は第１撮像部２１を用い、必要ならばロボット制御手段７０で作業ロボット３０を動作させて第１撮像部２１とともに首振りを行わせつつ、広範囲の画像解析によって行う。この時点での画像解析は第１認識手段６１において行い、作業対象物１０の３次元位置・姿勢を詳細に認識できる必要はなく、作業対象物１０の種別が可能な程度でよい。ここで言う「種別」としては、作業対象物の本来の違いだけでなく作業の進行にともなって作業対象物の外見が変化するときには、その変化の前後の区別も含むことができる。
【００４５】
必要となる作業対象物１０が複数ある場合にも同様に、それぞれの作業対象物１０を第１撮像部２１に用いて探索し、画像解析によって各作業対象物１０のラフな認識を行う。
【００４６】
画像解析によって、所望の作業対象物１０であると第１認識手段６１において判断された場合、精度記憶手段８２を参照し、その作業対象物１０、より具体的には、そのうちのある部位に、当該作業、より具体的には、そのうちのある工程を行う場合に要求される作業精度を確認する（ステップＳ３）。１つの作業内に複数の工程がある場合には、それぞれの工程ごとに確認する。作業の進行に伴って作業対象物１０の外見が変化してゆくときには、認識された作業対象物１０の外見から工程を区別し、その工程に応じて精度記憶手段８２を検索して精度を特定することもできる。たとえば、初期状態にある基本部品に順次に別部品を組み付けてゆくような作業の場合は、作業対象物１０は工程が進むごとに基本部品に組み付けられた部品が増えていくため、その全体形状は次第に変化するから、その形状の変化から次の工程とそこでの必要な作業精度を特定できる。
【００４７】
次に、それぞれの場面、すなわち部位ごと、工程ごとに要求された作業精度を満たす解像度となるように、第２撮像部２２の撮像パラメータをパラメータ制御手段５０において設定して制御する（ステップＳ４）。撮像パラメータとしては、カメラ等である第２撮像部２２の倍率設定やフォーカス設定等がある。撮像部２０に含まれる各カメラがデジタルビデオカメラである場合、それを構成する固体撮像素子の電気的制御パラメータを変更することによって撮像感度を変更することもできるが、その撮像感度も撮像パラメータとして含めることができる。また、画素数についても撮像パラメータとして考慮することも可能である。
【００４８】
ここで倍率とは、光学系によって生ずる像の大きさの物体の大きさに対する比であり、第２撮像部２２で捉えた対象物を、どの程度の大きさで表示画面に表示するかを決定する基準となる。なお、倍率を設定する代わりに、表示画面の画素数との関係から、要求精度を満たす解像度となるような距離に第２撮像部２２自体を移動させるようにハンド部１４Ｒ（１４Ｌ）を伸縮させるようなシミュレーションをすることも可能である。
【００４９】
またフォーカスとは、スクリーンやカメラの撮像面等の上で、物点からの光がほぼ最大限に収束されている状態を実現するもので、いわゆるピントが合っている状態を実現するものである。物点からの距離を算出することによって調節する方法等がある。なお、要求精度が許容する範囲内において、３次元位置・姿勢認識を容易にするために、被写界深度を適切に設定することも可能である。
【００５０】
倍率の設定については、作業対象物１０が大きく表示されるほど作業対象物１０に対応する部分の画素数が大きくなるため、解像度が上がる。よって、より高い作業精度を満たすことができる。但しその反面、同時に撮像されて表示される作業対象物１０の形状部分が少なくなるため、３次元位置・姿勢を認識することが困難になる。よって要求される作業精度は満たした上で、両者を調整しつつ倍率を設定することが望ましい。
【００５１】
作業対象物１０自体の大きさと、要求される作業精度に対応する許容誤差とが比例するような関係にある場合には、結果的に、作業対象物１０の大きさに応じた分割領域を設定するになる。すなわち、作業対象物１０自体が小さく、要求される作業精度が高い場合（許容誤差が小さい場合）には、より分割領域の範囲を小さくして、すなわち倍率を上げて、得られる画像データの解像度を高める必要があるが、作業対象物１０自体が小さいので、作業対象物１０自体の全体形状も分割領域内に収めやすい。逆に、作業対象物１０自体が大きく、要求される作業精度が低い場合（許容誤差が大きい場合）には、より分割領域の範囲を大きくでき、すなわち倍率を下げて、得られる画像データの解像度をある程度低い状態で保つことができる。よって、作業対象物１０自体が大きくても、要求される作業精度が低い場合には、作業対象物１０自体の全体形状を分割領域内に収めやすい。
【００５２】
例として、実際の直径が５ｍｍの穴（穴Ａ）と実際の直径が１ｍｍの穴（穴Ｂ）とが存在し、穴Ｂに要求される作業精度は穴Ａの５倍（許容誤差が１／５）だとする。
【００５３】
穴Ａを囲む領域Ｘと、穴Ｂを囲む領域Ｙとを分割領域として、それぞれ穴の外周に沿うように設定できる。分割領域Ｘ、Ｙを前述の視野画面１６に表示できる最大限に表示しようとする場合、分割領域Ｙは分割領域Ｘの縦横に５倍（面積にして２５倍）まで倍率を高めることができるので、得られる作業精度も５倍高いものとなる。穴Ａで画素数に基づく解像度が０．０５ｍｍであるとすると、穴Ｂでは解像度０．０１ｍｍが得られる。作業精度もそれらに対応した値が得られる。
【００５４】
倍率の調節だけではそのような条件を満たす設定値が見つからない場合、さらに画素数を調節することにより対応することも可能である。このような撮像パラメータの設定により、要求される作業精度を達成するために必要な撮像部のスペック等を、シミュレーションにおいて特定することが可能となる。
【００５５】
要求される作業精度を満たす撮像パラメータを設定した上で、その撮像パラメータで取得される画像データの表示領域を分割領域として設定する（ステップＳ５）。分割領域として設定する範囲は、図６のように、作業対象物ＰＴ全体（図６においては複数）が表示される範囲であってもよいし、図７のように、作業対象物ＰＴのある部位を中心とした範囲であってもよい。さらに、複数の領域を分割領域として設定してもよい。
【００５６】
図６では、作業対象物ＰＴやそれに形成されたねじ穴を用いた作業に要求される作業精度が低いため、複数の作業対象物ＰＴを包含する視野を分割領域としている。これに対して図７では、作業対象物ＰＴやねじ穴を用いた作業に要求される作業精度が高いため、図６のような比較的低い倍率で撮像すると破線で示すように細部の形状や位置が不鮮明となる、すなわち分解能が低くなる。そこで図７では作業精度を高めるため、図６よりも狭い視野で、すなわち倍率を上げて分解能を高めている。
【００５７】
次に、分割領域内の作業対象物１０の３次元位置・姿勢を第２認識手段６２で認識する（ステップＳ６）。３次元位置・姿勢の認識方法としては、例えば第２認識手段６２を構成する複数のカメラ等を用いて作業対象物１０を撮像し、ステレオ法による解析を行う方法等がある。例えばこの方法であれば、形状記憶手段８１に記憶された３次元形状データ（点群データ）とのマッチングによって、３次元位置・姿勢を認識することが可能である。
【００５８】
次に、ロボット制御手段７０を用いて、作業ロボット３０に前述の作業を行わせる（ステップＳ７）。これにより、作業対象物１０の３次元位置・姿勢を認識し、取り出し、運搬、組み立て等の作業を要求された作業精度を満たすように行うためのシミュレーションをすることができる。このシミュレーションの動きは、第２撮像部２２によって得る画像とともにディスプレイＤＰに表示される。作業ロボット３０の動きは、３次元ＤＧとしてディスプレイＤＰに表示できる。
【００５９】
これらの動作においては、作業に要求される作業精度に応じて撮像パラメータを可変に設定して制御するため、高い精度が要求される作業においては、解像度の高い画像データが分割領域において得られる。よってそのような作業においては、作業ロボット３０の作業対象物１０に対する３次元位置・姿勢認識の精度が高まり、作業を要求される作業精度に応じて適切に行うことができる。
【００６０】
現実に作業ロボット３０に作業させる際には、図８に示すように、上記のシミュレーションで得られた結果を撮像パラメータに反映させるような補正を行い、実際の例えば部品の組み立て作業において必要となる撮像情報を得る。要求された撮像情報を満たすように種々の要素の設定を行い、あるいは要求される条件を満たすような撮像装置を用意して、シミュレーションで検証された望ましい動作が作業ロボット３０を用いた実作業で再現できるように運用する。
【００６１】
＜Ａ−３．効果＞
本発明にかかる実施形態によれば、シミュレーションシステム１００において、次のような効果が得られる。
【００６２】
（１）撮像部２０、特に第２撮像部２２の倍率設定、フォーカス設定等の撮像パラメータを制御し、作業に要求される作業精度を満たす解像度で画像データを取得することにより、作業対象物１０自体の大きさや、作業対象物１０と撮像部２０との距離に影響されて解像度が低下することを防ぎ、作業対象物１０に対する必要な３次元位置・姿勢認識精度を維持することができるので、シミュレーションおよび現実の作業において作業効率の低下や作業の失敗確率の増大を招くことを抑制できる。
【００６３】
（２）画像解析から作業対象物１０の種別を認識する第１認識手段６１と、作業対象物１０の３次元位置・姿勢を認識する第２認識手段６２とを備えることで、第１認識手段６１で広範囲に探索した所望の作業対象物１０のみを、第２認識手段６２で精度よく３次元位置・姿勢解析することができ、探索効率が高まる。
【００６４】
（３）比較的広い範囲で撮像する第１撮像部２１と、第１撮像部２１において撮像した領域内で、第１認識手段６１において認識した作業対象物１０のみを撮像する第２撮像部２２とを備えることで、所望の作業対象物１０を効率的に撮像した画像データを取得でき、作業対象物１０を示すために割り当てられる画素数をより多く確保することができるので、解像度を高めることができ、よって所望の作業精度を満たすことができる。
【００６５】
（４）制御する撮像パラメータとして倍率とフォーカスとが含まれることで、所望の作業精度を満たすために必要となる解像度となるように、倍率を調節し、さらにフォーカスを合わせることができるため、現実の作業において倍率やフォーカス等の撮像パラメータがどの範囲で必要となるのかをシミュレーションで確認することができ、さらに、視野画面１６を確認することで、そのような撮像パラメータを設定した場合に得られる画像データを確認することができる。
【００６６】
（５）撮像部２０が作業ロボット３０に取り付けてあるため、作業ロボット３０の動作をロボット制御手段７０において制御することで撮像部２０の視野を自由に変更することができ、所望の作業対象物１０の探索、さらに作業に必要となる視野の確保が容易となる。特にハンド部１４Ｒ、ハンド部１４Ｌ等に備えた場合には、動作の自由度をより高くすることができる。
【００６７】
（６）作業内の各工程ごとに、作業対象物１０の各部位ごとに作業精度が設定されることで、より詳細に分割領域の設定がなされることとなり、作業の精度、さらに作業の効率も高めることができる。
【００６８】
なお、作業対象物１０の精度に応じてディスプレイＤＰに表示される撮像画像の表示分解能も変化させてもよい。もっとも、本質的には、撮像パラメータを要求される作業精度に応じて変化させることが重要である。すなわち、低い分解能で撮像した画像を高分解能で表示し、あるいはそれを画像処理しても、ぼやけた画像を基礎としている限り、本質的な作業精度の向上は図れない。本発明では、撮像パラメータを要求される作業精度に応じて可変としていることにより、画像取得段階で必要な分解能と視野とを確保できるため、作業精度と撮像効率とをバランスよく実現することができる。
【００６９】
また、撮像パラメータを変更する要因としての作業精度は、組み立ての位置精度や角度精度だけでなく、力学的変形の精度（たとえば、曲げ精度や伸び精度）など、撮像によって解析可能な他の空間的な精度であってもよい。また、ここで言う撮像とは赤外線画像などの取得をも含む概念である。
【符号の説明】
【００７０】
１０，ＰＴ  作業対象物
１３Ｌ，１３Ｒ    腕部
１４Ｌ，１４Ｒ    ハンド部
１５  トレー
１６  視野画面
２０  撮像部
２１  第１撮像部
２２，２２Ｌ，２２Ｒ  第２撮像部
３０  作業ロボット
４０  作業決定手段
５０  パラメータ制御手段
６０  認識手段
６１  第１認識手段
６２  第２認識手段
７０  ロボット制御手段
８０  記憶手段
８１  形状記憶手段
８２  精度記憶手段
１００  シミュレーションシステム
ＤＰ  ディスプレイ
【図１】
2012071394.tif 000003
【図２】
2012071394.tif 000004
【図３】
2012071394.tif 000005
【図４】
2012071394.tif 000006
【図５】
2012071394.tif 000007
【図６】
2012071394.tif 000008
【図７】
2012071394.tif 000009
【図８】
2012071394.tif 000010