"人体に外力を与える外力付与手段と、人体の運動情報を検出する運動情報検出部と、人体に特定の仮想環境を与えるために前記運動情報を利用して前記外力を算出する外力算出部と、前記外力算出部により算出された外力が人体に与えられるように前記外力付与手段を制御する制御部と、を備えたことを特徴とする仮想環境付与装置。請求項1に記載の仮想環境付与装置において、前記仮想環境を設定可能な仮想環境設定手段をさらに備えたことを特徴とする仮想環境付与装置。請求項1又は請求項2に記載の仮想環境付与装置において、前記運動情報検出部は、前記運動情報として、人体における所定の部位が回転又は並進したときの位置、速度及び加速度のうちの少なくとも一つを検出することを特徴とする仮想環境付与装置。請求項1~請求項3のいずれか一項に記載の仮想環境付与装置において、前記運動情報検出部は、前記運動情報として、人体における所定の部位が回転又は並進したときの位置、速度及び加速度のいずれか一つを検出するとともに、当該検出された運動情報を利用して他の運動情報を推定することを特徴とする仮想環境付与装置。請求項1~請求項4のいずれか一項に記載の仮想環境付与装置において、前記外力算出部は、前記運動情報を利用して、水中環境で人体に与えられる浮力、流体抗力及び付加慣性力のうちの少なくとも一つを前記外力として算出するとともに、前記制御部は、人体に対して水中環境を与えるために前記外力付与手段を制御することで人体に前記外力を与えることを特徴とする仮想環境付与装置。請求項1~請求項4のいずれか一項に記載の仮想環境付与装置において、前記外力算出部は、前記運動情報を利用して重力、慣性力、遠心力、コリオリ力のうちの少なくとも一つを前記外力として算出するとともに、前記制御部は、人体に対して人体の質量が増減した感覚を与えるために前記外力付与手段を制御することで人体に前記外力を与えることを特徴とする仮想環境付与装置。請求項6に記載の仮想環境付与装置において、前記制御部は、人体の手又は足に所定の質量が付加された感覚を与えるために前記外力付与手段を制御することで人体の手又は足に外力を与えることを特徴とする仮想環境付与装置。請求項7に記載の仮想環境付与装置において、前記制御部は、人体に与えられる外力としての重力の方向を仮想的に変えるように前記外力付与手段を制御することを特徴とする仮想環境付与装置。請求項1~請求項8のいずれか一項に記載の仮想環境付与装置において、前記外力付与手段は、人体の関節軸周りに前記外力としてトルクを与えることを特徴とする仮想環境付与装置。請求項1~請求項8のいずれか一項に記載の仮想環境付与装置において、前記外力付与手段は、人体の手又は足に前記外力として並進力又はトルクを与えることを特徴とする仮想環境付与装置。請求項1~請求項8のいずれか一項に記載の仮想環境付与装置において、前記外力付与手段は、人体の関節軸周りに前記外力としてトルクを与えるとともに、人体の先端部位に前記外力として並進力又はトルクを与えることを特徴とする仮想環境付与装置。請求項1~請求項11のいずれか一項に記載の仮想環境付与装置において、前記外力付与手段の動作情報を検出する動作検出手段を備え、前記外力算出部は、前記動作情報を利用して生成される前記外力付与手段の特性を除去して前記外力を算出することを特徴とする仮想環境付与装置。請求項1~請求項11のいずれか一項に記載の仮想環境付与装置において、前記外力付与手段により発生した外力を検出する外力検出手段を備え、前記外力算出部は、特定の仮想環境を人体に与えるために必要な外力と、前記外力検出手段により検出された外力との偏差に基づいて外力を算出することを特徴とする仮想環境付与装置。請求項1~請求項13のいずれか一項に記載の仮想環境付与装置において、前記外力付与手段は電磁モータであることを特徴とする仮想環境付与装置。請求項2~請求項14のいずれか一項に記載の仮想環境付与装置において、前記仮想環境付与装置を使用者が使用している状態において、前記仮想環境の設定を前記仮想環境設定手段により切替可能であることを特徴とする仮想環境付与装置。請求項2~請求項15のいずれか一項に記載の仮想環境付与装置において、前記外力の向きを前記仮想環境設定手段により設定可能であることを特徴とする仮想環境付与装置。請求項2~請求項16のいずれか一項に記載の仮想環境付与装置において、前記外力の大きさを前記仮想環境設定手段により設定可能であることを特徴とする仮想環境付与装置。請求項2~請求項17のいずれか一項に記載の仮想環境付与装置において、前記外力を前記仮想環境設定手段により追加及び削除可能であることを特徴とする仮想環境付与装置。請求項2~請求項18のいずれか一項に記載の仮想環境付与装置において、前記運動情報として検出された人体における所定の部位が回転又は並進したときの位置に応じて、前記外力の向きの設定、前記外力の大きさの設定、及び前記外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることを特徴とする仮想環境付与装置。請求項2~請求項19のいずれか一項に記載の仮想環境付与装置において、前記運動情報として検出された人体における所定の部位が回転又は並進したときの速度に応じて、前記外力の向きの設定、前記外力の大きさの設定、及び前記外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることを特徴とする仮想環境付与装置。請求項2~請求項20のいずれか一項に記載の仮想環境付与装置において、前記運動情報として検出された人体における所定の部位が回転又は並進したときの加速度に応じて、前記外力の向きの設定、前記外力の大きさの設定、及び前記外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることを特徴とする仮想環境付与装置。請求項2~請求項21のいずれか一項に記載の仮想環境付与装置において、前記仮想環境付与装置を使用者が使用している時間の経過に応じて、前記外力の向きの設定、前記外力の大きさの設定、及び前記外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることを特徴とする仮想環境付与装置。請求項2~請求項22のいずれか一項に記載の仮想環境付与装置において、人体が前記仮想環境付与装置に加えた外力に応じて、人体に与えられる外力の向きの設定、人体に与えられる外力の大きさの設定、及び人体に与えられる外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることを特徴とする仮想環境付与装置。しかしながら、特許文献1の装着式動作補助装置では、表面筋電位を検出するために、筋電位センサを装着者の皮膚表面に直接貼り付けなければならない。よって、例えば、装着式動作補助装置を長時間使用する場合、皮膚表面に対する筋電位センサの貼着位置がずれてしまう等、筋電位センサにおける表面筋電位の検出条件が異なってしまうことがあり、人体が同じ表面筋電位を出力していたとしても、筋電位センサによる再現性のある表面筋電位の検出ができなくなってしまう。その結果、表面筋電位に基づいて各駆動モータに供給する駆動電流を正確に求めることができず、駆動モータの駆動にばらつきが生じてしまい、アシスト力を装着者に対して正確に付与することができなくなってしまう虞がある。本発明は、上記課題を解決するためになされたものであって、その目的は、人体に外力を正確に与えることができる仮想環境付与装置を提供することにある。上記課題を解決するために、本発明の仮想環境付与装置は、人体に外力を与える外力付与手段と、人体の運動情報を検出する運動情報検出部と、人体に特定の仮想環境を与えるために前記運動情報を利用して前記外力を算出する外力算出部と、前記外力算出部により算出された外力が人体に与えられるように前記外力付与手段を制御する制御部と、を備えたことを特徴とする。この仮想環境付与装置において、前記仮想環境を設定可能な仮想環境設定手段をさらに備えたことが好ましい。この仮想環境付与装置において、前記運動情報検出部は、前記運動情報として、人体における所定の部位が回転又は並進したときの位置、速度及び加速度のうちの少なくとも一つを検出することが好ましい。この仮想環境付与装置において、前記運動情報検出部は、前記運動情報として、人体における所定の部位が回転又は並進したときの位置、速度及び加速度のいずれか一つを検出するとともに、当該検出された運動情報を利用して他の運動情報を推定することが好ましい。この仮想環境付与装置において、前記外力算出部は、前記運動情報を利用して、水中環境で人体に与えられる浮力、流体抗力及び付加慣性力のうちの少なくとも一つを前記外力として算出するとともに、前記制御部は、人体に対して水中環境を与えるために前記外力付与手段を制御することで人体に前記外力を与えることが好ましい。この仮想環境付与装置において、前記外力算出部は、前記運動情報を利用して重力、慣性力、遠心力、コリオリ力のうちの少なくとも一つを前記外力として算出するとともに、前記制御部は、人体に対して人体の質量が増減した感覚を与えるために前記外力付与手段を制御することで人体に前記外力を与えることが好ましい。この仮想環境付与装置において、前記制御部は、人体の手又は足に所定の質量が付加された感覚を与えるために前記外力付与手段を制御することで人体の手又は足に外力を与えることが好ましい。この仮想環境付与装置において、前記制御部は、人体に与えられる外力としての重力の方向を仮想的に変えるように前記外力付与手段を制御することが好ましい。この仮想環境付与装置において、前記外力付与手段は、人体の関節軸周りに前記外力としてトルクを与えることが好ましい。この仮想環境付与装置において、前記外力付与手段は、人体の手又は足に前記外力として並進力又はトルクを与えることが好ましい。この仮想環境付与装置において、前記外力付与手段は、人体の関節軸周りに前記外力としてトルクを与えるとともに、人体の先端部位に前記外力として並進力又はトルクを与えることが好ましい。この仮想環境付与装置において、前記外力付与手段の動作情報を検出する動作検出手段を備え、前記外力算出部は、前記動作情報を利用して生成される前記外力付与手段の特性を除去して前記外力を算出することが好ましい。この仮想環境付与装置において、前記外力付与手段により発生した外力を検出する外力検出手段を備え、前記外力算出部は、特定の仮想環境を人体に与えるために必要な外力と、前記外力検出手段により検出された外力との偏差に基づいて外力を算出することが好ましい。この仮想環境付与装置において、前記外力付与手段は電磁モータであることが好ましい。この仮想環境付与装置において、前記仮想環境付与装置を使用者が使用している状態において、前記仮想環境の設定を前記仮想環境設定手段により切替可能であることが好ましい。この仮想環境付与装置において、前記外力の向きを前記仮想環境設定手段により設定可能であることが好ましい。この仮想環境付与装置において、前記外力の大きさを前記仮想環境設定手段により設定可能であることが好ましい。この仮想環境付与装置において、前記外力を前記仮想環境設定手段により追加及び削除可能であることが好ましい。この仮想環境付与装置において、前記運動情報として検出された人体における所定の部位が回転又は並進したときの位置に応じて、前記外力の向きの設定、前記外力の大きさの設定、及び前記外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることが好ましい。この仮想環境付与装置において、前記運動情報として検出された人体における所定の部位が回転又は並進したときの速度に応じて、前記外力の向きの設定、前記外力の大きさの設定、及び前記外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることが好ましい。この仮想環境付与装置において、前記運動情報として検出された人体における所定の部位が回転又は並進したときの加速度に応じて、前記外力の向きの設定、前記外力の大きさの設定、及び前記外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることが好ましい。この仮想環境付与装置において、前記仮想環境付与装置を使用者が使用している時間の経過に応じて、前記外力の向きの設定、前記外力の大きさの設定、及び前記外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることが好ましい。この仮想環境付与装置において、人体が前記仮想環境付与装置に加えた外力に応じて、人体に与えられる外力の向きの設定、人体に与えられる外力の大きさの設定、及び人体に与えられる外力の追加と削除のうちの少なくとも一つを前記仮想環境設定手段により行うことが可能であることが好ましい。本発明によれば、人体に外力を正確に与えることができる。第1の実施形態以下、本発明を具体化した第1の実施形態を図面に従って説明する。図1aに示すように、仮想環境付与装置10は、例えば12本のフレーム11を組み立てることで区画形成される空間12を有するとともに、空間12内には人Pが着座可能な座席13が設けられている。また、仮想環境付与装置10にはエンコーダ14が内蔵された外力付与手段としての電磁モータ15が複数本実施形態では6つ設けられている。各電磁モータ15は減速機図示せずを介してプーリ図示せずに接続されている。各プーリにはワイヤ16の一端が巻回されるとともに、ワイヤ16の他端が人Pの手首に取り付けられたワイヤ接点17に接続されることで、ワイヤ接点17から複数のワイヤ16が放射状に延びるように設けられている。そして、各電磁モータ15の駆動により減速機を介してプーリを回転させることで各ワイヤ16が巻き取られるとともに、各電磁モータ15の駆動力で各ワイヤ16に張力を発生させることで人Pの手に外力として並進力又はトルクを与えるようになっている。ここで、本実施形態において、手とは手首から指先にかけての部位のことをいう。次に、仮想環境付与装置10の電気的構成について説明する。図1bに示すように、仮想環境付与装置10のCPU20は、各種プログラムやマップ等を予め記憶した読出専用メモリROM、CPU20の演算結果等を一時記憶するランダムアクセスメモリRAM、タイマカウンタ、入力インターフェース、出力インターフェース等を備えたマイクロコンピュータを中心に構成されている。CPU20は、人体の運動情報を検出する運動情報検出部21と、人体における所定の部位本実施形態では手に与える外力を算出する外力算出部22と、算出された外力が人体における所定の部位に与えられるように電磁モータ15の駆動を制御する制御部23とを有している。CPU20は、エンコーダ14により計測される電磁モータ15の回転角度の計測信号を受信するとともに、当該計測信号を利用して運動情報検出部21が人体の運動情報を検出するようになっている。また、仮想環境付与装置10には、仮想環境を設定可能な仮想環境設定手段としての設定部24が設けられている。ここで、仮想環境とは、人体が仮想的に特定の運動をしているような人体の動的な環境や、人体が仮想的に特定の姿勢を静止した状態で維持しているような人体の静的な環境のことをいう。次に、上記構成の仮想環境付与装置10の作用について説明する。尚、本実施形態では、使用者により設定部24が操作されたことで、人Pの手で仮想的にダンベルを握ったような仮想環境になるように仮想環境付与装置10が設定されたとする。ここで、エンコーダ14により計測される電磁モータ15の回転角度をθ、減速機の減速比をnとすると、プーリの回転角はθ/nとなる。プーリの半径をrとすると、ワイヤ16の長さLは式1のようにエンコーダ14の計測値θから算出することができる。なお、ワイヤ16の初期値をL0とする。エンコーダ14は、ワイヤ16の初期値L0からの相対変化を計測することができる。そして、各エンコーダ14により全てのワイヤ16の長さLが計測されると、運動情報検出部21は、これら全てのワイヤ16の長さLに基づいて、パラレルワイヤ駆動システムの順運動学計算により、人体の運動情報として、人体に対するワイヤ16の取り付け位置人Pの手が回転又は並進したときの位置情報を検出する。また、運動情報検出部21は、検出された位置情報から他の運動情報を推定することができる。例えば、運動情報検出部21は、位置情報を表す検出値に対して数値微分を行うことで人Pの手が回転又は並進したときの速度情報を推定することができる。さらに、運動情報検出部21は、算出された速度情報を数値微分することで加速度情報を推定することができる。ここで、数値微分を行う際には、ノイズ等が発生するため、より真値に近い運動情報を検出するためには、ローパスフィルタ等でフィルタリング処理をすることが望ましい。そして、外力算出部22は、運動情報検出部21により検出された位置情報、速度情報及び加速度情報に基づいて、重力、慣性力、遠心力、コリオリ力のうちの少なくとも一つを外力として算出する。ここでは、身体運動のダイナミクスについて考える。一般に剛体リンクのダイナミクスは、関節トルクベクトルτ、関節変位ベクトルqを用いて式2のように記述することができる。Mは慣性行列、hは遠心力及びコリオリ力項、gは重力項であり、どれも人体の各リンクの質量が含まれる。例えば、人Pの手に与える外力としてのトルクをτextとし、人体が能動的に発生するトルクをτanとすると、元々の人体の慣性行列、遠心力及びコリオリ力項、重力項との関係は式3のようになり、また、トルクτextは式4にて算出できる。ここで、αは、人体の粘弾性などの剛体リンクモデル以外のダイナミクス成分とする。また、Jqは人Pの手の位置と関節位置とに関するヤコビ行列を表す。ヤコビ行列は、人体の幾何学的な情報関節角度やリンクの長さで算出することができ、関節角度の関数となる。fは人Pの手に加わる力ベクトルであり、最大6次元並進3次元、回転3次元のベクトルである。式4は手先の力と各関節トルクとの関係を示している。ここで、図2に示すようなxyの2次元平面内の2関節のリンクについて考える。人体の手首に対するワイヤ16の取り付け座標をX,Yとすると、人Pの腕に対する逆運動学計算により肩関節角度θ1、肘関節角度θ2を算出することができる。この場合、ヤコビ行列は式5のようになる。ただし、l1は第1リンク長さ、l2は第2リンク長さ、S1、S12、C1、C12はそれぞれsinθ1、sinθ1θ2、cosθ1、cosθ1θ2を表す。このとき、手先の力ベクトルfは、fx、fyの2成分になる。仮想的に手先に質量を付加する場合、fyマイナス方向に外力を生成すればよい。そして、外力算出部22は、式6にてfx、fyを算出する。このように算出された手先の力ベクトルfが作用するように、制御部23が電磁モータ15の駆動を制御する。すると、人Pの手に質量mの物体重力が仮想的に付加されるとともに、人Pの手で仮想的にダンベルを握ったような仮想環境を与えることができる。次に、本実施形態の特徴的な作用効果を記載する。1運動情報検出部21は、人体における所定の部位本実施形態では手が回転又は並進したときの位置情報を検出するとともに、外力算出部22は、検出された位置情報に基づいて特定の仮想環境を与えるために人体に与えるべき外力を算出する。そして、算出された外力に基づいて電磁モータ15を駆動することで、例えば、人体の手に質量mの物体重力が付加されたような感覚を与えることができる。よって、背景技術のように、表面筋電位のような生体信号を利用して駆動モータが人体に与える外力を算出する場合に比べて、人体の目に見える運動情報を利用することで、精度良く外力を算出することができる。その結果、電磁モータ15の駆動にばらつきが生じてしまうことが無く、人体に外力を正確に与えることができる。2背景技術では、装着者にアシスト力を付与する駆動モータを制御するために、筋電位センサにより装着者の表面筋電位を検出する必要がある。人体は一つの関節を動かす際に複数の筋肉が活動することから、一つの関節を動かすために複数の表面筋電位が必要となり、筋電位センサにより検出される表面筋電位の情報が多くなることで制御が複雑化する。しかし、本実施形態では、人体の運動情報のみを利用して、人体に外力を付与する電磁モータ15を制御しているため、背景技術に比べて制御を簡素化することができる。3使用者は、設定部24を操作するだけで、自分の所望する仮想環境になるように仮想環境付与装置10を設定することができるため使い勝手が良い。例えば、人Pの手に付加された仮想的な質量の大きさを所望の大きさに変更する際には、設定部24を操作する。すると、人Pの手に付加された仮想的な質量が所望の大きさになるように、外力算出部22が人Pの手に与えられる外力を算出し、算出された外力に基づいて制御部23が電磁モータ15を制御することで、人Pの手に所望の外力を付与することができる。4運動情報検出部21は、検出された位置情報から他の運動情報を推定することができる。よって、位置情報、速度情報及び加速度情報を検出するためのセンサをそれぞれ別途設ける必要が無く、安価なシステムで運動情報を検出することができる。また、位置情報、速度情報及び加速度情報を同時に得ることができるため、外力算出部22により線形又は非線形な外力を複数算出することができ、より多彩な外力を人体に与えることができる。5人Pの手に仮想的な質量を付加した感覚を与えることで、例えば、人Pの手で仮想的にダンベルを握った感覚を得ることができ、トレーニングやリハビリをすることができる。第2の実施形態以下、本発明を具体化した第2の実施形態を図3~図6にしたがって説明する。尚、以下に説明する実施形態では、既に説明した第1の実施形態と同一構成について同一符号を付すなどして、その重複する説明を省略又は簡略する。図3に示す仮想環境付与装置30は、外骨格型で、且つ装着型の装置構成とされ、その仮想環境付与装置30を人Pの腕に取り付けることにより、肘関節軸周りに外力としてトルクを与えるようになっている。そして、第2の実施形態では、使用者に設定部24が操作されたことで、人Pが仮想的に水中環境で運動しているかのような仮想環境になるように仮想環境付与装置30が設定されたとする。なお、以下においては、人体の肘1軸を対象に説明する。ここで、人Pが仮想的に水中環境で運動している状態とは、人体が水中で仮想的に特定の運動をしているような人体の動的な環境や、人体が水中で仮想的に特定の姿勢を静止した状態で維持しているような人体の静的な環境のことをいう。一般に、人体が水中で運動している場合の運動情報と関節トルクとの関係、つまり流体ダイナミクスを求めることは容易ではない。人体が水中で運動している場合、人体の部位が3次元的に簡単でない形状をしていることや、人体の皮膚や筋肉が変形しながら動作することや、体毛の影響などがあったりすることで、厳密に正確なダイナミクスを求めるのは困難である。そこで、ここでは人Pの腕を剛体と仮定するとともに、前腕と手とが一体となって動作する円柱形状であると仮定して流体ダイナミクスを求める。流体ダイナミクスとしては、付加慣性力、流体抗力及び浮力の3つの項について考える。ここでは、人体に外力としてトルクを与えるため、関節軸周りの流体ダイナミクスを算出する必要がある。まず、付加慣性力について説明する。図4に示すように、一般に物体が流体中で運動する場合、周囲の流体を動かすための余分な力が必要になる。これは、物体の質量があたかも増加したかのように影響するためである。この質量増加は付加慣性と呼ばれ、物体の形状に依存する。この実施形態では、図5に示すように、人Pの腕前腕及び手を円柱形状に近似して、図3において矢印で示すように、肘関節にトルクを与え、肘関節を駆動するために、この円柱形状がx方向、またはy方向に動作することを想定している。このとき、付加慣性Maddは式7のように表せる。なお、ρは流体の密度である。これは、並進動作に関する付加慣性力であるが、想定している人体の動作は、回転運動であるため、付加慣性力をトルクに換算する必要がある。そのため、図6に示すように、人Pの腕をm個の微小要素に分割して考える。微小要素の長さをdlとすると、関節中心位置から第i番目の微小要素までの長さは、式9にて算出される。第i要素に加わる力をFaddiとすると、第i要素に加わるトルクτaddiは式10にて算出される。ただし、viは第i番目で発生する流速である。流速は関節運動によって生じるとすると、第i要素の流速は式11のように関節角速度で表すことができる。式11の両辺を時間微分すると、式12のように加速度の関係が求められる。腕全体に加わる付加慣性力によるトルクτaddは、微小要素に加わるトルクを全て足し合わせることで、式13にて算出できる。以上をまとめると、式14のようになり、シンプルな形式で表すことができる。以上により、人体の運動情報として、肘の角加速度を検出して、肘の角加速度に基づいて式14により、トルクτaddを算出することができる。次に、流体抗力について説明する。流体抗力は、流速の2乗に比例して運動と反対方向に作用する。流体抗力FDは一般に式15にて求められる。なお、CDは流体抗力係数、Aは代表面積である。付加慣性力と同様に、図6に示すように、人Pの腕をm個の微小要素に分割して、各要素に加わる流体抗力を足し合わせることで、腕全体に加わる流体抗力によるトルクτDを求める。第i番目の微小要素に加わる流体抗力をFDiとすると、トルクτDは式16にて算出できる。ここで、円柱直径をRとすると、dA=Rdlとなるため、式17のようになり、シンプルな形式で表すことができる。以上により、人体の運動情報として肘の角速度を検出して、肘の角速度に基づいて式17により、トルクτDを算出することができる。次に、浮力について説明する。浮力は、物体が流体から受ける圧力差によって重力とは逆方向の力が作用する。浮力をFb、人の腕の体積をV、浮心をlcωとすると、浮力トルクτbは式18にて算出できる。なお、gは重力加速度である。以上により、人体の運動情報として、人体の肘の角度を検出して、人体の肘の角度に基づいて式18により、浮力トルクτbを算出することができる。上述したように、式14、式17及び式18を用いて、外力算出部22は、検出された運動情報に基づいて、仮想的に水中環境で人体が運動しているかのように、浮力、流体抗力及び付加慣性力のうちの少なくとも一つを人体に与える外力として算出することができる。付加慣性力や流体抗力は、加速度運動や速度運動をしない限り発生しないが、浮力はある位置で静止していても発生する。浮力によりある程度アシストをしつつ、人体の加速度や速度の運動に合わせて、負荷になる外力が働くことになり、個人に合わせてトレーニングやリハビリを行うことができる。浮力は、体重をキャンセルする方向に働き、人体の動作をアシストすることができる。付加慣性力及び流体抗力は、人体が動作した方向と反対方向に負荷として働くため、トレーニングやリハビリを行うことができる。これら選択的に与えることで、目的に合わせて人体に最適な仮想環境を与えることができる。尚、これまでは、人体の肘1軸を対象にしたが、人体の運動が多関節運動になった場合、上述した計算よりもやや複雑になるが、運動情報に基づいて外力として与えるべき関節トルクの計算は、例えば、多関節ロボットの流体ダイナミクス計算などを参考にすれば可能である。この実施形態では、運動情報を検出して、人体に仮想環境を与えるための外力をリアルタイムで人体に与える。外力算出部22の計算性能にもよるが、リアルタイムの計算を実現させるためには、人体を円柱形状に近似したり、密度を一定にしたりする等、ある程度の近似により計算の簡素化が必要となる。したがって、第2の実施形態によれば以下に示す効果を得ることができる。6仮想環境付与装置30は仮想的な水中環境を人体に与えることができる。よって、例えば、浮力が体重をキャンセルする方向に働くことで人体の動作をアシストすることができる。また、付加慣性力及び流体抗力が、人体が動作した方向と反対方向に働くことで、トレーニングやリハビリができる。これらを選択することで、使用者の目的に合わせた最適な仮想環境を与えることができ、日常生活においても、無理なく安心してトレーニング、リハビリあるいはアシストをすることができる。7人体に対して浮力、付加慣性力及び流体抗力の全てを与えると、現実の水中環境に近い仮想環境を人体に与えることができ、仮想的に水中リハビリテーションやアクアビクスといった水中運動を行うことができる。尚、本発明の実施形態は、以下のように変更してもよい。第1の実施形態において、各ワイヤ16を、人体の手首、足首、肘、肩、背中、腰などの人体のあらゆる部位に接続して、人体の各部位に外力を与えることで、人体の質量が増減したかのような仮想環境を人体に与えるようにしてもよい。人体の質量を増減させるためには、身体運動のダイナミクスについて考える必要がある。ここでは、人体の質量のみを増減させるため、人体の粘弾性要素を考慮する必要はなく、剛体リンクのダイナミクスを考えればよい。一般に、剛体リンクのダイナミクスは、上記式2のように表される。人体の質量を増減させるためには、慣性行列、遠心力及びコリオリ力項、重力項の3つの項について考えなければならない。外力により与えるトルクをτext、人間が能動的に発生するトルクをτan、外力により質量を増減させることで変化する慣性行列をMext、遠心力及びコリオリ力項をhext、重力項をgextとし、元々の人体の慣性行列をM、遠心力及びコリオリ力をh、重力項をgとすると、これらの関係は、式19-1及び式19-2により表すことができる。ここで、αは、人体の粘弾性などの剛体リンクモデル以外のダイナミクス成分とする。通常、人体が単独で動作する場合は、慣性行列Mext、遠心力及びコリオリ力項hext及び重力項gextがなく、人間が能動的に発生するトルクτanによって自分自身の剛体リンク成分と粘弾性などの成分とにしたがって運動が生成される。通常の人体動作のときは、人間が能動的に発生するトルクτanにて、元々の人体の慣性行列M、遠心力及びコリオリ力h、重力項g及び粘弾性などのダイナミクスαにしたがって運動する。したがって、増減したい質量を式20の右辺で計算するとともに、式20により算出した外力トルクτextを式19-2のτextとして、人体にトルクを与えれば、仮想的に人体のダイナミクスは式19-1により算出される。したがって、式20により算出された外力トルクτextは質量ベクトルm=m_1,m_2,,m_nの関数となり、右辺の各項の計算時に増減させたいmを代入する。ただし、m_1からm_nは人体の各部位の質量を表す。また、式20は、重力、慣性力、遠心力及びコリオリ力の全てを与えているが、選択的に与えてもよい。例えば、重力項だけを与える場合、人体及び質量と同じ重力項をマイナスで与えると、仮想的に重力項の質量が0零になり、式19-1は式21のようになる。つまり、人体のダイナミクスから重力項を取り除くことができ、人体を軽やかに動作させることができる。よって、例えば、体重が10kg減ったときの感覚を人体に与えることで、10kgダイエットしたらどれだけ人体の運動が軽やかになるかを体感することができ、ダイエットのモチベーションアップに繋がる。さらには、体重が10kg減った感覚を人体に与えることで、人体を軽くすることができアシストの効果を得ることができる。また、速度、加速度を伴う運動をするときだけ、人体はトルクを発揮することになる。よって、重力項をキャンセルしてアシストしながら、速度、加速度を伴う運動をすることで、リハビリやトレーニングを行うことができる。一方、重力項を同じ方向に加えると、式19-1は式22のようになる。つまり、人体に対して質量が2倍になったような感覚を人体に与えることができる。これにより、人体は同じ運動をするために、重力を支えるのに必要な重力トルクが2倍必要になり、体重が2倍になったかのような感覚を与えることができる。よって、例えば、体重が10kg増えたときの感覚を人体に与えることで、人体を重くすることができ、トレーニングやリハビリの効果を得ることができる。尚、例えば、重力項gextを0零にして、慣性行列Mext、遠心力及びコリオリ力項hextについて仮想的に質量を増減させることもできる。例えば、質量を増加させた場合、静止中は普段の仮想環境付与装置10がない状態の重力トルクだけが必要となり、速度又は加速度を伴う運動中のときだけ人体が発揮する必要トルクを大きくすることができる。これにより、使用者は自分のペースで負荷を調整することができ、静止することで、いつでも仮想環境付与装置10がない場合と同じ状態にすることができる。また、人体における特定の部位だけを軽くしたり重くしたりしてもよい。これによれば、人体における特定の部位をアシスト、トレーニング又はリハビリすることができるとともに、人体における特定の部位を疲れ難くしたり、人体における特定の部位だけを鍛えたりすることができ、効果的なアシスト、トレーニング又はリハビリをすることができる。さらには、人体における特定の部位だけの質量を減少させることで、特定の部位の動作を行い易くすることができ、アシスト効果が得られる。また、人体における特定の部位だけの質量を増大させることで、人体における特定の部位の動作を行い難くすることができ、トレーニングやリハビリ効果が得られる。第1の実施形態において、制御部23は、重力の方向を仮想的にy方向上向きにしたり、あるいはx方向に重力方向を変えたりするように電磁モータ15を制御してもよい。例えば、人Pの腕の運動について考える。人Pの手に質量を付加する場合を考えると、図7aに示すように、重力方向が下向きのとき、人Pの腕が伸展する方向に外力が働くため、通常のダンベル動作のようになり、主に上腕二頭筋図7aにおいて斜線を付した部分を鍛えることができる。また、図7bに示すように、重力方向が上向きのとき、人Pの腕を屈曲する方向に外力が働くため、主に上腕三頭筋図7bにおいて斜線を付した部分を鍛えることができる。このように、重力方向を任意に変えることで、狙った筋肉を同じ姿勢のままで効果的に鍛えることができる。上記各実施形態において、エンコーダ14にて電磁モータ15の動作情報を検出するようにしてもよい。すなわち、エンコーダ14を動作検出手段として機能させてもよい。例えば、図8に示すリンク系と駆動系とからなるリンクモデルにより、電磁モータ15を用いて減速機15a及びリンク15bを介して人体に外力を与える場合について考える。電磁モータ15により発生するトルクをτin、回転角度をθin、出力軸側の発揮トルクをτout、回転角度をθoutとする。例えば、図3の人体の肘の角度をqとすると、θoutと一致する。電磁モータ15の特性である慣性及び粘性をそれぞれa1、b1、減速機の特性である慣性及び粘性をそれぞれa2、b2とすると、駆動系ダイナミクスとして式23の関係が成立する。θout=θin/nであることを考慮して、式23をまとめると、駆動系ダイナミクスとして式24が得られる。これをτoutについて書き直すと、式25が得られる。θout=q、τout=τaであることと、n2a1a2=Ia、n2b1b2=Daとすると、駆動系ダイナミクスτaは式26にて与えられる。ここで、駆動系ダイナミクスτaを人体に与えたい仮想環境のための外力トルクτextに付加することで、電磁モータ15と減速機のダイナミクスを除去することができる。また、式26は、電磁モータ15と減速機の慣性及び粘性のみを考慮したモデルになっているが、例えば、式27のように、電磁モータ15と減速機の慣性及び粘性に加えて、クーロン摩擦を考慮してもよい。なお、faはクーロン摩擦係数、signは符号関数である。Ia、Da、faのようなパラメータは、電磁モータ15や減速機のカタログ値を用いたり、予めパラメータ同定などを行ったりすることで得ることができる。そして、外力算出部22は、式28により外力を算出するとともに、電磁モータ15により算出された外力を人体に与える。これによれば、外力算出部22は、電磁モータ15と減速機自体の慣性、粘性及び摩擦などのダイナミクスを除去しつつ人体に与える外力を算出することができ、電磁モータ15により正確に人体に所望の外力を与えることができる。上記各実施形態において、図9に示すように、人体接触部に外力検出手段としてのロードセル41を設けて電磁モータ15の駆動により発生した外力を検出するようにしてもよい。図9に示す仮想環境付与装置40は、パラレルワイヤ駆動システム40aと外骨格型装置40bとを組み合わせてなる。これにより、人体の肘関節軸周りや人Pの手に対して所望の外力を与えることができる。そして、外力算出部22は、ロードセル41により検出した外力fextと、特定の仮想環境を人体に与えるために必要な外力fextdとの偏差に基づいて、式29のようなフィードバック制御則により、電磁モータ15への指令値を算出する。ただし、vinputは手先の座標系における電磁モータ15への指令値、Kfは力フィードバックゲインである。電磁モータ15の制御入力をワイヤ16の張力とすると、式29による電磁モータ15への指令値vinputを電磁モータ15の幾何学的関係から各電磁モータ15への制御入力に変換して制御することで、人体に与える外力のフィードバック制御が可能となる。また、外力として与える関節トルクτextを外力算出部22により算出したとき、上記式4の関係を用いて、関節トルクτextからロードセル41により検出した外力fextを式30にて算出することができる。人Pの手に与えるべき外力fextは、式4を用いて、各電磁モータ15をトルク制御することで人体に与えることもできる。また、ロードセル41で人Pの手に与えるべき外力fextを検出する場合は式29を用いて、式4の関係から各電磁モータ15のトルクを式31により決定することができる。図10aに示す実施形態では、人Pの腕に関節角度計の一種であるゴニオメータ51が取り付けられている。そして、このゴニオメータ51により人体の関節角度を検出するようにしてもよい。そして、CPU20は、ゴニオメータ51により検出された人体の関節角度の検出信号を受信するとともに、当該検出信号を利用して運動情報検出部21が人体の運動情報を検出する。図10bに示す実施形態では、人体の手首に加速度センサ61が取り付けられている。そして、この加速度センサ61により、運動情報として、手先が回転又は並進したときの加速度を検出するようにしてもよい。そして、CPU20は、加速度センサ61により検出された加速度の検出信号を受信するとともに、当該検出信号を利用して運動情報検出部21が人体の運動情報を検出する。また、検出された加速度を表す検出値を数値積分することで速度情報及び位置情報を検出してもよい。例えば、速度センサを用いて、運動情報として、手先の回転又は並進したときの速度を検出してもよい。この場合、速度センサは、運動情報検出部として機能する。そして、検出された速度を表す検出値を数値微分することで加速度情報を検出してもよく、さらには、検出された速度を数値積分することで位置情報を検出してもよい。図11に示す実施形態では、人Pの腰に仮想環境付与装置70の土台部71を取り付けるとともに、土台部71から延在する仮想環境付与装置70のリンク部72の先端が人体の手首に取り付けられている。そして、リンク部72に設けられた複数この実施形態では7つの電磁モータ15を駆動させることで、人Pの手、または関節と関節とを結ぶリンク部72に対して並進力又はトルクを与えることができる。また、このような装着型の仮想環境付与装置70を用いることで、装着した状態で動作が可能となり、自由に動き回ることができ、仮想環境付与装置70を装着しながら日常生活を送ることができる。上記各実施形態において、電磁モータ15をトルク制御モードで使用してもよい。これによれば、人体に与えられる外力を検出するためのセンサを別途設ける必要が無く、電磁モータ15をトルク制御モードで使用することで、人体に対して所望の外力を与えることができる。上記各実施形態において、設定部24を削除してもよい。第2の実施形態において、例えば、図12に示すように、仮想環境付与装置80を人Pの足に装着し、人Pが歩行することで水中を歩行している感覚を人体に与えるようにしてもよい。上記各実施形態では、使用者が仮想環境付与装置10を使用している使用状態において、使用者が設定部24を操作して自分の所望する仮想環境になるように仮想環境付与装置10のモードを切り替えてもよい。ここで、使用者が仮想環境付与装置10を使用している状態とは、人体に対して外力が付与されている状態のことをいう。例えば、図13aに示すように、仮想環境付与装置90は装着型となっており、床面に載置された土台部91から延在するリンク部92の先端に装着部92aが設けられている。装着部92aは人体の腰に装着される。リンク部92には複数の電磁モータ15が配設されており、各電磁モータ15を駆動させることで、人Pの腰に対して並進力又はトルクを与えることができる。図13bに示すように、仮想環境付与装置90には仮想環境設定手段としての設定部94が設けられている。設定部94には、仮想環境付与装置90のモードを切替可能な仮想環境モード切替スイッチSW1が設けられている。そして、この実施形態では、使用者によって仮想環境モード切替スイッチSW1が押されたことで、仮想環境付与装置90のモードが水中環境に設定された状態を示している。また、設定部94には、人体に水中環境を与えるために必要な外力の要素である付加慣性力、流体抗力及び浮力をON/OFFにするためのON/OFF切替スイッチSW2,SW3,SW4が設けられている。さらに、設定部94には、付加慣性力、流体抗力及び浮力の項の向きを正転又は反転に設定可能な向き設定スイッチSW5が設けられている。また、設定部94には、付加慣性力、流体抗力及び浮力の項の大きさを、0.5倍、1.0倍、2.0倍に設定可能な大きさ設定スイッチSW6が設けられている。そして、使用者は、ON/OFF切替スイッチSW2,SW3,SW4を操作することで、付加慣性力、流体抗力及び浮力をON又はOFFに切り替える。例えば、使用者は、付加慣性力及び流体抗力をOFFにして、浮力のみをONにする。すると、人体には浮力のみが付与されることになり、高齢者などの筋肉が少なく力が出せない使用者には、身体を軽くして使用者に対する負担を減らすように外力を与えることができる。また、例えば、使用者は、付加慣性力及び流体抗力をONにして、浮力のみをOFFにする。すると、人体には付加慣性力及び流体抗力が付与されることになり、筋肉が多い使用者に対してさらに負荷を大きくすることができ、より効果的に筋肉を鍛えることができる。このように、付加慣性力、流体抗力及び浮力を追加及び削除することで、使用者にとって付与される仮想環境のバリエーションが増え、使用者は飽きずに仮想環境付与装置90を使用し続けることができる。また、例えば、図13bに示すように、付加慣性力及び浮力をONにし、流体抗力のみをOFFにした状態において、使用者により向き設定スイッチSW5が押されて設定が正転から反転に切り換えられると、ONになっている付加慣性力及び浮力の向きが正転から反転に切り換えられる。すると、使用者の運動方向と人体に付与される外力の方向とを反対の向きにすることができ、効果的にトレーニングすることができる。また、使用者は、大きさ設定スイッチSW6を操作することで、ONになっている付加慣性力及び浮力の大きさを0.5倍、1.0倍、2.0倍等に切り換えることができる。例えば、使用者は、大きさ設定スイッチSW6を操作して、仮想環境付与装置90の使用開始時には付加慣性力及び浮力の大きさを0.5倍に設定しておく。そして、使用者は、仮想環境付与装置90の使用途中で大きさ設定スイッチSW6を操作して、付加慣性力及び浮力の大きさを1.0倍、2.0倍に切り換える。さらに、仮想環境付与装置90の使用を終了する前に、使用者は大きさ設定スイッチSW6を操作して、付加慣性力及び浮力の大きさを0.5倍に戻すように切り換える。このようにすれば、ウォーミングアップからクールダウンまでの一連の動作を実現することができ、トレーニング効果を効率良く得ることができる。尚、付加慣性力、流体抗力及び浮力の向き及び大きさをそれぞれ独立に切り換えられるように、向き設定スイッチ及び大きさ設定スイッチを付加慣性力、流体抗力及び浮力ごとに設けてもよい。また、大きさ設定スイッチSW6を操作することで、付加慣性力、流体抗力及び浮力の大きさを0.5倍、1.0倍、2.0倍以外の倍率に設定できるようにしてもよい。また、図11に示す実施形態のように、例えば、人Pの手に質量を付加する場合を考える。図14では、使用者によって仮想環境モード切替スイッチSW1が押されたことで、仮想環境付与装置10のモードが、人Pの手で仮想的にダンベルを握ったような仮想環境である仮想手先質量環境に設定された状態を示している。この場合、設定部94には、人Pの手に仮想的に与えられる質量の大きさを設定可能な質量設定スイッチSW11が設けられている。また、設定部94には、人Pの手に仮想的に与えられる形状を設定可能な形状設定スイッチSW12が設けられている。さらに、設定部94には、形状設定スイッチSW12を操作することで設定された形状の長さ、幅、奥行きを設定可能な長さ設定スイッチSW13、幅設定スイッチSW14及び奥行き設定スイッチSW15が設けられている。そして、使用者は、質量設定スイッチSW11を操作することで、人Pの手に仮想的に与えられる質量の大きさを1.0kg、2.0kg、3.0kg等に設定する。これによれば、例えば、高齢者などの筋肉が少なく力が出せない使用者に対しては質量を小さく設定したり、筋肉が多い使用者に対しては質量を大きく設定したりすることできる。また、使用者は、形状設定スイッチSW12を操作することで、人Pの手に仮想的に与えられる形状を質点、円柱、角柱のいずれかに設定する。形状は、手先に仮想物体を持たせる場合に、慣性モーメントが影響する。質点では慣性モーメントは0零であり、円柱及び角柱は、所定の慣性モーメントを有する。慣性モーメントは物体の形状に依存するため、その寸法によって慣性モーメントの大きさが変化する。よって、使用者は、形状設定スイッチSW12によって形状を設定した後に、その設定された形状の長さ、幅、奥行きを設定するために、長さ設定スイッチSW13、幅設定スイッチSW14及び奥行き設定スイッチSW15を操作する。このように、物体の形状を設定することで、人Pの手に仮想的に与えられる外力のバリエーションを増やすことができ、使用者は飽きずに仮想環境付与装置10を使用し続けることができる。尚、人Pの手に仮想的に与えられる形状としては、質点、円柱、角柱に限らず、例えば、球、三角柱等の形状であったり、円柱の先に球が取り付けられた形状であったり、円柱の先に当該円柱の軸方向と直交する方向に延びる円柱が取り付けられた形状であったりしてもよい。尚、設定部94により、水中環境と仮想手先質量環境とが組み合わさった仮想環境が使用者に付与されるように設定してもよい。例えば、設定部94により、水中でダンベルを握ったような仮想環境が使用者に与えられるように設定してもよい。運動情報検出部21により検出された人体に対するワイヤ16の取り付け位置が回転又は並進したときの位置情報に応じて、人体に与えられる外力の向きの設定、外力の大きさの設定、及び外力の追加と削除のうちの少なくとも一つを設定部24により行えるようにしてもよい。この場合、例えば、設定部24には、運動情報検出部21により検出された人体に対するワイヤ16の取り付け位置が回転又は並進したときの位置情報に応じて、外力の向きの設定を行うプログラム、外力の大きさの設定を行うプログラム、及び外力の追加と削除を行うプログラムの3つのプログラムが組み込まれている。尚、当該3つのプログラムのうち一つだけが組み込まれた設定部24であってもよいし、3つのプログラムのうち二つのプログラムが組み込まれた設定部24であってもよい。例えば、図15aに示すように、人Pの手に下向きの重力が付与されている状態において、図15bに示すように、通常のダンベル動作を行うことで、ワイヤ16の取り付け位置手の位置が所定の仮想環境切替地点Z1に到達したとする。このとき、設定部24により、人Pの手に付与されている重力の向きが下向きから上向きに自動的に切り替えられる。つまり、この場合、設定部24により重力の項の向きが正転から反転に自動的に切り替えられる。これによれば、運動方向と負荷の方向を同じ向きにしたり、反対の向きにしたりすることができ、より効果的にトレーニング、リハビリ又は人Pの動作をアシストすることができる。なお、設定部24は、ワイヤ16の取り付け位置が所定の仮想環境切替地点Z1に到達したときに、例えば、重力の大きさを自動的に切り替えるようにしてもよいし、重力以外の外力である慣性力、遠心力及びコリオリ力の向きや大きさを適宜切り替えるようにしてもよい。また、ワイヤ16の取り付け位置が所定の仮想環境切替地点Z1に到達したときに、重力、慣性力、遠心力及びコリオリ力の向き及び大きさのうちの少なくとも一つを設定部24により自動的に切り替えるようにしたが、これに限らない。例えば、図16に示すように、ワイヤ16の取り付け位置手の位置が所定の仮想環境切替領域Z2内に入ったときに、重力、慣性力、遠心力及びコリオリ力の向き及び大きさのうちの少なくとも一つを設定部24により自動的に切り替えるようにしてもよい。尚、仮想環境として人体に水中環境が付与されている場合では、運動情報検出部21により検出された人体における所定の部位の位置が仮想環境切替地点Z1に到達したり、仮想環境切替領域Z2内に入ったりしたときに、付加慣性力、流体抗力及び浮力の向き、大きさ、及び追加と削除のうちの少なくとも一つを設定部24により行えるようにしてもよい。運動情報検出部21により検出された人体に対するワイヤ16の取り付け位置が回転又は並進したときの速度情報に応じて、人体に与えられる外力の向きの設定、外力の大きさの設定、及び外力の追加と削除のうちの少なくとも一つを設定部24により行えるようにしてもよい。この場合、例えば、設定部24には、運動情報検出部21により検出された人体に対するワイヤ16の取り付け位置が回転又は並進したときの速度情報に応じて、外力の向きの設定を行うプログラム、外力の大きさの設定を行うプログラム、及び外力の追加と削除を行うプログラムの3つのプログラムが組み込まれている。尚、当該3つのプログラムのうち一つだけが組み込まれた設定部24であってもよいし、3つのプログラムのうち二つのプログラムが組み込まれた設定部24であってもよい。そして、例えば、ダンベル動作を考える。例えば、人体に1kgの負荷が与えられたダンベル動作では、図17に示すように、ダンベル動作の基準速度V1が予め設定されている。そして、基準速度V1よりも速い速度でダンベル動作ができる使用者には、例えば、重力の大きさを2倍、3倍と不連続に大きくすることで、使用者に大きな負荷を与えることができ、より効果的にトレーニングすることができる。一方、基準速度V1よりも遅い速度でダンベル動作を行っている使用者に対しては、例えば、重力の大きさを半分にすることで使用者に与える負荷を小さくすることができる。また、図17に示すように、速度と負荷の大きさとを関係付けた特性線L1を予め設定しておき、その特性線L1に応じて負荷の大きさが連続的に変化するようにしてもよい。さらには、速度が正のときには負荷の大きさを2倍、3倍と大きくし、速度が負のときは負荷の大きさが0零になるように設定してもよい。また、速度が正のときには特性線L1に応じて負荷の大きさが連続的に変化するようにし、速度が負のときは負荷の大きさを半分にするようにしてもよい。また、速度は運動の向きを表す。よって、速度情報に応じて重力の項の向きを正転から反転に自動的に切り替えるようにしてもよい。尚、速度情報に応じて、重力以外の外力である慣性力、遠心力及びコリオリ力の向きや大きさを適宜切り替えるようにしてもよい。さらには、仮想環境として人体に水中環境が付与されている場合では、運動情報検出部21により検出された人体における所定の部位が回転又は並進したときの速度情報に応じて、付加慣性力、流体抗力及び浮力の向き、大きさ、及び追加と削除の少なくとも一つを設定部24により行えるようにしてもよい。運動情報検出部21により検出された人体に対するワイヤ16の取り付け位置が回転又は並進したときの加速度情報に応じて、外力の向きの設定、外力の大きさの設定、及び外力の追加と削除のうちの少なくとも一つを設定部24により行えるようにしてもよい。この場合、例えば、設定部24には、運動情報検出部21により検出された人体に対するワイヤ16の取り付け位置が回転又は並進したときの加速度情報に応じて、外力の向きの設定を行うプログラム、外力の大きさの設定を行うプログラム、及び外力の追加と削除を行うプログラムの3つのプログラムが組み込まれている。尚、当該3つのプログラムのうち一つだけが組み込まれた設定部24であってもよいし、3つのプログラムのうち二つのプログラムが組み込まれた設定部24であってもよい。急加速、急減速といった筋肉への負担が大きい運動に対しては、急加速、急減速といった絶対値の大きな加速度を検知して、人Pに付与する外力を小さくすることで、筋肉を痛めることを緩和することができる。また、仮想環境付与装置10自体にも過大な力が加わることを防ぐことができ、仮想環境付与装置10の耐久性を向上させることができる。さらには、仮想環境として人体に水中環境が付与されている場合では、運動情報検出部21により検出された人体における所定の部位が回転又は並進したときの加速度情報に応じて、付加慣性力、流体抗力及び浮力の向き、大きさ、及び追加と削除の少なくとも一つを設定部24により行えるようにしてもよい。運動情報検出部21により検出された位置、速度、加速度の条件を組み合わせて、予め定められた位置で、且つ予め定められた速度以上のときに、仮想環境に関する設定を自動的に切り替えてもよい。また、予め定められた加速度で所定の位置を通過した場合に、仮想環境に関する設定を自動的に切り替えてもよい。これによれば、人体に与える仮想環境のバリエーションをさらに増やすことができ、さらに効果的なトレーニング、リハビリ、アシストが可能となる。使用時間の経過に応じて、外力の向きの設定、外力の大きさの設定、及び外力の追加と削除のうちの少なくとも一つを設定部24により行えるようにしてもよい。この場合、例えば、設定部24には、使用時間の経過に応じて、外力の向きの設定を行うプログラム、外力の大きさの設定を行うプログラム、及び外力の追加と削除を行うプログラムの3つのプログラムが組み込まれている。尚、当該3つのプログラムのうち一つだけが組み込まれた設定部24であってもよいし、3つのプログラムのうち二つのプログラムが組み込まれた設定部24であってもよい。ここで、使用時間の経過とは、人体に対して外力が付与され始めてから、人体に対して外力が付与されなくなるまでの時間の経過のことをいう。例えば、仮想環境として水中環境が人体に付与されている場合を考える。図18に示すように、時間t0から時間t1の間には浮力のみを人体に付与し、時間t1から時間t2の間には浮力に加えて流体抗力を人体に付与する。さらに、時間t2から時間t3の間には浮力及び流体抗力に加えて付加慣性力を人体に付与する。続けて、時間t3から時間t4の間には付加慣性力を削除して浮力及び流体抗力を人体に付与し、時間t4から時間t5の間には流体抗力を削除して浮力のみを人体に付与する。これによれば、時間t0から時間t2の間でウォーミングアップをし、時間t2から時間t3の間で本格的にトレーニングをし、時間t3から時間t5の間でクールダウンをするといったようなトレーニングコースを作成することができ、使い勝手を向上させることができる。また、使用時間の経過に応じて、人体に与える仮想環境自体を設定部24により自動的に切り替えてもよい。例えば、図19に示すように、時間t0から時間t1の間には仮想手先質量の仮想環境を人体に付与し、時間t1から時間t2の間には水中環境を人体に仮想環境として付与する。さらに、時間t2から時間t3の間には人体の質量が増減したかのような仮想環境を人体に付与してもよい。また、使用時間の経過に応じて、外力の向きを設定部24により自動的に切り替えるようにしてもよい。例えば、人Pの手に質量を付加する場合を考える。図20に示すように、時間t0から時間t1の間では、重力の向きを下向きにして上腕二頭筋を鍛え、時間t1から時間t2の間では、重力の向きを反転させて上向きにして上腕三頭筋を鍛える。このようにすれば、屈筋、伸筋をバランス良く鍛えることができる。また、例えば、伸筋を鍛える時間よりも屈筋を鍛える時間のほうが長いコースである屈筋コースといったコース名を設定部24にスイッチとして配設することで、使い勝手をより向上させることができる。また、使用時間の経過に応じて、外力の大きさを設定部24により自動的に切り替えるようにしてもよい。例えば、時間が10秒経過する毎に重力の大きさを1ずつ増やすといったようなことをすれば、連続的に人体に与える負荷を可変にすることが可能となる。人体が仮想環境付与装置10,30,40,70,80,90に加えた外力に応じて、外力の向きの設定、外力の大きさの設定、及び外力の追加と削除のうちの少なくとも一つを設定部24により行えるようにしてもよい。この場合、例えば、設定部24には、人体が仮想環境付与装置10,30,40,70,80,90に加えた外力に応じて、外力の向きの設定を行うプログラム、外力の大きさの設定を行うプログラム、及び外力の追加と削除を行うプログラムの3つのプログラムが組み込まれている。尚、当該3つのプログラムのうち一つだけが組み込まれた設定部24であってもよいし、3つのプログラムのうち二つのプログラムが組み込まれた設定部24であってもよい。例えば、図9に示す仮想環境付与装置40では、人体が仮想環境付与装置40に加えた外力を、ロードセル41により検出することができる。ロードセル41は、電磁モータ15の駆動により発生した外力を検出できるが、作用反作用の法則により、人体が電磁モータ15に加えた外力を検出することも可能である。例えば、人体が静止している状態において、電磁モータ15の駆動力で各ワイヤ16に張力を発生させて、人Pの手に外力として並進力又はトルクを与える場合、ロードセル41は、人体に加わった並進力又はトルクを検出する。一方、電磁モータ15が停止している状態において、人体が各ワイヤ16に対して外力を加えることで各ワイヤ16を介して電磁モータ15に外力が加わった場合、ロードセル41は、電磁モータ15各ワイヤ16に加わった外力を検出するようになっている。そして、例えば、使用者が、各ワイヤ16に対して急激に力を加えたときには、ロードセル41により検出される外力は急激に増加した値が検出される。設定部24は、この検出された外力に応じて、例えば、遠心力及びコリオリ力の大きさを小さくしたり、遠心力及びコリオリ力の向きを反転させたりする。これによれば、使用者の筋への負担を緩和させることができ、さらには、各ワイヤ16を介して電磁モータ15にかかる負担を緩和させることができる。また、使用者は、ロードセル41により検出される外力の上限値τmax及び下限値τminを設定部24に予め設定しておく。そして、この外力の上限値τmax及び下限値τminに応じて、外力の項の向き及び大きさのうちの少なくとも一つを設定部24により自動的に切り替えるようにしてもよい。具体的には、図21に示すように、設定部24は、ロードセル41により検出された外力が下限値τmin図21では下限値τmin=0よりも小さいときは、使用者に与えられる外力を0零に設定する。また、ロードセル41により検出された外力が0零からτmaxまでの間では、設定部24は、例えば、重力を追加し、その後、重力に代えて遠心力及びコリオリ力を加え、その後、重力、遠心力及びコリオリ力を加える。さらに、設定部24は、ロードセル41により検出された外力がτmaxよりも大きいときは、使用者に与えられる外力を0零に設定する。これによれば、図21に示すように、下限値τminよりも大きな外力を常に使用者に与えることができるとともに、上限値τmaxよりも大きな外力を使用者に与えてしまうことを防止することができる。よって、より効果的にトレーニング効果を得ることができるとともに、仮想環境付与装置40の安全性を向上させることができる。図22に示すように、仮想環境付与装置95には、床面に載置された土台部96から延在するリンク部97の先端に、人Pが着座可能な座部98が設けられている。リンク部97には複数の電磁モータ15が配設されている。そして、人Pが座部98に着座した状態で、各電磁モータ15を駆動させると、人体に対して並進力又はトルクを与えることができ、座部98に着座している使用者が得られる感覚を変化させることができる。尚、これら並進力及びトルクの向きは設定部24により任意に変更可能になっている。"