特許第5897624号(P5897624)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許5897624ワークの取出工程をシミュレーションするロボットシミュレーション装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5897624
(24)【登録日】2016年3月11日
(45)【発行日】2016年3月30日
(54)【発明の名称】ワークの取出工程をシミュレーションするロボットシミュレーション装置
(51)【国際特許分類】
   B25J 9/22 20060101AFI20160317BHJP
   G06T 1/00 20060101ALI20160317BHJP
【FI】
   B25J9/22 A
   G06T1/00 315
【請求項の数】2
【全頁数】16
(21)【出願番号】特願2014-48790(P2014-48790)
(22)【出願日】2014年3月12日
(65)【公開番号】特開2015-171745(P2015-171745A)
(43)【公開日】2015年10月1日
【審査請求日】2015年4月21日
【早期審査対象出願】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100102819
【弁理士】
【氏名又は名称】島田 哲郎
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100159684
【弁理士】
【氏名又は名称】田原 正宏
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100157211
【弁理士】
【氏名又は名称】前島 一夫
(72)【発明者】
【氏名】後平 寛之
(72)【発明者】
【氏名】長塚 嘉治
【審査官】 川東 孝至
(56)【参考文献】
【文献】 特開2014−013146(JP,A)
【文献】 特開2007−241857(JP,A)
【文献】 特開2013−186088(JP,A)
【文献】 国際公開第2006/013635(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00−21/02
G01B 11/00−11/30
(57)【特許請求の範囲】
【請求項1】
2つのカメラ及びプロジェクタを備えたレンジセンサによって取得されるワークの三次元情報に基づいて、バラ積みされた複数のワークをロボットによって順次取出す取出工程を仮想空間内でシミュレーションするロボットシミュレーション装置であって、
前記ロボット、前記複数のワーク、並びに前記レンジセンサの前記2つのカメラ及び前記プロジェクタを三次元で表現したロボットモデル、複数のワークモデル、2つのカメラモデル、及びプロジェクタモデルを前記仮想空間に配置するモデル配置部を備えており、
前記モデル配置部は、
前記複数のワークモデルをバラ積みされた状態で前記仮想空間に配置するよう構成されるとともに、
前記2つのカメラモデルの視野及び前記プロジェクタモデルの投影範囲が、バラ積みされた前記ワークモデルに対して設定される計測領域を包含するように、前記2つのカメラモデル及び前記プロジェクタモデルを前記仮想空間に配置するよう構成されており、
当該ロボットシミュレーション装置は、さらに、
前記2つのカメラモデルの焦点を通って延在していて、前記計測領域を撮像するときの前記2つのカメラモデルの視野を等間隔で分割する第1の平面群を計算する第1の平面計算部と、
前記プロジェクタモデルによって前記計測領域に縞状のパターン光を照射したときに、前記計測領域に投影される明暗の境界及び前記プロジェクタモデルを通って延在していて、前記第1の平面群と交差する第2の平面群を計算する第2の平面計算部と、
前記第1の平面群と前記第2の平面群との複数の交線を計算する交線計算部と、
前記複数の交線と前記ワークモデルの表面との複数の交点の配列を前記ワークモデルの三次元情報として計算する三次元情報計算部と、
前記ワークモデルの三次元情報に基づいて前記ワークモデルの位置及び姿勢を計算する位置姿勢計算部と、
前記位置姿勢計算部によって計算される前記ワークモデルの位置及び姿勢に基づいて、前記ロボットモデルによる前記取出工程のシミュレーションを実行するシミュレーション実行部と、
を備える、ロボットシミュレーション装置。
【請求項2】
前記モデル配置部は、バラ積みされた前記ワークモデルを撮像する第2のカメラを前記仮想空間に配置するようさらに構成されており、
当該ロボットシミュレーション装置は、バラ積みされた前記ワークモデルの二次元画像を前記第2のカメラから取得する二次元画像取得部をさらに備えており、
前記位置姿勢計算部は、前記ワークモデルの三次元情報及び前記二次元画像に基づいて、前記ワークモデルの位置及び姿勢を計算するようさらに構成される、請求項1に記載のロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バラ積みされたワークをロボットによって順次取出す取出工程をシミュレーションするロボットシミュレーション装置に関する。
【背景技術】
【0002】
ロボットシミュレーション装置は、ロボットによるワークのハンドリングなどの所定の動作を仮想空間内でシミュレーションするために使用される。シミュレーション結果は、ロボットの制御プログラムを評価するとともに、必要に応じてプログラム又は作業空間内の物体の位置関係を変更するために利用される。
【0003】
バラ積みされたワークをロボットによって順次把持して所定位置まで搬送する取出工程をシミュレーションするロボットシミュレーション装置が公知である。関連技術において、取出工程のシミュレーションは、例えばワークの位置及び姿勢を検出するカメラの三次元モデルを仮想空間に配置して実行される。
【0004】
特許文献1には、視覚センサを有するロボットの動作をオフラインでシミュレーションするロボットシミュレーション装置が開示されている。このロボットシミュレーション装置は、仮想空間においてセンサモデルによってワークモデルを撮像して得られる二次元の仮想画像に基づいて、取出されるべき対象ワークモデルを特定するとともに、対象ワークモデルの位置及び姿勢を計測するように構成される。
【0005】
特許文献2には、仮想空間に配置されたカメラモデルによってワークモデルの仮想画像を取得するように構成されたロボットシミュレーション装置が開示されている。このロボットシミュレーション装置において、取得された仮想画像に基づいて、ロボットモデルに対する教示点が補正される。
【0006】
特許文献3には、カメラによって得られる二次元画像と、レンジセンサによって得られる三次元情報と、に基づいて、物品の位置及び姿勢を認識する認識装置が開示されている。この関連技術は、三次元情報に基づいて物品の二次元位置を検出する探索条件を設定することによって、二次元画像の画像処理に要する時間を短縮することを意図している。
【0007】
特許文献4には、ワークの画像データを取得するカメラを備えたワーク姿勢検知装置が開示されている。このワーク姿勢検知装置は、予め記憶されたワークの複数の安定姿勢のうち、カメラによって取得された画像データ中のワークの姿勢に最も合致する安定姿勢を基準として、ワークの姿勢を検出するように構成されている。この関連技術は、マッチング処理に要する計算時間を短縮することを意図している。
【0008】
特許文献5には、認識すべき対象の物体の三次元表面形状データと、距離センサなどを用いて得られる実際の状態をサンプリングした三次元表面形状データと、を照合することによって、物体の位置及び姿勢を認識する物体認識装置が開示されている。
【0009】
特許文献6には、互いに異なる視点でワークを撮像する2つのカメラを備えていて、ワークの三次元位置を計測するように構成された三次元計測装置が開示されている。この三次元計測装置は、第1のカメラによって得られた第1の画像と、第1の画像に基づいて計算される第2のカメラの切出し範囲に従って切り出される第2のカメラの第2の画像と、に基づいて、ワークの三次元位置を計測するようになっている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2007−241857号公報
【特許文献2】特開2007−326160号公報
【特許文献3】特開2013−101045号公報
【特許文献4】特開2007−245283号公報
【特許文献5】特開2009−128191号公報
【特許文献6】特開2014−013146号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
ワークの取出工程において、レンジセンサによってワークの三次元情報を取得することがある。そこで、仮想空間内においてバラ積みされたワークの三次元情報をレンジセンサによって取得し、それにより取出工程のシミュレーションの実行を可能にするロボットシミュレーション装置が求められている。
【課題を解決するための手段】
【0012】
本願の1番目の態様によれば、2つのカメラ及びプロジェクタを備えたレンジセンサによって取得されるワークの三次元情報に基づいて、バラ積みされた複数のワークをロボットによって順次取出す取出工程を仮想空間内でシミュレーションするロボットシミュレーション装置であって、前記ロボット、前記複数のワーク、並びに前記レンジセンサの前記2つのカメラ及び前記プロジェクタを三次元で表現したロボットモデル、複数のワークモデル、2つのカメラモデル、及びプロジェクタモデルを前記仮想空間に配置するモデル配置部を備えており、前記モデル配置部は、前記複数のワークモデルをバラ積みされた状態で前記仮想空間に配置するよう構成されるとともに、前記2つのカメラモデルの視野及び前記プロジェクタモデルの投影範囲が、バラ積みされた前記ワークモデルに対して設定される計測領域を包含するように、前記2つのカメラモデル及び前記プロジェクタモデルを前記仮想空間に配置するよう構成されており、当該ロボットシミュレーション装置は、さらに、前記2つのカメラモデルの焦点を通って延在していて、前記計測領域を撮像するときの前記2つのカメラモデルの視野を等間隔で分割する第1の平面群を計算する第1の平面計算部と、前記プロジェクタモデルによって前記計測領域に縞状のパターン光を照射したときに、前記計測領域に投影される明暗の境界及び前記プロジェクタモデルを通って延在していて、前記第1の平面群と交差する第2の平面群を計算する第2の平面計算部と、前記第1の平面群と前記第2の平面群との複数の交線を計算する交線計算部と、前記複数の交線と前記ワークモデルの表面との複数の交点の配列を前記ワークモデルの三次元情報として計算する三次元情報計算部と、前記ワークモデルの三次元情報に基づいて前記ワークモデルの位置及び姿勢を計算する位置姿勢計算部と、前記位置姿勢計算部によって計算される前記ワークモデルの位置及び姿勢に基づいて、前記ロボットモデルによる前記取出工程のシミュレーションを実行するシミュレーション実行部と、を備える、ロボットシミュレーション装置が提供される。
本願の2番目の態様によれば、1番目の態様に係るロボットシミュレーション装置において、前記モデル配置部は、バラ積みされた前記ワークモデルを撮像する第2のカメラを前記仮想空間に配置するようさらに構成されており、当該ロボットシミュレーション装置は、バラ積みされた前記ワークモデルの二次元画像を前記第2のカメラから取得する二次元画像取得部をさらに備えており、前記位置姿勢計算部は、前記ワークモデルの三次元情報及び前記二次元画像に基づいて、前記ワークモデルの位置及び姿勢を計算するようさらに構成される。
【0013】
これら及び他の本発明の目的、特徴及び利点は、添付図面に示される本発明の例示的な実施形態に係る詳細な説明を参照することによって、より明らかになるであろう。
【発明の効果】
【0014】
上記構成を採用したロボットシミュレーション装置によれば、仮想空間において設定される第1の平面群と第2の平面群を利用して、ワークモデルの表面上の複数の点を特定する。そして、それら複数の点の三次元情報をレンジセンサモデルによって取得することによって、ワークモデルの位置及び姿勢を取得する。それにより、レンジセンサを利用したワークの取出工程をシミュレーションできるようになり、制御プログラムの評価、或いは必要な変更を容易に実行できるようになる。
【図面の簡単な説明】
【0015】
図1】一実施形態に係るロボットシミュレーション装置を含むロボットシステムの全体図である。
図2】ロボットシミュレーション装置の表示部による表示例である。
図3】一実施形態に係るロボットシミュレーション装置の機能ブロック図である。
図4】一実施形態に係るロボットシミュレーション装置によって実行される取出工程のシミュレーションの工程の流れを示すフローチャートである。
図5A】プロジェクタモデルの投影範囲及びカメラモデルの視野を示す図である。
図5B】プロジェクタモデル及びカメラモデルの位置関係の例を示す上面図である。
図6】第1の平面を示す図である。
図7】第2の平面を示す図である。
図8A】第1の平面と第2の平面との交線を示す図である。
図8B】第1の平面群及び第2の平面群を示す上面図である。
図9】第1の平面と第2の平面との交線と、ワークモデルの表面との交点を示す図である。
図10A】ワークモデルの表面上の交点からワークモデルの位置及び姿勢を計算する例を説明する図である。
図10B】ワークモデルの表面上の交点からワークモデルの位置及び姿勢を計算する例を説明する図である。
図10C】ワークモデルの表面上の交点からワークモデルの位置及び姿勢を計算する例を説明する図である。
図11】別の実施形態に係るロボットシミュレーション装置の機能ブロック図である。
図12】カメラモデルの視野を示す図である。
図13図12のカメラモデルによって撮像される二次元画像の例である。
図14】二次元画像の使用例を説明するための図である。
図15】二次元画像の使用例を説明するための図である。
図16】二次元画像の使用例を説明するための図である。
【発明を実施するための形態】
【0016】
以下、添付図面を参照して本発明の実施形態を説明する。図示される実施形態の構成要素は、本発明の理解を助けるために縮尺が適宜変更されている。また、同一又は対応する構成要素には、同一の参照符号が複数の図面にわたって使用される。
【0017】
図1は、一実施形態に係るロボットシミュレーション装置10を含む、ロボットシステム50の全体図である。ロボットシミュレーション装置10は、例えばロボットプログラムを作成し、仮想空間で実行できるように構成されたオフラインで使用されるデジタルコンピュータである。
【0018】
ロボットシミュレーション装置10は、図示されないものの、種々の演算処理を実行するCPUと、CPUの演算結果を記憶するRAMと、種々のプログラム、データなどを記憶するROMと、入力デバイスと、を備えている。入力デバイスは、マウス、キーボード、タッチパネルなどの公知の入力手段である。ロボットシミュレーション装置10は、液晶ディスプレイなどの表示部12をさらに備えている。
【0019】
ロボットシステム50は、ロボット60を備えている。ロボット60は、ロボット制御装置70によって制御される多関節ロボットである。ロボットシミュレーション装置10とロボット制御装置70とは、互いにデータ又は信号を送受信するために、公知の構成を有する通信手段52を介して互いに接続されている。通信手段52は、例えばロボット60を制御する制御プログラムをロボット制御装置70からロボットシミュレーション装置10に送信するのに使用される。
【0020】
ロボット60は、例えばワーク80を把持可能なハンド62をアームの先端の手首部に備えている。ロボット60は、容器90内にバラ積みされた、すなわち不規則に配置された多数のワーク80からワーク80を順次取出すように、ロボット制御装置70によって制御される。ロボット60は、図示された例に限定されず、任意の公知の構成を有しうる。例えば、ロボット60は、流体圧式又は磁気式の吸着部を手首部に備えたタイプのロボットであってもよい。
【0021】
容器90は、例えば底壁と、底壁から概ね鉛直方向上方に延在する周壁と、を有するカゴ状の形態を有している。容器90は上方に向かって開口しており、ロボット60は、容器90内の収容空間に対して上方からアクセスできるようになっている。
【0022】
図示された例では、ワーク80は直方体の形状を有しているものの、ワーク80の形状はこれには限定されない。また、容器90は、ロボット60によってワーク80にアクセス可能であれば、他の任意の形状を有していてもよい。
【0023】
容器90の上方には、レンジセンサ14が図示されない架台に固定されている。レンジセンサ14は、対象物までの距離を取得できるように構成されており、このロボットシステム50においては、ワーク80の三次元情報を取得する機能を有する。レンジセンサ14は、ワーク80の三次元情報を、例えば距離画像又は三次元マップなどの形態で取得する。距離画像は、レンジセンサ14から計測領域内のワーク80までの距離を各々の画素の明暗又は色によって表現した画像である。また、三次元マップは、計測領域内のワーク80の三次元位置を、ワーク80の表面上における点の三次元座標値の集合として表現したものである。
【0024】
レンジセンサ14は、プロジェクタ16と、プロジェクタ16に対して反対側に配置された2つのカメラ18と、を備えている。プロジェクタ16は、スポット光、スリット光などの所望のパターン光を対象物の表面に投影することができるように構成される。プロジェクタ16は、例えばレーザダイオード、発光ダイオードなどの公知の光源を備えている。
【0025】
カメラ18は、例えばCCD、CMOSなどの撮像素子を備えた公知のデジタルカメラである。2つのカメラ18は、それらの視野が少なくとも部分的に互いに重なるように、互いに異なる方向に向けられている。プロジェクタ16の投影範囲は、各々のカメラ18の視野と少なくとも部分的に重なるように配置される。レンジセンサ14は、ロボット60の手首部に固定されていて、その位置及び姿勢が変更可能であってもよい。
【0026】
レンジセンサ14は、図示されないセンサ制御装置によって制御され、ワーク80の三次元情報を検出できるように構成されている。ワーク80の三次元情報には、ワーク80の特定の部位の位置情報、例えば頂点の位置、ワーク80のうちの所定の平面の位置及び姿勢などが含まれる。レンジセンサ14によって検出されるワーク80の三次元情報は、センサ制御装置を介してロボット制御装置70に出力される。或いは、レンジセンサ14の検出情報がロボット制御装置70に直接送信されるようになっていてもよい。センサ制御装置は、レンジセンサ14のカメラ18によって取得される二次元画像を画像処理する画像処理装置を備えていてもよい。画像処理装置は、センサ制御装置とは別個に設けられていてもよい。
【0027】
ロボット制御装置70は、レンジセンサ14によって取得されるワーク80の三次元情報に基づいてロボット60の位置及び姿勢を制御して、ハンド62によるワーク80の把持動作を実行する。
【0028】
図2は、ロボットシミュレーション装置10の表示部12による表示例である。表示部12には、図1に示されるロボット60の作業空間を三次元で表現した仮想空間が表示される。図示されるように、表示部12の画面には、ロボット60、レンジセンサ14、ワーク80、容器90をそれぞれ三次元で表現したロボットモデル60M、レンジセンサモデル14M、ワークモデル80M、及び容器モデル90Mが表示される。図2には二次元の情報のみが表示部12に示されているものの、操作者は、入力デバイスを使って視点を変更することによって、各要素の位置関係を三次元空間において確認できるようになっている。
【0029】
ロボットシミュレーション装置10は、容器モデル90M内にバラ積みされたワークモデル80Mをロボットモデル60Mによって順次取出す取出工程を仮想空間内で実行できるように構成される。操作者は、仮想空間で実行されるシミュレーションの結果に基づいて、ロボット60Mに対する制御プログラムが適切かどうかを確認でき、必要に応じてプログラムを修正できる。
【0030】
図3は、ロボットシミュレーション装置10の機能ブロック図である。ロボットシミュレーション装置10は、仮想空間作成部20と、モデル作成部22と、モデル配置部24と、第1の平面計算部26と、第2の平面計算部28と、交線計算部30と、三次元情報計算部32と、位置姿勢計算部34と、シミュレーション実行部36と、を備えている。
【0031】
仮想空間作成部20は、ロボット60の作業空間を三次元で表現した仮想空間を作成する機能を有する。仮想空間作成部20によって作成された仮想空間は、ロボットシミュレーション装置10の表示部12に表示される。
【0032】
モデル作成部22は、ロボットモデル60M、レンジセンサモデル14M、ワークモデル80M及び容器モデル90Mを作成する機能を有する。レンジセンサモデル14Mは、プロジェクタモデル16Mと、2つのカメラモデル18Mと、から構成される(図2参照)。モデル作成部22は、ロボットシミュレーション装置10のROM又は外部記憶装置から、三次元CADソフトなどで作成された形状データを読み出すことによって、各々のモデルを作成できるように構成される。
【0033】
モデル配置部24は、モデル作成部22によって作成された各々の三次元モデルを仮想空間内に配置する機能を有する。本実施形態によれば、モデル配置部24は、複数のワークモデル80Mをバラ積みされた状態で仮想空間に配置するように構成される。また、モデル配置部24は、プロジェクタモデル16Mの投影範囲及び2つのカメラモデル18Mの視野が、バラ積みされたワークモデル80Mに対して設定される計測領域を包含するように、プロジェクタモデル16M及び2つのカメラモデル18Mを仮想空間に配置するように構成される。
【0034】
第1の平面計算部26は、仮想空間内において第1の平面群を計算する機能を有する。各々の第1の平面は、2つのカメラモデル18Mの焦点を通って延在していて、計測領域を撮像するときのカメラモデル18Mの視野を等間隔で分割する平面として定義される。
【0035】
第2の平面計算部28は、仮想空間内において第2の平面群を計算する機能を有する。各々の第2の平面は、プロジェクタモデル16Mによって計測領域に縞状のパターン光を照射したときに、計測領域に投影される明暗の境界に沿って延在していて第1の平面と公差する平面として定義される。
【0036】
交線計算部30は、第1の平面群と第2の平面群との複数の交線を計算する機能を有する。
【0037】
三次元情報計算部32は、交線計算部30によって計算された複数の交線と、ワークモデル80Mの表面との複数の交点の配列、例えばそれらの距離画像又は三次元マップをワークモデル80Mの三次元情報として計算する機能を有する。
【0038】
位置姿勢計算部34は、三次元情報計算部32によって計算されたワークモデル80Mの三次元情報に基づいて、ワークモデル80Mの位置及び姿勢を計算する機能を有する。例えば、位置姿勢計算部34は、ワークモデル80Mの三次元情報と、ワークモデル80Mの形状モデルとをマッチングさせることによって、ワークモデル80Mの位置及び姿勢を計算する。
【0039】
シミュレーション実行部36は、位置姿勢計算部34によって計算されるワークモデル80Mの位置及び姿勢に基づいて、ロボットモデル60Mによる取出工程のシミュレーションを実行する機能を有する。取出工程のシミュレーションは、公知の任意の態様に従って実行されうるので、明細書では詳細な説明を省略する。
【0040】
図4は、取出工程のシミュレーションを実行する際の工程の流れを説明するフローチャートである。なお、以降の説明において、便宜上、「先ず」、「次に」、「次いで」などの表現が使用されるものの、これらの用語によって工程の順番を限定する意図はない。むしろ、当業者は、技術的な矛盾が生じない限り、以下に述べる各々の工程の順番を適宜変更しても同様の作用効果が得られることを認識するであろう。
【0041】
先ず、ステップS1において、仮想空間作成部20によってロボット60の作業空間に対応する仮想空間を作成する。次いでステップS2において、モデル作成部22によって、ロボットモデル60M、ワークモデル80M、レンジセンサモデル14M及び容器モデル90Mを作成する。本実施形態では、レンジセンサモデル14Mを構成するプロジェクタモデル16M及び2つのカメラモデル18Mを作成する。また、例えばロボットと容器との間の干渉を考慮する必要がない場合は、容器モデル90Mの作成を省略してもよい。
【0042】
ステップS3では、モデル配置部24によって、ステップS2において作成された複数のワークモデル80Mをバラ積みされた状態で仮想空間に配置する(図2参照)。バラ積み状態のワークモデル80Mは、任意の公知の方法に従って作成される。例えば、乱数を用いてワークモデル80Mの位置及び姿勢を決定し、ワークモデル80Mが互いに重なり合わないように容器モデル90M内に順番に積み重ねることによってバラ積み状態を作成できる。
【0043】
ステップS4では、モデル配置部24によって、図2に示されるようにプロジェクタモデル16M及び2つのカメラモデル18Mを仮想空間に配置する。図5A及び図5Bをさらに参照して、プロジェクタモデル16M及びカメラモデル18Mの配置について説明する。図5Aは、プロジェクタモデル16Mの投影範囲及びカメラモデル18Mの視野を示す図である。図5Bは、プロジェクタモデル16M及びカメラモデル18Mの位置関係の例を示す上面図である。
【0044】
図5Aには、レンジセンサモデル14Mを構成するプロジェクタモデル16M及び2つのカメラモデル18Mとともに、プロジェクタモデル16Mの投影範囲PA及び各々のカメラモデル18Mの視野FVが示されている。また、図5A及び図5Bには、バラ積みされたワークモデル80Mに対して予め設定される計測領域TAが示されている。計測領域TAは、レンジセンサモデル14Mによって計測される対象範囲に応じて定まる。計測領域TAは、例えばバラ積みされたワークモデル80Mのうちの幾つか、又はすべてのワークモデル80Mが含まれるように設定される。例えば、計測領域TAは、容器モデル90Mの底面又は底面から所定の距離だけ離間した水平面として定義される。
【0045】
図5Aに示されるように、プロジェクタモデル16Mの投影範囲PA及び各々のカメラモデル18Mの視野FVが、計測領域TAにそれぞれ概ね一致するようになっている。また、図5Bに示されるように、プロジェクタモデル16M及び2つのカメラモデル18Mは、互いに一直線上に配置される。しかしながら、プロジェクタモデル16M及びカメラモデル18Mの位置関係は、このような具体的な例には限定されない。例えば、投影範囲PA及び視野FVがそれぞれ計測領域TAを包含するようにプロジェクタモデル16M及びカメラモデル18Mが配置されるのであれば、投影範囲PAと視野FVが部分的にのみ重なるようになっていてもよい。
【0046】
図4に戻り、続いてステップS5において、第1の平面計算部26によって、第1の平面群を計算する。図6は、第1の平面P1を示している。第1の平面P1は、2つのカメラモデル18Mの焦点を通って延在していて、計測領域TAを撮像するときのカメラモデル18Mの視野を等間隔で分割する平面である。図6には、そのような第1の平面P1群のうちの1つが示されている。図6において計測領域TA上に描かれた破線は、計測領域TAを等間隔に分割する仮想線である。なお、仮想空間内におけるカメラモデル18Mの位置、ひいてはカメラモデル18Mの焦点の位置は、予め定められる設定値である。或いは、カメラキャリブレーションの結果を利用してカメラモデル18M及びそれらの焦点の位置を計算してもよい。
【0047】
次に、ステップS6において、第2の平面計算部28によって、第2の平面群を計算する。図7は、第2の平面P2を示す図である。第2の平面P2は、プロジェクタモデル16Mによって計測領域TAに縞状のパターン光を照射したときに、計測領域TAに投影される明暗の境界に沿って延在する平面である。図7には、計測領域TA上の明暗パターンがハッチングの有無によって表現されている。なお、ロボットシミュレーション装置10の表示部12の画面に、明暗パターンを実際に表示する必要はない。
【0048】
ステップS7では、交線計算部30によって、ステップS5,S6において求められた第1の平面P1と第2の平面P2との交線Lを計算する。図8Aは、交線Lを示す図であり、図8Bは、第1の平面P1の群及び第2の平面P2の群を示す上面図である。図8Bにおいて、太線で示される第1の平面P1と第2の平面P2との交点を通って延在する交線Lが一例として示されている。
【0049】
次に、ステップS8において、三次元情報計算部32によって、ステップS7で求められた複数の交線Lとワークモデル80Mの表面との各々の交点PTの三次元座標を計算する。図9には、例として1つの交線Lと、その交線Lがワークモデル80Mの表面に交わる交点PTと、が示している。
【0050】
ステップS9では、三次元情報計算部32によって、ステップS8で計算された各々の交点PTの三次元座標をワークモデル80Mの三次元情報として出力する。三次元情報は、例えばロボットシミュレーション装置10のRAMに記憶される。
【0051】
次いで、ステップS10において、位置姿勢計算部34によって、ステップS9において得られたワークモデル80Mの三次元情報に基づいて、ロボットモデル60Mによって取出されるべき対象ワークモデルを特定するとともに、対象ワークモデルの位置及び姿勢を計算する。
【0052】
最後に、ステップS11において、シミュレーション実行部36によって、対象ワークモデルを把持可能な位置までロボットモデル60Mを移動させ、取出工程のシミュレーションが実行される。
【0053】
次に、図10A図10Cを参照して、ワークモデル80Mの表面上の交点PTの三次元座標からワークモデル80Mの位置及び姿勢を計算する方法について説明する。図10A図10Cにおいて、各々の黒丸は、第1の平面P1と第2の平面P2との交線Lと、ワークモデル80Mとの交点PTを示している(図9参照)。
【0054】
図10Aにおいて、ワークモデル80Mの交点PTのうち、最も高い位置にあるワークモデル80Mの交点PT1が白丸で示されている。一般的なワークの取出工程は、上方に位置するワークから順番に取出すように実行される。そこで、位置姿勢計算部34は、交点PT1の三次元座標から取出されるべきワークモデル80Mの頂点の位置を特定する。この場合、取出されるべきワークモデル80Mの頂点の位置に基づいて、ワークモデル80Mを把持する際のロボットモデル60Mの位置決めがなされるようになる。或いは、ロボットモデル60Mは、既知のワークモデル80Mの形状などを併せて考慮して、対象ワークモデルの頂点、すなわち交点PT1の位置から所定の位置だけ離間した位置を把持するように制御されてもよい。
【0055】
図10Bにおいて、所定の範囲内に含まれる複数の交点PT2からなる点集合が白丸で示されている。この場合、位置姿勢計算部34は、それら交点PT2の三次元座標に基づいて、取出されるべき対象ワークモデルの位置及び姿勢を計算する。或いは、それら交点PT2の三次元座標と、既知のワークモデル80Mの形状と、に基づいて、取出されるべき対象ワークモデルの位置及び姿勢を計算してもよい。
【0056】
図10Cにおいて、ワークモデル80Mのうちの概ね上方を向いた平面P3にハッチングが施されるとともに、それら平面P3に対する法線が矢印で示されている。平面P3、及びそれら平面P3に対する法線は、図10Bの例のように所定の範囲内に含まれる点集合を互いに連結することによって求められる。この場合、位置姿勢計算部34は、ワークモデル80Mの特定の平面の位置及び姿勢から、ワークモデル80Mの位置及び姿勢を計算する。
【0057】
本実施形態に係るロボットシミュレーション装置によれば、仮想空間において設定される第1の平面群と第2の平面群を利用して、ワークモデルの表面上の複数の点を特定する。そして、それら複数の点の三次元情報をレンジセンサモデルによって取得することによって、ワークモデルの位置及び姿勢を取得する。それにより、レンジセンサを利用したワークの取出工程をシミュレーションできるようになり、制御プログラムの評価、或いは必要な変更を容易に実行できるようになる。
【0058】
図11は、別の実施形態に係るロボットシミュレーション装置10の機能ブロック図である。本実施形態によれば、ロボットシミュレーション装置10は、前述した実施形態の構成に加えて、二次元画像取得部38をさらに備えている。
【0059】
二次元画像取得部38は、カメラモデル18Mによって、バラ積みされたワークモデル80Mの二次元画像を取得する機能を有する。図12は、二次元画像取得部38と協働するカメラモデル18Mの視野FVを示す図である。二次元画像取得部38は、レンジセンサモデル14Mを構成する2つのカメラモデル18Mのうちの一方を使用して二次元画像を取得するように構成される。或いは、別個のカメラモデルがこの目的で使用されてもよい。
【0060】
図13は、カメラモデル18Mによって撮像される二次元画像の例である。図示された例では、バラ積みされた円柱形のワークモデル80Mが撮像されている。取得された二次元画像は、画像処理装置によって画像処理され、ワークモデル80Mの位置及び姿勢を計算するのに使用される。
【0061】
図14図16は、二次元画像取得部38によって取得される二次元画像の使用例を説明するための図である。図14において、ワークモデル80Mに描かれた線L1は、二次元画像取得部38による検出範囲の境界線である。すなわち、ワークモデル80Mのうち、図14の線L1よりも下方の部分は、例えば別のワークモデル80Mの背後に隠れている。この場合、ロボットシミュレーション装置10の位置姿勢計算部34は、取得される二次元画像を画像処理することによってワークモデル80Mの一部を特定し、特定されたワークモデル80Mの部分における三次元情報(交点PTの三次元座標)を利用する。例えば、位置姿勢計算部34は、二次元画像の検出範囲内に含まれるワークモデル80Mの三次元情報に基づいて、その部分のワークモデル80Mの重心CGの位置を計算する。この場合、ロボットモデル60Mは、ワークモデル80Mの重心CGの位置に基づいて、ワークモデル80Mを把持する際の位置決めがなされるようになる。
【0062】
図15には、異なる寸法を有する2つの直方体が積層されるように組合せられた形状を有するワークモデル80Mが示されている。この場合、例えば二次元画像取得部38によって取得される二次元画像を画像処理することによって、ワークモデル80Mの平面P4を特定する。そして、特定された平面P4上の三次元情報(交点PTの三次元座標)を利用する。例えば、位置姿勢計算部34は、二次元画像の平面P4に含まれるワークモデル80Mの三次元情報に基づいて、平面P4の位置及び姿勢、或いは平面P4に対する法線の延在方向を計算する。この場合、平面P4の位置及び姿勢、或いは平面P4に対する法線の延在方向に基づいて、ワークモデル80Mを把持する際のロボットモデル60Mの位置決めがなされるようになる。
【0063】
或いは、図16に示されるように、二次元画像から特定されるワークモデル80Mの平面P4とは異なる平面P5上の三次元情報(交点PTの三次元座標)に基づいて、平面P4の位置及び姿勢、或いは平面P4に対する法線方向を計算してもよい。
【0064】
本実施形態によれば、カメラモデルによって取得されるワークモデルの二次元画像をさらに利用して、ワークモデルの位置及び姿勢がより正確に計算される。このような正確なワークモデルの位置及び姿勢に基づいて、ワークの取出工程のシミュレーションを実行できるので、シミュレーションの信頼性が向上する。
【0065】
以上、本発明の種々の実施形態について説明したが、他の実施形態によっても本発明の意図される作用効果を奏することができることは当業者に自明である。特に、本発明の範囲を逸脱することなく前述した実施形態の構成要素を削除又は置換することが可能であるし、公知の手段をさらに付加することもできる。また、本明細書において明示的又は暗示的に開示される複数の実施形態の特徴を任意に組合せることによっても本発明を実施できることは当業者に自明である。
【符号の説明】
【0066】
10 ロボットシミュレーション装置
12 表示部
14 レンジセンサ
14M レンジセンサモデル
16 プロジェクタ
16M プロジェクタモデル
18 カメラ
18M カメラモデル
20 仮想空間作成部
22 モデル作成部
24 モデル配置部
26 第1の平面計算部
28 第2の平面計算部
30 交線計算部
32 三次元情報計算部
34 位置姿勢計算部
36 シミュレーション実行部
38 二次元画像取得部
50 ロボットシステム
60 ロボット
60M ロボットモデル
70 ロボット制御装置
80 ワーク
80M ワークモデル
90 容器
90M 容器モデル
FV (カメラモデルの)視野
L 交線
PT 交点
PA 投影範囲
TA 計測領域
図1
図2
図3
図4
図5A
図5B
図6
図7
図8A
図8B
図9
図10A
図10B
図10C
図11
図12
図13
図14
図15
図16