(57)【要約】【課題】処理負荷を抑制して、可動部先端の位置を推定する。【解決手段】第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、前記第２の視覚センサが配置される可動部の位置を算出する位置算出部、を備える情報処理装置を提供する。これにより、処理負荷を抑制して、可動部先端の位置を推定できる。【選択図】図１
2019146201.tif 000002
【特許請求の範囲】
【請求項１】
第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、
前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、
前記第２の視覚センサが配置される可動部の位置を算出する位置算出部、を備える情報処理装置。
【請求項２】
前記位置算出部は、前記第１の位置情報、前記第２の位置情報に基づいて、前記可動部の位置を算出し、
前記第２の位置情報は、前記第１の視覚センサを用いて取得される第２の視覚センサの位置情報を含む、請求項１に記載の情報処理装置。
【請求項３】
前記第１の位置情報は、前記マーカと前記第１の視覚センサとの第１の位置関係または第１の姿勢情報を含む、請求項１に記載の情報処理装置。
【請求項４】
前記第１の位置関係とは、前記マーカと前記第１の視覚センサとの間の距離及び方向を表し、
前記第１の姿勢情報とは、前記マーカに対する前記第１の視覚センサの回転角の情報である、請求項３に記載の情報処理装置。
【請求項５】
前記第２の位置情報は、前記マーカと前記第２の視覚センサとの第２の位置関係または第２の姿勢情報を含む、請求項１に記載の情報処理装置。
【請求項６】
前記第２の位置関係とは、前記マーカと前記第２の視覚センサとの間の距離及び方向を表し、
前記第２の姿勢情報とは、前記マーカに対する前記第２の視覚センサの回転角の情報である、請求項５に記載の情報処理装置。
【請求項７】
前記第１の視覚センサの位置を基準として指定された前記可動部の第１の目標可動位置を、前記第２の視覚センサの位置を基準とした前記可動部の第２の目標可動位置として変換する３次元情報統合部、を備える、請求項１に記載の情報処理装置。
【請求項８】
前記第２の目標可動位置と前記第２の位置情報とに基づいて、前記可動部の位置を算出し、
前記可動部の位置を制御する可動制御部を更に備える、請求項７に記載の情報処理装置。
【請求項９】
投影するマーカを制御する投影マーカ制御部を備える、請求項１に記載の情報処理装置。
【請求項１０】
前記投影マーカ制御部は、前記第１の視覚センサ及び前記第２の視覚センサの視覚範囲に応じて、前記マーカの投影場所を制御する、請求項９に記載の情報処理装置。
【請求項１１】
前記投影マーカ制御部は、前記マーカを作成する、請求項９に記載の情報処理装置。
【請求項１２】
前記位置算出部は、投影面形状に基づいて、前記第２の視覚センサが配置される前記可動部の先端の位置を算出する、請求項１に記載の情報処理装置。
【請求項１３】
前記マーカは可視光、赤外光及び紫外光を含む、請求項１に記載の情報処理装置。
【請求項１４】
前記位置算出部は、物体を把持するエンドエフェクタが設けられる前記可動部の先端の位置を算出する、請求項１に記載の情報処理装置。
【請求項１５】
第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、前記第２の視覚センサが配置される可動部の位置を算出する、情報処理方法。
【請求項１６】
第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、前記第２の視覚センサが配置される可動部の空間的な位置を算出する位置算出部と、
前記マーカを投影する投影部と、
前記第２の視覚センサが配置され、可動する前記可動部と、
を含む情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法及び情報処理システムに関する。
【背景技術】
【０００２】
従来、下記引用文献１には、視覚センサで可動部を常に撮像して、可動部の３次元形状又はテクスチャデータを用いて、計算処理を行い可動部の位置を推定する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３１９９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、引用文献１に記載された方法では、可動部先端の位置を推定する際に、第１の視覚センサを用いて取得されたデータを計算処理する際の負荷が高く、可動部が移動する際には、常に視覚センサが可動部を撮像し続けなければならなかった。【０００５】
上記事情に鑑みれば、処理負荷を抑制して、可動部先端の位置を推定することが望まれていた。
【課題を解決するための手段】
【０００６】
本開示によれば、第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、前記第２の視覚センサが配置される可動部の位置を算出する位置算出部、を備える情報処理装置が提供される。【０００７】
また、本開示によれば、第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、前記第２の視覚センサが配置される可動部の位置を算出する、情報処理方法が提供される。【０００８】
また、本開示によれば、第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、前記第２の視覚センサが配置される可動部の空間的な位置を算出する位置算出部と、前記マーカを投影する投影部と、前記第２の視覚センサが配置され、可動する前記可動部と、を含む情報処理システムが提供される。【０００９】
本開示によれば、第１の視覚センサ及び第２の視覚センサがそれぞれマーカを読み取ることで、マーカを基準とした第１の視覚センサ及び第２の視覚センサの位置情報を把握することができ、第２の視覚センサが設けられる可動部の位置を算出することができる。
【発明の効果】
【００１０】
以上説明したように本開示によれば、処理負荷を抑制して、可動部の先端の位置を算出することができる。【００１１】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態に係る外部構成を示す図である。
【図２】同実施形態に係る内部構成を示すブロック図である。
【図３】同実施形態に係るマーカを投影した一例である。
【図４】同実施形態に係るマーカの一例である。
【図５】同実施形態に係るマーカの一例である。
【図６】同実施形態に係るロボットと把持対象物が存在する所定の空間の様子を示した図である。
【図７】同実施形態に係る動作の流れの一例を示した図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．実施形態
１．１．技術概要及び外部構成
１．２．内部構成
１．３．処理の流れ
２．変形例
【００１５】
＜＜１．実施形態＞＞
＜１．１．技術概要及び外部構成＞
まず、図１を参照して、技術概要及び本開示の一実施形態に係る外部構成について説明する。図１は、本開示の一実施形態に係る情報処理システムが適用されたロボット１を示す図である。
【００１６】
本実施形態において、ロボット１は、電気的及び／又は磁気的な作用を用いて可動部１１の動きを制御可能な機械（装置）であり得る。例えば、ロボット１は、人型の自立制御ロボット、四足歩行ロボット、自動運転車、ドローン、産業用ロボット（例えば、機械等の組み立てロボットなど）、サービスロボット（例えば、手術用ロボットなどの医療ロボットや、調理用ロボットなど）、または玩具であってもよく、かかる例に限定されない。以下では、ロボット１が、人型の自律制御ロボットである例を中心として、ロボット１が物体Ｈ１を把持する例を一例として、技術概要及び外部構成に関して説明を行う。
【００１７】
（技術概要）
本開示の技術は、ロボット１が物体を把持する時に、予め指定された物体を把持するための目標把持位置にて物体を把持するために、ロボット１が物体を把持する可動部先端の位置を正確に算出する際に適用され得る。可動部の先端の位置を正確に算出することにより、ロボット１は、より正確に目標把持位置にて物体を把持することができる。この際に、ロボット１がロボット１に備えられる各種センサを用いて、投影されたマーカを読み取ることにより、可動部の先端の位置を算出することで、位置算出の際の計算負荷を低減できる。なお、物体を把持するための目標把持位置は、ユーザまたはロボット１の自律機能により与えられ、ロボット１が物体を把持する際に、可動部の先端の位置として適当とされる位置のことを称する。
【００１８】
本実施形態においては、ロボット１は、各種センサとして、第１の視覚センサ、第２の視覚センサ及び投影面形状センサを備え、それらが撮像装置である一例を挙げて説明する。以下では第１の視覚センサを俯瞰カメラ、第２の視覚センサを手先カメラと称し、ロボット１の外部構成から説明を行う。
【００１９】
（外部構成）
ロボット（移動体）１は、頭部１０、可動部１１、胴体部１２、移動部１３を備えるロボットである。頭部１０は、首部１０２を介して胴体部１２に連結されている。このとき、首部１０２は、胴体部１２に対して所定の回転軸周りに回転可能であり得る。また、頭部１０は、首部１０２に対して回転可能であってもよいし、首部１０２に固定されていてもよい。さらに、頭部１０には、マーカＭ１を読み取る俯瞰カメラ１０１が備えられる。
【００２０】
可動部１１は胴体部１２に連結され得る。可動部１１は、可動することで物体Ｈ１を把持する。可動部１１は、ロボット１の胴体部１２の一側に設けられてもよく、両側に設けられてもよい。また、可動部１１はロボット１に対して複数設けられてもよい。
【００２１】
可動部１１は、例えば、シリアルリンク構造で構成され得る。図１に示すように、可動部１１は、胴体部１２と可動部１１の連結部とエンドエフェクタ１１３との間に、少なくとも一つの関節１１１を有し得る。この様な可動部１１の構造により、可動部１１は複数の自由度を有し得る。関節１１１には、関節１１１を駆動するアクチュエータと、関節１１１の角度位置を検出するエンコーダが設けられている。
【００２２】
可動部１１は、可動部１１の先端にエンドエフェクタ１１３を備える。エンドエフェクタ１１３は、物体Ｈ１を把持可能なように構成され得る。例えば、エンドエフェクタ１１３は、複数の指部を有し、該指部を折り曲げることにより物体Ｈ１を把持してもよく、図１のように一対の板状のエンドエフェクタ１１３を有し、該一対の板の間隔を狭めることにより、物体Ｈ１を把持してもよい。
【００２３】
可動部１１の先端に設けられるエンドエフェクタ１１３の近傍には、手先カメラ１１２が配置され得る。手先カメラ１１２は、俯瞰カメラ１０１と同様に、マーカＭ１を読み取る機能を有する。本実施形態においては、手先カメラ１１２が配置される位置は、可動部１１の先端に設けられたエンドエフェクタ１１３又はエンドエフェクタ１１３の近傍とした。しかしながら、手先カメラ１１２が可動部１１のどの位置に配置されているのかが既知であれば、かかる例に限定されず、可動部の位置の算出場所も、可動部の先端に限られない。なお、手先カメラ１１２が設けられる位置は、可動部１１において位置の算出を行いたい箇所に設けられれば良い。
【００２４】
図１に示すロボット１では、物体Ｈ１を正確に把持するために、物体Ｈ１を把持するエンドエフェクタ１１３の近傍に手先カメラ１１２が設けられている。この構成により、エンドエフェクタ１１３が設けられた箇所の位置算出ができる。特に、本実施形態の様に、エンドエフェクタ１１３の近傍に手先カメラ１１２が設けられる場合には、可動部１１が可動する際に生じる関節１１１の角度または位置に対する機械誤差または可動部１１の撓み等を含めずに、エンドエフェクタ１１３の位置算出が可能である。よって、より精度の高い位置算出ができる。
【００２５】
胴体部１２は、頭部１０、可動部１１、及び移動部１３と連結する。胴体部１２には、プロジェクタ１２１が設けられ、プロジェクタ１２１はマーカＭ１を投影する機能を有する。さらに、胴体部１２には、投影面形状計測センサ１２２が設けられ、マーカＭ１が投影される面の形状を計測し得る。図１を参照すると、例えば、投影面形状計測センサ１２２は、マーカＭ１が投影されるテーブル８０の面形状を計測する。
【００２６】
移動部１３は、胴体部１２と連結し、上述の頭部１０、可動部１１及び胴体部１２を支持する機能を有する。移動部１３は、図１に示したように、例えば、複数の車輪１３１を有してもよい。ただし、かかる例に限定されず、移動部１３は、歩行するための複数の脚部（例えば、２脚または４脚など）を有してもよいし、キャタピラ（登録商標）などの無限軌道の機構を有してもよい。
【００２７】
ロボット１は、上記のような構成を使用して、俯瞰カメラ１０１及び手先カメラ１１２が、プロジェクタ１２１により投影されたマーカＭ１を読み取ることで、手先カメラ１１２が設けられる可動部１１の先端の位置を高精度に算出し、予め指定された目標把持位置にて物体Ｈ１を正確に把持できる。
【００２８】
また、本開示の技術では、可動部１１の先端の位置を高精度に算出する際に、マーカＭ１を介して算出する手法を用いることから、算出にかかる計算負荷を低減できる。
【００２９】
例えば、マーカを介さずに可動部の先端の位置の算出を行う手法として、ロボット及び物体の全体を俯瞰できる俯瞰カメラにより物体及び可動部の形状等を取得し、取得したデータと予め有する可動部または物体の形状データとを、照合または画像解析することにより可動部の先端の位置を算出する手法が考えられる。この手法では、画像解析にかかる計算負荷が、本開示の技術にかかる計算負荷よりも高くなる。
【００３０】
本開示の技術では、マーカＭ１を介して可動部１１の先端の位置が算出できるため、予め物体Ｈ１の形状データを有する必要もない。よって、物体Ｈ１が未知物体であってもロボット１は物体Ｈ１を正確に把持できる。
【００３１】
さらに、本開示の技術では、俯瞰カメラ１０１及び手先カメラ１１２を用いて、マーカＭ１の位置、物体Ｈ１の位置、俯瞰カメラ１０１の位置及び手先カメラ１１２の位置が把握され、それらの位置関係が把握される。そして、それらの位置関係が一度把握されると、ロボット１は、手先カメラ１１２で取得する情報のみを用いて可動部１１を可動して、物体Ｈ１を把持できる。これにより、ロボット１は、俯瞰カメラ１０１を継続して使用しなくてもよいため、ロボット１の動作負荷を抑制することができる。
【００３２】
ロボット１においては、俯瞰カメラ１０１、プロジェクタ１２１及び投影面形状計測センサ１２２がそれぞれ、ロボット１の頭部１０及び胴体部１２に設けられるとした。かかる例に限定されず、俯瞰カメラ１０１は、必ずしもロボット１に設けられる必要はなく、マーカＭ１及び手先カメラ１１２を捉えることができ、俯瞰カメラ１０１の位置が明らかであれば、いかなる場所に設置されてもよい。この様に、ロボット１以外の場所に各構成が設けられる場合は、ロボット１は情報処理システムとして動作してもよい。
【００３３】
例えば、俯瞰カメラ１０１、プロジェクタ１２１及び投影面形状計測センサ１２２は、所定の空間内における天井等で、投影されたマーカＭ１と可動部１１を俯瞰できるような場所に設置されてもよい。なお、投影面形状計測センサ１２２とプロジェクタ１２１とは設置される場所は限られないとしたが、相互の位置関係が既知である必要がある。相互の位置関係が既知であれば、投影面形状計測センサ１２２とプロジェクタ１２１とのそれぞれがロボット１に設けられてもよく、ロボット１以外の場所に設けられてもよい。
【００３４】
＜１．２．内部構成＞
以上までで、本開示の技術概要及び外部構成を説明した。ここでは、本実施形態に係るロボット１の内部構成について図２を参照して説明する。図２は、ロボット１の内部構成を示すブロック図である。
【００３５】
（頭部１０）
頭部１０は、俯瞰カメラ１０１及びアクチュエータ１０９を備える。アクチュエータ１０９は、ロボット１が、頭部１０を可動させる上での機械的な動きを行う機能を有する。俯瞰カメラ１０１は、投影されたマーカＭ１を読み取って、マーカＭ１に関する情報を取得し、該マーカＭ１に関する情報を制御部１４にて処理する。これにより、ロボット１が第１の位置情報を取得する機能を有する。俯瞰カメラ１０１に関して、以下詳しく説明する。
【００３６】
（（俯瞰カメラ１０１））
俯瞰カメラ１０１は、投影されたマーカＭ１を読み取り、マーカ情報を制御部１４に出力する機能を有する。制御部１４では、俯瞰カメラ１０１が読み取ったマーカ情報を処理することで、第１の位置情報が取得される。第１の位置情報とは、空間内におけるマーカＭ１と俯瞰カメラ１０１との位置関係または姿勢情報を含む情報であってもよい。第１の位置関係は、マーカＭ１の位置を基準として、俯瞰カメラ１０１が配置されている位置を示す情報であってもよく、マーカＭ１から俯瞰カメラ１０１までの距離または方向を示す情報であってもよい。第１の位置情報は、空間内におけるマーカＭ１を基準とした俯瞰カメラ１０１の３次元の空間座標を含んでもよい。また、第１の位置情報は、例えば、（ｘ、ｙ、ｚ）の座標にて示されてもよい。第１の姿勢情報は、例えばマーカに対する第１の視覚センサの回転角の情報であってよく、俯瞰カメラ１０１が、３次元空間のＸ軸、Ｙ軸、Ｚ軸をそれぞれ軸としてどの程度回転しているかを示す回転角の情報（例えば、ロール角、ピッチ角、ヨー角）を含んでもよい。また第１の姿勢情報は、回転行列またはクォータニオンで示されてもよい。
【００３７】
例えば、本実施形態において俯瞰カメラ１０１は、マーカＭ１を読み取るための撮像装置である。撮像装置により得られた撮像画像を制御部１４にて処理することで、ロボット１は第１の位置情報を取得し得る。俯瞰カメラ１０１は、マーカＭ１を読み取るために、複数のマーカＭ１画像を撮像してもよい。
【００３８】
例えば、俯瞰カメラ１０１は、ＲＧＢカメラまたはサーモカメラ等であって画像（静止画像又は動画像）を撮像してもよく、レンズ系、駆動系、及び撮像素子を有し得る。俯瞰カメラ１０１により得られた撮像画像を、制御部１４が処理することにより、第１の位置情報が取得され得る。
【００３９】
また、俯瞰カメラ１０１が、投影されたマーカＭ１に加え、手先カメラ１１２を捉えることで、制御部１４により手先カメラの位置情報が取得されてもよい。俯瞰カメラ１０１は、手先カメラ１１２以外にも、物体Ｈ１の位置、マーカＭ１の位置を捉えている。ここで、俯瞰カメラ１０１により、上述の第１の位置情報に加えて、手先カメラ１１２の位置情報が取得されることで、俯瞰カメラ１０１を基準とした手先カメラ１１２の位置、物体Ｈ１の位置、マーカＭ１の位置を把握できる。
【００４０】
上述したような方法で、制御部１４では、俯瞰カメラ１０１を基準とした物体Ｈ１、マーカＭ１、俯瞰カメラ１０１及び手先カメラ１１２の位置情報、位置関係または姿勢情報が把握できる。該位置関係とは、所定の空間内に置ける物体Ｈ１、マーカＭ１、俯瞰カメラ１０１及び手先カメラ１１２のそれぞれの位置、距離または方向等を示し、該姿勢情報はそれぞれの回転角に関する姿勢情報を示し得る。なお、物体Ｈ１を把持するための目標把持位置は、俯瞰カメラ１０１を基準として、ユーザ若しくはロボット１の自律機能により予め指定されている。
【００４１】
よって、位置情報、位置関係または姿勢情報を用いて、俯瞰カメラ１０１を基準とした第１の目標把持位置を、手先カメラ１１２を基準とした第２の目標把持位置に変換することができる。目標把持位置の変換に関する詳細は、後述する。
【００４２】
（可動部１１）
次に可動部１１を説明する。可動部１１は、可動制御部１４７により制御される。可動部１１は、エンドエフェクタ１１３、手先カメラ１１２及びアクチュエータ１１９を備える。アクチュエータ１１９は、ロボット１が、可動部１１を可動させる上での機械的な動きを行う機能を有する。エンドエフェクタ１１３は、外部構成の項にて説明したように、可動部１１の先端に備えられ、物体を把持する機能を有する。以下、手先カメラ１１２に関して、詳しく説明する。
【００４３】
（（手先カメラ１１２））
手先カメラ１１２は、可動部１１に設けられ、マーカＭ１を読み取り、マーカ情報を制御部１４に出力する機能を有する。制御部１４が手先カメラ１１２が読み取ったマーカ情報を処理することで、第２の位置情報が取得される。第２の位置情報とは、空間内におけるマーカＭ１と手先カメラ１１２との位置関係または姿勢情報を含む情報であってもよい。第２の位置関係は、マーカＭ１の位置を基準として、手先カメラ１１２が配置されている位置を示してもよく、マーカＭ１から手先カメラ１１２までの距離または方向を示す情報であってもよい。第２の位置情報は、空間内におけるマーカＭ１を基準とした手先カメラ１１２の３次元の空間座標を含んでもよい。また、第２の位置情報は、例えば、（ｘ、ｙ、ｚ）の座標にて示されてもよい。第２の姿勢情報は、例えばマーカに対する第２の視覚センサの回転角の情報であってよく、手先カメラ１１２が、３次元空間のＸ軸、Ｙ軸、Ｚ軸をそれぞれ軸としてどの程度回転しているかを示す回転角の情報（例えば、ロール角、ピッチ角、ヨー角）を含んでもよい。また第２の姿勢情報は、回転行列またはクォータニオンで示されてもよい。
【００４４】
また、第２の位置情報は、手先カメラ１１２の位置情報を含んでもよい。手先カメラ１１２の位置情報とは、俯瞰カメラ１０１を基準として、手先カメラ１１２が配置されている位置を示してもよく、俯瞰カメラ１０１から手先カメラ１１２までの距離又は方向を示す情報であってもよい。第２の位置情報は、空間内における俯瞰カメラ１０１を基準とした手先カメラ１１２の３次元の空間座標を含んでもよい。また、第２の位置情報は、例えば、（ｘ、ｙ、ｚ）の座標にて示されてもよい。
【００４５】
例えば、本実施形態において手先カメラ１１２は、マーカＭ１を読み取るために俯瞰カメラ１０１と同様に、撮像装置である。撮像装置により得られた撮像画像を制御部１４にて処理することで第２の位置情報を取得してもよい。手先カメラ１１２は、俯瞰カメラ１０１と同様に、マーカＭ１を読み取るために、複数のマーカＭ１画像を撮像してもよい。
【００４６】
例えば、俯瞰カメラ１０１と同様に、手先カメラ１１２は、ＲＧＢカメラまたはサーモカメラ等であって画像（静止画像又は動画像）を撮像してもよく、レンズ系、駆動系、及び撮像素子を有し得る。手先カメラ１１２のカメラにより得られた撮像画像を、制御部１４が画像処理することにより、第２の位置情報が取得され得る。
【００４７】
（胴体部１２）
胴体部１２は、投影面形状計測センサ１２２、プロジェクタ１２１及びアクチュエータ１２９を備える。アクチュエータ１２９は、ロボット１が、胴体部１２を可動させる上での機械的な動きを行う機能を有する。以下、プロジェクタ１２１及び投影面形状計測センサ１２２に関して説明する。
【００４８】
（（投影面形状計測センサ１２２））
投影面形状計測センサ１２２は、マーカＭ１が投影される面の形状を計測する機能を有する。投影面の形状は、平面、球面等任意の曲面であってよく、投影面形状計測センサ１２２は、それら投影面の形状情報を取得する。投影面の形状情報とは、投影面における凹凸状況またはテクスチャ等に関する情報を含む。
【００４９】
投影面形状計測センサ１２２は、カメラのような撮像装置であってもよい。例えば、投影面形状計測センサ１２２は、ＲＧＢカメラまたはサーモカメラ等の画像（静止画像又は動画像）を撮像する撮像装置であってもよく、レンズ系、駆動系、及び撮像素子を有してもよい。投影面形状計測センサ１２２は、カメラにより得られた撮像画像を画像解析して、マーカＭ１が投影される面の形状を把握してもよい。
【００５０】
また、投影面形状計測センサ１２２は、デプスセンサのような空間における深度情報を取得するセンサを備えてもよい。例えば、デプスセンサは、赤外線測距装置、超音波測距装置、ＬｉＤＡＲ（Ｌａｓｅｒ  Ｉｍａｇｉｎｇ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）又はステレオカメラ等を含むことで、投影面の深度情報を取得しマーカＭ１が投影される面の形状を把握してもよい。また、投影面形状計測センサ１２２は、ＴｏＦ（Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）法を用いて、投影面の深度情報を取得してもよい。
【００５１】
（（プロジェクタ１２１））
プロジェクタ１２１は、マーカＭ１を投影する機能を有する。プロジェクタ１２１は、例えば固定型の広角プロジェクタであってもよいし、投影方向を変更可能ないわゆるムービングプロジェクタであってもよい。
【００５２】
（移動部１３）
移動部１３は、ロボット１が移動する際に、支持体となって移動する機能を有する。移動部１３は、センサ１３２及びアクチュエータ１３９を備える。アクチュエータ１３９は、ロボット１が、移動部１３を可動させる上での機械的な動きを行う機能を有する。
【００５３】
センサ１３２は、移動部１３に関して各種センシングを行う。センサ１３２は、例えば、加速度センサ、ジャイロスコープ、温度センサ、トルクセンサ、重量センサ、カメラ、および／または、マイクロフォン等を含み得る。センサ１３２を用いて取得した情報に応じて、移動部１３は移動する方向又は位置などを決定し得る。
【００５４】
（制御部１４）
次に、ロボット１が物体Ｈ１の把持を行う際に主となるロボット１の各種構成を制御する制御部１４に関して詳しく説明する。
【００５５】
制御部１４は、頭部１０、可動部１１、胴体部１２及び移動部１３に備えられる各構成に対して、全般的な制御を行う機能を有する。以下では、制御部１４に備えられる各構成に関して説明を行う。
【００５６】
（（投影マーカ制御部１４３））
投影マーカ制御部１４３は、プロジェクタ１２１が投影するマーカＭ１を制御する機能を有する。マーカＭ１の制御とは、マーカＭ１を作成したり、マーカＭ１の投影位置を変更したりする機能を含む。
【００５７】
投影マーカ制御部１４３は、マーカＭ１を作成する。投影マーカ制御部１４３は、点、線または平面構造等の画像特徴が検出できるような記号又はテクスチャパターンを有するマーカＭ１を作成してもよい。かかる例に限らず、いかなる形状のマーカＭ１を作成してもよい。これにより、制御部１４が、種々のマーカを用いて可動部１１の先端の位置を算出することが可能となり、ロボット１の利便性が向上する。マーカＭ１は、可視光、赤外光及び紫外光を含んでもよく、俯瞰カメラ１０１及び手先カメラ１１２が検出可能な光を発するものであってもよい。投影マーカ制御部１４３は、どのような画像特徴を有するマーカＭ１が作成され、どの位置から投影されたのか等のマーカ情報を参考マーカ情報として記憶部１５に記憶させ得る。
【００５８】
図３を参照して、マーカＭ１に関してさらに説明を行う。図３では、投影されたマーカＭ１の一例を説明する。図３では、所定の空間にテーブル８０が設置されており、テーブル８０の上に物体Ｈ１が配置されている。物体Ｈ１の近傍にはマーカＭ１が投影されている。図３では、マーカＭ１が一つだけ投影されているが、投影マーカ制御部１４３は、複数のマーカＭ１を作成し、複数のマーカＭ１を投影してもよい。
【００５９】
投影マーカ制御部１４３は、複数のマーカＭ１を投影することにより、マーカＭ１の一部分が遮蔽等の影響を受けた場合であっても、俯瞰カメラ１０１及び手先カメラ１１２が、遮蔽されていない他のマーカＭ１を撮像することにより、マーカＭ１を読み取ることができる。
【００６０】
図３には、マーカＭ１の一例として、ＡＲマーカを示している。該マーカＭ１は、正方形の形状を有し、横の長さａおよび縦の長さｂの所定の長さを有している。一辺の長さａ及びｂは、同一の長さを有する。マーカＭ１は、黒色枠で囲まれた白色領域を有し、白色領域内に、点、線または平面構造等が描かれてもよい。
【００６１】
投影マーカ制御部１４３は、マーカＭ１の投影位置を制御する機能を有してもよい。マーカＭ１の投影位置は、投影面形状が計測できる場所であれば投影場所は限定されない。例えば、ロボット１が物体Ｈ１を把持する場合には、マーカＭ１を読み取ることで可動部１１の先端の位置算出を行うため、マーカＭ１が物体Ｈ１に近いほど、目標把持位置に対する可動部１１の撓み等を含む機械誤差が抑制できる。これより、マーカＭ１は、物体Ｈ１の近傍に投影されてもよく、物体Ｈ１に投影されてもよい。
【００６２】
また、投影マーカ制御部１４３は、俯瞰カメラ１０１及び手先カメラ１１２の視覚範囲に応じて、マーカＭ１の投影場所を変更制御してもよい。例えば、投影されたマーカＭ１が俯瞰カメラ１０１及び手先カメラ１１２がセンシング可能な視覚範囲から外れる場合には、投影マーカ制御部１４３は、俯瞰カメラ１０１及び手先カメラ１１２がセンシング可能な視覚範囲へ、マーカＭ１の投影位置を変更してもよい。
【００６３】
これにより、ロボット１の状況やロボット１の周囲の環境に応じて、マーカＭ１の投影位置を変更することができ、利便性を向上させることができる。周囲の環境とは、例えば、ＡＲマーカを投影する際の投影面の環境でもよい。投影面の照度が高い場合、俯瞰カメラ１０１及び手先カメラ１１２によるＡＲマーカの読み取りが困難となる。このような環境であれば、投影マーカ制御部１４３は、照度が低い場所にＡＲマーカを投影してもよい。なお、マーカＭ１の投影場所を変更すると再度、俯瞰カメラ１０１及び手先カメラ１１２を用いて第１及び第２の位置情報の取得を行う。
【００６４】
（（位置算出部１４１））
位置算出部１４１は、投影面形状計測センサ１２２を用いて取得された形状情報に基づいて、俯瞰カメラ１０１及び手先カメラ１１２を用いて取得されたマーカ情報を、予め有している参考マーカ情報と照合して、俯瞰カメラ１０１及び手先カメラ１１２の位置を算出する機能を有する。参考マーカ情報とは、投影マーカ制御部１４３がマーカＭ１を作成及び投影する際に記憶部１５に記憶されるマーカＭ１に関する情報である。参考マーカＭ１情報は、例えば、マーカＭ１がＡＲマーカである場合、マーカＭ１の縦横長さ、マーカＭ１の輪郭線、マーカＭ１の白色領域に描かれる点、線または平面構造に関する情報を含む。
【００６５】
位置算出部１４１は、投影面形状計測センサ１２２を用いて取得された形状情報とプロジェクタの位置と参考マーカ情報とを用いることで、マーカＭ１を撮像する位置に応じて、ある位置から投影されたマーカＭ１が任意の位置から撮像されることによりどのような撮像画像となるのかを事前推定し得る。この事前推定した画像と、実際に俯瞰カメラ１０１および手先カメラ１１２が撮像した画像とを照合することにより、俯瞰カメラ１０１および手先カメラ１１２の位置を算出する。
【００６６】
図４及び図５を参照して、位置算出部１４１がマーカＭ１を参考マーカ情報と照合する一例を説明する。マーカＭ１は、上述したように、黒色枠で囲まれた白色領域にて点、線、平面構造等の画像特徴が検出しやすい記号またはテクスチャパターンであり得る。位置算出部１４１は、俯瞰カメラ１０１及び手先カメラ１１２を用いて取得された情報から、点、線、平面構造等の画像特徴を検出して、実世界の３次元空間座標と撮像画像の２次元座標の対応関係を複数得ることにより、俯瞰カメラ１０１及び手先カメラ１１２のマーカＭ１に対する位置情報、位置関係または姿勢情報を取得することができる。例えば、具体的には空間座標を含む位置情報またはマーカに対する俯瞰カメラ１０１及び手先カメラ１１２の回転角に関する情報である姿勢情報を取得することができる。
【００６７】
図４は、平面８１に投影されたマーカＭ１の一例を示している。位置算出部１４１は、まず、投影面形状計測センサ１２２を用いて取得された形状情報から、マーカＭ１が投影されている場所は平面であると認識する。位置算出部１４１は、マーカＭ１が同一平面上に投影されているのを前提として、マーカＭ１の正方形の点、線または白色領域における平面構造を検出する。検出結果と、参考マーカ情報とを照合させて、俯瞰カメラ１０１及び手先カメラ１１２の位置を算出する。なお、この際にプロジェクタ１２１が配置される位置は既知である。これにより、位置算出部１４１は、どの方向からプロジェクタ１２１がマーカＭ１を投影しているかを把握しているため、上記照合により、プロジェクタ１２１の方向または位置に基づいて、位置の算出が可能である。
【００６８】
位置の算出は、例えば、マーカＭ１を囲う輪郭線Ｌ１、Ｌ２、Ｌ３及びＬ４を検出した後、それらの交点から正方形の４隅であるＭ１ａ、Ｍ１ｂ、Ｍ１ｃ及びＭ１ｄを抽出する。その後、各辺を俯瞰カメラ１０１及び手先カメラ１１２の投影方向に延長することで面を生成し、面の法線を算出する。ここで得られたマーカＭ１の白色領域の点、線、平面構造を含む面及び面の法線情報と、参考マーカ情報の白色領域の点、線、平面構造を含む面及び面の法線情報と、を照合して、それらの一致率により、俯瞰カメラ１０１及び手先カメラ１１２がどこからマーカＭ１を撮像しているのかを推定し、俯瞰カメラ１０１及び手先カメラ１１２の位置を算出する。
【００６９】
図５は、円柱８２に投影されたマーカＭ１の一例を示している。位置算出部１４１は、まず、投影面形状計測センサ１２２を用いて取得された形状情報から、マーカＭ１が投影されている場所は球面を有した円柱であると認識する。位置算出部１４１は、円柱８２に投影されたマーカはどのような形状を有するのか等のマーカＭ１に生じる歪を事前推定する。位置算出部１４１は、このようにマーカＭ１が円柱に投影されているのを前提として、事前推定した歪を加味して、マーカＭ１の正方形の点、線または白色領域における平面構造を検出する。検出結果と、参考マーカ情報とを照合させて、俯瞰カメラ１０１及び手先カメラ１１２の位置を算出する。
【００７０】
位置の算出は、図４と同様に、例えば、マーカＭ１を囲う輪郭線を検出した後、それらの交点から正方形の４隅であるＭ１ａ、Ｍ１ｂ、Ｍ１ｃ及びＭ１ｄを抽出する。その後、各辺を俯瞰カメラ１０１及び手先カメラ１１２の投影方向に延長することで面を生成し、面の法線を算出する。ここで得られたマーカＭ１の白色領域の点、線、平面構造を含む面及び面の法線情報と参考マーカ情報の白色領域の点、線、平面構造を含む面及び面の法線情報とを照合して、それらの一致率により、俯瞰カメラ１０１及び手先カメラ１１２がどこからマーカＭ１を撮像しているのかを推定し、俯瞰カメラ１０１及び手先カメラ１１２の位置を算出する。
【００７１】
位置算出部１４１は、上述の位置算出結果に基づいて、更に可動部１１の目標可動位置との位置関係を把握して、目標可動位置に対する手先カメラ１１２が配置される可動部１１の先端の位置を算出する。目標可動位置に対する手先カメラ１１２が配置される可動部１１の先端の位置の算出は、３次元情報統合部１４５により処理された情報を用いて位置算出部１４１が行う。
【００７２】
（（３次元情報統合部１４５））
３次元情報統合部１４５は、俯瞰カメラ１０１及び手先カメラ１１２を用いて取得された第１の位置情報及び第２の位置情報に基づいて、俯瞰カメラ１０１を基準として指定された可動部先端の第１の目標可動位置を、手先カメラ１１２を基準とした可動部先端の第２の目標可動位置として変換する機能を有する。変換した情報は、位置算出部１４１に出力され、可動部の先端の位置の算出に用いられる。図６を参照して、３次元情報統合部１４５が行う処理の詳細を説明する。本実施形態においては、ロボット１が物体Ｈを把持する際の一例に関して説明を行っているため、目標可動位置を目標把持位置とも称する。
【００７３】
図６では、ロボット１と把持対象物である物体Ｈとが存在する所定の空間の様子を示している。ロボット１の頭部１０には、俯瞰カメラ１０１が設けられている。胴体部１２には、可動部１１が設けられ、物体Ｈを把持するエンドエフェクタ１１３が可動部１１の先端に設けられている。エンドエフェクタ１１３の近傍には、手先カメラ１１２が設けられ、マーカＭ１を読み取る。プロジェクタ１２１は、物体Ｈの近傍にマーカＭ１を投影している。図６上部には、俯瞰カメラ１０１の視覚範囲１０１ｖ及び手先カメラ１１２の視覚範囲１０２ｖを示す。
【００７４】
下記に示す数式（１）を用いて、３次元情報統合部１４５での空間座標の変換処理を説明する。式（１）は、座標系Ｘから見た座標系Ｙへの空間座標を表す同次変換行列である。また、式（１）は、座標系Ｘから見た座標系Ｙへの並進移動に関する３次元ベクトルＰ、回転移動に関する３×３の回転行列Ｒを示す。この行列が、例えば３次元情報統合部１４５における空間座標の変換に用いられてもよい。
【００７５】
【数１】
2019146201.tif 000003
【００７６】
ロボット１が物体Ｈを把持する際には、ユーザまたはロボット１の自律機能により、俯瞰カメラ１０１を基準とした第１の目標把持位置が予め設定される。この設定により、俯瞰カメラ１０１の座標系Ｃ１から見た第１の目標把持位置の座標系Ａの空間座標を表す同次変換行列である式（２）が決定する。
【００７７】
次に、俯瞰カメラ１０１がマーカＭ１を読み取ることで、俯瞰カメラ１０１の位置を推定でき、この推定により俯瞰カメラ１０１を基準としたマーカＭ１の空間座標を推定できる。この推定により、さらに、俯瞰カメラ１０１の座標系Ｃ１から見たマーカＭ１の座標系Ｂの空間座標を表す同時変換行列である式（３）を推定できる。
【００７８】
この時、同時変換行列の逆変換を示す式（４）を用いて、マーカＭ１の座標系Ｂから見た第１の目標把持位置Ａの空間座標が、式（５）により求めることができる。
【００７９】
次に、可動部１１に設けられた手先カメラ１１２がマーカＭ１を読み取ることで、手先カメラ１１２の位置を推定でき、この推定により手先カメラ１１２を基準としたマーカＭ１の空間座標を推定できる。この推定により、さらに、手先カメラ１１２の座標系Ｃ２から見たマーカＭ１の座標系Ｂの空間座標を表す同時変換行列である式（６）を推定できる。
【００８０】
式（６）と式（５）を用いることにより、手先カメラＣ２から見た第２の目標把持位置の空間座標を示す同時変換行列は、式（７）により求めることができる。
【００８１】
【数２】
2019146201.tif 000004
【００８２】
【数３】
2019146201.tif 000005
【００８３】
【数４】
2019146201.tif 000006
【００８４】
【数５】
2019146201.tif 000007
【００８５】
【数６】
2019146201.tif 000008
【００８６】
【数７】
2019146201.tif 000009
【００８７】
３次元情報統合部１４５では、例えば、上述したような方法を用いて、俯瞰カメラ１０１を基準として指定された可動部１１の先端の第１の目標可動位置を、手先カメラ１１２を基準とした可動部１１の先端の第２の目標可動位置として変換してもよい。位置算出部１４１は、第２の目標可動位置に基づいて、目標可動位置に対する可動部１１の先端の位置を算出する。
【００８８】
言い換えると、俯瞰カメラ１０１及び手先カメラ１１２がマーカＭ１を撮像し、制御部１４が撮像画像の解析処理を行う。この解析処理により、俯瞰カメラ１０１及び手先カメラ１１２のそれぞれが、マーカＭ１との位置情報、位置関係または姿勢情報を取得する。俯瞰カメラ１０１及び手先カメラ１１２が同一のマーカＭ１を撮像しているため、俯瞰カメラ１０１及び手先カメラ１１２の相対的な位置関係を取得することができる。これにより、俯瞰カメラ１０１を基準とした第１の目標把持位置が手先カメラ１１２を基準とした第２の目標把持位置へ変換され、ロボット１では手先カメラ１１２から取得された位置情報を用いて、物体を把持することができる。これにより、制御部１４の処理負荷を抑制することができる。また、関節１１１の機械的なガタツキ、撓みなどの要因が排除されるため、ロボット１では、可動部１１の先端のエンドエフェクタ１１３を高精度に物体Ｈの位置に移動することが可能である。
【００８９】
（（可動制御部１４７））
可動制御部１４７は、可動部１１を制御する機能を有する。可動制御部１４７は、俯瞰カメラ１０１及び手先カメラ１１２を用いて取得した位置情報に応じて算出された第２の目標可動位置と第２の位置情報とに基づいて、可動部１１の位置を算出し、可動部１１の位置を制御してもよい。さらには、俯瞰カメラ１０１が、手先カメラ１１２を視覚範囲内に捉えることにより、手先カメラ１１２の位置情報と第２の目標把持位置との情報に基づいて、可動部１１の先端の位置を制御してもよい。俯瞰カメラ１０１は、例えば、撮像画像内に手先カメラ１１２、その周辺のエンドエフェクタ１１３または可動部１１を収め、撮像してもよい。これにより、制御部１４にて該撮像画像の画像解析等を行うことで、可動部１１の位置をより正確に算出して、可動部１１を目標把持位置へ制御してもよい。手先カメラ１１２の位置情報とは、手先カメラ１１２が設けられた可動部１１がどの位置に存在するか等の空間座標または姿勢情報を含む情報でもよく、手先カメラ１１２の空間座標または姿勢情報を含む情報でもよい。
【００９０】
上述のように、俯瞰カメラ１０１及び手先カメラ１１２がマーカＭ１を捉えることにより取得した第１及び第２の位置情報に基づいて、位置算出部１４１が可動部の位置を算出し、可動制御部１４７は、関節１１１に設けられたエンコーダの角度位置を参照しながら、アクチュエータ１１９を駆動することにより、可動部１１の先端の位置を適宜制御することができる。更には、俯瞰カメラ１０１が手先カメラ１１２を捉えることにより、俯瞰カメラ１０１に対する手先カメラ１１２の位置が、関節１１１の機械的なガタツキ、撓みなどの要因を含んだ上で判明する。
【００９１】
従って、俯瞰カメラ１０１が手先カメラ１１２を視覚範囲内に捉えた場合は、俯瞰カメラ１０１に対する手先カメラ１１２の位置が判明し、可動部１１のリンクの機械的な形状と関節１１１に設けられたエンコーダの角度位置に基づいて、可動部１１の先端の位置を制御することができる。これにより、移動中に機構的ながたつきにより目標位置への追従精度が低くなってしまうことを確実に回避できる。以上のように、俯瞰カメラ１０１、手先カメラ１１２、マーカＭ１、第１及び第２の目標把持位置の俯瞰カメラ１０１による位置関係が一度把握できれば、その後は、可動制御部１４７が、手先カメラ１１２及び第２の目標把持位置に基づいて俯瞰カメラ１０１を介さずに、目標位置への追従精度を向上させて可動部１１を可動させることができる。また、関節１１１の機械的なガタツキ、撓みなどの要因が排除されるため、ロボット１は、制御部１４の処理負荷を抑制して、可動部１１の先端のエンドエフェクタ１１３を高精度に物体Ｈの位置に移動することが可能である。
【００９２】
可動制御部１４７は、可動部１１に設けられる手先カメラ１１２がマーカＭ１を継続して撮像できるように可動の制御を行ってもよい。例えば、プロジェクタ１２１とマーカＭ１との間に可動部１１の一部が存在することにより、手先カメラ１１２が、マーカＭ１を撮像できない状態となった場合、プロジェクタ１２１とマーカＭ１との間とは外れた位置に可動部１１を移動させてもよい。手先カメラ１１２がマーカＭ１の撮像を継続するほど、可動部１１の先端の位置を正確に算出できるため、第２の目標把持位置に対して正確に可動部１１を可動できる。
【００９３】
（記憶部１５）
記憶部１５は、上述した制御部１４が各機能を実行するためのプログラムやパラメータを格納する。例えば記憶部１５には、投影マーカ制御部１４３が作成した参考マーカ情報、俯瞰カメラ１０１及び手先カメラ１１２が取得した撮像画像等の各種情報、制御部１４の処理に用いる各種閾値等が記憶されている。
【００９４】
（通信部１６）
通信部１６は、ネットワーク（例えばインターネットや各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）など）を介して各部との間で情報の送受信を行う。例えば、通信部１６は、俯瞰カメラ１０１及び手先カメラ１１２並びに投影面形状計測センサ１２２と制御部１４とが遠隔して存在する場合に、各センサ１０１、１１２、１２２を用いて取得された情報を制御部１４に送信する。
【００９５】
以上までで、制御部１４、記憶部１５及び通信部１６を説明した。なお、制御部１４は、ＣＰＵ等のプロセッサ、又はプロセッサとメモリ等の記憶素子が搭載された制御基板等であってもよく、ＤＳＰまたはＨＷ（ＨａｒｄＷａｒｅ）回路であってもよい。さらに、制御部１４は、上述したそれらの組合せであってもよい。また、制御部１４は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の汎用的な情報処理装置であってもよい。該制御部１４のプロセッサが所定のプログラムに従って演算処理を実行することにより、各種の機能が実現され得る。
【００９６】
＜１．３．処理の流れ＞
以上、ロボット１の内部構成について説明した。次に、本実施形態に係る処理の流れについて、図７を参照して説明する。図７は、本実施形態に係る処理の流れの一例を示したフローチャートである。
【００９７】
まず、ロボット１は、ロボット１に設けられる電源ボタン等が押されることにより動作を開始する（Ｓ１００）。
【００９８】
次に、ユーザは、所定の操作方法により、俯瞰カメラ１０１を基準とした物体Ｈ１の把持位置である「第１の目標把持位置」を設定する（Ｓ１０２）。
【００９９】
ユーザが第１の目標把持位置を設定する際には、例えば俯瞰カメラ１０１の撮像画像をタッチして指定する等して、第１の目標把持位置を設定してもよい。また、ロボット１が自律機能により「第１の目標把持位置」を設定してもよい。
【０１００】
次に、投影面形状計測センサ１２２が、マーカＭ１が投影される場所の投影面形状を計測する（Ｓ１０４）。制御部１４は、投影面形状計測センサ１２２を用いて取得された投影面形状の形状情報を処理することにより、位置算出部１４１におけるマーカＭ１を介した、俯瞰カメラ１０１及び手先カメラ１１２の位置算出が可能となる。
【０１０１】
この際に、ロボット１の制御部１４は、投影面形状計測センサ１２２を用いて取得された投影面の形状を記憶部１５に記憶する。
【０１０２】
次に、制御部１４の投影マーカ制御部１４３は、投影するマーカＭ１を作成する。作成されたマーカＭ１は、プロジェクタ１２１により投影される（Ｓ１０６）。
【０１０３】
次に、ロボット１は、該マーカＭ１を読み取ることができる位置に、俯瞰カメラ１０１及び手先カメラ１１２を移動する（Ｓ１０８）。
【０１０４】
次に、制御部１４にて、俯瞰カメラ１０１及び手先カメラ１１２の両方がマーカＭ１を認識したか否かを判定する（Ｓ１１０）。判定により、俯瞰カメラ及び手先カメラ１０１、１１２の両方がマーカＭ１を認識していない場合（Ｓ１１０／Ｎｏ）は、制御部１４は、俯瞰カメラ及び手先カメラ１０１、１１２の両方がマーカＭ１を認識できる位置に、俯瞰カメラ及び手先カメラ１０１、１１２を再度移動させる。
【０１０５】
上記判定により、俯瞰カメラ及び手先カメラ１０１、１１２の両方がマーカＭ１を認識した場合（Ｓ１１０／Ｙｅｓ）には、ロボット１は次の処理に進行する。
【０１０６】
次に、位置算出部１４１は、俯瞰カメラ１０１及び手先カメラ１１２から得られたマーカＭ１の撮像画像により取得された第１及び第２の位置情報と記憶部１５に格納された投影面形状の形状情報と、参考マーカ情報とを照合し、俯瞰カメラ１０１及び手先カメラ１１２の位置情報、位置関係または姿勢情報を把握する（Ｓ１１２）。位置情報は、空間内におけるマーカＭ１を基準とした俯瞰カメラ１０１及び手先カメラ１１２の３次元の空間座標を含んでもよく、例えば、（ｘ、ｙ、ｚ）座標にて示されてもよい。位置関係とは、例えば、マーカＭ１の位置を基準とした俯瞰カメラ１０１及び手先カメラ１１２の位置を示してもよく、マーカＭ１の位置を基準として俯瞰カメラ１０１及び手先カメラ１１２が存在する位置までの距離または向きであってもよい。姿勢情報とは、３次元空間のＸ軸、Ｙ軸、Ｚ軸をそれぞれ軸としてどの程度回転しているかを示す回転角の情報（例えば、ロール角、ピッチ角、ヨー角）を含んでもよい。また姿勢情報は、回転行列またはクォータニオンで示されてもよい。
【０１０７】
次に、３次元情報統合部１４５は、位置算出部１４１にて算出されたマーカＭ１に対する俯瞰カメラ１０１及び手先カメラ１１２の位置情報、位置関係または姿勢情報に基づいて、俯瞰カメラ１０１の位置を基準とした第１の目標把持位置を、手先カメラ１１２を基準とした第２の目標把持位置に変換する。
【０１０８】
この変換処理を行うことにより、ロボット１は、俯瞰カメラ１０１の撮像画像に基づいた画像処理等を用いることなく、物体Ｈ１により近い手先カメラ１１２を用いて、可動部１１を可動し、より正確に物体Ｈ１を把持できる。
【０１０９】
次に、ロボット１は、手先カメラ１１２を用いて取得された第２の位置情報と第２の目標把持位置とに基づいて、可動部１１の先端を制御する（Ｓ１１６）。
【０１１０】
次に、制御部１４では、可動部１１の先端が第２の目標把持位置に到達したか否かの判定を行う（Ｓ１１８）。判定により、可動部１１の先端が第２の目標把持位置に到達していない場合（Ｓ１１８／Ｎｏ）は再度、可動制御部１４７が可動部１１を移動させる。
【０１１１】
上記判定により、可動部１１が第２の目標把持位置に到達した場合（Ｓ１１８／Ｙｅｓ）は、可動部１１が物体Ｈ１を把持して、ロボット１は動作を終了する（Ｓ１２０）。
【０１１２】
＜＜２．変形例＞＞
本実施形態においては、ロボット１が物体Ｈ１を把持する場合の可動部１１の先端の位置算出技術に関して説明を行った。かかる例以外に関しても、本開示の技術は適用され得る。例えば、関節を有する可動部１１の位置校正に適用できる。関節を有する可動部１１が６自由度以下で可動を行う場合、エンコーダにより各関節の位置及び開度等が決定する。よって、可動部１１が可動する際の関節の空間座標が、想定される関節の空間座標と異なる場合に、それらの差を誤差として判別でき、可動部１１の校正技術として適用できる。
【０１１３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１４】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１１５】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、
前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、
前記第２の視覚センサが配置される可動部の位置を算出する位置算出部、を備える情報処理装置。
（２）
前記位置算出部は、前記第１の位置情報、前記第２の位置情報に基づいて、前記可動部の位置を算出し、
前記第２の位置情報は、前記第１の視覚センサを用いて取得される第２の視覚センサの位置情報を含む、前記（１）に記載の情報処理装置。
（３）
前記第１の位置情報は、前記マーカと前記第１の視覚センサとの第１の位置関係または第１の姿勢情報を含む、前記（１）または（２）に記載の情報処理装置。
（４）
前記第１の位置関係とは、前記マーカと前記第１の視覚センサとの間の距離及び方向を表し、
前記第１の姿勢情報とは、前記マーカに対する前記第１の視覚センサの回転角の情報である、前記（３）に記載の情報処理装置。
（５）
前記第２の位置情報は、前記マーカと前記第２の視覚センサとの第２の位置関係または第２の姿勢情報を含む、前記（１）〜（４）のいずれか一項に記載の情報処理装置。
（６）
前記第２の位置関係とは、前記マーカと前記第２の視覚センサとの間の距離及び方向を表し、
前記第２の姿勢情報とは、前記マーカに対する前記第２の視覚センサの回転角の情報である、前記（５）に記載の情報処理装置。
（７）
前記第１の視覚センサの位置を基準として指定された前記可動部の第１の目標可動位置を、前記第２の視覚センサの位置を基準とした前記可動部の第２の目標可動位置として変換する３次元情報統合部、を備える、前記（１）〜（６）のいずれか一項に記載の情報処理装置。
（８）
前記第２の目標可動位置と前記第２の位置情報とに基づいて、前記可動部の位置を算出し、
前記可動部の位置を制御する可動制御部を更に備える、前記（７）に記載の情報処理装置。
（９）
投影するマーカを制御する投影マーカ制御部を備える、前記（１）〜（８）のいずれか一項に記載の情報処理装置。
（１０）
前記投影マーカ制御部は、前記第１の視覚センサ及び前記第２の視覚センサの視覚範囲に応じて、前記マーカの投影場所を制御する、前記（９）に記載の情報処理装置。
（１１）
前記投影マーカ制御部は、前記マーカを作成する、前記（９）または（１０）に記載の情報処理装置。
（１２）
前記位置算出部は、投影面形状に基づいて、前記第２の視覚センサが配置される前記可動部の先端の位置を算出する、前記（１）〜（１１）のいずれか一項に記載の情報処理装置。
（１３）
前記マーカは可視光、赤外光及び紫外光を含む、前記（１）〜（１２）のいずれか一項に記載の情報処理装置。
（１４）
前記位置算出部は、物体を把持するエンドエフェクタが設けられる前記可動部の先端の位置を算出する、前記（１）〜（１３）のいずれか一項に記載の情報処理装置。
（１５）
第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、前記第２の視覚センサが配置される可動部の位置を算出する、情報処理方法。
（１６）
第１の視覚センサが投影されたマーカを読み取ることにより取得された第１の位置情報と、前記第１の視覚センサと相対的に移動する第２の視覚センサが前記マーカを読み取ることにより取得された位置情報を含む第２の位置情報に基づいて、前記第２の視覚センサが配置される可動部の空間的な位置を算出する位置算出部と、
前記マーカを投影する投影部と、
前記第２の視覚センサが配置され、可動する前記可動部と、
を含む情報処理システム。
【符号の説明】
【０１１６】
１０      頭部
１１      可動部
１２      胴体部
１３      移動部
１４      制御部
１５      記憶部
１６      通信部
１０１    俯瞰カメラ
１１２    手先カメラ
１２２    投影面形状計測センサ
【図１】
2019146201.tif 000010
【図２】
2019146201.tif 000011
【図３】
2019146201.tif 000012
【図４】
2019146201.tif 000013
【図５】
2019146201.tif 000014
【図６】
2019146201.tif 000015
【図７】
2019146201.tif 000016
【国際調査報告】
2019146201.tif 000017
2019146201.tif 000018
2019146201.tif 000019