(57)【特許請求の範囲】
【請求項１】
駆動用電源と移動手段とを備えたロボット装置と、上記電源を充電する充電装置とからなる充電システムにおいて、
上記充電装置は、最高部に第１のマーカー、後端部に第２のマーカーを標識として有し、
上記ロボット装置は、周囲の状況を撮像する撮像手段と、
上記マーカーの位置の情報が予め記憶された記憶手段と、
上記記憶手段に記憶されたマーカーの位置情報と上記撮像手段により撮像された上記マーカーの位置を含む画像に基づいて、上記ロボット装置と上記マーカーとの距離及び方向を算出する位置ベクトル算出手段と、
上記位置ベクトル算出手段によって算出された上記ロボット装置と上記マーカーとの距離及び方向にしたがって上記充電装置の方向に移動するように上記ロボット装置を制御するとともに、上記ロボット装置と上記マーカーとの距離及び方向に基づいて算出された各マーカー間の距離と上記記憶手段に記憶されたマーカーの位置の情報とに基づいて、上記ロボット装置が上記マーカーを誤認しているかどうかを判定するように制御する動作制御手段とを有し、
上記位置ベクトル算出手段が、上記ロボット装置と上記第１のマーカーとの距離及び方向を算出し、上記動作制御手段が上記ロボット装置を上記充電装置の方向に移動させた後、上記撮像手段が上記第２のマーカーを撮像できなかった場合には、上記第２のマーカーを探索するために上記動作制御手段が上記ロボット装置を上記第１のマーカーを中心とした周囲を移動させるように制御して上記位置ベクトル算出手段が上記ロボット装置と上記第１のマーカーとの距離及び方向を算出し、上記撮像手段が上記第２のマーカーを撮像できた場合には、上記位置ベクトル算出手段が上記ロボット装置と上記第２のマーカーとの距離及び方向を算出し、上記動作制御手段が誤認していると判定した場合には、上記位置ベクトル算出手段が上記ロボット装置と上記第１のマーカーとの距離及び方向を算出することを特徴とする充電システム。
【請求項２】
上記位置ベクトル算出手段は、上記撮像手段によって撮像された画像の画角中心から該画像内における上記マーカー位置までの方向ベクトルを算出する方向ベクトル算出手段と、
上記方向ベクトル算出手段によって算出された撮像画像上の方向ベクトルを上記撮像手段を中心とする撮像座標系における位置ベクトルに変換し、上記撮像座標系の位置ベクトルを当該ロボット装置を中心としたロボット座標系における位置ベクトルへと変換する座標変換手段と
を備え、
上記位置ベクトル算出手段は、上記ロボット座標系におけるマーカー位置と上記記憶手段に記憶されたマーカー位置とから該マーカーと当該ロボット装置との距離を算出することを特徴とする請求項１記載の充電システム。
【請求項３】
上記マーカーの互いの位置関係及び上記充電装置における取付位置と、上記位置ベクトル算出手段によって算出された各マーカーとの距離及び方向から上記ロボット座標系と上記充電装置を中心とした充電装置座標系との相対位置及び相対角を算出する座標系相関算出手段を備えることを特徴とする請求項１記載の充電システム。
【請求項４】
上記撮像手段により全てのマーカーが撮像されない場合、上記動作制御手段は、撮像できているマーカーを基準として所定位置まで移動するように制御することを特徴とする請求項１記載の充電システム。
【請求項５】
上記記憶手段には、上記ロボット装置が直進することで上記充電装置に到達できるエントランス位置の座標と、上記充電装置周囲の所定地点の座標とが上記充電装置座標系で記憶され、上記動作制御手段は、上記位置ベクトル算出手段によって算出された上記マーカーの互いの位置関係に応じて、上記所定地点を経由して上記エントランス位置へ移動するよう制御することを特徴とする請求項１記載の充電システム。
【請求項６】
上記ロボット装置は、移動手段を備え、上記ロボット座標系の原点及び上記充電装置座標系の原点は、上記移動手段の接地平面上に設定されていることを特徴とする請求項１記載の充電システム。
【請求項７】
駆動用電源と移動手段を備えたロボット装置と、上記電源を充電する充電装置とからなる充電システムの充電制御方法において、
周囲の状況を撮像する撮像工程と、
上記撮像工程において撮像された充電装置の最高部及び後端部に設けられた標識としての第１のマーカー及び第２のマーカーの画像と記憶手段に予め記憶された上記マーカーの位置の情報とに基づいて、上記ロボット装置と上記マーカーとの距離及び方向を算出する位置ベクトル算出工程と、
上記位置ベクトル算出工程において算出された上記ロボット装置と上記マーカーとの距離及び方向にしたがって上記ロボット装置が上記充電装置の方向に移動するとともに、上記ロボット装置と上記マーカーとの距離及び方向に基づいて算出された上記各マーカー間の距離と上記記憶手段に記憶された上記マーカーの位置の情報とに基づいて、上記ロボット装置が上記マーカーを誤認しているかどうかを判定するように制御する移動制御工程とを有し、
上記位置ベクトル算出工程では、上記ロボット装置と上記第１のマーカーとの距離及び方向を算出し、上記移動制御工程では、上記ロボット装置を上記充電装置の方向に移動させた後、上記撮像工程で上記第２のマーカーが撮像されなかった場合には、上記第２のマーカーを探索するために上記移動制御工程で上記ロボット装置を上記第１のマーカーを中心とした周囲を移動させるように制御して上記位置ベクトル算出工程では、上記ロボット装置と上記第１のマーカーとの距離及び方向を算出し、上記撮像工程で上記第２のマーカーを撮像できた場合には、上記位置ベクトル算出工程では、上記ロボット装置と上記第２のマーカーの距離及び方向を算出し、上記移動制御工程で誤認していると判定した場合には、上記位置ベクトル算出工程では、上記ロボット装置と上記第１のマーカーとの距離及び方向を算出することを特徴とする充電制御方法。
【請求項８】
駆動用電源と移動手段とを備えたロボット装置において、
上記ロボット装置は、周囲の状況を撮像する撮像手段と、
上記電源を充電する充電装置の最高部及び後端部に設けられた標識としての第１のマーカー及び第２のマーカーの位置の情報が予め記憶された記憶手段と、
上記記憶手段に記憶されたマーカーの位置情報と上記撮像手段により撮像された上記マーカーの位置を含む画像に基づいて、当該ロボット装置と上記マーカーとの距離及び方向を算出する位置ベクトル算出手段と、
上記位置ベクトル算出手段によって算出された当該ロボット装置と上記マーカーとの距離及び方向にしたがって上記充電装置の方向に移動するように、当該ロボット装置を制御するとともに、当該ロボット装置と上記マーカーとの距離及び方向に基づいて算出された上記各マーカー間の距離と上記記憶手段に記憶されたマーカーの位置の情報とに基づいて、当該ロボット装置が上記マーカーを誤認しているかどうかを判定するように制御する動作制御手段とを有し、
上記位置ベクトル算出手段が、当該ロボット装置と上記第１のマーカーとの距離及び方向を算出し、上記動作制御手段が当該ロボット装置を上記充電装置の方向に移動させた後、上記撮像手段が上記第２のマーカーを撮像できなかった場合には、上記第２のマーカーを探索するために上記動作制御手段が当該ロボット装置を上記第１のマーカーを中心とした周囲を移動させるように制御して上記位置ベクトル算出手段が当該ロボット装置と上記第１のマーカーとの距離及び方向を算出し、上記撮像手段が上記第２のマーカーを撮像できた場合には、上記位置ベクトル算出手段が当該ロボット装置と上記第２のマーカーとの距離及び方向を算出し、上記動作制御手段が誤認していると判定した場合には、上記位置ベクトル算出手段が当該ロボット装置と上記第１のマーカーとの距離及び方向を算出することを特徴とするロボット装置。
【請求項９】
上記位置ベクトル算出手段は、上記撮像手段によって撮像された画像の画角中心から該画像内における上記マーカー位置までの方向ベクトルを算出する方向ベクトル算出手段と、
上記方向ベクトル算出手段によって算出された撮像画像上の方向ベクトルを上記撮像手段を中心とする撮像座標系における位置ベクトルに変換し、上記撮像座標系の位置ベクトルを当該ロボット装置を中心としたロボット座標系における位置ベクトルへと変換する座標変換手段とを含み、
上記位置ベクトル算出手段は、上記ロボット座標系におけるマーカー位置と上記記憶手段に記憶されたマーカー位置とから該マーカーと当該ロボット装置との距離を算出することを特徴とする請求項８記載のロボット装置。
【請求項１０】
上記マーカーの互いの位置関係及び上記充電装置における取付位置と、上記位置ベクトル算出手段によって算出された各マーカーとの距離及び方向から上記ロボット座標系と上記充電装置を中心とした充電装置座標系との相対位置及び相対角を算出する座標系相関算出手段を備えることを特徴とする請求項８記載のロボット装置。
【請求項１１】
上記撮像手段により全てのマーカーが撮像されない場合、上記動作制御手段は、撮像できているマーカーを基準として所定位置まで移動するように制御することを特徴とする請求項８記載のロボット装置。
【請求項１２】
上記記憶手段には、当該ロボット装置が直進することで上記充電装置に到達できるエントランス位置の座標と、上記充電装置周囲の所定地点の座標とが上記充電装置座標系で記憶され、
上記動作制御手段は、上記位置ベクトル算出手段によって算出された上記マーカーの互いの位置関係に応じて、上記所定地点を経由して上記エントランス位置へ移動するよう制御することを特徴とする請求項８記載のロボット装置。
【請求項１３】
移動手段を備え、
上記ロボット座標系の原点及び上記充電装置座標系の原点は、上記移動手段の接地平面上に設定されていることを特徴とする請求項８記載のロボット装置。
【請求項１４】
駆動用電源と移動装置とを備えたロボット装置と、上記電源を充電する充電装置とからなる充電システムにおけるロボット装置に対して上記電源を充電するための充電処理を実行させるプログラムであって、
周囲の状況を撮像する撮像工程と、
上記撮像工程において撮像された充電装置の最高部及び後端部に設けられた標識としての第１のマーカー及び第２のマーカーの画像と記憶手段に予め記憶された上記マーカーの位置の情報とに基づいて、上記ロボット装置と上記マーカーとの距離及び方向を算出する位置ベクトル算出工程と、
上記位置ベクトル算出工程において算出された上記ロボット装置と上記マーカーとの距離及び方向にしたがって上記ロボット装置が上記充電装置の方向に移動するとともに、上記ロボット装置と上記マーカーとの距離及び方向に基づいて算出された上記各マーカー間の距離と上記記憶手段に記憶された上記マーカーの位置の情報とに基づいて、上記ロボット装置が上記マーカーを誤認しているかどうかを判定するように制御する移動制御工程とを有し、
上記位置ベクトル算出工程では、上記ロボット装置と上記第１のマーカーとの距離及び方向を算出し、上記移動制御工程では、上記ロボット装置を上記充電装置の方向に移動させた後、上記撮像工程で上記第２のマーカーが撮像されなかった場合には、上記第２のマーカーを探索するために上記移動制御工程で上記ロボット装置を上記第１のマーカーを中心とした周囲を移動させるように制御して上記位置ベクトル算出工程では、上記第１のマーカーとの距離及び方向を算出し、上記撮像工程で上記第２のマーカーを撮像できた場合には、上記位置ベクトル算出工程では、上記ロボット装置と上記第２のマーカーとの距離及び方向を算出し、上記移動制御工程で誤認していると判定した場合には、上記位置ベクトル算出工程では、上記ロボット装置と上記第１のマーカーとの距離及び方向を算出することを上記ロボット装置に対して実行させることを特徴とする充電制御プログラム。
【請求項１５】
駆動用電源と移動手段とを備えたロボット装置と、上記電源を充電する充電装置とからなる充電システムにおいて、上記ロボット装置に対して上記電源を充電するための充電処理を実行させるプログラムであって、
周囲の状況を撮像する撮像工程と、
上記撮像工程において撮像された充電装置の最高部及び後端部に設けられた標識としての第１のマーカー及び第２のマーカーの画像と記憶手段に予め記憶された上記マーカーの位置の情報とに基づいて、上記ロボット装置と上記マーカーとの距離及び方向を算出する位置ベクトル算出工程と、
上記位置ベクトル算出工程において算出された上記ロボット装置と上記マーカーとの距離及び方向にしたがって上記ロボット装置が上記充電装置の方向に移動するとともに、上記ロボット装置と上記マーカーとの距離及び方向に基づいて算出された上記各マーカー間の距離と上記記憶手段に記憶された上記マーカーの位置の情報とに基づいて、上記ロボット装置が上記マーカーを誤認しているかどうかを判定するように制御する移動制御工程とを有し、
上記位置ベクトル算出工程では、上記ロボット装置と上記第１のマーカーとの距離及び方向を算出し、上記移動制御工程では、上記ロボット装置を上記充電装置の方向に移動させた後、上記撮像工程で上記第２のマーカーが撮像されなかった場合には、上記第２のマーカーを探索するために上記移動制御工程で上記ロボット装置を上記第１のマーカーを中心とした周囲を移動させるように制御して上記位置ベクトル算出工程では、上記第１のマーカーとの距離及び方向を算出し、上記撮像工程で上記第２のマーカーを撮像できた場合には、上記位置ベクトル算出工程では、上記ロボット装置と上記第２のマーカーとの距離及び方向を算出し、上記移動制御工程で誤認していると判定した場合には、上記位置ベクトル算出工程では、上記ロボット装置と上記第１のマーカーとの距離及び方向を算出することを上記ロボット装置に対して実行させるためのプログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、充電システム及び充電制御方法、ロボット装置、及び充電制御プログラム及び記録媒体に関する。
【０００２】
【従来の技術】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Humanoid Robot）等の脚式移動ロボットは、既に実用化されつつある。
【０００３】
これらの脚式移動ロボットは、産業用ロボットと比較してエンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと呼称される場合もある。
【０００４】
【発明が解決しようとする課題】
ところで、上述したような、ペット型または人間型のロボット装置は、自律的に行動するため、ケーブルなどで電源部に接続し、ロボット装置を駆動することは、ロボット装置の行動の妨げになってしまう。そのため、このようなロボット装置は、電力供給源としてのバッテリーを内蔵している。
【０００５】
しかしながら、バッテリーに蓄えられる電力の量は有限であるため、従来のロボット装置は、定期的にバッテリーを充電しなければならず、定期的な充電を怠ると、バッテリー切れによってロボット装置の行動が停止してしまう。また、定期的な充電は、ユーザにとって煩雑である。
【０００６】
そこで、本発明は、このような従来の実情に鑑みて提案されたものであり、自律的に充電を行うロボット装置の充電システム及び充電制御方法、ロボット装置、及び充電制御プログラム及び記録媒体を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上述した課題を解決するために、本発明に係る充電システムは、駆動用電源と移動手段とを備えたロボット装置と、上記電源を充電する充電装置とからなる充電システムにおいて、充電装置は、最高部に第１のマーカー、後端部に第２のマーカーを標識として有し、ロボット装置は、周囲の状況を撮像する撮像手段と、マーカーの位置の情報が予め記憶された記憶手段と、記憶手段に記憶されたマーカーの位置情報と撮像手段により撮像されたマーカーの位置を含む画像に基づいて、ロボット装置とマーカーとの距離及び方向を算出する位置ベクトル算出手段と、位置ベクトル算出手段によって算出されたロボット装置とマーカーとの距離及び方向にしたがって充電装置の方向に移動するようにロボット装置を制御するとともに、ロボット装置とマーカーとの距離及び方向に基づいて算出された各マーカー間の距離と記憶手段に記憶されたマーカーの位置の情報とに基づいて、ロボット装置がマーカーを誤認しているかどうかを判定するように制御する動作制御手段とを有し、位置ベクトル算出手段が、ロボット装置と第１のマーカーとの距離及び方向を算出し、動作制御手段がロボット装置を充電装置の方向に移動させた後、撮像手段が第２のマーカーを撮像できなかった場合には、第２のマーカーを探索するために動作制御手段がロボット装置を第１のマーカーを中心とした周囲を移動させるように制御して位置ベクトル算出手段がロボット装置と第１のマーカーとの距離及び方向を算出し、撮像手段が第２のマーカーを撮像できた場合には、位置ベクトル算出手段がロボット装置と第２のマーカーとの距離及び方向を算出し、動作制御手段が誤認していると判定した場合には、位置ベクトル算出手段がロボット装置と第１のマーカーとの距離及び方向を算出することを特徴としている。
【０００８】
また、本発明にかかるロボット装置は、駆動用電源と移動手段とを備えたロボット装置において、ロボット装置は、周囲の状況を撮像する撮像手段と、電源を充電する充電装置の最高部及び後端部に設けられた標識としての第１のマーカー及び第２のマーカーの位置の情報が予め記憶された記憶手段と、記憶手段に記憶されたマーカーの位置情報と撮像手段により撮像されたマーカーの位置を含む画像に基づいて、ロボット装置とマーカーとの距離及び方向を算出する位置ベクトル算出手段と、位置ベクトル算出手段によって算出されたロボット装置とマーカーとの距離及び方向にしたがって充電装置の方向に移動するようにロボット装置を制御するとともに、ロボット装置とマーカーとの距離及び方向に基づいて算出された各マーカー間の距離と記憶手段に記憶されたマーカーの位置の情報とに基づいて、ロボット装置がマーカーを誤認しているかどうかを判定するように制御する動作制御手段とを有し、位置ベクトル算出手段が、ロボット装置と第１のマーカーとの距離及び方向を算出し、動作制御手段がロボット装置を充電装置の方向に移動させた後、撮像手段が第２のマーカーを撮像できなかった場合には、第２のマーカーを探索するために動作制御手段がロボット装置を第１のマーカーを中心とした周囲を移動させるように制御して位置ベクトル算出手段がロボット装置と第１のマーカーとの距離及び方向を算出し、撮像手段が第２のマーカーを撮像できた場合には、位置ベクトル算出手段がロボット装置と第２のマーカーとの距離及び方向を算出し、動作制御手段が誤認していると判定した場合には、位置ベクトル算出手段がロボット装置と第１のマーカーとの距離及び方向を算出する。
【００１１】
また、本発明にかかる充電制御方法は、駆動用電源と移動手段を備えたロボット装置と、電源を充電する充電装置とからなる充電システムの充電制御方法において、周囲の状況を撮像する撮像工程と、撮像工程において撮像された充電装置の最高部及び後端部に設けられた標識としての第１のマーカー及び第２のマーカーの画像と記憶手段に予め記憶されたマーカーの位置の情報とに基づいて、ロボット装置とマーカーとの距離及び方向を算出する位置ベクトル算出工程と、位置ベクトル算出工程において算出されたロボット装置とマーカーとの距離及び方向にしたがってロボット装置が充電装置の方向に移動するとともに、ロボット装置とマーカーとの距離及び方向に基づいて算出された各マーカー間の距離と記憶手段に記憶されたマーカーの位置の情報とに基づいて、ロボット装置がマーカーを誤認しているかどうかを判定するように制御する移動制御工程とを有し、位置ベクトル算出工程では、ロボット装置と第１のマーカーとの距離及び方向を算出し、移動制御工程では、ロボット装置を充電装置の方向に移動させた後、撮像工程で第２のマーカーが撮像されなかった場合には、第２のマーカーを探索するために移動制御工程でロボット装置を第１のマーカーを中心とした周囲を移動させるように制御して位置ベクトル算出工程では、ロボット装置と第１のマーカーとの距離及び方向を算出し、撮像工程で第２のマーカーを撮像できた場合には、位置ベクトル算出工程では、ロボット装置と第２のマーカーの距離及び方向を算出し、移動制御工程で誤認していると判定した場合には、位置ベクトル算出工程では、ロボット装置と第１のマーカーとの距離及び方向を算出する。
【００１２】
また、この充電制御方法をロボット装置に実行させるための制御プログラム、及びこの制御プログラムを記録した記録媒体を提供する。
【００１３】
【発明の実施の形態】
本発明におけるロボット装置の充電システムは、電源を内蔵し、内部状態に応じて自律的に行動するロボット装置と、電源を充電する充電器とから構成される。この充電システムにおいて、ロボット装置は、自律的に充電器の方向に移動し、自動的に充電を開始する。ロボット装置が充電器の位置を認識できるのは、充電器にマーカーが設けられているためであり、ロボット装置は、このマーカーの位置を記憶し、撮像したマーカーの画像と予め記憶したマーカーの位置から、充電器への方向および距離を求める。
【００１４】
本実施の形態では、まず充電器１００の構成について説明し、その後ロボット装置について詳細に説明する。以下に、本発明にかかる充電器１００の一構成例について図１〜３を用いて詳細に説明する。
【００１５】
充電器１００は、ロボット装置１が搭載されるロボット装置受部１１１と、ロボット装置の蓄電状態等を表示する表示部１１２と、表示部１１２の一部を覆う前面蓋１１３と、操作部１１４と、充電器の存在を示す目印となる主マーカー１１８および副マーカー１１３とを少なくとも備えている。
【００１６】
充電器１００は、当該充電装置の長手方向の一端から他端に向かって高さが曲面に沿って次第に減少するような半雫型として形成されている。このとき表示部１１２は、高い方の端面に設けられている。以下、表示部１１２が設けられる面を前面とし、低くなった方の端部を後端部として記す。
【００１７】
充電器１００の最高部は、ロボット装置１が４つ足で立って静止したときの腹部までの高さとほぼ等しい高さに形成されている。また、当該充電器１００の横手方向の長さは、ロボット装置１の左右の足幅以下とされている。
【００１８】
充電器１００において、ロボット装置受部１１１は、ロボット装置１の腹部に沿うようなすり鉢状とされている。充電器１００には、ロボット装置受部１１１の主面上に接続部１１５と搭載検出部１１６とが設けられている。
【００１９】
接続部１１５は、ロボット装置１が搭載されたときにロボット装置１上に設けられた接続部と対応する位置に設けられている。接続部１１５は、図示しないが、電力供給用及び情報交換用のコネクタとしての機能を有し、ロボット装置１が搭載された際にロボット装置１上の接続部と接触してロボット装置１に対して電源を供給する。また、ロボット装置１に搭載されている充電電池の蓄電情報や、ロボット装置１の内部状態の情報を受け取る。
【００２０】
搭載検出部１１６は、ロボット装置１が搭載されたときにロボット装置１が接触する位置に設けられている。搭載検出部１１６は、ロボット装置受部１１１の主面に対して垂直方向に突出され、弾性力をもって突出方向に付勢されており、ロボット装置１がロボット装置受部１１１に搭載された際、当該ロボット装置１の腹部によって充電部１００内部に押し下げられる。搭載検出装置１１９は、これによってロボット装置１が搭載されたことを検出する。搭載検出装置１１９は、ロボット装置１が搭載されたことを検出した場合、充電を開始し、ロボット装置１の内部状態の情報を取得する。
【００２１】
表示部１１２は、例えば液晶表示装置であって、少なくともロボット装置１の本体に搭載された充電電池の蓄電情報及び情報交換コネクタを介して取得したロボット装置１の内部状態の情報、或いは他の種々の情報を表示する。また、表示部１１２は、後述する充電部１１７において充電されるサブバッテリとしての充電電池の蓄電情報等も表示する。
【００２２】
前面蓋１１３は、前面部における表示部１１２に対応する箇所に開口部を有している。また、前面蓋１１３は、上面部に設けられた操作部１１４と表示手段の周囲とを覆うような略Ｌ字型として形成されている。
【００２３】
前面蓋１１３は、底面付近の所定箇所において軸着され、充電器１００の本体に対して当該充電器１００の長手方向の延長上に開閉自在とされている。
【００２４】
操作部１１４は、例えば、充電部１００の機能を選択する操作するものであって、上面部に設けられている。また、操作部１１４の隣には、サブバッテリとしての充電電池を充電する充電部１１７が設けられている。
【００２５】
図４は、充電器１００の上面および側面を模式的に示した図である。図４に示すように、充電器１００には、主マーカー１１８と副マーカー１１９の２つのマーカーが設けられている。主マーカー１１８は、充電器１００の最高部に設けられており、周囲から見えやすいようになっている。この充電器１００の最高部の高さｈ、及び充電器１００の先端から主マーカー１１８までの距離ａは、ロボット装置１に記録されており、ロボット装置１と充電装置１００の距離の算出に用いられる。また、主マーカー１１８の色は、日常的には稀にしか存在しない色であり、ロボット装置１がその色を検知することにより、主マーカー１１８の存在を認識できるようになっている。
【００２６】
副マーカー１１９は、充電器１００の後端部に設けられている。副マーカー１１９の色も日常的には稀にしか存在しない色であり、ロボット装置１はその色を検知することにより、副マーカー１１９の存在を認識できるようになっている。また、充電器１００の先端と副マーカー１１９との距離は、ロボット装置１に記録されており、後述するステーション座標系｛ｓ｝とロボット座標系｛ｂ｝の相対距離および相対角度の算出やマーカーの誤認識を検出するために用いられる。
【００２７】
次に、ロボット装置１について説明する。ロボット装置１は、図５に示すように、胴体部ユニット２の前後左右にそれぞれ脚部ユニット３Ａ、３Ｂ、３Ｃ及び３Ｄが連結されて構成されている。また、胴体部ユニット２の前端部に頭部ユニット４が、胴体部ユニット２の後端部に尻尾部ユニット５がそれぞれ連結されて構成されている。
【００２８】
胴体部ユニット２には、図６に示すようにＣＰＵ（Central Processing Unit）１０、ＤＲＡＭ（Dynamic Random Access Memory）１１、フラッシュＲＯＭ（Read Only Memory）１２、ＰＣ（Personal Computer）カードインターフェイス回路１３及び信号処理回路１４が内部バス１５を介して相互に接続されることにより形成されたコントロール部１６と、このロボット装置１の動力源であって充放電が繰り返し可能なバッテリー１７とが収納されている。また、胴体部ユニット２には、ロボット装置１の向きや、動きの加速度を検出するための角速度センサ１８及び加速度センサ１９等が格納されている。
【００２９】
また、頭部ユニット４には、外部の状況を撮像するためのＣＣＤ（Charge coupled Device）カメラ２０と、使用者からの「撫でる」「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ２１と、前方に位置する物体までの距離を測定するための距離センサ２２と、外部音を集音するためのマイクロフォン２３と、鳴き声等の音声を出力するためのスピーカ２４と、ロボット装置１の「目」に相当するＬＥＤ（Light Emitting Diode）（図示しない）等が所定位置に配置されている。
【００３０】
さらに、各脚部ユニット３Ａ〜３Ｄの関節部分、各脚部ユニット３Ａ〜３Ｄと胴体部ユニット２との各連結部分、頭部ユニット４と胴体部ユニット２との連結部分等には、それぞれ必要とする自由度に対応した数のアクチュエータ２５１〜２５ｎと、ポテンショメータ２６１〜２６ｎとが配設されている。ここで、例えばアクチュエータ２５１〜２５ｎは、サーボモータを備えている。したがって、ロボット装置１は、脚部ユニット、頭部ユニット４、尻尾部ユニット５がサーボモータの駆動に制御されることで、目標の姿勢、或いは目標の動作を行うことができる。
【００３１】
上述の角速度センサ１８、加速度センサ１９、タッチセンサ２１、距離センサ２２、マイクロフォン２３、スピーカ２４及び各ポテンショメータ等の各種センサ、並びに各アクチュエータは、それぞれ対応するハブ２７１〜２７ｎを介してコントロール部１６の信号処理回路１４と接続されている。また、ＣＣＤカメラ２０及びバッテリ１７は、それぞれ信号処理回路１４と直接接続されている。
【００３２】
信号処理回路１４は、上述の各センサから供給されるセンサデータ、画像データ、音声データ等を順次取り込み、これらをそれぞれ内部バス１５を介してＤＲＡＭ１１内の所定位置に順次格納する。
【００３３】
また、信号処理回路１４は、バッテリ１７から供給される電力の残量を表すバッテリ残量データを順次取り込み、ＤＲＡＭ１１の所定位置に格納する。
【００３４】
このようにしてＤＲＡＭ１１に格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、ＣＰＵ１０が当該ロボット装置１の動作制御を行う際に使用される。
【００３５】
ＣＰＵ１０は、ロボット装置１の電源が投入された初期時において、フラッシュＲＯＭ１２に格納された制御プログラムを読み出して、ＤＲＡＭ１１に格納する。または、ＣＰＵ１０は、図示しない胴体部ユニット２のＰＣカードスロットに装着された半導体メモリ装置、例えばいわゆるメモリカード２８に格納された制御プログラムをＰＣカードインターフェイス回路１３を介して読み出してＤＲＡＭ１１に格納する。
【００３６】
ＣＰＵ１０は、上述のように信号処理回路１４よりＤＲＡＭ１１に順次格納される各センサデータ、画像データ、音声データ、及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無を判断している。
【００３７】
さらに、ＣＰＵ１０は、この判断結果とＤＲＡＭ１１とに格納した制御プログラムに基づく行動を決定する。ＣＰＵ１０は、当該決定結果に基づいてアクチュエータ２５１〜２５ｎの中から必要とするアクチュエータを駆動することによって、例えば頭部ユニット４を上下左右に振らせたり、尻尾部ユニット５の尻尾を動かしたり、各脚部ユニット３Ａ〜３Ｄを駆動して歩行させたりする。
【００３８】
また、ＣＰＵ１０は、必要に応じて音声データを生成し、信号処理回路１４を介してスピーカ２４に供給する。また、ＣＰＵ１０は、上述のＬＥＤの点灯・消灯を指示する信号を生成し、ＬＥＤを点灯したり消灯したりする。このように、ロボット装置１は、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動する。
【００３９】
以上のようにロボット装置１は、自律的に行動することが可能であるため、例えば、ロボット装置１に導電線を接続して電力を供給することは、ロボット装置１の動作の妨げになる。そのため、ロボット装置１は、図６に示したようにバッテリー１７を内蔵し、このバッテリー１７から供給される電力によって駆動している。このバッテリー１７は、上述した充電器１００によって充電されるようになっている。
【００４０】
また、上記ロボット装置１は自動充電機能を有している。自動充電機能は、バッテリー残量が少なくなったときに、ロボット装置１が自律的に充電器１００を探し出し、自ら充電を行う機能である。
【００４１】
この自動充電機能を実行するため、メモリカード２８などの記憶装置には、自動充電処理に関するプログラムが記録されており、ＣＰＵ１０はこの記述に従って自動充電処理を実行する。以下、本具体例のロボット装置１における自動充電処理について具体的に説明する。
【００４２】
自動充電処理は、充電器１００の最高部に設けられた主マーカー１１８を見つけ出す主マーカー探索処理と、充電器１００の後端部に設けられた副マーカー１１９を見つけ出す副マーカー探索処理と、２つのマーカー１１３，１１４とロボット装置１との距離を算出する距離算出処理と、充電器１００とロボット装置１との相対位置／角度を算出する相対位置算出手段と、充電器１００のエントランスポイントに向かう進路決定処理とから構成されている。
【００４３】
主マーカー探索処理においてロボット装置１は、四肢や首を駆動して周囲の画像を取り込み、取り込んだ画像情報の中に主マーカー１１８の色情報が含まれているか否かを検索し、主マーカー１１８の存在を認識する。そして、主マーカー１１８の存在を認識したロボット装置１は、ロボット装置１の首や四肢を駆動して画像の中心に主マーカー１１８を配置する。
【００４４】
距離算出処理は、マーカー１１３、１１４とロボット装置１との距離を算出する処理である。距離算出処理においてロボット装置１は、充電器１００を中心としたステーション座標系｛ｓ｝、ロボット装置１の胴体を中心としたロボット座標系｛ｒ｝、ロボット装置１の頭部に設けられたＣＣＤカメラ２０を中心とするカメラ座標系｛ｃ｝、ＣＣＤカメラ２０によって撮像された画像の中心を原点としたイメージ座標系｛ｉ｝の４つの座標系を設定し、ロボット座標系｛ｂ｝の原点Ｂからカメラ座標系｛ｃ｝までの高さＢＣｚ、カメラ座標系｛ｃ｝からロボット座標系｛ｂ｝への座標変換行列ＡＣＢを算出し、以下の式（１）に代入して、ロボット装置とマーカーとの距離を算出する。なお、ＳＰｓ１ｘは、ステーション座標系｛ｓ｝の原点Ｓから主マーカーの中心Ｐｓ１までのｙ軸方向の距離であり、この値は、図４に示す距離ａとしてロボット装置１に予め記録されている。
【００４５】
【数１】
0004032793.tif 000002
【００４６】
この式は以下のアルゴリズムによって算出されている。まず、図を用いて上述した座標系を具体的に説明する。図７は、水平な床に充電器１００とロボット装置１を配置したときの４つの座標系を示す図である。ステーション座標系｛ｓ｝は、充電器１００の一点を原点Ｓとする座標系であり、充電器１００の配置された床上にｘｙ座標を設定し、床からの高さをｚ座標で表す。ロボット座標系｛ｂ｝は、ロボットの重心から床まで下ろした垂線の足を原点Ｂとする座標系であり、床上にｘｙ座標を設定し、床からの高さをｚ座標で表す。このように、ステーション座標系｛ｓ｝とロボット座標系｛ｂ｝のｘｙ平面は、同一平面上にあり、ステーション座標系｛ｓ｝とロボット座標系｛ｂ｝との座標変換を行ってもｚ座標の値は変化しない。
【００４７】
カメラ座標系｛ｃ｝は、ロボット装置の頭部に設けられたＣＣＤカメラ２０を原点Ｃとする座標系であり、ＣＣＤカメラ２０の視軸をｙ軸としている。イメージ座標系｛ｉ｝は、ＣＣＤカメラ２０によって撮像された画像に設定された２次元座標であり、撮像された画像の中心を原点Ｉとしている。
【００４８】
上記（１）式を算出するアルゴリズムについて説明する。このアルゴリズムでは、マーカーへの距離をαとおき、イメージ座標系｛ｉ｝におけるマーカーの方向ベクトルに距離αをかけてマーカーの位置ベクトルを仮定する。この位置ベクトルをステーション座標系｛ｓ｝の座標に座標変換し、このときのｚ成分（マーカーの高さ）を示す式と、ロボット装置が予め記憶しているマーカーの高さｈとの等式を作り、この等式の項を移項して、マーカーとロボット装置の距離αを算出する式（１）を求める。
【００４９】
以下、主マーカー１１８までの距離を求めるためのアルゴリズムを具体的に示すが、主マーカー１１８の距離を算出するアルゴリズムと副マーカー１１９の距離を算出するアルゴリズムは全く同じであり、主マーカー１１８の中心位置を示す記号Ｐｓ１を副マーカー１１９の中心位置を示す記号Ｐｓ２に変更すれば副マーカー１１９の距離を算出するアルゴリズムを説明することとなる。そのため、副マーカー１１９の距離を算出するアルゴリズムの説明は省略する。
【００５０】
まず、カメラ座標系｛ｃ｝における主マーカー１１８の中心Ｐｓ１の座標を（ｘｃ１，ｙｃ１，ｚｃ１）とするとカメラ座標系の原点Ｃから主マーカー１１８の中心Ｐｓ１への方向ベクトルＣＰｓ１は、以下の式（２）のように表される。
【００５１】
【数２】
0004032793.tif 000003
【００５２】
イメージ座標系｛ｉ｝における主マーカー１１８のＰｓ１のｘｚ座標がｈ１、ｖ１であるとすると、方向ベクトルＣＰｓ１のｘｚ成分は、以下の式（３）のように変換される。
【００５３】
【数３】
0004032793.tif 000004
【００５４】
ここで、カメラ座標系｛ｃ｝の原点Ｃから主マーカー１１８の中心Ｐｓ１までの距離をαとおいて、カメラ座標系｛ｃ｝の原点Ｃから主マーカー１１８の中心Ｐｓ１へ向かうベクトルＣＰｓ１を表現すると、以下の式（４）のように表現される。
【００５５】
【数４】
0004032793.tif 000005
【００５６】
カメラ座標系｛ｃ｝における主マーカー１１８の中心Ｐｓ１を示す位置ベクトルＣＰｓ１は、以下の式（５）によってロボット座標系｛ｂ｝における主マーカー１１８の中心Ｐｓ１を示すの位置ベクトルＢＰｓ１に変換される。
【００５７】
【数５】
0004032793.tif 000006
【００５８】
ここで、ベクトルＢＣは、ロボット座標系｛ｂ｝におけるカメラ座標系｛ｃ｝の原点Ｃを示す位置ベクトルであり、ＡＣＢは、カメラ座標系｛ｃ｝からロボット座標系｛ｂ｝への座標変換行列であり、このＡＣＢは、ロボット装置１の関節の角度から算出される。
【００５９】
次に（５）式を行列で表すと以下の式（６）のようになる。
【００６０】
【数６】
0004032793.tif 000007
【００６１】
（６）式を解くと、ベクトルＳＰｓ１のｚ成分は、式（７）のようになり
【００６２】
【数７】
0004032793.tif 000008
【００６３】
式（７）をαについて解くと、（１）式が算出される。上述したように式（１）の各項は既知の値、もしくは、ロボット装置１の関節角やＣＣＤカメラ２０の画像情報から算出される値であり、これらの値を式（１）に代入することによりロボット装置とマーカーの距離αが算出される。
【００６４】
副マーカー検出処理は、距離算出処理によって算出された距離情報を用いて実行される。上述したように、主マーカー１１８は、充電器１００の最高部に設けられているためロボット装置１に発見されやすいが、副マーカー１１９はロボット装置の後端部に設けられているため、充電器１００の影に隠れてしまい、ロボット装置１のＣＣＤカメラ２０の視野に入らない場合がある。そのため、副マーカー検出処理では、ロボット装置１に主マーカー１１８の周囲を歩かせ、副マーカー１１９を探索する処理を行う。
【００６５】
副マーカー１１９を探索する際、ロボット装置１は、主マーカー１１８の周囲を反時計回りに正八角形を描くように周りながら、正八角形の各頂点で画像を撮像し、この画像情報に副マーカー１１９の色情報が含まれるかどうかを探索する。ロボット装置１を正八角形に歩かせる手順は以下のようである。主マーカー１１８を見つけたロボット装置１は、まず、この画像情報の中に副マーカー１１９の色情報が含まれるか否かを探索する。このとき、画像情報に副マーカー１１９の色情報が含まれる場合には、副マーカー探索処理を終了する。
【００６６】
そして、主マーカー１１８の撮像された画像に副マーカー１１９が撮像されていない場合には、正八角形の頂点への移動を開始する。正八角形の頂点への移動を開始したロボット装置１は、ロボット装置１の体が主マーカー１１８の方を向くように旋回する。そして、距離算出処理によって、主マーカー１１８とロボット装置１の間隔を計算し、予め設定された間隔になるまで前後に移動する。さらに、ロボット装置１は、その体を時計回りに６７．５度旋回し、八角形の一辺の長さ分前進し、八角形の頂点に移動する。
【００６７】
八角形の頂点に到達したロボット装置１は、四肢や首を動かし周囲の画像を取り込み、この画像情報に主マーカー１１８の色情報が含まれるか否かを探索する。そして、主マーカー１１８の存在を確認すると、主マーカー１１８の含まれる画像内に副マーカー１１９の色情報が含まれるかどうかを探索する。主マーカー１１８の含まれる画像内に副マーカー１１９の色情報が存在しない場合には、ロボット装置１は、次の頂点に移動し、主マーカー１１８と副マーカー１１９が同一の画面内に含まれる位置を探索する。ロボット装置１は、この処理を繰り返し、主マーカー１１８と副マーカー１１９が同一の画面内に含まれる位置に移動すると、副マーカー探索処理を終了する。
【００６８】
副マーカーを見つけたロボット装置は、相対位置算出処理を行う。相対位置算出処理は、ステーション座標系｛ｓ｝とロボット座標系｛ｂ｝の相対位置／角度を算出する処理である。図８は、ステーション座標系｛ｓ｝とロボット座標系｛ｂ｝の相対位置／角度を示す図である。図８に示すように、相対位置は、ロボット座標系｛ｂ｝の原点Ｂからステーション座標系｛ｓ｝への位置ベクトルであり、相対角度は、ステーション座標系｛ｓ｝とロボット座標系｛ｂ｝の座標系の回転角度θである。
【００６９】
相対位置算出手段において、ロボット装置１は、まず、距離算出処理を用いてロボット座標系｛ｂ｝における主マーカーと副マーカーの位置ベクトルＢＰｓ１、ＢＰｓ２を求める。そして、この位置ベクトルＢＰｓ１、ＢＰｓ２を以下の式（８）（９）に代入することにより、ロボット座標系｛ｂ｝の原点Ｂとステーション座標系｛ｓ｝の原点Ｓの相対位置／角度を求める。
【００７０】
【数８】
0004032793.tif 000009
【００７１】
進路決定処理は、効率的に充電器１００のエントランスポイントＥＰに到達するようなロボット装置の進路を決定する処理である。エントランスポイントＥＰとは、ロボット装置1が充電器１００に進入するのに適した位置であり、充電器１００の後端部側に設定されている。図９は、充電器１００のエントランスポイントＥＰ及びロボット装置１の通過ポイントを示す図である。図９には、充電器１００の周囲に点線で囲まれた長方形の範囲が描かれている。これはロボット装置１の幅に応じて決められる範囲（以下、接触範囲と呼ぶ）であり、ロボット装置１の重心がこの範囲内に進入するとロボット装置１と充電器１００は接触してしまう。
【００７２】
具体的に説明すると、図９のＱの位置にロボット装置１が存在する場合、ＱからエントランスポイントＥＰに直接向かおうとすると、ロボット装置１の進路は点Ｑとエントランスポイントを結ぶ直線になる。この直線に沿ってロボット装置１が移動すると、ロボット装置１は接触空間に進入してしまい、充電器１００に接触しまう。
【００７３】
そのため、進行処理では、充電器１００の周囲をI〜Vの５つの空間に分割し、ロボット装置１の存在する位置に応じて迂回路を設定する。ロボット装置１が空間Iに存在する場合、ロボット装置１は、通過ポイントＡを経由してエントランスポイントＥＰに向かう。また、ロボット装置１が空間IIに存在する場合、ロボット装置１は通過ポイントＤを経由して、エントランスポイントＥＰに向かう。
【００７４】
また、ロボット装置１が空間IIIに存在する場合、ロボット装置１が通過ポイントＡに移動しようとすると接触空間に進入し、充電器１００に接触してしまう。そのため、ロボット装置１が空間IIIに存在する場合には、通過ポイントＢを経由した後に通過ポイントＡに向かい、その後エントランスポイントＥＰに向かう。また、ロボット装置１が空間IVに存在するときも、通過ポイントＤに向かおうとすると、充電器１００に接触してしまう。そのため、ロボット装置１が空間IVに存在するときは、通過ポイントＣ、Ｄを経由してエントランスポイントＥＰに向かう。以上のように、選択した進路に沿ってロボット装置１を移動させ、ロボット装置がエントランスポイントＥＰに到着する。
【００７５】
次に、自動充電処理におけるロボット装置の動作を図１０に従って説明する。図１０は、ロボット装置１の動作を示す模式図である。バッテリー残量が少なくなると、ロボット装置１は、自動充電処理を開始する。自動充電処理を開始したロボット装置１は、まず、主マーカー探索処理を開始し、首や足を駆動しながら様々な空間の画像を取り込む。そして、主マーカー１１８が見つかると（ステップＳ１）、主マーカー１１８の存在する画像に副マーカー１１９の色情報が含まれるかどうかを探索する。このとき、取り込んだ画像に副マーカー１１９の色情報が含まれていない場合には（ステップＳ３）、副マーカー探索処理を開始し、主マーカー１１８を中心とする正八角形の頂点を次々と廻り、副マーカー１１３を視認できる位置にまで移動する（ステップＳ４）。
【００７６】
主マーカー１１８と副マーカー１１９の両方が見えるようになると（ステップＳ５）、ロボット装置１は、相対位置算出処理を行いロボット装置と充電器１００の相対位置／角度を算出し、進行処理によって充電器１００のエントランスポイントＥＰの方向に進行する（ステップＳ６）。エントランスポイントＥＰに到着したロボット装置１は、ロボット装置受部１１１に向かって前進し（ステップＳ７）、ロボット装置受部１１１に充分はまりこんだ状態で四肢３Ａ〜３Ｄを曲げロボット装置１のバッテリー接続部と充電器１００の接続部１１５とを接着させ、充電を行い（ステップＳ７）、自動充電処理を終了する。
【００７７】
上記の一連の処理を図１１のフローチャートを用いて、さらに詳しく説明する。自動充電処理を開始すると、ロボット装置１は、まず主マーカー探索処理を開始し、ロボット装置１の首や足を駆動して周囲の画像を取り込み、取り込んだ画像情報に主マーカー１１８の色情報が含まれるか否かを探索する（ステップＳ１１）。そして、主マーカー１１８の色情報を見つけた場合には（ステップＳ１２）、主マーカー１１８の全体が画像に映るように、首や足を動かしてＣＣＤカメラ２０の位置を調整する。
【００７８】
なお、主マーカー１１８の全体が画像に含まれるようにするのは、取り込んだ画像における主マーカー１１８の図心を求めることができるようにするためである。そのため、主マーカー１１８は、厳密な意味での画像中心に配置する必要はない。しかしながら、ＣＣＤカメラ２０のレンズの歪みを少なくするため、主マーカー１１８ができるだけ画像の中心に配置されるようにＣＣＤカメラ２０の位置を調整することが望ましい。
【００７９】
ＣＣＤカメラ２０の位置を調整し、主マーカー１１８の全体が画像に映るようになると、ロボット装置１は、距離算出処理を実行し主マーカー１１８の位置ベクトルを算出する。ロボット装置１は首の制御の影響で主マーカー１１８の位置ベクトルが収束するのに若干時間がかかる。そのため、ロボット装置１は、ＣＣＤカメラ２０から出力されるフレーム毎に主マーカー１１８の位置ベクトルを演算し、連続する位置ベクトルのノルムの差分である差分ノルムを算出し、この差分ノルムを用いて適切な位置ベクトルを選択する。位置ベクトルを採用する条件は、主マーカー１１８を視認してから６４フレーム経過後に算出された位置ベクトルであり、かつ、位置ベクトルのノルム差分が５フレーム以上の間１ｍｍ以内に収束するという条件である。
【００８０】
図１２の上図は、位置ベクトルのノルムと主マーカー視認後フレームの枚数との関係を示すグラフであり、図１２の下図は位置ベクトルの差分ノルムと主マーカー視認後のフレームの枚数との関係を示すグラフである。図１２の下図において、６４フレームで経過後であり、かつ、位置ベクトルのノルム差分が５フレーム以上の間１ｍｍ以内に収束する条件を満たす部分は、グラフ上の丸で囲んだ部分になる。そのため、この丸で囲んだ部分において算出された位置ベクトルを正確な位置ベクトルとして採用することにより、首の制御の不安定さによって生じる検出誤差を回避し、信頼性の高い位置ベクトルを取得することができる（ステップＳ１３）。
【００８１】
次いで、ロボット装置１は、首を駆動させて周囲の画像を取り込み、取り込んだ画像情報の中に副マーカー１１９の色情報が含まれるか否かを探索する（ステップＳ１４）。そして、主マーカー１１８を視認した位置において、副マーカー１１９が見つからなかった場合には（ステップＳ１５；ＮＯ）、ロボット装置１は、副マーカー探索処理を開始し、主マーカー１１８を中心とする正八角形の辺上を移動し（ステップＳ１６）、ステップＳ１１の処理を実行する。
【００８２】
副マーカー１１９を視認したロボット装置１は（ステップＳ１７）、主マーカー１１８と副マーカー１１９との位置ベクトルの差から、主マーカー１１８と副マーカー１１９の距離を求め、ロボット装置に記憶された主マーカー１１８と副マーカー１１９の距離と算出した距離を比較し、ロボット装置１がマーカー１１３，１１４の誤認をしているか否かの判定を行う（ステップＳ１８）。
【００８３】
すなわち、主マーカー１１８と副マーカー１１９の距離は固定されているため、ロボット装置１が他の対象物をマーカーと判断した場合には、主マーカー１１８と副マーカー１１９の距離が実際の距離とは異なる長さになる。そのため、主マーカー１１８と副マーカー１１９の距離が一定の範囲に含まれない場合には（ステップＳ１９；ＮＯ）、ロボット装置１は、マーカーを誤認したと認識し、ステップＳ１１に処理を移行して、再度マーカーの探索を行う。また、主マーカーと副マーカーの距離が一定の範囲内に含まれる場合には、ロボット装置は、正確なマーカーを視認しているとして（ステップＳ１９；ＹＥＳ）、ステップＳ２０に処理を移行する。
【００８４】
ステップＳ２０において、ロボット装置１は、相対位置算出処理を実行し、ロボット座標系｛ｂ｝とステーション座標系｛ｓ｝の相対位置／角度を求め、ステップＳ２１に処理を移行する。なお、ステーション座標系｛ｓ｝とロボット座標系｛ｂ｝の相対位置／角度を求めるとロボット座標系｛ｂ｝からステーション座標系｛ｓ｝の座標変換が容易に行えるようになる。
【００８５】
ステップＳ２１では、ステーション座標系｛ｓ｝におけるロボット座標系｛ｂ｝の原点Ｂの座標を求め、このＢの値を利用して進行処理を行う。進行処理は、ロボット装置が充電器１００に接触しないような進路を選択する処理であり、ロボット装置１は進行処理によって決定された進路に沿って移動し（ステップＳ２２）、エントランスポイントＥＰに到達する（ステップＳ２３；ＹＥＳ）。エントランスポイントＥＰに到達したロボット装置１は、その体が主マーカー１１８と副マーカー１１９の中点を向くように旋回し、ロボット装置１の位置を微調整する（ステップＳ２４）。
【００８６】
また、ステップＳ２３において、ロボット装置１がエントランスポイントＥＰに到達しなかった場合には（ステップＳ２３；ＮＯ）、ステップＳ１１に処理を移行し、再度主マーカー１１８の探索を開始する。
【００８７】
ロボット装置１の位置が決定すると、ロボット装置１は充電器１００の方向に向かって前進する。このとき、ロボット装置１は、距離算出処理を用いて、主マーカー１１８とロボット装置１の距離を算出し、主マーカー１１８とロボット装置１の距離が所定の距離になると、ロボット装置１の移動を停止する（ステップＳ２５）。
【００８８】
次いで、ロボット装置１は、腰を落とし、ロボット装置１のバッテリー１７の接続部と充電器１００の接続部を接触させる（ステップＳ２６）。このとき、充電器１００のロボット装置受部１１１はすり鉢状になっており、ロボット装置１の方向や位置が多少ずれていたとしても、ロボット装置１の腹部はロボット装置受部１１１に正確に装着できる。
【００８９】
以上のような一連の動作により、ロボット装置１は、バッテリー残量が少なくなったことを認識し、自律的に充電器１００に向かい、充電処理を行うことができる。そのため、ロボット装置１は、ユーザが手を貸さなくても、バッテリーの寿命の限り動作し続ける。
【００９０】
また、ロボット装置のバッテリー残量に応じて、充電器へ向かう途中の歩行パターンを変える処理などを追加すると、焦っている様子等を演出でき、エンターテインメント性が向上できる。
【００９１】
また、バッテリーの残量が比較的少ない場合などには、ロボット装置が充電器から離れないように制御することができる。逆に、充電器の近くにいるときには、バッテリー残量が少なくても、バッテリーの消耗が早い激しい動き等を頻繁に行うように制御することができる。
【００９２】
次に、以上のような一連の処理は以下に示すソフトウェアによって実行されている。以下、ロボット装置１における制御プログラムのソフトウェア構成を図１３に示す。図１３において、デバイス・ドライバ・レイヤ３０は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット３１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラ２０やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００９３】
また、ロボティック・サーバ・オブジェクト３２は、デバイス・ドライバ・レイヤ３０の最下位層に位置し、例えば上述の各種センサや各アクチュエータ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるデバイス・ドライバ・マネージャ３５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット３６とから構成されている。
【００９４】
マネージャ・オブジェクト３７は、オブジェクト・マネージャ３８及びサービス・マネージャ３９から構成されている。オブジェクト・マネージャ３８は、ロボティック・サーバ・オブジェクト３２、ミドル・ウェア・レイヤ４０、及びアプリケーション・レイヤ４１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群である。サービス・マネージャ３９は、メモリカード２８に格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて、各オブジェクトの接続を管理するソフトウェア群である。
【００９５】
ミドル・ウェア・レイヤ４０は、ロボティック・サーバ・オブジェクト３２の上位層に位置し、画像処理や音声処理等のロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。
【００９６】
また、アプリケーション・レイヤ４１は、ミドル・ウェア・レイヤ４０の上位層に位置し、当該ミドル・ウェア・レイヤ４０を構成する各ソフトウェア群によって処理された処理結果に基づいて、ロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【００９７】
ミドル・ウェア・レイヤ４０は、図１４に示すように、騒音検出用信号処理モジュール５０、温度検出用信号処理モジュール５１、明るさ検出用信号処理モジュール５２、音階認識用信号処理モジュール５３、距離検出用信号処理モジュール５４、姿勢検出用信号処理モジュール５５、タッチセンサ用信号処理モジュール５６、動き検出用信号処理モジュール５７、色認識用信号処理モジュール５８、入力セマンティクスコンバータモジュール５９等を有する認識系６０と、出力セマンティクスコンバータモジュール６８、姿勢管理用信号処理モジュール６１、トラッキング用信号処理モジュール６２、モーション再生用信号処理モジュール６３、歩行用信号処理モジュール６４、転倒復帰用信号処理モジュール６５、ＬＥＤ点灯用信号処理モジュール６６、音再生用信号処理モジュール６７等を有する認識系６９とから構成されている。
【００９８】
認識系６０の各信号処理モジュール５０〜５８は、ロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３によりＤＲＡＭ１１から読み出される各センサデータ、画像データ、音声データのうち、対応するデータを取り込み、当該データに基づいて所定の処理を施し、処理結果を入力セマンティクスコンバータモジュール５９に与える。ここで、例えば、バーチャル・ロボット３３は、所定の通信規約によって信号の授受或いは変換をする部分として構成されている。
【００９９】
入力セマンティクスコンバータモジュール５９は、各信号処理モジュール５０〜５８から与えられる処理結果に基づいて、例えば「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ド・ミ・ソの音階が聞こえた」、「動く物体を検出した」、「障害物を検出した」等の自己及び周囲の状況や、使用者からの指令や働きかけを認識し、認識結果をアプリケーション・レイヤ４１に出力する。
【０１００】
アプリケーション・レイヤ４１は、図１５に示すように行動モデルライブラリ７０、行動切換モジュール７１、学習モジュール７２、感情モデル７３、及び本能モデル７４の５つのモジュールから構成されている。
【０１０１】
行動モデルライブラリ７０には、例えば、図１６に示すように「バッテリ残量が少なくなった場合」、「転倒復帰する場合」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」等の予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル７０１〜７０ｎが設けられている。
【０１０２】
これらの行動モデル７０１〜７０ｎは、それぞれ入力セマンティクスコンバータモジュール５９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したとき等に必要に応じて後述するように感情モデル７３に保持された対応する情動のパラメータ値や、本能モデル７４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール７１に出力する。
【０１０３】
本実施の形態にしめすロボット装置１の場合、各行動モデル７０１〜７０ｎは、図１７に示すようなノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎのうちのあるノードから他のノードに遷移するか否かを有限確率オートマトンと呼ばれるアルゴリズムを用いて行動を決定している。有限確率オートマトンとは、ノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎのうちのあるノードから他のノードに遷移するか否かを各ノードの間を接続するアークＡＲＣ１〜ＡＲＣｎのそれぞれに対応して設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定するアルゴリズムである。
【０１０４】
具体的に、各行動モデル７０１〜７０ｎは、それぞれ自己の行動モデル７０１〜７０ｎを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらのノード毎に図１８に示すような状態遷移表８０を有している。
【０１０５】
この状態遷移表８０では、あるノードにおける遷移条件としての入力イベント（認識結果）が「入力イベント名」の行に優先的に列記され、その遷移条件についての更なる条件が「データ名」及び「データの範囲」の行における対応する列に記述されている。
【０１０６】
したがって、図１８の状態遷移表８０で表されるノードＮＯＤＥ１００では、例えば、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられたときに、当該認識結果とともに与えられるボールの「大きさ（ＳＩＺＥ）」が「０から１０００」の範囲であること、或いは、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられたときに、当該認識結果とともに与えられる障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「０から１００」の範囲であること等が他のノードに遷移するための条件となっている。
【０１０７】
また、このＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデル７０１〜７０ｎが周期的に参照する感情モデル７３及び本能モデル７４に保持された各情動及び各欲求のパラメータ値のうち、感情モデル７３に保持された「喜び（ＪＯＹ）」、「驚き（ＳＵＲＰＲＩＳＥ）」、「悲しみ（ＳＵＤＮＥＳＳ）」の何れかのパラメータ値が「５０から１００」の範囲であるときには他のノードに遷移することができるようになっている。
【０１０８】
状態遷移表８０では、「他のノードへの遷移確率」の欄に対応する「遷移先ノード」の欄の列に、ノードＮＯＤＥ０〜ＮＯＤＥｎの中から遷移可能な遷移先ノード名が列記されている。また、「入力イベント名」、「データ値」、及び「データの範囲」の行に記述された全ての条件が揃ったときに遷移可能な他のノードへの遷移確率が「他のノードへの遷移確率」の欄内の対応する箇所に記述されている。そのノードに遷移する際に出力すべき行動が「他のノードへの遷移確率」の欄における「出力行動」の行に記述されている。
【０１０９】
なお、「他のノードへの遷移確率」の欄における各行の遷移確率の和は、１００［％］となっている。
【０１１０】
したがって、図１８の状態遷移表８０で示されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「０から１０００」の範囲であるという認識結果が与えられた場合には、「３０［％］」の確率で「ノードＮＯＤＥ１２０（node 120）」に遷移でき、その時「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【０１１１】
各行動モデル７０１〜７０ｎは、それぞれこのような状態遷移表８０として記述されたノードＮＯＤＥ０〜ＮＯＤＥｎが複数個繋がるように構成されている。各行動モデルは、入力セマンティクスコンバータモジュール５９から認識結果が与えられたときに対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール７１に出力する。
【０１１２】
図１５に示す行動切換モジュール７１は、行動モデルライブラリ７０の各行動モデル７０１〜７０ｎからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し当該行動を実行すべき旨のコマンド（以下、行動コマンドという。）をミドル・ウェア・レイヤ４０の出力セマンティクスコンバータモジュール６８に送出する。なお、本実施の形態においては、図１６において下側に標記された行動モデルほど優先順位が高く設定されている。
【０１１３】
また、行動切換モジュール７１は、行動完了後に出力セマンティクスコンバータモジュール６８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール７２、感情モデル７３及び本能モデル７４に通知する。
【０１１４】
一方、学習モジュール７２は、入力セマンティクスコンバータモジュール５９から与えられる認識結果のうち、「叩かれた」や「撫でられた」等、使用者からの働きかけとして受けた教示の認識結果を入力する。
【０１１５】
そして、学習モジュール７２は、この認識結果及び行動切換モジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における行動モデル７０１〜７０ｎのうち、対応する行動モデルの遷移確率を変更する。
【０１１６】
他方、感情モデル７３は、「喜び（ＪＯＹ）」、「悲しみ（ＳＡＤＮＥＳＳ）」、「怒り（ＡＮＧＥＲ）」、「驚き（ＳＵＲＰＲＩＳＥ）」、「嫌悪（ＤＩＳＧＵＳＴ）」及び「恐れ（ＦＥＡＲ）」の合計６つの情動について、各情動毎に、その強さを表すパラメータを保持している。そして、感情モデル７３は、これら各情動のパラメータ値を入力セマンティクスコンバータモジュール５９からの「叩かれた」及び「撫でられた」等の特定の認識結果、経過時間、及び行動切換モジュール７１からの通知等に基づいて周期的に更新する。
【０１１７】
具体的には、感情モデル７３は、入力セマンティクスコンバータモジュール５９から与えられる認識結果と、その時のロボット装置１の行動と、前回更新してからの経過時間等に基づいて、所定の演算式により算出される。
【０１１８】
情動の変動量をΔＥ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その感情の感度を表す係数をｋｅとして、以下に示す式（１０）によって次の周期における情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在の情動のパラメータ値Ｅ［ｔ］と置き換えるようにして情動のパラメータ値を更新する。また、感情モデル７３は、これと同様にして全ての情動のパラメータ値を更新する。
【０１１９】
【数９】
0004032793.tif 000010
【０１２０】
なお、各認識結果や出力セマンティクスコンバータモジュール６８からの通知が各情動のパラメータ値の変動量ΔＥ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は、「怒り」の情動のパラメータ値の変動量ΔＥ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は、「喜び」の情動のパラメータ値ΔＥ［ｔ］に大きな影響を与えるようになっている。
【０１２１】
ここで、出力セマンティクスコンバータモジュール６８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報である。感情モデル７３は、このような情報によっても感情を変化させる。これは、例えば「吠える」という行動により、怒りの感情レベルが下がるということである。
【０１２２】
なお、出力セマンティクスコンバータモジュール６８からの通知は、上述した学習モジュール７２にも入力されており、学習モジュール７２は、その通知に基づいて行動モデル７０１〜７０ｎの対応する遷移確率を変更する。なお、行動結果のフィードバックは、行動切換モジュレータ７１の出力（感情が付加された行動）によりなされるものであってもよい。
【０１２３】
一方、本能モデル７４は、例えば「運動欲（ＥＸＥＲＣＩＳＥ）」、「愛情欲（ＡＦＦＥＣＴＩＯＮ）」、「食欲（ＡＰＰＥＴＩＴＥ）」、「好奇心（ＣＵＲＩＯＳＩＴＹ）」の互いに独立した４つの欲求について、これら欲求毎にその欲求の強さを示すパラメータを保持している。そして、本能モデル７４は、これら欲求のパラメータ値を入力セマンティクスコンバータモジュール５９から与えられる認識結果、経過時間、行動切換モジュール７１からの通知等に基づいて周期的に更新する。
【０１２４】
具体的には、本能モデル７４は、「運動欲」、「愛情欲」及び「好奇心」においては、認識結果、経過時間及び出力セマンティクスコンバータモジュール６８からの通知等に基づいて所定の計算式より算出される。このとき欲求の変動量をΔＩ［ｋ］、現在の欲求のパラメータ値をＩ［ｋ］、その欲求の感度を示す係数ｋｉとして、所定周期で以下に示す式（１１）を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにして欲求のパラメータ値を更新する。また、本能モデル７４は、これと同様にして、「食欲」を除いた各欲求のパラメータ値を更新している。
【０１２５】
【数１０】
0004032793.tif 000011
【０１２６】
なお、認識結果及び出力セマンティクスコンバータモジュール６８からの通知等が各欲求のパラメータ値の変動量ΔＩ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール６８からの通知は、「疲れ」のパラメータ値の変動量ΔＩ［ｋ］に大きな影響を与えるようになっている。
【０１２７】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【０１２８】
一方、ミドル・ウェア・レイヤ４０の出力セマンティクスコンバータモジュール６８は、図１４に示すように、上述のようにしてアプリケーション・レイヤ４１の行動切換モジュール７１から与えられる「前進」、「喜ぶ」、「鳴く」または「ボールを追いかける（トラッキング）」といった抽象的な行動コマンドを認識系６９の対応する信号処理モジュール６１〜６７に与える。
【０１２９】
そして、これら信号処理モジュール６１〜６７は、行動コマンドが与えられると、当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ２５１〜２５ｎに与えるべきサーボ指令値等のデータをロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３及び信号処置回路１４を順次介して、アクチュエータ２５１〜２５ｎのうち対応するアクチュエータに順次送出する。
【０１３０】
また、信号処理モジュール６１〜６７は、スピーカ２４から出力する音の音声データ及び／または「目」のＬＥＤの動作に関わるデータを生成し、これらのデータをロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３及び信号処理回路１４を介して、スピーカ２４またはＬＥＤに順次送出する。
【０１３１】
このようにして、ロボット装置１は、制御プログラムに基づいて自己（内部）及び周囲（外部）の状況や使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになっている。
【０１３２】
【発明の効果】
以上説明したように、本発明に係る充電システムは、駆動用電源と移動手段とを備えたロボット装置と、上記電源を充電する充電装置とからなる充電システムにおいて、充電装置は、最高部に第１のマーカー、後端部に第２のマーカーを標識として有し、ロボット装置は、周囲の状況を撮像する撮像手段と、マーカーの位置の情報が予め記憶された記憶手段と、記憶手段に記憶されたマーカーの位置情報と撮像手段により撮像されたマーカーの位置を含む画像に基づいて、ロボット装置とマーカーとの距離及び方向を算出する位置ベクトル算出手段と、位置ベクトル算出手段によって算出されたロボット装置とマーカーとの距離及び方向にしたがって充電装置の方向に移動するようにロボット装置を制御するとともに、ロボット装置とマーカーとの距離及び方向に基づいて算出された各マーカー間の距離と記憶手段に記憶されたマーカーの位置の情報とに基づいて、ロボット装置がマーカーを誤認しているかどうかを判定するように制御する動作制御手段とを有し、位置ベクトル算出手段が、ロボット装置と第１のマーカーとの距離及び方向を算出し、動作制御手段がロボット装置を充電装置の方向に移動させた後、撮像手段が第２のマーカーを撮像できなかった場合には、第２のマーカーを探索するために動作制御手段がロボット装置を第１のマーカーを中心とした周囲を移動させるように制御して位置ベクトル算出手段がロボット装置と第１のマーカーとの距離及び方向を算出し、撮像手段が第２のマーカーを撮像できた場合には、位置ベクトル算出手段がロボット装置と第２のマーカーとの距離及び方向を算出し、動作制御手段が誤認していると判定した場合には、位置ベクトル算出手段がロボット装置と第１のマーカーとの距離及び方向を算出する。
【０１３３】
したがって、本発明に係る充電システムによれば、ロボット装置が充電装置を発見して、充電装置の方向に移動し、自律的に充電を行うことができる。
【０１３４】
また、本発明に係るロボット装置によれば、位置ベクトル算出手段において、記憶手段に記憶された標識位置情報と撮像手段により撮像された標識位置を含む画像とから標識との距離及び方向を算出することによって、ロボット装置は、充電装置を発見して、充電装置の方向に移動し、自律的に充電を行うことができる。
【０１３６】
また、本発明に係る充電制御方法によれば、位置ベクトル算出工程において、撮像工程で撮像された充電装置に設けられた標識の画像と記憶手段に予め記憶された標識位置の情報とから標識との距離及び方向を算出し、動作制御工程において、ここで算出された距離及び方向にしたがって充電装置の方向に移動するように制御することによって、ロボット装置が充電装置を発見して、充電装置の方向に移動し、自律的に充電を行うことができる。
【０１３７】
また、この充電制御方法をロボット装置に実行させるための制御プログラムを記録媒体に記録して提供することによって、ロボット装置が充電装置を発見して、充電装置の方向に移動し、自律的に充電を行うことができる。
【図面の簡単な説明】
【図１】本発明の具体例として示す充電器の外観を示す図である。
【図２】本発明の具体例として示す充電器の外観を示す図である。
【図３】本発明の具体例として示す充電器の外観を示す図である。
【図４】本発明の具体例として示す充電器の外観を示す模式図である。
【図５】本発明の具体例として示すロボット装置の外観を示す図である。
【図６】本具体例として示すロボット装置の内部構成を示す図である。
【図７】自動充電処理において使用される座標系を模式的に示す図である。
【図８】ロボット座標系とステーション座標系の相対距離および相対角度を示す図である。
【図９】エントランスポイントおよび通過ポイントを示す図である。
【図１０】自動充電処理におけるロボット装置の動作を模式的に示す図である。
【図１１】自動充電処理を示すフローチャートである。
【図１２】位置ベクトルのノルムと撮像したフレーム数との関係を示す図である。
【図１３】ロボット装置における制御プログラムのソフトウェア構成を示す図である。
【図１４】ロボット装置に内蔵されたソフトウェアにおけるミドルウェア・レイヤの構成を示す図である。
【図１５】ロボット装置に内蔵されたソフトウェアにおけるアプリケーション・レイヤの構成を示す図である。
【図１６】ロボット装置に内蔵されたソフトウェアにおける行動モデルライブラリの構成を示す構成図である。
【図１７】ロボット装置の行動を決定するための状態遷移図である。
【図１８】ロボット装置の行動を決定するための状態遷移条件を示す図である。
【符号の説明】
１  ロボット装置、２  胴体部ユニット、３Ａ，３Ｂ，３Ｃ  脚部ユニット、４頭部ユニット、１０  ＣＰＵ、１７  バッテリー、２０  ＣＣＤカメラ、２８メモリカード、１００  充電器、１１５  接続部、１１８  主マーカー、１１９  副マーカー
【図１】
0004032793.tif 000012
【図２】
0004032793.tif 000013
【図３】
0004032793.tif 000014
【図４】
0004032793.tif 000015
【図５】
0004032793.tif 000016
【図６】
0004032793.tif 000017
【図７】
0004032793.tif 000018
【図８】
0004032793.tif 000019
【図９】
0004032793.tif 000020
【図１０】
0004032793.tif 000021
【図１１】
0004032793.tif 000022
【図１２】
0004032793.tif 000023
【図１３】
0004032793.tif 000024
【図１４】
0004032793.tif 000025
【図１５】
0004032793.tif 000026
【図１６】
0004032793.tif 000027
【図１７】
0004032793.tif 000028
【図１８】
0004032793.tif 000029