(57)【要約】【課題】コンテナ内等に置かれた物品をロボットを用いて確実に取出すこと。【解決手段】ロボットに３次元視覚センサとハンドを取付け、カゴ状のコンテナ１２内のワークを取り出す。視覚センサでワークの存在範囲（コンテナ１２の開口内縁１２ａ）を定め、指定された数の等分線Ａ１−Ａ１、Ｂ１−Ｂ１（（ａ）参照）で区分けし、複数の領域を定める。個別の領域について、センシングに適したロボット位置でセンシングを順次実行し、検出し得たワーク１３ａ、１３ｂ他の位置・姿勢を蓄積する。全領域のセンシングを終えたら、蓄積データに基づいて検出し得たワーク１３ａ、１３ｂ他の取出しを行う。未取出しのワークが無くなるまでプロセスを繰り返す。領域の大きさは個別ワークがカバーされる大きさに定める。区分け、センシング順序等に決め方は種々の方式が採用可能である。【選択図】                  図２
2004160567.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、該ロボットに装着された視覚センサを備え、物品を前記視覚センサで検出し、その検出結果に応じて前記ロボットを移動させて、該ロボットにより前記物品を取り出す物品取出し装置において、
前記物品の存在範囲を複数の領域に区分けする区分け手段と、
前記区分けされた領域毎に前記視覚センサによるセンシングを行なう手段と、
前記センシングの結果に基づいて、前記ロボットによる物品の取り出しを行なう手段と、を備えることを特徴とする物品取出し装置。
【請求項２】
前記物品の存在範囲が立体的範囲であることを特徴とする、請求項１項に記載の物品取出し装置。
【請求項３】
前記物品の存在範囲を定める手段を備え、前記物品の存在範囲を定める手段は、前記物品が格納される格納体の形状及び位置・姿勢の情報に基づいて前記物品の存在範囲を定めることを特徴とする、請求項１又は請求項２に記載の物品取出し装置。
【請求項４】
前記物品が格納される格納体の形状及び位置・姿勢の情報は、前記視覚センサの出力に基づくことを特徴とする、請求項３に記載の物品取出し装置。
【請求項５】
前記物品が格納される格納体の形状及び位置・姿勢の情報は、前記視覚センサとは別の視覚センサの出力に基づくことを特徴とする、請求項３に記載の物品取出し装置。
【請求項６】
前記存在範囲を複数の領域に区分けする手段は、各領域の大きさを指定する手段と、前記存在領域を前記指定された大きさの複数の分割領域に区分けする手段とを含むことを特徴とする、請求項１乃至請求項５の内何れか１項に記載の物品取出し装置。
【請求項７】
前記区分け手段は、区分け数を指定する手段と、前記存在領域を前記指定された区分け数の領域に区分けする手段とを含むことを特徴とする、請求項１乃至請求項５の内何れか１項に記載の物品取出し装置。
【請求項８】
前記区分け手段は、各領域が予め定められた下限を下回らない大きさを持つように、前記存在領域を区分けする手段を含むことを特徴とする、請求項１乃至請求項５の内何れか１項に記載の物品取出し装置。
【請求項９】
前記下限は、少なくとも１個の前記物品を包含可能な大きさとして定められることを特徴とする、請求項８に記載の物品取出し装置。
【請求項１０】
前記区分けした領域を前記視覚センサによりセンシングする手段が、前記区分けした領域についてセンシング順位を定める手段と、
前記定められたセンシング順位に従って前記区分けした領域を前記視覚センサによりセンシングする手段を含むことを特徴とする、請求項１乃至請求項９の内何れか１項に記載の物品取出し装置。
【請求項１１】
前記区分けした領域を前記視覚センサによりセンシングする手段が、センシング結果を記憶する手段を備え、前記区分けした領域についてセンシング順位を定める手段と、
前記定められたセンシング順位に従って、且つ、前回のセンシング結果によって取出すべき物品がないと判断されなかった前記区分けした領域を前記視覚センサによりセンシングする手段を含むことを特徴とする、請求項１乃至請求項９の内何れか１項に記載の物品取出し装置。
【請求項１２】
前記区分けした領域を前記視覚センサによりセンシングする手段が、最初にセンシングを行なう領域を定める手段と、前記最初にセンシングを行なうように定めた領域のセンシングを行なう手段と、最新のセンシングが行なわれた領域と隣接する領域を順次指定し、該指定された領域のセンシングを順次実行する手段とを含むことを特徴とする、請求項１乃至請求項９の内何れか１項に記載の物品取出し装置。
【請求項１３】
前記区分けした領域を前記視覚センサによりセンシングする手段が、センシング結果を記憶する手段を備え、最初にセンシングを行なう領域を定める手段と、前記最初にセンシングを行なうように定めた領域のセンシングを行なう手段と、最新のセンシングが行われた領域と隣接し、且つ、前回のセンシング結果によって取出すべき物品がないと判断されなかった前記区分けした領域を順次指定し、該指定された領域のセンシングを順次実行する手段を含むことを特徴とする、請求項１乃至請求項９の内何れか１項に記載の物品取出し装置。
【請求項１４】
前記計測した結果に基づいて前記物品を取出す取り出し手段が、前記区分けされた全ての領域の計測を行った後に、前記区分けされたそれぞれの領域に存在する取り出しを行う手段とを含むことを特徴とする、請求項１乃至請求項１３の内何れか１項に記載の物品取出し装置。
【請求項１５】
前記計測した結果に基づいて前記物品を取出す取り出し手段が、前記区分けされた領域のセンシングが完了する毎に、該領域内の前記物品の取り出しを行う手段とを含むことを特徴とする、請求項１乃至請求項１３の内何れか１項に記載の物品取出し装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばコンテナ内、カゴ内あるいはパレット上などに多数置かれたワーク等の物品をロボットを用いて取出す物品取出し装置に関する。
【０００２】
【従来の技術】
工場等において、所定のコンテナ内、カゴ内、パレット上、などに置かれた多数の物品（ワークなど）を順次取出す作業にロボットを利用することは既に知られている。その場合、物品はいわゆるバラ積み状態に置かれ、物品毎に位置決めされていないことが非常に多い。そこで、例えば、特許文献１に記載されているように、視覚センサの助けを借りて物品の位置・姿勢を検出し、その検出結果に基づいてロボットに物品取出し動作を行なわせることが提案されている。
【０００３】
【特許文献１】
特開２００１−１７９６６９号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、視覚センサを援用した従来の方式では、多数の物品の存在する範囲（例えば、それら物品を収容しているコンテナ、パレット、カゴ等の全域）を１つのカメラ（視覚センサの持つ撮影手段）の視野でカバーするケースがほとんどである。ところが、一般に、そのような条件（全域カバー）の下では、当然、視野の大きさに対して物品は相対的に非常に小さくなり易く、物品検出の確実度（表裏や種類の判別などを含む）や精度が不十分となりがちであった。
【０００５】
また、これを補うために、物品の存在範囲（例えばコンテナ、パレット、カゴなど）の全域をカバーするカメラとは別に、前記の確実度や精度を確保するためのカメラを付加設置することもあるが、カメラが２台必要になり、その分システムも複雑化するという問題があった。
本発明の目的は、カメラの使用台数を増やさずに、物品検出の確実度や精度を確保し、ロボットによる物品取出し作業の信頼性を向上させることができる物品取出し装置を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、ロボットと、該ロボットに装着された視覚センサを備え、物品を前記視覚センサで検出し、その検出結果に応じて前記ロボットを移動させて、該ロボットにより前記物品を取り出す物品取出し装置に、前記物体の存在範囲を複数の領域に区分けする区分け手段と、前記区分けされた領域毎に前記視覚センサによるセンシングを行なう手段と、前記センシングの結果に基づいて、前記ロボットによる物品の取り出しを行なう手段とを具備させることで上記課題を解決するものである。
【０００７】
ここで、前記物品の存在範囲は立体的範囲であっても良い。また、前記物品が格納される格納体（例えばコンテナ、パレット、カゴなど）の形状及び位置・姿勢の情報に基づいて前記物品の存在範囲を定めるようにしても良い。更に、前記物品が格納される格納体の形状及び位置・姿勢の情報を視覚センサの出力に基づいて得るようにしても良い。そのために、前記視覚センサを使用することができるが、別の視覚センサを用いても良い。
【０００８】
前記存在範囲を複数の領域に区分けするに際しては、各領域の大きさを指定して、前記存在領域を前記指定された大きさの複数の分割領域に区分けするようにしても良い。また、区分け数を指定し、前記存在領域を前記指定された区分け数の領域に区分けするようにしても良い。
【０００９】
ここで、前記区分け手段は、各領域が予め定められた下限を下回らない大きさを持つように、前記存在領域を区分けする手段を含んでいて良い。この下限は、前記物品の大きさに応じて定められることが好ましい。例えば、前記下限は、少なくとも１個の前記物品を包含可能な大きさとして定めることができる。あるいは、「少なくとも１個の前記物品を包含可能な最低限の大きさ（例えば物品の最大差し渡し）」に適当な係数ｋ（ｋ＞１；例えばｋ＝２）を乗じたものを下限に定めても良い。
【００１０】
なお、前記区分けした領域を前記視覚センサによりセンシングする手段に、前記区分けした領域についてセンシング順位を定める手段を含ませて、前記定められたセンシング順位に従って前記区分けした領域を前記視覚センサによりセンシングするようにすることができる。ここで、センシング順位を定めるについては、最初にセンシングを行なう領域を定めてセンシングを実行し、その後は最新の（過去の）センシングが行なわれた領域と隣接する領域を順次指定し該指定された領域のセンシングを順次実行するようにしても良い。更に、センシング結果を記憶しておき、前回のセンシングで物品が検出されなかった領域については、物品がないものと判断して、その領域をスキップするようにしても良い。
【００１１】
各領域のセンシングと、各領域に存在する物品の取出しとの実行タイミングの関係についても、種々の態様が考えられる。例えば、前記区分けされた全ての領域の計測を行った後に、前記区分けされたそれぞれの領域に存在する取り出しを行うようにしても良い。あるいは、前記区分けされた領域のセンシング毎に前記領域内の前記物品の取り出しを行うようにしても良い。
【００１２】
本発明を用いることで、物品の大きさに比べてはるかに広い範囲内（例えば、物品の大きさに比べてはるかに大きな開口面積あるいは載置面を持つコンテナ、カゴ、パレット等）にバラ積みされている物品をロボットで取出すアプリケーションにおいて、各区分けされた領域毎に物品を１つのカメラで正確に検出することができるようになり、安定的な取出し作業の遂行が可能になる。
【００１３】
【発明の実施の形態】
図１は本発明の一つの実施形態に係る物品取出し装置の全体配置を示した図である。符号１はロボット（本体機構部）で、ケーブル６によってロボットコントローラ２に接続され、同ロボットコントローラ２によってその動作が制御される。ロボット１の手先部には、ハンド３及び３次元視覚センサ（本体部）４が取付けられている。ハンド３は、ケーブル８によってロボットコントローラ２に接続され、同ロボットコントローラ２によって開閉動作が制御される。
【００１４】
また、３次元視覚センサ４は、例えばスリット光あるいはスポット光などのいわゆるパターン光を投射する投光器と反射光を検出する光検出装置を組み合わせた周知のものが使用可能であるが、ここでは一例として、スリット光の投光器とＣＣＤビデオカメラを組み併せたものを使用するものとする。また、ＣＣＤビデオカメラは通常撮影（投光なし）で２次元画像を得るためにも使用するものとする。
【００１５】
３次元視覚センサ４は、ケーブル９によってパーソナルコンピュータ５に接続されており、パーソナルコンピュータ５は、３次元視覚センサ４によるセンシング動作（投光、撮像など）を制御するとともに、センシング（ここでは通常撮影を含む）で得られた光検出信号（ここではビデオ映像信号）を処理して、後述する態様で、ロボットコントローラ２に所要の情報をイーサネット（登録商標）７を介して送る。
【００１６】
本例において、ロボット１によって取り出される物品は、所定位置に置かれたテーブル１１上に供給されるカゴ状のコンテナ１２内にバラ積み状態で置かれた多数のワーク１３である。ここで、コンテナ１２には一例として矩形の開口を持つものを使用するが、一般には形状に特に制限はない。開口のサイズは、テーブル１１上に載置した時、ロボット１を所定位置Ｐ０  に移動させることで視覚センサ４のビデオカメラの視野に若干の余裕をもって収まるものとする。図２（ａ）には、ロボット位置Ｐ０  で取得した通常撮影画の例が示されている。
【００１７】
このように、本例では、「物品の存在範囲」は、コンテナ１２の開口の内側の全領域であり、３次元的に言えば、同全領域にコンテナ１２の深さを与えた体領域（立体的範囲）が「物品の存在範囲」となる。なお、図２（ａ）中の破線Ａ１−Ａ１、Ｂ１−Ｂ１は、後述する「物品（ここではワーク）の存在範囲の区分け」の説明のための仮想線である。
【００１８】
以下、視覚センサ４とパーソナルコンピュータ５によるセンシング結果を使用してロボット１（ハンド３を含む）を動作させ、コンテナ１２内のワーク１３を１個づつ取り出す作業について、図１、図２（ａ）に加えて、図２（ｂ）を適宜参照し、図３のフローチャートに基づき説明する。
【００１９】
図２（ｂ）は、図２（ａ）に画像を示した「ワークの存在範囲」を区分けすることで定められた複数の領域の内の１つの領域の通常撮影画像を示したもので、ここでは、区分け数「４」とし、Ａ１−Ａ１、Ｂ１−Ｂ１で示した破線（仮想線）を互いの境界に持つ４個の領域の内、図２（ａ）中の左上の領域が示されている。そして図３は、本実施形態で実行される処理の概要を説明するフローチャートであり、各ステップの要点は次の通りである。
【００２０】
ステップＳ１；ロボット１を位置Ｐ０  へ移動させ、通常撮影を行い、パーソナルコンピュータ５内に２次元画像を取得する。この２次元画像は例えば図２（ａ）に示したものとなる。
【００２１】
ステップＳ２；ステップＳ１で取得した２次元画像をパーソナルコンピュータ５内で処理し、「ワークの存在範囲」を定める。ここでは、前述したように、コンテナ１２の矩形開口（内縁）１２ａ（図２（ａ）参照）が検出され、同矩形開口１２ａ内部が「ワークの存在範囲」となる。なお、「ワークの存在範囲」を定るために、例えばテーブル１１の上方に別の視覚センサのカメラ（図示省略）を設置しておき、それを利用してコンテナ１２の矩形開口（内縁）１２ａを検出しても良い。
【００２２】
ステップＳ３；ステップＳ２で定められた「ワークの存在範囲」を予め設定されたルールに従って、区分けする。ここでは、縦横分割数ｍをパーソナルコンピュータ５にキーボード入力で指定し、縦横をそれぞれｍ等分するものとする。区分け数は「ｍ×ｍ」となる。但し、ｍは正整数で、下限と上限が予め設定されており、下限を下回る設定及び上限を上回る設定はできないようにしておく（設定しようとすると「設定不可」を表示する）。
【００２３】
ｍの下限は２以上の適数を設計的に定める。図２（ａ）の例は、下限２としてその下限ｍ＝２が設定された場合に対応している。一方、ｍの上限については、区分けで定められる領域のサイズが、ある程度の余裕をもって１個のワーク１３をカバー出来るように設定する。区分けで定められる領域の一辺の長さが、サイズ例えばワーク１３の最大の差し渡しの２倍以上となるようにｍの上限を設定することが好ましい。なお、「ワーク１３の存在領域」や３次元視覚センサ４のセンシング視野の形状が細長い場合などにおいては、縦横の等分割数セット（ｍ、ｎ）を設定するようにしても良い。その場合、区分け数は「ｍ×ｎ」となる。
【００２４】
ステップＳ４；ステップＳ３で定められた各領域についてセンシングに適したロボット位置を定める。図１には、ｉ番目（ｉ＝１、２・・・・）の領域のセンシングに適したロボット位置Ｐｉ  が記されている。ロボット位置Ｐｉ  は、例えばｉ番目の領域の面重心の真上の定距離ｚ０  の位置とすることができる。距離ｚ０  は、若干の余裕をもってセンシング視野で各領域全体をカバーできるように設計的に定めることが出来る。言うまでもなく、各位置Ｐｉ  は、全存在範囲を視野に収め得る位置Ｐ０  に比してコンテナ１２に接近した位置となる。
【００２５】
ステップＳ５；予め設定された適当なルールに従って、センシングの順番を定める。ルールとしては、例えば次のようなものが考えられる。
（１）ステップＳ４で定めたセンシング用のロボット位置Ｐｉ  （区分け数個決まる）について、オペレータがパーソナルコンピュータの画面上で、順番１、２・・・・・Ｎ（Ｎは区分け数）をつける。
（２）ステップＳ４で定めたセンシング用のロボット位置Ｐｉ  （区分け数個決まる）について、「ｘ座標」が大きい順、もし「ｘ座標」が同じあれば「ｙ座標」大きい順に、領域に順番１、２・・・・・Ｎを付ける。
【００２６】
（３）ステップＳ４で定めたセンシング用のロボット位置Ｐｉ  （区分け数個決まる）の内から、オペレータがパーソナルコンピュータの画面上で、最初にセンシングする領域に順番１を付ける（ロボット位置をＰ１  で表記）。残りの順番は、パーソナルコンピュータ５内のソフトウェア処理で「隣接する領域」を逐次的に決定する。隣接する領域を逐次的に決定するには、例えば先ず「残りのＰｉ  の内Ｐ１  に最も近いＰｉ  」をＰ２  、「更に残りのＰｉ  の内Ｐ２  に最も近いＰｉ  」をＰ３  、以下、同様にＰＮ  まで順番を付ければ良い。
【００２７】
ステップＳ６；区分け数Ｎ、ロボット位置Ｐ  ｉ  （１〜Ｎの順番付）等のデータをパーソナルコンピュータ５からロボットコントローラ２に送る。
ステップＳ７；ロボットコントローラ２内に設定した指標ｉを初期値ｉ＝１とする。
ステップＳ８；ロボット位置Ｐｉ  へロボット１を移動させ、移動完了をパーソナルコンピュータ５へ通知する。
【００２８】
ステップＳ９；Ｐｉ  に対応する領域のセンシングを実行する。ここで、同領域内には、ワーク取出し作業の途中までは、図２（ｂ）に示したように、バラ積みのワーク１３が複数個存在するので、同領域内のすべてのワークを検出できるとは限らない。例えば、２個のワーク１３ａ、１３ｂのみが検出される。検出に成功したワーク１３ａ、１３ｂについて、スリット光等の反射光を検出して、各ワーク１３ａ、１３ｂの３次元位置（姿勢を含む）をロボットコントローラ２内のメモリに記憶する。
【００２９】
ステップＳ１０；ｉ＝Ｎになったか否かをチェックする。ｉ＜Ｎであれば、ステップＳ１１へ進む。ｉ＝Ｎになっていれば、ステップＳ１２へ進む。
ステップＳ１１；指標ｉに１を加算して、ステップＳ８へ戻る。
ステップＳ１２；ステップＳ９で蓄積されたワークの位置・姿勢データを利用して、ロボット１によりワークの取出しを実行する。ワークの取出しのプロセスは、ワーク把持に適したロボット位置へのロボット移動、ハンド３による把持、ロボット移動によるワーク搬送、ハンド開放、次のワーク把持に適したロボット位置へのロボット移動などの繰り返しを含むが、詳細は省略する。位置・姿勢が検出された全ワークの取出しが完了したら、ステップＳ１２へ進む。
【００３０】
ステップＳ１３；ロボット１を位置Ｐ０  へ移動させ、移動完了をパーソナルコンピュータ５へ伝える。
ステップＳ１４；通常撮影で未取出しワークの有無を確認し、もしあればステップＳ７へ戻る。未取出しワークが無ければ処理を終了する。
以上の処理サイクルを最終的にステップＳ１３で、未取出しワークが無くなるまで続行することで、コンテナ１２内の全ワークの取出しが完了する。なお、本実施例については例えば下記のような変形が可能である。
【００３１】
（１）物品（ワーク）は、必ずしも収容体に収容されていなくとも良い。なんらかの手段で、「物品の存在領域」を決定できれば例えば「床上にバラ積み」であっても良い。
（２）上記の例では「物品の存在領域」を視覚センサ４を用いて行なったが、本発明はこれに限定されない。例えば、存在領域のデータを予めオペレータがパーソナルコンピュータ５に入力しておいても良い。
【００３２】
（３）区分けにおいて、上記の例では等分割数ｍを下限〜上限内で指定したが、「領域の面積ｓ」を指定し、その指定された面積ｓに応じて区分けを実行するソフトウェアを用いても良い。例えば、存在領域の面積をＳとして、先ずＳ／ｓを下回らない最小整数ＮＳｓを定め、ｆ：ｇ（ｆ、ｇ共に正整数）にセンシング視野の形状に応じた条件（例えば１≦ｆ：ｇ≦１．２）を課した上で、ＮＳｓに最も近いｆ×ｇの組を定め、縦横をｆ等分及びｇ等分しても良い。
また、オペレータがワークのサイズを表わすデータ（例えば最大差渡し）を入力し、それに基づいてソフトウェア処理で領域面積ｓを自動指定するようにしても良い。
【００３３】
（４）各領域のセンシングとワーク取出しの実行タイミングの関係は、上記の例に限られるものではない。例えば１つの領域のセンシングが完了する毎に、同センシングで位置・姿勢が検出されたワークの取出しを実行しても良い。
更に、このケースで、各領域のセンシング順序について、最初のセンシング領域だけを指定しておき、１つのワークの取出しの完了毎に、次にセンシングを行なう領域を決定しても良い。この領域は、その領域に隣接する領域の１つとすることが好ましい。そのために、例えば、前述したように、各領域について定めたロボット位置Ｐｉ  のデータを利用して、最も近いロボット位置Ｐｊ  に対応する領域を次センシング対象領域に決定することができる。
【００３４】
【発明の効果】
本発明を用いることで、コンテナ、カゴ、パレット等の収容体にバラ積みされている物品を取出すアプリケーションにおいて、収容体（物品の存在が予定される範囲）の大きさに比べて、相対的に大きさが小さい物品についても、１つの視覚センサで確実に物品の検出を行なうことができるようになり、それに基づく安定的な物品取出しが可能になる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る物品取出し装置の全体配置を示した図である。
【図２】物品の存在範囲の区分けに関連して、（ａ）は存在範囲全体の撮像で得られる画像を例示して、４つの領域に区分けするケースについて説明する図であり、（ｂ）はそれら領域の内の１つの領域の撮像で得られる画像を例示したものである。
【図３】本発明の実施形態で実行される処理の概要を説明するフローチャートである。
【符号の説明】
１  ロボット
２  ロボットコントローラ
３  ハンド
４  ３次元視覚センサ
５  パーソナルコンピュータ（画像処理装置）
６  ケーブル（ロボットコントローラ・ロボット間）
７  イーサネット（登録商標）
８  ケーブル（ロボットコントローラ・ハンド間）
９  ケーブル（ケメラ・パーソナルコンピュータ間）
１１  テーブル
１２  コンテナ
１３、１３ａ、１３ｂ  ワーク
【図１】
2004160567.tif 000003
【図２】
2004160567.tif 000004
【図３】
2004160567.tif 000005