(57)【特許請求の範囲】
【請求項１】
ロボット本体と、
前記ロボット本体に対して相対的に変位可能に連結された可動部と、
前記ロボット本体の周囲の環境情報を取得する環境情報取得手段と、
前記環境情報取得手段が取得した前記環境情報に基づいて、前記ロボット本体の周囲に存在する対象物を認識する物体認識手段と、
前記物体認識手段により前記対象物を認識するために必要とする空間としての認識空間を算出する認識空間算出手段と、
前記可動部が、前記認識空間への侵入を回避しつつ、前記対象物に向かう軌道を算出する軌道算出手段と、
前記軌道算出手段が算出した前記軌道に基づいて、前記可動部の動きを制御する可動部制御手段と、
を備え、
前記物体認識手段は、前記環境情報取得手段が取得した前記環境情報に基づいて、前記対象物の位置情報を算出し、
前記認識空間算出手段は、前記対象物の前記位置情報と前記環境情報取得手段の位置情報とに基づいて、前記認識空間を算出し、
前記物体認識手段は、前記対象物が移動している場合、当該対象物の移動方向を算出し、
前記認識空間算出手段は、前記対象物の前記位置情報と前記環境情報取得手段の前記位置情報に加えて、前記対象物の前記移動方向に基づいて、前記認識空間を算出する、
ロボット。
【請求項２】
前記認識空間算出手段は、前記対象物の移動方向に前記認識空間を拡大するように、前記認識空間を算出する請求項１に記載のロボット。
【請求項３】
前記物体認識手段は、前記対象物が移動している場合、当該対象物の移動速度を算出し、
前記認識空間算出手段は、前記対象物の前記位置情報と前記環境情報取得手段の前記位置情報と前記対象物の前記移動方向に加えて、前記対象物の前記移動速度に基づいて、前記認識空間を算出する請求項１又は２に記載のロボット。
【請求項４】
前記認識空間算出手段は、前記対象物の前記移動速度に比例して前記認識空間を拡大するように、前記認識空間を算出する請求項３に記載のロボット。
【請求項５】
前記認識空間は、前記環境情報取得手段を頂点とし、前記対象物を底面の中心とする錐体である請求項１〜４のいずれか一項に記載のロボット。
【請求項６】
前記認識空間の底面の外縁は、前記環境情報取得手段の位置から認識される前記対象物の外形よりも大きい請求項５に記載のロボット。
【請求項７】
前記ロボット本体には、複数の前記環境情報取得手段がそれぞれ異なる位置に設けられ、
前記対象物の前記位置情報と複数の前記環境情報取得手段に含まれる第１の環境情報取得手段の位置情報とに基づいて前記認識空間算出手段が算出した第１の認識空間と、前記対象物の前記位置情報と、に基づいて、前記軌道算出手段が前記軌道を算出できない場合、
前記軌道算出手段は、前記対象物の前記位置情報と複数の前記環境情報取得手段に含まれる第２の環境情報取得手段の位置情報とに基づいて前記認識空間算出手段が算出した第２の認識空間と、前記対象物の前記位置情報と、に基づいて、前記軌道を算出する請求項１〜６のいずれか一項に記載のロボット。
【請求項８】
ロボット本体と、
前記ロボット本体に対して相対的に変位可能に連結された可動部と、
前記ロボット本体の周囲の環境情報を取得する環境情報取得手段と、
前記環境情報取得手段が取得した前記環境情報に基づいて、前記ロボット本体の周囲に存在する対象物を認識する物体認識手段と、
前記物体認識手段により前記対象物を認識するために必要とする空間としての認識空間を算出する認識空間算出手段と、
前記可動部が、前記認識空間への侵入を回避しつつ、前記対象物に向かう軌道を算出する軌道算出手段と、
前記軌道算出手段が算出した前記軌道に基づいて、前記可動部の動きを制御する可動部制御手段と、
を備え、
前記認識空間算出手段は、前記認識空間を複数の空間に分割し、分割されたそれぞれの分割空間に対して、前記可動部の侵入を抑制する度合いを示す侵入抑制レベルを設定する、
ロボット。
【請求項９】
前記物体認識手段は、前記環境情報取得手段が取得した前記環境情報に基づいて、前記対象物の位置情報を算出し、
前記軌道算出手段が前記対象物の前記位置情報と前記認識空間とに基づいて、前記軌道を算出できない場合、
前記軌道算出手段は、前記分割空間の前記侵入抑制レベルに応じて、当該分割空間への前記可動部の侵入を許容し、前記軌道を算出する請求項８に記載のロボット。
【請求項１０】
前記分割空間の前記侵入抑制レベルは、前記可動部が当該分割空間に侵入した場合に、前記環境情報取得手段による前記対象物の前記環境情報の取得処理に対して前記可動部が与える影響の大きさに基づいて決定される請求項８又は９に記載のロボット。
【請求項１１】
前記ロボット本体に連結された頭部をさらに備え、
前記環境情報取得手段は、前記頭部に設けられている請求項１〜１０のいずれか一項に記載のロボット。
【請求項１２】
前記可動部は、前記対象物を把持する把持手段を有するアームである請求項１〜１１のいずれか一項に記載のロボット。
【請求項１３】
ロボット本体と、前記ロボット本体に対して相対的に変位可能に連結された可動部と、前記ロボット本体の周囲の環境情報を取得する環境情報取得手段と、を備えるロボットの制御方法であって、
前記ロボット本体の前記周囲の前記環境情報を取得し、
前記環境情報に基づいて、前記ロボット本体の周囲に存在する対象物を認識し、
前記対象物を認識するために必要とする空間としての認識空間を算出し、
前記可動部が、前記認識空間への侵入を回避しつつ、前記対象物に向かうような前記可動部の軌道を算出し、
前記可動部の前記軌道に基づいて、前記可動部の動きを制御し、
前記対象物の環境情報を取得し、
前記対象物の前記環境情報に基づいて、前記対象物の位置情報を算出し、
前記対象物の前記位置情報と前記環境情報取得手段の位置情報とに基づいて、前記認識空間を算出し、
前記対象物が移動している場合、当該対象物の移動方向を算出し、
前記対象物の前記位置情報と前記環境情報取得手段の前記位置情報に加えて、前記対象物の前記移動方向に基づいて、前記認識空間を算出する、
ロボットの制御方法。
【請求項１４】
前記対象物の移動方向に前記認識空間を拡大するように、前記認識空間を算出する請求項１３に記載のロボットの制御方法。
【請求項１５】
前記対象物が移動している場合、当該対象物の移動速度を算出し、
前記対象物の前記位置情報と前記環境情報取得手段の前記位置情報と前記対象物の前記移動方向に加えて、前記対象物の前記移動速度に基づいて、前記認識空間を算出する請求項１３又は１４に記載のロボットの制御方法。
【請求項１６】
前記対象物の前記移動速度に比例して前記認識空間を拡大するように、前記認識空間を算出する請求項１５に記載のロボットの制御方法。
【請求項１７】
前記認識空間は、前記環境情報取得手段を頂点とし、前記対象物を底面の中心とする錐体である請求項１３〜１６のいずれか一項に記載のロボットの制御方法。
【請求項１８】
前記認識空間の底面の外縁は、前記環境情報取得手段の位置から認識される前記対象物の外形よりも大きい請求項１７に記載のロボットの制御方法。
【請求項１９】
前記ロボット本体には、複数の前記環境情報取得手段がそれぞれ異なる位置に設けられ、
前記対象物の前記位置情報と複数の前記環境情報取得手段に含まれる第１の環境情報取得手段の位置情報とに基づいて算出した第１の認識空間と、前記対象物の前記位置情報と、に基づいて、前記軌道を算出できない場合、
前記対象物の前記位置情報と複数の前記環境情報取得手段に含まれる第２の環境情報取得手段の位置情報とに基づいて算出した第２の認識空間と、前記対象物の前記位置情報と、に基づいて、前記軌道を算出する請求項１３〜１８のいずれか一項に記載のロボットの制御方法。
【請求項２０】
ロボット本体と、前記ロボット本体に対して相対的に変位可能に連結された可動部と、前記ロボット本体の周囲の環境情報を取得する環境情報取得手段と、を備えるロボットの制御方法であって、
前記ロボット本体の前記周囲の前記環境情報を取得し、
前記環境情報に基づいて、前記ロボット本体の周囲に存在する対象物を認識し、
前記対象物を認識するために必要とする空間としての認識空間を算出し、
前記可動部が、前記認識空間への侵入を回避しつつ、前記対象物に向かうような前記可動部の軌道を算出し、
前記可動部の前記軌道に基づいて、前記可動部の動きを制御し、
前記認識空間を複数の空間に分割し、分割されたそれぞれの分割空間に対して、前記可動部の侵入を抑制する度合いを示す侵入抑制レベルを設定する、
ロボットの制御方法。
【請求項２１】
前記対象物の環境情報を取得し、
前記対象物の前記環境情報に基づいて、前記対象物の位置情報を算出し、
前記対象物の前記位置情報と前記認識空間とに基づいて、前記軌道を算出できない場合、
前記分割空間の前記侵入抑制レベルに応じて、当該分割空間への前記可動部の侵入を許容し、前記軌道を算出する請求項２０に記載のロボットの制御方法。
【請求項２２】
前記分割空間の前記侵入抑制レベルは、前記可動部が当該分割空間に侵入した場合に、前記環境情報取得手段による前記対象物の前記環境情報の取得処理に対して前記可動部が与える影響の大きさに基づいて決定される請求項２０又は２１に記載のロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボット及びその制御方法に関し、特にアーム等の可動部を有するロボット及びその制御方法に関する。
【背景技術】
【０００２】
ハンドアームを有するロボットが対象物を把持する場合、ロボットはセンサやカメラ等の認識手段により対象物を認識しながらハンドアームを対象物まで近づける。このとき、認識手段と対象物との間にアームが侵入すると、対象物の認識を継続できなくなる。つまり、対象物がハンドアームによって隠れてしまう可能性がある。その結果、対象物の把持がうまくいかないという問題があった。
【０００３】
このような問題を解決するため、特許文献１には、ロボットの頭部カメラとは別に、アームにもカメラが設置されたロボットが開示されている。特許文献１に記載のロボットは、頭部カメラ及びアームカメラの画像を合成して、周囲の環境を認識する。そのため、頭部カメラと対象物との間にアームが侵入した場合であっても、アームカメラにより対象物を撮像できれば、頭部カメラ及びアームカメラの画像を合成して対象物を認識できる。つまり、頭部カメラの視界が自らのアームによって遮られた場合であっても、ロボットは対象物の認識を継続することができる。
【０００４】
なお、特許文献２には、ビジュアルサーボでロボットをワーク位置へ移動制御する場合に、予め禁止領域を設定し、禁止領域を回避するようにロボットを移動制御する技術が開示されている。制御装置は、ロボットがワークを認識することができなくなる位置姿勢及び当該位置姿勢における画像を制限条件として記憶し、禁止領域として設定する。これにより、ロボットはワークを認識しながら目標位置まで移動することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２１６３５０号公報
【特許文献２】特開２００３−３０５６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ハンドアームを備える一般的なロボットの処理と比較して、特許文献１に記載の技術は、頭部カメラの画像とアームカメラの画像とを合成する画像合成処理が別途必要となる。また、特許文献２に記載の技術は、ロボットの移動前に予め禁止領域の位置姿勢及び禁止領域における画像を記憶しておく処理が別途必要となる。つまり、特許文献１及び２に記載の技術は、アームまたはロボットを対象物に近づける処理に関して改善の余地が残されていた。
【０００７】
本発明はこのような問題を解決するためになされたものであり、対象物を認識しながらアーム等を対象物まで近づけることができる新規なロボット及びその制御方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明にかかるロボットは、ロボット本体と、前記ロボット本体に対して相対的に変位可能に連結された可動部と、前記ロボット本体の周囲の環境情報を取得する環境情報取得手段と、前記環境情報取得手段が取得した前記環境情報に基づいて、前記ロボット本体の周囲に存在する対象物を認識する物体認識手段と、前記物体認識手段により前記対象物を認識するために必要とする空間としての認識空間を算出する認識空間算出手段と、前記可動部が、前記認識空間への侵入を回避しつつ、前記対象物に向かう軌道を算出する軌道算出手段と、前記軌道算出手段が算出した前記軌道に基づいて、前記可動部の動きを制御する可動部制御手段と、を備えるものである。これにより、対象物を認識しながら可動部を対象物まで近づけることができる。
【０００９】
また、前記物体認識手段は、前記環境情報取得手段が取得した前記環境情報に基づいて、前記対象物の位置情報を算出し、前記認識空間算出手段は、前記対象物の前記位置情報と前記環境情報取得手段の位置情報とに基づいて、前記認識空間を算出する。
【００１０】
また、本発明にかかるロボットの一態様は、前記物体認識手段は、前記対象物が移動している場合、当該対象物の移動方向を算出し、前記認識空間算出手段は、前記対象物の前記位置情報と前記環境情報取得手段の前記位置情報に加えて、前記対象物の前記移動方向に基づいて、前記認識空間を算出する。これにより、対象物が移動している場合であっても、対象物の移動を考慮した認識空間を算出することができる。
【００１１】
また、本発明にかかるロボットの一態様は、前記認識空間算出手段は、前記対象物の移動方向に前記認識空間を拡大するように、前記認識空間を算出する。
【００１２】
また、本発明にかかるロボットの一態様は、前記物体認識手段は、前記対象物が移動している場合、当該対象物の移動速度を算出し、前記認識空間算出手段は、前記対象物の前記位置情報と前記環境情報取得手段の前記位置情報と前記対象物の前記移動方向に加えて、前記対象物の前記移動速度に基づいて、前記認識空間を算出する。これにより、対象物の移動速度に応じた適切な認識空間を算出することができる。
【００１３】
また、本発明にかかるロボットの一態様は、前記認識空間算出手段は、前記対象物の前記移動速度に比例して前記認識空間を拡大するように、前記認識空間を算出する。
【００１４】
また、本発明にかかるロボットの一態様は、前記認識空間は、前記環境情報取得手段を頂点とし、前記対象物を底面の中心とする錐体である。
【００１５】
また、本発明にかかるロボットの一態様は、前記認識空間の底面の外縁は、前記環境情報取得手段の位置から認識される前記対象物の外形よりも大きい。これにより、物体の外形が可動部に隠れることがないため、可動部が対象物の認識に影響を与えることがない。
【００１６】
また、前記ロボット本体には、複数の前記環境情報取得手段がそれぞれ異なる位置に設けられ、前記対象物の前記位置情報と複数の前記環境情報取得手段に含まれる第１の環境情報取得手段の位置情報とに基づいて前記認識空間算出手段が算出した第１の認識空間と、前記対象物の前記位置情報と、に基づいて、前記軌道算出手段が前記軌道を算出できない場合、前記軌道算出手段は、前記対象物の前記位置情報と複数の前記環境情報取得手段に含まれる第２の環境情報取得手段の位置情報とに基づいて前記認識空間算出手段が算出した第２の認識空間と、前記対象物の前記位置情報と、に基づいて、前記軌道を算出する。これにより、第１の環境情報取得手段の位置情報に基づいて、軌道が算出できない場合であっても、第２の環境情報取得手段の位置情報に基づいて、軌道を算出することができる。
【００１７】
また、本発明にかかるロボットの一態様は、前記認識空間算手段は、前記認識空間を複数の空間に分割し、分割されたそれぞれの分割空間に対して、前記可動部の侵入を抑制する度合いを示す侵入抑制レベルを設定する。
【００１８】
また、本発明にかかるロボットの一態様は、前記軌道算出手段が前記対象物の前記位置情報と前記認識空間とに基づいて、前記軌道を算出できない場合、前記軌道算出手段は、前記分割空間の前記侵入抑制レベルに応じて、当該分割空間への前記可動部の侵入を許容し、前記軌道を算出する。これにより、軌道算出手段が軌道を算出できない場合であっても、侵入抑制レベルに応じて、認識空間への侵入を許容し、軌道を算出することができる。
【００１９】
また、本発明にかかるロボットの一態様は、前記分割空間の前記侵入抑制レベルは、前記可動部が当該分割空間に侵入した場合に、前記環境情報取得手段による前記対象物の前記環境情報の取得処理に対して前記可動部が与える影響の大きさに基づいて決定される。これにより、軌道算出手段が算出可能な可動部の軌道の選択肢を広げた場合であっても、可動部が対象物の認識を妨げることがない。
【００２０】
また、本発明にかかるロボットの一態様は、前記ロボット本体に連結された頭部をさらに備え、前記環境情報取得手段は、前記頭部に設けられている。
【００２１】
また、本発明にかかるロボットの一態様は、前記可動部は、前記対象物を把持する把持手段を有するアームである。
【００２２】
本発明にかかるロボットの制御方法は、ロボット本体と、前記ロボット本体に対して相対的に変位可能に連結された可動部と、前記ロボット本体の周囲の環境情報を取得する環境情報取得手段と、を備えるロボットの制御方法であって、前記ロボット本体の前記周囲の前記環境情報を取得し、前記環境情報に基づいて、前記ロボット本体の周囲に存在する対象物を認識し、前記対象物を認識するために必要とする空間としての認識空間を算出し、前記可動部が、前記認識空間への侵入を回避しつつ、前記対象物に向かうような前記可動部の軌道を算出し、前記可動部の前記軌道に基づいて、前記可動部の動きを制御するものである。これにより、対象物を認識しながら可動部を対象物まで近づけることができる。
【００２３】
また、本発明にかかるロボットの制御方法一態様は、前記対象物の環境情報を取得し、前記対象物の前記環境情報に基づいて、前記対象物の位置情報を算出し、前記対象物の前記位置情報と前記環境情報取得手段の位置情報とに基づいて、前記認識空間を算出する。
【００２４】
また、本発明にかかるロボットの制御方法一態様は、前記対象物が移動している場合、当該対象物の移動方向を算出し、前記対象物の前記位置情報と前記環境情報取得手段の前記位置情報に加えて、前記対象物の前記移動方向に基づいて、前記認識空間を算出する。これにより、対象物が移動している場合であっても、対象物の移動を考慮した認識空間を算出することができる。
【００２５】
また、本発明にかかるロボットの制御方法一態様は、前記対象物の移動方向に前記認識空間を拡大するように、前記認識空間を算出する。
【００２６】
また、本発明にかかるロボットの制御方法一態様は、前記対象物が移動している場合、当該対象物の移動速度を算出し、前記対象物の前記位置情報と前記環境情報取得手段の前記位置情報と前記対象物の前記移動方向に加えて、前記対象物の前記移動速度に基づいて、前記認識空間を算出する。これにより、対象物の移動速度に応じた適切な認識空間を算出することができる。
【００２７】
また、本発明にかかるロボットの制御方法一態様は、前記対象物の前記移動速度に比例して前記認識空間を拡大するように、前記認識空間を算出する。
【００２８】
また、本発明にかかるロボットの制御方法一態様は、前記認識空間は、前記環境情報取得手段を頂点とし、前記対象物を底面の中心とする錐体である。
【００２９】
また、本発明にかかるロボットの制御方法一態様は、前記認識空間の底面の外縁は、前記環境情報取得手段の位置から認識される前記対象物の外形よりも大きい。これにより、物体の外形が可動部に隠れることがないため、可動部が対象物の認識に影響を与えることがない。
【００３０】
また、本発明にかかるロボットの制御方法一態様は、前記ロボット本体には、複数の前記環境情報取得手段がそれぞれ異なる位置に設けられ、前記対象物の前記位置情報と複数の前記環境情報取得手段に含まれる第１の環境情報取得手段の位置情報とに基づいて算出した第１の認識空間と、前記対象物の前記位置情報と、に基づいて、前記軌道を算出できない場合、前記対象物の前記位置情報と複数の前記環境情報取得手段に含まれる第２の環境情報取得手段の位置情報とに基づいて算出した第２の認識空間と、前記対象物の前記位置情報と、に基づいて、前記軌道を算出する。これにより、第１の環境情報取得手段の位置情報に基づいて、軌道が算出できない場合であっても、第２の環境情報取得手段の位置情報に基づいて、軌道を算出することができる。
【００３１】
また、本発明にかかるロボットの制御方法一態様は、前記認識空間を複数の空間に分割し、分割されたそれぞれの分割空間に対して、前記可動部の侵入を抑制する度合いを示す侵入抑制レベルを設定する。
【００３２】
また、本発明にかかるロボットの制御方法一態様は、前記対象物の前記位置情報と前記認識空間とに基づいて、前記軌道を算出できない場合、前記分割空間の前記侵入抑制レベルに応じて、当該分割空間への前記可動部の侵入を許容し、前記軌道を算出する。これにより、軌道算出手段が軌道を算出できない場合であっても、侵入抑制レベルに応じて、認識空間への侵入を許容し、軌道を算出することができる。
【００３３】
また、本発明にかかるロボットの制御方法一態様は、前記分割空間の前記侵入抑制レベルは、前記可動部が当該分割空間に侵入した場合に、前記環境情報取得手段による前記対象物の前記環境情報の取得処理に対して前記可動部が与える影響の大きさに基づいて決定される。これにより、軌道算出手段が算出可能な可動部の軌道の選択肢を広げた場合であっても、可動部が対象物の認識を妨げることがない。
【発明の効果】
【００３４】
本発明により、対象物を認識しながらアーム等を対象物まで近づけることができる新規なロボット及びその制御方法を提供することができる。
【図面の簡単な説明】
【００３５】
【図１】実施の形態１にかかるロボットの構成例を示す図である。
【図２】実施の形態１にかかるロボットのブロック図である。
【図３】実施の形態１にかかるロボットの動作を示すフローチャートである。
【図４】実施の形態１にかかるロボットの構成例を示す図である。
【図５】実施の形態１にかかるロボットの変形例を示す図である。
【図６】実施の形態１にかかるロボットの変形例の動作を示すフローチャートである。
【図７】実施の形態１にかかる認識空間の変化を説明するための図である。
【図８】実施の形態２にかかるロボットの構成例を示す図である。
【図９】実施の形態２にかかるロボットの動作を示すフローチャートである。
【図１０】実施の形態３にかかる認識空間の構成例を示す図である。
【図１１】実施の形態３にかかるロボットの動作を示すフローチャートである。
【発明を実施するための形態】
【００３６】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は本実施の形態にかかるロボット１の斜視図である。ロボット１は、頭部１１、ロボット本体１２、アーム１３、カメラ１４を備える。
【００３７】
頭部１１は、ロボット本体１２と連結されている。頭部１１には、カメラ１４（環境情報取得手段）が設けられている。カメラ１４は、障害物や把持対象物等のロボット１の周囲の物体を撮像する。そして、カメラ１４は、ロボット本体１２の周囲の物体の画像データ（環境情報）を生成する。
【００３８】
アーム１３は、ロボット本体１２に対して相対的に変位可能となるように、ロボット本体１２と連結されている。例えば、アーム１３は、１つ以上の関節を有し、複数の部材が連結されているものである。図１においては、アーム１３は２つの関節を有する。当該関節に設けられたモータ（図示省略）の駆動により、アーム１３は、ロボット本体１２に対して相対的に変位可能となる。アーム１３の先端には、ハンド部１３１（把持手段）が連結されている。ハンド部１３１は、把持対象物９０を把持可能である。
【００３９】
次に、図２に示すブロック図を用いて、ロボット１が備える制御部について詳細に説明する。ロボット１の制御部は、物体認識部１５、認識空間算出部１６、軌道算出部１７、可動制御部１８を有する。
【００４０】
物体認識部１５は、カメラ１４が生成した画像データから、障害物や把持対象物等の外部環境を認識する。より詳細には、物体認識部１５は、カメラ１４が生成した画像データから、把持対象物９０の位置情報を算出する。ここで、位置情報とは、位置の特定に関する情報である。位置とは、ロボット１に対して相対的な位置であってもよいし、絶対的な位置であってもよい。本実施の形態では、カメラ１４は、ステレオカメラであって、２つのカメラレンズにより２つの画像データを生成する。物体認識部１５は、２つの画像データから特徴点の座標を取得する。そして、物体認識部１５は、２つの画像データから取得した特徴点から両眼視差に基づいて、把持対象物９０を含む周囲の物体の３次元座標（位置情報）を算出する。
【００４１】
認識空間算出部１６は、認識空間２０を算出する。より詳細には、認識空間算出部１６は、物体認識部１５が算出した把持対象物９０の位置情報とカメラ１４の位置情報とに基づいて、認識空間２０を算出する。ここで、認識空間とは、把持対象物９０を認識するために必要とする空間をいう。言い換えると、アーム１３が侵入することにより、把持対象物の認識の妨げとなる空間を意味する。なお、認識空間の形状は、例えば、円錐や角錐であってもよいし、円柱や角柱であってもよい。
【００４２】
軌道算出部１７は、アーム１３が認識空間２０へ侵入することを回避しつつ、把持対象物に向かうような軌道を算出する。具体的には、軌道算出部１７は、認識空間を仮想的な障害物として認識し、アーム１３を把持対象物９０へと近づける軌道を算出する。なお、アーム１３の軌道の算出手法としては、ＲＲＴ（Rapidly-exploring Random Trees）等の既存の軌道計画手法を用いればよい。可動制御部１８は、軌道算出部１７が算出したアーム１３の軌道に基づいて、アーム１３の関節に設けられたモータに対して制御信号を送出し、アーム１３の動作を制御する。
【００４３】
続いて、図３に示したフローチャートを用いて、ロボット１の動作例について説明する。図３においては、ロボット１がハンド部１３１を用いて把持対象物９０を把持する動作について説明する。
【００４４】
まず、カメラ１４が、ロボット１の周囲環境を撮像し画像データを生成する（ステップＳ１０１）。カメラ１４は、物体認識部１５に対して画像データを送信する。そして、物体認識部１５は、画像データから把持対象物９０の位置情報を算出する（ステップＳ１０２）。物体認識部１５は、把持対象物９０の位置情報を認識空間算出部１６及び軌道算出部１７に対して送信する。
【００４５】
認識空間算出部１６は、カメラ１４の位置情報（頭部１１に設けられたカメラ１４の位置を特定するための情報）と把持対象物９０の位置情報とに基づいて、認識空間２０を算出する（ステップＳ１０３）。このとき、カメラ１４の位置情報は予め認識空間算出部１６に記憶されているものとする。図１においては、認識空間２０は、カメラ１４を頂点とし、把持対象物９０の重心を底面の中心とする円錐形の空間である。より詳細には、認識空間２０の底面の外縁は、把持対象物９０の外形が収まる大きさとする。なお、把持対象物９０の重心及び外形とは、カメラ１４により撮像された画像における把持対象物９０の重心及び外形をいう。認識空間算出部１６は、算出した認識空間２０の空間位置情報を軌道算出部１７に対して送信する。空間位置情報とは、物体認識部１５が算出した周囲の物体の位置に対する認識空間２０の位置、大きさ、範囲を特定するための情報を意味する。
【００４６】
軌道算出部１７は、物体認識部１５から送信された把持対象物９０の位置情報に基づいて、アーム１３のハンド部１３１を把持対象物９０に近づける軌道を算出する（ステップＳ１０４）。このとき、軌道算出部１７は、認識空間算出部１６から受信した認識空間２０の空間位置情報から特定される位置に障害物があるとみなして軌道を算出する。つまり、軌道算出部１７は、アーム１３及びハンド部１３１が認識空間２０を通過しないような軌道を算出する（図１に示す破線矢印）。これにより、カメラ１４が把持対象物９０を撮像する際に、アーム１３及びハンド部１３１が撮像の妨げとならない。なお、図４に示すように、把持対象物９０の周囲に障害物９１が存在する場合は、軌道算出部１７は、アーム１３（ハンド部１３１）の認識空間２０への侵入及びアーム１３と障害物９１との接触を回避しつつ、ハンド部１３１が把持対象物９０に近づくような軌道を算出する。軌道算出部１７は、算出した軌道に関する軌道情報を可動制御部１８に対して送信する。
【００４７】
可動制御部１８は、軌道算出部１７から受信した軌道情報に基づいて、アーム１３に設けられた関節のモータに制御信号を送信する（ステップＳ１０５）。これにより、ハンド部１３１は、軌道算出部１７が算出した軌道に沿って把持対象物９０に接近する。そして、ハンド部１３１と把持対象物９０との距離が所定の距離まで近づくと、可動制御部１８は、ハンド部１３１に設けられたモータに対して制御信号を送信する。ハンド部１３１は、モータの駆動により把持対象物９０を把持する（ステップＳ１０６）。このとき、ハンド部１３１が把持対象物９０に所定の距離まで近づいた後は、ハンド部１３１が認識空間２０へ侵入しないと把持対象物９０を把持できない。そのため、軌道算出部１７が算出した軌道は、把持対象物９０の近傍においては例外的に認識空間を通過する軌道となる。
【００４８】
このように、本実施の形態にかかるロボット１の構成によれば、認識空間算出部１６が、カメラ１４の位置情報と把持対象物９０の位置情報とに基づいて、アーム１３の侵入を抑制する認識空間２０を算出する。そして、軌道算出部１７が認識空間２０への侵入を回避したアーム軌道を算出し、可動制御部１８が当該アーム軌道に基づいて、アーム１３を制御する。そのため、カメラ１４が把持対象物９０を撮像する場合に、アーム１３が把持対象物９０を隠してしまうことはない。したがって、物体認識部１５による把持対象物９０の認識を継続したまま、ハンド部１３１を把持対象物９０に近づけることができる。
【００４９】
さらに、特許文献１の構成と比較すると、本実施の形態にかかるロボット１は、ロボットの頭部カメラの撮像画像とアームカメラの撮像画像との合成画像を作成する必要もない。そのため、アームカメラの視線方向を一定方向に保ちつつ、対象物にアームを近づけていくという厳しい拘束条件は必要がない。つまり、アーム制御における拘束条件は認識空間２０に侵入しないという条件のみである。したがって、アーム１３の可動範囲が著しく低下することを防ぐことができる。
【００５０】
加えて、本発明にかかるロボット１は、アームカメラや画像合成処理部を別途必要としない。そのため、ロボット１の製造コストを抑えることができる。言い換えると、本発明は新たな部品（アームカメラ等）を必要としないため、既存のロボットにも適用可能であり、汎用性を向上させることもできる。
【００５１】
ここで、本実施の形態にかかるロボット１の変形例について説明する。図５は、変形例にかかるロボット１の動作例を示す図である。変形例にかかるロボット１の構成は、上述の実施の形態と同様であるため、説明を省略する。
【００５２】
図６に示すフローチャートを用いて、変形例にかかるロボット１の動作について説明する。まず、カメラ１４が、把持対象物９０を含む周囲環境を撮像し、画像データを生成する（ステップＳ２０１）。把持対象物９０が移動している場合、物体認識部１５は、カメラ１４から受信した画像データから、把持対象物９０の位置情報に加えて、把持対象物９０の移動ベクトル（移動方向）を算出する（ステップＳ２０２）。そして、物体認識部１５は、把持対象物９０の位置情報及び移動ベクトルを認識空間算出部１６及び軌道算出部１７に対して送信する。なお、変形例においては、物体認識部１５が把持対象物９０の移動方向や移動速度を算出するため、カメラ１４は、撮像した画像データを定期的に物体認識部１５に対して送信する。
【００５３】
認識空間算出部１６は、把持対象物９０の移動方向に認識空間２０を拡大するように、認識空間２０を算出する（ステップＳ２０３）。具体的には、把持対象物９０の移動方向に認識空間２０の底面を伸ばすように、認識空間２０を拡大する。認識空間２０の底面の拡大量は一定値であってもよいし、把持対象物９０の移動速度に比例して拡大してもよい。移動速度に比例して認識空間２０の底面を拡大させる場合、物体認識部１５がカメラ１４から送信される画像データから把持対象物９０の移動速度を算出する構成とすればよい。これにより、認識空間算出部１６は、把持対象物９０の移動ベクトル方向へ、把持対象物９０の移動速度に比例して、認識空間２０の底面を伸ばすことができる（図７参照）。
【００５４】
軌道算出部１７は、把持対象物９０の位置情報と拡大された認識空間２０とに基づいて、アーム１３の軌道を算出する（ステップＳ２０４）。図５においては、アーム１３が移動中の把持対象物９０へ最短距離で近づこうとすると、アーム１３が認識空間２０に侵入してしまう。そのため、軌道算出部１７は、アーム１３が認識空間２０に侵入しないように、迂回した軌道を算出する（図５に示す破線矢印）。そして、可動制御部１８は、軌道算出部１７が算出した軌道に沿って、ハンド部１３１を把持対象物９０へ近づけるように制御する（ステップＳ２０５）。その後、可動制御部１８は、ハンド部１３１が把持対象物９０を把持したか否かを判定する（ステップＳ２０６）。ハンド部１３１が、把持対象物９０を把持した場合（ステップＳ２０６：Ｙｅｓ）、把持動作を完了する。
【００５５】
一方、ハンド部１３１が把持対象物９０を把持していない場合（ステップＳ２０６：Ｎｏ）、物体認識部１５は、カメラ１４から定期的に送信される画像データに基づいて、把持対象物９０の移動の有無を判定する（ステップＳ２０７）。把持対象物９０が移動している場合（ステップＳ２０７：Ｙｅｓ）、つまり、把持対象物９０の位置情報が変化している場合、物体認識部１５は、把持対象物９０の位置情報及び移動ベクトルを再度算出し（ステップＳ２０２）、認識空間算出部１６及び軌道算出部１７に対して送信する。そして、認識空間算出部１６は、認識空間２０を再度算出する（ステップＳ２０３）。軌道算出部１７は、認識空間２０の空間位置情報と把持対象物９０の位置情報及び移動ベクトルに基づいて、再度軌道を算出する（ステップＳ２０４）。さらに、可動制御部１８は、軌道算出部１７から受信した軌道情報に基づいて、アーム１３の動作を制御する（ステップＳ２０５）。
【００５６】
把持対象物９０が移動していない場合（ステップＳ２０７：Ｎｏ）、可動制御部１８は、軌道算出部１７により既に算出された軌道情報に基づいて、アーム１３を継続して制御する（ステップＳ２０５）。なお、ステップＳ２０７の移動判定を行わない構成としてもよい。その場合、ハンド部１３１による把持が完了するまで（ステップＳ２０６でＮｏの場合）、カメラ１４が周囲環境を撮像する度に、物体認識部１５が把持対象物９０の位置情報を算出（ステップＳ２０２）する。
【００５７】
このように、変形例にかかるロボット１の構成によれば、物体認識部１５が把持対象物９０の移動方向及び移動速度を算出する。そして、認識空間算出部１６が、把持対象物９０の位置情報、移動方向、移動速度及びカメラ１４の位置情報に基づいて、認識空間２０を算出する。そのため、認識空間算出部１６は、移動している把持対象物９０の将来の移動量も考慮して認識空間２０を拡大することができる。したがって、把持対象物９０が動いている場合であっても、カメラ１４による把持対象物９０の撮像をアーム１３が妨げることがない。
【００５８】
実施の形態２
本発明にかかる実施の形態２について説明する。図８は、実施の形態２にかかるロボット２の構成例を示す図である。本実施の形態にかかるロボット２は、周囲環境を撮像して画像データを生成するステレオカメラを頭部１１の異なる位置に２台備える（カメラ１４１、１４２）。なお、その他の構成についてはロボット１と同様であるので、説明を省略する。
【００５９】
図９に示すフローチャートを用いて、本実施の形態にかかるロボット２の動作例について説明する。まず、カメラ１４１（第１の環境情報取得手段）は、周囲環境を撮像し、画像データを生成する（ステップＳ３０１）。そして、カメラ１４１は、当該画像データを物体認識部１５に対して送信する。
【００６０】
物体認識部１５は、カメラ１４１から受信した画像データに基づいて、把持対象物９０の位置情報を算出する（ステップＳ３０２）。物体認識部１５は、当該位置情報を認識空間算出部１６及び軌道算出部１７に対して送信する。
【００６１】
認識空間算出部１６は、物体認識部１５から受信した把持対象物９０の位置情報とカメラ１４１の位置情報とに基づいて、認識空間２１を算出する（ステップＳ３０３）。そして、認識空間算出部１６は、認識空間２１の空間位置情報を軌道算出部１７に対して送信する。軌道算出部１７は、把持対象物９０の位置情報及び認識空間２１の空間位置情報に基づいて、ハンド部１３１（アーム１３）が認識空間２１へ侵入することなく、ハンド部１３１を把持対象物９０に近づける軌道を算出する（ステップＳ３０４）。
【００６２】
ここで、軌道算出部１７は、認識空間２１を回避しながらハンド部１３１を把持対象物９０へ近づける軌道を算出可能か否か判定する（ステップＳ３０５）。軌道算出部１７が認識空間２１を回避しながらハンド部１３１を把持対象物９０へ近づける軌道の計算に失敗した場合（ステップＳ３０５：Ｎｏ）、軌道算出部１７は、画像データの取得手段をカメラ１４１からカメラ１４２（第２の環境情報取得手段）へと切り替える（ステップＳ３０６）。なお、軌道算出部１７による軌道計算の失敗とは、アーム１３の構成（例えば、可動範囲やリンク長等）を超えて動作しなければ、認識空間２１への侵入を回避できない場合等である。
【００６３】
そして、カメラ１４２は、周囲環境を撮像し、画像データを生成する（ステップＳ３０１）。物体認識部１５は、カメラ１４２が撮像した画像データに基づいて、把持対象物９０の位置情報を算出し（ステップＳ３０２）、認識空間算出部１６及び軌道算出部１７に対して送信する。認識空間算出部１６は、把持対象物９０の位置情報とカメラ１４２の位置情報とに基づいて、認識空間２２を算出し（ステップＳ３０３）、当該認識空間２２の空間位置情報を軌道算出部１７に対して送信する。
【００６４】
軌道算出部１７は、認識空間２２を回避しながらアーム１３を把持対象物９０へ近づける軌道を算出する（ステップＳ３０４）。軌道算出部１７は計算可能か否か判定する（ステップＳ３０５）。そして、軌道計算が成功した場合（ステップＳ３０５：Ｙｅｓ）、軌道算出部１７は、軌道情報を可動制御部１８に対して送信する。可動制御部１８は、取得した軌道情報に基づいて、アーム１３を制御する（ステップＳ３０７）。ハンド部１３１は、実施の形態１と同様に、把持対象物９０を把持する（ステップＳ３０８）。
【００６５】
このように、本実施の形態にかかるロボット２は、２つのカメラ１４１、１４２を備える。軌道算出部１７は、一方のカメラ１４１が取得した画像データから生成された認識空間２１を回避して把持対象物９０にアーム１３を近づける軌道を算出する。そして、軌道計算に失敗した場合、軌道算出部１７は、他方のカメラ１４２が取得した画像データから生成された認識空間２２を回避して把持対象物９０にアーム１３を近づける軌道を算出する。そのため、認識空間算出部１６は、把持対象物９０とカメラとの相対的な位置関係に応じて、適宜認識空間を算出することができる。その結果、カメラが１つの場合に比べて、軌道算出部１７が算出し得る軌道の選択肢が多くなる。したがって、アーム１３が把持対象物９０へ近づくことができる可能性を高めることができる。
【００６６】
なお、図８に示したロボット２は、頭部１１に２つのカメラ１４１、１４２を備える構成となっているが、これに限られるものではない。２つ以上のカメラを備え、第２のカメラに基づく軌道計算に失敗した場合、第３のカメラ（または第４以降のカメラ）に基づいて軌道算出部１７が軌道の計算をしてもよい。
【００６７】
実施の形態３
本発明にかかる実施の形態３について説明する。上述の実施の形態２においては、軌道算出部１７は、アーム１３を認識空間に侵入させないように軌道を算出していた。そして、軌道の計算に失敗した場合、軌道算出部１７は、別のカメラに基づいて軌道を再計算していた。本実施の形態においては、軌道の計算に失敗した場合、軌道算出部１７は、認識空間を縮小して軌道を再計算する。
【００６８】
図１０及び図１１を参照して本実施の形態にかかるロボットの動作例を説明する。図１０は本実施の形態にかかる認識空間の構成例である。なお、その他の構成については図１に示したロボット１と同様であるので、図示を省略する。加えて、カメラ１４による撮像処理から物体認識部１５による把持対象物９０の位置情報の算出処理までは実施の形態１と同様であるため、図１１に示すフローチャートにおいては説明を省略する。
【００６９】
認識空間算出部１６は、物体認識部１５が算出した把持対象物９０の位置情報とカメラ１４の位置情報とに基づいて、認識空間２３を算出する（ステップＳ４０１）。このとき、認識空間２３は、複数の空間に分割されており、それぞれの分割空間２３１、２３２、２３３には侵入抑制レベルが設定されている（図１０参照）。侵入抑制レベルとは、当該分割空間へのアーム１３（ハンド部１３１）の侵入を抑制する度合いを示すものである。侵入抑制レベルは、アーム１３が当該分割空間に侵入した場合に、カメラ１４による把持対象物９０の画像データ生成処理に対して、アーム１３が与える影響の大きさに基づいて決定される。
【００７０】
図１０においては、認識空間算出部１６は、認識空間２３を、認識空間２３の最も中心軸側に位置する分割空間２３１、その外側に位置する分割空間２３２、分割空間２３２の外側に位置し、認識空間２３の最も中心軸から離れている分割空間２３３の３つの空間に分割する。このとき、分割空間２３１までアーム１３が侵入すると、把持対象物９０の大部分がアーム１３によって隠れてしまい、アーム１３がカメラ１４による把持対象物９０の画像データ生成の妨げとなる。そのため、認識空間算出部１６は、分割空間２３１の侵入抑制レベルを高レベル（例えば、絶対にアーム１３が侵入しないように）設定する。
【００７１】
一方、分割空間２３２までアーム１３が侵入した場合、カメラ１４は把持対象物９０の特徴点の大半を取得できる。そのため、認識空間算出部１６は、分割空間２３２の侵入抑制レベルを中レベルに設定する。他方、分割空間２３３にアーム１３が侵入しても、アーム１３により把持対象物９０はほとんど隠れる部分が無い。つまり、カメラ１４は、把持対象物９０の特徴点のほとんどを取得できる。そのため、認識空間算出部１６は、分割空間２３３の侵入抑制レベルを低レベルに設定する。つまり、認識空間算出部１６は、認識空間２３の中心軸からの距離に応じて、侵入抑制レベルを設定する。認識空間算出部１６は、認識空間２３の位置情報に加えて、分割空間２３１〜２３３の位置情報及び各分割空間の侵入抑制レベルを軌道算出部１７に対して送信する。
【００７２】
図１０においては、把持対象物９０が直方体という単純な物体であるが、把持対象物の形状がドーナツ形状等特殊な形状の場合は、認識空間の中心軸部分は隠れても把持対象物の認識に与える影響は少ない。一方、認識空間の周囲が隠れてしまうと、ドーナツ形状の把持対象物の特徴点の取得処理に与える影響が大きい。このような場合は、認識空間算出部１６は、アーム１３が認識空間に侵入することによって、把持対象物が隠れてしまう面積や特徴点の数に基づいて、侵入抑制レベルを設定してもよい。さらに、カメラ１４から近い空間にアーム１３が侵入すると、把持対象物９０の大部分が隠れてしまうため、カメラ１４からの距離に基づいて、侵入抑制レベルを設定してもよい。なお、分割空間の分割方法及び分割空間の形状は、図１０に示すものに限られない。
【００７３】
軌道算出部１７は、はじめに、最も侵入抑制レベルが低い分割空間２３３を含む認識空間２３を仮想の障害物として、ハンド部１３１を把持対象物９０へ近づける軌道を算出する（ステップＳ４０２）。ここで、軌道算出部１７は軌道の算出が可能か否か判定する（ステップＳ４０３）。軌道算出部１７は、アーム軌道の計算が成功した場合（ステップＳ４０３：Ｙｅｓ）は、当該アーム軌道情報を可動制御部１８に対して送信する。可動制御部１８は、受信した軌道情報に基づいて、アーム１３を制御する（ステップＳ４０５）。そして、ハンド部１３１は、把持対象物９０を把持する（ステップＳ４０６）。
【００７４】
これに対して、軌道算出部１７は、アーム１３の軌道の計算に失敗した場合（ステップＳ４０３：Ｎｏ）、分割空間２３３へのアーム１３の侵入を許容して（ステップＳ４０４）、再度軌道を計算する（ステップＳ４０２）。言い換えると、軌道算出部１７は、認識空間２３を狭めて、アーム１３の軌道を再計算する。これにより、アーム１３の可動範囲が広がるため、アーム１３の軌道計算が成功する可能性が高まる。
【００７５】
軌道算出部１７は、分割空間２３３へのアーム１３の侵入を許容してアーム１３の軌道を算出可能か否か再度判定する（ステップＳ４０３）。分割空間２３３へのアーム１３の侵入を許容しても、軌道算出部１７がアーム１３の軌道計算に失敗した場合（ステップＳ４０３：Ｎｏ）、軌道算出部１７は、侵入抑制レベルが上位の分割空間２３２へのアーム１３の侵入を許容して（ステップＳ４０４）、軌道を再計算する（ステップＳ４０２）。言い換えると、軌道算出部１７は、分割空間２３１のみを回避するように軌道を算出する。なお、分割空間２３３へのアーム１３の侵入を許容しても、軌道算出部１７がアーム１３の軌道計算が失敗した場合は、軌道算出部１７は認識空間２３に対するアーム１３の侵入をそれ以上許容しない。つまり、アーム軌道の算出は失敗となる。
【００７６】
このように、本実施の形態にかかるロボットの構成によれば、認識空間算出部１６が、認識空間２３を分割し、各分割空間に侵入抑制レベルを設定する。そのため、侵入抑制レベルに応じて、認識空間２３へのアーム１３の侵入がある程度許容される。その結果、認識空間２３へのアーム１３の侵入を全く許容しない場合に比べて、アーム１３の可動範囲が広がる。したがって、軌道算出部１７がアーム軌道の計算に成功する可能性が高まる。
【００７７】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更及び組み合わせをすることが可能である。例えば、上述の実施の形態においては、可動部としてアームを用いて説明したが、アーム以外の可動部であってもよい。さらに、ロボットの構成は上述した実施の形態に限られるものではない。把持対象物９０を含む周囲環境の環境情報を取得する手段としてカメラを用いたが、これに限られるものではない。環境情報取得手段としてレーザレンジセンサや超音波センサを用いることもできる。この場合、環境情報取得手段は、環境情報として、ロボットの周囲の物体までの距離情報を取得する。そして、物体認識部１５は、当該距離情報及びセンサのセンシング角度等から周囲の物体の位置情報を算出する
【符号の説明】
【００７８】
１、２  ロボット
１１  頭部
１２  ロボット本体
１３  アーム
１４、１４１、１４２  カメラ
１５  物体認識部
１６  認識空間算出部
１７  軌道算出部
１８  可動制御部
２０〜２３、２３１〜２３３  認識空間
９０  把持対象物
９１  障害物
１３１  ハンド部
【図１】
0005561037.tif 000002
【図２】
0005561037.tif 000003
【図３】
0005561037.tif 000004
【図４】
0005561037.tif 000005
【図５】
0005561037.tif 000006
【図６】
0005561037.tif 000007
【図７】
0005561037.tif 000008
【図８】
0005561037.tif 000009
【図９】
0005561037.tif 000010
【図１０】
0005561037.tif 000011
【図１１】
0005561037.tif 000012