複数の関節を含むロボットアームを備えるロボットを制御して操作対象物を操作するロボット制御装置であって、前記ロボットに所望の動作をさせるための動作情報を入力する入力手段と、前記ロボットの周囲の環境情報を検出する環境情報検出手段と、前記ロボットの状態量を検出する状態検出手段と、前記入力手段により入力された動作情報と、前記環境検出手段により検出された環境情報と、に基づいて、前記ロボットアームの各関節が可動できる第1関節可動範囲を算出する関節可動範囲算出手段と、前記可動範囲算出手段により算出された第1関節可動範囲の制約下において、前記ロボットアームに関するジャコビアン行列の特異値と、前記入力手段により入力された動作情報と、をパラメータとして含む評価関数を、最小化させるための前記ロボットアームの各関節角度を算出し、該算出した各関節角度に基づいて前記ロボットの位置を算出する位置関節角度算出手段と、前記状態検出手段により検出されたロボットの状態量と、前記位置関節角度算出手段により算出された前記ロボットアームの各関節角度及びロボットの位置に基づいて、前記ロボットを制御する制御手段と、を備える、ことを特徴とするロボット制御装置。請求項1記載のロボット制御装置であって、前記ロボットアームに関するジャコビ行列は、第1特異値と、該第1特異値よりも大きな第2特異値と、を有しており、前記位置関節角度算出手段は、前記入力手段により入力された動作情報が所定方向に操作対象物を移動させる情報の場合において、前記第1特異値と前記動作情報とを含む第1評価関数を最小化するための前記ロボットアームの各関節角度を算出し、前記入力手段により入力された動作情報が操作対象物に対して所定力を付加する情報の場合において、前記第2特異値と前記動作情報とを含む第2評価関数を最小化するための前記ロボットアームの各関節角度を算出する、ことを特徴とするロボット制御装置。請求項2記載のロボット制御装置であって、前記入力手段により入力された動作情報が所定方向に操作対象物を移動させつつ所定力を加える情報である場合において、前記位置関節角度算出手段は、前記操作対象物を所定方向へ移動させることが、前記操作対象物に所定力を加えることよりも重要であるとき、前記可動範囲算出手段により算出された前記第1関節可動範囲、及び前記重要度を示す所定係数と前記第1特異値とを含む関数で表わされる第2関節可動範囲の制約下で、前記第1評価関数を最小化させるための前記ロボットアームの各関節角度を算出し、前記操作対象物に所定力を加えることが前記操作対象物を所定方向へ移動させることよりも重要であるとき、前記可動範囲算出手段により算出された前記第1関節可動範囲、及び前記重要度を示す所定係数と前記第2特異値とを含む関数で表わされる第2関節可動範囲の制約下で、前記第2評価関数を最小化させるための前記ロボットアームの各関節角度を算出する、ことを特徴とするロボット制御装置。請求項1乃至3のうちいずれか1項記載のロボット制御装置であって、前記関節可動範囲算出手段は、前記入力手段により入力された動作情報と、前記環境情報検出手段により検出された前記ロボット周囲の障害物の位置情報と、に基づいて、前記ロボットの動作範囲を算出し、該算出した動作範囲と、予め設定された前記関節機構の制約による関節の可動範囲と、に基づいて、前記第1関節可動範囲を算出する、ことを特徴とするロボット制御装置。複数の関節を含むロボットアームを備えるロボットを制御して操作対象物を操作するロボット制御装置の制御方法であって、前記ロボットに所望の動作をさせるための動作情報を入力するステップと、前記ロボットの周囲の環境情報を検出するステップと、前記ロボットの状態量を検出するステップと、前記入力された動作情報と、前記検出された環境情報と、に基づいて、前記ロボットアームの各関節が可動できる第1関節可動範囲を算出するステップと、前記算出された第1関節可動範囲の制約下において、前記ロボットアームに関するジャコビアン行列の特異値と、前記入力された動作情報と、をパラメータとして含む評価関数を、最小化させるための前記ロボットアームの各関節角度を算出し、該算出した各関節角度に基づいて前記ロボットの位置を算出するステップと、前記検出されたロボットの状態量と、前記算出されたロボットアームの各関節角度及びロボットの位置に基づいて、前記ロボットを制御するステップと、を含む、ことを特徴とするロボット制御装置の制御方法。複数の関節を含むロボットアームを備えるロボットを制御して操作対象物を操作するロボット制御装置のプログラムであって、前記ロボットに所望の動作をさせるための動作情報と、前記ロボットの周囲の環境情報と、に基づいて、前記ロボットアームの各関節が可動できる第1関節可動範囲を算出する処理と、前記算出された第1関節可動範囲の制約下において、前記ロボットアームに関するジャコビアン行列の特異値と、前記入力された動作情報と、をパラメータとして含む評価関数を、最小化させるための前記ロボットアームの各関節角度を算出し、該算出した各関節角度に基づいて前記ロボットの位置を算出する処理と、前記ロボットの状態量と、前記算出されたロボットアームの各関節角度及びロボットの位置に基づいて、前記ロボットを制御する処理と、を含む、ことを特徴とするロボット制御装置のプログラム。しかしながら、上記特許文献1に示すプログラムを用いてロボットを制御した場合、例えば、家具や壁などの障害物によりロボットの動作範囲が限定されている環境内では、その環境に応じて、操作対象物を効率良く操作することについて、十分考慮されているとは言えず、そのような操作は困難と思われる。本発明は、このような問題点を解決するためになされたものであり、ロボットの動作範囲が限定されている環境内においても、操作対象物を効率良く操作できるロボット制御装置、その制御方法及びプログラムを提供することを主たる目的とする。上記目的を達成するための本発明の一態様は、複数の関節を含むロボットアームを備えるロボットを制御して操作対象物を操作するロボット制御装置であって、前記ロボットに所望の動作をさせるための動作情報を入力する入力手段と、前記ロボットの周囲の環境情報を検出する環境情報検出手段と、前記ロボットの状態量を検出する状態検出手段と、前記入力手段により入力された動作情報と、前記環境検出手段により検出された環境情報と、に基づいて、前記ロボットアームの各関節が可動できる第1関節可動範囲を算出する関節可動範囲算出手段と、前記可動範囲算出手段により算出された第1関節可動範囲の制約下において、前記ロボットアームに関するジャコビアン行列の特異値と、前記入力手段により入力された動作情報と、をパラメータとして含む評価関数を、最小化させるための前記ロボットアームの各関節角度を算出し、該算出した各関節角度に基づいて前記ロボットの位置を算出する位置関節角度算出手段と、前記状態検出手段により検出されたロボットの状態量と、前記位置関節角度算出手段により算出された前記ロボットアームの各関節角度及びロボットの位置に基づいて、前記ロボットを制御する制御手段と、を備える、ことを特徴とするロボット制御装置である。この一態様において、前記ロボットアームに関するジャコビ行列は、第1特異値と、該第1特異値よりも大きな第2特異値と、を有しており、前記位置関節角度算出手段は、前記入力手段により入力された動作情報が所定方向に操作対象物を移動させる情報の場合において、前記第1特異値と前記動作情報とを含む第1評価関数を最小化するための前記ロボットアームの各関節角度を算出し、前記入力手段により入力された動作情報が操作対象物に対して所定力を付加する情報の場合において、前記第2特異値と前記動作情報とを含む第2評価関数を最小化するための前記ロボットアームの各関節角度を算出してもよい。この一態様において、前記入力手段により入力された動作情報が所定方向に操作対象物を移動させつつ所定力を加える情報である場合において、前記位置関節角度算出手段は、前記操作対象物を所定方向へ移動させることが、前記操作対象物に所定力を加えることよりも重要であるとき、前記可動範囲算出手段により算出された前記第1関節可動範囲、及び前記重要度を示す所定係数と前記第1特異値とを含む関数で表わされる第2関節可動範囲の制約下で、前記第1評価関数を最小化させるための前記ロボットアームの各関節角度を算出し、前記操作対象物に所定力を加えることが前記操作対象物を所定方向へ移動させることよりも重要であるとき、前記可動範囲算出手段により算出された前記第1関節可動範囲、及び前記重要度を示す所定係数と前記第2特異値とを含む関数で表わされる第2関節可動範囲の制約下で、前記第2評価関数を最小化させるための前記ロボットアームの各関節角度を算出してもよい。この一態様において、前記関節可動範囲算出手段は、前記入力手段により入力された動作情報と、前記環境情報検出手段により検出された前記ロボット周囲の障害物の位置情報と、に基づいて、前記ロボットの動作範囲を算出し、該算出した動作範囲と、予め設定された前記関節機構の制約による関節の可動範囲と、に基づいて、前記第1関節可動範囲を算出してもよい。他方、上記目的を達成するための本発明の一態様は、複数の関節を含むロボットアームを備えるロボットを制御して操作対象物を操作するロボット制御装置の制御方法であって、前記ロボットに所望の動作をさせるための動作情報を入力するステップと、前記ロボットの周囲の環境情報を検出するステップと、前記ロボットの状態量を検出するステップと、前記入力された動作情報と、前記検出された環境情報と、に基づいて、前記ロボットアームの各関節が可動できる第1関節可動範囲を算出するステップと、前記算出された第1関節可動範囲の制約下において、前記ロボットアームに関するジャコビアン行列の特異値と、前記入力された動作情報と、をパラメータとして含む評価関数を、最小化させるための前記ロボットアームの各関節角度を算出し、該算出した各関節角度に基づいて前記ロボットの位置を算出するステップと、前記検出されたロボットの状態量と、前記算出されたロボットアームの各関節角度及びロボットの位置に基づいて、前記ロボットを制御するステップと、を含む、ことを特徴とするロボット制御装置の制御方法であってもよい。さらに、上記目的を達成するための本発明の一態様は、複数の関節を含むロボットアームを備えるロボットを制御して操作対象物を操作するロボット制御装置のプログラムであって、前記ロボットに所望の動作をさせるための動作情報と、前記ロボットの周囲の環境情報と、に基づいて、前記ロボットアームの各関節が可動できる第1関節可動範囲を算出する処理と、前記算出された第1関節可動範囲の制約下において、前記ロボットアームに関するジャコビアン行列の特異値と、前記入力された動作情報と、をパラメータとして含む評価関数を、最小化させるための前記ロボットアームの各関節角度を算出し、該算出した各関節角度に基づいて前記ロボットの位置を算出する処理と、前記ロボットの状態量と、前記算出されたロボットアームの各関節角度及びロボットの位置に基づいて、前記ロボットを制御する処理と、を含む、ことを特徴とするロボット制御装置のプログラムであってもよい。本発明によれば、ロボットの動作範囲が限定されている環境内においても、操作対象物を効率良く操作できるロボット制御装置、その制御方法及びプログラムを提供することができる。以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明の一実施の形態に係るロボット制御装置の概略的なシステム構成を示すブロック図である。本実施の形態に係るロボット制御装置100は、例えば、ロボット130の動作範囲が家具や壁などで限定された環境内において、操作対象物を所望の方向に所望の速度で移動させ、操作対象物に対して所望の力を付加するような制御を効率的に実行できるものである。ロボット制御装置100は、入力装置110と、入力装置110に入力された入力情報に基づいて、制御対象であるロボット130の動作を制御する制御装置120と、を備えている。入力装置110は、入力手段の一具体例であり、例えば、ユーザがロボット130に実施させたい所望の動作を示す動作指令を入力し、その所望の動作の特徴を示す動作情報を算出し、出力する機能を有している。入力装置110は、指令入力器111と、指令演算器112と、を有している。指令入力器111は、例えば、音声入力装置、タッチパネルなどのユーザ指示が入力できる任意の装置で構成されており、ユーザが入力した動作指令を電気信号に変換し、指令演算器112に対して出力する。指令演算器112は、指令入力器111からの電気信号に基づいて、ユーザがロボット130に実施させたい所望の動作の特徴を示す動作情報例えば、操作対象物に対して所定力を付加する動作、操作対象物を所定速度で所定方向へ移動させる動作、などの情報を算出し、制御装置120に対して出力する。制御装置120は、例えば、入力装置110からの動作情報と、ロボット130からの環境情報ロボット130周囲にある障害物の位置などの情報と、に基づいて、ロボット130の各関節肩関節、肘関節、手首関節、股関節、膝関節、足首関節などの可動範囲以下、関節可動範囲と称すと、周囲の障害物などによる環境的な制約の中で、ユーザが指示する所望動作に最も近い動作を、ロボット130に動作させるためのモータ電流を演算し、ロボット130に対して出力する。制御装置120は、例えば、ASICApplicationSpecificIntegratedCircuitやプログラマブル電子システムなどとして、実現することができる。制御装置120は、関節可動範囲演算器121と、位置関節角度演算器122と、制御器123と、を有している。関節可動範囲演算器121は、関節可動範囲演算手段の一具体例であり、入力装置110の指令演算器112から出力される動作情報と、ロボット130の環境検出器131から出力される環境情報と、に基づいてロボット130の各関節の関節可動範囲を演算し、位置関節角度演算器122に対して出力する。位置関節角度演算器122は、位置関節角度演算手段の一具体例であり、関節可動範囲演算器121からの関節可動範囲と、入力装置110の指令演算器112からの動作情報と、に基づいて、ユーザがロボット130に実施させたい所望動作を実施するのに最適な、ロボット130の位置およびロボット各関節の関節角度を演算し、位置関節角度演算値として制御器123に対して出力する。制御器123は、制御手段の一具体例であり、位置関節角度演算器122からの位置関節角度演算値と、ロボット130の状態検出器134からの状態検出値ロボット130の各関節の関節角度などと、に基づいて、ロボット130に所望動作を実施させるためのモータ電流を、ロボット130に対して出力する。ロボット130は、操作対象物を操作可能なロボットアーム205を有し、制御装置120からのモータ電流に基づいて、ユーザがロボット130に実施させたい所望の動作を実施できるように構成された、例えば、移動型サーバントロボット、二足歩行ロボット、ヒューマノイド型ロボットなどである。ロボット130は、環境検出器131と、関節モータ132と、ロボット機構133と、状態検出器134と、を有している。環境検出器131は、環境情報検出手段の一具体例であり、ロボット130に搭載され、あるいは、ロボット130が動作する環境に設置された検出器例えば、超音波センサ、ミリ波センサ、カメラ、赤外線センサなどの距離センサであり、ロボット130の周囲の障害物の位置などの情報である環境情報を検出し、有線又は無線を介して制御装置120の関節可動範囲演算器121に対して出力する。関節モータ132は、ロボット機構133のロボットアーム205などに設けられた各関節に取付けられ、制御装置120の制御器123から出力されるモータ電流に従って各関節を回転駆動する。また、関節モータ132は、減速機構などを内蔵しており、駆動軸の駆動力をこの減速機構を介して関節の関節軸に伝達する。ロボット機構133は、例えば、複数のリンクと、各リンクを回転可能に連結する複数の関節と、を有する機構であり、例えば、ロボットアーム205などが含まれる。状態検出器134は、状態検出手段の一具体例であり、ロボット130に搭載され、ロボットの状態量ロボットの位置、各関節などの可動部の状態量などを検出し、状態検出値として制御装置120の制御器123に対して出力する。例えば、状態検出器134は、角度センサを用いて各関節の関節角度を検出し、トルクセンサを用いて各関節の関節トルクを検出し、姿勢センサを用いてロボット姿勢を検出し、加速度センサや速度センサを用いてロボット130の位置、移動速度、移動加速度を検出する。次に、本実施の形態に係るロボット制御装置の動作原理について、詳細に説明する。図2は、本実施の形態に係るロボットの動作を説明するための摸式図の一例である。本実施の形態に係るロボット130は、例えば、胴体であるロボット体幹部201に肩関節を介して回転可能に連結された上腕部202と、上腕部202に肘関節を介して回転可能に連結された前腕部203と、前腕部203の先端に手首関節を介して回転可能に連結され、操作対象物を操作可能なロボットハンド204と、を有するロボットアーム205を備えており、ロボット体幹部201が破線で示す予め設定された動作範囲206内側限定された環境内で動作可能となるように構成されている。まず、ロボット体幹部201の中心に対するロボットハンド204の相対的な位置は、下記1式及び2式で表される。但し、上記1式及び2式において各記号は以下のように設定されている。xE:ロボット体幹部201の中心に対するロボットハンド204のx方向相対位置m、yE:ロボット体幹部201の中心に対するロボットハンド204のy方向相対位置m、θ1:第1関節角度ロボット体幹部201と上腕部202とが成す関節角度[rad]、θ2:第2関節角度上腕部202と前腕部203とが成す関節角度[rad]、l1:第1リンク長さ上腕部202の長さm、l2:第2リンク長さ前腕部203の長さm上記1式及び2式を、ロボットアーム205に関するジャコビアン行列Jを用いて線形近似すると下記3式が求められる。上記3式より下記4式が導出される。ジャコビアン行列Jの特異値は上記4式を用いて、下記5式および6式として求められる。但し、上記5式及び6式において、σ1は第1特異値であり、σ2は第2特異値である。なお、第1特異値σ1および第2特異値σ2は、ともに0または正の実数であり、第2特異値σ2は第1特異値σ1以上となっている。特異ベクトルは上記5式および6式を用いて、下記7式および8式として求められる。但し、上記7式および8式において、c1とc2は任意の実数である。ここで、例えば、上記3式に示すような、ロボットアーム205の位置および角度を変換するジャコビアン行列の、より小さな特異値に対応した特異ベクトルの方向により、大きな速度で大きな動作をすることができることが一般的に知られている。同様に、ロボットアームの力およびトルクを変換するジャコビアン行列の、より大きな特異値に対応した特異ベクトルの方向により、大きな力を発生することができることが一般的に知られている。例えば、ChanghyunChoMunsangKimandJaeBokSongDirectControlofaPassiveHapticDeviceBasedonPassiveForceManipulabilityEllipsoidAnalysisInternationalJournalofControlAutomationandSystemsVolume2No2June2004を参照また、ロボットアームの力およびトルクを変換するジャコビアン行列は、位置と角度を変換するジャコビアン行列の転置行列であり、それぞれの特異値は逆数の関係にあることが知られている。ただし、上記文献とは変換する方向が逆であるため特異値の大小関係が逆となっている。上記ジャコビアン行列の関係を用いて、上記5式乃至8式は、ロボットハンド204が7式の示す方向により大きな速度で大きな動作をすることが可能であり、8式の示す方向により大きな力を発生することが可能であることを示していることが分かる。本願発明は、上述したようなロボットアーム205におけるジャコビアン行列の特異値の特性を、ロボット130の制御に効率的に利用したものである。以下、その制御方法について、具体例を挙げて説明する。動作範囲206の中心を原点としたカーテシアン座標系におけるロボット体幹部201の中心位置をx0、y0と表すと、動作範囲206の中心に対するロボットハンド204の位置は、例えば、下記9式および10式と表される。但し、上記9式および10式における各記号の意味は以下の通りであり、例えば、操作対象物の位置と一致するxE0、yE0は、環境検出器131により検出される。xE、yEは、上記1式及び2式で示される。x0:ロボット体幹部201の中心のx座標m、y0:ロボット体幹部201の中心のy座標m、xE0:ロボットハンド204のx座標m、yE0:ロボットハンド204のy座標m次に、ロボット体幹部201が動作範囲206の内側のみを動作できる場合において、ロボットハンド204により操作対象物Sを所望の方向に最も効果的に動かすことができるロボット体幹部201の位置およびロボットアーム205の各関節角度第1関節角度θ1及び第2関節角度θ2を導出する。動作範囲206は、例えば、下記11式のように表され、環境検出器131により検出された環境情報障害物の位置情報などに基づいて自動的に設定されてもよく、ユーザにより入力装置110を介して入力される入力情報に基づいて設定されてもよい。上記9式乃至11式を組み合わせることにより、例えば、ロボットアーム205の各関節の動作範囲の制約は下記12式として表される。但し、上記12式における各記号の意味は以下の通りである。Ωj:ロボットアーム205の各関節が可動できる第1関節可動範囲Ωjp:動作範囲206より制約されるロボットアーム205の各関節の可動範囲であり、動作範囲206に基づいて算出される。Ωm:ロボットアーム205の各関節の機構により制約される可動範囲であり、例えば、ハードウェアにより予め設定される範囲である。上記のように、ロボット130の動作範囲206、ロボットアーム205の関節機構などを総合的に考慮して、ロボットアーム205の関節可動範囲を最適に設定することができる。ロボットハンド204により操作対象物Sを第1関節可動範囲Ωj内で所望の方向に最も効果的に移動させることができるロボット体幹部201ロボット130の位置およびロボットアーム205の各関節角度は、以下のように求めることができる。まず、入力装置110の指令演算器112から出力される動作情報r1と、ジャコビアン行列Jの第1特異値σ1と、に基づいて下記13式に示す第1評価関数を、上記12式に示す第1関節可動範囲Ωjの制約下で最小化する第1関節角度θ1及び第2関節角度θ2を算出する。そして、上記9式および10式において、ロボットハンド204のx座標xE0およびy座標yE0を、操作対象物Sのx座標およびy座標として、ロボット体幹部201の中心のx座標x0およびy座標y0に関して解く。これにより、上記ロボットハンド204により操作対象物Sを所望の方向に最も効果的に動かすことができるロボット体幹部201の位置およびロボットアーム205の各関節角度を求めることができる。但し、上記13式において、動作情報r1は、例えば、操作対象物Sの所定方向への移動を表すベクトルのy成分とx成分との比である。また、r1は、入力装置110の指令入力器111から入力されたユーザの操作情報に基づいて、指令演算器112が算出する動作情報の一例である。また、上記第1評価関数I1は、ロボットアーム205のジャコビアン行列Jの第1特異値σ1と、動作情報r1と、をパラメータとして含んでいる。同様に、ロボットハンド204により操作対象物Sに対して所望の方向に最も効果的に力を加えることができるロボット体幹部201の位置およびロボットアーム205の各関節角度は、以下のようにして求めることができる。まず、入力装置110の指令演算器112から出力される動作情報r2と、ジャコビアン行列Jの第2特異値σ2と、に基づいて下記14式の第2評価関数を上記12式の第1関節可動範囲Ωjに対して最小化する第1関節角度θ1及び第2関節角度θ2を算出する。そして、上記9式および10式において、ロボットハンド204のx座標xE0およびy座標yE0を、操作対象物Sのx座標およびy座標として、ロボット体幹部201の中心のx座標x0およびy座標y0に関して解く。これにより、上記ロボットハンド204により操作対象物Sに対して所望の方向に最も効果的に力を加えることができるロボット体幹部201の位置およびロボットアーム205の各関節角度を求めることができる。但し、上記14式において、動作情報r2は、例えば、操作対象物Sに加える所定力を表すベクトルのy成分とx成分の比である。また、r2は、入力装置110の指令入力器111から入力されたユーザの操作情報に基づいて、指令演算器112が算出する動作情報の一例である。上記第2評価関数は、ロボットアーム205のジャコビアン行列Jの第2特異値σ2と、動作情報r2と、をパラメータとして含んでいる。また、操作対象物Sを所定方向へ移動させることが、操作対象物Sに所定力を付加することよりもd1倍d1≧1重要である場合、上記12式に示す第1関節可動範囲Ωjの制約条件に、下記15式に示す第2関節可動範囲Ωr1の制約条件を加え、上記13式に示す第1評価関数を最小化することにより、ロボット体幹部201の位置およびロボットアーム205の各関節角度を求める。なお、d1は、例えば、操作対象物Sを所定方向へ移動させることの重要度を示す所定係数であり、ユーザが入力装置110を介して関節可動範囲演算器121に任意に設定できる。また、第2関節可動範囲Ωr1は、上記4式及び5式により導出され、所定係数d1を含む関数となっている。同様に、操作対象物Sに所定力を付加することが、操作対象物Sを所定方向へ移動させることよりもd2倍d2≧1重要である場合、上記12式に示す第1関節可動範囲Ωjの制約条件に下記16式に示す第2関節可動範囲Ωr2の制約条件を加え、上記14式に示す第2評価関数を最小化することにより、ロボット体幹部201の位置およびロボットアーム205の各関節角度を求める。なお、なお、d2は、例えば、操作対象物Sに所定力を付加することの重要度を示す所定係数であり、ユーザが入力装置110を介して関節可動範囲演算器121に任意に設定できる。また、第2関節可動範囲Ωr2は、上記4式及び6式より導出され、所定係数d2を含む関数となっている。以上のように、第1関節可動範囲の制約に加えて、第2関節可動範囲の制約を加えることで、ロボット130の操作内容の重要度に応じた最適なロボットアーム205の関節可動範囲を設定することができる。次に、上述したロボット体幹部201の位置およびロボットアーム205の各関節角度を求める演算処理について、より具体的に説明する。A図2に示すような動作範囲206の内側を移動できるロボット130が、ロボットアーム205の先端に設けられたロボットハンド204を用いて、操作対象物Sを所定方向へ移動させる作業を行う場合を想定する。このようなロボットハンド204を用いて操作対象物Sを移動させる作業として、例えば、家具と壁の間で掃除機操作対象物を移動させて掃除を行う作業などが該当する。この場合、関節可動範囲演算器121は、上記12式を用いて第1関節可動範囲Ωjを算出する。また、位置関節角度演算器122は、関節可動範囲演算器121により算出された第1関節可動範囲Ωjの制約条件の下で、ジャコビアン行列Jの第1特異値σ1と、入力装置110の指令演算器112からの動作情報r1と、に基づいて上記第1評価関数13式を最小化するように、第1関節角度θ1および第2関節角度θ2を算出する。そして、位置関節角度演算器122は、上記9式および10式において、ロボットハンド204のx座標xE0およびy座標yE0を、操作対象物Sのx座標およびy座標として、ロボット体幹部201の中心のx座標x0およびy座標y0に関して解く。このようにして、操作対象物Sを所望の方向に最も効果的に移動させることができるロボット体幹部201の位置およびロボットアーム205の各関節角度を算出することができる。B図2に示すような動作範囲206の内側を移動できるロボット130が、ロボットアーム205の先端に設けられたロボットハンド204を用いて、所定方向に操作対象物Sに対して所定力を付加する作業を行う場合を想定する。このようなロボットハンド204を用いて操作対象物Sに対して所定力を付加する作業として、例えば、風で動く扉をその位置に保持する作業などが該当する。この場合、関節可動範囲演算器121は、上記12式を用いて第1関節可動範囲Ωjを算出する。また、位置関節角度演算器122は、関節可動範囲演算器121により算出された第1関節可動範囲Ωjの制約条件の下で、ジャコビアン行列Jの第2特異値σ2と、入力装置110の指令演算器112からの動作情報r2と、に基づいて上記第2評価関数14式を最小化するように第1関節角度θ1および第2関節角度θ2を算出する。そして、位置関節角度演算器122は、上記9式および10式において、ロボットハンド204のx座標xE0およびy座標yE0を、操作対象物Sのx座標およびy座標として、ロボット体幹部201の中心のx座標x0およびy座標y0に関して解く。このようにして、操作対象物Sを所望の方向に最も効果的に力を加えることができるロボット体幹部201の位置およびロボットアーム205の各関節角度を算出することができる。C図2に示すような動作範囲206の内側を移動できるロボット130が、ロボットアーム205の先端に設けられたロボットハンド204を用いて、所定方向に操作対象物Sを移動させつつ、操作対象物Sに所定力を付加する作業を行う場合であって、所定方向へ移動させることが所定力を付加することよりもd1倍重要となる作業を行う場合を想定する。このような操作対象物Sを移動させつつ力も加えなければならない作業としては、例えば、事故車やがれきの中から人を救出する作業などが該当する。この場合、関節可動範囲演算器121は、上記12式を用いて第1関節可動範囲Ωjおよび上記15式を用いて第2関節可動範囲Ωr1を算出する。また、位置関節角度演算器122は、関節可動範囲演算器121により算出された第1関節可動範囲Ωjおよび第2関節可動範囲Ωr1の制約条件の下で、ジャコビアン行列Jの第1特異値σ1と、入力装置110の指令演算器112からの動作情報r1と、に基づいて上記第1評価関数13式を最小化するように第1関節角度θ1および第2関節角度θ2を算出する。そして、位置関節角度演算器122は、上記9式および10式において、ロボットハンド204のx座標xE0およびy座標yE0を、操作対象物Sのx座標およびy座標として、ロボット体幹部201の中心のx座標x0およびy座標y0に関して解く。このようにして、操作対象物Sを所望の方向に最も効果的に移動させ力を加えることができるロボット体幹部201の位置およびロボットアーム205の各関節角度を算出することができる。D図2に示すような動作範囲206の内側を移動できるロボット130が、ロボットアーム205の先端に設けられたロボットハンド204を用いて、所定方向に操作対象物Sを移動させつつ、操作対象物Sに所定力を付加する作業を行う場合であって、所定力を付加することが所定方向へ移動させることよりもd2倍重要となる作業を行う場合を想定する。この場合、関節可動範囲演算器121は、上記12式を用いて第1関節可動範囲Ωjおよび上記16式を用いて第2関節可動範囲Ωr2を算出する。また、位置関節角度演算器122は、関節可動範囲演算器121により算出された第1関節可動囲Ωjおよび第2関節可動範囲Ωr2の制約条件の下で、ジャコビアン行列Jの第2特異値σ2と、入力装置110の指令演算器112からの動作情報r2と、に基づいて上記第2評価関数14式を最小化するように第1関節角度θ1および第2関節角度θ2を算出する。そして、位置関節角度演算器122は、上記9式および10式において、ロボットハンド204のx座標xE0およびy座標yE0を、操作対象物Sのx座標およびy座標として、ロボット体幹部201の中心のx座標x0およびy座標y0に関して解く。このようにして、操作対象物Sを所望の方向に最も効果的に移動させ力を加えることができるロボット体幹部201の位置およびロボットアーム205の各関節角度を算出することができる。上記C及びDのように、操作対象物Sを移動させつつ力も付加しなければならない作業に対しては、上記12式に示す第1関節可動範囲Ωjの制約条件だけでなく、上記15式に示す第2関節可動範囲Ωr1または16式に示す第2関節可動範囲Ωr2の制約条件を加味した関節可動範囲を用いることにより、ロボット130は作業に最も適した姿勢および位置で作業することができる。上述したように、ロボット130の動作範囲206、ロボットアーム205の関節機構など加味して関節可動範囲を最適に設定し、ロボットアーム205のジャコビアン行列の特異値による特性を反映した評価関数を用いてロボットアーム205の各関節角度を算出することで、ロボット130の動作範囲が限定されている環境においても、操作対象物205を効率良く操作できる。次に、本実施の形態に係るロボット制御装置を用いて行ったシミュレーション結果について説明する。本シミュレーションにおいて、各パラメータには、例えば、下記数値が設定されている。なお、下記設定された数値は、例えば、家事手伝いをするモービルサーバントロボットの現実的な数値の一例である。l1=0.5m、l2=0.5m、r1=tanπ/4、r2=tanπ/4、xE0=0.1m、yE0=1.2m、θ1min=0[rad]、θ1max=2π[rad]、θ2min=0[rad]、θ2max=3π/4[rad]さらに、本シミュレーションにおいて、ロボット130は半径1mの円で示す動作範囲206の内側を自由に移動することができ、その円の中心を原点としたカーテシアン座標系においてx方向に0.1m、y方向に1.2mの位置にある操作対象物Sを操作する作業を実施する場合を模擬している。図3は、本シミュレーションにおいてロボット制御装置の制御装置の位置関節角度演算器が用いる第1評価関数を示す図である。なお、図3において、細線のメッシュは関節可動範囲Ωjを示し、太線のメッシュは関節可動範囲外の領域を示し、大きな点は第1評価関数I1を最小化する第1関節角度θ1と第2関節角度θ2を示している。図3に示すように、操作対象物Sをπ/4[rad]の方向へ移動させるのに最適な姿勢は、第1関節角度θ1が0[rad]であり、かつ第2関節角度θ2が略2.12[rad]であることを示している。図4は、本シミュレーションにおいて、ロボット制御装置の制御装置の位置関節角度演算器が用いる第1評価関数を最小化した場合のロボットの位置及び姿勢を示す図である。なお、図4において、破線は操作対象物Sの所望の移動方向を示している。図4に示しように、ロボット体幹部201はx方向に略-0.14m、y方向に略0.77mの位置に移動し、ロボット130は操作対象物Sを所望の方向に移動させるのに適した姿勢となっていることが分かる。図5は、本シミュレーションにおいてロボット制御装置の制御装置の位置関節角度演算器が用いる第2評価関数を示す図である。なお、図5において、細線のメッシュは関節可動範囲Ωjを示し、太線のメッシュは関節可動範囲外の領域を示し、大きな点は第2評価関数I2を最小化する第1関節角度θ1と第2関節角度θ2を示している。図5に示すように、操作対象物Sに対してπ/4[rad]の方向へ力を加えるのに最適な姿勢は、第1関節角度θ1が略0.38[rad]であり、第2関節角度θ2が略0.57[rad]であることを示している。図6は、本シミュレーションにおいて、ロボット制御装置の制御装置の位置関節角度演算器が用いる第2評価関数を最小化した場合のロボットの位置及び姿勢を示す図である。図6において、破線は操作対象物Sに付加する力の所望方向を示している。ロボット体幹部201はx方向に略-0.66m、y方向に略0.61mの位置に移動し、ロボットは操作対象物Sに対して力を加えるのに適した姿勢となっていることが分かる。以上、本実施の形態に係るロボット制御装置100において、ロボット130の動作情報、及び環境情報に基づいた第1関節可動範囲を算出し、算出された第1関節可動範囲の制約下において、ロボットアームのジャコビアン行列における特異値と動作情報とをパラメータとして含む評価関数を最小化させるためのロボットアームの各関節角度を算出し、算出した各関節角度に基づいてロボットの位置を算出する。これにより、ロボット130の動作範囲206、ロボットアーム205の関節機構など加味してロボットアーム205の関節可動範囲を最適に設定でき、ロボットアーム205のジャコビアン行列の特異値による特性を反映した評価関数を用いて操作対象物を効率良く操作できるロボットアーム205の各関節角度を算出することができる。すなわち、ロボット130の動作範囲が限定されている環境においても、操作対象物Sを効率良く操作できる。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記一実施の形態において、ロボットアーム205で平面的に操作対象物Sを操作する作業について説明したが、上記1式及び2式を3次元の動作を表す式に置き換えることにより、ロボット130の全身を使って3次元的に操作対象物Sを操作する作業にも適用することが可能である。上記実施形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、例えば、制御装置120が実行する処理を、CPUにコンピュータプログラムを実行させることにより実現することも可能である。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体nontransitorycomputerreadablemediumを用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体tangiblestoragemediumを含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ、光磁気記録媒体例えば光磁気ディスク、CD-ROMReadOnlyMemory、CD-R、CD-R/W、半導体メモリ例えば、マスクROM、PROMProgrammableROM、EPROMErasablePROM、フラッシュROM、RAMrandomaccessmemoryを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体transitorycomputerreadablemediumによってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。