"周囲の画像を入力する画像入力部と、前記画像入力部の入力画像から物体を検出する対象物体検出部と、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部と、前記物体位置検出部で検出した物体の位置の周囲の環境情報を取得する環境情報取得部と、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部と、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部と、前記物体姿勢検出部が検出した物体の現在の姿勢を当該物体の最適な姿勢を比較する物体姿勢比較部と、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部と、を具備するロボット装置。ユーザーの指示に基づくタスクを実行するタスク実行部をさらに備え、前記タスク実行部がタスクを実行していないときに、前記物体姿勢検出部による物体の現在の姿勢の検出、前記物体姿勢比較部による最適な姿勢との比較、及び、前記物体姿勢修正部による物体の姿勢の修正を自律的に行なう、請求項1に記載のロボット装置。前記ロボット装置の位置を移動する移動部をさらに備え、前記物体姿勢検出部は、前記移動部により前記ロボット装置の現在位置を移動させながら、物体の現在の姿勢の検出を行なう、請求項1に記載のロボット装置。前記最適姿勢取得部は、各物体の最適な姿勢を学習により取得して、前記物体姿勢データベースに保持する、請求項1に記載のロボット装置。さらにユーザーから教示された各物体の最適な姿勢を前記物体姿勢データベースに保持する、請求項4に記載のロボット装置。前記画像入力部の入力画像に基づいて前記環境マップを更新する環境マップ更新部をさらに備える、請求項1に記載のロボット装置。前記最適姿勢取得部は、ユーザーにとって心地よい環境を整える際に物体を置くのに最適な姿勢、並びにユーザーに手渡す際の物体の最適な姿勢を取得する、請求項1に記載のロボット装置。前記環境情報取得部は、周囲の環境情報からなる環境マップから、前記物体位置検出部で検出した物体の位置の周囲の環境情報を取得する、請求項1に記載のロボット装置。前記物体姿勢比較部は、前記物体姿勢検出部が検出した物体の現在の姿勢を、各物体の環境毎の最適な姿勢を保持する物体姿勢データベースに保持されている当該物体の最適な姿勢と比較する、請求項1に記載のロボット装置。周囲の画像を入力する画像入力ステップと、前記画像入力ステップで入力した画像から物体を検出する対象物体検出ステップと、前記対象物体検出ステップで検出した物体の位置を検出する物体位置検出ステップと、周囲の環境情報からなる環境マップから、前記物体位置検出ステップで検出した物体の位置の周囲の環境情報を取得する環境情報取得ステップと、前記対象物体検出ステップで検出した物体の、前記環境情報取得ステップで取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得ステップと、各物体の環境毎の最適な姿勢を物体姿勢データベースに保持する最適姿勢保持ステップと、前記画像入力ステップで入力した画像から物体の現在の姿勢を検出する物体姿勢検出ステップと、前記物体姿勢検出ステップで検出した物体の現在の姿勢と、前記物体姿勢データベースに保持されている当該物体の最適な姿勢を比較する物体姿勢比較ステップと、前記物体姿勢比較ステップにおいて物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正ステップと、を有するロボット装置の制御方法。周囲の環境情報からなる環境マップ、周囲の画像を入力する画像入力部、前記画像入力部の入力画像から物体を検出する対象物体検出部、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部、前記物体位置検出部で検出した物体の位置の周囲の環境情報を前記環境マップから取得する環境情報取得部、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部、各物体の環境毎の最適な姿勢を保持する物体姿勢データベース、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部、前記物体姿勢検出部が検出した物体の現在の姿勢と、前記物体姿勢データベースに保持されている当該物体の最適な姿勢を比較する物体姿勢比較部、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部、としてコンピューターを機能させるようにコンピューター可読形式で記述された、ロボット装置を制御するためのコンピュータープログラム。それぞれ外部装置上に構築された、周囲の環境情報からなる環境マップと、各物体の環境毎の最適な姿勢を保持する物体姿勢データベースと、周囲の画像を入力する画像入力部と、前記画像入力部の入力画像から物体を検出する対象物体検出部と、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部と、前記物体位置検出部で検出した物体の位置の周囲の環境情報を前記環境マップから取得する環境情報取得部と、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部と、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部と、前記物体姿勢検出部が検出した物体の現在の姿勢を、前記物体姿勢データベースに保持されている当該物体の最適な姿勢と比較する物体姿勢比較部と、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部と、を具備するロボット装置と、からなるロボットシステム。本明細書で開示する技術の目的は、ユーザーがよく利用する物をあまり苦労しないで利用できるように置いておく位置及び姿勢を自律的に整えることができる、優れたロボット装置及びロボット装置の制御方法、コンピュータープログラム、並びにロボットシステムを提供することにある。本明細書で開示する技術のさらなる目的は、ロボットが持っている物体を、その物体をユーザーが持ち易い、あるいは、ユーザーが利用し易い姿勢で、ユーザーに手渡すことができる、優れたロボット装置及びロボット装置の制御方法、コンピュータープログラム、並びにロボットシステムを提供することにある。本願は、上記課題を参酌してなされたものであり、請求項1に記載の技術は、周囲の環境情報からなる環境マップと、周囲の画像を入力する画像入力部と、前記画像入力部の入力画像から物体を検出する対象物体検出部と、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部と、前記物体位置検出部で検出した物体の位置の周囲の環境情報を前記環境マップから取得する環境情報取得部と、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部と、各物体の環境毎の最適な姿勢を保持する物体姿勢データベースと、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部と、前記物体姿勢検出部が検出した物体の現在の姿勢と、前記物体姿勢データベースに保持されている当該物体の最適な姿勢を比較する物体姿勢比較部と、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部と、を具備するロボット装置である。本願の請求項2に記載の技術によれば、請求項1に記載のロボット装置は、ユーザーの指示に基づくタスクを実行するタスク実行部をさらに備えている。そして、前記タスク実行部がタスクを実行していないときに、前記物体姿勢検出部による物体の現在の姿勢の検出、前記物体姿勢比較部による最適な姿勢との比較、及び、前記物体姿勢修正部による物体の姿勢の修正を自律的に行なうように構成されている。本願の請求項3に記載の技術によれば、請求項1に記載のロボット装置は、ロボット装置の位置を移動する移動部をさらに備えている。そして、前記物体姿勢検出部は、前記移動部により前記ロボット装置の現在位置を移動させながら、物体の現在の姿勢の検出を行なうように構成されている。本願の請求項4に記載の技術によれば、請求項1に記載のロボット装置は、最適姿勢取得部は、各物体の最適な姿勢を学習により取得して、前記物体姿勢データベースに保持するように構成されている。本願の請求項5に記載の技術によれば、請求項4に記載のロボット装置は、さらにユーザーから教示された各物体の最適な姿勢を前記物体姿勢データベースに保持するように構成されている。本願の請求項6に記載の技術によれば、請求項1に記載のロボット装置は、画像入力部の入力画像に基づいて前記環境マップを更新する環境マップ更新部をさらに備えている。本願の請求項7に記載の技術によれば、請求項1に記載のロボット装置の最適姿勢取得部は、ユーザーにとって心地よい環境を整える際に物体を置くのに最適な姿勢、並びにユーザーに手渡す際の物体の最適な姿勢を取得するように構成されている。本願の請求項8に記載の技術によれば、請求項1に記載のロボット装置の環境情報取得部は、周囲の環境情報からなる環境マップから、前記物体位置検出部で検出した物体の位置の周囲の環境情報を取得するように構成されている。本願の請求項9に記載の技術によれば、請求項1に記載のロボット装置の物体姿勢比較部は、前記物体姿勢検出部が検出した物体の現在の姿勢を、各物体の環境毎の最適な姿勢を保持する物体姿勢データベースに保持されている当該物体の最適な姿勢と比較するように構成されている。また、本願の請求項10に記載の技術は、周囲の画像を入力する画像入力ステップと、前記画像入力ステップで入力した画像から物体を検出する対象物体検出ステップと、前記対象物体検出ステップで検出した物体の位置を検出する物体位置検出ステップと、周囲の環境情報からなる環境マップから、前記物体位置検出ステップで検出した物体の位置の周囲の環境情報を取得する環境情報取得ステップと、前記対象物体検出ステップで検出した物体の、前記環境情報取得ステップで取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得ステップと、各物体の環境毎の最適な姿勢を物体姿勢データベースに保持する最適姿勢保持ステップと、前記画像入力ステップで入力した画像から物体の現在の姿勢を検出する物体姿勢検出ステップと、前記物体姿勢検出ステップで検出した物体の現在の姿勢と、前記物体姿勢データベースに保持されている当該物体の最適な姿勢を比較する物体姿勢比較ステップと、前記物体姿勢比較ステップにおいて物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正ステップと、を有するロボット装置の制御方法である。また、本願の請求項11に記載の技術は、周囲の環境情報からなる環境マップ、周囲の画像を入力する画像入力部、前記画像入力部の入力画像から物体を検出する対象物体検出部、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部、前記物体位置検出部で検出した物体の位置の周囲の環境情報を前記環境マップから取得する環境情報取得部、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部、各物体の環境毎の最適な姿勢を保持する物体姿勢データベース、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部、前記物体姿勢検出部が検出した物体の現在の姿勢と、前記物体姿勢データベースに保持されている当該物体の最適な姿勢を比較する物体姿勢比較部、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部、としてコンピューターを機能させるようにコンピューター可読形式で記述された、ロボット装置を制御するためのコンピュータープログラムである。本願の請求項11に係るコンピュータープログラムは、コンピューター上で所定の処理を実現するようにコンピューター可読形式で記述されたコンピュータープログラムを定義したものである。換言すれば、本願の請求項11に係るコンピュータープログラムをコンピューターにインストールすることによって、コンピューター上では協働的作用が発揮され、本願の請求項1に係るロボット装置と同様の作用効果を得ることができる。また、本願の請求項12に記載の技術は、それぞれ外部装置上に構築された、周囲の環境情報からなる環境マップと、各物体の環境毎の最適な姿勢を保持する物体姿勢データベースと、周囲の画像を入力する画像入力部と、前記画像入力部の入力画像から物体を検出する対象物体検出部と、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部と、前記物体位置検出部で検出した物体の位置の周囲の環境情報を前記環境マップから取得する環境情報取得部と、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部と、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部と、前記物体姿勢検出部が検出した物体の現在の姿勢を、前記物体姿勢データベースに保持されている当該物体の最適な姿勢と比較する物体姿勢比較部と、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部と、を具備するロボット装置と、からなるロボットシステムである。但し、ここで言うシステムとは、複数の装置又は特定の機能を実現する機能モジュールが論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。本明細書で開示する技術によれば、ユーザーがよく利用する物をあまり苦労しないで利用できるように置いておく位置及び姿勢を自律的に整えることができる、優れたロボット装置及びロボット装置の制御方法、コンピュータープログラム、並びにロボットシステムを提供することができる。また、本明細書で開示する技術によれば、ロボットが持っている物体を、その物体をユーザーが持ち易い、あるいは、ユーザーが利用し易い姿勢で、ユーザーに手渡すことができる、優れたロボット装置及びロボット装置の制御方法、コンピュータープログラム、並びにロボットシステムを提供することができる。本明細書で開示する技術のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。以下、図面を参照しながら本明細書で開示する技術の実施形態について詳細に説明する。図1には、本明細書で開示する技術を適用可能なロボット装置100の外観を示している。ロボット装置100は、複数のリンクを関節で接続されたリンク構造体であり、各関節はアクチュエーターによって動作する。図2には、このロボット装置100の関節自由度構成を模式的に示している。図示のロボット装置100は、主に家庭環境に設置されて家事や介護などを行なうが、産業用などさまざまな用途で使用することも可能である。図示のロボット装置100は、移動手段として、ベース部に対向する2輪の駆動輪101R及び101Lを備えている。各駆動輪101R及び101Lは、それぞれピッチ回りに回転する駆動輪用アクチュエーター102R及び102Lによって駆動する。なお、図2中において、参照番号151、152、153は、実在しない劣駆動関節であり、ロボット装置100の床面に対するX方向前後方向の並進自由度、Y方向左右方向の並進自由度、並びに、ヨー回りの回転自由度にそれぞれ相当し、ロボット装置100が仮想世界を動き回ることを表現したものである。移動手段は、腰関節を介して上体に接続される。腰関節は、ピッチ回りに回転する腰関節ピッチ軸アクチュエーター103によって駆動する。上体は、左右2肢の腕部と、首関節を介して接続される頭部で構成される。左右の腕部は、それぞれ肩関節3自由度、肘関節2自由度、手首関節2自由度の、計7自由度とする。肩関節3自由度は、肩関節ピッチ軸アクチュエーター104R/L、肩関節ロール軸アクチュエーター105R/L、肩関節ヨー軸アクチュエーター106R/Lによって駆動する。肘関節2自由度は、肘関節ピッチ軸アクチュエーター107R/L、肘関節ヨー軸アクチュエーター108R/Lによって駆動する。手首関節2自由度は、手首関節ロール軸アクチュエーター109R/L、手首関節ピッチ軸アクチュエーター110R/Lによって駆動する。また、首関節2自由度は、首関節ピッチ軸アクチュエーター111、首関節ヨー軸アクチュエーター112によって駆動する。また、手関節1自由度は、手関節ロール軸アクチュエーター113R/Lによって駆動する。なお、図示のロボット装置100は、対向2輪式の移動手段を備えているが、本明細書で開示する技術の要旨は、対向2輪式の移動手段に限定されるものではない。例えば、脚式の移動手段を備えたロボット装置100であっても、同様に本明細書で開示する技術を適用することができる。各軸のアクチュエーターには、関節角を計測するためのエンコーダー、トルクを発生するためのモーター、モーターを駆動するための電流制御型モータードライバーの他、十分な発生力を得るための減速機が取り付けられている。また、アクチュエーターには、アクチュエーターの駆動制御を行なうマイクロコンピューターが併設されているいずれも図2には図示しない。ロボット装置100のダイナミクス演算は、ホストコンピューター上で実行され、各関節アクチュエーターのトルク又は関節角度の制御目標値を生成する。制御目標値は、アクチュエーターに併設された制御用マイコンに送信され、制御用マイコン上で実行されるアクチュエーターの制御に用いられる。また、各関節アクチュエーターは、力制御方式又は位置制御方式により制御される。図3には、図1に示したロボット装置100を制御するための機能的構成を模式的に示している。ロボット装置100は、全体の動作の統括的制御やその他のデータ処理を行なう制御ユニット310と、入出力部320と、駆動部330とを備えている。以下、各部について説明する。入出力部320は、入力部として、ロボット装置100の目に相当するカメラ321、人や障がい物までの距離を検出する距離センサー322、ロボット装置100の耳に相当するマイクロフォン323などを備えている。また、入出力部320は、出力部として、ロボット装置100の口に相当するスピーカー324などを備えている。ここで、距離センサー322は、例えば、レーザーレンジファインダーなどの空間センサーで構成される。また、ロボット装置100は、例えばマイクロフォン323からのユーザーの音声入力により、タスクの指示を受けることができる。但し、ロボット装置100は、有線、無線、あるいは記録メディアなどを介した他のタスクの指示の入力手段図示しないを備えていてもよい。駆動部330は、ロボット装置100の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール、ピッチ、ヨーなど軸毎に設けられた複数の駆動ユニットで構成される。各駆動ユニットは、所定軸回りの回転動作を行なうモーター331と、モーター331の回転位置を検出するエンコーダー332と、エンコーダー332の出力に基づいてモーター331の回転位置や回転速度を適応的に制御するドライバー333の組み合わせで構成される。制御ユニット310は、認識部311と、駆動制御部312と、環境マップ313を備えている。認識部311は、入出力部320のうちカメラ321や距離センサー322といった入力部から得られる情報に基づいて、周囲の環境の認識を行なう。例えば、認識部311は、入力情報に基づいて環境マップ313を事前に構築したり更新したりする。駆動制御部312は、入出力部320のうち出力部や、駆動部330の駆動を制御する。例えば、駆動制御部312は、ロボット装置100がタスクを実現するための、駆動部330の制御を行なう。ここで言う、ロボット装置100が実現するタスクには、ユーザーからの指示に応じた家事や介護や、環境に応じた動作などが含まれる。また、環境に応じた動作として、ユーザーがよく利用する物をあまり苦労しないで利用できるように置いておく位置及び姿勢を自律的に整えることや、ロボットが持っている物体を、その物体をユーザーが持ち易い、あるいは、ユーザーが利用し易い姿勢で、ユーザーに手渡すこと、などを上げることができる。図4には、ロボット装置100が環境に応じた動作を実現するための機能的構成を模式的に示している。環境マップ313は、ユーザーが居る部屋など、ロボット装置100が動作する作業空間におけるテーブルやソファー、本棚、テレビなどの物体の形状、位置、姿勢データなどで構成されるデータベースである。なお、環境マップ313でデータベース管理される物体と、ロボット装置100が自律的に位置及び姿勢を整える物体との相違として、前者はロボット装置100がアームなどで操作したり移動したりできない程度に大きな物体であるのに対し、後者はロボット装置100が把持して移動できる程度に小さな物体であることを挙げることができる。テーブルやソファー、本棚、テレビなどの大きな物体が環境マップで管理されるのに対し、ペットボトルやリモコンなどは、ロボット装置100が位置及び姿勢を自律的に整えたりユーザーに手渡したりする対象物体である。自己位置検出部401は、カメラ321や距離センサー322などの計測結果に基づいて、ロボット装置100の自己位置を検出若しくは推定する。また、環境マップ更新部403は、環境マップ313の構築並びに更新を行なう。対象物体検出部402は、カメラ321の撮影画像から対象物体を検出する。対象物体検出部402は、例えば輪郭、エッジ、コーナー、輝度変化、色などの特徴量や、物体の3次元形状、物体に付けられたバーコードなど人工的な幾何学パターンを画像処理することによって、対象物体の検出を行なうことができる。あるいは、対象物体に取り付けられた無線タグからIDなどの情報を読み取って、対象物体を検出するようにしてもよい。ロボット装置100は、検出した対象物体の最適な姿勢の学習を自律的に行なう。学習時には、物体位置検出部404は、自己位置検出部401で推定した自己位置と、カメラ321の撮影画像から対象物体検出部402が検出した対象物体の位置から、対象物体の3次元位置を算出する。また、環境情報取得部406は、環境マップ更新部403が更新した環境マップから、検出された物体の位置の周囲の環境情報を取得する。対象物体の3次元位置と環境マップから、対象物体の周囲の環境情報を取得することができる。例えば、ペットボトルは今、テーブルの上のはず、リモコンは今、ソファーの上であり、その向かいにはテレビがあるはず、といった具合である。そして、最適姿勢取得部407は、周囲の環境情報に応じた、ユーザーにとって心地よい環境を整える際に対象物体を置く正しい若しくは、最適な姿勢や、ユーザーに手渡す際の対象物体の正しい若しくは、最適な姿勢を、辞書データとして取得すると、物体姿勢データベース409に登録する。例えば、複数回にわたり対象物体の姿勢を取得し、各姿勢の投票結果に基づいて正しい姿勢を判定することができる後述。ユーザーにとって心地よい環境を整える際に対象物体を置く正しい姿勢の辞書データの例を表1に示す。また、ユーザーに手渡す際の対象物体の正しい姿勢の辞書データの例を表2に示す。但し、表1において、周囲の環境の指定は組み合わせも可能である。例えば、スリッパは、床の上で且つベッドのそば、とかである。ロボット装置100は、各対象物体の最適な姿勢を学習して、物体姿勢データベース409に辞書データとして登録する。あるいは、ユーザーがロボット装置100の辞書データを覚えさせたり、ユーザーインターフェースUIを介して教えたりするようにしてもよい。ロボット装置100は、普段歩き回っているとき、物体がどのような姿勢で置かれていることが多いかを観察し、学習する。例えば、ペットボトルを観察し、蓋が上で立っていることが多い、などを学習する。上記の表1に示したように、対象物体が置かれている環境毎に、どのような姿勢が多いかを学習するようにしてもよい。例えば、机の上のペットボトルは立っていることが多そう、床の上のペットボトルは飲み終わっているため寝ていることが多そうとかである。また、ロボット装置100は、学習した結果に基づいて、ユーザーにとって心地よい環境を整える。例えば、ユーザーが普段と異なる姿勢で物体を置いたとしても、ロボット装置100はその姿勢を適宜修正する。物体姿勢検出部405は、カメラ321の撮影画像から対象物体検出部402が検出した、現在の対象物体の3次元姿勢を検出する。最適姿勢取得部407は、カメラ321の撮影画像から対象物体検出部402が検出した対象物体と、環境情報取得部406が取得した最新の環境マップを基に、物体姿勢データベース409を検索して、当該対象物体の正しい姿勢を推定する。また、最適姿勢取得部407は、環境から対象物体を検出する際に利用した情報特徴量や無線タグなどを用いて、物体姿勢データベース409を照合し、当該対象物体の最適な姿勢を求める。物体姿勢比較部408は、物体姿勢検出部405で検出された対象物体の3次元姿勢と、物体姿勢データベース409に登録されている辞書データを基に推定した最適な姿勢を比較する。そして、両者の姿勢に差異があれば、対象物体が正しい姿勢となるように、物体姿勢決定部410において、当該対象物体の位置姿勢を操作又は修正する制御量を決定する。このようにして、ロボット装置100は、物体姿勢データベース409に登録されている辞書データに基づいて、対象物体を正しい姿勢に操作又は修正する。対象物体の位置姿勢を操作又は修正する前に、ユーザーに問い合わせるようにしてもよい。また、ロボット装置100が操作又は修正した対象物体の位置姿勢が間違っている場合には、ユーザーが教示するようにしてもよい。ユーザーは、物体の正しい姿勢をロボットに見せて教えることができる。例えば、ペットボトルを立て姿勢で見せながら、音声でこういう風に置いてと指示する。あるいは、ユーザーは、音声によって物体の正しい姿勢を教えることもできる。例えば、ペットボトルは立てておいてとか指示する。本実施形態に係るロボット装置100は、最適姿勢取得部407において、物体姿勢データベース409をオンラインで生成することができる。物体姿勢データベース409を構築するには、対象物体検出部402で検出した対象物体の位置及び姿勢を取得することが欠かせない。物体形状は、CADComputerAidedDesignデータなどの事前知識として、あるいは、ステレオカメラなどによる3次元計測を行なった後ポリゴン化するなどして、取得することができる。辞書データとしての物体の形状を取得する際、このポリゴン化した形状に対して、物体固有の座標系を設定する。例えば、図8Aに示すような円柱の若しくは円柱近似できる物体に関しては、中心部を原点に、主軸をz ́軸、z ́軸回りには対称であるためx ́軸及びy ́軸は適当に定める、などのように設定する。また、物体の姿勢に関しては、実世界に図8Aに示すような円柱の若しくは円柱近似できる物体が置かれている場合、世界座標xyzに対して、物体座標x ́y ́z ́がどのように3次元回転しているかによって図8Bを参照のこと、その物体の姿勢を表現することができる。任意の3次元回転は、オイラー角、ロールピッチヨー角などのように、3つのパラメーターある3つの軸の各軸まわりに回転を連続して行なった際の各回転角で表現できる。そこで、以下の説明では物体の姿勢の3つのパラメーターをα,β,γとする。本実施形態に係るロボット装置100は、ユーザーから指示されたタスクを行なっているとき以外は、カメラ321の取得画像を基に周囲を自律的に観測して、各対象物体の姿勢を取得している。対象物体の姿勢取得を継続的に行ない、対象物体毎に、どのような姿勢で置かれていることが多いかを、投票などの手法により算出する。具体的には、パラメーター空間α,β,γを表す3次元配列を投票空間として用意するとともに、各パラメーターを適度に離散化して扱う。これらのパラメーターは角度すなわち連続量であるので、例えば5度刻みに、0~5度、5~10度、10~15度...として、その刻み幅内であればその刻み幅の中央値で代表させる。360度を5度刻みに分割すると360÷5=72であるから、上記のパラメーター空間α,β,γは72×72×72の3次元配列となる。物体の姿勢α,β,γが観測される度に、この配列の対応する要素の値を1ずつ増加させる。その物体の総観測回数総投票数が任意に設定された規定回数に到達したら、最適姿勢取得部407は、その獲得投票数が極大値となるパラメータα,β,γを探し、その物体の最適な姿勢とする。上記では、1回の観測につき、3次元配列の対応する要素を1だけ増加させるという、観測回数をそのまま投票する構成例について示したが、重み付けして投票するように構成することも考えられる。例えば、物体がその姿勢でいた時間を推測考慮して、1回の観測に重み付けを行なった後に投票する構成例が挙げられる。また、同じ物体であっても周囲の環境が異なる場合は、その環境毎に上記のような学習を行なう。例えば、同じペットボトルであっても、上記の表1にも示したように、テーブルの上にある場合、床の上にある場合、など置かれている場所毎に最適な姿勢を求める。その物体の周囲の環境情報テーブルの上に置かれている、などは、物体位置検出部404で推定された現在の物体の位置と更新された環境マップに基づいて求める。上述したように、最適姿勢取得部407は、ユーザーにとって心地よい環境を自律的に整える際に対象物体を置く正しい姿勢や、ユーザーに手渡す際の対象物体の正しい姿勢を、物体姿勢データベース409に登録する。図9には、物体姿勢データベース409の構成例を示している。図示の例では、物体姿勢データベース409は、物体データを格納するデータベース901、物体毎の姿勢データを格納するデータベース902、物体環境毎の姿勢データを格納するデータベース902の3種類のデータベースで構成される。物体データを格納するデータベース901は、さまざまな物体を識別するためのIDと、その物体に関する姿勢データベースへのポインターで構成される。物体毎の姿勢データを格納するデータベース902は、その物体が置かれている周囲の環境情報と、その物体且つその環境における姿勢データベースへのポインターで構成される。データベースをオンラインで生成するという本明細書で開示する技術とは直接関連しないので図示を省略しているが、物体毎の姿勢データを格納するデータベース902は姿勢のみではなく、形状質量材質などその物体固有の情報を持たせる構成にしてもよい。物体環境毎の姿勢データを格納するデータベース903は、その物体がその環境にあることを十分観測し最適な姿勢を算出できているかどうかを示す、姿勢学習済みフラグと、学習済みであればその姿勢α、β、γで構成される。また、学習過程における途中結果、すなわち、各投票数を格納するパラメーター空間α、β、γの3次元配列と、その物体の姿勢の総観測回数も、当該データベース903に含まれており、これら学習中データへの参照も可能な構成としている。但し、これらの途中結果を当該データベース903の外に配置し、参照不可の構成にしても構わない。勿論、上記の3つのデータベース901~903を人手で作成しておいてもよい。例えば、事前に姿勢が分かっている物体に関しては、物体環境毎のデータ903の姿勢学習済みフラグを学習済みにし、最適な姿勢にその姿勢データ設定するようにしてもよい。続いて、物体姿勢データベース409をオンラインで生成する処理について説明する。図10には、物体姿勢データベース409をオンラインで生成並びに更新する処理手順をフローチャートの形式で示している。最適姿勢取得部407は、かかる処理を定期的に繰り返し行なうものとする。対象物体検出部402は、カメラ321の撮影画像を基にして、周囲にあるさまざまな物体を認識するステップS1001。また、同時に、ステレオカメラによる3次元計測などにより、物体姿勢検出部405が認識した物体の形状、姿勢を算出するとともにステップS1002、物体位置検出部404が認識した物体の位置を算出するステップ1003。次いで、最適姿勢取得部407は、算出された物体の3次元位置と、環境情報取得部406が取得した環境マップにより、その物体の周囲の環境情報を取得する例えば、テーブルの上、などステップS1004。そして、最適姿勢取得部407は、このようにして得られた物体識別ID、物体の姿勢、環境情報を基に、物体姿勢データベース409を生成し、さらに更新するステップS1005。図11には、上記のステップS1005で実行される、物体姿勢データベース409を生成並びに更新する処理手順をフローチャートの形式で示している。最適姿勢取得部407は、まず、認識した物体のIDが物体データを保持するデータベース901に既に登録されているか否かをチェックするステップS1101。ここで、認識した物体のIDがまだデータベース901に登録されていないときにはステップS1101のNo、最適姿勢取得部407は、データベース901にその物体のIDを登録するとともに、その物体IDに対応する姿勢データをデータベース902に作成するステップ1104。認識した物体のIDがデータベース901に既に登録されているとき、並びに、物体IDに対応する姿勢データをデータベース902に作成した後、最適姿勢取得部407は、物体周囲の環境情報が物体毎の姿勢データを保持するデータベース902に既に登録されているか否かをチェックするステップS1102。ここで、物体周囲の環境情報がまだデータベース902にまだ登録されていないときにはステップS1102のNo、最適姿勢取得部407は、その物体周囲の環境情報を、物体周囲の環境情報を物体毎の姿勢データ902に登録するとともに、その環境に対応する姿勢データをデータベース903に登録するステップS1105。物体周囲の環境情報がデータベース902に既に登録されているとき、並びに、環境に対応する姿勢データをデータベース903に登録した後に、最適姿勢取得部407は、物体の最適な姿勢を既に学習済みであるか否かをチェックするステップS1103。ここで、物体の最適な姿勢をまだ学習していないときには、最適姿勢取得部407は、物体姿勢検出部405で算出した物体の姿勢α,β,γを投票するステップS1106。物体の姿勢の総観測回数がまだ規定回数に到達していないときにはステップS1107のNo、本処理ルーチンを終了する。また、物体の姿勢の総観測回数が規定回数に到達したときにはステップS1107のYes、最適姿勢取得部407は、データベース903において、投票結果の極大値に対応する姿勢α,β,γを、この物体の最適に姿勢として決定するとともに、学習済みフラグをセットしてステップS1108、本処理ルーチンを終了する。物体の最適な姿勢を既に学習済みであるときにはステップS1103のYes、物体姿勢比較部408は、現在の物体の姿勢を学習済みの物体の最適な姿勢と比較し、両者に差があるか否かをチェックするステップS1109。現在の物体の姿勢と学習済みの物体の最適な姿勢に差がなければステップS1109のNo、本処理ルーチンを終了する。一方、現在の物体の姿勢と学習済みの物体の最適な姿勢に差があるときにはステップS1109のYes、物体姿勢決定部410は、物体の姿勢を修正する処理を起動する。物体の姿勢を修正する処理の詳細については後述に譲る。図11に示した処理手順では、総観測回数すなわち総投票数が規定の回数以上になった時点で最適な姿勢を決定するようにしているが、他の実装方法も挙げられる。例えば、上記のように投票を行なった結果、投票空間α,β,γで姿勢の頻度分布を得ることができる。その頻度分布に照らしたとき、現在の姿勢がめったにないすなわち、他の姿勢と比べて頻度が低いときには、物体姿勢修正モード後述では、その姿勢近傍で他よりも頻度の高い物体の姿勢へ変化させる。投票により得られた姿勢の頻度分布を用いることで、複数の最適な姿勢を扱うことができる。例えば、探索モード後述下で物体の現在の姿勢を得たときに、物体姿勢修正モードではその姿勢近傍で他よりも頻度の高い姿勢へ変化させるようにすればよい。また、姿勢の頻度分布は投票が少ない場合でも使用することが可能である。但し、投票数が少ない場合は、ある特定の姿勢について、他と比べてめったないという判定をすることがあり得ないと考えられるため、実際の姿勢を変化させることは少ないであろう。それでも、規定の投票回数を決定する必要はなくなる代わりに、どのくらいの頻度であればめったにないと判定するかを決める必要がある。。この方法を用いるもう1つの利点は、姿勢変更を行なうかどうか決定するためのパラメーターである規定の投票回数を適切に定めておく必要がなくなるという点である。少ない投票数しか得られていない初期状態であっても、ある姿勢画素の近傍と比較して相対的にどれだけめったにないかを判定することができる。さらに、投票空間のボックスサイズを投票の分布に応じて動的に変化させる、という実装も挙げられる。ボックスサイズを決定するには、ヒストグラム密度推定においてヒストグラムの幅を決定する種々の方法を利用することができる。また、ヒストグラム密度推定の代わりに、サンプル点を直接用いてカーネル密度推定することもできる。サンプルデータを用いて物体姿勢の確率密度関数p姿勢|物体,場所を適切に推定できるのであれば、ある姿勢データx近傍の確率密度が閾値以下のときには、その周辺で、確率密度関数p姿勢|物体,場所が極大となる姿勢x_optへと物体の姿勢を変更することにより、物体の姿勢を適切に修正することができる。ここで、物体としてペットボトルを検出した場合を例にとって、図11に示した物体姿勢データベース409を生成並びに更新する処理について説明する。但し、以下では、データベースの名称をで、データベース内のキーをで、データベース内のキーに対応する値をとして区別する。まず、最適姿勢取得部407は、そのペットボトルが物体データを保持するデータベース901に登録されているか否かをチェックするステップS1101。ペットボトルがデータベース901に登録されていない場合はステップS1101のNo、そのIDペットボトル001をデータベース901に登録し、このIDに対応する物体毎の姿勢データPetBottle001をデータベース902に作成すると同時に、そのポインターをデータベース901に登録するステップS1105。この時点では、データベース902中の物体毎の姿勢データPetBottle001の、周囲環境、姿勢データとも空の状態である。次いで、最適姿勢取得部407は、ペットボトルがテーブルの上に置いてあったとして、テーブルの上という環境情報が、データベース902中の姿勢データPetBottle001に登録されているか否かをチェックするステップS1102。まだ登録されていない場合にはステップS1102のNo、最適姿勢取得部407は、環境情報としてテーブルの上をデータベース902に登録し、これに対応する物体環境毎の姿勢データPetBottle001_OnTableをデータベース903に作成すると同時に、そのポインターをデータベース902に登録するステップS1105。この時点では、データベース903に登録されている物体環境毎の姿勢データPetBottle001_OnTableの、姿勢学習済みフラグは学習中である。次いで、最適姿勢取得部407は、データベース903中のPetBottle001_OnTableの姿勢学習済みフラグを参照して、テーブルの上にあるペットボトルの姿勢に関して既に学習が済んでいるか否かをチェックするステップS1103。学習がまだ済んでいない場合はステップS1103のNo、最適姿勢取得部407は、物体姿勢検出部405で算出した物体の姿勢をパラメーター空間α,β,γの3次元配列に投票するステップS1106。その物体に関して、総観測回数総投票数がある規定回数に到達した場合にはステップS1107のYes、最適姿勢取得部407は、その獲得投票数が極大値となるパラメータα,β,γを探し、これをその物体の最適な姿勢に設定するとともに、姿勢学習済みフラグを学習済みにするステップS1108。また、総観測回数が規定回数に到達していない場合はステップS1107のNo、姿勢観測回数を1だけ増分し、規定回数に到達するまで上記処理を続ける。上記の例では、一度学習が終了し、その物体の最適な姿勢が求まった後は、学習をやめてしまっているが、最適姿勢取得部407は、引き続き観測を行ないながら最適な姿勢を更新していくような構成にしてもよい。また上記の例では、ロボット装置100が物体観測を繰り返して、データベース903中に物体環境毎の姿勢データPetBottle001_OnTbaleが全くないところから生成しているが、事前情報としてPetBottle001_OnTableに関する何らかのデータを人手で作成しておいて、観測学習によりそれを更新していく構成にしてもよい。図12には、図9に示した物体環境毎の姿勢データのデータベース903の変形例を示している。図9との相違点として、物体環境毎の姿勢データPetBottle001_OnTableに、ユーザー教示フラグというキーが追加されている。ユーザー教示フラグは、ユーザーがペットボトルをテーブルの上に置くときの姿勢を教示したかどうかを示す情報である。例えば、ユーザーがテーブルの上にペットボトルを置いてロボット装置100に見せて、そのような姿勢で置いて欲しいという指示をした場合には、ロボット装置100はこのユーザー教示フラグを非教示から教示に変更し、また最適な姿勢をそのときに観測したその物体の姿勢に変更する。ユーザーからの教示があった場合にはその姿勢が優先して用いられるべきであり、ユーザー教示フラグが教示であれば姿勢の学習は行なわない、などの処理を図11中のステップS1103の処理に追加することで、これを容易に実現できる。ユーザーにとって特に大事な物体であり決まった姿勢で置きたい場合や、ロボットが間違って学習してしまった場合にユーザーがそれを訂正する場合などに、有効な手法である。図13には、ロボット装置100が実行する動作を状態遷移図の形式で示している。図示の例では、ロボット装置100は、タスク実行、探索、物体姿勢修正の3つの動作モードを有している。タスク実行モード下では、ロボット装置100は、ユーザーから指示されたタスクを実行する。ユーザーからのタスクの指示は、音声入力などを通じて明示的に指示される場合の他、事前にスケジュールされタイマーによって定期的に実行すべきタスクあるきまった時刻になると掃除をするなど、所定のイベントの発生に応じて実行するタスクボールがテーブル上から転がり落ちるのを見つけたので拾いに行くなど、突然割り込んできた優先度の高いタスクを含むものとする。ユーザーからのタスクの実行の指示がないときには、ロボット装置100は、探索モードに移行する。また、探索モード下でユーザーからタスクの実行の指示があると、ロボット装置100は、探索を中止して、タスク実行モードに復帰する。ロボット装置100は、探索モード下では、自律的に室内を動き回って環境を観察し、図10並びに図11に示した処理手順に従って、物体姿勢データベース409の生成更新する処理を行なう。また、探索モードにおいて、観察した現在の物体の姿勢が学習済みの物体の最適な姿勢で置かれていないことを発見すると、物体姿勢修正モードに移行する。ロボット装置100は、探索モード下において、物体姿勢データベース409を更新すると同時に、物体の現在の姿勢と、物体姿勢データベース409に登録されている最適な姿勢とを比較する図11中のステップS1109。具体的には、物体姿勢検出部405により物体の現在の姿勢α ́,β ́,γ ́が得られ、且つ、当該物体の最適な姿勢α,β,γが既に学習され物体姿勢データベース409上に存在しているとき、下式1を満たしていれば、物体姿勢比較部408は、当該物体の現在の姿勢が最適な姿勢にほぼ一致していると判定することができる。但し、下式1において、Δαth、Δβth、Δγthはあらかじめ設定した閾値である。他方、上式1を満たしていないときには、ステップS1109の分岐Yesに進むことで、ロボット装置100は物体姿勢修正モードに移行する。図14には、ロボット装置100が物体姿勢修正モード下で実行する処理手順をフローチャートの形式で示している。物体姿勢決定部410は、まず、物体の現在の姿勢α ́,β ́,γ ́から、当該物体を把持するためのアームハンドの軌跡を計算するステップS1401。次いで、物体姿勢決定部410は、駆動制御部312を通じて、算出された軌道に沿ってアームハンドを制御して、物体を把持するステップS1402。次いで、物体姿勢決定部410は、把持した後の物体が、物体姿勢データベース409から取得した最適な姿勢α,β,γとなるように物体を操作するためのアームハンドの軌跡を計算するステップS1403。そして、物体姿勢決定部410は、駆動制御部312を通じて、算出された軌道に沿ってアームハンドを制御して、物体を最適な姿勢α,β,γとなるように設置するステップS1404。なお、上記では、ロボット装置100はユーザーからのタスクの実行の指示がないときに探索モードに移行して物体姿勢データベース409の生成更新する処理を行なうとした。但し、変形例として、タスク実行中であっても、実行中のタスクに支障をきたさない範囲で、環境を観察するためのカメラ321の視線制御を行ない、物体姿勢データベース409の生成更新を行なうように構成することもできる。図5並びに図6には、ロボット装置100の環境に応じた動作として、ユーザーの心地よい環境を自律的に整える様子を例示している。ロボット装置100は、普段自律的に動き回っていて、周囲の対象物体を観察している。図5並びに図6に示す例では、テレビ、テーブル、並びにソファーの順で配置されたリビングルームの環境マップを構築しており、ロボット装置100はこの環境マップに基づいて普段自律的に動き回っている。図5は、リビングルームを斜視した図であり、図6は、リビングルームを上から眺めた図である。ロボット装置100は、テーブルの上に置かれたテレビのリモコンを対象物体として検出し、自律的に動き回る度に観察する。そして、検出した対象物体の正しい姿勢を、物体姿勢データベース409に登録されている辞書データと照合する。ここで、実際に観察された対象物体の姿勢と物体姿勢データベース409の照合結果が異なっているときには、ロボット装置100は、その対象物体を操作又は姿勢を修正する。上記の表1を参照すると、物体姿勢データベース409の照合結果として、テーブルの上、ソファーの上、又は床の上にあるときには、ボタンが上向きであること、テレビの近くにあるときには、送信部がテレビの方向を向いていること、をリモコンの正しい姿勢として取得することができる。図6を参照すると、対象物体として検出されたリモコンは、テーブルの上にボタンを上に向けて置かれている。また、リモコンは、テレビに近いテーブルの上に置かれているが、送信部はテレビの方向から傾いて置かれている。そこで、ロボット装置100は、観察されたリモコンの姿勢がテレビの近くにあるときには、送信部がテレビの方向を向いていることという照合結果と一致しないことを検出すると、図6中の矢印で示すように、リモコンの姿勢を修正する。なお、ロボット装置100による対象物体の姿勢の修正結果が間違っているときには、ユーザーが訂正したりロボット装置100に教示したりしてもよい。また、ロボット装置100は、ユーザーから対象物体の操作を指示された場合には、当該対象物体を正しい安定した姿勢で置く。その際、当該対象物体を置く際の正しい姿勢を物体姿勢データベース409内の辞書データに照合し、その姿勢となるように当該対象物体を操作し、置く。例えば、リモコンをテレビに近いテーブル上に置くようにユーザーから指示された場合には、図5並びに図6に示した例と同様、ロボット装置100は、リモコンを、ボタンを上向きにするとともに送信部をテレビの方向に向けるように操作して、テーブルの上に置く。あるいは、マグカップをテーブルの上に持っていくようにユーザーから指示された場合には、ロボット装置100は、マグカップを立っている安定した状態に操作して、テーブルの上に置く。なお、ロボット装置100がユーザーからの指示に応じた対象物体の操作結果が間違っているときには、ユーザーが訂正したりロボット装置100に教示したりしてもよい。図7には、ロボット装置100の環境に応じた動作として、対象物体を正しいユーザーが持ち易い姿勢で手渡す様子を例示している。ロボット装置100は、ユーザーから対象物体を持ってくるように指示された場合、当該対象物体を手渡す際の正しい姿勢を、物体姿勢データベース409内の辞書データに照合する。そして、ロボット装置100は、辞書データに記述されている正しい姿勢となるように対象物体を操作してから、ユーザーに手渡す。図7には、杖を持ってくるように指示された場合の例を示している。上記の表2を参照すると、物体姿勢データベース409の照合結果として、取っ手部分がユーザー側にあることが杖の正しい姿勢として取得することができるので、ロボット装置100は、取っ手部分がユーザー側に向くように杖を操作して、ユーザーに手渡す。なお、ロボット装置100がユーザーからの指示に応じた対象物体の操作結果が間違っているときには、ユーザーが訂正したりロボット装置100に教示したりしてもよい。図5~図6からも分かるように、本実施形態に係るロボット装置100は、環境に応じた対象物体の正しい姿勢を推定し、その正しい姿勢となるように対象物体を操作し修正することにより、ユーザーにとって心地よい環境を自律的に整えることができる。また、図7からも分かるように、本実施形態に係るロボット装置100からユーザーへ対象物体の受け渡しをする際、受け渡しに最適な対象物体の姿勢を推定し、その最適な姿勢となるように対象物体を操作することにより、ユーザーとの自然なインタラクションを実現することができる。このように、ロボット装置100は、ある物体がよく置かれている姿勢を、その物体にとって最適な姿勢であるものとして学習していく。ユーザーが普段使用するため周囲に置いている物体に関して、ロボット装置100ロボット装置100は自律的に最適な姿勢の学習を行なうので、ユーザーが普段と異なる姿勢で物体を置いたとしても、ロボット装置100は、物体の姿勢を適宜修正して、ユーザーにとって心地よい環境を自律的に整えることができる。きちんと物品を整理できるユーザーは元より、肢体不自由者、障がい者、体の不自由な高齢者など、よく利用する物をあまり苦労しないで利用できるよう、身の回りの決まった位置に置いていることの多いユーザーにとって、このような物体の姿勢修正機能が特に有効である。なお、本明細書の開示の技術は、以下のような構成をとることも可能である。1周囲の環境情報からなる環境マップと、周囲の画像を入力する画像入力部と、前記画像入力部の入力画像から物体を検出する対象物体検出部と、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部と、前記物体位置検出部で検出した物体の位置の周囲の環境情報を前記環境マップから取得する環境情報取得部と、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部と、各物体の環境毎の最適な姿勢を保持する物体姿勢データベースと、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部と、前記物体姿勢検出部が検出した物体の現在の姿勢と、前記物体姿勢データベースに保持されている当該物体の最適な姿勢を比較する物体姿勢比較部と、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部と、を具備するロボット装置。2ユーザーの指示に基づくタスクを実行するタスク実行部をさらに備え、前記タスク実行部がタスクを実行していないときに、前記物体姿勢検出部による物体の現在の姿勢の検出、前記物体姿勢比較部による最適な姿勢との比較、及び、前記物体姿勢修正部による物体の姿勢の修正を自律的に行なう、上記1に記載のロボット装置。3前記ロボット装置の位置を移動する移動部をさらに備え、前記物体姿勢検出部は、前記移動部により前記ロボット装置の現在位置を移動させながら、物体の現在の姿勢の検出を行なう、上記1又は2のいずれかに記載のロボット装置。4前記最適姿勢取得部は、各物体の最適な姿勢を学習により取得して、前記物体姿勢データベースに保持する、上記1乃至3のいずれかに記載のロボット装置。5さらにユーザーから教示された各物体の最適な姿勢を前記物体姿勢データベースに保持する、上記4に記載のロボット装置。6前記画像入力部の入力画像に基づいて前記環境マップを更新する環境マップ更新部をさらに備える、上記1乃至5のいずれかに記載のロボット装置。7前記最適姿勢取得部は、ユーザーにとって心地よい環境を整える際に物体を置くのに最適な姿勢、並びにユーザーに手渡す際の物体の最適な姿勢を取得する、上記1乃至6のいずれかに記載のロボット装置。8前記環境情報取得部は、周囲の環境情報からなる環境マップから、前記物体位置検出部で検出した物体の位置の周囲の環境情報を取得する、上記1乃至7に記載のロボット装置。9前記物体姿勢比較部は、前記物体姿勢検出部が検出した物体の現在の姿勢を、各物体の環境毎の最適な姿勢を保持する物体姿勢データベースに保持されている当該物体の最適な姿勢と比較する、上記1乃至8に記載のロボット装置。10周囲の画像を入力する画像入力ステップと、前記画像入力ステップで入力した画像から物体を検出する対象物体検出ステップと、前記対象物体検出ステップで検出した物体の位置を検出する物体位置検出ステップと、周囲の環境情報からなる環境マップから、前記物体位置検出ステップで検出した物体の位置の周囲の環境情報を取得する環境情報取得ステップと、前記対象物体検出ステップで検出した物体の、前記環境情報取得ステップで取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得ステップと、各物体の環境毎の最適な姿勢を物体姿勢データベースに保持する最適姿勢保持ステップと、前記画像入力ステップで入力した画像から物体の現在の姿勢を検出する物体姿勢検出ステップと、前記物体姿勢検出ステップで検出した物体の現在の姿勢と、前記物体姿勢データベースに保持されている当該物体の最適な姿勢を比較する物体姿勢比較ステップと、前記物体姿勢比較ステップにおいて物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正ステップと、を有するロボット装置の制御方法。11周囲の環境情報からなる環境マップ、周囲の画像を入力する画像入力部、前記画像入力部の入力画像から物体を検出する対象物体検出部、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部、前記物体位置検出部で検出した物体の位置の周囲の環境情報を前記環境マップから取得する環境情報取得部、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部、各物体の環境毎の最適な姿勢を保持する物体姿勢データベース、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部、前記物体姿勢検出部が検出した物体の現在の姿勢と、前記物体姿勢データベースに保持されている当該物体の最適な姿勢を比較する物体姿勢比較部、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部、としてコンピューターを機能させるようにコンピューター可読形式で記述された、ロボット装置を制御するためのコンピュータープログラム。12それぞれ外部装置上に構築された、周囲の環境情報からなる環境マップと、各物体の環境毎の最適な姿勢を保持する物体姿勢データベースと、周囲の画像を入力する画像入力部と、前記画像入力部の入力画像から物体を検出する対象物体検出部と、前記対象物体検出部が検出した物体の位置を検出する物体位置検出部と、前記物体位置検出部で検出した物体の位置の周囲の環境情報を前記環境マップから取得する環境情報取得部と、前記対象物体検出部が検出した物体の、前記環境情報取得部が取得した周囲の環境情報に応じた最適な姿勢を取得する最適姿勢取得部と、前記画像入力部の入力画像から物体の現在の姿勢を検出する物体姿勢検出部と、前記物体姿勢検出部が検出した物体の現在の姿勢を、前記物体姿勢データベースに保持されている当該物体の最適な姿勢と比較する物体姿勢比較部と、前記物体姿勢比較部により物体の現在の姿勢と最適な姿勢に所定以上の差があるときに、物体の姿勢を修正する物体姿勢修正部と、を具備するロボット装置と、からなるロボットシステム。"