説明

シミュレーションシステムおよびそのためのシミュレーションプログラム

【課題】本発明は、作業ロボットが行う作業に求められる作業精度を満たす精度で、取得した画像データから作業対象物の3次元位置・姿勢認識を行い、作業ロボットが当該作業を適切に行うようシミュレーションすることが可能なシミュレーションシステムおよびそのためのシミュレーションプログラムの提供を目的とする。
【解決手段】本発明にかかるシミュレーションシステムは、撮像部20、特に第2撮像部22の倍率設定、フォーカス設定等の撮像パラメータを制御し、作業に要求される作業精度を満たす解像度で画像データを取得することにより、作業対象物10自体の大きさや、作業対象物10と撮像部20との距離に影響されて解像度が低下することを防ぎ、作業対象物10に対する必要な3次元位置・姿勢認識精度を維持することができるので、シミュレーションおよび現実の作業において作業効率の低下や、作業の失敗確率の増大を招くことを抑制できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はシミュレーションシステムおよびそのためのシミュレーションプログラムに関し、特に、ロボット動作の作業シミュレーションを行うシミュレーションシステムおよびそのためのシミュレーションプログラムに関する。
【背景技術】
【0002】
従来のロボット動作のシミュレーションシステムとしては、特許文献1に示すような、作業ロボット、作業対象物および撮像部の3次元モデルを汎用コンピュータ等の表示画面に表示し、シミュレーションを行うものがあった。さらに撮像部が取得するであろう視野情報を計算で求めて画面に表示し、撮像視野を含めたシミュレーションが可能となっていた。
【0003】
また現実に、撮像部としての視覚センサによる作業対象物の認識方法としては、特許文献2に示すように、作業対象物である物品の存在範囲をさらに区分けし、分割した個別の領域内において取得した画像から、その物品の3次元位置・姿勢を認識するというものがあった。ここで3次元位置・姿勢とは、対象物の空間位置および空間姿勢の少なくとも一方(典型的には双方)を含む座標値の組として定義されるものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3732494号公報
【特許文献2】特開2004−160567号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のシミュレーションシステムでは、分割した個別の領域における作業対象物の画像データを計算で求めることにより取得し、作業対象物の3次元位置・姿勢認識を行うシミュレーションをする。個別の領域内の作業対象物の大きさが異なる場合には、その作業対象物の大きさに合わせた個別の領域を設定し、同様に計算で求めることにより画像データを取得して作業対象物の3次元位置・姿勢認識を行うことになる。
【0006】
ここで、作業対象物の3次元位置・姿勢認識に用いられる画像データは、シミュレーションシステムにおけるカメラ等の撮像部によって取得され、計算されるが、上記のように、作業対象物の大きさが異なれば分割する個別の領域の大きさ、すなわち領域内の画素数も変わってくる。
【0007】
例えば小さな物品に応じた個別の領域を設定し、その画像データを計算および取得すると、物品を示す画像データの画素数は少なくなり、シミュレーションにおいて、その画素数に応じた解像度で画像解析を行うことになる。よって、シミュレーションにおける物品の3次元位置・姿勢認識もその解像度の範囲で行われることになる。また、個別の領域を設定した空間位置とカメラの設置位置とが遠い場合にも、撮像部が取得する画像データにおいては物品は小さく映り、物品を示す画素数は少なくなる。この場合にも、その画素数に応じた解像度で画像解析を行い、シミュレーションにおける物品の3次元位置・姿勢認識もその解像度の範囲で行われることになる。
【0008】
このとき、その解像度に応じた物品の3次元位置・姿勢認識精度が、当該物品を用いて行われる作業に要求される作業精度を満たせないものである場合、シミュレーションおよび現実において作業する場合における作業効率の低下や、作業の失敗確率の増大につながってしまうという問題があった。
【0009】
本発明は、上記のような問題を解決するためになされたものであり、作業ロボットが行う作業に求められる作業精度を満たす精度で、シミュレーションにおいて取得した画像データから作業対象物の3次元位置・姿勢認識を行い、作業ロボットが当該作業を適切に行うようシミュレーションすることが可能なシミュレーションシステムおよびそのためのシミュレーションプログラムの提供を目的とする。
【課題を解決するための手段】
【0010】
請求項1の発明であるシミュレーションシステムは、作業対象物を用いて作業を行う作業ロボットの動作シミュレーションを行うシステムであって、前記作業に応じて要求される作業精度を記憶した記憶手段と、前記作業対象物を撮像し、画像データを取得する撮像部と、前記画像データを取得する際、前記作業精度を満たす解像度となるように、前記撮像部における撮像パラメータを制御するパラメータ制御手段と、前記撮像部において取得した画像データに基づいて、前記作業対象物の3次元位置・姿勢を認識する認識手段と、認識した前記作業対象物の3次元位置・姿勢に基づいて、前記作業を行うように前記作業ロボットを制御するロボット制御手段とを備えることを特徴とする。
【0011】
請求項2の発明は、請求項1に記載のシミュレーションシステムであって、前記認識手段が、前記作業対象物の種別を認識する第1認識手段と、前記第1認識手段において認識された前記作業対象物の3次元位置・姿勢を認識する第2認識手段とを含むことを特徴とする。
【0012】
請求項3の発明は、請求項2に記載のシミュレーションシステムであって、前記撮像部が、前記作業対象物が存在し得る領域を比較的広い範囲で撮像する第1撮像部と、前記第1撮像部において撮像した領域内で、前記第1認識手段において認識した前記作業対象物を比較的狭い範囲で撮像する第2撮像部とを含むことを特徴とする。
【0013】
請求項4の発明は、請求項1〜3のいずれかに記載のシミュレーションシステムであって、前記撮像パラメータが、倍率設定、フォーカス設定を含むことを特徴とする。
【0014】
請求項5の発明は、請求項1〜4のいずれかに記載のシミュレーションシステムであって、前記撮像部が、前記作業ロボットに取付けられていることを特徴とする。
【0015】
請求項6の発明は、請求項1〜5のいずれかに記載のシミュレーションシステムであって、前記記憶手段が、前記作業対象物の3次元形状データを記憶したことを特徴とする。
【0016】
請求項7の発明は、請求項1〜6のいずれかに記載のシミュレーションシステムであって、前記記憶手段が、前記作業内の各工程ごとに要求される作業精度を表現したデータを記憶したことを特徴とする。
【0017】
請求項8の発明は、請求項1〜7のいずれかに記載のシミュレーションシステムであって、前記記憶手段が、前記作業に用いられる作業対象物の各部位ごとに要求される作業精度を表現したデータを記憶したことを特徴とする。
【0018】
請求項9の発明は、請求項1〜8のいずれかに記載のシミュレーションシステムであって、前記作業対象物を用いて行う前記作業を決定する作業決定手段をさらに備えることを特徴とする。
【0019】
また、請求項10の発明は、請求項1の発明に対応するプログラム発明である。
【発明の効果】
【0020】
請求項1の発明によれば、撮像部の撮像パラメータを制御し、作業に要求される作業精度を満たす解像度でシミュレーションにおいて画像データを取得することにより、作業対象物自体の大きさや、作業対象物と撮像部との距離に影響されて解像度が低下することを防ぎ、シミュレーションにおける作業対象物に対する必要な3次元位置・姿勢認識精度を維持することができるので、シミュレーションおよび現実の作業において作業効率の低下や、作業の失敗確率の増大を招くことを抑制できる。
【0021】
特に請求項4の発明によれば、制御する撮像パラメータとして倍率およびフォーカスが含まれることで、シミュレーションにおいて所望の作業精度を満たすために必要となる解像度となるように、倍率を調節し、さらにフォーカスを合わせることができるため、現実の作業において倍率やフォーカスを含む撮像パラメータがどの範囲で必要となるのかをシミュレーションで確認することができる。
【図面の簡単な説明】
【0022】
【図1】シミュレーションシステム100の表示画面に表示される作業ロボットおよび視野画面を示す図である。
【図2】シミュレーションシステム100の構成を示すブロック図である。
【図3】シミュレーションシステム100の3次元形状データの内容を示す図である。
【図4】シミュレーションシステム100の作業精度データの内容を示す図である。
【図5】シミュレーションシステム100の動作順序を示すフローチャートである。
【図6】シミュレーションシステム100の分割領域の一例を示す図である。
【図7】シミュレーションシステム100の分割領域の一例を示す図である。
【図8】シミュレーションシステム100の、現実のロボット動作との関係を示す図である。
【発明を実施するための形態】
【0023】
<A.実施形態>
<A−1.構成>
【0024】
図1は、本発明の実施形態にかかるシミュレーションシステム100がシミュレーション上に定義された作業ロボット30の動作シミュレーションを行う際に、ディスプレイDP上に表示される画像(シミュレーション画像)の例である。このシミュレーション画像は作業ロボット30の動きを2次元あるいは3次元の動画として表示可能である。このディスプレイDPには、作業ロボット30や作業対象物10のシミュレーション動作画像を表示するほか、第2撮像部22(22R、22L)によってその時点で撮像されていると計算される画像を、視野画面16としてサブウインドウ内に表示することができる。
【0025】
この作業ロボット30は、複数種の作業対象物10を順次に組み立てて所定の製品または半製品を製造する作業を行うロボットとして、シミュレーションにおいて定義される。
【0026】
作業ロボット30は例えば1対の腕部13R、腕部13Lを備え、それぞれの腕部13R、腕部13Lにステレオカメラ等の第2撮像部22(22R、22L)が取付けられている。ロボットの頭部にも第1撮像部21が取付けられ、第1撮像部21で作業対象物10が存在しうる領域全体を撮像し、第2撮像部22(22R、22L)で作業対象物10が存在すると認識した部分領域(分割領域)内のみを撮像する。第2撮像部22で得られた画像データから認識した3次元位置・姿勢に基づいて、ハンド部14R、ハンド部14Lを用いて作業対象物10を把持、移動し、組み立て等する作業を行う。
【0027】
たとえば作業ロボット30は、図示するように首部の水平旋回と鉛直方向への伸縮とによって頭部が自在に可動し、頭部に備えられた第1撮像部21は広い視野範囲を確保できるように、シミュレーション上で設定される。第2撮像部22をハンド部14R、ハンド部14L等に備える場合には、作業ロボット30を操作することで、撮像部20を作業対象物10に容易に近接させることができ、精度よく撮像することができる。
【0028】
第1撮像部21、第2撮像部22は1つのカメラ等でそれぞれの機能が果たされてもよく、それが設けられる箇所も、作業ロボット30本体(例えばハンド部14R、ハンド部14Lの指等)に限らず、このシミュレーションシステム100が想定する空間内で任意である。また、作業ロボット30の腕部も、双腕である場合に限られるものではない。
【0029】
作業対象物10は、その数、種類、大きさ等に特に限定はなく、図1においてはトレー15上に載置された設定となっているが、シミュレーションシステム100が想定する空間内の例えば床面に直接載置される場合であってもよく、特に制限しない。また、その載置の状態も、特に一定の規律をもって複数の作業対象物10が並べられる必要もなく、互いに重なり合った状態等であってもよい。
【0030】
第2撮像部22(22R、22L)において取得される画像のディスプレイDP上の表示方法としては、この図1において図示するように、作業ロボット30が表示されるディスプレイDPの表示画面の一部を視野画面16として用いる方法であってもよいし、別画面(別ウインドウ)において表示されるものであってもよい。図1では、作業対象物10のうち特定の作業対象物PTが第2撮像部22Lによって撮像され、ディスプレイDPの視野画面16に表示されている状態を示している。
【0031】
このとき、第2撮像部22(22R、22L)の撮像パラメータ(倍率、アングル方向、フォーカス等)の数値をあわせて表示してもよい。第2撮像部22(22R、22L)において取得されると計算される画像は、シミュレーションシステム100において備えられる第2撮像部22の個数に応じて、例えば複数表示してもよい。ユーザーは、表示面に表示される作業ロボット30と、さらに表示される視野画面16とを確認しながら、作業を適切に行うためのシミュレーションを行うことができる。
【0032】
図2は、本発明の実施形態にかかるシミュレーションシステム100の機能ブロック図である。図2に示された構成要素は全て、所定のプログラムがインストールされた汎用コンピュータ等を用いて機能的に実現され得るものであり、撮像部20、作業ロボット30等は、シミュレーション上定義された仮想上のものである。前述のように、このシミュレーションシステム100では、汎用コンピュータに附属するディスプレイDPの画面上に作業シミュレーション画像を表示しつつ、作業ロボット30に所定の作業を実行させることにより、その動作シミュレーションを行う。
【0033】
このシミュレーションシステム100は、コンピュータ内部で仮想的に作業ロボット30を動作させる計算を行い、その結果を現実の作業ロボット30の動作に反映させていくものである。
【0034】
各機能手段の具体的構成に関して、図2に示すこのシミュレーションシステム100は、作業対象物10を用いて行う作業を決定する作業決定手段40と、作業対象物10を撮像し、画像データを取得する撮像部20(第1撮像部21および第2撮像部22)と、撮像部20の撮像パラメータを制御するパラメータ制御手段50と、撮像部20において取得した画像データから画像解析し、さらに作業対象物10の3次元位置・姿勢を認識する認識手段60(第1認識手段61および第2認識手段62)と、作業を行うために作業ロボット30の動作を制御するロボット制御手段70と、作業に要求される作業精度のデータ、作業対象物10の3次元形状データを記憶した記憶手段80(形状記憶手段81および精度記憶手段82)とを備える。
【0035】
作業決定手段40では、作業ロボット30に行わせる作業を、あらかじめ準備された複数の作業項目からユーザーの選択に基づいて決定し、それに応じた作業ロボット30の動きを特定する。具体的には、たとえば第1部品の頂部にある雄ネジを第2部品の上面のネジ穴に螺合させるなどの作業を選択し、それに従った具体的なロボット動作を決定する。作業を効率的に行うため、適切な作業順序を選択するのが望ましい。作業順序を決定する方法としては、例えば3次元CADを用いて組み立て品を設計したり、実際に組み立て作業をさせるティーチング処理を行ったりするなどして、効率のよい順序を探す方法がある。なお、シミュレーションシステム100内に作業決定手段40を設けずに、外部で事前に決定した動作プログラムをインポートしたり、ユーザーがシミュレーションしたい一連の作業工程を直接に入力したりするような方法を用いてもよい。
【0036】
撮像部20は、作業対象物10の存在しうる比較的広い範囲の領域全体を撮像する第1撮像部21と、その領域全体を複数の分割領域に概念的に分割し、作業対象物10が存在すると認識した比較的狭い範囲の個別の分割領域内で作業対象物10を撮像する第2撮像部22とを備える。この第2撮像部22は、少なくとも倍率を調節可能なズーム機能、およびフォーカス機能を有するものである。第1撮像部21と第2撮像部22とは別々に設けられるものであってもよいし、1つの装置内でそれぞれの機能を切り替えて実現されるものであってもよい。
【0037】
記憶手段80には、設計あるいは予め測定した作業対象物10の3次元形状データを記憶した形状記憶手段81と、ある作業と作業対象物10との関係で予め設定された作業精度を記憶した精度記憶手段82とが備えられる。この記憶手段80に記憶されたデータは、汎用コンピュータ外部において備えられた記憶装置等から、例えば通信によって供給されるものであってもよい。
【0038】
形状記憶手段81は、図3に示すように、作業対象物10の種類ごとに3次元形状データが記憶されている。ここで3次元形状データとは、例えば各点が3次元位置情報を持つ点群データである。点群データについては、予めステレオ法等によって実測されたデータを使用したものであってもよいし、対象の3次元モデル上に規定され、各点が3次元位置情報を有し、全体として対象の全周形状を示す点群である、いわゆるモデル点群であってもよい。なお、作業対象物10の3次元位置・姿勢を認識する方法によって作業対象物10の形状などを特定可能であって当該3次元形状データを用いる必要がない場合には、記憶手段80内に形状記憶手段81を備えない構成であってもよい。
【0039】
精度記憶手段82は、図4に示すように、各作業における工程ごとに、それらの工程が設定される作業対象物10の部位を特定するデータ(たとえば当該作業対象物についてあらかじめ定められた原点位置からの座標値で示すデータやその部位を示すコード値)と、その部位に設定された場合に要求される作業精度を示す数値(たとえば許容誤差値)とが記憶されている。作業内容の情報は複数の種類について記憶可能であり、作業の種類としては、作業対象物10の取り出し、その運搬の他、例えば作業対象物10同士を組み合わせて接続させる組み立て作業のような、他の作業対象物10との関連性を持つ作業も含まれる。1つの作業対象物10の中で作業が設定される部位が複数箇所ある場合も想定され、また、作業対象物10の同じ部位であっても、異なる複数の作業を設定することも可能である。
【0040】
作業、又はそのうちの工程の具体的内容としては、例えば、どの位置にどのような角度で接続するか、どの程度の強さで接続するか(ボルトの締め具合等)等がある。また、作業内容が同じであっても、作業対象物10の硬さ、滑りやすさ等の性質により、要求される作業精度に幅がある。また1つの作業内であっても、要求される作業精度の異なる工程が含まれ得る。
【0041】
<A−2.動作>
【0042】
以下、図5に示すフローチャートに従って、本発明の実施形態にかかるシミュレーションシステム100における動作を説明する。
【0043】
まず作業決定手段40において、作業ロボット30が行うべき作業を決定する。例えば、ある部品を組み立てる場合、その中で必要となる作業(部品の運搬、部品同士の組み合わせ、接続等)を抽出する。それらの作業を例えば作業効率のよい順で行うものとして決定する(ステップS1)。
【0044】
次に、実際のシミュレーション動作の本体が開始される。上記の作業に必要とされる作業対象物10を確定し、シミュレーションシステム100の想定する空間範囲においてその作業対象物10を探索する(ステップS2)。なお探索範囲については、ユーザーが予め限定して記憶させておいてもよい。探索は第1撮像部21を用い、必要ならばロボット制御手段70で作業ロボット30を動作させて第1撮像部21とともに首振りを行わせつつ、広範囲の画像解析によって行う。この時点での画像解析は第1認識手段61において行い、作業対象物10の3次元位置・姿勢を詳細に認識できる必要はなく、作業対象物10の種別が可能な程度でよい。ここで言う「種別」としては、作業対象物の本来の違いだけでなく作業の進行にともなって作業対象物の外見が変化するときには、その変化の前後の区別も含むことができる。
【0045】
必要となる作業対象物10が複数ある場合にも同様に、それぞれの作業対象物10を第1撮像部21に用いて探索し、画像解析によって各作業対象物10のラフな認識を行う。
【0046】
画像解析によって、所望の作業対象物10であると第1認識手段61において判断された場合、精度記憶手段82を参照し、その作業対象物10、より具体的には、そのうちのある部位に、当該作業、より具体的には、そのうちのある工程を行う場合に要求される作業精度を確認する(ステップS3)。1つの作業内に複数の工程がある場合には、それぞれの工程ごとに確認する。作業の進行に伴って作業対象物10の外見が変化してゆくときには、認識された作業対象物10の外見から工程を区別し、その工程に応じて精度記憶手段82を検索して精度を特定することもできる。たとえば、初期状態にある基本部品に順次に別部品を組み付けてゆくような作業の場合は、作業対象物10は工程が進むごとに基本部品に組み付けられた部品が増えていくため、その全体形状は次第に変化するから、その形状の変化から次の工程とそこでの必要な作業精度を特定できる。
【0047】
次に、それぞれの場面、すなわち部位ごと、工程ごとに要求された作業精度を満たす解像度となるように、第2撮像部22の撮像パラメータをパラメータ制御手段50において設定して制御する(ステップS4)。撮像パラメータとしては、カメラ等である第2撮像部22の倍率設定やフォーカス設定等がある。撮像部20に含まれる各カメラがデジタルビデオカメラである場合、それを構成する固体撮像素子の電気的制御パラメータを変更することによって撮像感度を変更することもできるが、その撮像感度も撮像パラメータとして含めることができる。また、画素数についても撮像パラメータとして考慮することも可能である。
【0048】
ここで倍率とは、光学系によって生ずる像の大きさの物体の大きさに対する比であり、第2撮像部22で捉えた対象物を、どの程度の大きさで表示画面に表示するかを決定する基準となる。なお、倍率を設定する代わりに、表示画面の画素数との関係から、要求精度を満たす解像度となるような距離に第2撮像部22自体を移動させるようにハンド部14R(14L)を伸縮させるようなシミュレーションをすることも可能である。
【0049】
またフォーカスとは、スクリーンやカメラの撮像面等の上で、物点からの光がほぼ最大限に収束されている状態を実現するもので、いわゆるピントが合っている状態を実現するものである。物点からの距離を算出することによって調節する方法等がある。なお、要求精度が許容する範囲内において、3次元位置・姿勢認識を容易にするために、被写界深度を適切に設定することも可能である。
【0050】
倍率の設定については、作業対象物10が大きく表示されるほど作業対象物10に対応する部分の画素数が大きくなるため、解像度が上がる。よって、より高い作業精度を満たすことができる。但しその反面、同時に撮像されて表示される作業対象物10の形状部分が少なくなるため、3次元位置・姿勢を認識することが困難になる。よって要求される作業精度は満たした上で、両者を調整しつつ倍率を設定することが望ましい。
【0051】
作業対象物10自体の大きさと、要求される作業精度に対応する許容誤差とが比例するような関係にある場合には、結果的に、作業対象物10の大きさに応じた分割領域を設定するになる。すなわち、作業対象物10自体が小さく、要求される作業精度が高い場合(許容誤差が小さい場合)には、より分割領域の範囲を小さくして、すなわち倍率を上げて、得られる画像データの解像度を高める必要があるが、作業対象物10自体が小さいので、作業対象物10自体の全体形状も分割領域内に収めやすい。逆に、作業対象物10自体が大きく、要求される作業精度が低い場合(許容誤差が大きい場合)には、より分割領域の範囲を大きくでき、すなわち倍率を下げて、得られる画像データの解像度をある程度低い状態で保つことができる。よって、作業対象物10自体が大きくても、要求される作業精度が低い場合には、作業対象物10自体の全体形状を分割領域内に収めやすい。
【0052】
例として、実際の直径が5mmの穴(穴A)と実際の直径が1mmの穴(穴B)とが存在し、穴Bに要求される作業精度は穴Aの5倍(許容誤差が1/5)だとする。
【0053】
穴Aを囲む領域Xと、穴Bを囲む領域Yとを分割領域として、それぞれ穴の外周に沿うように設定できる。分割領域X、Yを前述の視野画面16に表示できる最大限に表示しようとする場合、分割領域Yは分割領域Xの縦横に5倍(面積にして25倍)まで倍率を高めることができるので、得られる作業精度も5倍高いものとなる。穴Aで画素数に基づく解像度が0.05mmであるとすると、穴Bでは解像度0.01mmが得られる。作業精度もそれらに対応した値が得られる。
【0054】
倍率の調節だけではそのような条件を満たす設定値が見つからない場合、さらに画素数を調節することにより対応することも可能である。このような撮像パラメータの設定により、要求される作業精度を達成するために必要な撮像部のスペック等を、シミュレーションにおいて特定することが可能となる。
【0055】
要求される作業精度を満たす撮像パラメータを設定した上で、その撮像パラメータで取得される画像データの表示領域を分割領域として設定する(ステップS5)。分割領域として設定する範囲は、図6のように、作業対象物PT全体(図6においては複数)が表示される範囲であってもよいし、図7のように、作業対象物PTのある部位を中心とした範囲であってもよい。さらに、複数の領域を分割領域として設定してもよい。
【0056】
図6では、作業対象物PTやそれに形成されたねじ穴を用いた作業に要求される作業精度が低いため、複数の作業対象物PTを包含する視野を分割領域としている。これに対して図7では、作業対象物PTやねじ穴を用いた作業に要求される作業精度が高いため、図6のような比較的低い倍率で撮像すると破線で示すように細部の形状や位置が不鮮明となる、すなわち分解能が低くなる。そこで図7では作業精度を高めるため、図6よりも狭い視野で、すなわち倍率を上げて分解能を高めている。
【0057】
次に、分割領域内の作業対象物10の3次元位置・姿勢を第2認識手段62で認識する(ステップS6)。3次元位置・姿勢の認識方法としては、例えば第2認識手段62を構成する複数のカメラ等を用いて作業対象物10を撮像し、ステレオ法による解析を行う方法等がある。例えばこの方法であれば、形状記憶手段81に記憶された3次元形状データ(点群データ)とのマッチングによって、3次元位置・姿勢を認識することが可能である。
【0058】
次に、ロボット制御手段70を用いて、作業ロボット30に前述の作業を行わせる(ステップS7)。これにより、作業対象物10の3次元位置・姿勢を認識し、取り出し、運搬、組み立て等の作業を要求された作業精度を満たすように行うためのシミュレーションをすることができる。このシミュレーションの動きは、第2撮像部22によって得る画像とともにディスプレイDPに表示される。作業ロボット30の動きは、3次元DGとしてディスプレイDPに表示できる。
【0059】
これらの動作においては、作業に要求される作業精度に応じて撮像パラメータを可変に設定して制御するため、高い精度が要求される作業においては、解像度の高い画像データが分割領域において得られる。よってそのような作業においては、作業ロボット30の作業対象物10に対する3次元位置・姿勢認識の精度が高まり、作業を要求される作業精度に応じて適切に行うことができる。
【0060】
現実に作業ロボット30に作業させる際には、図8に示すように、上記のシミュレーションで得られた結果を撮像パラメータに反映させるような補正を行い、実際の例えば部品の組み立て作業において必要となる撮像情報を得る。要求された撮像情報を満たすように種々の要素の設定を行い、あるいは要求される条件を満たすような撮像装置を用意して、シミュレーションで検証された望ましい動作が作業ロボット30を用いた実作業で再現できるように運用する。
【0061】
<A−3.効果>
本発明にかかる実施形態によれば、シミュレーションシステム100において、次のような効果が得られる。
【0062】
(1)撮像部20、特に第2撮像部22の倍率設定、フォーカス設定等の撮像パラメータを制御し、作業に要求される作業精度を満たす解像度で画像データを取得することにより、作業対象物10自体の大きさや、作業対象物10と撮像部20との距離に影響されて解像度が低下することを防ぎ、作業対象物10に対する必要な3次元位置・姿勢認識精度を維持することができるので、シミュレーションおよび現実の作業において作業効率の低下や作業の失敗確率の増大を招くことを抑制できる。
【0063】
(2)画像解析から作業対象物10の種別を認識する第1認識手段61と、作業対象物10の3次元位置・姿勢を認識する第2認識手段62とを備えることで、第1認識手段61で広範囲に探索した所望の作業対象物10のみを、第2認識手段62で精度よく3次元位置・姿勢解析することができ、探索効率が高まる。
【0064】
(3)比較的広い範囲で撮像する第1撮像部21と、第1撮像部21において撮像した領域内で、第1認識手段61において認識した作業対象物10のみを撮像する第2撮像部22とを備えることで、所望の作業対象物10を効率的に撮像した画像データを取得でき、作業対象物10を示すために割り当てられる画素数をより多く確保することができるので、解像度を高めることができ、よって所望の作業精度を満たすことができる。
【0065】
(4)制御する撮像パラメータとして倍率とフォーカスとが含まれることで、所望の作業精度を満たすために必要となる解像度となるように、倍率を調節し、さらにフォーカスを合わせることができるため、現実の作業において倍率やフォーカス等の撮像パラメータがどの範囲で必要となるのかをシミュレーションで確認することができ、さらに、視野画面16を確認することで、そのような撮像パラメータを設定した場合に得られる画像データを確認することができる。
【0066】
(5)撮像部20が作業ロボット30に取り付けてあるため、作業ロボット30の動作をロボット制御手段70において制御することで撮像部20の視野を自由に変更することができ、所望の作業対象物10の探索、さらに作業に必要となる視野の確保が容易となる。特にハンド部14R、ハンド部14L等に備えた場合には、動作の自由度をより高くすることができる。
【0067】
(6)作業内の各工程ごとに、作業対象物10の各部位ごとに作業精度が設定されることで、より詳細に分割領域の設定がなされることとなり、作業の精度、さらに作業の効率も高めることができる。
【0068】
なお、作業対象物10の精度に応じてディスプレイDPに表示される撮像画像の表示分解能も変化させてもよい。もっとも、本質的には、撮像パラメータを要求される作業精度に応じて変化させることが重要である。すなわち、低い分解能で撮像した画像を高分解能で表示し、あるいはそれを画像処理しても、ぼやけた画像を基礎としている限り、本質的な作業精度の向上は図れない。本発明では、撮像パラメータを要求される作業精度に応じて可変としていることにより、画像取得段階で必要な分解能と視野とを確保できるため、作業精度と撮像効率とをバランスよく実現することができる。
【0069】
また、撮像パラメータを変更する要因としての作業精度は、組み立ての位置精度や角度精度だけでなく、力学的変形の精度(たとえば、曲げ精度や伸び精度)など、撮像によって解析可能な他の空間的な精度であってもよい。また、ここで言う撮像とは赤外線画像などの取得をも含む概念である。
【符号の説明】
【0070】
10,PT 作業対象物
13L,13R 腕部
14L,14R ハンド部
15 トレー
16 視野画面
20 撮像部
21 第1撮像部
22,22L,22R 第2撮像部
30 作業ロボット
40 作業決定手段
50 パラメータ制御手段
60 認識手段
61 第1認識手段
62 第2認識手段
70 ロボット制御手段
80 記憶手段
81 形状記憶手段
82 精度記憶手段
100 シミュレーションシステム
DP ディスプレイ

【特許請求の範囲】
【請求項1】
作業対象物を用いて作業を行う作業ロボットの動作シミュレーションを行うシステムであって、
前記作業に応じて要求される作業精度を記憶した記憶手段と、
前記作業対象物を撮像し、画像データを取得する撮像部と、
前記画像データを取得する際、前記作業精度を満たす解像度となるように、前記撮像部における撮像パラメータを制御するパラメータ制御手段と、
前記撮像部において取得した画像データに基づいて、前記作業対象物の3次元位置・姿勢を認識する認識手段と、
認識した前記作業対象物の3次元位置・姿勢に基づいて、前記作業を行うように前記作業ロボットを制御するロボット制御手段とを備えることを特徴とする、
シミュレーションシステム。
【請求項2】
請求項1に記載のシミュレーションシステムであって、
前記認識手段が、前記作業対象物の種別を認識する第1認識手段と、前記第1認識手段において認識された前記作業対象物の3次元位置・姿勢を認識する第2認識手段とを含むことを特徴とする、
シミュレーションシステム。
【請求項3】
請求項2に記載のシミュレーションシステムであって、
前記撮像部が、前記作業対象物が存在し得る領域を比較的広い範囲で撮像する第1撮像部と、前記第1撮像部において撮像した領域内で、前記第1認識手段において認識した前記作業対象物を比較的狭い範囲で撮像する第2撮像部とを含むことを特徴とする、
シミュレーションシステム。
【請求項4】
請求項1〜3のいずれかに記載のシミュレーションシステムであって、
前記撮像パラメータが、倍率設定およびフォーカス設定を含むことを特徴とする、
シミュレーションシステム。
【請求項5】
請求項1〜4のいずれかに記載のシミュレーションシステムであって、
前記撮像部が、前記作業ロボットに取付けられていることを特徴とする、
シミュレーションシステム。
【請求項6】
請求項1〜5のいずれかに記載のシミュレーションシステムであって、
前記記憶手段が、前記作業対象物の3次元形状データを記憶したことを特徴とする、
シミュレーションシステム。
【請求項7】
請求項1〜6のいずれかに記載のシミュレーションシステムであって、
前記記憶手段が、前記作業内の各工程ごとに要求される作業精度を表現したデータを記憶したことを特徴とする、
シミュレーションシステム。
【請求項8】
請求項1〜7のいずれかに記載のシミュレーションシステムであって、
前記記憶手段が、前記作業に用いられる作業対象物の各部位ごとに要求される作業精度を表現したデータを記憶したことを特徴とする、
シミュレーションシステム。
【請求項9】
請求項1〜8のいずれかに記載のシミュレーションシステムであって、
前記作業対象物を用いて行う前記作業を決定する作業決定手段をさらに備えることを特徴とする、
シミュレーションシステム。
【請求項10】
コンピュータにインストールされて実行されることにより、作業ロボットと撮像部とを前記コンピュータによって制御するシステムを、請求項1〜9のいずれかに記載のシミュレーションシステムとして機能させることを特徴とする、
シミュレーションプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−71394(P2012−71394A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2010−218916(P2010−218916)
【出願日】平成22年9月29日(2010.9.29)
【出願人】(000207551)大日本スクリーン製造株式会社 (2,640)
【Fターム(参考)】