(57)【特許請求の範囲】
【請求項１】
２つのカメラ及びプロジェクタを備えたレンジセンサによって取得されるワークの三次元情報に基づいて、バラ積みされた複数のワークをロボットによって順次取出す取出工程を仮想空間内でシミュレーションするロボットシミュレーション装置であって、
前記ロボット、前記複数のワーク、並びに前記レンジセンサの前記２つのカメラ及び前記プロジェクタを三次元で表現したロボットモデル、複数のワークモデル、２つのカメラモデル、及びプロジェクタモデルを前記仮想空間に配置するモデル配置部を備えており、
前記モデル配置部は、
前記複数のワークモデルをバラ積みされた状態で前記仮想空間に配置するよう構成されるとともに、
前記２つのカメラモデルの視野及び前記プロジェクタモデルの投影範囲が、バラ積みされた前記ワークモデルに対して設定される計測領域を包含するように、前記２つのカメラモデル及び前記プロジェクタモデルを前記仮想空間に配置するよう構成されており、
当該ロボットシミュレーション装置は、さらに、
前記２つのカメラモデルの焦点を通って延在していて、前記計測領域を撮像するときの前記２つのカメラモデルの視野を等間隔で分割する第１の平面群を計算する第１の平面計算部と、
前記プロジェクタモデルによって前記計測領域に縞状のパターン光を照射したときに、前記計測領域に投影される明暗の境界及び前記プロジェクタモデルを通って延在していて、前記第１の平面群と交差する第２の平面群を計算する第２の平面計算部と、
前記第１の平面群と前記第２の平面群との複数の交線を計算する交線計算部と、
前記複数の交線と前記ワークモデルの表面との複数の交点の配列を前記ワークモデルの三次元情報として計算する三次元情報計算部と、
前記ワークモデルの三次元情報に基づいて前記ワークモデルの位置及び姿勢を計算する位置姿勢計算部と、
前記位置姿勢計算部によって計算される前記ワークモデルの位置及び姿勢に基づいて、前記ロボットモデルによる前記取出工程のシミュレーションを実行するシミュレーション実行部と、
を備える、ロボットシミュレーション装置。
【請求項２】
前記モデル配置部は、バラ積みされた前記ワークモデルを撮像する第２のカメラを前記仮想空間に配置するようさらに構成されており、
当該ロボットシミュレーション装置は、バラ積みされた前記ワークモデルの二次元画像を前記第２のカメラから取得する二次元画像取得部をさらに備えており、
前記位置姿勢計算部は、前記ワークモデルの三次元情報及び前記二次元画像に基づいて、前記ワークモデルの位置及び姿勢を計算するようさらに構成される、請求項１に記載のロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バラ積みされたワークをロボットによって順次取出す取出工程をシミュレーションするロボットシミュレーション装置に関する。
【背景技術】
【０００２】
ロボットシミュレーション装置は、ロボットによるワークのハンドリングなどの所定の動作を仮想空間内でシミュレーションするために使用される。シミュレーション結果は、ロボットの制御プログラムを評価するとともに、必要に応じてプログラム又は作業空間内の物体の位置関係を変更するために利用される。
【０００３】
バラ積みされたワークをロボットによって順次把持して所定位置まで搬送する取出工程をシミュレーションするロボットシミュレーション装置が公知である。関連技術において、取出工程のシミュレーションは、例えばワークの位置及び姿勢を検出するカメラの三次元モデルを仮想空間に配置して実行される。
【０００４】
特許文献１には、視覚センサを有するロボットの動作をオフラインでシミュレーションするロボットシミュレーション装置が開示されている。このロボットシミュレーション装置は、仮想空間においてセンサモデルによってワークモデルを撮像して得られる二次元の仮想画像に基づいて、取出されるべき対象ワークモデルを特定するとともに、対象ワークモデルの位置及び姿勢を計測するように構成される。
【０００５】
特許文献２には、仮想空間に配置されたカメラモデルによってワークモデルの仮想画像を取得するように構成されたロボットシミュレーション装置が開示されている。このロボットシミュレーション装置において、取得された仮想画像に基づいて、ロボットモデルに対する教示点が補正される。
【０００６】
特許文献３には、カメラによって得られる二次元画像と、レンジセンサによって得られる三次元情報と、に基づいて、物品の位置及び姿勢を認識する認識装置が開示されている。この関連技術は、三次元情報に基づいて物品の二次元位置を検出する探索条件を設定することによって、二次元画像の画像処理に要する時間を短縮することを意図している。
【０００７】
特許文献４には、ワークの画像データを取得するカメラを備えたワーク姿勢検知装置が開示されている。このワーク姿勢検知装置は、予め記憶されたワークの複数の安定姿勢のうち、カメラによって取得された画像データ中のワークの姿勢に最も合致する安定姿勢を基準として、ワークの姿勢を検出するように構成されている。この関連技術は、マッチング処理に要する計算時間を短縮することを意図している。
【０００８】
特許文献５には、認識すべき対象の物体の三次元表面形状データと、距離センサなどを用いて得られる実際の状態をサンプリングした三次元表面形状データと、を照合することによって、物体の位置及び姿勢を認識する物体認識装置が開示されている。
【０００９】
特許文献６には、互いに異なる視点でワークを撮像する２つのカメラを備えていて、ワークの三次元位置を計測するように構成された三次元計測装置が開示されている。この三次元計測装置は、第１のカメラによって得られた第１の画像と、第１の画像に基づいて計算される第２のカメラの切出し範囲に従って切り出される第２のカメラの第２の画像と、に基づいて、ワークの三次元位置を計測するようになっている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００７−２４１８５７号公報
【特許文献２】特開２００７−３２６１６０号公報
【特許文献３】特開２０１３−１０１０４５号公報
【特許文献４】特開２００７−２４５２８３号公報
【特許文献５】特開２００９−１２８１９１号公報
【特許文献６】特開２０１４−０１３１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ワークの取出工程において、レンジセンサによってワークの三次元情報を取得することがある。そこで、仮想空間内においてバラ積みされたワークの三次元情報をレンジセンサによって取得し、それにより取出工程のシミュレーションの実行を可能にするロボットシミュレーション装置が求められている。
【課題を解決するための手段】
【００１２】
本願の１番目の態様によれば、２つのカメラ及びプロジェクタを備えたレンジセンサによって取得されるワークの三次元情報に基づいて、バラ積みされた複数のワークをロボットによって順次取出す取出工程を仮想空間内でシミュレーションするロボットシミュレーション装置であって、前記ロボット、前記複数のワーク、並びに前記レンジセンサの前記２つのカメラ及び前記プロジェクタを三次元で表現したロボットモデル、複数のワークモデル、２つのカメラモデル、及びプロジェクタモデルを前記仮想空間に配置するモデル配置部を備えており、前記モデル配置部は、前記複数のワークモデルをバラ積みされた状態で前記仮想空間に配置するよう構成されるとともに、前記２つのカメラモデルの視野及び前記プロジェクタモデルの投影範囲が、バラ積みされた前記ワークモデルに対して設定される計測領域を包含するように、前記２つのカメラモデル及び前記プロジェクタモデルを前記仮想空間に配置するよう構成されており、当該ロボットシミュレーション装置は、さらに、前記２つのカメラモデルの焦点を通って延在していて、前記計測領域を撮像するときの前記２つのカメラモデルの視野を等間隔で分割する第１の平面群を計算する第１の平面計算部と、前記プロジェクタモデルによって前記計測領域に縞状のパターン光を照射したときに、前記計測領域に投影される明暗の境界及び前記プロジェクタモデルを通って延在していて、前記第１の平面群と交差する第２の平面群を計算する第２の平面計算部と、前記第１の平面群と前記第２の平面群との複数の交線を計算する交線計算部と、前記複数の交線と前記ワークモデルの表面との複数の交点の配列を前記ワークモデルの三次元情報として計算する三次元情報計算部と、前記ワークモデルの三次元情報に基づいて前記ワークモデルの位置及び姿勢を計算する位置姿勢計算部と、前記位置姿勢計算部によって計算される前記ワークモデルの位置及び姿勢に基づいて、前記ロボットモデルによる前記取出工程のシミュレーションを実行するシミュレーション実行部と、を備える、ロボットシミュレーション装置が提供される。
本願の２番目の態様によれば、１番目の態様に係るロボットシミュレーション装置において、前記モデル配置部は、バラ積みされた前記ワークモデルを撮像する第２のカメラを前記仮想空間に配置するようさらに構成されており、当該ロボットシミュレーション装置は、バラ積みされた前記ワークモデルの二次元画像を前記第２のカメラから取得する二次元画像取得部をさらに備えており、前記位置姿勢計算部は、前記ワークモデルの三次元情報及び前記二次元画像に基づいて、前記ワークモデルの位置及び姿勢を計算するようさらに構成される。
【００１３】
これら及び他の本発明の目的、特徴及び利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
【発明の効果】
【００１４】
上記構成を採用したロボットシミュレーション装置によれば、仮想空間において設定される第１の平面群と第２の平面群を利用して、ワークモデルの表面上の複数の点を特定する。そして、それら複数の点の三次元情報をレンジセンサモデルによって取得することによって、ワークモデルの位置及び姿勢を取得する。それにより、レンジセンサを利用したワークの取出工程をシミュレーションできるようになり、制御プログラムの評価、或いは必要な変更を容易に実行できるようになる。
【図面の簡単な説明】
【００１５】
【図１】一実施形態に係るロボットシミュレーション装置を含むロボットシステムの全体図である。
【図２】ロボットシミュレーション装置の表示部による表示例である。
【図３】一実施形態に係るロボットシミュレーション装置の機能ブロック図である。
【図４】一実施形態に係るロボットシミュレーション装置によって実行される取出工程のシミュレーションの工程の流れを示すフローチャートである。
【図５Ａ】プロジェクタモデルの投影範囲及びカメラモデルの視野を示す図である。
【図５Ｂ】プロジェクタモデル及びカメラモデルの位置関係の例を示す上面図である。
【図６】第１の平面を示す図である。
【図７】第２の平面を示す図である。
【図８Ａ】第１の平面と第２の平面との交線を示す図である。
【図８Ｂ】第１の平面群及び第２の平面群を示す上面図である。
【図９】第１の平面と第２の平面との交線と、ワークモデルの表面との交点を示す図である。
【図１０Ａ】ワークモデルの表面上の交点からワークモデルの位置及び姿勢を計算する例を説明する図である。
【図１０Ｂ】ワークモデルの表面上の交点からワークモデルの位置及び姿勢を計算する例を説明する図である。
【図１０Ｃ】ワークモデルの表面上の交点からワークモデルの位置及び姿勢を計算する例を説明する図である。
【図１１】別の実施形態に係るロボットシミュレーション装置の機能ブロック図である。
【図１２】カメラモデルの視野を示す図である。
【図１３】図１２のカメラモデルによって撮像される二次元画像の例である。
【図１４】二次元画像の使用例を説明するための図である。
【図１５】二次元画像の使用例を説明するための図である。
【図１６】二次元画像の使用例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して本発明の実施形態を説明する。図示される実施形態の構成要素は、本発明の理解を助けるために縮尺が適宜変更されている。また、同一又は対応する構成要素には、同一の参照符号が複数の図面にわたって使用される。
【００１７】
図１は、一実施形態に係るロボットシミュレーション装置１０を含む、ロボットシステム５０の全体図である。ロボットシミュレーション装置１０は、例えばロボットプログラムを作成し、仮想空間で実行できるように構成されたオフラインで使用されるデジタルコンピュータである。
【００１８】
ロボットシミュレーション装置１０は、図示されないものの、種々の演算処理を実行するＣＰＵと、ＣＰＵの演算結果を記憶するＲＡＭと、種々のプログラム、データなどを記憶するＲＯＭと、入力デバイスと、を備えている。入力デバイスは、マウス、キーボード、タッチパネルなどの公知の入力手段である。ロボットシミュレーション装置１０は、液晶ディスプレイなどの表示部１２をさらに備えている。
【００１９】
ロボットシステム５０は、ロボット６０を備えている。ロボット６０は、ロボット制御装置７０によって制御される多関節ロボットである。ロボットシミュレーション装置１０とロボット制御装置７０とは、互いにデータ又は信号を送受信するために、公知の構成を有する通信手段５２を介して互いに接続されている。通信手段５２は、例えばロボット６０を制御する制御プログラムをロボット制御装置７０からロボットシミュレーション装置１０に送信するのに使用される。
【００２０】
ロボット６０は、例えばワーク８０を把持可能なハンド６２をアームの先端の手首部に備えている。ロボット６０は、容器９０内にバラ積みされた、すなわち不規則に配置された多数のワーク８０からワーク８０を順次取出すように、ロボット制御装置７０によって制御される。ロボット６０は、図示された例に限定されず、任意の公知の構成を有しうる。例えば、ロボット６０は、流体圧式又は磁気式の吸着部を手首部に備えたタイプのロボットであってもよい。
【００２１】
容器９０は、例えば底壁と、底壁から概ね鉛直方向上方に延在する周壁と、を有するカゴ状の形態を有している。容器９０は上方に向かって開口しており、ロボット６０は、容器９０内の収容空間に対して上方からアクセスできるようになっている。
【００２２】
図示された例では、ワーク８０は直方体の形状を有しているものの、ワーク８０の形状はこれには限定されない。また、容器９０は、ロボット６０によってワーク８０にアクセス可能であれば、他の任意の形状を有していてもよい。
【００２３】
容器９０の上方には、レンジセンサ１４が図示されない架台に固定されている。レンジセンサ１４は、対象物までの距離を取得できるように構成されており、このロボットシステム５０においては、ワーク８０の三次元情報を取得する機能を有する。レンジセンサ１４は、ワーク８０の三次元情報を、例えば距離画像又は三次元マップなどの形態で取得する。距離画像は、レンジセンサ１４から計測領域内のワーク８０までの距離を各々の画素の明暗又は色によって表現した画像である。また、三次元マップは、計測領域内のワーク８０の三次元位置を、ワーク８０の表面上における点の三次元座標値の集合として表現したものである。
【００２４】
レンジセンサ１４は、プロジェクタ１６と、プロジェクタ１６に対して反対側に配置された２つのカメラ１８と、を備えている。プロジェクタ１６は、スポット光、スリット光などの所望のパターン光を対象物の表面に投影することができるように構成される。プロジェクタ１６は、例えばレーザダイオード、発光ダイオードなどの公知の光源を備えている。
【００２５】
カメラ１８は、例えばＣＣＤ、ＣＭＯＳなどの撮像素子を備えた公知のデジタルカメラである。２つのカメラ１８は、それらの視野が少なくとも部分的に互いに重なるように、互いに異なる方向に向けられている。プロジェクタ１６の投影範囲は、各々のカメラ１８の視野と少なくとも部分的に重なるように配置される。レンジセンサ１４は、ロボット６０の手首部に固定されていて、その位置及び姿勢が変更可能であってもよい。
【００２６】
レンジセンサ１４は、図示されないセンサ制御装置によって制御され、ワーク８０の三次元情報を検出できるように構成されている。ワーク８０の三次元情報には、ワーク８０の特定の部位の位置情報、例えば頂点の位置、ワーク８０のうちの所定の平面の位置及び姿勢などが含まれる。レンジセンサ１４によって検出されるワーク８０の三次元情報は、センサ制御装置を介してロボット制御装置７０に出力される。或いは、レンジセンサ１４の検出情報がロボット制御装置７０に直接送信されるようになっていてもよい。センサ制御装置は、レンジセンサ１４のカメラ１８によって取得される二次元画像を画像処理する画像処理装置を備えていてもよい。画像処理装置は、センサ制御装置とは別個に設けられていてもよい。
【００２７】
ロボット制御装置７０は、レンジセンサ１４によって取得されるワーク８０の三次元情報に基づいてロボット６０の位置及び姿勢を制御して、ハンド６２によるワーク８０の把持動作を実行する。
【００２８】
図２は、ロボットシミュレーション装置１０の表示部１２による表示例である。表示部１２には、図１に示されるロボット６０の作業空間を三次元で表現した仮想空間が表示される。図示されるように、表示部１２の画面には、ロボット６０、レンジセンサ１４、ワーク８０、容器９０をそれぞれ三次元で表現したロボットモデル６０Ｍ、レンジセンサモデル１４Ｍ、ワークモデル８０Ｍ、及び容器モデル９０Ｍが表示される。図２には二次元の情報のみが表示部１２に示されているものの、操作者は、入力デバイスを使って視点を変更することによって、各要素の位置関係を三次元空間において確認できるようになっている。
【００２９】
ロボットシミュレーション装置１０は、容器モデル９０Ｍ内にバラ積みされたワークモデル８０Ｍをロボットモデル６０Ｍによって順次取出す取出工程を仮想空間内で実行できるように構成される。操作者は、仮想空間で実行されるシミュレーションの結果に基づいて、ロボット６０Ｍに対する制御プログラムが適切かどうかを確認でき、必要に応じてプログラムを修正できる。
【００３０】
図３は、ロボットシミュレーション装置１０の機能ブロック図である。ロボットシミュレーション装置１０は、仮想空間作成部２０と、モデル作成部２２と、モデル配置部２４と、第１の平面計算部２６と、第２の平面計算部２８と、交線計算部３０と、三次元情報計算部３２と、位置姿勢計算部３４と、シミュレーション実行部３６と、を備えている。
【００３１】
仮想空間作成部２０は、ロボット６０の作業空間を三次元で表現した仮想空間を作成する機能を有する。仮想空間作成部２０によって作成された仮想空間は、ロボットシミュレーション装置１０の表示部１２に表示される。
【００３２】
モデル作成部２２は、ロボットモデル６０Ｍ、レンジセンサモデル１４Ｍ、ワークモデル８０Ｍ及び容器モデル９０Ｍを作成する機能を有する。レンジセンサモデル１４Ｍは、プロジェクタモデル１６Ｍと、２つのカメラモデル１８Ｍと、から構成される（図２参照）。モデル作成部２２は、ロボットシミュレーション装置１０のＲＯＭ又は外部記憶装置から、三次元ＣＡＤソフトなどで作成された形状データを読み出すことによって、各々のモデルを作成できるように構成される。
【００３３】
モデル配置部２４は、モデル作成部２２によって作成された各々の三次元モデルを仮想空間内に配置する機能を有する。本実施形態によれば、モデル配置部２４は、複数のワークモデル８０Ｍをバラ積みされた状態で仮想空間に配置するように構成される。また、モデル配置部２４は、プロジェクタモデル１６Ｍの投影範囲及び２つのカメラモデル１８Ｍの視野が、バラ積みされたワークモデル８０Ｍに対して設定される計測領域を包含するように、プロジェクタモデル１６Ｍ及び２つのカメラモデル１８Ｍを仮想空間に配置するように構成される。
【００３４】
第１の平面計算部２６は、仮想空間内において第１の平面群を計算する機能を有する。各々の第１の平面は、２つのカメラモデル１８Ｍの焦点を通って延在していて、計測領域を撮像するときのカメラモデル１８Ｍの視野を等間隔で分割する平面として定義される。
【００３５】
第２の平面計算部２８は、仮想空間内において第２の平面群を計算する機能を有する。各々の第２の平面は、プロジェクタモデル１６Ｍによって計測領域に縞状のパターン光を照射したときに、計測領域に投影される明暗の境界に沿って延在していて第１の平面と公差する平面として定義される。
【００３６】
交線計算部３０は、第１の平面群と第２の平面群との複数の交線を計算する機能を有する。
【００３７】
三次元情報計算部３２は、交線計算部３０によって計算された複数の交線と、ワークモデル８０Ｍの表面との複数の交点の配列、例えばそれらの距離画像又は三次元マップをワークモデル８０Ｍの三次元情報として計算する機能を有する。
【００３８】
位置姿勢計算部３４は、三次元情報計算部３２によって計算されたワークモデル８０Ｍの三次元情報に基づいて、ワークモデル８０Ｍの位置及び姿勢を計算する機能を有する。例えば、位置姿勢計算部３４は、ワークモデル８０Ｍの三次元情報と、ワークモデル８０Ｍの形状モデルとをマッチングさせることによって、ワークモデル８０Ｍの位置及び姿勢を計算する。
【００３９】
シミュレーション実行部３６は、位置姿勢計算部３４によって計算されるワークモデル８０Ｍの位置及び姿勢に基づいて、ロボットモデル６０Ｍによる取出工程のシミュレーションを実行する機能を有する。取出工程のシミュレーションは、公知の任意の態様に従って実行されうるので、明細書では詳細な説明を省略する。
【００４０】
図４は、取出工程のシミュレーションを実行する際の工程の流れを説明するフローチャートである。なお、以降の説明において、便宜上、「先ず」、「次に」、「次いで」などの表現が使用されるものの、これらの用語によって工程の順番を限定する意図はない。むしろ、当業者は、技術的な矛盾が生じない限り、以下に述べる各々の工程の順番を適宜変更しても同様の作用効果が得られることを認識するであろう。
【００４１】
先ず、ステップＳ１において、仮想空間作成部２０によってロボット６０の作業空間に対応する仮想空間を作成する。次いでステップＳ２において、モデル作成部２２によって、ロボットモデル６０Ｍ、ワークモデル８０Ｍ、レンジセンサモデル１４Ｍ及び容器モデル９０Ｍを作成する。本実施形態では、レンジセンサモデル１４Ｍを構成するプロジェクタモデル１６Ｍ及び２つのカメラモデル１８Ｍを作成する。また、例えばロボットと容器との間の干渉を考慮する必要がない場合は、容器モデル９０Ｍの作成を省略してもよい。
【００４２】
ステップＳ３では、モデル配置部２４によって、ステップＳ２において作成された複数のワークモデル８０Ｍをバラ積みされた状態で仮想空間に配置する（図２参照）。バラ積み状態のワークモデル８０Ｍは、任意の公知の方法に従って作成される。例えば、乱数を用いてワークモデル８０Ｍの位置及び姿勢を決定し、ワークモデル８０Ｍが互いに重なり合わないように容器モデル９０Ｍ内に順番に積み重ねることによってバラ積み状態を作成できる。
【００４３】
ステップＳ４では、モデル配置部２４によって、図２に示されるようにプロジェクタモデル１６Ｍ及び２つのカメラモデル１８Ｍを仮想空間に配置する。図５Ａ及び図５Ｂをさらに参照して、プロジェクタモデル１６Ｍ及びカメラモデル１８Ｍの配置について説明する。図５Ａは、プロジェクタモデル１６Ｍの投影範囲及びカメラモデル１８Ｍの視野を示す図である。図５Ｂは、プロジェクタモデル１６Ｍ及びカメラモデル１８Ｍの位置関係の例を示す上面図である。
【００４４】
図５Ａには、レンジセンサモデル１４Ｍを構成するプロジェクタモデル１６Ｍ及び２つのカメラモデル１８Ｍとともに、プロジェクタモデル１６Ｍの投影範囲ＰＡ及び各々のカメラモデル１８Ｍの視野ＦＶが示されている。また、図５Ａ及び図５Ｂには、バラ積みされたワークモデル８０Ｍに対して予め設定される計測領域ＴＡが示されている。計測領域ＴＡは、レンジセンサモデル１４Ｍによって計測される対象範囲に応じて定まる。計測領域ＴＡは、例えばバラ積みされたワークモデル８０Ｍのうちの幾つか、又はすべてのワークモデル８０Ｍが含まれるように設定される。例えば、計測領域ＴＡは、容器モデル９０Ｍの底面又は底面から所定の距離だけ離間した水平面として定義される。
【００４５】
図５Ａに示されるように、プロジェクタモデル１６Ｍの投影範囲ＰＡ及び各々のカメラモデル１８Ｍの視野ＦＶが、計測領域ＴＡにそれぞれ概ね一致するようになっている。また、図５Ｂに示されるように、プロジェクタモデル１６Ｍ及び２つのカメラモデル１８Ｍは、互いに一直線上に配置される。しかしながら、プロジェクタモデル１６Ｍ及びカメラモデル１８Ｍの位置関係は、このような具体的な例には限定されない。例えば、投影範囲ＰＡ及び視野ＦＶがそれぞれ計測領域ＴＡを包含するようにプロジェクタモデル１６Ｍ及びカメラモデル１８Ｍが配置されるのであれば、投影範囲ＰＡと視野ＦＶが部分的にのみ重なるようになっていてもよい。
【００４６】
図４に戻り、続いてステップＳ５において、第１の平面計算部２６によって、第１の平面群を計算する。図６は、第１の平面Ｐ１を示している。第１の平面Ｐ１は、２つのカメラモデル１８Ｍの焦点を通って延在していて、計測領域ＴＡを撮像するときのカメラモデル１８Ｍの視野を等間隔で分割する平面である。図６には、そのような第１の平面Ｐ１群のうちの１つが示されている。図６において計測領域ＴＡ上に描かれた破線は、計測領域ＴＡを等間隔に分割する仮想線である。なお、仮想空間内におけるカメラモデル１８Ｍの位置、ひいてはカメラモデル１８Ｍの焦点の位置は、予め定められる設定値である。或いは、カメラキャリブレーションの結果を利用してカメラモデル１８Ｍ及びそれらの焦点の位置を計算してもよい。
【００４７】
次に、ステップＳ６において、第２の平面計算部２８によって、第２の平面群を計算する。図７は、第２の平面Ｐ２を示す図である。第２の平面Ｐ２は、プロジェクタモデル１６Ｍによって計測領域ＴＡに縞状のパターン光を照射したときに、計測領域ＴＡに投影される明暗の境界に沿って延在する平面である。図７には、計測領域ＴＡ上の明暗パターンがハッチングの有無によって表現されている。なお、ロボットシミュレーション装置１０の表示部１２の画面に、明暗パターンを実際に表示する必要はない。
【００４８】
ステップＳ７では、交線計算部３０によって、ステップＳ５，Ｓ６において求められた第１の平面Ｐ１と第２の平面Ｐ２との交線Ｌを計算する。図８Ａは、交線Ｌを示す図であり、図８Ｂは、第１の平面Ｐ１の群及び第２の平面Ｐ２の群を示す上面図である。図８Ｂにおいて、太線で示される第１の平面Ｐ１と第２の平面Ｐ２との交点を通って延在する交線Ｌが一例として示されている。
【００４９】
次に、ステップＳ８において、三次元情報計算部３２によって、ステップＳ７で求められた複数の交線Ｌとワークモデル８０Ｍの表面との各々の交点ＰＴの三次元座標を計算する。図９には、例として１つの交線Ｌと、その交線Ｌがワークモデル８０Ｍの表面に交わる交点ＰＴと、が示している。
【００５０】
ステップＳ９では、三次元情報計算部３２によって、ステップＳ８で計算された各々の交点ＰＴの三次元座標をワークモデル８０Ｍの三次元情報として出力する。三次元情報は、例えばロボットシミュレーション装置１０のＲＡＭに記憶される。
【００５１】
次いで、ステップＳ１０において、位置姿勢計算部３４によって、ステップＳ９において得られたワークモデル８０Ｍの三次元情報に基づいて、ロボットモデル６０Ｍによって取出されるべき対象ワークモデルを特定するとともに、対象ワークモデルの位置及び姿勢を計算する。
【００５２】
最後に、ステップＳ１１において、シミュレーション実行部３６によって、対象ワークモデルを把持可能な位置までロボットモデル６０Ｍを移動させ、取出工程のシミュレーションが実行される。
【００５３】
次に、図１０Ａ〜図１０Ｃを参照して、ワークモデル８０Ｍの表面上の交点ＰＴの三次元座標からワークモデル８０Ｍの位置及び姿勢を計算する方法について説明する。図１０Ａ〜図１０Ｃにおいて、各々の黒丸は、第１の平面Ｐ１と第２の平面Ｐ２との交線Ｌと、ワークモデル８０Ｍとの交点ＰＴを示している（図９参照）。
【００５４】
図１０Ａにおいて、ワークモデル８０Ｍの交点ＰＴのうち、最も高い位置にあるワークモデル８０Ｍの交点ＰＴ１が白丸で示されている。一般的なワークの取出工程は、上方に位置するワークから順番に取出すように実行される。そこで、位置姿勢計算部３４は、交点ＰＴ１の三次元座標から取出されるべきワークモデル８０Ｍの頂点の位置を特定する。この場合、取出されるべきワークモデル８０Ｍの頂点の位置に基づいて、ワークモデル８０Ｍを把持する際のロボットモデル６０Ｍの位置決めがなされるようになる。或いは、ロボットモデル６０Ｍは、既知のワークモデル８０Ｍの形状などを併せて考慮して、対象ワークモデルの頂点、すなわち交点ＰＴ１の位置から所定の位置だけ離間した位置を把持するように制御されてもよい。
【００５５】
図１０Ｂにおいて、所定の範囲内に含まれる複数の交点ＰＴ２からなる点集合が白丸で示されている。この場合、位置姿勢計算部３４は、それら交点ＰＴ２の三次元座標に基づいて、取出されるべき対象ワークモデルの位置及び姿勢を計算する。或いは、それら交点ＰＴ２の三次元座標と、既知のワークモデル８０Ｍの形状と、に基づいて、取出されるべき対象ワークモデルの位置及び姿勢を計算してもよい。
【００５６】
図１０Ｃにおいて、ワークモデル８０Ｍのうちの概ね上方を向いた平面Ｐ３にハッチングが施されるとともに、それら平面Ｐ３に対する法線が矢印で示されている。平面Ｐ３、及びそれら平面Ｐ３に対する法線は、図１０Ｂの例のように所定の範囲内に含まれる点集合を互いに連結することによって求められる。この場合、位置姿勢計算部３４は、ワークモデル８０Ｍの特定の平面の位置及び姿勢から、ワークモデル８０Ｍの位置及び姿勢を計算する。
【００５７】
本実施形態に係るロボットシミュレーション装置によれば、仮想空間において設定される第１の平面群と第２の平面群を利用して、ワークモデルの表面上の複数の点を特定する。そして、それら複数の点の三次元情報をレンジセンサモデルによって取得することによって、ワークモデルの位置及び姿勢を取得する。それにより、レンジセンサを利用したワークの取出工程をシミュレーションできるようになり、制御プログラムの評価、或いは必要な変更を容易に実行できるようになる。
【００５８】
図１１は、別の実施形態に係るロボットシミュレーション装置１０の機能ブロック図である。本実施形態によれば、ロボットシミュレーション装置１０は、前述した実施形態の構成に加えて、二次元画像取得部３８をさらに備えている。
【００５９】
二次元画像取得部３８は、カメラモデル１８Ｍによって、バラ積みされたワークモデル８０Ｍの二次元画像を取得する機能を有する。図１２は、二次元画像取得部３８と協働するカメラモデル１８Ｍの視野ＦＶを示す図である。二次元画像取得部３８は、レンジセンサモデル１４Ｍを構成する２つのカメラモデル１８Ｍのうちの一方を使用して二次元画像を取得するように構成される。或いは、別個のカメラモデルがこの目的で使用されてもよい。
【００６０】
図１３は、カメラモデル１８Ｍによって撮像される二次元画像の例である。図示された例では、バラ積みされた円柱形のワークモデル８０Ｍが撮像されている。取得された二次元画像は、画像処理装置によって画像処理され、ワークモデル８０Ｍの位置及び姿勢を計算するのに使用される。
【００６１】
図１４〜図１６は、二次元画像取得部３８によって取得される二次元画像の使用例を説明するための図である。図１４において、ワークモデル８０Ｍに描かれた線Ｌ１は、二次元画像取得部３８による検出範囲の境界線である。すなわち、ワークモデル８０Ｍのうち、図１４の線Ｌ１よりも下方の部分は、例えば別のワークモデル８０Ｍの背後に隠れている。この場合、ロボットシミュレーション装置１０の位置姿勢計算部３４は、取得される二次元画像を画像処理することによってワークモデル８０Ｍの一部を特定し、特定されたワークモデル８０Ｍの部分における三次元情報（交点ＰＴの三次元座標）を利用する。例えば、位置姿勢計算部３４は、二次元画像の検出範囲内に含まれるワークモデル８０Ｍの三次元情報に基づいて、その部分のワークモデル８０Ｍの重心ＣＧの位置を計算する。この場合、ロボットモデル６０Ｍは、ワークモデル８０Ｍの重心ＣＧの位置に基づいて、ワークモデル８０Ｍを把持する際の位置決めがなされるようになる。
【００６２】
図１５には、異なる寸法を有する２つの直方体が積層されるように組合せられた形状を有するワークモデル８０Ｍが示されている。この場合、例えば二次元画像取得部３８によって取得される二次元画像を画像処理することによって、ワークモデル８０Ｍの平面Ｐ４を特定する。そして、特定された平面Ｐ４上の三次元情報（交点ＰＴの三次元座標）を利用する。例えば、位置姿勢計算部３４は、二次元画像の平面Ｐ４に含まれるワークモデル８０Ｍの三次元情報に基づいて、平面Ｐ４の位置及び姿勢、或いは平面Ｐ４に対する法線の延在方向を計算する。この場合、平面Ｐ４の位置及び姿勢、或いは平面Ｐ４に対する法線の延在方向に基づいて、ワークモデル８０Ｍを把持する際のロボットモデル６０Ｍの位置決めがなされるようになる。
【００６３】
或いは、図１６に示されるように、二次元画像から特定されるワークモデル８０Ｍの平面Ｐ４とは異なる平面Ｐ５上の三次元情報（交点ＰＴの三次元座標）に基づいて、平面Ｐ４の位置及び姿勢、或いは平面Ｐ４に対する法線方向を計算してもよい。
【００６４】
本実施形態によれば、カメラモデルによって取得されるワークモデルの二次元画像をさらに利用して、ワークモデルの位置及び姿勢がより正確に計算される。このような正確なワークモデルの位置及び姿勢に基づいて、ワークの取出工程のシミュレーションを実行できるので、シミュレーションの信頼性が向上する。
【００６５】
以上、本発明の種々の実施形態について説明したが、他の実施形態によっても本発明の意図される作用効果を奏することができることは当業者に自明である。特に、本発明の範囲を逸脱することなく前述した実施形態の構成要素を削除又は置換することが可能であるし、公知の手段をさらに付加することもできる。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【００６６】
１０    ロボットシミュレーション装置
１２    表示部
１４    レンジセンサ
１４Ｍ    レンジセンサモデル
１６    プロジェクタ
１６Ｍ    プロジェクタモデル
１８    カメラ
１８Ｍ    カメラモデル
２０    仮想空間作成部
２２    モデル作成部
２４    モデル配置部
２６    第１の平面計算部
２８    第２の平面計算部
３０    交線計算部
３２    三次元情報計算部
３４    位置姿勢計算部
３６    シミュレーション実行部
３８    二次元画像取得部
５０    ロボットシステム
６０    ロボット
６０Ｍ    ロボットモデル
７０    ロボット制御装置
８０    ワーク
８０Ｍ    ワークモデル
９０    容器
９０Ｍ    容器モデル
ＦＶ    （カメラモデルの）視野
Ｌ    交線
ＰＴ    交点
ＰＡ    投影範囲
ＴＡ    計測領域
【図１】
0005897624.tif 000002
【図２】
0005897624.tif 000003
【図３】
0005897624.tif 000004
【図４】
0005897624.tif 000005
【図５Ａ】
0005897624.tif 000006
【図５Ｂ】
0005897624.tif 000007
【図６】
0005897624.tif 000008
【図７】
0005897624.tif 000009
【図８Ａ】
0005897624.tif 000010
【図８Ｂ】
0005897624.tif 000011
【図９】
0005897624.tif 000012
【図１０Ａ】
0005897624.tif 000013
【図１０Ｂ】
0005897624.tif 000014
【図１０Ｃ】
0005897624.tif 000015
【図１１】
0005897624.tif 000016
【図１２】
0005897624.tif 000017
【図１３】
0005897624.tif 000018
【図１４】
0005897624.tif 000019
【図１５】
0005897624.tif 000020
【図１６】
0005897624.tif 000021