(57)【要約】  移動マニプレータにおいて、障害物に衝突しないように位置を制御する方法を提供する。  鏡の姿勢を検出する手続きと、画像から物体の姿勢を検出する手続きとを備え、鏡に映った画像から物体の姿勢を検出し、検出された物体の姿勢に基づきマニプレータを制御する。
2016113836.tif 000002
【特許請求の範囲】
【請求項１】
移動可能なマニプレータを、対象物が配置された作業空間で動作させるマニプレータの制御方法であって、
前記作業空間またはその近傍に配置された鏡を前記マニプレータに搭載されたカメラで撮像し、
前記カメラの姿勢および前記カメラによる撮像画像に基づいて前記鏡の姿勢を検出し、
前記カメラによる撮像画像から前記鏡の領域を検出し、
前記検出された鏡の領域から、前記対象物の少なくとも一部の像を検出し、
前記鏡の姿勢および前記対象物の像に基づいて、前記作業空間における前記対象物の姿勢を算出し、
該算出された前記対象物の姿勢の情報に基づいて、前記マニプレータを操作するマニプレータの制御方法。
【請求項２】
前記鏡の姿勢および前記対象物の像に基づいて、前記作業空間における前記対象物の姿勢を算出する際に、
前記カメラの姿勢と前記鏡の姿勢に基づいて、前記カメラの鏡像視点を算出し、
前記カメラの鏡像視点と前記対象物の像に基づいて、前記作業空間における前記対象物の姿勢を算出する、請求項１記載のマニプレータの制御方法。
【請求項３】
前記鏡の姿勢および前記対象物の像に基づいて、前記作業空間における前記対象物の姿勢を算出する際に、
前記カメラの姿勢と前記対象物の像に基づいて、鏡像空間における前記対象物の虚像の姿勢を算出し、
前記対象物の虚像の姿勢と前記鏡の姿勢に基づいて、前記作業空間における前記対象物の姿勢を算出する、請求項１記載のマニプレータの制御方法。
【請求項４】
前記対象物は棚に載置され、
前記棚の配置情報に基づいて、前記マニプレータを所定の棚の近傍に移動し、
前記マニプレータに固定された原点を基準として、前記カメラ、前記鏡、および前記対象物の姿勢を算出する請求項１記載のマニプレータの制御方法。
【請求項５】
前記検出された鏡の領域から、前記マニプレータの少なくとも一部の像を検出し、
前記鏡の姿勢および前記前記マニプレータの少なくとも一部の像に基づいて、前記作業空間における前記前記マニプレータの少なくとも一部の姿勢を算出し、
該算出された前記マニプレータの少なくとも一部の姿勢の情報にさらに基づいて、前記マニプレータを操作する請求項１記載のマニプレータの制御方法。
【請求項６】
前記検出された鏡以外の領域から、前記対象物の少なくとも一部を検出し、
前記対象物の少なくとも一部の像に基づいて、前記作業空間における前記対象物の姿勢を算出し、
該算出された前記対象物の姿勢の情報にさらに基づいて、前記マニプレータを操作する請求項１記載のマニプレータの制御方法。
【請求項７】
前記検出された鏡以外の領域から、前記マニプレータの少なくとも一部を検出し、
前記マニプレータの少なくとも一部の像に基づいて、前記作業空間における前記マニプレータの少なくとも一部の姿勢を算出し、
該算出された前記マニプレータの少なくとも一部の姿勢の情報にさらに基づいて、前記マニプレータを操作する請求項１記載のマニプレータの制御方法。
【請求項８】
前記鏡または作業空間内にマーカーを配置し、
前記カメラによる撮像画像における前記マーカーの情報に基づいて、前記鏡の姿勢を検出する請求項１記載のマニプレータの制御方法。
【請求項９】
移動可能なマニプレータを、対象物が配置された作業空間で動作させるマニプレータの制御システムであって、
前記マニプレータは、前記マニプレータを移動させる移動機構と、前記対象物を操作する操作機構と、前記作業空間を撮像するためのカメラと、前記カメラの姿勢を変化させるカメラ制御機構と、制御部を有し、
前記制御部は、
前記カメラの姿勢を検出する機能と、
前記カメラの姿勢および前記カメラによる撮像画像に基づいて、該撮像画像内の鏡の姿勢を検出する機能と、
前記カメラによる撮像画像から前記鏡の領域を検出し、前記検出された鏡の領域から、前記対象物の少なくとも一部の像を検出する機能と、
前記鏡の姿勢および前記対象物の像に基づいて、前記作業空間における前記対象物の姿勢を算出する機能と、を有し、
該算出された前記対象物の姿勢の情報に基づいて、前記操作機構を操作するマニプレータの制御システム。
【請求項１０】
前記操作機構は、少なくとも一つの関節機構で連結されたアーム部と、該アーム部に保持され、前記対象物を把握および移動可能なグリッパ部を有し、
前記カメラは、前記グリッパ部に配置され、
前記制御部は、前記操作機構の動作を制御するとともに、前記操作機構の形状の幾何学的データを記憶しており、該幾何学的データを用いて前記カメラの姿勢を検出する、請求項９記載のマニプレータの制御システム。
【請求項１１】
前記対象物が配置された作業空間は、前記対象物が配置された棚を基準として定義される空間であり、
前記棚に前記鏡が配置されている、請求項９記載のマニプレータの制御システム。
【請求項１２】
前記マニプレータは、複数の前記棚のうち任意の棚の近傍に移動可能な構成であり、
前記制御部は、前記複数の棚の配置に関する棚配置情報と、各棚に配置された対象物に関する対象物情報を記憶しており、
前記制御部は、前記棚配置情報と前記対象物情報に基づいて、前記マニプレータを所定の棚の近傍に移動させ、前記カメラで前記作業空間を撮像する、請求項１１記載のマニプレータの制御システム。
【請求項１３】
前記作業空間にはマーカーが配置されており、前記マーカーと前記鏡との相対的位置関係は前記制御部に記憶されており、前記カメラによる撮像画像中の前記マーカーに基づいて該撮像画像内の鏡の姿勢を検出する、請求項１２記載のマニプレータの制御システム。
【請求項１４】
対象物が配置された作業空間で動作させるマニプレータであって、
前記マニプレータを移動させる移動機構と、
前記対象物を操作するグリッパ部と、
前記グリッパ部を移動させるアーム部と、
前記作業空間を撮像するためのカメラと、
前記カメラの姿勢を変化させるカメラ制御機構と、
制御部を有し、
前記制御部は、
前記カメラの姿勢を検出する機能と、
前記カメラの姿勢および前記カメラによる撮像画像に基づいて該撮像画像内の鏡の姿勢を検出する機能と、
前記カメラによる撮像画像から前記対象物の少なくとも一部の像を検出する機能と、
前記鏡の姿勢および前記対象物の像に基づいて、前記作業空間における前記対象物の姿勢を算出する機能と、
該算出された前記対象物の姿勢の情報に基づいて、前記グリッパ部を操作するマニプレータ。
【請求項１５】
前記グリッパ部に配置されたマーカーを有し、
前記鏡の姿勢を検出する機能において、
前記マーカーの姿勢に関する情報と、前記カメラによる撮像画像中の前記マーカーの像を用いて、該撮像画像内の鏡の姿勢を検出する、請求項１４記載のマニプレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマニプレータの構成および制御方法に関し、特に画像を用いた移動型マニプレータの構成および制御方法に関する。
【背景技術】
【０００２】
移動マニプレータは、倉庫や工場などの施設や家庭内などにおける人間の活動を代替するものとして、実用化が期待されている。  移動マニプレータは、一般に、前進・後退・旋回などにより自身を移動させる移動台車部と、移動台車部に取り付けられた１つ以上の関節を有するアーム部と、アーム部の先端に取り付けられたグリッパ部とを有する。グリッパ部は、特定の物体を把持したり、移動させたりすることができる。こうした、グリッパ部による物体の把持や移動を、物体に対する操作と呼称する。【０００３】
工場などにおいて架台に固定された据え付け型マニプレータは、特定の作業空間において、決められた位置にある対象物に対して操作を行う。従って、周囲の障害物とマニプレータが衝突・干渉しないように対象物を操作する方法を、あらかじめ設計することができる。【０００４】
一方、移動マニプレータは、据え置き型マニプレータとは異なり、それ自身が動き回るため、アーム部やグリッパ部の作業空間を限定することはできない。すなわち、移動型マニプレータは、作業対象物と障害物とが雑然と配置された未知の空間が作業空間となる。そうした未知の作業空間において、移動マニプレータは、障害物と衝突・干渉が発生しないように、アーム部やグリッパ部や対象物を操作する必要がある。そのためには、マニプレータ自身、特に物体とのインタラクションが生じるアーム部やグリッパ部と、対象物や周囲の障害物の位置関係を取得することが必要となる。【０００５】
従来、移動マニプレータを含むロボットと、対象物や周囲の環境との位置関係を、カメラを用いて取得する技術がある。【０００６】
たとえば、特許文献１では、作業空間に設置されたカメラが、作業ロボットの画像（監視画像）を撮影し、操作者が上述の一人称画像および監視画像を見ながら操作を行う技術が公開されている。【０００７】
また、特許文献２では、マニプレータを有するロボットの体幹に第１のカメラを備え、第１のカメラとは別の第２のカメラをマニプレータに備え、第１のカメラの画像と第２のカメラの画像とを合成する発明が開示されている。これにより、第１のカメラに映りこむマニプレータ部分の領域を、第２のカメラで補完することで、第１のカメラにおけるマニプレータによる死角を除去し、把持対象物の位置を第１のカメラにより特定している。【０００８】
特許文献３では、作業空間に設けられた識別面と、識別面に対向する位置に設けられた反射鏡と、反射鏡を介して識別面を撮影するカメラを備え、カメラによって撮影された識別面の画像に基づいて、作業空間への侵入物を検出する技術が公開されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−０６２７６６
【特許文献２】特開２０１０−１３１７５１
【特許文献３】特開２０１３−５２４８５
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１記載の技術では、監視画像用のカメラを、作業空間に死角がないように設置しなければならない。この場合、対象物が棚のような場所に置かれている場合、必ず死角ができてしまうという課題がある。【００１１】
また、特許文献２記載の技術では、腕カメラを用いても、対象物の陰となった死角は撮影できない。こうした対象物の陰を撮影するためには、腕カメラを対象物の背後に回り込ませる必要がある。腕カメラを回り込ませるために腕を移動させる経路に障害物があった場合、マニプレータと障害物が衝突してしまう。【００１２】
一方、特許文献３記載の技術では、作業空間において、反射鏡の位置と、それに対するカメラの位置は、予め所定の位置関係となるように、固定されているのが前提である。そのため、カメラや反射鏡の位置が変わると識別面を撮影できなくなる。すなわち、作業空間を変更する場合は、反射鏡と、それに対するカメラの位置とを、所定の位置関係となるように、設置し直す必要がある。従って、移動するマニプレータのように作業領域が任意に変更されるものには適用できない。【００１３】
上記を鑑み、本発明が解決する課題は、移動マニプレータの作業空間において、グリッパ部と対象物の位置関係、および周囲の環境とを、死角無く撮影し、それに基づき、障害物に衝突しないようにグリッパ部の位置を制御する方法を提供することにある。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち代表的なものを挙げれば、画像から鏡の姿勢を検出する手続きと、画像から物体の姿勢を検出する手続きとを備え、前記姿勢を検出された鏡に映った物体の姿勢を検出し、検出された前記物体の姿勢に基づきマニプレータを制御する方法である。【００１５】
本発明の他の側面は、移動可能なマニプレータを、対象物が配置された作業空間で動作させるマニプレータの制御方法である。この方法では、作業空間またはその近傍に配置された鏡をマニプレータに搭載されたカメラで撮像し、カメラの姿勢およびカメラによる撮像画像に基づいて鏡の姿勢を検出する。そして、カメラによる撮像画像から鏡の領域を検出し、検出された鏡の領域から、対象物の少なくとも一部の像を検出する。そして、鏡の姿勢および対象物の像に基づいて、作業空間における対象物の姿勢を算出し、算出された対象物の姿勢の情報に基づいて、マニプレータを操作する。【００１６】
鏡の姿勢および対象物の像に基づいて、作業空間における対象物の姿勢を算出する手法としては、種々考えられる。一例としては、カメラの姿勢と記鏡の姿勢に基づいて、カメラの鏡像視点を算出し、カメラの鏡像視点と鏡に映る対象物の像に基づいて、作業空間における対象物の姿勢を算出する。他の例としては、カメラの姿勢と鏡に映る対象物の像に基づいて、鏡像空間における対象物の虚像の姿勢を算出し、対象物の虚像の姿勢と鏡の姿勢に基づいて、作業空間における対象物の姿勢を算出する。【００１７】
このように、鏡に映った像を利用することで、カメラの位置からは撮影できない情報を得ることができ、マニプレータの制御に利用することができる。【００１８】
さらに具体的な例を説明すると、対象物は棚に載置され、棚の配置情報に基づいて、マニプレータを所定の棚の近傍に移動し、マニプレータに固定された原点を基準として、カメラ、鏡、および対象物の姿勢を算出するように構成してもよい。マニプレータ自体は移動するため、作業時にはマニプレータを基準とした座標軸に統一することで、制御が容易となる。【００１９】
また、鏡に映る像としては、操作対象物だけでなく、マニプレータ自身や、その他の物体の像を利用してもよい。また、鏡に映る像と、カメラで直接撮影した鏡以外の領域の画像を統合して用いることで、より多くの情報を得ることができる。【００２０】
鏡の姿勢を検知するための方法としては、例えば、鏡または作業空間内にマーカーを配置し、カメラによる撮像画像におけるマーカーの情報に基づいて鏡の姿勢を検出することができる。【００２１】
本発明の他の側面は、移動可能なマニプレータを、対象物が配置された作業空間で動作させるマニプレータの制御システムである。このシステムにおいて、マニプレータは、マニプレータを移動させる移動機構と、対象物を操作する操作機構と、作業空間を撮像するためのカメラと、カメラの姿勢を変化させるカメラ制御機構と、制御部を有する。制御部は、カメラの姿勢を検出する機能と、カメラの姿勢およびカメラによる撮像画像に基づいて撮像画像内の鏡の姿勢を検出する機能とを有する。また、カメラによる撮像画像から鏡の領域を検出し、検出された鏡の領域から、対象物の少なくとも一部の像を検出する機能と、鏡の姿勢および対象物の像に基づいて、作業空間における前記対象物の姿勢を算出する機能とを有する。そして、このシステムでは、算出された対象物の姿勢の情報に基づいて、操作機構を操作する。【００２２】
操作機構の構成例としては、少なくとも一つの関節機構で連結されたアーム部と、アーム部に保持され、対象物を把握および移動可能なグリッパ部を有する例が考えられる。また、カメラは、グリッパ部に配置することができる。【００２３】
カメラの姿勢を検出する一例としては、制御部は、操作機構の動作を制御するとともに、操作機構の形状の幾何学的データを記憶しており、該幾何学的データを用いてカメラの姿勢を検出することができる。【００２４】
また、好ましい具体例では、対象物が配置された作業空間は、対象物が配置された棚を基準として定義することができ、棚に鏡を配置するように構成することができる。【００２５】
さらに好ましい具体例では、マニプレータは、複数の前記棚のうち任意の棚の近傍に移動可能な構成である。制御部は、複数の棚の配置に関する棚配置情報と、棚の形状に関する棚形状情報と、各棚に配置された対象物に関する対象物情報を記憶しており、制御部は、棚配置情報と対象物情報に基づいて、マニプレータを所定の棚の近傍に移動させ、カメラで前記作業空間を撮像するように構成することができる。【００２６】
また、鏡の姿勢を検出しやすくするための具体例として、作業空間にはマーカーが配置されており、マーカーと鏡との相対的位置関係は制御部に記憶されており、カメラによる撮像画像中のマーカーに基づいて撮像画像内の鏡の姿勢を検出することができる。【００２７】
本発明のさらに他の側面は、対象物が配置された作業空間で動作させるマニプレータである。このマニプレータは、マニプレータを移動させる移動機構と、対象物を操作するグリッパ部と、グリッパ部を移動させるアーム部と、作業空間を撮像するためのカメラと、カメラの姿勢を変化させるカメラ制御機構と、制御部を有する。制御部は、カメラの姿勢を検出する機能と、カメラの姿勢およびカメラによる撮像画像に基づいて撮像画像内の鏡の姿勢を検出する機能とを有する。また、カメラによる撮像画像から対象物の少なくとも一部の像を検出する機能と、鏡の姿勢および対象物の像に基づいて、作業空間における対象物の姿勢を算出する機能と、算出された対象物の姿勢の情報に基づいて、グリッパ部を操作する。さらに具体的な構成例をしては、グリッパ部に配置されたマーカーを有し、鏡の姿勢を検出する機能において、マーカーの姿勢に関する情報と、カメラによる撮像画像中のマーカーの像を用いて、該撮像画像内の鏡の姿勢を検出するようにしてもよい。【００２８】
以上において制御部の構成は、単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。具体的には、制御部は、マニプレータに搭載されたコンピュータで構成してもよいし、機能の一部または全部を、マニプレータと通信可能なサーバに配置してもよい。また、制御部の機能は処理装置で実行されるソフトウエアで実現することができる。また、ソフトウエアで構成した機能と同等の機能は、FPGA（Field Programmable Gate Array）、ASIC（Application Specific Integrated Circuit）などのハードウエアでも実現できる。そのような態様も本願発明の範囲に含まれる。
【発明の効果】
【００２９】
本発明によれば、移動マニプレータの作業空間において、障害物に衝突しないように制御できる。上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００３０】
【図１】移動マニプレータによる、対象物のピッキング動作を模式的に示した斜視図である。
【図２】実施の形態１にかかる移動マニプレータの概略構成の一例を模式的に示した斜視図である。
【図３】実施の形態１にかかる移動マニプレータのグリッパ部の構成の一例を示した側面図である。
【図４】実施の形態１にかかる棚の構成の一例を模式的に示した斜視図である。
【図５】実施の形態１にかかる平面鏡の構成の一例を模式的に示した正面図である。
【図６】実施の形態１にかかる移動マニプレータの制御システムの構成の一例を示したブロック図である。
【図７】実施の形態１にかかる移動マニプレータの動作手順の一例を示した流れ図である。
【図８】図７のステップＳ７０２における作業空間の側面から見た様子の一例を模式的に示した側面図である。
【図９】図８においてカメラ１４により撮影された撮影画像１４１の一例を示したイメージ図である。
【図１０】図７のステップＳ７０２における作業空間の側面から見た様子の別なる一例を模式的に示した側面図である。
【図１１】図１０においてカメラ１４により撮影された撮影画像１４２の一例を示したイメージ図である。
【図１２】実施の形態１にかかる平面鏡の姿勢を算出する方法を模式的に示した原理図である。
【図１３】実施の形態１にかかるカメラの平面鏡に対する鏡像視点Ｃ’を説明した側面図である。
【図１４】実施の形態１にかかるカメラの平面鏡に対する鏡像視点Ｃ”を説明した側面図である。
【図１５】実施の形態１にかかる移動マニプレータのグリッパ部の構成の別なる一例を示した側面図である。
【図１６】実施の形態１にかかる平面鏡の構成の別なる一例を模式的に示した正面図である。
【図１７】実施の形態１にかかるチェッカーパターンマーカーの構成を示した図面である。
【図１８】実施の形態１にかかる凸面鏡の構成の一例を示した模式図である。
【図１９】実施の形態１にかかる棚の構成の別なる一例を示した斜視図である。
【図２０】実施の形態２にかかる棚の構成を模式的に示した斜視図である。
【図２１】実施の形態２にかかる移動マニプレータの動作手順の一例を示した流れ図である。
【図２２】実施の形態２にかかるトレイの構成を示した模式図である。
【図２３】実施の形態３にかかる移動マニプレータのグリッパ部の構成の一例を示した斜視図である。
【図２４】実施の形態３にかかる平面鏡の反射面を算出する方法の一例を示した側面図である。
【図２５】実施の形態３にかかる棚の構成を模式的に示した斜視図である。
【図２６】実施の形態４にかかる移動マニプレータの動作手順の一例の一部を示した流れ図である。
【図２７】実施の形態４にかかる平面鏡の反射面を算出する方法の一例を示した側面図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施の形態について添付図面を参照して説明する。なお、全ての図面において、実施形態が異なる場合であっても、同一または相当する部材については同一の符号を付し、共通する説明は繰り返さない。本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００３２】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００３３】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【実施例１】
【００３４】
図１は移動マニプレータによる、対象物のピッキング動作を示した図である。本発明の実施の形態１では、図１に示すように、移動マニプレータ１によって、棚２に置かれる対象物３を把持し、持ち上げる動作について説明する。以降、移動マニプレータ１による、対象物３の把持および持ち上げにかかる一連の動作を、対象物３のピッキング動作と称する。【００３５】
（構成）
図２は、実施の形態１にかかる移動マニプレータ１の概略構成を示す模式的な斜視図である。図２において、移動型マニプレータ１は、制御部１０と、移動台車部１１と、アーム部１２と、アーム部１２の先端に固定されるグリッパ部１３と、グリッパ部１３の所定の箇所に具備されるカメラ１４とから構成される。【００３６】
制御部１０は、有線ないし無線によって上位制御部６（後述）の指示を受信し、移動マニプレータ１の動作の制御を行う。ここで、動作の制御とは、前記指示に基づき、移動マニプレータ１の各部の動作を制御するだけではなく、移動マニプレータ１のカメラ１４などの情報に基づいて、移動マニプレータ１の動作を計画するなどの知的処理も含むものとする。【００３７】
移動台車部１１は、車輪１１０などの移動機構を１つ以上備え、移動マニプレータ制御部１０の動作指令に基づき、前進・後退・旋回などにより、移動マニプレータ１を平坦地の任意の場所に移動させる。なお、ここで平坦地とは、単純な平面だけではなく、斜面や小さな段差などを含んでもよい。以下、移動台車部１１による移動マニプレータ１の平坦地移動を、移動マニプレータ１の走行と称する。【００３８】
アーム部１２は、移動台車部１１の所定の箇所に固定される。また、アーム部１２は、１つ以上の関節機構を有し、移動マニプレータ制御部１０の動作指令に基づき、グリッパ部１３を、所定の３次元空間内において、所定の位置および方向に移動させる。以下、グリッパ部１３の位置および方向を、グリッパ部１３の姿勢と称する。なお、図２において、アーム部１２は、複数の関節機構が腕部により連結される垂直多関節型機構を持つ構成を示したが、グリッパ部１３を、所定の姿勢に移動させる構成であれば、この構成に限るものではない。たとえば、水平多関節機構、直交多関節機構、パラレルリンク機構であってもよく、また、それらの組み合わせであってもよい。【００３９】
グリッパ部１３は、所定の物体を把持する機能を有する。なお、図２において、グリッパ部１３は、２本の指機構１３０により、所定の物体を挟むことで把持する構成を示しているが、これに限るものではない。たとえば、３本以上の指機構を有している構成や、指機構を用いず真空吸着機構や磁石により、対象物を把持する構成であってもよい。【００４０】
図３は、図２におけるアーム部１２の先端部およびグリッパ部１３およびカメラ１４の模式的な側面図である。図３おいて、カメラ１４は、グリッパ部１３の指機構１３０の延伸方向に対して、所定の角度でオフセットされて固定される。すなわち、カメラ１４の視野Ｖの下端方向が、指の延伸方向と平行となるように固定される。これにより、視野Ｖに指機構１３０が映りこむことを避けることができる。【００４１】
アーム部１２には、関節機構１２１が具備され、グリッパ部１３を、図３における矢印Ｐに沿って、任意の角度に向けることができる。同様に、アーム部１２には、関節機構１２２が具備され、グリッパ部１３を、図３における矢印Ｒに沿って、任意の角度に向けることができる。また、図示されないアーム部１２の他の関節機構によって、アーム部１２は、グリッパ部１３を、図３における矢印Ｙに従った、任意の方向に向けることができる。これらにより、アーム部１２は、グリッパ部１３を任意の方向に向けることができる。もっとも、図３に示した構成は一例であって、公知の種々の関節機構を組み合わせて構成することができる。【００４２】
図４は、本発明の実施例１にかかる棚２の概略構成を示す模式的な斜視図である。棚２は、４本の支柱２０によって支持された１枚の棚板２１と１枚の棚天板２２とから構成される。棚板２１にはピッキング対象物３が複数置かれている。【００４３】
ここで、実施の形態１にかかる、移動マニプレータ１に対して、作業空間を定義する。作業空間とは、移動マニプレータ１のピッキング動作の対象となる１つ以上の対象物３が置かれた所定の空間である。図４において、移動マニプレータ１の作業空間とは、四方を支柱２０によって囲まれた、棚板２１の上面から棚天板２２の下面に至るまでの直方体形状の３次元的な空間と定義する。【００４４】
実施の形態１にかかる作業空間には、所定の位置に平面鏡４が配置される。図４においては、平面鏡４は、その反射面を棚板２１の方向に向けて、棚天板２２の所定の箇所に、所定の角度で固定される。もっとも、対象物３や平面鏡４は厳密に作業空間内に存在が制限されるものではなく、対象物３や平面鏡４の一部が作業空間からはみ出したり、対象物３や平面鏡４の全体が作業空間の近傍に配置されることを妨げるものではない。【００４５】
図５は、平面鏡４の反射面を正面から見た構成を模式的に示す図面である。平面鏡４は、ガラス、金属、プラスチック等で構成可能であり、カメラ１４で撮像可能な領域の波長を少なくとも反射するものとする。図５において、平面鏡４の反射面の四隅には所定の形状のマーカー５が配置される。図５において、マーカー５は、全て同一の形状をしている。マーカー５の形状は、カメラ１４により撮影された画像から、所定画像処理により、その存在可否および撮影された個数を検出可能な形状であればよい。更に、前記画像処理において、前記画像内の各マーカー５の中心座標を算出可能な形状であればよい。マーカー５は、平面鏡表面または内部への突起物付加、プリント、刻印、シールの塗布等で形成可能である。また、平面鏡４に配置された、各マーカー５の位置関係は、あらかじめ制御部１０もしくは上位制御部６（後述）に、記憶される。【００４６】
図６は、実施の形態１における移動マニプレータの制御システムの構成の一例を示した図面である。移動マニプレータ１の制御部１０には、マニプレータ１の全体を制御する全体制御部１００、制御に必要なデータを格納するデータ記憶部１０１、移動台車部１１の制御を行う移動台車制御部１０２、アーム部１２の制御を行うアーム制御部１０３、グリッパ部１３の制御を行うグリッパ制御部１０４、カメラ１４で得られた画像を処理する画像処理部１０５が、具備される。また、移動マニプレータ１の制御部１０は、有線ないし無線によって、上位制御部６と通信可能な構成である。【００４７】
上位制御部６には、地図データ６０１、棚形状データ６０２、対象物データ６０３といった情報を記憶する対象物データ記憶部６０が具備される。上位制御部６は、移動マニプレータ１の筐体に内蔵されてもよく、もしくは移動マニプレータ１の外部にあってもよい。上位制御部６と制御部１０は、連携して情報処理を行い、移動マニプレータ１の制御ができればよいので、単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、有線または無線のネットワークで接続された複数のコンピュータで構成されてもよい。【００４８】
ここで、地図データ６０１は、移動マニプレータ１の移動台車部１１が走行できうる空間（以下、走行空間）において、棚２が配置されている地点などが記述されたデータである。棚２が、走行空間において、複数配置されている場合は、それぞれの棚２に個別の識別符号が付与されて、識別符号と地点とが対になって記憶されているものとする。棚形状データ６０２は、棚２の所定の部位を基準にして、棚板２２の幅・奥行き・高さといった情報が記述されたデータである。対象物データ６０３は、ピッキング動作の対象となる対象物３の種類あるいは識別番号、また、その対象物３が配置される棚板２２の識別符号等の情報が格納される。また、対象物データ６０３は、さらに対象物３の形状、重さ、材質などの特性データを含んでもよい。【００４９】
すなわち、地図データ６０１と、棚形状データ６０２と、対象物データ６０３との組み合わせによって、上位制御部６は、ピッキング動作の対象となる対象物３が陳列される作業空間が、走行空間のどこに存在するかを特定可能であり、それに基づき移動マニプレータ１の制御部１０に、ピッキング指令を送信することができる。【００５０】
一方、作業空間において、ピッキング動作の対象となる対象物３が、どのような姿勢（位置および向き。例えば、位置は対象物であるビンの重心の位置。向きはビンが立っているか倒れているか等）で陳列されているかは、上位制御部６は知り得ない。陳列される対象物３は、移動マニプレータ１によりピッキングされたり、走行空間内における人間の作業員によりピッキングされたりするため、随時姿勢が変更されている可能性があるためである。【００５１】
従って、移動マニプレータ１は、作業空間における対象物３の姿勢を確認してから、対象物３をピッキングする必要がある。【００５２】
（動作）
次に、図７ないし図１３を参照して、実施の形態１における移動マニプレータによる対象物３のピッキング動作の手順について説明する。【００５３】
図７は、実施の形態１におけるピッキング動作手順の全体概要を示す図である。なお、図７における各ステップは、移動マニプレータ１の制御部１０に内蔵される所定のプログラムによって実行されてもよいし、上位制御部６で実行し、逐一もしくは纏めて移動マニプレータ１の制御部１０に指令を送信するようにしてもよい。【００５４】
図７のフローは、例えばオペレータが、対象物３を特定しピッキングを行う指示を上位制御部６に入力することにより開始される（START）。【００５５】
ステップＳ７０１において、移動マニプレータ１は、ピッキングする対象物３が陳列される棚２の前まで走行する。前述のように、上位制御部６には、移動マニプレータ１の走行空間において、ピッキングする対象物３が陳列されている棚２の地点、すなわち作業空間の地点が記憶されている。上位制御部６は、移動マニプレータ１の制御部１０に対して、その作業空間の地点を示す情報を含んだピッキング指令を送信する。そして、移動マニプレータ１は、前記ピッキング指令で指定される作業空間の地点まで、移動台車部１１を制御して走行する。この走行には、たとえば、あらかじめ走行空間に走行経路を示す磁気ケーブルなどを埋め込んでおき、その磁気ケーブルに沿って移動するなどの、既存技術を用いればよい。あるいは地図データ６０１を用いて、自律的に移動する既存技術を用いてもよい。【００５６】
ステップＳ７０２において、移動マニプレータ１は棚２の前まで走行した後、グリッパ部１３の姿勢を変更して、棚の前方（開口部）から、カメラ１４を、前記作業空間を向くように移動させ、画像を撮影する。上位制御部６に予め記憶される、作業空間の地点情報と棚形状データ６０２により、移動マニプレータ１の中心（中心は任意に定めることができる。以下、説明を単純にするために、移動マニプレータ１の原点と称する）に対する、作業空間における棚板２１の姿勢は既知である。そのため、移動マニプレータ１は、棚板２１の位置から相対的に定められる所定の姿勢（位置及び向き）に、カメラ１４が位置するように、アーム部１２およびグリッパ部１３を制御することができる。例えば、棚２から所定距離離れた位置に移動マニプレータ１の中心を位置決めし、アーム１２およびグリッパ１３を棚板２１の姿勢に応じて設定された姿勢に位置決めする。【００５７】
図８は、ステップＳ７０２において、作業空間の側面から見た様子を模式的に示した図面である。【００５８】
図８において、棚板２１の上には、ピッキング動作の対象である対象物３ａの他に、グリッパ部１３から見て対象物３ａの奥側に、ピッキング動作の対象ではない対象物３ｂが位置している。従って、グリッパ部１３によって対象物３ａをピッキングする際には、グリッパ部１３の指機構１３０が対象物３ｂと干渉しないように制御する必要がある。【００５９】
図９はステップＳ７０２においてカメラ１４により撮影された撮影画像１４１の一例を示した図面である。【００６０】
図９に示されるように、撮影画像１４１において、対象物３ｂの像は、対象物３ａの陰となるように撮影される。こうした、物体の陰となり一部が欠損した像から、対象物３ｂの姿勢を、精度よく特定することは、一般的に困難となる。また、グリッパ部１３から見て、対象物３ｂが、対象物３ａによって完全に隠されている場合は、図８の状態から、対象物３ｂの存在を検知することはできない。【００６１】
図７に戻って説明を続ける。
【００６２】
ステップＳ７０３において、撮影画像１４１（図９）に対して、平面鏡４の四隅にあるマーカー５の検出処理を行う。ここでは、マーカー５の形状や個数は、予め例えば棚形状データ６０２の一部として記憶しておく。マーカー５の形状や個数が既知であるため、公知のテンプレートマッチング処理により、撮影画像１４１に撮影されるマーカー５の個数および、その撮影画像１４１における画素座標値を特定することができる。なお、マーカー５を省略し、画像処理等により平面鏡４の角部をマーカーの代わりに抽出してもよいが、マーカーを準備して利用したほうが、画像処理の負担が低減できる。ステップＳ７０３以降の画像の処理や計算は、画像処理部１０５で行う。また、画像処理部１０５、全体制御部１００、上位制御部６で分担して処理を行ってもよい。【００６３】
ステップＳ７０３において、画像から４個のマーカー５が検出されなかった場合、グリッパ部１３の姿勢を変更する（ステップＳ７０４）。たとえば、所定の角度値だけ、図３の矢印Ｐの方向にアーム部１２の関節機構１２１を回転して、グリッパ部１３の姿勢を変更するなどの制御動作を行う。そして、姿勢を変更した後に、再び作業空間をカメラ１４により撮影し（ステップＳ７０２）、マーカー５の検出処理（ステップＳ７０３）を行う。【００６４】
ステップＳ７０２ないしステップＳ７０４の処理は、カメラ１４の撮影画像から既知の数（例えば４個）のマーカーが検出されるまで繰り返し行われる。ステップＳ７０１の段階で、棚２と移動マニプレータ１の位置関係を、全てのマーカーがカメラ１４の画角に収まるような適切な位置関係に位置決めしておくことが望ましい。この場合、１回あるいは所定回数の試行でマーカーが検出されるはずである。しかし、所定回数以内にマーカーが検出できない場合は、エラー信号あるいは警告を発する等して、オペレータに知らせることもできる。【００６５】
図１０は、カメラ１４の撮影画像から４個のマーカー５が検出された時の作業空間を側面から見た様子を模式的に示した図面である。鏡４がカメラ１４の画角内に収まっている。【００６６】
図１１は、図１０におけるカメラ１４の撮影画像の一例を示した図面である。【００６７】
ステップＳ７０５において、カメラ１４の撮影画像（図１１）を基にして、平面鏡４の作業空間における姿勢を算出する。算出方法の一例を図１２に示す。【００６８】
図１２において、移動マニプレータ１の原点をＯ、カメラ１４の視点をＣ、平面鏡４の中心点をＭとする。また、説明を単純にするため、図１２において、平面鏡４は厚みを持たない長方形として図示され、マーカー５の位置は前記長方形の各頂点の位置とする。【００６９】
図１２において、移動マニプレータ１の原点Ｏを基準とした、カメラ１４の視点Ｃの姿勢（カメラの位置と傾きを示す情報。例えば、カメラのレンズの中心点の位置及びカメラの光軸が向く方向を用いることができる）は、図１２には図示されないアーム部１２の各関節の角度および関節間を結ぶ腕の長さにより、一意に算出できる。アーム部１２の各関節の角度、関節間を結ぶ腕の長さ、等の移動マニプレータ１に関する情報は、予め例えば制御部１０のデータ記憶部１０１に格納しておく。このようにして算出される、移動マニプレータ１の原点Ｏを基準とした、カメラ１４の視点Ｃの姿勢を示す同次変換行列をＯＴＣとする。図１２において、カメラ１４の視点Ｃで撮影した撮影画像（図１１）は、撮影画像面Ｐとして示される。【００７０】
一方、平面鏡４のマーカー５の相互の位置関係、すなわち平面鏡４の各辺の長さＨおよびＷは、例えば棚形状データ６０２の一部として記憶されており、これにより既知である。このとき、マーカー５とカメラ１４の視点Ｃを結ぶ４本の直線と、カメラ１４の撮影画像面Ｐとの交点が、ステップＳ７０３により検出されたマーカー５の座標となる。このカメラ１４の撮影画像面Ｐにおけるマーカー５の座標と、鏡４の各辺の長さＷとＨとから、ホモグラフィ行列を推定することにより、カメラ１４の視点Ｃに対する、平面鏡４の中心点Ｍの姿勢（鏡の位置と傾きを示す情報。例えば、鏡の中心点の位置及び鏡面が向く方向を用いることができる）を算出できる。算出された、カメラ１４の視点Ｃに対する平面鏡４の中心点Ｍの姿勢を示す同次変換行列をＣＴMとする。【００７１】
そして、算出された二つの同次変換行列ＯＴＣとＣＴｍとを積算することにより、移動マニプレータ１の原点Ｏを基準とした、平面鏡４の中心点の姿勢を示す同次変換行列ＯＴMが算出できる。同次変換行列ＯＴMが、作業空間（現実の空間）における平面鏡４の姿勢に相当する。【００７２】
このようにして、カメラ１４により撮像された平面鏡４の画像から、作業空間における平面鏡４の姿勢を導出した。このとき、平面鏡４の四隅に配置されたマーカー５により、平面鏡４の作業空間における姿勢を算出すると、正確な姿勢を算出することができる。算出された平面鏡４の姿勢は、制御部１０もしくは上位制御部６に記憶される。（ステップＳ７０６）。【００７３】
ステップＳ７０７において、再びカメラ１４を用いて作業空間を撮影する。ここでは、ステップＳ７０２と同じ姿勢とするが、また作業空間を撮影するものであれば、他の姿勢であってもよい。撮影された画像は図９と同様の画像１４１であるものとする。この画像１４１に対して、大きく分けて、ステップＳ７０８による処理と、ステップ７０９からステップ７２１までの処理という、二つの画像処理が並列的または直列的に行われる。【００７４】
ステップＳ７０８では、ステップＳ７０７において撮影された画像１４１から、ピッキング目標である対象物３ａを検出し、その姿勢を算出する。対象物３ａの検出には、あらかじめ記憶させておいた対象物３の画像（例えば対象物データ６０３の一部として記憶しておく）とパターンマッチングさせるといった、既知の画像認識アルゴリズムを適用すればよい。また、検出された物体の姿勢の算出は、あらかじめ対象物の大きさを記憶させておき、撮影画像１４１に映り込んだ大きさと比較したり、ホモグラフィを計算したりすることで算出すればよい。これら画像処理は、例えばカメラ１４の視点Ｃを原点とした座標で計算することができるが、最終的には、移動マニプレータ１の原点Ｏを基準とした座標に変換し、座標系を統一してもよい。また、この時同時に、他の対象物３ｂやグリッパ部１３の姿勢を併せて算出しておいてもよい。【００７５】
ステップＳ７０９では、カメラ１４の視点Ｃについて、平面鏡４の反射面Ｍに対して面対象となる点Ｃ’を算出する。以下の説明では、視点Ｃ’を、カメラ１４の鏡像視点Ｃ’と称する。【００７６】
図１３はカメラの平面鏡に対する鏡像視点Ｃ’を説明した側面図である。図１３により理解されるように、カメラ１４の視点Ｃについて、平面鏡４の反射面Ｍに対して面対象となる点姿勢Ｃ’がカメラ１４の鏡像視点Ｃ’となる。すなわち、カメラ１４の姿勢と鏡４の姿勢が既知であれば、カメラ１４の鏡像視点Ｃ’の姿勢が算出できる。そして、カメラ１４が撮像した鏡４に映っている対象物は、カメラ１４の鏡像視点Ｃ’から見た対象物のイメージに相当する。ここで、鏡４の姿勢はステップ７０６で記憶してあり、例えば、移動マニプレータ１の原点Ｏを基準とした座標で表現できる。また、カメラ１４の姿勢は、上述のようにデータ記憶部１０１に格納された、移動マニプレータ１に関するデータから、同じ座標を基準に算出することができる。【００７７】
ステップS７１０において、撮影された画像１４１における平面鏡４の領域、すなわち鏡領域画像の切り出し処理を行う。この鏡領域画像の切り出し処理の一例を、再び図１２を参照して、説明する。【００７８】
まず、移動マニプレータ１の原点Ｏを基準とした、平面鏡４の姿勢を示す同次変換行列ＯＴＭは、ステップＳ７０６により記憶されている（ここで、移動マニプレータ１はステップS７０１以降動かないものとする）。また、移動マニプレータ１の原点Ｏを基準としたカメラ１４の視点Ｃの姿勢を示す同次変換行列ＯＴＣは、アーム部１２の各関節の角度および関節間を結ぶ腕の長さにより算出できる。これら同次変換行列ＯＴＭとＯＴＣにより、ステップ７１０（図１３）におけるカメラ１４の視点Ｃを基準とした、平面鏡４の姿勢を示す同次変換行列ＣＴＭが算出できる。【００７９】
ここで、平面鏡４の各辺の長さ、すなわちＨおよびＷが既知である場合、ＣＴＭよりホモグラフィ行列を算出し、カメラ１４の撮影平面ｐにおける平面鏡４の像ｍを算出できる。カメラ１４の撮影平面ｐにおける平面鏡４の像ｍが鏡領域画像となる。したがって、撮影画像１４１から、像ｍの領域のみを切り出すことで、平面鏡４の鏡領域画像を切り出すことができる。なお、像ｍの切り出し方法としては、上記に限るものではなく、例えば鏡４の四隅のマーカーを検出し、マーカーで囲まれる矩形の領域を像ｍとしてもよい。【００８０】
このようにして切り出される平面鏡４の鏡領域画像は、図１３におけるカメラ１４の鏡像視点Ｃ’からＶ’で示される視野の画像となる。図１３から明らかなように、鏡領域画像には、対象物３ｂが、対象物３ａの陰とならずに撮像される。すなわち、ステップＳ７０８で死角となって検出されなかった物体が、鏡領域画像には撮像される。【００８１】
ステップＳ７１１において、ステップＳ７１０で切り出した鏡領域画像に対して、ステップＳ７０８と同様の画像処理によって、対象物３ｂを検出する。すなわち、鏡領域画像から、カメラ１４の視点Ｃからは見えない対象物３ｂを検出し、その姿勢をパターンマッチングや、ホモグラフィ計算により算出する。図１３に示すように、鏡領域画像の中の画像は、カメラ１４の鏡像視点Ｃ’から対象物３ｂを見たイメージである。【００８２】
鏡像視点Ｃ’を基準とし、これを原点とした座標でステップＳ７０８と同様の画像処理を行うと、対象物３ｂはカメラ１４の鏡像視点Ｃ’から見た姿勢として算出される。計算結果は、鏡像視点Ｃ’を原点とした座標で示すことができる。この時同時に、他の対象物３ａやグリッパ部１３の姿勢を併せて算出しておいてもよい。また、最終的には、移動マニプレータ１の原点Ｏを基準とした座標に変換し、座標系を統一してもよい。【００８３】
ステップＳ７１３において、ステップＳ７０８において算出された対象物３ａ等の姿勢情報と、ステップＳ７１１において得られた対象物３ｂ等の姿勢情報の統合を行う。これにより、作業空間における対象物３ａおよび対象物３ｂおよび必要に応じてグリッパ１３等の相対位置関係を、制御部１０が把握することが可能となる。【００８４】
先に述べたように、各姿勢を移動マニプレータ１の原点Ｏを基準とした座標に変換し、座標系を統一すれば、作業空間内の物体の位置関係を統一的に把握することができる。また、カメラ１４の視点Ｃと鏡像視点Ｃ’の両方から見える特徴点が対象物にある場合、ステレオ的処理により、対象物の３次元的な姿勢を算出することもできる。【００８５】
そして、統合された各物体の姿勢情報に基づき、グリッパ部１３を、対象物３ａを把持可能な姿勢まで移動するように制御を行い（ステップＳ７１４）、対象物をグリッパ部１３で把持する（ステップＳ７１５）。【００８６】
（効果）
以上説明した本実施の形態によれば、移動マニプレータ１は、その作業空間において、ピッキング動作の対象である対象物３ａの姿勢に加えて、棚開口部からは対象物３ａの陰となって死角に位置する対象物３ｂの姿勢を検出することが可能である。従って、対象物３ｂと、グリッパ部１３が衝突することなく、対象物３ａのみをピッキングすることが可能となる。【００８７】
また、あらかじめ作業空間内に配置された平面鏡４の姿勢を記憶しておく方法の場合、移動マニプレータ１が棚２に対して僅かでも傾斜して停止してしまうと、ステップＳ７０８において検出される、鏡像視点Ｃ’から見た対象物３ｂの姿勢が、移動マニプレータ１の棚２に対する傾斜角の２倍だけ、ずれた姿勢となってしまう。更に、ステップS７１０における鏡領域も、前記傾斜角だけずれた領域が切り出されてしまう。これらの影響により、対象物３ｂの姿勢が正しく算出することができない。一方、本実施の形態によれば、マーカー５等により平面鏡４の姿勢を算出するステップＳ７０５を設けることにより、移動マニプレータ１が棚２に対して傾斜して停止するといった走行に伴う停止位置のずれによらず、平面鏡４によるカメラ１４の鏡像視点Ｃ’の算出や鏡領域画像を切り出す処理を精度よく行うことができる。【００８８】
（変形例）
なお、本実施の形態による移動マニプレータ１のグリッパ部１３による対象物３ａのピッキングは、図７に示された手順通りに行う必要はなく、発明の範囲を逸脱しない限り適宜変更可能である。図７においては、ステップＳ７０５において平面鏡４の姿勢を算出してから、ピッキング動作が完了するまでに、ステップＳ７０７において１回だけ作業空間を撮影しているが、これに限る必要はない。【００８９】
たとえば、グリッパ部１３が、対象物３ａに十分近づいた状態で、再び撮影するステップ設けてもよい。【００９０】
図１４に示すように、グリッパ部１３が、対象物３ａに十分近づいた場合、カメラ１４からは対象物３ａのごく一部しか撮影できない。一方、図１４の状態におけるカメラ１４の鏡像視点Ｃ”からは、対象物３ａおよび対象物３ｂおよび、グリッパ部１３の指機構１３０の３つの物体を撮影することができる。従って、対象物３ａと対象物３ｂの位置関係だけではなく、対象物３ａとグリッパ部１３の位置関係および、対象物３ｂとグリッパ部１３の位置関係も、鏡領域画像から検出することができる。【００９１】
この場合、ステップＳ７０８を実施せず、ステップＳ７０９ないしステップＳ７１１を実施するだけで良い。これにより、対象物３ａと対象物３ｂとグリッパ部１３のそれぞれの位置関係を把握することができる。【００９２】
すなわち、本実施の形態にかかる動作手順においては、ステップＳ７０５によるマーカー５による平面鏡４の姿勢を算出する手順が、ステップＳ７０９ないしステップＳ７１１の手順の前に実施されていればよく、ステップＳ７０９ないしステップＳ７１１の手順の結果によって、グリッパ部１３の移動を制御するステップＳ７１４が実施されればよい。【００９３】
また、カメラ１４は、グリッパ部１３に必ずしも固定される必要はない。その例を図１５に示す。【００９４】
図１５に示すようにカメラ１４とグリッパ部１３との間に更に関節機構１３１を備え、グリッパ部１３に対するカメラ１４の角度Ｔを任意に変更できる構成でもよい。グリッパ部１３に対するカメラ１４の角度Ｔが、制御部１０により観測可能であれば、図１２に示した、移動マニプレータ１の原点Ｏからの平面鏡４の姿勢を算出が可能である。これにより、ステップＳ７０４におけるマーカー５の探索において、アーム部１２を制御する必要はなくなる。【００９５】
また、ステップＳ７０３において、平面鏡４の四隅にあるマーカー５を検出すると説明したが、必ずしも４個のマーカー５を検出する必要はない。その例を図１６に示す。【００９６】
図１６に示すように、平面鏡４の対角線に異なる形状になるように配置された、２種類のマーカー５およびマーカー５１を用いる方法でもよい、この場合、少なくとも３個のマーカーが検出されれば、平面鏡４の姿勢を算出することができる。これにより、ステップＳ７０２ないしステップＳ７０４に至る繰り返し処理の回数を減らすことができる。【００９７】
図１７に示すように、大きさが既知である所定の正方形から構成されるチェッカーパターンマーカー５２を１つだけ用いれば、所定の画像処理により平面鏡４の姿勢を算出することができる。これは、チェッカーパターン内の正方形の各頂点が、マーカー５と同様の役割を果たすためである。【００９８】
また、本実施の形態では平面鏡４を用いる手順を説明したが、平面鏡以外の形状の鏡を用いることも可能である。【００９９】
図１８に示すように既知の形状の凸面鏡４１を用いてもよい。図１８における凸面鏡４１は、その中央にチェッカーパターンマーカー５２が貼付される。凸面境４１を用いる場合、図７におけるステップＳ７１０において、画像から鏡領域画像を切り出した後に、凸面境４１の形状により定まる射影変換を施すことにより、凸面鏡４１の鏡領域画像を、平面画像へと変換すればよい。凸面鏡４１を用いることで、平面鏡４を用いる場合より、算出するための演算ステップ数が増加するが、より広い空間をカメラ１４の鏡視点から観測することが可能である。【０１００】
なお、これまでの説明では、作業空間に１つだけ平面鏡４が配置される例について説明した。当然ながら、作業空間における平面鏡４は複数配置されてもよい。たとえば、図１９に示すように、作業空間にマーカー５が四隅に配置された平面鏡４ａの他に、マーカー５２が四隅に配置された平面鏡４ｂと、マーカー５３が四隅に配置された平面鏡４ｃとが、さらに配置される構成でもよい。ここでは、マーカー５とマーカー５２とマーカー５３とは、それぞれ形状が異なり、所定の画像処理により判別して検出することが構成な可能であればよい。平面鏡４ａ〜４ｃについて、図７に示した動作手順がそれぞれ適用できることは言うまでもない。【０１０１】
図１９にかかる作業空間においては、平面鏡４ａ〜４ｃを複合して用いてもよい。たとえば、平面鏡４ａに対して、平面鏡４ｂを複合して用いる場合、ステップＳ７１０で切り出される平面鏡４ａの鏡領域画像から更に平面鏡４ｂの鏡領域画像を切り出すといった再帰的処理により実現すればよい。このように複数の平面鏡による複合的な姿勢算出によって、より死角のない対象物の姿勢検出が可能となる。
【実施例２】
【０１０２】
実施例１では、マーカー５を四隅に備えた平面鏡４を用いて、移動マニプレータ１のアーム部１２およびグリッパ部１３を制御する例について説明したが、マーカー５を備えた平面鏡４を全ての作業空間に配置する必要がある。そこで、本実施の形態では、平面鏡４にはマーカー５を配置せず、マーカー５を平面鏡４以外の箇所に配置する例について説明する。【０１０３】
図２０は、本実施の形態にかかる棚２の構成を示した図面であり、実施例１における図４と対比される図面である。また、図２０は、図４の左方向から棚２を正面から見た構成を模式的に示している。【０１０４】
図２０に示される棚２が、図４で示される棚２と異なる点は、棚板２１および棚天板２２の一部にマーカー５が具備される点である。また、図２０に示される棚２の棚天板２２の所定の箇所には、平面鏡４が、その反射面を棚板２１の方向に向けて、所定の角度で固定される。本実施の形態にかかる平面鏡４が、図５に示される平面鏡４と異なる点は、その四隅にマーカー５が具備されない点である。【０１０５】
また、本実施の形態において、上位制御部６の対象物データ記憶部６０に記憶される棚形状データ６０２には、棚２の形状と共に、棚２の所定の部位を基準とした平面鏡４の姿勢が、それぞれ記憶されている。すなわち、本実施の形態では、棚２とマーカー５と平面鏡４の相対的位置関係が予め知られている。【０１０６】
図２１は、本実施の形態にかかる移動マニプレータ１による対象物３のピッキング手順を説明した図面であり、実施例１における図７と対比されるものである。【０１０７】
図２１で示される動作手順において、図７で示される動作手順と異なる点は、下記の通りである。【０１０８】
まず、ステップＳ７０１によって移動マニプレータ１は棚２の前まで走行した後、ステップＳ７０２１において、棚開口部全体をカメラ１４により撮影する。これにより、図２０に示される棚２１および棚２２に貼付された４個のマーカー５がカメラ１４の撮影画像に映り込んでいるか探索することができる（ステップＳ７０３１）。ステップＳ７０３１において、マーカー５が４個検出されない場合は、カメラ１４の方向を変更し（ステップＳ７０４）、再度撮影を行う（ステップＳ７０２１）。【０１０９】
次に、カメラ１４の撮影画像から検出された４個のマーカー５と、前記棚形状データ６０２とを用いて、棚２の姿勢を算出する（ステップＳ７０５１）。【０１１０】
そして、算出された棚２の姿勢を基準に、前記棚形状データ６０２から、棚２に固定された平面鏡４の姿勢を算出し（ステップＳ７０５２）、その姿勢を制御部１０もしくは上位制御部６に記憶する（ステップＳ７０６）。【０１１１】
このように、本実施の形態は、平面鏡４の支持物体の形状と、前記支持物体を基準とした平面鏡４の姿勢と、前記支持物体に貼付されたマーカー５の位置とから、前記支持物体の姿勢を算出し、前記支持物体の姿勢から間接的に平面鏡４の姿勢を算出する。【０１１２】
なお、本実施の形態において、平面鏡４およびマーカー５の固定位置は、棚２に限るものではない。【０１１３】
図２２は、本実施の形態にかかる、対象物３を格納するトレイ２００の模式的な構成を示した斜視図である。トレイ２００の前面外側には、二次元コード５３が貼付され、トレイ２００の背面内側には平面鏡４が固定される。二次元コード５３には、そのパターン形状を識別符号として、トレイ２００の内容物などの情報が埋め込むことができる。【０１１４】
二次元コード５３は、実施例１におけるチェッカーパターンマーカー５２と同様に、その大きさが既知であれば、１つの二次元コード５３により、画像から姿勢を算出できる。【０１１５】
二次元コード５３および平面鏡４の固定姿勢を含むトレイ２００の形状データを、対象物データ記憶部６０に記憶しておくことで、本実施例にかかる棚２の姿勢から平面鏡４の姿勢を算出する手順と同様にして、トレイ２００の前面外側に貼付された二次元コード５３から、トレイ２００の背面内側に固定された平面鏡４の姿勢を算出できる。そして、算出されたトレイ２００の背面内側に固定された平面鏡４の姿勢を用いることで、トレイ２００内部にある対象物３を、グリッパ部１３にて、トレイ２００の壁面と衝突しないように把持可能であることは言うまでもない。【０１１６】
このようにして、本実施の形態のかかる移動マニプレータ１の動作手順においては、マーカー５を平面鏡４以外の場所に貼付可能であり、よりグリッパ部１３に固定されたカメラ１４に対して撮影しやすい場所に貼付することができる。
【実施例３】
【０１１７】
上述の実施例では、作業空間に配置される平面鏡４や棚２にマーカー５を配置する例について説明した。実施例３では、移動マニプレータ１の一部にマーカー５を配置する構成について説明する。【０１１８】
図２３は、本実施の形態にかかる移動マニプレータ１のグリッパ部１３の構成を模式的に示した斜視図である。本実施の形態にかかるグリッパ部１３が、実施例１と異なる点は、グリッパ部１３の２本の指機構１３０の中央にチェッカーパターンマーカー５２を更に備える点である。【０１１９】
図２４は、本実施形態にかかる移動マニプレータ１において、平面鏡４の姿勢を算出するための方法を模式的に示した図面である。図２４において、グリッパ部１３に固定されたカメラ１４の視野Ｖは、全て平面鏡４に映り込んだ鏡像である。ここで、平面鏡４の鏡像において検出されるチェッカーパターンマーカー５２の姿勢が示す点をｍ１とする。すると、平面鏡４の反射面が存在する平面は、アーム部１２の関節角度および関節間の腕の長さから算出されるチェッカーパターンマーカー５２の姿勢と、ｍ１との、垂直二等分面として、算出可能である。なお、マーカー５２のマニプレータへの取り付け位置の情報は、データとしてデータ記憶部１０５等に記憶しておく。よって、マーカー５２の姿勢は、カメラ１４の姿勢と同様、アーム部１２の各関節の角度および関節間を結ぶ腕の長さ等のデータにより、一意に算出できる。【０１２０】
図２５に本実施の形態における、作業空間の斜視図を示す。本実施の形態においては、平面鏡４の反射面が存在する平面を算出することができるが、平面鏡４の鏡領域の位置までは算出できない。しかしながら、図２５に示す棚２のように、作業空間と比して十分大きな平面鏡４を用いることで、作業空間にグリッパ部１３がある限り、グリッパ部１３に固定されるカメラ１４の視野を全て覆うように平面鏡４を配置することができる。このような平面鏡４を配置し、カメラ１４の撮影画像を、全て鏡領域画像とみなして制御する。【０１２１】
このようにして、本実施の形態は平面鏡４や棚２にマーカー５を配置することなく、鏡像視点を用いてグリッパ部１３の移動を制御することが可能となる。
【実施例４】
【０１２２】
他の変形例を説明する。この変形例は、基本的に図７、図２１で説明した実施例の変形例であり、障害物の姿勢検出処理の他の例である。【０１２３】
図２６に図７、図２１と異なる部分である、図７、図２１のステップＳ７０７とＳ７１３の間の部分のみを示す。この例では、鏡像視点を算出せず、画像中の鏡領域に写った障害物の鏡像空間内の姿勢から、作業空間内の姿勢を導き出す。【０１２４】
図２７に概念図を示す。カメラ１４の視点Ｃから見ると、鏡４には対象物３ｂが３ｂ’のように映りこんでいる。そこで、図７、図２１の実施例と同様に、画像内の鏡領域を切り出し（ステップＳ７１０）、ステップＳ７０８と同様の画像処理によって、対象物３ｂの虚像３ｂ’を検出する。すなわち、カメラ１４の視点Ｃからは対象物３ｂは見えないが、鏡領域画像から虚像３ｂ’を検出し、その姿勢をパターンマッチングや、ホモグラフィ計算により算出する（ステップＳ７１１）。図２７に示すように、鏡領域画像の中の画像は、カメラ１４の視点Ｃから対象物３ｂの虚像３ｂ’を見たイメージである。【０１２５】
虚像３ｂ’に対して、対象物３ｂの姿勢は、虚像３ｂ’の姿勢を鏡に対して鏡像変換することにより得られる（ステップＳ７１２）。この時同時に、他の対象物３ａやグリッパ部１３の姿勢を併せて算出しておいてもよい。また、計算結果は、最終的には、移動マニプレータ１の原点Ｏを基準とした座標に変換し、座標系を統一してもよい。【０１２６】
以上、本発明の具体的実施形態を詳細に説明したが、これらは開示の発明の明確な理解のために提示された実施の例である。従って、特許請求の範囲から逸脱することなく、上述の実施形態には、さらに各種態様、変形例、および組み合わせが形成できることは言うまでもない。例えば、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の実施例の構成の追加・削除・置換をすることが可能である。本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。【０１２７】
以上の実施形態では移動台車部１１を持つ移動マニプレータ１について説明したが、本発明はこれに限るものではない。たとえば、所定の箇所に固定された直動機構により、アーム部を移動させるような据え付け型マニプレータにも適用できることは言うまでもない。
【産業上の利用可能性】
【０１２８】
さまざまな移動マニプレータの制御に利用することが可能となる。
【符号の説明】
【０１２９】
１  移動マニプレータ
１０  制御部
１１  移動台車部
１１０  車輪
１２  アーム部
１２１、１２２  関節機構
１３  グリッパ部
１３１  指機構
１４  カメラ
２  棚
２０  支柱
２１  棚板
２２  棚天板
２００  トレイ
３、３ａ、３ｂ  対象物
４  平面鏡
４１  凸面鏡
５、５１  マーカー
５２  チェッカーパターンマーカー
５３  二次元コード
６  上位制御部
６０  対象物データ記憶部
【図１】
2016113836.tif 000003
【図２】
2016113836.tif 000004
【図３】
2016113836.tif 000005
【図４】
2016113836.tif 000006
【図５】
2016113836.tif 000007
【図６】
2016113836.tif 000008
【図７】
2016113836.tif 000009
【図８】
2016113836.tif 000010
【図９】
2016113836.tif 000011
【図１０】
2016113836.tif 000012
【図１１】
2016113836.tif 000013
【図１２】
2016113836.tif 000014
【図１３】
2016113836.tif 000015
【図１４】
2016113836.tif 000016
【図１５】
2016113836.tif 000017
【図１６】
2016113836.tif 000018
【図１７】
2016113836.tif 000019
【図１８】
2016113836.tif 000020
【図１９】
2016113836.tif 000021
【図２０】
2016113836.tif 000022
【図２１】
2016113836.tif 000023
【図２２】
2016113836.tif 000024
【図２３】
2016113836.tif 000025
【図２４】
2016113836.tif 000026
【図２５】
2016113836.tif 000027
【図２６】
2016113836.tif 000028
【図２７】
2016113836.tif 000029
【国際調査報告】
2016113836.tif 000030
2016113836.tif 000031
2016113836.tif 000032
2016113836.tif 000033