(57)【要約】【課題】ロボットとワーク等との干渉の予測を行うと共に所要時間を正確に求める。【解決手段】ロボットプログラムの作成および実行が可能なロボットシミュレーション装置（１０）が、仮想空間（６０）を作成する仮想空間作成手段（３１）と、仮想空間内に定義されたワーク収容手段モデル（２４）内に、一つ以上のワークモデル（４０）を適当な姿勢で適当な位置に自動的に配置するワークモデル配置手段（３２）と、仮想空間において指定された場所からみた視野範囲内に存在するワークモデルの仮想的な画像（５２）を取得する仮想カメラ手段（３３）と、取得された仮想的な画像に基づいてロボットのプログラムにおける教示点を補正する補正手段（３４）と、補正されたプログラムに基づいて、ロボットがワークをハンドリングする動作をシミュレーションするシミュレーション手段（３５）と、を含んでいる。【選択図】図３
2007326160.tif 000002
【特許請求の範囲】
【請求項１】
ロボットプログラムの作成および実行が可能なロボットシミュレーション装置において、
ロボットがワークのハンドリング作業を行う作業空間を三次元的に表現した仮想空間を作成する仮想空間作成手段と、
前記仮想空間作成手段により作成された前記仮想空間内に定義されたワーク配置領域モデルまたは前記仮想空間内に設置されるワーク収容手段モデル内に、一つまたは複数の前記ワークのワークモデルを適当な姿勢で適当な位置に自動的に配置するワークモデル配置手段と、
前記仮想空間において指定された場所からみて指定された視野範囲内に存在する前記ワークモデルの仮想的な画像を取得する仮想カメラ手段と、
該仮想カメラ手段が取得した前記仮想的な画像に基づいて前記ロボットのプログラムにおける教示点を補正する補正手段と、
該補正手段により前記教示点が補正された前記プログラムに基づいて、前記ロボットが前記ワークをハンドリングする動作をシミュレーションするシミュレーション手段と、
を備えたロボットシミュレーション装置。
【請求項２】
前記ワークモデル配置手段は、指定された数の前記ワークモデルを前記仮想空間内に配置する請求項１に記載のロボットシミュレーション装置。
【請求項３】
前記ワークモデル配置手段は、互いに同一空間を共有しないように複数の前記ワークモデルを配置する請求項１または２に記載のロボットシミュレーション装置。
【請求項４】
さらに、ワーク属性情報を記憶するワーク属性情報記憶手段を具備し、
前記ワークモデル配置手段は、前記ワーク属性情報記憶手段に記憶された前記ワーク属性情報および前記複数のワークモデルの接触部位の情報に基づいて前記ワークの歪量を算出し、当該歪量に基づいて前記ワークモデルを変形状態で配置する、請求項１から３のいずれか一項に記載のロボットシミュレーション装置。
【請求項５】
前記ワーク属性情報は、前記ワークの剛性、前記ワークの重量および前記ワークの重心位置を含んでいる請求項４に記載のロボットシミュレーション装置。
【請求項６】
さらに、前記ロボットの実際の動作をモニタして記憶するロボット動作記憶手段を具備し、
前記ワークモデル配置手段は、前記ロボット動作記憶手段に記憶された前記ロボットの実際の動作に基づいて、前記複数のワークのそれぞれを把持したときの前記ロボットのハンドの位置姿勢を算出し、算出された前記ハンドの位置姿勢に基づいて前記ワークモデルを配置する請求項１から４のいずれか一項に記載のロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像手段ロボットとを含むロボットシステムのためのシミュレーション装置に関する。
【背景技術】
【０００２】
ロボット、ワークおよび周辺機器等の三次元モデルをコンピュータの画面上に配置・表示し、指定されたロボット移動指令等に基づいてロボットの動作シミュレーションを行うシミュレーション装置は公知である。このようなシミュレーション装置は、ロボット動作プログラムのオフライン作成に用いられると共に、オフラインで作成されたプログラムの評価や修正、編集等を行なうのに用いられる。
【０００３】
ところが、ロボットが実際に配置されていない場所（例えば事務所）においては、従来のシミュレーション装置は、プログラムのオフライン作成、修正、編集等を行なう場合の撮像手段に関連するシミュレーションをほとんど行うことができなかった。
【０００４】
このため、特許文献１においては、撮像手段を三次元モデル上に配置することに加えて、撮像手段の視野を三次元モデル上に表示するようにしたシミュレーション装置が開示されている。これにより、特許文献１のシミュレーション装置においては、撮像手段に関連するシミュレーションを行うことができる。
【特許文献１】特開２００５−１３５２７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、容器内にバラ積みされている同一形状の複数のワークをロボットが取出す場合がある。バラ積みされた複数のワークは三次元的に不規則に配置されているので、ワークの取出時にはロボットのハンドは取出し対象物であるワーク以外のワークに干渉する場合があり、またハンドは容器の壁部にも干渉しうる。特許文献１に開示されるシミュレーション装置は、バラ積みされた状態のワークを取出すことを想定していないので、ロボットのハンドとワークとの干渉およびロボットのハンドと容器との干渉までを事前に予測することができない。
【０００６】
また、容器内にバラ積みされている複数のワークを取出す場合には、ハンドリング時のロボットハンドの動作姿勢は取出されるワークに応じて異なるので、複数のワークの全てを容器から取出すのに要する時間を正確に算出するのは困難である。
【０００７】
本発明はこのような事情に鑑みてなされたものであり、容器内にバラ積みされている複数のワークを取出す場合にロボットとワークとの干渉およびロボットと容器との干渉を予測する全てのワークを取出す所要時間を正確に求めることのできるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前述した目的を達成するために１番目の発明によれば、ロボットプログラムの作成および実行が可能なロボットシミュレーション装置において、ロボットがワークのハンドリング作業を行う作業空間を三次元的に表現した仮想空間を作成する仮想空間作成手段と、前記仮想空間作成手段により作成された前記仮想空間内に定義されたワーク配置領域モデルまたは前記仮想空間内に設置されるワーク収容手段モデル内に、一つまたは複数の前記ワークのワークモデルを適当な姿勢で適当な位置に自動的に配置するワークモデル配置手段と、前記仮想空間において指定された場所からみて指定された視野範囲内に存在する前記ワークモデルの仮想的な画像を取得する仮想カメラ手段と、該仮想カメラ手段が取得した前記仮想的な画像に基づいて前記ロボットのプログラムにおける教示点を補正する補正手段と、該補正手段により前記教示点が補正された前記プログラムに基づいて、前記ロボットが前記ワークをハンドリングする動作をシミュレーションするシミュレーション手段と、を備えたロボットシミュレーション装置が提供される。
【０００９】
すなわち１番目の発明においては、複数のワークモデルを適当な姿勢で適当な位置に配置しているので、容器のバラ積み状態を仮想空間上に表現することができる。このため、バラ積みされた複数のワークを取出す場合に、ロボットとワークとの干渉およびロボットと容器との干渉を事前に予測することができ、また全てのワークを取出すのに必要な時間を正確に求めることが可能となる。
【００１０】
２番目の発明によれば、１番目の発明において、前記ワークモデル配置手段は、指定された数の前記ワークモデルを前記仮想空間内に配置する。
すなわち２番目の発明においては、容器モデル内に配置されるワークモデルの数に基づいて、干渉をより正確に予測でき、また所要時間をより正確に求めることができる。
【００１１】
３番目の発明によれば、１番目または２番目の発明において、前記ワークモデル配置手段は、互いに同一空間を共有しないように複数の前記ワークモデルを配置する。
すなわち３番目の発明においては、三次元仮想空間において複数のワークモデルが互いに重ならないようにすることによって、より正確なシミュレーションが可能になる。
【００１２】
４番目の発明によれば、１番目から３番目のいずれかの発明において、さらに、ワーク属性情報を記憶するワーク属性情報記憶手段を具備し、前記ワークモデル配置手段は、前記ワーク属性情報記憶手段に記憶された前記ワーク属性情報および前記複数のワークモデルの接触部位の情報に基づいて前記ワークの歪量を算出し、当該歪量に基づいて前記ワークモデルを変形状態で配置する。
５番目の発明によれば、４番目の発明において、前記ワーク属性情報は、前記ワークの剛性、前記ワークの重量および前記ワークの重心位置を含んでいる。
すなわち４番目および５番目の発明においては、積み重なったワークモデルの歪量を考慮しているので、さらに正確なシミュレーションが可能になる。
【００１３】
６番目の発明によれば、１番目から５番目のいずれかの発明において、さらに、前記ロボットの実際の動作をモニタして記憶するロボット動作記憶手段を具備し、前記ワークモデル配置手段は、前記ロボット動作記憶手段に記憶された前記ロボットの実際の動作に基づいて、前記複数のワークのそれぞれを把持したときの前記ロボットのハンドの位置姿勢を算出し、算出された前記ハンドの位置姿勢に基づいて前記ワークモデルを配置する。
すなわち６番目の発明においては、容器内にバラ積みされている複数のワークをロボットが取出す際のハンドリング動作を仮想空間上に再現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同一の部材には同一の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
図１は本発明に基づくロボットシミュレーション装置の全体配置図である。図１に示されるロボットシミュレーション装置１０は、例えばデジタルコンピュータであり、ロボットプログラムの作成および実行を行うことができる。図１に示される実施形態においてはロボットシミュレーション装置１０はイーサネット（登録商標）などのＬＡＮ２９によってロボットコントローラ２９に接続されているが、これらが他の方式により接続されていてもよい。
【００１５】
図１においては、カゴ状の容器２４が所定位置に設置されている。図示されるように、同一形状の複数のワーク２０が容器２４内においてバラ積み状態で配置されている。容器２４は外壁２５を備えており、外壁２５によって開口２６が取囲まれている。図１においては開口２６の形状は矩形であるが、開口２６が他の形状であってもよい。また、複数のワーク２０のそれぞれは直方体として示されているが、これらワーク２０は他の形状であってもよい。
【００１６】
また、ロボットコントローラ２１は、アームの先端にハンド２３が備えられたロボット２２に接続されている。ロボットコントローラ２１は、ロボット２２が容器２４内のワーク２０を順次取出すよう制御する。
【００１７】
また、容器２４の上方には、撮像手段５５、例えばＣＣＤカメラ等が所定位置に配置されている。図１においては、この撮像手段５５は図示しないスタンドにより位置決めされている。ただし、撮像手段５５がロボット２２の一部に取付けられていてもよい。
【００１８】
図２は本発明に基づくロボットシミュレーション装置のブロック図である。図２に示されるように、ロボットシミュレーション装置１０は、ＣＰＵ１１と、ＲＯＭ１２およびＲＡＭ１３からなる記憶部と、マウスおよび／またはキーボード等を含む入出力機器１４と、グラフィック制御回路１５とを含んでおり、これらが双方向性バス１６により互いに接続されている。
【００１９】
ＣＰＵ１１は、ロボット２２がワーク２０のハンドリング作業を行う作業空間を三次元的に表現した仮想空間を作成する仮想空間作成手段３１と、仮想空間における容器２４のモデル内にワーク２０のワークモデルを自動的に配置するワークモデル配置手段３２と、仮想空間においてワークモデルの仮想的な画像を取得する仮想カメラ手段３３と、仮想的な画像に基づいてロボットプログラムにおける教示点を補正する補正手段３４と、補正されたプログラムに基づいて、ロボット２２がワーク２０をハンドリングする動作をシミュレーションするシミュレーション手段３５との役目を果たす。
【００２０】
記憶部のＲＡＭ１３には、シミュレーションの対象とされるロボット２２、容器２４、ワーク２０およびこれらの周辺機器等に関する三次元形状モデルのデータが記憶されている。また、ＲＡＭ１３には、ワーク２０の剛性、ワーク２０の重量、およびワーク２０の重心位置などのワーク属性情報も記憶されている。
【００２１】
さらに、ロボットシミュレーション装置１０の後述する動作プログラム１００〜４００およびロボット２２を動作させるロボットプログラムは、記憶部のＲＯＭ１２に記憶されているものとする。また、図示されるように、グラフィック制御回路１５は、表示部１９、例えば液晶モニタまたはＣＲＴ等に接続されている。
【００２２】
図３は本発明に基づくロボットシミュレーション装置の動作プログラムを示すフローチャートである。以下、図３に示される動作プログラムを参照しつつ、本発明のロボットシミュレーション装置１０の動作を説明する。
【００２３】
はじめに、仮想空間作成手段３１によって、シミュレーションが実施される三次元仮想空間６０を作成する（ステップ１０１）。作成された三次元仮想空間６０はグラフィック制御回路１５によって表示部１９上に表示される。
【００２４】
図４は、表示部１９に表示された三次元仮想空間を示す図である。図４においては、三次元仮想空間６０は表示部１９上に表示された第一画面５１に示されている。図示されるように、第一画面５１の三次元仮想空間６０には、図１の容器２４に対応した容器モデル４４が示されている。この容器モデル４４は記憶部に記憶された三次元形状データに基づいて作成されており、外壁２５および開口２６に対応した外壁４５および開口４６もそれぞれ表示されている。
【００２５】
なお、図４においては三次元仮想空間６０は平面的に描かれているが、入出力機器１４、例えばマウスを用いることにより三次元仮想空間６０の視点を三次元的に変化させられるものとする。
【００２６】
次いで、ワークモデル配置手段３２によって、ワーク２０に対応したワークモデル４０を三次元仮想空間６０に配置する。このワークモデル４０も記憶部に記憶されたワーク２０の三次元形状データに基づいて作成されている。
【００２７】
図示されるように、ワークモデル配置手段３２によって、複数のワークモデル４０は容器モデル４４において適当な位置に適当な姿勢で自動的に配置される。以下、複数のワークモデル４０の配置手法について説明する。
【００２８】
図５は複数のワークモデルの配置手法を説明するための図である。説明を簡単にするために、図５においては二次元のモデルが示されている。図５におけるプログラム２００のステップ２０１に示されるように、はじめに、ワークモデル配置手段３２によって、一つのワークモデル４０が容器モデル４４の上方において適当な姿勢で且つ適当な位置に配置される。ワークモデル４０の姿勢および位置はそれぞれ乱数などを用いてワークモデル配置手段３２内において定められる。
【００２９】
次いで、ステップ２０２において、姿勢を変化させることなしに、ワークモデル４０を下降させ、それにより、ワークモデル４０を容器モデル４４の底面４７に到達させる。
【００３０】
その後、ステップ２０１に再び戻って、他のワークモデル４０を容器モデル４４上方に配置した後、他のワークモデル４０を底面４７に向かって下降させる。このとき、他のワークモデル４０は、容器モデル４４内に既に配置されたワークモデル４０に重ならないように配置される。このため、図示されるように、他のワークモデル４０は容器モデル４４の底面４７または外壁４５に接触しない場合もある。このような処理を所定回数だけ繰返し、それにより、複数のワークモデル４０を容器モデル４４内に配置するようにする（ステップ２０３）。
【００３１】
本発明においては、ワークモデル４０の姿勢および位置を乱数などを用いてランダムに決定しており、また、複数のワークモデル４０が互いに重ならないように配置している。従って、ワークモデル４０の姿勢等は、容器２４内にバラ積みされた実際のワーク２０の姿勢等に極めて近くなる。このため、本発明においては、容器内にバラ積みされている同一形状の複数のワークを取出す取出動作のシミュレーションをより正確に行うことが可能となる。
【００３２】
次いで、図４に示されるように、第一画面５１の三次元仮想空間６０においては、カメラモデル５５’が予め指定された場所に配置される。この場所は、実際の撮像手段５５（図１）の場所に対応している。図４に示される三次元仮想空間６０においては、カメラモデル５５’は容器モデル４４の真上に配置されている。
【００３３】
また、図４においてカメラモデル５５’から延びる破線はカメラモデル５５’の視野５６’を示しており、この視野５６’は実際の撮像手段５５（図１）の視野に対応する。図示されるように、カメラモデル５５’の視野５６’は容器モデル４４内に配置された複数のワークモデル４０を捉えている。
【００３４】
カメラモデル５５’はその視野５６’内におけるワークモデル４０の仮想的な画像を仮想カメラ手段３３によって取得することができる。仮想カメラ手段３３は、取得された仮想的な画像を第二画面５２として表示部１９上に表示する（図３のステップ１０３を参照されたい）。図示されるように、第一画面５１および第二画面５２は互いに別ウィンドウとして描かれているが、第二画面５２を用いる代わりに、カメラモデル５５’が捉えた仮想的な画像を第一画面５１のコーナに描くようにしてもよい。
【００３５】
次いで、第二画面５２内に表示された仮想的な画像に基づいて、ロボットプログラム内の教示点を補正手段３４により補正する。補正手段３４は、はじめに、第二画面５２における仮想的な画像から、適当なワークモデル４０、例えばワークモデル４０ａを選択し、その姿勢と位置とを算出する。ロボットプログラムにはロボット２２のハンド２３が所定姿勢でかつ所定位置にあるワーク２０を把持する手法が記載されているので、ロボット２２のハンド２３がワークモデル４０ａを把持できるように、算出されたワークモデル４０ａの姿勢と位置とに基づいてロボットプログラム内の教示点を変更する。
【００３６】
その後、補正手段３４は、他のワークモデル４０ｂ、４０ｃ…を順次選択してそれらの姿勢および位置も同様に求め、ハンド２３がワークモデル４０ｂ、４０ｃ…を把持できるように教示点を同様に変更する（ステップ１０４）。
【００３７】
ところで、図４から分かるように、ワークモデル４０ｄはワークモデル４０ａの下方に位置するために、第二画面５２においてはワークモデル４０ｄは一部のみしか示されていない。図４においては、手前に存在するワークモデル４０ａが邪魔になるので、ワークモデル４０ｄの姿勢および位置を求めるのは困難である。従って、このような場合には、邪魔になるワークモデル４０ａを一時的に削除して、下方のワークモデル４０ｄの姿勢および位置を求めれば足りる。このようにして全てのワークモデル４０が把持されるようにロボットプログラムの教示点が変更される。
【００３８】
次いで、第一画面５１の三次元仮想空間６０にロボット２２のロボットモデル２２’を表示する。そして、補正手段３４によって補正されたロボットプログラムに基づいて、シミュレーション手段３５がロボットモデル２２’を三次元仮想空間６０上でシミュレーション動作させる（ステップ１０５）。なお、シミュレーション手段３５によるシミュレーション動作は第一画面５１とは別の画面上で行うようにしてもよい。
【００３９】
このようなシミュレーションによって、ロボットモデル２２’のハンドモデル２３’が容器モデル４４に配置されたワークモデル４０を順次取出す取出動作を行う。これにより、ハンド２３が容器２４の外壁２５に干渉するか否か、およびハンド２３が把持対象物であるワーク以外のワーク２０に干渉するか否かをシミュレーションの画面上で予め予測することが可能になる。
【００４０】
例えばハンド２３の外壁２５に対する干渉が比較的軽度であると予測される場合には、容器モデル４４の寸法を三次元仮想空間６０上で変更し、干渉が回避されるまでシミュレーションを繰返すようにしてもよい。これにより、最適な寸法の容器２４をシミュレーションを用いて検討することができる。
【００４１】
同様に、ハンド２３の他のワーク２０に対する干渉が比較的軽度であると予測される場合には、ハンドモデル２３’の寸法を三次元仮想空間６０上で変更すれば、最適な寸法のハンドモデル２３’を同様に検討できる。
【００４２】
さらに、本発明においては、複数のワーク２０に関するワークモデル４０のそれぞれについて、ロボットプログラムの教示点を変更している。つまり、ハンドリング時のハンド２３の姿勢は、把持されるワーク２０に応じて順次変更されている。従って、本発明においては、複数のワーク２０の全てを容器２４から取出すのに要する時間を事前に正確に算出することが可能である。
【００４３】
これらのことから、容器内にバラ積みされている同一形状の複数のワークをロボットが取出す取出システムを構築する場合には、本発明のロボットシミュレーション装置１０を用いることによって取出システムの立上げ時間を短縮できることが分かるであろう。
【００４４】
当然のことながら、三次元仮想空間６０上に配置されるワークモデル４０の数は、入出力機器１４、例えばマウスおよび／またはキーボードを用いて容易に変更できる。つまり、ワークモデル４０の数を実際のワーク２０の数に一致させることにより、さらに正確にシミュレーションすることができる。
【００４５】
ところで、図６（ａ）の左方に示されるように、容器モデル４４内において、一つのワークモデル４０ｅが他の二つのワークモデル４０ｆ、４０ｇ上に配置される場合がある。言い換えれば、ワークモデル４０ｅは、ワークモデル４０ｆ上の支持位置ｐとワークモデル４０ｇ上の支持位置ｑとにおいて支持される。このような場合にはワークモデル４０ｅは支持位置ｐ、ｑの間で歪むので、その歪量を考慮して、ワークモデル４０ｅを表示するのが好ましい。
【００４６】
図６（ｂ）は、ワークの歪量に基づいてワークモデルを表示する表示手法を示す図である。はじめに、ワークモデル４０ｅ、４０ｆ、４０ｇの間の配置関係から支持位置ｐ、ｑの間の距離Ｌを算出する。次いで、以下の式（１）より、最大たわみ量δを算出する（ステップ３０１）。
δ=Ｐ・Ｌ3／（４８・Ｅ・Ｉ）                                    式（１）
なお、式（１）における符号Ｐはワーク２０の重量、符号Ｅ、Ｉはワーク２０に関するヤング率、断面二次モーメントをそれぞれ表している。これら重量Ｐ、ヤング率Ｅ、断面二次モーメントＩは記憶部のＲＯＭ１２に予め記憶されているものとする。
【００４７】
次いで、支持位置ｐ、ｑを結ぶ線分に対して平行に延びるワークモデル４０ｅの中間面Ｍを設定する。そして、中間面Ｍからワークモデル４０ｅの各頂点までの距離ｒをそれぞれ求める。図示されるようにワークモデル４０ｅが直方体である場合には、ワークモデル４０ｅが八つの頂点Ｑｉ（＝Ｑ１〜Ｑ８）を備えているので、八つの距離ｒｉ（＝ｒ１〜ｒ８）が求められる（ステップ３０２）。なお、図６（ｂ）においては、情報側の二つの頂点Ｑ１、Ｑ２および下方側の二つの頂点Ｑ５、Ｑ６ならびにこれらに関する距離ｒ１、ｒ２、ｒ５、ｒ６のみが示されていることに注意されたい。
【００４８】
次いで、ワークモデル４０ｅの八つの頂点のそれぞれに対する歪量εｉ（＝ε１〜ε８）を以下の式（２）より算出する（ステップ３０３）。
εｉ＝ｒｉ／ρ                                                  式（２）
なお、式（２）における符号ρは中間面の曲率半径である。
【００４９】
その後、図６（ａ）の右方に示されるように、算出された歪量εｉに応じて、三次元仮想空間６０上のワークモデル４０ｅの全ての頂点Ｑｉを移動させて、ワークモデル４０ｅを再表示する。
【００５０】
図６（ａ）および図６（ｂ）にはワークモデル４０ｅが二次元的に示されているが、実際のワーク２０は三次元形状である。このため、中間面Ｍよりも上方に位置する四つの頂点Ｑ１〜Ｑ４はワークモデル４０ｅの中心に向かって縮む。一方、中間面Ｍよりも下方に位置する残りの四つの頂点Ｑ５〜Ｑ８は中心から離れるように外方に伸びる。
【００５１】
当然のことながら、他のワークモデル４０についても歪み量を同様に算出してワークモデルの頂点を移動させるようにする。このような場合には、より正確な三次元仮想空間６０が得られるので、より正確なシミュレーションを行うことができるのは明らかであろう。特に、図６に示される実施形態は、容器２４内に積み重ねられるワーク２０が比較的変形しやすい場合に有利である。
【００５２】
図６（ａ）および図６（ｂ）においては、ワークモデル４０ｅが概ね水平状態にある場合について説明したが、ワークモデルが他のワークモデルによって傾斜状態にある場合においても同様な手法により歪み量を算出してワークモデルの頂点を移動させられるのは明らかであろう。
【００５３】
ところで、図１に示されるように容器２４の内部にバラ積みされている複数のワーク２０を取出す場合には、ハンド２３がワーク２０を把持するときの姿勢および位置が逐一変化する。このため、容器２４内の全てのワーク２０を取出した後においては、これらワーク２０が容器２４内にどのように配置されていたかを確認できず、その結果、ロボット２２のハンドリング動作を再現できなかった。
【００５４】
これに対し、本発明においては容器２４の内部にバラ積みされている複数のワーク２０をロボット２２が取出す際のハンドリング動作を再現することができる。図７はロボットの実際の動作を仮想空間に再現する手法を説明するための図である。以下、図７を参照しつつ、このことについて説明する。
【００５５】
はじめに、図１に示されるロボット２２を実際に動作させ、それにより、容器２４の内部にバラ積みされている複数のワーク２０を順次取出す。このとき、ロボットシミュレーション装置１０は、ロボット２２の動作をサンプリング周期毎にモニタリングし、そのモニタリング結果をＲＡＭ１３に記憶する（ステップ４０１）。このため、モニタリング結果は、複数のワーク２０のそれぞれを把持するときのハンド２３の姿勢および位置、ならびにハンド２３の開閉タイミングを含んでいる。なお、図７に示される黒丸は教示点を表している。
【００５６】
次いで、取込んだハンド２３の姿勢等に基づいて、ハンド２３によって把持されるときのワーク２０の姿勢および位置を推定する（ステップ４０２）。この推定作用は、容器２４から取出された全てのワーク２０に対して行われる。
【００５７】
第一画面５１の三次元仮想空間６０に容器モデル４４を作成した後で、推定された複数のワーク２０の姿勢等に基づいて、ワークモデル配置手段３２が複数のワークモデル４０を容器モデル４４内に配置する（ステップ４０３）。これにより、実際の容器２４における複数のワーク２０のバラ積み状態を三次元仮想空間６０上に再現することができる。
【００５８】
その後、ロボットモデル２２’（図７には示さない）を三次元仮想空間６０に表示し、シミュレーション手段３５を用いてロボットモデル２２’のシミュレーション動作を行う（ステップ４０４）。これにより、本発明のロボットシミュレーション装置１０においては、容器２４にバラ積みされた複数のワーク２０をロボット２２が取出す際のハンドリング動作の再現が可能となる。それゆえ、例えば実際のロボット２２が容器２４内の複数のワーク２０を取出す際にエラーが生じていた場合には、前述した再現動作を行うことによってエラーの原因を検証することが可能となる。
【００５９】
なお、図面を参照して説明した実施形態においては複数のワーク２０が容器２４内に配置されているが、これら複数のワーク２０が床上の所定のワーク配置領域に配置されている場合であっても、本発明を適用できるのは明らかであろう。
【図面の簡単な説明】
【００６０】
【図１】本発明に基づくロボットシミュレーション装置の全体配置図である。
【図２】本発明に基づくロボットシミュレーション装置のブロック図である。
【図３】本発明に基づくロボットシミュレーション装置の動作プログラムを示すフローチャートである。
【図４】表示部に表示された三次元仮想空間を示す図である。
【図５】複数のワークモデルの配置手法を説明するための図である。
【図６】（ａ）二つの支持位置で支持されるワークモデルを示す図である。（ｂ）ワークの歪量に基づいてワークモデルを表示する表示手法を示す図である。
【図７】ロボットの実際の動作を仮想空間に再現する手法を説明するための図である。
【符号の説明】
【００６１】
１０    ロボットシミュレーション装置
１５    グラフィック制御回路
１６    双方向性バス
２０    ワーク
２１    ロボットコントローラ
２２    ロボット
２２’    ロボットモデル
２３    ハンド
２３’    ハンドモデル
２４    容器（ワーク収容手段）
２５    外壁
２６    開口
３１    仮想空間作成手段
３２    ワークモデル配置手段
３３    仮想カメラ手段
３４    補正手段
３５    シミュレーション手段
４０    ワークモデル
４４    容器モデル（ワーク収容手段モデル）
５１    第一画面
５２    第二画面
５５    撮像手段
５５’    カメラモデル
５６’    視野
６０    三次元仮想空間
Ｌ    支持位置間の距離
Ｑｉ    頂点
ｒｉ    距離
δ    たわみ量
εｉ    歪量
【図１】
2007326160.tif 000003
【図２】
2007326160.tif 000004
【図３】
2007326160.tif 000005
【図４】
2007326160.tif 000006
【図５】
2007326160.tif 000007
【図６】
2007326160.tif 000008
【図７】
2007326160.tif 000009