(57)【要約】【課題】移動する物体に対する作業を正確に行う自動作業装置を提供する。【解決手段】左右のＣＣＤカメラ４３から撮像した画像から対象物を抽出してその空間上の位置を認識し、腕部Ｒ３等によって対象物に対し作業を行う自動作業装置である。そして、撮像した画像に、中央部と周辺部の少なくとも２つの領域を設定し、対象物が周辺部にある場合には、ＣＣＤカメラ４３を転回させて、中央部で撮像するようにし、位置認識部（１１３〜１１５）で空間上の位置を認識して、対象物に対し作業を行う。また、作業に際し、対象物との相対位置を調整する。【選択図】      図４
2004255486.tif 000002
【特許請求の範囲】
【請求項１】
非中心射影レンズを備えた複数の並設された撮像装置により撮像した画像に基づいて対象物の空間上の位置を検出し、所定の作業を行う自動作業装置であって、
前記撮像装置の向きを変える撮像装置転回装置と、前記撮像装置で撮像した各画像から対象物を抽出する対象物抽出部と、前記対象物抽出部により認識された各画像における対象物の位置に応じて該対象物に関する位置情報の信頼度を識別し、該信頼度に応じて前記撮像装置回転装置の制御を行う転回制御部とを備えたことを特徴とする自動作業装置。
【請求項２】
非中心射影レンズを備えた複数の並設された撮像装置により撮像した画像に基づいて対象物の空間上の位置を認識し、所定の作業を行う自動作業装置であって、
前記撮像装置の向きを変える撮像装置転回装置と、前記撮像装置で撮像した各画像から対象物を抽出する対象物抽出部と、前記対象物抽出部により認識された各画像における対象物の位置から、対象物の空間上の位置を求める位置認識部と、前記撮像装置で撮像された各画像に対し周辺部と中央部の少なくとも２つの領域を設定し、前記対象物抽出部で認識した対象物が画像上の前記周辺部にある場合には、前記中央部で対象物を撮像するように前記撮像装置転回装置で前記撮像装置の向きを変える転回制御部とを備えたことを特徴とする自動作業装置。
【請求項３】
請求項２に記載の自動作業装置において、
前記対象物との相対位置を変える移動装置をさらに備え、
前記位置認識部が認識した対象物の空間上の位置に基づき、前記対象物との相対位置を調整して所定の作業を行うよう構成されたことを特徴とする自動作業装置。
【請求項４】
前記対象物抽出部は、予め対象物の基準色を記憶しておき、前記各画像から、この基準色に対応する画素のみを抽出して、対象物を抽出するよう構成されたことを特徴とする請求項２又は請求項３に記載の自動作業装置。
【請求項５】
前記抽出した画素に対し、連続している画素にそれぞれ同じラベルＩＤを付し、同じラベルＩＤを有する画素群を一つの物体と認識するよう構成したことを特徴とする請求項４に記載の自動作業装置。
【請求項６】
前記対象物が球形の場合において、前記対象物抽出部は、前記各画像から抽出された基準色に対応する画素群の縦の視角と横の視角との比を計算し、この比が所定範囲内か否かで、前記画素群が対象物か否かを判断するよう構成したことを特徴とする請求項４又は請求項５に記載の自動作業装置。
【請求項７】
前記対象物抽出部は、前記各画像から抽出された基準色に相当する画素群の縦の視角と横の視角により区画された領域中の、前記画素群の充填率が所定範囲内か否かで、前記画素群が前記対象物か否かを判断するよう構成したことを特徴とする請求項４から請求項６のいずれか１項に記載の自動作業装置。
【請求項８】
前記対象物を撮像してその色をサンプリングし、このサンプリングした色をＣｒ−Ｃｂ空間上にプロットし、プロットされた空間上の領域のうち、原点に伸びる所定領域を除いて前記基準色が決定されたことを特徴とする請求項４から請求項７のいずれか１項に記載の自動作業装置。
【請求項９】
前記撮像装置は左右に並設され、
前記位置認識部は、前記対象物抽出部で抽出することにより認識された各画像における対象物の位置から、前記対象物までの距離を求める距離演算部と、前記対象物抽出部により認識された各画像における対象物の位置から、対象物の水平位置を求める水平位置演算部と、前記対象物抽出部により認識された各画像における対象物の位置から、対象物の垂直位置を求める垂直位置演算部とを含んで構成され、
前記撮像装置により撮像された各画像に対し、周辺部の左右の領域、周辺部の上下の領域、周辺部を除く中央の領域の少なくとも３つの領域を設定し、
前記周辺部の左右の領域に撮像された前記対象物に対する処理は、前記転回制御部による撮像装置の転回を行い、
前記周辺部の上下の領域に撮像された前記対象物に対する処理は、前記転回制御部による撮像装置の転回を行い、かつ前記水平位置認識部により対象物の水平位置を求めると共に距離演算部により対象物までの距離を求めることで対象物の水平平面上の位置を認識し、
前記周辺部を除く中央の領域に撮像された前記対象物に対する処理は、前記距離演算部、前記水平位置演算部及び前記垂直位置演算部により対象物までの距離、対象物の水平位置及び垂直位置を求めることで対象物の空間上の位置を認識し、
認識した対象物の前記水平平面上の位置又は前記空間上の位置に基づき、前記移動装置により対象物との相対位置を調整して所定の作業をするよう構成されたことを特徴とする請求項２から請求項８のいずれか１項に記載の自動作業装置。
【請求項１０】
非中心射影レンズを備えた複数の並設された撮像装置と、前記撮像装置の向きを変える撮像装置転回装置とを備えて、前記撮像装置により撮像した画像に基づいて検出した対象物に対し所定の作業を行う自動作業装置を制御するため、コンピュータを、
前記撮像手段で撮像した各画像から対象物を抽出する対象物抽出手段と、前期対象物抽出手段により認識された各画像における対象物の位置に応じて該対象物に関する位置情報の信頼度を識別し、該信頼度に応じて前記撮像装置回転装置の制御を行う転回制御手段として機能させることを特徴とする自動作業装置制御プログラム。
【請求項１１】
非中心射影レンズを備えた複数の並設された撮像装置と、前記撮像装置の向きを変える撮像装置転回装置とを備えて、前記撮像装置により撮像した画像に基づいて認識した対象物に対し所定の作業を行う自動作業装置を制御するため、コンピュータを、
前記撮像装置で撮像した各画像から対象物を抽出する対象物抽出手段と、前記対象物抽出手段により認識された各画像における対象物の位置から、対象物の空間上の位置を求める位置認識手段と、前記撮像装置で撮像された各画像に対し周辺部と中央部の少なくとも２つの領域を設定し、前記対象物抽出手段で認識した対象物が画像上の前記周辺部にある場合には、前記中央部で対象物を撮像するように前記撮像装置転回装置で前記撮像装置の向きを変える転回制御手段として機能させることを特徴とする自動作業装置制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、撮像装置を備えたロボットや自動車などの自動作業装置及び自動作業装置制御プログラムに関する。
【０００２】
【従来の技術】
従来より、種々の作業を行う自動作業装置が知られている。例えば、商品の生産工場内においては、組立ロボットを使用した部品の組み付けや溶接ロボットによる溶接作業を行っている。従来の組立ロボットなどにおいては、一定位置に流れてくる部品を決まったタイミングで掴み、決まった位置へ組み付けるように予め人が動作をティーチングし、同じ動作を繰り返させている。
しかし、前記した従来の組立ロボットなどは、予めティーチングした一定の動作しかできず、ラインや部品の設計に制限が生じるとともに、部品を一定位置にセットするための作業や自動整列装置などが必要とされる。また、一定の動作で移動している部品を掴むのは、困難であるため、部品を止めた状態で部品を掴む必要があった。
そのため、より高知能化した、移動している物体を自分で見つけ出すことができるとともに、移動している物体に対してタイミングを合わせて作業をすることができる装置が望まれる。
【０００３】
一方で、画像処理の技術は、近年盛んに開発されており、移動している物体を捕捉し続ける技術が開示されている。例えば、監視カメラのように、魚眼レンズで撮像した画像から、目標物の３次元位置情報を測位して追尾する装置が知られている（例えば、特許文献１参照）。
また、魚眼レンズを使用した例ではないが、ボールをカメラで追い続けてその位置を認識して、ビーチボールを打ち返すロボットについても報告されている（例えば非特許文献１参照）
【０００４】
【特許文献１】
特開平６−１６７５６４号公報
【非特許文献１】
辰野恭市，「人とビーチバレーボールを打ち合うロボット」，日本ロボット学会誌，第１８巻，第５号，ｐ．１０５−１１１
【０００５】
【発明が解決しようとする課題】
しかし、移動する対象物の位置検出のために一般的なステレオカメラシステムを用いた場合、取得する画像の全領域に亘ってほぼ一様な位置精度が得られる反面、視野角が水平方向で６０度程度しか得られない。このような狭い視野角のステレオシステムでは、頻繁に様々な方向に移動する対象物を画像内に捉え続けられず、その位置を継続的に検出することは困難である。狭い視野角を補うために、非特許文献１に開示された発明のようにカメラの向きを高速で転回させて対象物を認識し続けようとすれば、高速のカメラ移動が必要であるとともに、複数の対象物を認識するなど、広い範囲の対象物を同時に捉えることが不可能になってしまう。特に、対象物を画像に捕捉し続けるだけでなく、対象物に対する正確な作業も要求される場合、その実現は困難である。
一方、広い視野角を得るために魚眼レンズを用いてステレオシステムを構築する方法もある。しかし、魚眼レンズは、レンズ特性に起因して、周辺視野における対象物の位置の認識精度が低くなってしまう。
このような背景に鑑み本発明がなされたもので、本発明は移動する物体に対する作業であっても正確に行うことができる自動作業装置を提供することを課題とする。
【０００６】
【課題を解決するための手段】
前記した課題を解決するため、本発明では、非中心射影レンズを備えた複数の並設された撮像装置により撮像した画像に基づいて対象物の空間上の位置を検出し、所定の作業を行う自動作業装置であって、前記撮像装置の向きを変える撮像装置転回装置と、前記撮像装置で撮像した各画像から対象物を抽出する対象物抽出部と、前記対象物抽出部により認識された各画像における対象物の位置に応じて該対象物に関する位置情報の信頼度を識別し、該信頼度に応じて前記撮像装置回転装置の制御を行う転回制御部とを備えたことを特徴とする。
【０００７】
また、本発明は、非中心射影レンズを備えた複数の並設された撮像装置により撮像した画像に基づいて対象物の空間上の位置を認識し、所定の作業を行う自動作業装置であって、前記撮像装置の向きを変える撮像装置転回装置と、前記撮像装置で撮像した各画像から対象物を抽出する対象物抽出部と、前記対象物抽出部により認識された各画像における対象物の位置から、対象物の空間上の位置を求める位置認識部と、前記撮像装置で撮像された各画像に対し周辺部と中央部の少なくとも２つの領域を設定し、前記対象物抽出部で認識した対象物が画像上の前記周辺部にある場合には、前記中央部で対象物を撮像するように前記撮像装置転回装置で前記撮像装置の向きを変える転回制御部とを備えたことを特徴とする。
【０００８】
このような自動作業装置によれば、まず、並設された複数の撮像装置により画像が撮像される。ここでの撮像装置は、中央視野よりも、周辺視野の方が、方位の精度が向上せず、従って周辺視野の方が対象物の位置認識精度が低いような撮像装置、すなわち、正射影型の魚眼レンズなどの非中心射影レンズを備えた撮像装置である。そして、本発明の自動作業装置においては、撮像した画像の周辺部においても方位だけは信頼できることを利用して、対象物が画像の周辺部に有って、その正確な位置は不明な場合でも転回制御部により早期に撮像装置転回装置を動作させ、撮像装置を対象物の方向に転回させることで、より早く対象物を視野の中央付近に捕捉することができる。
【０００９】
そして、前記した自動作業装置においては、前記対象物との相対位置を変える移動装置をさらに備え、前記位置認識部が認識した対象物の空間上の位置に基づき、前記対象物との相対位置を調整して所定の作業を行うよう構成するのが望ましい。
【００１０】
このように構成することで、自動作業装置が対象物の空間上の位置を高い精度で認識するとともに、その対象物との相対位置を調整した上で自動作業を行うので、高度で正確な作業が可能になる。
【００１１】
また、前記対象物抽出部は、予め対象物の基準色を記憶しておき、前記各画像から、この基準色に対応する画素のみを抽出して、対象物を抽出するよう構成することもできる。
対象物の認識においては、前記抽出した画素に対し、連続している画素にそれぞれ同じラベルＩＤを付し、同じラベルＩＤを有する画素群を一つの物体と認識するようにしてもよい。
【００１２】
また、前記対象物が球形の場合においては、対象物か否かを次のように判断するのが好ましい。すなわち、前記対象物抽出部は、前記各画像から抽出された基準色に対応する画素群の縦の視角と横の視角との比を計算し、この比が所定範囲内か否かで、前記画素群が対象物か否かを判断するのが好ましい。また、前記対象物抽出部は、前記各画像から抽出された基準色に相当する画素群の縦の視角と横の視角により区画された領域中の、前記画素群の充填率が所定範囲内か否かで、前記画素群が前記対象物か否かを判断するのが好ましい。
特に、球形の場合には、縦の視角と横の視角の比は、１に近い値になるので、対象物か否かを判断することができる。また、ここで画素数ではなく、視角を用いることで、画像フレームの隅の方に対象物が撮像されて、円形から歪んでいる場合でも、正しく対象物か否かを判断することができる。さらに、充填率、すなわち、縦の視角と横の視角で区画される矩形領域中の画素群の割合から判断することで、たまたま縦の視角と横の視角の比が１に近いだけの円形から外れた矩形や輪形の画素群を排除して、正確に対象物を把握することが可能になる。
【００１３】
また、基準色を設定する際には、前記対象物を撮像してその色をサンプリングし、このサンプリングした色をＣｒ−Ｃｂ空間上にプロットし、プロットされた空間上の領域のうち、ほぼ無彩色を示す原点に伸びる所定領域を除いて決定するのが好ましい。
このようにすることで、サンプリング時の照明の反射により発生した無彩色の成分を除去して、その対象物本来の色を基準色とすることができる。
【００１４】
また、前記した自動作業装置においては、前記撮像装置は左右に並設され、前記位置認識部は、前記対象物抽出部で抽出することにより認識された各画像における対象物の位置から、前記対象物までの距離を求める距離演算部と、前記対象物抽出部により認識された各画像における対象物の位置から、対象物の水平位置を求める水平位置演算部と、前記対象物抽出部により認識された各画像における対象物の位置から、対象物の垂直位置を求める垂直位置演算部とを含んで構成した上で、次のように制御するのが望ましい。すなわち、前記撮像装置により撮像された各画像に対し、周辺部の左右の領域、周辺部の上下の領域、周辺部を除く中央の領域の少なくとも３つの領域を設定し、前記周辺部の左右の領域に撮像された前記対象物に対する処理は、前記転回制御部による撮像装置の転回を行い、前記周辺部の上下の領域に撮像された前記対象物に対する処理は、前記転回制御部による撮像装置の転回を行い、かつ前記水平位置認識部により対象物の水平位置を求めると共に距離演算部により対象物までの距離を求めることで対象物の水平平面上の位置を認識し、前記周辺部を除く中央の領域に撮像された前記対象物に対する処理は、前記距離演算部、前記水平位置演算部及び前記垂直位置演算部により対象物までの距離、対象物の水平位置及び垂直位置を求めることで対象物の空間上の位置を認識し、認識した対象物の前記水平平面上の位置又は前記空間上の位置に基づき、前記移動装置により対象物との相対位置を調整して所定の作業を行わせる。
このように、撮像装置を左右に並べた場合には、画像の周辺部でも、周辺部の上下では、対象物が画面より上下にはみ出している可能性があるため、垂直方向の位置（Ｚ位置）の信頼性は低いものの、水平位置（Ｙ位置）及び左右の画像から計算される対象物までの距離（Ｘ位置）は信頼できる。従って、各画像の所定範囲の周辺部の上下の領域では、対象物の水平平面上の位置（Ｘ−Ｙ位置）を認識することができる。さらに、周辺部を除く中央の領域においては、Ｘ位置、Ｙ位置、Ｚ位置のそれぞれについて高い精度で認識できるため、この範囲に対象物があるときは、その空間上の位置（Ｘ位置、Ｙ位置、Ｚ位置）を認識する。
そして、認識した対象物の水平平面上の位置、空間上の位置に基づき、作業のために対象物との距離を調整する必要がある場合には、移動装置により自動作業装置と対象物との相対位置を調整し、所定の作業を行う。
なお、撮像装置の転回は、対象物が、撮像された画像の周辺部の左右の領域に有ったときはもちろん、周辺部の上下の領域に有ったときに行ってもよい。
【００１５】
本発明の自動作業装置制御プログラムは、非中心射影レンズを備えた複数の並設された撮像装置と、前記撮像装置の向きを変える撮像装置転回装置とを備えて、前記撮像装置により撮像した画像に基づいて検出した対象物に対し所定の作業を行う自動作業装置を制御するため、コンピュータを、前記撮像手段で撮像した各画像から対象物を抽出する対象物抽出手段と、前期対象物抽出手段により認識された各画像における対象物の位置に応じて該対象物に関する位置情報の信頼度を識別し、該信頼度に応じて前記撮像装置回転装置の制御を行う転回制御手段として機能させることを特徴とする。
【００１６】
また、本発明の自動作業装置制御プログラムは、非中心射影レンズを備えた複数の並設された撮像装置と、前記撮像装置の向きを変える撮像装置転回装置とを備えて、前記撮像装置により撮像した画像に基づいて認識した対象物に対し所定の作業を行う自動作業装置を制御するため、コンピュータを、前記撮像装置で撮像した各画像から対象物を抽出する対象物抽出手段と、前記対象物抽出手段により認識された各画像における対象物の位置から、対象物の空間上の位置を求める位置認識手段と、前記撮像装置で撮像された各画像に対し周辺部と中央部の少なくとも２つの領域を設定し、前記対象物抽出手段で認識した対象物が画像上の前記周辺部にある場合には、前記中央部で対象物を撮像するように前記撮像装置転回装置で前記撮像装置の向きを変える転回制御手段として機能させることを特徴とする。
【００１７】
これらの本発明は、ボールを打つことや、組立ラインにおけるワークの取り扱い、操舵、減速及び加速を含む車両の運転などに応用することができる。これらの自動作業では、ボールが動いたり、ワークが組立ライン上を流れたり、並行して走っている車両や対向車両を認識したりした上で、何らかのアクションをする必要があるので、本願発明を好適に利用することができる。
【００１８】
【発明の実施の形態】
次に本発明の実施形態について、適宜図面を参照しながら説明する。
本実施形態では、自動作業装置として、人間型ロボットを取り上げ、作業の内容としては、手で風船を上に繰り返し打ち上げる場合（＝バルーンプレー）で説明する。
図１は、本実施形態の人間型のロボットＲの外観図である。図１に示すように、ロボットＲは、人間と同じように２本の脚部Ｒ１により起立、歩行し、上体Ｒ２、腕部Ｒ３、頭部Ｒ４を有し、自律して歩行するロボットである。そして、ロボットＲは、これらの脚部Ｒ１、上体Ｒ２、腕部Ｒ３、頭部Ｒ４の動作を制御する制御装置搭載部Ｒ５を背負う形で背中に備えている。頭部Ｒ４には、後記するＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラ４３が備えられている（図２，３参照）。
【００１９】
図２は、ロボットＲを動作させるための主な内部構造を示した斜視図である。
なお、図２においては、説明の便宜のためにすべての関節はそれを駆動する電動モータにより示してある。
図２に示すように、ロボットＲは、左右の脚部Ｒ１にそれぞれ６個の関節１１Ｒ（Ｌ）〜１６Ｒ（Ｌ）を備えている。左右１２個の関節は、股部に設けられた脚回旋用（Ｚ軸まわり）の股関節１１Ｒ，１１Ｌ（右側をＲ、左側をＬとする。以下同じ。）、股部のピッチ軸（Ｙ軸）まわりの股関節１２Ｒ，１２Ｌ、股部のロール軸（Ｘ軸）まわりの股関節１３Ｒ，１３Ｌ、膝部のピッチ軸（Ｙ軸）まわりの膝関節１４Ｒ，１４Ｌ、足首のピッチ軸（Ｙ軸）まわりの足関節１５Ｒ，１５Ｌ、足首のロール軸（Ｘ軸）まわりの足関節１６Ｒ，１６Ｌから構成されている。そして、脚部Ｒ１の下には足部１７Ｒ，１７Ｌが取り付けられている。
【００２０】
すなわち、脚部Ｒ１は、股関節１１Ｒ（Ｌ），１２Ｒ（Ｌ），１３Ｒ（Ｌ）、膝関節１４Ｒ（Ｌ）、足関節１５Ｒ（Ｌ），１６Ｒ（Ｌ）を備える。股関節１１〜１３Ｒ（Ｌ）と膝関節１４Ｒ（Ｌ）は大腿リンク５１Ｒ、５１Ｌで、膝関節１４Ｒ（Ｌ）と足関節１５〜１６Ｒ（Ｌ）は下腿リンク５２Ｒ，５２Ｌで連結されている。
【００２１】
脚部Ｒ１は、股関節１１Ｒ（Ｌ）〜１３Ｒ（Ｌ）を介して上体Ｒ２に連結される。図２では、脚部Ｒ１と上体Ｒ２との連結部を上体リンク５３として簡略化して示す。上体Ｒ２には腕部Ｒ３及び頭部Ｒ４が連結されると共に、上体Ｒ２を回旋させるための重力軸（Ｚ軸）まわりの関節２１も設けられている。なお、脚部Ｒ１及びこれを制御する制御ユニット１００が、特許請求の範囲にいう移動装置に相当する。
【００２２】
腕部Ｒ３は、肩部のピッチ軸（Ｙ軸）まわりの肩関節３１Ｒ，３１Ｌ、肩部のロール軸（Ｘ軸）まわりの肩関節３２Ｒ，３２Ｌ、腕部Ｒ３を回旋させるための重力軸（Ｚ軸）まわりの肩関節３３Ｒ，３３Ｌ、肘部のピッチ軸（Ｙ軸）まわりの肘関節３４Ｒ，３４Ｌ、手首を回旋させるための重力軸（Ｚ軸）まわりの腕関節３５Ｒ，３５Ｌ、手首のピッチ軸（Ｙ軸）まわりの手首関節３６Ｒ，３６Ｌ、および同ロール軸（Ｘ軸）まわりの関節３７Ｒ，３７Ｌから構成される。手首の先にはハンド３８Ｒ，３８Ｌが取り付けられている。
【００２３】
すなわち、腕部Ｒ３は、肩関節３１Ｒ（Ｌ），３２Ｒ（Ｌ），３３Ｒ（Ｌ）、肘関節３４Ｒ（Ｌ）、腕関節３５Ｒ（Ｌ）、手首関節３６Ｒ（Ｌ）を備えている。肩関節３１〜３３Ｒ（Ｌ）と肘関節３４Ｒ（Ｌ）は、上腕リンク５４Ｒ（Ｌ）で、肘関節３４Ｒ（Ｌ）と手首関節３６Ｒ（Ｌ）は下腕リンク５５Ｒ（Ｌ）で連結されている。
なお、図示の便宜上、図２において右の腕部Ｒ３は、肘関節３４Ｒで約９０度回転させている。
【００２４】
そして、頭部Ｒ４は、頭部Ｒ４のチルト角を変更する首関節４１と、パンを変更する首関節４２とを有している。そして、頭部Ｒ４には、魚眼レンズ４３ａ，４３ａを備えたＣＣＤカメラ４３，４３が左右に並んで設けられている。ＣＣＤカメラ４３，４３は、魚眼レンズ４３ａ，４３ａにより、水平方向に約１８０度の広い視野で頭部Ｒ４前方の外界を撮像することができる。また、ＣＣＤカメラ４３，４３は、首関節４１，４２の回動により、撮像する向きを転回することが可能である。すなわち、ＣＣＤカメラ４３，４３は、特許請求の範囲にいう撮像装置に相当し、首関節４１及び首関節４２が撮像装置転回装置に相当する。
【００２５】
このような構成により、脚部Ｒ１は左右の足について合計１２の自由度を与えられ、歩行中にこれらの６＊２＝１２個の関節を適宜な角度で駆動することで、足全体に所望の動きを与えることができ、任意に３次元空間を歩行させることができる（この明細書で「＊」は乗算を示す）。また、腕部Ｒ３も左右の腕についてそれぞれ７つの自由度を与えられ、これらの関節を適宜な角度で駆動することで所望の作業を行わせることができる。
【００２６】
尚、図２に示す如く、足関節の下方の足部１７Ｒ（Ｌ）には公知の６軸力センサ６１が設けられ、ロボットに作用する外力のうち、床面からロボットに作用する床反力の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚとを検出する。
【００２７】
さらに、手首関節とハンド３８Ｒ（Ｌ）の間には同種の６軸力センサ６２が設けられ、ロボットに作用するそれ以外の外力、特に作業対象物から受ける前記した対象物反力の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚとを検出する。
【００２８】
また、上体Ｒ２には傾斜センサ６３が設置され、重力軸に対する傾きとその角速度を検出する。また各関節の電動モータは、その出力を減速・増力する減速機（図示せず）を介して前記した大腿リンク５１Ｒ（Ｌ）、下腿リンク５２Ｒ（Ｌ）などを相対変位させると共に、その回転量はロータリエンコーダ（図示せず）によって検出される。
【００２９】
図１に示した制御装置搭載部Ｒ５には、制御ユニット１００などが収納され、制御ユニット１００には、ＣＣＤカメラ４３，４３が撮像した画像のデータ、及び前記した各センサ６１〜６３などの出力（図示の便宜のためロボットＲの右側についてのみ破線で図示）が送られる。また、各電動モータは制御ユニット１００からの駆動指示信号により駆動される。
【００３０】
次に、図３を参照しながらロボットＲの構成を説明する。図３は、ロボットＲのブロック図を示す。図３に示すように、ロボットＲは、制御装置搭載部Ｒ５に収納された制御ユニット１００が制御の中心をなす。制御ユニット１００は、各部に配置されたセンサから信号が入力され、入力された検出値に基づいてロボットＲの行動を決定した上で、各関節などの駆動制御値を算出し、各関節などを動作させる。
【００３１】
制御ユニット１００は、中央制御装置（ＣＰＵ）１０１、記憶装置１０２、入出力インタフェース（Ｉ／Ｆ）１０３を有するコンピュータであり、記憶装置１０２に格納されたプログラムに沿って入力された情報を処理することにより、後記する各機能を実行する。
【００３２】
脚部Ｒ１には、前記した各関節１１Ｒ（Ｌ）〜１５Ｒ（Ｌ）と、６軸力センサ６１が備えられ、６軸力センサ６１の検出信号は、制御ユニット１００に入力され、各関節１１Ｒ（Ｌ）〜１５Ｒ（Ｌ）は、制御ユニット１００により駆動される。
【００３３】
上体Ｒ２には、前記した関節２１、傾斜センサ６３に加え、バッテリ２５が備えられている。バッテリ２５の電力は、制御ユニット１００を介して各関節に供給されている。また、傾斜センサ６３の検出信号は、制御ユニット１００に入力され、関節２１は、制御ユニット１００により駆動される。
【００３４】
腕部Ｒ３には、前記した関節３１Ｒ（Ｌ）〜３７Ｒ（Ｌ）、ハンド３８Ｒ（Ｌ）、６軸力センサ６２が備えられている。６軸力センサ６２の検出信号は、制御ユニット１００に入力され、関節３１Ｒ（Ｌ）〜３７Ｒ（Ｌ）、ハンド３８Ｒ（Ｌ）は、制御ユニット１００により駆動される。
【００３５】
頭部Ｒ４には、前記した首関節４１，４２に加え、センサとしてのＣＣＤカメラ４３、ジャイロセンサ４４などが備えられている。ジャイロセンサ４４は、姿勢の制御などに利用される。
これらのセンサ情報に基づき、ロボットＲは３次元空間における自己位置を認識することができる。このため、ロボットＲでは画像上の座標とロボットＲ自身が持つ３次元上の座標とがリンクされる。なお、制御ユニット１００によるロボットＲの歩行制御は、例えば、本出願人が出願した特開平１０−２１７１６１号公報に開示された技術を用いて実現される。
【００３６】
図４は、本発明の要部に相当するハードウェア構成を示したブロック図である。制御ユニット１００は、大きく画像処理用コンピュータ１００ａと、行動制御用コンピュータ１００ｂとに分かれており、これらの間が、通信用の光ケーブル１０７で通信可能に接続されている。
画像処理用コンピュータ１００ａは、動画像取り込み装置であるフレームグラバ１０５と、画像ＣＰＵ１０１ａと、通信ボード１０９ａを有し、これらがバスラインＢＬ１に接続されている。
また、行動制御用コンピュータ１００ｂは、通信ボード１０９ｂと、制御ＣＰＵ１０１ｂとを有し、これらがバスラインＢＬ２に接続されている。
前記したＣＣＤカメラ４３，４３は、右ＣＣＤカメラ４３Ｒと、左ＣＣＤカメラ４３Ｌとからなり、これらがそれぞれフレームグラバ１０５に接続されている。フレームグラバ１０５は、右ＣＣＤカメラ４３Ｒ及び左ＣＣＤカメラ４３Ｌで撮像した画像をディジタル化して取り込み、画像ＣＰＵ１０１ａに画像データを渡し、画像ＣＰＵ１０１ａで処理された処理後の画像データが通信ボード１０９ａ、光ケーブル１０７を介して行動制御用コンピュータ１００ｂに送信される。
行動制御用コンピュータ１００ｂは、通信ボード１０９ｂから前記処理後の画像データが入力され、制御ＣＰＵ１０１ｂにおいて、この処理後の画像データに基づき、移動、風船打ち上げなどの行動を決定し、サーボアンプ１０８・・・を介して各関節２１，３１・・・の電動モータを駆動する。
【００３７】
図５は、ロボットＲを機能的に示したブロック図である。
図５に示すように、ロボットＲの制御ユニット１００は、ＣＣＤカメラ４３，４３で撮像した画像から対象物の位置を認識する画像処理部１１０と、画像処理部１１０が出力した対象物の位置に基づき、次の行動を決定する主制御部１２０と、主制御部１２０が決定した行動に基づき、実際に脚部Ｒ１を動かす移動制御部１３１と、上体Ｒ２及び腕部Ｒ３を動かす作業制御部１３２と、頭部Ｒ４を動かす頭部制御部１３３とを備えている。
【００３８】
そして、画像処理部１１０は、画像入力部１１１と、対象物抽出部１１２と、距離演算部１１３と、水平位置演算部１１４と、垂直位置演算部１１５と、対象物領域認識部１１６とを有する。
ここで、本実施形態での画像処理の概略を説明する。
図６は、画像処理の概略を示したフローチャートである。図６において、フローチャートの左側及び右側には、処理されている左画像及び右画像の例を示している。
図６に示すように、まず、右ＣＣＤカメラ４３Ｒと、左ＣＣＤカメラ４３Ｌでそれぞれ右画像と左画像を撮像する（Ｓ１０１）。左画像Ｌ１０１、右画像Ｒ１０１には、それぞれ中央付近に風船ＢＬが大きく撮像され、風船ＢＬのまわりに、背景が撮像されている。背景は、室内であり、天井Ｃには、３列の照明（蛍光灯）ＬＴが配列されており、左前方には四角い柱ＰＬが立っている。左画像Ｌ１０１と、右画像Ｒ１０１とでは、視差が生じるため、左画像Ｌ１０１では、風船ＢＬの位置が右画像Ｒ１０１に比較して右側に寄って撮像されている。
そして、基準となる色空間に含まれる画素のみを抽出することで対象物領域の抽出を行う（Ｓ１０２）。次に、一つのかたまりとして認識される部分を検出し、それぞれのかたまり部分にラベル付け（ラベリング処理）する（Ｓ１０３）。次に、ラベリングされたそれぞれの認識物体の形状が風船のものか否かを判定する形状判定を行い、本実施例の作業対象物である風船ＢＬを特定する（Ｓ１０４）。最後に、右画像、左画像のそれぞれから認識された風船ＢＬの画像中の位置から、風船ＢＬの３次元位置を計算する（Ｓ１０５）。
【００３９】
図５の画像入力部１１１は、前記したフレームグラバ１０５に相当し、左右に並んだ右ＣＣＤカメラ４３Ｒと、左ＣＣＤカメラ４３Ｌから動画像をフレーム単位（画像）で取り込み、対象物抽出部１１２へ出力する機能を有する。
【００４０】
対象物抽出部１１２は、画像入力部１１１から出力された画像から、作業の対象物である風船ＢＬの画像を抽出する。本実施の形態においては、風船ＢＬの色に基づき風船ＢＬを特定するため、自動作業をする前の準備処理として、作業対象である風船ＢＬの色を予め覚えさせておく。
【００４１】
（色の記憶）
風船ＢＬの色を覚えさせる方法は次のようにして行う。
まず、図７に示すように、風船ＢＬの全体が撮像できるように、ＣＣＤカメラ４３の視野の中心付近で風船ＢＬを撮像する。そして、風船ＢＬ以外の部分を含まないように風船ＢＬの中央付近の矩形領域Ｓでサンプリングする。矩形領域Ｓの面積や形状、サンプリング位置は、風船ＢＬのサイズや色、作業空間の照明ＬＴなどの条件に応じて、ロボットＲが高速かつ詳細に風船ＢＬを検出できるように適宜設定される。サンプリングしてＹＣｒＣｂ空間で得た各画素の色情報を、Ｃｒ−Ｃｂ空間上にプロットすると、図８の標本風船色領域ＣＳのようになる。なお、図８の例では、水色の風船ＢＬの場合について示している。図８のようなＣｒ−Ｃｂ空間上では、原点に近付くほど無彩色になる。そして、ＣＣＤカメラ４３の特性上、明るい画素ほど、色が薄くなるので、風船ＢＬ上で照明ＬＴの光が映っている画素部分は、薄い色となり、図８のＣｒ−Ｃｂ空間上では原点に近い位置にプロットされる（図８の領域ＣＮ）。つまり、標本風船色領域ＣＳのうち、原点に近付くように伸びている領域ＣＮは、照明を反射している画素部分であり、作業対象である風船ＢＬの基準色としては採用しない方が良い。仮に領域ＣＮを含めて風船の基準色空間を設定すると、自動作業中、画像フレーム内において領域ＣＮと同等の色を有する、風船以外のノイズ部分が大量に抽出されてしまう。また、風船ＢＬは、照明ＬＴとの関係上、その位置により色が微妙に変化する。さらに、風船ＢＬは、半透明であり、透けて見える向こう側の物体の色も混じるため、無彩色方向以外の色については、基準色空間として若干広めに採用する方がよい。従って、図８の基準風船色領域ＣＢのように、標本風船色領域ＣＳに対し、無彩色方向は捨て、その他の方向は広めに採取した領域の色分布を風船ＢＬの色として記憶させる。
なお、基準風船色領域ＣＢは、標本風船色領域Ｃｓや作業空間の状況などに応じて、ロボットＲが高速かつ高詳細に風船ＢＬを検出できるように適宜設定される。また、予め覚えさせておく対象物（風船ＢＬ）の色は、１色に限らず、様々な色の風船の色を覚えさせておき、複数の風船を自動的にロボットＲが打ち上げられるようにしてもよい。
【００４２】
（対象物領域の抽出）
図６のステップＳ１０２に示すように、自動作業時に対象物領域を抽出するときは、入力された画像から記憶した基準風船色領域ＣＳの色と同じ色（これを、「基準風船色」（特許請求の範囲の基準色に相当）とする。）を有する画素のみを抽出する。基準風船色を有する画素を抽出した例が図９である。図９に示すように、ほぼ円形の風船ＢＬの形状が抽出されるが、風船ＢＬに照明ＬＴが映り込んだ部分（図８の領域ＣＮに相当）は切欠状に欠けて抽出されている。また、風船ＢＬ以外の部分でも、基準風船色領域ＣＳの色と同じ色に撮像された部分（蛍光灯上、基準風船色に相当する画素が得られた部分）がノイズとして抽出されている。
【００４３】
（ラベリング処理）
次に、基準風船色に従って、抽出された（ここでは、「色がある」という）画素について、互いに連結した画素を一領域としてラベルＩＤをつける。この処理は、注目する画素に色がある場合で、隣接する８画素（左上、上、右上、左、右、左下、下、右下）に色が無い場合には、その注目画素に新しいラベルＩＤをつける。そして、注目する画素に色があり、隣接する８画素にも色がある場合には、その注目画素に隣接する画素が有するラベルＩＤと同じラベルＩＤをつける。また、注目する画素に色があり、隣接する８画素のうち、２つ以上の画素に色があり、その隣接する画素に付けられたラベルＩＤが互いに異なっている場合には、注目画素と、前記隣接する画素のすべてに同じラベルＩＤをつける。
【００４４】
このラベリング処理を、具体的に図１０を参照しながら説明する。図１０においては、四角形で画素を示し、色がある画素を斜線で示す。画素は、縦横のマトリックスに配置されており、画面の左上に位置する画素から順にラベリング処理を行っていく。図１０（ａ）に示すように、注目画素（０，０）だけに色があり、注目画素の周囲（上、左）の画素に色がない場合には、その画素に新たなラベルＩＤをつける。
図１０（ｂ）に示すように、注目画素（０，０）に色があり、注目画素の上の（−１，−１）、（０，−１）、（１，−１）のいずれかに色があって左隣（−１，０）に色がない場合には、上の色がある画素のラベルＩＤと同じラベルＩＤを注目画素につける。
図１０（ｃ）に示すように、注目画素（０，０）の上の（−１，−１）、（０，−１）、（１，−１）のいずれにも色がなく、左隣（−１，０）に色がある場合には、左隣のラベルＩＤと同じラベルＩＤを注目画素につける
図１０（ｄ）に示すように、注目画素（０，０）の上の（−１，−１）、（０，−１）、（１，−１）のいずれかと、左隣（−１，０）に色があり、それぞれのラベルＩＤが同じ場合には、それらと同じラベルＩＤを注目画素につける。
図１０（ｅ）に示すように、注目画素（０，０）の上の（１，−１）に色があり、それぞれのラベルＩＤが異なる場合は、（１，−１）と同じラベルＩＤが付いている画素は、すべて左隣のラベルＩＤと同じラベルＩＤにつけ直す。この図１０（ｅ）の場合の処理により、例えばＵ字型の領域のように、上で二手に分かれている１つの領域について、同じラベルＩＤを付すことができる。なお、画像フレーム内においていずれかの領域にも属さない画素には画素値「０」が付与される。
こうした処理を全画素について行うことにより、互いに連結した画素は一領域として同じラベルＩＤがつけられる。
【００４５】
（形状判定）
次に、ラベルＩＤがつけられた領域について、およその形状を判定し、風船ＢＬとして不適切な領域を取り除く。風船ＢＬは一般に円形をしていることから、判定には「縦の視角と横の視角の比」及び「縦と横の矩形領域に対する色のある画素の充填率」を利用する。
すなわち、同じラベルＩＤがつけられた領域の縦方向の大きさ（視角）と、横方向の大きさ（視角）の比をとり、この比が１に近い所定の範囲内、例えば、０．８以上、１．２以下であれば、風船ＢＬの可能性があると判定し、所定の範囲外であれば、風船ＢＬの可能性はないと判定して、ラベルＩＤを抹消する。例えば、図１１（ａ）に示すように、縦長の楕円であれば、視角の比が１から大きく外れるので、風船ＢＬではないと判定され、ラベルＩＤが抹消される。ただし、大きさは画素数ではなく、視角により認識されるので、画像フレームの隅の方に寄って風船ＢＬが撮像された場合には、画像上ではつぶれて楕円に見えるが、視角により認識した大きさからは、正しく縦横の比が１に近く認識される。
そして、前記した縦方向の大きさと、横方向の大きさで形成される矩形領域内の画素数に対する、ラベルＩＤがつけられた領域の画素数の割合を求め、この割合が所定範囲内、例えば０．６８以上、０．８８以下であれば、風船ＢＬであると判定し、所定範囲外であれば、風船ＢＬでないと判定してラベルＩＤを抹消する。このような処理をすることで、例えば、図１１（ｂ）に示した、長軸が斜め４５度傾いた楕円や、（ｃ）に示したリング状の円は、縦横比は１であるが、風船ＢＬ以外の物として除去され、風船ＢＬの領域だけが抽出される。
なお、縦横比や充填率のしきい値は、作業対象物の形状や作業空間の状況などに応じて適宜設定される。
【００４６】
図５に示す距離演算部１１３、水平位置演算部１１４、及び垂直位置演算部１１５は、それぞれ、対象物とＣＣＤカメラ４３（ロボットＲ）との距離、ＣＣＤカメラ４３（ロボットＲ）から対象物を見た水平位置、及び垂直位置を求める部分であり、これらの演算部１１３〜１１５が、特許請求の範囲にいう位置認識部に相当する。
【００４７】
（対象物位置の計算）
そのため、まず、抽出された風船ＢＬの領域の画像上の中心位置を求める。中心位置は、形状判定により得られた風船領域の上端と下端の平均、及び左端と右端の平均の座標とする。次に、中心位置により特定されるＣＣＤカメラ４３から風船（中心位置）の方向（中心方向）を求める。中心方向は、図１２に示すように、右ＣＣＤカメラ４３Ｒについては、光軸ＭＲからの水平方向の角度α１と、光軸ＭＲからの垂直方向の角度γにより定義される（ベクトルＤ１）。また、左ＣＣＤカメラ４３Ｌについては、光軸ＭＬからの水平方向の角度α２と角度γにより定義される（ベクトルＤ２）。但し、予め画像フレーム上の各画素の位置と、ＣＣＤカメラ４３の光軸からの角度の対応関係をテーブル（これを「キャリブレーションデータ」という。）にして記憶しておく。
そして、自動作業時には、右ＣＣＤカメラ４３Ｒと、左ＣＣＤカメラ４３Ｌのそれぞれで撮像した画像上の中心位置から前記キャリブレーションデータを参照して、ベクトルＤ１，Ｄ２を特定する。
この中心の方向は、図で示すと図１２のベクトルＤ１，Ｄ２のようになる。
そして、図１２に示すように、次の式（１）〜（３）により風船位置（Ｐｘ，Ｐｙ，Ｐｚ）を求める。
Ｐｘ  ＝  （ｘ１ｔａｎα１  −  ｙ１  −  ｘ２ｔａｎα２  ＋  ｙ２）  ／  （ｔａｎα１  −  ｔａｎα２）    ・・・（１）
Ｐｙ  ＝  （Ｐｘ  −  ｘ１）ｔａｎα１  ＋  ｙ１                              ・・・（２）
Ｐｚ  ＝  （Ｐｘ  −  ｘ１）ｔａｎγ  ＋  ｚ１                              ・・・（３）
但し、
（ｘ１，ｙ１，ｚ１）：右ＣＣＤカメラ４３Ｒの位置
（ｘ２，ｙ２，ｚ２）：左ＣＣＤカメラ４３Ｌの位置
α１：ベクトルＤ１の右ＣＣＤカメラ４３Ｒの光軸ＭＲからの水平方向の角度
γ  ：ベクトルＤ１の右ＣＣＤカメラ４３Ｒの光軸ＭＲからの垂直方向の角度
α２：ベクトルＤ２の左ＣＣＤカメラ４３Ｌの光軸ＭＬからの水平方向の角度
とする。
【００４８】
なお、風船ＢＬの候補として抽出される領域は必ずしも一つとは限らないため、同じ色で複数の風船ＢＬの候補領域が抽出された場合には、すべての領域について中心方向のベクトルを求め、左右の画像のすべての中心方向のベクトルについて組合せを作り、そのベクトル方向の直線間の距離を求める。そして、直線間の距離が所定の誤差範囲内にある組合せを選択する。例えば、右画像でＲＡ，ＲＢの２つの候補領域があり、左画像でＬＡ，ＬＢの２つの候補領域があった場合、ＲＡ−ＬＡ，ＲＡ−ＬＢ，ＲＢ−ＬＡ，ＲＢ−ＬＢの組合せを作り、この組合せの候補領域について、左右の各ＣＣＤカメラ４３，４３から各領域へ向かう直線間の距離を求める。そして、その結果が、それぞれ０．５ｍ，０．０１ｍ，０．０１ｍ，０．５ｍだったとすると、正しい組合せとして、ＲＡ−ＬＢと，ＲＢ−ＬＡが選択される。
この処理によっても、風船ＢＬが一つに決まらない場合には、さらに、前記した形状判定の条件を円形に近いもののみにするように厳しくして絞り込むと良い。
【００４９】
本実施の形態では、以上のような方法により図５に示すような距離演算部１１３、水平位置演算部及び垂直位置演算部１１５を実現しているが、他の方法によりこれらの機能部を実現することもできる。たとえば、風船ＢＬの抽出画像について、画像の歪み補正を行い、各画素の座標の算術平均をとって重心座標を求め、これを風船ＢＬの中心位置とすることもできる。
そして、風船ＢＬの距離（Ｘ位置）を、右画像と左画像で認識した風船ＢＬの視差から求めることもできる。
【００５０】
図５に示す対象物領域認識部１１６は、画像フレームを周辺部の左右の領域（「左右領域」とする）、周辺部の上下の領域（「上下領域」とする）、及びこれらの周辺部を除く中央の領域（「中央領域」とする）の３つに分け、対象物である風船ＢＬが、前記３つの領域のどの領域に位置するかを特定する。
このように、対象物の位置する領域を特定するのは、魚眼レンズが、周辺視野に行くほど、対象物の位置の認識精度が落ちるからである。図１３は、これを説明する図である。図１３のグラフは、横軸にカメラの光軸からの角度をとり、縦軸に２つのカメラで撮像した画像から、対象物までの距離を計算したときの画像一画素分の違いによって生じる算出距離の誤差をプロットしたものである。図１３に示すように、中心射影広角レンズの場合には、光軸からの角度が大きくなっても、距離の誤差には影響しないが、本実施形態で使用しているような正射影魚眼レンズの場合には、光軸からの角度が４０度を超えた辺りから急激に誤差が大きくなる。そのため、本実施形態の自動作業装置では、画像の周辺部では、その対象物が光軸に対し、上にあるとか、右にあるなどという意味での方位は信頼できるが、空間上の位置（Ｘ位置、Ｙ位置、Ｚ位置）は、相対的に信頼性が低い。そこで、本発明では、画像フレーム内の領域に応じて、撮像された対象物の空間位置まで算出し、その情報を自動作業に利用するか、方位情報だけを利用するかを使い分けている。
【００５１】
より具体的には、次のように位置認識精度の信頼性に応じた領域設定をしている。図１４に示すように、魚眼レンズ（ＣＣＤカメラ４３）で撮像した画像は、もともと円形の画像領域で、画像フレーム上はその上下が欠けた範囲で取り込んでいる。そして、左右領域ＡＨにおいては、対象物がある方位だけを信頼して、対象物までの距離については信頼しない。
また、上下領域ＡＶにおいては、対象物がある方位と、対象物までの距離を信頼し、垂直位置（Ｚ位置）については信頼しない。ここで、対象物までの距離を信頼するのは、ＣＣＤカメラ４３が左右に並んで２つ配置されており、距離は両カメラの水平角により捉えられるものであり、かつ、水平角を求める元になる対象物の水平位置については信頼できるからである。
そして、中央領域ＡＣにおいては、対象物がある空間上の位置（Ｘ位置、Ｙ位置、Ｚ位置）を信頼する。なお、前記した３つの領域に加えて、対象物の位置特定には使えない最も外側の周辺視野部を視野外部ＡＮとする。
中央領域ＡＣと上下領域ＡＶ若しくは左右領域ＡＨとの境界は、ＣＣＤカメラ４３の光軸から２５度〜３５度の範囲に設定するのが望ましい。なぜなら、本実施形態の作業において必要な距離精度は、サブピクセルの処理をしたときに１ｃｍであり、１画素当たりでは約５ｃｍに相当するからである（図１３の角度３０度付近を参照のこと）。なお、本発明で使用する魚眼レンズに関し、図１４に示す各領域（イメージサークル）は、その大きさと位置を変更できる。
ここで、図１４の領域ＡＣを広くして領域ＡＮが外側に位置しすぎると、魚眼レンズの周辺部、特に上下方向にある風船ＢＬの探知が困難になる。一方、領域ＡＣ，ＡＨ，ＡＶ，ＡＮを小さくしすぎて魚眼レンズによる視野が図１４の矩形画像フレームに略円形に収まるようにしてしまうと、上下の視野角は広がるが、位置精度が高い領域ＡＣの面積が小さくなってしまう。従って、領域ＡＣ，ＡＨ，ＡＶ，ＡＮの設定態様は、魚眼レンズの特性、要求される作業精度、作業対象の動作特性などに応じて適宜設定される。
本実施形態では、図１４に示すように下方への視野を広く設定している、これは、照明ＬＴによる悪影響の除去、落下している風船の不必要な探索の防止、ロボットＲに非常に接近した風船に対する正確な打ち上げ作業の実現などのためである。
【００５２】
（対象物領域の認識方法）
次に、対象物である風船ＢＬがどの領域にあるかの認識方法について説明する。
まず、風船として抽出された領域を構成する各画素について、各領域ごとの画素数を数える。例えば、
１）視野外部ＡＮ      ２画素
２）左右領域ＡＨ    １０画素
３）上下領域ＡＶ    ２０画素
４）中央領域ＡＣ  １００画素
であったとする。この時１）〜３）で最大の画素数を有している領域を仮の風船存在領域にする。この例の場合、３）の上下領域ＡＶが仮の風船存在領域となる。
次に、仮の風船存在領域内の画素数を風船全体の画素数で割った値を求める。この例の場合、
２０／（２＋１０＋２０＋１００）＝０．１５
で０．１５を得る。
さらに、この値が、各領域で予め決められた所定値以下の場合には、中央領域ＡＣを風船存在領域とし、所定値以上の場合には、仮の風船存在領域を真の風船存在領域とする。この所定値としては、例えば、１）で０．１、２）で０．２、３）で０．４という値を利用できる。本実施形態の場合、３）で０．１５なので、０．１５＜０．４より、風船ＢＬが中央領域ＡＣにあると特定できる。なお、この所定値は、検出位置精度や検出限界距離等に応じて適宜設定される。
そして、対象物領域認識部１１６（図５参照）で特定された領域を領域特定信号ＡＳとして、主制御部１２０へ出力する。
【００５３】
なお、この対象物領域の特定方法は、このような方法に限らず、例えば、抽出された画像上の対象物の重心が、どの領域に有るかで特定することもできる。
【００５４】
図５に示す主制御部１２０は、信号選択部１２１と、行動決定部１２２とを有する。
【００５５】
信号選択部１２１は、前記した対象物領域認識部１１６で特定された領域特定信号ＡＳに基づき、距離演算部１１３、水平位置演算部１１４、及び垂直位置演算部１１５から入力されたＸ位置、Ｙ位置、Ｚ位置のうち、位置の特定に使用する信号のみを選択する。
すなわち、領域特定信号ＡＳが視野外部ＡＮを示すものであれば、Ｘ位置、Ｙ位置、Ｚ位置のいずれも選択しない。そして、領域特定信号ＡＳが左右領域ＡＨを示すものであれば、Ｘ，Ｙ位置から方向を出力する（すなわち、図１０の角度α１を出力する）。また、領域特定信号ＡＳが上下領域ＡＶを示すものであれば、Ｘ位置とＹ位置を選択する（すなわち、信頼性の低い位置情報は使わない）。さらに、領域特定信号ＡＳが中央領域ＡＣを示すものであれば、Ｘ位置、Ｙ位置、Ｚ位置のすべてを選択する。
【００５６】
行動決定部１２２は、前記した対象物領域認識部１１６で特定された領域特定信号ＡＳ、及び信号選択部１２１から出力された位置のデータに基づき、ロボットＲの次の行動を決定し、移動制御部１３１、作業制御部１３２、及び頭部制御部１３３に行動の指令を出力する。なお、行動決定部１２２は、特許請求の範囲にいう転回制御部の機能を含む。
【００５７】
ロボットＲに風船ＢＬを打ち上げる作業をより確実に行わせるために、本実施形態では、前提として、次の１）〜３）のことを行動決定部１２２が行うようにした。
１）ロボットＲは常に足踏みをさせておく。これは、風船ＢＬとの距離を合わせるために移動するときに、すぐに移動できるようにするためであり、行動制御部１２２は、常に、移動制御部１３１に足踏みの制御を行わせる。
２）風船ＢＬを打つとき以外は、ロボットＲの腕部Ｒ３のハンド３８Ｒ（Ｌ）は一定の高さに保持させておく。これは、いわば風船ＢＬを打つためのテイクバックであり、位置を固定しておくことで、風船ＢＬとハンド３８Ｒ（Ｌ）の距離の認識を容易にしている。
３）現在の風船ＢＬの位置を認識するだけでなく、次の風船ＢＬの位置を予測しておく。これは、風船ＢＬの挙動に対する反応を良くするためであり、具体的には、等速度運動により風船ＢＬが落下すると仮定して次の処理タイミングにおける風船位置を計算すれば良い。また、水平方向の移動についても等速直線運動をすると仮定して、直前に認識した風船ＢＬの速度に応じて次の処理タイミングにおける風船位置を計算すれば良い。なお、実際には重力加速度や風、風船重心の偏心等の影響を受けて風船は等速直線運動しないが、処理周期が短いために風船ＢＬが等速直線運動すると仮定して次ぎの位置を予測しても十分に正確な打ち上げ作業が継続できる。本発明は、複雑な位置予測のための計算量の増加を抑制しつつ正確な自動作業の継続を実現している。
このように、ロボットＲは、所定時間前の風船ＢＬの時間と位置を記憶しておき、さらに所定時間先までの風船ＢＬの位置を予測計算している。いわば、風船ＢＬモデルを有しており、この風船ＢＬモデルに基づいて行動している。
【００５８】
そして、予測した風船ＢＬの位置に応じて、次のような１）〜３）の各処理を決定する。
１）風船ＢＬが、左右領域ＡＨ又は上下領域ＡＶにある場合には、風船ＢＬが視野の中央部に来るように頭部制御部１３３に頭部を転回させて、ＣＣＤカメラ４３，４３の向きを変える（視線変更）よう指示する。この結果、ロボットＲが風船ＢＬの３次元位置を詳細に算出できるようになり、正確な風船打ち上げ作業が実現する。
２）風船ＢＬが見つからなかった場合、例えば、基準風船色が見つからなかった場合や、基準風船色は見つかったが、形状判定の結果風船に相当する部分が無かった場合には、風船を探すように視線変更する。この際、例えば、６０ｆｐｓの画像処理速度時において、風船ＢＬを続けて見つけられなかったフレーム数が２フレーム以下である場合には、前回のルーチンにおける風船モデルを参照して、風船が現在あると予測される方向に視線変更する。風船ＢＬが連続３フレーム以上続けて見つけられなかった場合には、風船ＢＬを見失っているので、サーチモードとなり、ランダムに視線変更して、風船を探す。
３）風船ＢＬが、遠すぎたり、近すぎたり、左右にずれすぎて手で打てるような距離に無い場合には、ロボットＲと風船ＢＬの位置関係が手で風船ＢＬを打ち上げる上で適切になるように、移動制御部１３１に、移動を指示する。
４）風船ＢＬの位置がハンド３８Ｒ（Ｌ）の上からずれていても、腕部３の調整により風船ＢＬの下へ合わせられる範囲であれば、ハンド３８Ｒ（Ｌ）の位置を調整するように作業制御部１３２に腕部３を動かすよう指示する。この時、上体Ｒを変位させるようにしてもよい。
５）風船ＢＬが、ハンド３８Ｒ（Ｌ）の高さから所定距離だけ上の位置に来ると判断したときには、ハンド３８Ｒ（Ｌ）を上に上げるように作業制御部１３２に指示をする。
本発明では、次のタイミングの風船位置を予測しているので、上記の各動作の始動を早めることができる。なお、上述のロボットＲの足踏みやハンド３８Ｒ（Ｌ）の高さ保持は必ずしも必要な要件ではないことはいうまでもない。
【００５９】
移動制御部１３１は、行動決定部１２２の指示に基づいて、脚部Ｒ１内の関節を動かして足踏み、移動の動作を行わせる。
【００６０】
作業制御部１３２は、行動決定部１２２の指示に基づいて、上体Ｒ２及び腕部Ｒ３内の関節を動かしてハンド３８Ｒ（Ｌ）を上方へ移動させ、風船ＢＬの打ち上げ動作を行う。
【００６１】
頭部制御部１３３は、行動決定部１２２の指示に基づいて、関節４１，４２を動かして頭部Ｒ４を動かし、よってＣＣＤカメラ４３を転回させる。
【００６２】
なお、実際には、画像処理部１１０の処理は、図５の画像ＣＰＵ１０１ａにより実行され、主制御部１２０、移動制御部１３１、作業制御部１３２、及び頭部制御部１３３の処理は、図５の制御ＣＰＵ１０１ｂにより実行される。
【００６３】
以上のように構成されたロボットＲの動作について、図１５のフローチャートを参照しながら説明する。
まず、ロボットＲは、左右のＣＣＤカメラ４３Ｒ，４３Ｌで風船ＢＬを撮像し、フレームグラバ１０５（画像入力部１１１）により画像を画像ＣＰＵ１０１ａの処理領域へ取り込む（Ｓ２０１）。そして、対象物抽出部１１２において、予め記憶していたＣｒ−Ｃｂ空間上の特定領域に相当する基準風船色を左右の各画像から抽出する（Ｓ２０２）。
【００６４】
次に、基準風船色が抽出できたかどうか判断し（Ｓ２０３）、抽出できなかったときは（Ｓ２０３，Ｎｏ）、視野に風船が無いということなので、風船を探すように視線を変更する（Ｓ２０４）。基準風船色の抽出が成功した場合には（Ｓ２０３，Ｙｅｓ）、領域抽出後の左右各画像について、連結されたひとまとまりの領域ごとにラベルＩＤをつける処理を行う（Ｓ２０５）。次に、形状判定を行って、円形に近い領域だけに絞り込む（Ｓ２０６）。形状判定の結果、風船が無かった場合には（Ｓ２０７，Ｎｏ）、視線変更をして、風船ＢＬを探す（Ｓ２０４）。
【００６５】
一方、風船ＢＬが見つかった場合には（Ｓ２０７，Ｙｅｓ）、距離演算部１１３、水平位置演算部１１４、垂直位置演算部１１５により、風船ＢＬの中心位置を求めてその方向のベクトルＤ１，Ｄ２を求める（Ｓ２０８）。これにより、風船ＢＬの中心位置を推定し、角度情報（α１、α２、γ）を得る。そして、この角度情報に基づいて、風船が存在する領域が、左右領域ＡＨ、上下領域ＡＶ、中央領域ＡＣのいずれであるかを特定する（Ｓ２０９）。
領域の特定の結果、風船ＢＬが中央領域ＡＣに存在していない場合には（Ｓ２１０，Ｎｏ）、風船ＢＬの空間上の位置を求めても信頼できないため、中央領域ＡＣで風船ＢＬを捉えられるように視線変更する（Ｓ２０４）。
風船ＢＬが中央領域ＡＣに存在していた場合には（Ｓ２１０，Ｙｅｓ）、風船ＢＬの空間上の位置を正確に求められるため、ベクトルＤ１，Ｄ２から風船ＢＬの空間上の座標（Ｘ，Ｙ，Ｚ）を求める（Ｓ２１１）。このとき、風船ＢＬの直径も算出しておく。
【００６６】
次に、求めた風船ＢＬの位置を元にして、風船モデルを更新する（Ｓ２１２）。すなわち、風船ＢＬの過去の移動軌跡、速度、及び現在位置から、所定時間後までの風船ＢＬの位置を予測する。なお、風船ＢＬの現在位置が信頼できない場合には、過去の移動軌跡などから風船モデルを更新すればよい。そして、風船モデルを記憶装置１０２に記憶させる（Ｓ２１３）。
【００６７】
次に、制御ＣＰＵ１０１ｂが、記憶した風船モデル内の風船位置を参照し（Ｓ２１４）、行動の決定と行動の指示を行う。制御ＣＰＵ１０１ｂは、風船ＢＬの空間上の座標から、ロボットＲと風船ＢＬの距離が適切になるように足踏みを行い、又は脚部Ｒ１を踏み出して調整する（Ｓ２１５）。
そして、風船ＢＬを打てるタイミングで無かったときには（Ｓ２１６，Ｎｏ）、打てるタイミングになるまで、以上のステップＳ２０１〜Ｓ２１６の処理を繰り返して、風船ＢＬを常にＣＣＤカメラ４３で捉えつつ、風船ＢＬとの距離を調整する。なお、本実施形態では、ＣＰＵを２つ使用しているので、実際には画像ＣＰＵ１０１ａがステップＳ２０１〜Ｓ２０３を繰り返し、制御ＣＰＵ１０１ｂがステップＳ２１４〜Ｓ２１６を繰り返す。
風船ＢＬを打てるタイミングだったときには（Ｓ２１６，Ｙｅｓ）、行動決定部１２２が、ハンド３８Ｒ（Ｌ）を上げるように作業制御部１３２に指示する（Ｓ２１７）。このとき、風船の中心位置と直径が分かっているので、風船の下端をたたくように最適タイミングでハンド３８Ｒ（Ｌ）を振り上げる。このように本発明では、画像処理と制御処理を同期させている点にも特徴がある。
【００６８】
以上のように、本実施形態のロボットＲによれば、移動する風船ＢＬを常にＣＣＤカメラ４３で追跡するとともに、風船ＢＬと自分との距離を調整し、打ち上げ可能な条件になったときに、ハンドを上げることで風船ＢＬを打ち上げるという作業を行うことができる。本発明者らの実験では、１０回〜１５回程度なら確実に風船打ち上げ作業を繰り返すことができた。
このバルーンプレイの様子を図示したのが図１６である。図１６では、左上のフレームＭ１から右下のフレームＭ１０までロボットＲを撮影したコマを時間経過に沿って図示している。なお、頭部Ｒ４のカバーは外されて、ＣＣＤカメラ４３が露出している。図１６に示すように、フレームＭ１からフレームＭ５にかけて、ロボットＲは、自分と風船ＢＬの距離（相対位置）を調整するため、脚部Ｒ１を動かして移動している。そして、フレームＭ６からフレームＭ１０でも、脚部Ｒ１を動かし続けて風船ＢＬの落下点にハンド（図では腕部Ｒ３で図示）３８Ｌが位置するように調整を図っている。また、ＣＣＤカメラ４３は、風船ＢＬを追いかけるように注視しており、風船ＢＬを中央領域ＡＣで撮像していることがわかる。
【００６９】
このように、本実施形態のロボットＲによれば、魚眼レンズ４３ａ，４３ａを使用していることで広い視野を確保でき、そのために近くの物も広く認識できる。また、画像（視野）の周辺部で、対象物を捉えたときには、その方位を信頼してＣＣＤカメラ４３を転回させることで対象物を捉え続けることができる。なお、風船ＢＬを捉え続ける作業は、作業に必要なレベルで続ければ良く、例えば、本実施形態では、視野の下の方へ風船ＢＬが外れかかっているときでも、風船モデルにより所定時間後の風船ＢＬの位置が十分な精度で予測できることが分かっていれば、それ以上、ＣＣＤカメラ４３を下に向けることなく作業をすることもできる。
また、画像の周辺部であっても、上下領域ＡＶに風船ＢＬが有る場合には、左右にＣＣＤカメラ４３が並んでいることから、距離（Ｘ位置）についても信頼でき、Ｘ位置の情報を利用することで、風船モデルの精度を高い状態に保つことができる。従って、作業を正確に行うことができる。
【００７０】
また、実施の形態においては、ＣＣＤカメラ４３を左右に並べたが、縦に並べてもよいし、３つ以上並べて設けても構わない。さらに、撮像画像中で、４つの領域に分割して、対象物が存在する領域ごとの処理を変えたが、領域は、中央部と周辺部の２つに分割する等、他の分割方法によるものでも構わない。本発明によれば、上記実施例で説明したような処理方法を利用して、複数の対象物の画像が得られ、それぞれの形状や色が異なっていても自動作業が行える自動作業装置を提供することも可能である。
【００７１】
以上、本発明の実施形態について説明したが、本発明は前記した実施形態に限定されることなく広く応用することが可能である。
例えば、魚眼レンズを使った人間型ロボットがする作業としては、
１）左右に人がいると推定される場合、カメラを回転させることで特定人物を視野中心部で認識して、距離を検出し、その人に近付いていく。
２）接近に伴って徐々に大きくなる物体を見つけて、カメラを回転後その接近速度を算出し、その物体を避ける。
３）左右に映る柱の角度を利用して、自分の傾斜角を補正する。
などが考えられる。
また、人間型ロボット以外で想定されるものとしては、
１）工場の組立ラインにおいて、ライン上や、パレット上に用意された部品を組み立てる作業。この場合に、用意する部品を複雑に移動させながらでも作業させられるし、止まっている場合も、位置決めが不要である。
２）自動車の運転支援装置で、対向して走行してくる自動車や、並行して隣接車線を走行している自動車の位置を認識し、操舵、減速、加速などを行うことで、それらとの距離を調整したり、自動車の速度を調整したりする。
などへの適用が考えられる。以上のごとく、本発明は正射影型の魚眼レンズのように、画像周辺の角度分解能が中心部の角度分解能より劣る代わりに視野角が非常に広いレンズを用いた場合に特に効果的である。
【００７２】
【発明の効果】
以上詳述したとおり、本発明によれば、撮像装置が撮像した画像中の対象物の位置を認識するとともに、対象物が撮像画像中の周辺部にある場合には、中央部で対象物を撮像するように撮像装置を転回するので、対象物を中央部で捉えて正確に位置認識し、正確な作業を行うことができる。また、認識した位置に応じて、対象物との相対位置を調整して作業を行うので、高度で正確な作業を行うことができる。さらに、本発明では、対象物が画像フレームの周辺部に来た場合であっても単にその情報を無視するのではなく、「Ｘ，Ｙ位置」や「方位」のみでも情報として使用できるものは相応の方法で使用することで、早期に、かつ、効果的にタスクが達成される。具体例としては、対象物が画像フレームのどこにあるかによって、本発明による装置がとる行動を変えるようにしておくことで、画像フレームの横端部に風船がある場合、精度よく風船の空間位置を算出する前に移動や姿勢変位が開始され、風船への接近の早期化が図られる。この結果、確実に風船を打ち上げられる位置において高精度に風船位置認識を行う時間的余裕を得ることができる。
【図面の簡単な説明】
【図１】実施形態に係るロボットの外観図である。
【図２】実施形態に係るロボットを動作させるための主な内部構造を示した斜視図である。
【図３】実施形態に係るロボットのブロック図である。
【図４】本発明の要部に相当するハードウェア構成を示したブロック図である。
【図５】実施形態に係るロボットを機能的に示したブロック図である。
【図６】画像処理の概略を示したフローチャートである。
【図７】画像からの色のサンプリングを説明する図である。
【図８】Ｃｒ−Ｃｂ空間上での風船色のサンプリングを説明する図である。
【図９】基準風船色を有する画素を抽出した例を示す図である。
【図１０】ラベリング処理を説明する図である。
【図１１】形状判定を説明する図である。
【図１２】風船の位置座標の計算方法を説明する図である。
【図１３】正射影魚眼レンズと中心射影広角レンズの距離認識特性のグラフである。
【図１４】撮像した画像の領域分けを説明する図である。
【図１５】実施形態に係るロボットの動作を説明するフローチャートである。
【図１６】バルーンプレイを行った様子を示す図である。
【符号の説明】
４１，４２  関節
４３    ＣＣＤカメラ
１１０  画像処理部
１１２  対象物抽出部
１１３  距離演算部
１１４  水平位置演算部
１１５  垂直位置演算部
１１６  対象物領域認識部
１２０  主制御部
１２２  行動決定部
Ｒ      ロボット
Ｒ１    脚部
Ｒ２    上体
Ｒ３    腕部
Ｒ４    頭部
【図１】
2004255486.tif 000003
【図２】
2004255486.tif 000004
【図３】
2004255486.tif 000005
【図４】
2004255486.tif 000006
【図５】
2004255486.tif 000007
【図６】
2004255486.tif 000008
【図７】
2004255486.tif 000009
【図８】
2004255486.tif 000010
【図９】
2004255486.tif 000011
【図１０】
2004255486.tif 000012
【図１１】
2004255486.tif 000013
【図１２】
2004255486.tif 000014
【図１３】
2004255486.tif 000015
【図１４】
2004255486.tif 000016
【図１５】
2004255486.tif 000017
【図１６】
2004255486.tif 000018