(57)【特許請求の範囲】
【請求項１】
実空間の所定の操作領域Ｓd内でユーザが位置を指示する位置入力部と、
ユーザが前記位置入力部で指示した実空間上の操作領域Ｓd内の指示位置ｒdを計測する指示位置計測部と、
実空間上の操作領域を周縁付近の移動領域と前記移動領域の内側となるインタラクション領域に分割し、前記の計測された実空間上の操作領域Ｓd内の指示位置ｒdがインタラクション領域又は移動領域のいずれに存在するかを判別し、実空間上の指示位置ｒdが前記インタラクション領域内に存在するときには、仮想空間上の操作領域Ｓvの原点位置ｒv0に与えるオフセット量Δｒv0をゼロにするが、実空間上の指示位置ｒdが前記移動領域内に存在するときには、仮想空間上の操作領域Ｓvの原点位置ｒv0に対して実空間上の指示位置ｒdの前記移動領域への浸透量に比例したオフセット量Δｒv0を与える操作領域オフセット量決定部と、
前記の決定されたオフセット量Δｒv0が与えられた仮想空間上の操作領域Ｓvの原点位置ｒv0に前記の計測された実空間上の操作領域Ｓd内の指示位置ｒdに比例した変位Ｋｒdを加えて、ユーザが前記位置入力部を介して指示した実空間上の位置に対応する仮想空間上の指示位置ｒvを決定する指示位置決定部と、
を具備することを特徴とする情報入出力装置。
【請求項２】
前記位置入力部は、指先又はその他のユーザの身体の一部に当接し、該当接部位の動作に基づく移動量ｒdを前記の指示位置として入力する、
ことを特徴とする請求項１に記載の情報入出力装置。
【請求項３】
前記指示位置決定部が決定した仮想空間上の位置ｒvに応じた力触覚を、前記位置入力部に当接したユーザの身体の一部に対して印加する力触覚提示手段をさらに備える、
ことを特徴とする請求項２に記載の情報入出力装置。
【請求項４】
前記力触覚提示手段は、
仮想空間に存在する各オブジェクトが持つ幾何属性並びに力学属性を含む属性情報を蓄積するオブジェクト・データ蓄積部と、
前記オブジェクト・データ蓄積部に蓄積されている各オブジェクトに対する力学演算を行なうとともに該演算結果に基づいて各オブジェクトの位置及び姿勢を変更する力学演算部と、
前記オブジェクト・データ蓄積部に蓄積されている各オブジェクト間の衝突事象を検出する衝突検出部と、
前記衝突検出部で検出された衝突点で作用する力を算出する衝突力算出部と、
前記衝突力算出部で算出した力に基づいて前記位置入力部に当接したユーザの身体の一部に対して印加すべき作用力を算出する作用力算出手段と、
前記作用力算出手段により算出された作用力に基づく力触覚を前記位置入力部に当接したユーザの身体の一部に対して印加する力触覚付与手段と、
を備えることを特徴とする請求項３に記載の情報入出力装置。
【請求項５】
ディスプレイと、
前記操作領域オフセット量決定部が決定したオフセット量Δｒv0に応じて仮想空間の状況を描画するためのカメラ・モデルの座標系を移動するカメラ位置決定部と、
前記カメラ・モデルとして定義される座標系を視点とした仮想空間の状況をレンダリングして前記ディスプレイに表示する仮想環境描画部と、
をさらに備えることを特徴とする請求項１に記載の情報入出力装置。
【請求項６】
ユーザの複数の指ｊのそれぞれ対応する複数の位置入力部を備え（但し、ｊは正の整数）、
前記操作領域オフセット量決定部は、前記の各位置入力部で指示された前記操作領域Ｓd内の指示位置ｒjdの平均位置又は加重平均位置に基づいて、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0を決定する、
ことを特徴とする請求項２に記載の情報入出力装置。
【請求項７】
所定の正面姿勢を中心として回転運動が可能なように構成され、実空間の所定の操作領域Ｓd内の位置としてユーザが姿勢角を指示する位置入力部と、
ユーザが前記位置入力部で指示した実空間上の姿勢角Ｒdを計測する指示位置計測部と、
前記位置入力部が実空間において持つ操作領域Ｓdを、前記正面姿勢から姿勢角±Θの範囲内のインタラクション領域と、前記インタラクション領域の外側となる移動領域に分割し、前記の計測された操作領域Ｓd内の指示姿勢角Ｒdがインタラクション領域又は移動領域のいずれに存在するかを判別し、指示姿勢角Ｒdが前記インタラクション領域内に存在するときには、仮想空間上の操作領域Ｓvの正面姿勢角ｒv0に与えるオフセット量Δγv0をゼロにするが、指示姿勢角Ｒdが前記移動領域内に存在するときには、仮想空間上の操作領域Ｓvの正面姿勢角Ｒv0に対して実空間の指示姿勢角Ｒdの前記移動領域への浸透量に比例したオフセット量Δγv0を与える操作領域オフセット量決定部と、
前記の決定されたオフセット量Δγv0が与えられた仮想空間上の操作領域Ｓvの正面姿勢角Ｒv0に前記の計測された実空間上の操作領域Ｓd内の指示姿勢角Ｒdを加えて、ユーザが前記位置入力部を介して指示した実空間上の位置に対応する仮想空間上の指示姿勢Ｒvを決定する指示位置決定部と、
を具備することを特徴とする情報入出力装置。
【請求項８】
ディスプレイと、
前記操作領域オフセット量決定部が決定した指示姿勢Ｒvのオフセット量Δγv0に応じて仮想空間の状況を描画するためのカメラ・モデルの座標系を移動するカメラ位置決定部と、
前記カメラ・モデルとして定義される座標系を視点とした仮想空間の状況をレンダリングして前記ディスプレイに表示する仮想環境描画部と、
をさらに備えることを特徴とする請求項７に記載の情報入出力装置。
【請求項９】
実空間の所定の操作領域Ｓd内でユーザが位置を指示する位置入力部を介してユーザが指示した実空間上の操作領域Ｓd内の指示位置ｒdを取得する指示位置取得ステップと、
実空間上の操作領域を周縁付近の移動領域と前記移動領域の内側となるインタラクション領域に分割し、前記の計測された実空間上の操作領域Ｓd内の指示位置ｒdがインタラクション領域又は移動領域のいずれに存在するかを判別し、実空間上の指示位置ｒdが前記インタラクション領域内に存在するときには、仮想空間上の操作領域Ｓvの原点位置ｒv0に与えるオフセット量Δｒv0をゼロにするが、実空間上の指示位置ｒdが前記移動領域内に存在するときには、仮想空間上の操作領域Ｓvの原点位置ｒv0に対して実空間上の指示位置ｒdの前記移動領域への浸透量に比例したオフセット量Δｒv0を与える操作領域オフセット量決定ステップと、
前記の決定されたオフセット量Δｒv0が与えられた仮想空間上の操作領域Ｓvの原点位置ｒv0に前記の計測された実空間上の操作領域Ｓd内の指示位置ｒdに比例した変位Ｋｒdを加えて、ユーザが前記位置入力部を介して指示した実空間上の位置に対応する仮想空間上の指示位置ｒvを決定する指示位置決定ステップと、
を有することを特徴とする情報入出力方法。
【請求項１０】
実空間でのユーザ操作を通じて仮想空間に対する操作を行なうための情報入出力処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
実空間の所定の操作領域Ｓd内でユーザが位置を指示する位置入力部を介してユーザが指示した実空間上の操作領域Ｓd内の指示位置ｒdを取得する指示位置取得手順と、
実空間上の操作領域を周縁付近の移動領域と前記移動領域の内側となるインタラクション領域に分割し、前記の計測された実空間上の操作領域Ｓd内の指示位置ｒdがインタラクション領域又は移動領域のいずれに存在するかを判別し、実空間上の指示位置ｒdが前記インタラクション領域内に存在するときには、仮想空間上の操作領域Ｓvの原点位置ｒv0に与えるオフセット量Δｒv0をゼロにするが、実空間上の指示位置ｒdが前記移動領域内に存在するときには、仮想空間上の操作領域Ｓvの原点位置ｒv0に対して実空間上の指示位置ｒdの前記移動領域への浸透量に比例したオフセット量Δｒv0を与える操作領域オフセット量決定手順と、
前記の決定されたオフセット量Δｒv0が与えられた仮想空間上の操作領域Ｓvの原点位置ｒv0に前記の計測された実空間上の操作領域Ｓd内の指示位置ｒdに比例した変位Ｋｒdを加えて、ユーザが前記位置入力部を介して指示した実空間上の位置に対応する仮想空間上の指示位置ｒvを決定する指示位置決定手順と、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ操作に応じた情報の入出力を行なう情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムに係り、特に、実空間でのユーザ操作を通じて仮想空間に対する操作を行なうとともに、仮想空間から力覚を提示するような情報出力を行なう情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、実空間における操作領域Ｓdを用い、これに対応する仮想空間における操作領域Ｓv内の操作を行なう情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムに係り、特に、実空間における操作領域Ｓdに対応する仮想空間における操作領域Ｓvをユーザの意図に応じて移動させて、仮想空間のアクセス可能範囲を拡張し仮想空間の至る場所からの接触感をユーザに与えるような情報出力を行なう情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
仮想現実（バーチャルリアリティ）や遠隔現実（テレリアリティ）といった技術分野では、視覚情報や聴覚情報に加えて操作者に力覚や触覚を提示するための力触覚ディスプレイすなわち「ハプティック・デバイス」が必須である。
【０００４】
近年の計算機速度の向上とシミュレーション技術の進展により、複数の物体が共存し、それらの間で衝突や接触といった物理的相互作用が生じるという仮想環境を、実時間でシミュレートすることが可能となってきた。このように、物体間の衝突やそのときの接触力を、力学を考慮して精密且つ実時間で算出できるようになると、算出された力を実際にモータで発生することで、ハプティック・デバイスを介して仮想環境の物体に触れたり把持したりした際の感覚をリアルにユーザに提示することが可能となる。
【０００５】
ハプティック・デバイスのアプリケーションは幅広い。医療やその他の特殊技能の習得、小宇宙や海洋などの仮想環境や、原子炉などの特殊若しくは危険な環境での遠隔作業などにおいて、実際に触手できない環境の物体への３次元の力覚・触覚を提示することができる。実時間処理可能な仮想空間の規模や精度に伴い、将来的には力触覚ディスプレイの需要拡大が見込まれる。
【０００６】
例えば、図１６に示すようなシリアル・リンクを用いたペン型のハプティック・デバイスが一般的である。ユーザはペン型の先端部を把持し、ここに３軸力乃至６軸力のモーメントの提示が行なわれる（例えば、非特許文献１を参照のこと）。
【０００７】
あるいは、シリアル・リンクの剛性不足を解消する構造として、図１７に示すように、パラレル・リンク構造を用いて３軸力乃至６軸力モーメントの提示を行なうハプティック・デバイスも提案されている（例えば、特許文献１、非特許文献２、非特許文献３を参照のこと）。
【０００８】
これらのリンク機構を用いたハプティック・デバイスはいずれも、把持位置の１点のみに対して力触覚提示を行なうもので、言い換えれば、操作者の各指への独立な力触覚提示を行なうものではない。このため、指で仮想物体を把持した感覚を提示することができない、という問題がある。
【０００９】
一方、多指型のハプティック・デバイスを用いると、操作者は、作業対象を把持しているような感覚を得ることができる。また、この種のハプティック・デバイスをロボット・ハンドなどのスレーブ・ハンドを遠隔操作するマスタ・ハンドに適用することにより、マスタハンド（操作手段）の動きがスレーブハンド（作業手段）に伝えられ、且つ、スマスタ側の力覚がマスタ・ハンドに呈示される機能を有する。
【００１０】
多指への力提示を行なうべく、図１８に示すように、指と遠隔のモータ間をワイヤで接続し、ワイヤを介して力を印加するハプティック・デバイスが提案されている（例えば、非特許文献４を参照のこと）。しかし、このような装置構成では、常時ワイヤが弛まないよう制御する必要があり、制御が煩雑になる傾向がある。また、ワイヤ間の干渉が発生し易く、特に回転に関する可動範囲はあまり広くない。
【００１１】
また、図１９に示すような、対向型マニピュレータにハンド型力提示機構を付加するハプティック・デバイスも提案されている（例えば、非特許文献５を参照のこと）。あるいは、これに類似した方法として、エグゾスケルトン先端にハンド型力提示機構を付加する方法も提案されている（例えば、非特許文献６を参照のこと）。その他、上記シリアル・リンク先端に指サックを取り付け、指への３軸力提示を行なう方式も提案されている（例えば、特許文献２を参照のこと）。
【００１２】
シミュレーションを行なう仮想空間は無限の広がりを持つ。これに対し、ハプティック・デバイスの操作領域は、装置の可動範囲の制約があるため、有限となり、この有限な操作領域に対応した一部の仮想空間にしか、ユーザはアクセスすることができない。図２０には、シリアル・リンク構造のハプティック・デバイスの実空間における操作領域Ｓdと、これに対応する仮想空間における操作領域Ｓvを示している。操作領域Ｓdは、ハプティック・デバイスの可動範囲の制約を受ける。このため、ユーザは、ハプティック・デバイスの操作領域Ｓdに対応した仮想空間内の操作領域Ｓv内のオブジェクトに触れることはできるが、Ｓv外のオブジェクトに触れることはできない。例えば、同図において、Ｓv内のオブジェクトＡに対する接触感（力覚フィードバック）を受けることはできるが、Ｓv外にあるオブジェクトＢに対する接触感を得ることはできない。
【００１３】
Ｓv外のオブジェクトＢに触れる、すなわち、ユーザがハプティック・デバイスを通じてオブジェクトＢから接触感を得るようにするには、図２１に示すように、ハプティック・デバイスの実空間における操作領域Ｓdに対応する仮想空間の操作領域Ｓvを、オブジェクトＢを包含する位置まで移動（平行移動）させる必要がある。
【００１４】
勿論、シリアル・リンク機構など装置の可動範囲を大きくすれば、ユーザがアクセス可能な仮想空間の範囲は拡張するが、装置が大型化し、コスト増大を招来する。
【００１５】
あるいは、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の分野では、マウスがマウスパッドの端縁に到達する度に、持ち上げ、マウスパッド上に再配置するという動作すなわち“Ｉｎｄｅｘｉｎｇ”を繰り返し行なうことによって、操作領域を移動させ、マウスカーソルをＧＵＩ画面の至るところにアクセスさせることが可能である。しかしながら、「持ち上げ→再配置」という動作は、マウスカーソルの画面移動処理を一旦中断して行なうことに相当するから、連続的入力を行なうことを基調とするハプティック・デバイスに適用することはできない。
【００１６】
また、スイッチなどの入力インターフェースを併用して、仮想空間内の操作領域Ｓvのオフセット指示を与える方法も考えられる。しかしながら、ハプティック・デバイスの入力自由度が増大すると、操作が煩雑化するため、直感的な操作の妨げになる。操作が例えば図１９に示した対向型マニピュレータの場合、指毎に対向する入力自由度は仮想空間内の各指の連続的な操作として直感的に理解できるが、操作領域Ｓvのオフセット指示を与える入力インターフェース操作は不連続的であり、直感的とは言い難い。
【００１７】
以上のような理由から、仮想空間で操作を行なうハプティック・デバイス本来の入力操作のみから、仮想空間の操作領域Ｓvを移動させる必要がある。あるいは、ハプティック・デバイスに対する入力操作からユーザの意図を検出し、仮想空間の操作領域Ｓvのオフセットを行なうようにすれば、直感的で自然な操作となり、ハプティック・デバイスの利便性は大きく改善される。
【００１８】
図２０に示したように、ハプティック・デバイス先端の位置ｒdと、仮想空間内のポインタの位置ｒvの間には、下式（１）に示すような関係が成立する。
【００１９】
【数１】
0004645678.tif 000002
【００２０】
ここで、上式（１）において、ｒv0はハプティック・デバイス原点の仮想空間内の位置である。また、Ｋは、スケール・ファクタであり、実際のハプティック・デバイスの変位と、仮想空間内のポインタの変位の間の比率を与える。
【００２１】
上式（１）から分かるように、スケール・ファクタＫを大きくすれば、ハプティック・デバイスの小さな変位により仮想空間内のポイントを大きく動かすことができ、この結果、ハプティック・デバイスの実空間上で同じ操作領域Ｓdを以って操作可能な仮想空間上の操作領域Ｓvが拡張する。すなわち、小さなハプティック・デバイスでも、大きな仮想空間に触れることができる。しかしながら、スケール・ファクタＫを大きくすると、同時に位置の分解能が低下するため、触感が低下するという問題を招来する。また、スケール・ファクタＫを変えることは操作領域Ｓvにオフセットを与えることとは相違し、触れことのできる仮想空間が拡大しても、相変わらず、仮想空間の一定の操作領域Ｓvの外には触れることはできない。
【００２２】
また、ｂａｌｌｉｓｔｉｃｓと呼ばれる、ハプティック・デバイスの速度ｖdに応じて、ハプティック・デバイスの微小変位δｒdと仮想空間内のポインタの微小変位δｒvの間のスケール・ファクタを変化させる方法が挙げられる。一般には、下式（２）に示すように、ハプティック・デバイスの速度が大きいほど、スケール・パラメータＫが大きくなるように設定する。これにより、ハプティック・デバイスの速度の小さな緻密なインタラクションを行ないたいときには、分解能不足を回避することができる。
【００２３】
【数２】
0004645678.tif 000003
【００２４】
しかしながら、ｂａｌｌｉｓｔｉｃｓは、ハプティック・デバイス原点の仮想空間内での位置ｒv0を管理しないことから、徐々にハプティック・デバイスの操作領域Ｓdと仮想空間内での操作領域Ｓvがずれていくことになる。このため、当該方法によると、ハプティック・デバイスの操作領域Ｓdの境界付近で操作を強いられる事態に陥ることが多い、という難点がある。
【００２５】
また、レート・コントロールと呼ばれる、ハプティック・デバイスを速度操作器として用いる方法もある。この方法は、ハプティック・デバイスの先端位置ｒdに応じた仮想空間のポインタの速度を与えるものであり、下式（３）のように表される。
【００２６】
【数３】
0004645678.tif 000004
【００２７】
レート・コントロールによれば、空間のいたるところにアクセスすることが可能になる。しかしながら、ハプティック・デバイスの運動は積分されてポインタに与えられるため、１次遅れ系となり、剛体の接触感を得ることができない、速い運動指示が行なうことができないという問題がある。
【００２８】
また、実際のハプティック・デバイスの変位の仮想空間内のポインタの変位に対するスケール・ファクタを変化させる方法と、ｂａｌｌｉｓｔｉｃｓと、レート・コントロールとを組み合わせたハイブリッド的方法として、人間の心理物理学の知見に基づいて、下式（４）に示すように、ハプティック・デバイスの速度及び位置に比例して操作領域Ｓvの速度を変化させる方法について提案がなされている（例えば、非特許文献７を参照のこと）。
【００２９】
【数４】
0004645678.tif 000005
【００３０】
このハイブリッド的方法では、ハプティック・デバイスの速度がゼロになってしまうと、ユーザがより遠い空間に到達したいと考えても、操作領域の移動が行なわれないという問題がある。また、床面を擦るなどの接触インタラクション中にも操作領域Ｓvが移動するため、ハプティック・デバイスがユーザに対し「滑り」のような違和感を与えることがある。
【００３１】
【特許文献１】特許第３３２９４４３号公報
【特許文献２】特開２００４−２９９９９９号公報
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｓｅｎｓａｂｌｅ．ｃｏｍ／ｈａｐｔｉｃ−ｐｈａｎｔｏｍ−ｄｅｓｋｔｏｐ．ｈｔｍ（平成１９年２月３日現在）
【非特許文献２】ｈｔｔｐ：／／ｆｏｒｃｅｄｉｍｅｎｓｉｏｎ．ｃｏｍ／ｆｄ／ａｖｓ／ｈｏｍｅ／ｐｒｏｄｕｃｔｓ／（平成１９年２月３日現在）
【非特許文献３】ｈｔｔｐ：／／ｗｗｗ．ｑｕａｎｓｅｒ.ｃｏｍ／ｉｎｄｕｓｔｒｉａｌ／ｈｔｍｌ／ｐｒｏｄｕｃｔｓ／ｆｓ＿５ｄｏｆ．ａｓｐ（平成１９年２月３日現在）
【非特許文献４】ｈｔｔｐ：／／ｓｋｌａｂ−ｗｗｗ．ｐｉ．ｔｉｔｅｃｈ．ａｃ．ｊｐ／ｆｒａｍｅ＿ｉｎｄｅｘ−ｊ．ｈｔｍｌ（平成１９年２月３日現在）
【非特許文献５】川崎晴久、堀匠、毛利哲也共著「対向型多指ハプティックインターフェース」（日本ロボット学会誌  Ｖｏｌ．２３，Ｎｏ．４，ｐｐ４４９−４５６，２００５）
【非特許文献６】ｈｔｔｐ：／／ｗｗｗ．ｉｍｍｅｒｓｉｏｎ．ｃｏｍ／３ｄ／ｐｒｏｄｕｃｔｓ／ｃｙｂｅｒ＿ｇｒａｓｐ．ｐｈｐ（平成１９年２月４日現在）
【非特許文献７】Ｆ．Ｃｏｎｔｉ、Ｏ．Ｋｈａｔｉｂ共著“Ｓｐａｎｎｉｎｇ  Ｌａｒｇｅ  Ｗｏｒｋｓｐａｃｅｓ  Ｕｓｉｎｇ  Ｓｍａｌｌ  Ｈａｐｔｉｃ  Ｄｅｖｉｃｅｓ”（ＩＥＥＥ  ＷｏｒｌｄＨａｐｔｉｃｓ  ２００５）
【発明の開示】
【発明が解決しようとする課題】
【００３２】
本発明の目的は、実空間でのユーザ操作を通じて仮想空間に対する操作を行なうとともに、仮想空間から力覚を提示するための好適な情報出力を行なうことができる、優れた情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムを提供することにある。
【００３３】
本発明のさらなる目的は、実空間における操作領域Ｓdを用い、これに対応する仮想空間における操作領域Ｓv内の操作を好適に行なうことかでできる、優れた情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムを提供することにある。
【００３４】
本発明のさらなる目的は、実空間における操作領域Ｓdに対応する仮想空間における操作領域Ｓvをユーザの意図に応じて移動させて、仮想空間のアクセス可能範囲を拡張し仮想空間の至る場所からの接触感をユーザに与えるような情報出力を行なうことができる、優れた情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムを提供することにある。
【００３５】
本発明のさらなる目的は、可動範囲が有限な仮想空間操作用の入力インターフェースのみを用いて、操作領域Ｓv内でのオブジェクト操作と、仮想空間での操作領域を移動させる操作を連続的な行なうことを可能とし、違和感のない厳密なインタラクションを行なうことができる、優れた情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００３６】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、
実空間の所定の操作領域Ｓd内でユーザが位置を指示する位置入力部と、
ユーザが前記位置入力部で指示した前記操作領域Ｓd内の位置ｒdを計測する指示位置計測部と、
前記の計測された操作領域Ｓd内の位置ｒdに基づいて、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0を決定する操作領域オフセット量決定部と、
前記の計測された操作領域Ｓd内の位置ｒdと、前記の決定されたオフセット量Δｒv0に基づいて、ユーザが前記位置入力部を介して指示した実空間上の位置に対応する仮想空間上の指示位置ｒvを決定する指示位置決定部と、
を具備することを特徴とする情報入出力装置である。
【００３７】
ここで、位置入力部は、指先又はその他のユーザの身体の一部に当接し、該当接部位の動作に基づく移動量ｒdを前記の指示位置として入力するものとする。
【００３８】
また、位置入力部は、力覚提示を行なうハプティック・デバイスとして構成することができる。すなわち、位置入力部は、指示位置決定部が決定した仮想空間上の位置ｒvに応じた力触覚を、前記位置入力部に当接したユーザの身体の一部に対して印加して、ユーザに対して力触覚提示を行なうものとする。
【００３９】
仮想現実や遠隔現実などの技術分野では、視覚情報や聴覚情報に加えて操作者に力覚や触覚を提示するためのハプティック・デバイスが必須である。例えば、多指型のハプティック・デバイスは、作業対象に直接的に作業をしているような間隔を操作者に与えることができる。
【００４０】
仮想空間は本来ほぼ無限の広がりを持つのに対し、ハプティック・デバイスの可動範囲は有限であることから、仮想空間における操作領域は、実空間上の操作領域と同じ大きさしか持たない。このため、現在は操作領域外にある仮想オブジェクトからの接触感を得るには、当該オブジェクトを収容するよう、実空間の操作領域に対応する仮想空間の操作領域を移動させる必要がある。本発明者は、ユーザの指先に装着するシリアル・リンク機構など、仮想空間操作用の入力インターフェースを併用して仮想空間の操作領域を移動させることができれば、仮想空間におけるオブジェクトの操作と仮想空間での操作領域を移動させる操作を連続的な行なうことが可能であり、ユーザ操作は直感的で理解し易く、且つ、違和感のない厳密なインタラクションを行なうことができる、と考えている。
【００４１】
本発明に係る情報入出力装置は、ハプティック・デバイスを兼用する位置入力部の物理的な操作領域を、インタラクション領域と移動領域の２領域に分割している。すなわち、位置入力部が実空間において持つ操作領域Ｓdは、前記操作領域Ｓdの周縁付近の移動領域と、前記移動領域の内側となるインタラクション領域に分割されるものとする。
【００４２】
そして、操作領域オフセット量決定部は、前記の計測された操作領域Ｓd内の指示位置ｒdがインタラクション領域又は移動領域のいずれに存在するかを判別する。このとき、指示位置ｒdが前記インタラクション領域内に存在するときには、仮想空間における操作領域Ｓvの原点位置ｒv0に対してオフセット量Δｒv0を与えない（すなわち、Δｒv0＝０）。また、指示位置ｒdが前記移動領域内に存在するときには、仮想空間における操作領域Ｓvの原点位置ｒv0に対して指示位置ｒdに応じたオフセット量Δｒv0を与えるようにする。
【００４３】
したがって、ユーザ操作が移動領域に到達すると、この移動領域への浸透量に応じて仮想領域における操作領域Ｓvの原点ｒv0を移動させて、操作領域Ｓvにオフセットを与えるようにしている。この結果、ハプティック・デバイス自体が持つ機械的な可動範囲は有限ではあるが、無限に広がる仮想空間の任意の位置へのアクセスが可能となる。
【００４４】
一方、インタラクション領域内での操作では、仮想空間の操作領域Ｓvの移動を発生させず、通常の力触覚インタラクションのための情報出力を行なう。インタラクション領域では、ハプティック・デバイスとしての性能を最大限に発揮することが可能であり、仮想オブジェクトに対する接触インタラクションの間に、擦る、滑るといった違和感をユーザに与えたり、性能が劣化したりすることはない。
【００４５】
本発明に係る情報入出力装置は、付加的な入力インターフェースを用いないで、仮想空間内で操作領域を移動するので、通常の力触覚提示のための動作と連続的であり、ユーザ操作は煩雑化しない。すなわち、ユーザは、触れたいと思う方向に手を伸ばすという直感的な操作を通じて、仮想空間の任意の位置へアクセスすることができ、直感的で自然な操作系を実現することができる。
【００４６】
また、本発明に係る情報入出力装置は、ディスプレイと、前記操作領域オフセット量決定部が決定したオフセット量Δｒv0に応じて仮想空間の状況を描画するためのカメラ・モデルの座標系を移動するカメラ位置決定部と、前記カメラ・モデルとして定義される座標系を視点とした仮想空間の状況をレンダリングして前記ディスプレイに表示する仮想環境描画部をさらに備えていてもよい。
【００４７】
力触覚提示手段が仮想空間からの力触覚的なフィードバックを与えるのに対し、仮想環境描画部は視覚的なフィードバックを与えることができ、両者の組み合わせによって、より現実に近い仮想環境をユーザに提示することができる。上述したように本発明に係る情報入出力装置は、位置入力部を介した仮想環境へのユーザ操作に応じて連続的に仮想空間の操作領域Ｓvを移動させる点に主な特徴があるが、その際、原点位置ｒv0の移動に連動してカメラ座標系を移動しないと、仮想空間の操作領域Ｓvの移動に伴って、位置ｒvに相当する指ポインタが描画領域外に取り残され、操作不能な状況になる。これに対し、カメラ位置決定部が、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0に応じて、カメラ・モデルの座標系を併せて移動するようにすることで、指示位置ｒvすなわち指ポインタを描画領域内に常に収容し、仮想環境の操作可能な状況を保つことができるようになる。
【００４８】
なお、力触覚提示手段は、例えば、仮想空間に存在する各オブジェクトが持つ幾何属性並びに力学属性を含む属性情報を蓄積するオブジェクト・データ蓄積部と、前記オブジェクト・データ蓄積部に蓄積されている各オブジェクトに対する力学演算を行なうとともに該演算結果に基づいて各オブジェクトの位置及び姿勢を変更する力学演算部と、前記オブジェクト・データ蓄積部に蓄積されている各オブジェクト間の衝突事象を検出する衝突検出部と、前記衝突検出部で検出された衝突点で作用する力を算出する衝突力算出部と、前記衝突力算出部で算出した力に基づいて前記位置入力部に当接したユーザの身体の一部に対して印加すべき作用力を算出する作用力算出手段と、前記作用力算出手段により算出された作用力に基づく力触覚を前記位置入力部に当接したユーザの身体の一部に対して印加する力触覚付与手段で構成され、位置入力部を通じてユーザに適切な力触覚を与えることができる。
【００４９】
また、１指用のハプティック・デバイスを複数組み合わせた多指システムにも拡張して本発明を適用することができる。すなわち、ユーザの複数の指ｊのそれぞれ対応する複数の位置入力部を備える。そして、操作領域オフセット量決定部は、前記の各位置入力部で指示された前記操作領域Ｓd内の指示位置ｒjdの平均位置又は加重平均位置に基づいて、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0を決定するようにすればよい。さらに、片腕だけではなく、双腕にわたる多指システムにも、同様に本発明を適用することができる。
【００５０】
また、本発明に係る常用入出力装置は、操作領域におけるユーザの指示動作として、並進運動だけでなく、回転運動を扱うことができる。本発明の第２の側面は、回転運動からなるユーザの指示動作を扱う情報入出力装置であって、
所定の正面姿勢を中心として回転運動が可能なように構成され、実空間の所定の操作領域Ｓd内の位置としてユーザが姿勢角を指示する位置入力部と、
ユーザが前記位置入力部で指示した姿勢角Ｒdを計測する指示位置計測部と、
前記位置入力部が実空間において持つ操作領域Ｓdを、前記正面姿勢から姿勢角±Θの範囲内のインタラクション領域と、前記インタラクション領域の外側となる移動領域に分割し、前記の計測された操作領域Ｓd内の指示姿勢角Ｒdがインタラクション領域又は移動領域のいずれに存在するかを判別し、指示姿勢角Ｒdが前記インタラクション領域内に存在するときには、仮想空間における操作領域Ｓvの正面姿勢角ｒv0に対してオフセット量Δγv0を与えないが、指示姿勢角Ｒdが前記移動領域内に存在するときには、仮想空間における操作領域Ｓvの正面姿勢角Ｒv0に対して指示姿勢角Ｒdに応じたオフセット量Δγv0を与える操作領域オフセット量決定部と、
前記の計測された操作領域Ｓd内の指示姿勢角Ｒdと、仮想空間における操作領域Ｓvの正面姿勢角Ｒv0と、前記の決定されたオフセット量Δγv0に基づいて、ユーザが前記位置入力部を介して指示した実空間上の位置に対応する仮想空間上の指示姿勢Ｒvを決定する指示位置決定部と、
を具備することを特徴とする情報入出力装置である。
【００５１】
本発明の第２の側面に係る情報入出力装置も、ディスプレイと、前記操作領域オフセット量決定部が決定した指示姿勢Ｒvのオフセット量Δγv0に応じて仮想空間の状況を描画するためのカメラ・モデルの座標系を移動するカメラ位置決定部と、前記カメラ・モデルとして定義される座標系を視点とした仮想空間の状況をレンダリングして前記ディスプレイに表示する仮想環境描画部を備え、力触覚的なフィードバックに加え、視覚的なフィードバックを与えるようにしてもよい。そして、カメラ位置決定部が、仮想空間における操作領域Ｓvの正面姿勢ｒv0のオフセット量Δγv0に応じてカメラ・モデルの座標系を併せて移動するようにすることで、指示姿勢Ｒvすなわち指ポインタを描画領域内に常に収容し、仮想環境の操作可能な状況を保つことができるようになる。
【００５２】
また、本発明の第３の側面は、実空間でのユーザ操作を通じて仮想空間に対する操作を行なうための情報入出力処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、  
実空間の所定の操作領域Ｓd内でユーザが位置を指示する位置入力部を介してユーザが指示した前記操作領域Ｓd内の指示位置ｒdを取得する指示位置取得手順と、
前記の取得された操作領域Ｓd内の位置ｒdに基づいて、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0を決定する操作領域オフセット量決定手順と、
前記の取得された操作領域Ｓd内の位置ｒdと、仮想空間における操作領域Ｓvの原点位置ｒv0と、前記の決定されたオフセット量Δｒv0に基づいて、ユーザが前記位置入力部を介して指示した実空間上の位置に対応する仮想空間上の指示位置ｒvを決定する指示位置決定手順と、
を実行させ、
前記位置入力部が実空間において持つ操作領域Ｓdは、前記操作領域Ｓdの周縁付近の移動領域と、前記移動領域の内側となるインタラクション領域に分割され、
前記操作領域オフセット量決定手順では、前記の計測された操作領域Ｓd内の指示位置ｒdがインタラクション領域又は移動領域のいずれに存在するかを判別し、指示位置ｒdが前記インタラクション領域内に存在するときには、仮想空間における操作領域Ｓvの原点位置ｒv0に対してオフセット量Δｒv0を与えないが、指示位置ｒdが前記移動領域内に存在するときには、仮想空間における操作領域Ｓvの原点位置ｒv0に対して指示位置ｒdに応じたオフセット量Δｒv0を与える、
ことを特徴とするコンピュータ・プログラムである。
【００５３】
本発明の第３の側面に係るコンピュータ・プログラムは、コンピュータ上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第３の側面に係るコンピュータ・プログラムをコンピュータにインストールすることによって、コンピュータ上では協働的作用が発揮され、本発明の第１の側面に係る情報入出力装置と同様の作用効果を得ることができる。
【発明の効果】
【００５４】
本発明によれば、実空間における操作領域Ｓdを用い、これに対応する仮想空間における操作領域Ｓv内の操作を好適に行なうことかでできる、優れた情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムを提供することができる。
【００５５】
また、本発明によれば、実空間における操作領域Ｓdに対応する仮想空間における操作領域Ｓvをユーザの意図に応じて移動させて、仮想空間のアクセス可能範囲を拡張し仮想空間の至る場所からの接触感をユーザに与えるような情報出力を行なうことができる、優れた情報入出力装置及び情報入出力方法、並びにコンピュータ・プログラムを提供することができる。
【００５６】
本発明に係る情報入出力装置は、当該装置の物理的な操作領域を、インタラクション領域と移動領域の２領域に分割している。インタラクション領域内での操作では、仮想空間の操作領域Ｓvの移動を発生させず、通常の力触覚インタラクションを行なう。一方、ユーザ操作が移動領域に到達すると、この移動領域への浸透量に応じて仮想領域における操作領域原点ｒv0を移動させて、操作領域Ｓvにオフセットを与えるようにしている。したがって、ユーザは、触れたいと思う方向に手を伸ばすという直感的な操作を通じて、仮想空間の任意の位置へアクセスすることができる。この結果、力覚提示手段を兼ね備えた位置入力部自体が持つ機械的な可動範囲は有限ではあるが、無限に広がる仮想空間の任意の位置へのアクセスが可能であり、これによって、応用範囲が格段に広がる。
【００５７】
また、本発明に係る情報入出力装置は、仮想空間の操作領域を移動するための付加的な入力インターフェースを用いないので、ユーザ操作は煩雑化しない。すなわち、ユーザは、触れたいと思う方向に手を伸ばすという動作のみで仮想空間の操作領域を移動させることができ、直感的で自然な操作系を実現することができる。
【００５８】
また、本発明に係る情報入出力装置は、インタラクションを行なう操作領域では、ハプティック・デバイスとしての性能を最大限に発揮することが可能な構成となっており、仮想オブジェクトに対する接触インタラクションの間に、擦る、滑るといった違和感をユーザに与えたり、性能が劣化したりすることはない。
【００５９】
本発明に係る情報入出力装置は、操作領域を拡張するために装置を大型化する必要は無く、小型化、低コスト化を実現することができる。この結果、一般家庭への普及も期待され、例えば、ゲーム用インターフェースとして利用することもできる。
【００６０】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００６１】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００６２】
仮想現実や遠隔現実などの技術分野では、視覚情報や聴覚情報に加えて操作者に力覚や触覚を提示するためのハプティック・デバイスが必須である。例えば、多指型のハプティック・デバイスは、作業対象に直接的に作業をしているような間隔を操作者に与えることができる。
【００６３】
ハプティック・デバイスの可動範囲は有限であることから、仮想空間における操作領域は、実空間上の操作領域と同じ大きさしか持たない。このため、現在は操作領域外にある仮想オブジェクトからの接触感を得るには、当該オブジェクトを収容するよう、実空間の操作領域に対応する仮想空間の操作領域を移動させる必要がある。
【００６４】
本発明に係る力覚提示装置は、当該装置の物理的な操作領域を、インタラクション領域と移動領域の２領域に分割している。
【００６５】
インタラクション領域内でのユーザ操作では、仮想空間の操作領域Ｓvの移動を発生させず、通常の力触覚インタラクションを行なう。インタラクション領域では、ハプティック・デバイスとしての性能を最大限に発揮することが可能であり、仮想オブジェクトに対する接触インタラクションの間に、擦る、滑るといった違和感をユーザに与えたり、性能が劣化したりすることはない。
【００６６】
一方、ユーザ操作が移動領域に到達すると、この移動領域への浸透量に応じて仮想領域における操作領域原点ｒv0を移動させて、操作領域Ｓvにオフセットを与えるようにしている。したがって、力覚提示装置自体が持つ機械的な可動範囲は有限ではあるが、ユーザは触れたいと思う方向に手を伸ばすという直感的な動作により移動領域における操作を行なうことで、無限に広がる仮想空間の任意の位置へのアクセスを行なうことができる。
【００６７】
図１には、ハプティック・デバイスを適用したシステムの構成例を示している。図示のシステムは、スピーカ、ディスプレイ、並びに力覚提示器（ハプティック・デバイス）１６といった入出力装置を介して、計算機１０上に構築された３次元空間の様子をユーザに提示するようになっている。
【００６８】
計算機１０上では、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１が、ハード・ディスク（ＨＤＤ）１３上に記録されたデータを基に、３次元空間で発生した事象に関連した音情報、映像情報、力情報などの時間的変化をリアルタイムで算出し、メモリ（ＲＡＭ）１２に展開される。
【００６９】
これら３次元空間で発生した音情報、映像情報、力情報は、サウンド・カード及びスピーカ１４、ビデオ・カード及びディスプレイ１５、並びにハプティック・デバイス１６を介して出力される。これらの入出力系を同期・協調的に駆使することで、計算機上に構築された３次元空間が、あたかも実在する空間であるかの如く、高いリアリティと臨場感を以ってユーザに提示される。
【００７０】
以上のデバイス１１〜１６は、リアルタイム性を確保するのに十分な速度を有した高速なバス１７によって接続され、相互に情報の授受が可能であるとする。
【００７１】
図２には、図１に示したシステムで適用することができるハプティック・デバイスの構成例を示している。なお、１指向けの１ユニットであり、各指用のユニットを組み合わせることで、多指型のハプティック・デバイスを構成することができる。
【００７２】
図示のハプティック・デバイスは、シリアル・リンク機構からなり、ユーザの指先を挿入して保持する指ホルダ部と、指ホルダ部に保持された指先に対して空間における力を提示する力提示手段と、力提示手段の先端部に取り付けられて、力提示手段を構成するシリアル・リンクの先端部分で、不要なモーメントが発生しないように指ホルダ部を支持する指ホルダ部支持手段を備えている。
【００７３】
力提示手段は、リンク間を接続する３つのジョイントＪ１、Ｊ２、Ｊ３の基本３自由度駆動系からなり、先端の指ホルダ部に対し並進３自由度の力提示を行なう。また、各ジョイントＪ１、Ｊ２、Ｊ３はそれぞれモータＭ１、Ｍ２、Ｍ３でワイヤ伝動により駆動する駆動関節である。
【００７４】
また、指ホルダ部支持手段は、力提示手段を構成するアームの先端部分において、指ホルダ部を支持している。図示の例では、指ホルダ部支持手段は、３自由度を持つジンバル機構Ｇ１、Ｇ２、Ｇ３からなる。このジンバル機構は、ヨー、ロール、及びピッチの３軸が互いに直交して１点で交わる構成であり、指ホルダ部とシリアル・リンクのアーム構造を連結し、指ホルダ部は自由に回転できるものとする。
【００７５】
駆動関節Ｊ２並びにＪ３はトルク干渉駆動である。また、各モータＭ１、Ｍ２、Ｍ３の出力軸にはエンコーダが取り付けられ、その値から各駆動関節Ｊ１、Ｊ２、Ｊ３の角度を算出することができる。また、ジンバル機構Ｇ１、Ｇ２、Ｇ３にはポテンショメータが取り付けられ、その角度計測ができるものとする。
【００７６】
例えば、本出願人に既に譲渡されている特願２００７−２７２０９８号明細書で開示されている力触覚提示装置を、計算機１０に接続するハプティック・デバイス１６として用いることができる。
【００７７】
図２に示したハプティック・デバイスの操作領域が有限であるということは、当業者には容易に理解できるであろう。本システムの主な特徴は、ハプティック・デバイスの有限な操作領域を凌駕した、広大な広がりを持つ仮想空間の任意の位置に、できるだけ自然なユーザ操作を通じてアクセスし、ユーザに対して適切な接触感を与える点にある。
【００７８】
図３には、ハプティック・デバイスを介して仮想空間の任意の位置にユーザがアクセスし触感を得るために、ＣＰＵ１１上で実行される制御プログラムの構成を模式的に示している。
【００７９】
仮想３次元空間の状態は、同空間に存在する各オブジェクトが持つ属性情報によって規定されるが、これらオブジェクト毎の属性情報は３次元オブジェクト・データ蓄積部１０１に保持されている。３次元オブジェクト・データ蓄積部１０１の実体は、例えばＨＤＤ１２である。各オブジェクトの属性情報としては、位置、姿勢、寸法、接続関係、関節位置といった幾何属性、質量、慣性テンソル、摩擦、反発係数、関節発生力、外力といった力学属性、減衰特性、固有振動波形などの振動属性に関するデータが挙げられ、３次元空間で発生した事象に関連した音情報、映像情報、力情報などの時間的変化を算出する際に用いられる。３次元オブジェクト・データ内には、ユーザの多指に関する指モデルも含まれる。指モデルについても、他のオブジェクトと同様に、幾何属性、力学属性、振動属性といったパラメータが保持される。
【００８０】
なお、振動属性は、３次元仮想空間上でオブジェクト間の衝突や接触といったインタラクションが発生したときに、力学シミュレーション結果に基づいてリアリティのある効果音を生成するために用いられる。効果音の生成方法に関しては、例えば本出願人に既に譲渡されている特開２００７−１６４２９１号公報に記載されている。但し、効果音の生成は本発明の要旨に直接関連しないので、本明細書ではこれ以上説明しない。
【００８１】
カメラ・モデル１１４は、３次元オブジェクト・データで表される仮想環境の状況をディスプレイに描画するための視点を与える。カメラ・モデル１１４には、カメラの位置、姿勢、画角といった情報が含まれる。（本明細書で言う「カメラ」は、物体の像を記録する物理的なカメラではなく、コンピュータ・グラフィックス分野において３次元シーンの描画を行なう際の視点を定義する要素のことであり、「バーチャル・カメラ」とも呼ばれる。）
【００８２】
仮想環境描画部１１５は、カメラ・モデル１１４として定義される座標系を視点とした、３次元オブジェクト・データの状況をレンダリングして、ディスプレイ１５に表示する。
【００８３】
３次元オブジェクト・データ蓄積部１０１内の各オブジェクトは、順動力学演算部１０２における力学演算の結果に応じて位置や姿勢が変更される。ここで言う順動力学演算は、オブジェクト内部に発生する力やオブジェクト外部に作用する力に基づいてオブジェクトに発生する加速度を得る演算であり、この加速度を積分することで、オブジェクトの運動をニュートン・オイラー（Ｎｅｗｔｏｎ−Ｅｕｌｅｒ）力学に基づいてシミュレートする。この順動力学演算の結果を各オブジェクトの位置や姿勢に反映することにより、各オブジェクトは力学法則に基づいたリアルな動きを呈する。
【００８４】
本発明では、順動力学演算部１０２の構成方法は特に限定されない。例えば、本出願人に既に譲渡されている特開２００７−１０８９５５号公報に開示されている順動力学演算ＦＷＤを本発明にも適用することができる。順動力学演算を４過程に分解して、イナーシャ情報算出⇒速度情報算出⇒力情報算出⇒加速度情報算出の順で実行するようにしてもよい。このような場合、ロボットなどのリンク構造物に任意の力を作用させた条件下で任意の場所並びに方向に発生する加速度を得ることができる。但し、指モデルの位置及び姿勢のオブジェクト・データに関しては、順動力学演算によるシミュレーション結果ではなく、ハプティック・デバイス位置計測部１１０において得られた実際の指の位置及び姿勢が反映される。
【００８５】
ハプティック・デバイス１６を構成するシリアル・リンクの各ジョイントＪ１、Ｊ２、Ｊ３には回転角を測定するエンコーダが取り付けられ、また、ジンバル機構Ｇ１、Ｇ２、Ｇ３にはポテンショメータが取り付けられている。ハプティック・デバイス位置計測部１１０は、これらエンコーダ並びにポテンショメータの出力値に基づいて、周知の順運動学演算（関節値から，リンク構造物上の与えられた点の位置・姿勢を求める演算）を解いて、ハプティック・デバイス１６を装着したユーザの指の実際の指の位置及び姿勢を算出する。
【００８６】
ポインタ位置決定部１１２は、上式（１）に基づいて、ハプティック・デバイス先端の位置ｒdをスケール・ファクタＫでスケール倍し、これにハプティック・デバイス原点の仮想空間内の位置ｒv0を加算して、仮想空間内の指ポインタの位置ｒvを決定する。
【００８７】
そして、カメラ位置決定部１１３は、ハプティック・デバイス原点の仮想空間内の位置ｒv0に連動して、カメラ・モデル１１４の座標系を移動する。原点位置ｒv0の移動に連動してカメラ座標系を移動しないと、仮想空間の操作領域Ｓvの移動に伴って指ポインタが描画領域外に取り残され、操作不能な状況になる。カメラ位置決定部１１３は、図４に示すように、カメラ座標系から見てハプティック・デバイス１６の原点位置が一定位置eｒvにあるように、カメラ座標系の位置を決定して、ハプティック・デバイス１６の原点位置ｒv0のオフセット量Δｒv0と同量だけ、カメラ座標ｒeを平行移動する。すなわち、カメラ位置決定部１１３が、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0に応じて、カメラ・モデルの座標系を併せて移動するようにすることで、指示位置ｒvすなわち指ポインタを描画領域内に常に収容し、仮想環境の操作可能な状況を保つことができるようになる。
【００８８】
衝突検出部１０４は、３次元オブジェクト・データ蓄積部１０１内のオブジェクト間の衝突事象を検出し、衝突点集合を算出する。本発明では、オブジェクト間の衝突検出方法は特に限定されない。例えば、ＧＪＫアルゴリズム（Ｇｉｌｂｅｒｔ−Ｊｏｈｎｓｏｎ−Ｋｅｅｒｔｈｉ  ｄｉｓｔａｎｃｅ  ａｌｇｏｒｉｔｈｍ）を用いた衝突検出方法などを適用することができるが、その詳細に関しては、例えば本出願人に既に譲渡されている特開２００７−１０２３９４号公報を参照されたい。
【００８９】
衝突力算出部１０５は、衝突検出部１０４で算出された衝突点に作用する外力を算出し、３次元オブジェクト・データ蓄積部１０１内の該当オブジェクトの外力情報として登録する。登録された外力情報は、順動力学演算部１０２における演算に用いられ、各オブジェクトの運動に影響を及ぼす。本発明では、衝突力の算出法は特に限定されないが、本出願人に既に譲渡されている特開２００７−１０８９５５号公報に開示されている算出方法を適用することができる。
【００９０】
指先作用力算出部１０６は、衝突力算出部１０５で算出した外力のうち、各指モデルに作用するものの合力を算出する。ここで求められる指先作用力は、仮想環境中で、各指モデルが他のオブジェクトと接触した際に指モデルに作用する外力であり、実世界では、人の指が外界から受ける外力に相当する。この力をハプティック・デバイス１６に提示すれば、ユーザに対して指で仮想物体に触れた感覚をフィードバックすることができる。
【００９１】
逆力運動学演算部１０７は、指先作用力算出部１０６で算出された力を、ハプティック・デバイス１６の先端で発生する（すなわち、ユーザの指先にフィードバックする外力を与える）ために必要となる関節力を算出する。一般には、ハプティック・デバイス１６には重さ、イナーシャ、並びに摩擦が含まれているので、ダイナミクスを考慮してこれらの影響を除去した上で、指先作用力算出部１０６で算出された力を提示する。このような制御方法は「動力学補償制御」と呼ばれるが、例えば本出願人に既に譲渡されている特願２００７−２７２０９９号明細書に記載されている制御方法を適用することができる。
【００９２】
関節力制御部１０８は、作用力制御部１０８は、ハプティック・デバイス１６の各関節が逆力運動学演算部１０７で得られた関節力を発生するように、各関節のモータを例えば電流制御により制御する。これによって、指ホルダに装着しているユーザの指先を介して、仮想物体に触れた感覚をフィードバックすることができる。
【００９３】
操作領域オフセット量決定部１１１は、ハプティック・デバイス１６に対するユーザ操作に応じて、ハプティック・デバイス原点の仮想空間内の位置ｒv0を決定する。ハプティック・デバイス１６は、機械的・物理的な制約などにより可動範囲が定まるため、実空間における操作領域は有限である。本実施形態では、ハプティック・デバイス１６が持つ実空間の操作領域を、図５に示すように、当該操作領域の周縁付近の移動領域と、この移動領域よりも内側のインタラクション領域の２領域に分割している。
【００９４】
インタラクション領域内にハプティック・デバイス先端位置ｒd が存在する場合、ハプティック・デバイス原点の仮想空間内での位置ｒv0は移動しないので、通常通りの精緻な力触覚インタラクションが実現される。仮想オブジェクトに対する接触インタラクションの間に、擦る、滑るといった違和感をユーザに与えることのない、高精度な力触覚インタラクションを実現する。
【００９５】
一方、ハプティック・デバイス１６の先端位置ｒdが移動領域内に存在する場合には、インタラクション領域からの距離に比例してハプティック・デバイス原点の仮想空間内での位置ｒv0をオフセットさせる。ハプティック・デバイス１６が持つ機械的な可動範囲は有限ではあるが、ユーザは触れたいと思う方向に手を伸ばすという直感的な動作により移動領域における操作を行なうことになり、無限に広がる仮想空間の任意の位置へアクセスすることが可能である。
【００９６】
すなわち、ハプティック・デバイス１６の先端位置ｒdに対し、仮想空間の操作領域原点ｒv0は下式（５）〜（７）のように決定される。
【００９７】
【数５】
0004645678.tif 000006
【００９８】
【数６】
0004645678.tif 000007
【００９９】
【数７】
0004645678.tif 000008
【０１００】
上式（５）〜（７）において、Δｒv0はハプティック・デバイス原点の仮想空間内での位置ｒv0の増分を表す。添え字ｉは位置のＸ、Ｙ、Ｚ成分を表すインデックスであり、ｒdi及びΔｒv0iは、ｒd及びΔｒv0の第ｉ成分を表す。Ｃは比例定数、Ｌは矩形のインタラクション領域の一辺の長さの２分の１を表す。
【０１０１】
このようにして得られたハプティック・デバイス原点ｒv0の仮想空間内での移動量Δｒv0に応じて、カメラ座標系の位置ｒeも、下式（８）に従って移動する（図４を参照のこと）。但し、Δｒeはｒeの増分を表す。
【０１０２】
【数８】
0004645678.tif 000009
【０１０３】
上式（８）のようにハプティック・デバイス１６の原点位置ｒv0の移動に連動してカメラ座標系の位置ｒeを移動するのは、仮想空間の操作領域Ｓvの移動に伴って指ポインタが描画領域外に取り残されないようにするためである（前述）。言い換えれば、指ポインタを描画領域内に常に収容し、仮想環境の操作可能な状況を保つ。
【０１０４】
図６には、上式（５）〜（８）で表される、ハプティック・デバイス１６の移動領域でのユーザ操作に応じた仮想領域内の原点位置ｒv0の移動と、これに伴うカメラ座標系の位置ｒeの移動のアルゴリズムを用いることにより、仮想空間の操作領域Ｓvを移動させる様子を示している。同図中の一点鎖線で表される領域はインタラクション領域に相当する。
【０１０５】
図示の例では、ハプティック・デバイス１６の実空間の操作領域Ｓdは有限であっても、仮想空間内では原点位置ｒv0の移動により操作領域Ｓvをオフセットさせることで、（操作領域Ｓdよりもサイズの大きい）ＣＧキャラクタ（エージェント）の全身の至る所にアクセスすることができる。すなわち、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0に応じて、カメラ・モデルの座標系を併せて移動するようにすることで、指示位置ｒvすなわち指ポインタをディスプレイ１５の表示画面内に常に収容し、仮想環境の操作可能な状況を保つことができるようになる。他方、仮想空間内で原点位置ｒv0の移動を行なわないときには、エージェントの頭部付近しか触れることができない。
【０１０６】
本実施形態では、図２に示したようなハプティック・デバイス１６以外の入力手段を用いることなく、触れたい場所の方向にユーザの手を移動させるのみで、（操作領域Ｓdのうちの移動領域への浸透量に応じて）仮想空間の操作領域Ｓvが自然とオフセットするので、ユーザは、ストレス無く仮想空間のすべての領域にアクセスすることが可能となる。また、操作領域Ｓdのうちのインタラクション領域でのハプティック・デバイス１６の操作では、滑りや分解能の低下といった問題が発生することなく、ハプティック・デバイス１６本来の性能を発揮した、良好な力触覚提示を行なうことができる。
【０１０７】
また、ここまでは、説明の簡素化のため、１指のハプティック・デバイス（図２を参照のこと）を用いた場合に限定して述べてきた。勿論、図７Ａ並びに図７Ｂに示すような、１指用のハプティック・デバイスを複数組み合わせた多指システムにも拡張して本発明を適用することができる。この場合、単一の１指のハプティック・デバイスの先端位置を算出する代わりに、すべての指のハプティック・デバイス先端位置を算出し、下式（９）に示すような平均位置ｃd、あるいは、より一般的には下式（１０）に示すような加重平均を操作領域オフセット量の決定に用いる。
【０１０８】
【数９】
0004645678.tif 000010
【０１０９】
【数１０】
0004645678.tif 000011
【０１１０】
上式において、ｊは指の通し番号で、Ｎは接続される指の総数あり（ｊは１〜Ｎの整数）、ｒjdは第ｊ指に接続されたハプティック・デバイス１６jの先端位置を表し、ｗjは第ｊ指の重みを表す。すると、上式（５）〜（７）による操作領域オフセット量決定則は、以下のように拡張される。
【０１１１】
【数１１】
0004645678.tif 000012
【０１１２】
【数１２】
0004645678.tif 000013
【０１１３】
【数１３】
0004645678.tif 000014
【０１１４】
図８Ａ並びに図８Ｂには、多指システムに本発明を適用した場合に仮想環境描画１１５において描画したＣＧ画面の表示例を示している。同図では、仮想空間における仮想オブジェクトのインタラクションと操作領域の移動を行なう様子を、２０フレームにわたって示している。ハプティック・デバイスの物理的な操作領域では到達不能な遠方の立方体に手を伸ばし、把持して、ＣＧキャラクタに渡す操作を自然な形で行なうことができる、という点を十分理解されたい。同図に示すように、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0に応じて、カメラ・モデルの座標系を併せて移動するようにすることで、指示位置ｒvすなわち指ポインタをディスプレイ１５の表示画面内に常に収容し、仮想環境の操作可能な状況を保つことができるようになる。他方、仮想空間内で原点位置ｒv0の移動を行なわないときには、エージェントの頭部付近しか触れることができない。
【０１１５】
また、上記の多指システムは、片腕だけではなく、双腕にわたっていても問題はない。すなわち、図７に示したハプティック・デバイスを、図９に示すように、ユーザの左右それぞれの手に接続するように構成されたシステムにおいても、すべての指の平均位置若しくは加重平均位置を基に、操作領域オフセット量を、上式（１１）〜（１３）に従って決定することができ、同様に、自然な形で仮想空間の任意の場所へのアクセスが可能になる。
【０１１６】
図１０には、双腕の多指システムにおける仮想環境のＣＧ画面表示例を示している。ポインタ位置決定部１１２は、上式（１）に基づいて、指ｊ毎に、仮想空間内の原点位置ｒv0を加算して、仮想空間内の指ポインタの位置ｒvjを決定する。そして、仮想環境描画部１１５は、図９に示すように、左右それぞれの手の指ポインタ群を表示する。
【０１１７】
図１１には、双腕システムにおいてエージェントの体の各部に両手で触れたり、遠方の立方体を両手で掴んでＣＧキャラクタ（エージェント）の目前まで運搬したりする様子を、１５フレームにわたって示している。図８と同様に、ハプティック・デバイスの物理的な操作領域では到達不能な遠方の立方体に手を伸ばし、把持して、ＣＧキャラクタに渡す操作を自然な形で行なうことができる。また、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0に応じて、カメラ・モデルの座標系を併せて移動するので、各指の指ポインタをディスプレイ１５の表示画面内に常に収容し、仮想環境の操作可能な状況を保つことができる。
【０１１８】
図１２には、図１に示した計算機１０において、図３に示した構成の制御プログラムを実行することによって、仮想環境の描画出力並びに力触覚提示を行なうための処理手順をフローチャートの形式で示している。
【０１１９】
まず、ハプティック・デバイス位置計測部１１０において、ハプティック・デバイス１６に取り付けられたエンコーダの出力値を基に、順運動学演算によって、ハプティック・デバイス１６の先端位置（上式（１）内のｒd）を算出する（処理ｐ１）。
【０１２０】
次いで、操作領域オフセット量決定部１１１において、上式（５）〜（７）に従い、ハプティック・デバイス１６の原点の仮想空間内での位置ｒv0 をオフセットさせる（処理ｐ２）。
【０１２１】
ハプティック・デバイスの実空間の操作領域Ｓdは、図５に示すように、中央のインタラクション領域と、周縁付近の移動領域に２分割されている。ハプティック・デバイス１６で指示される位置ｒdがインタラクション領域内にとどまるときには、ユーザ操作は仮想空間における操作領域Ｓv（当該領域内の仮想オブジェクト）に対するユーザ操作に他ならず、上式（５）で表すように、仮想空間内での位置ｒv0に対してオフセットを与えない。これに対し、ハプティック・デバイス１６で指示される位置ｒdが移動領域に突入すると、上式（６）又は（７）に従って、移動領域への浸透量に応じて操作領域Ｓvにオフセットを与える。この結果、ハプティック・デバイス自体が持つ機械的な可動範囲は有限ではあるが、無限に広がる仮想空間の任意の位置へのアクセスが可能となる。
【０１２２】
次いで、ポインタ位置決定部１１２において、上式（１）に従って、仮想空間内での指ポインタの位置ｒvを決定する（処理ｐ３）。
【０１２３】
次いで、カメラ位置決定部１１３において、図４に示したように、カメラ・モデルの座標系から見てハプティック・デバイス１６の原点位置が一定位置eｒvにあるように、カメラ座標系の位置を決定する（処理ｐ４）。
【０１２４】
カメラ位置決定部１１３が、仮想空間における操作領域Ｓvの原点位置ｒv0のオフセット量Δｒv0に応じて、カメラ・モデルの座標系を併せて移動するようにすることで、指示位置ｒvすなわち指ポインタを描画領域内に常に収容し、仮想環境の操作可能な状況を保つことができる。他方、原点位置ｒv0の移動に連動してカメラ座標系を移動しないと、仮想空間の操作領域Ｓvの移動に伴って指ポインタが描画領域外に取り残され、操作不能な状況になる。
【０１２５】
次いで、順動力学演算部１０２において、力学シミュレーションのための演算を微小時刻分（例えば１ミリ秒）だけ実行し、３次元オブジェクト・データ蓄積部１０１内の各オブジェクトの位置、姿勢を更新する（処理ｐ５）。
【０１２６】
次いで、衝突検出部１０４において、３次元オブジェクト・データ蓄積部１０１内のオブジェクト間の衝突を出し、衝突点の集合を作成する（処理ｐ６）。衝突検出には、例えばＧＪＫアルゴリズム（前述）を用いることができる。
【０１２７】
次いで、衝突力算出部１０５において、衝突点に発生する外力を算出し、３次元オブジェクト・データに当該外力を作用させる（処理ｐ７）。
【０１２８】
次いで、指先作用力算出部１０６において、衝突力算出部１０５で算出した外力のうち、指モデルに作用する力を求める（処理ｐ８）。また、多指システムの場合には各指モデルに作用する力の合力を求める。
【０１２９】
次いで、逆動力学演算部１０７において、動力学補償を考慮しながら、ハプティック・デバイス１６の先端で発生するために必要な関節力を算出する（処理ｐ９）。
【０１３０】
次いで、関節力制御部１０８において、逆動力学演算部１０７で得られた関節力を実現するよう、すべての関節を電流制御する（処理ｐ１０）。
【０１３１】
上記内容を，十分短い時間刻み（例えば１ミリ秒）毎に実行するのが、図１に示した計算機１０上で実施される仮想環境の描画出力並びに力触覚提示処理の概要である。
【０１３２】
ここまでの説明では、図４〜５に示すように、仮想空間における操作領域Ｓvの移動として並進運動についてのみ扱ってきたが、勿論、回転運動についても同様に適用することができる。以下では、この点について詳解する。
【０１３３】
図２に示したハプティック・デバイスの先端は、基本的にジンバル機構により自由回転できるが、姿勢に関して可動域が存在する。その姿勢可動域についても、内側のインタラクション領域と外側の移動領域を設ける。そして、操作領域オフセット量決定部１１１は、移動領域への浸透量に応じて、ハプティック・デバイス１６の操作原点ｒdに設けられた座標系を回転するようにすれば、任意の姿勢で任意の場所にアクセスできるようになる。
【０１３４】
その際、ハプティック・デバイス位置計測部１１０を、ハプティック・デバイスの姿勢（３×３行列）Ｒdも算出するものとし、ポインタ位置決定部１１２は、下式（１４）に示すように、ハプティック・デバイス１６の原点位置に設定された座標系の姿勢Ｒv0をＲdに加算して，ポインタの姿勢Ｒvも決定する。
【０１３５】
【数１４】
0004645678.tif 000015
【０１３６】
そして、カメラ位置決定部１１３は、カメラ・モデル１１４として、カメラ位置だけでなくカメラ位置も、操作領域オフセット量に併せて変更する。すなわち、ハプティック・デバイス１６の原点座標系の回転量と同量だけ、カメラ座標系の姿勢Ｒeを変更する。操作領域オフセット量決定部１１１は、ハプティック・デバイス１６の操作原点座標系の姿勢Ｒv0も操作する。
【０１３７】
図１３に示すように、ある姿勢角（正面姿勢）を中心として，内側のインタラクション領域（姿勢角Θ の範囲）と、その外側の移動領域に分ける。姿勢角は、ハプティック・デバイス１６の姿勢Ｒdから周知のオイラー角を抽出することで得られる（但し、図１３ではピッチ角についてのみ記載している）。
【０１３８】
姿勢角が移動領域に到達すると、移動領域への浸透量に応じてハプティック・デバイス１６の操作原点座標系を回転する。実空間上の指示姿勢Ｒdのピッチ角をγdとすると、上式（５）〜（７）による操作領域オフセット量決定則は、下式（１５）〜（１７）のように拡張される。但し、Δγv0は、ハプティック・デバイス１６の操作原点座標系の姿勢Ｒv0のピッチ角Θの増分を表す。
【０１３９】
【数１５】
0004645678.tif 000016
【０１４０】
【数１６】
0004645678.tif 000017
【０１４１】
【数１７】
0004645678.tif 000018
【０１４２】
カメラ座標系も、図１４に示すように、上式（１６）、（１７）から得られたハプティック・デバイス１６の原点の仮想空間内での姿勢変化に応じて、カメラ座標系の姿勢Ｒeも平行移動する。すなわち、カメラ座標系のピッチ角について記載すれは、下式（１８）の通りとなる。但し、Δγeはカメラ姿勢Ｒeのピッチ角の増分を表す。
【０１４３】
【数１８】
0004645678.tif 000019
【０１４４】
図１５には、姿勢に関してもハプティック・デバイス１６の操作原点座標系オフセットの処理を追加し、ＣＧキャラクタのさまざまな方向からアクセスした例を示している。ジンバルＧ１〜Ｇ３の可動域は有限であるが、ハプティック・デバイス１６の操作原点の姿勢及びカメラ姿勢が自動で変更され、可動域を消耗し尽くすことなく、全周方向からＣＧキャラクタにアクセスできていることが同図から理解できよう。姿勢に関しても、インタラクション領域内では姿勢のオフセットは発生しないので、ハプティック・デバイス１６が本来持つ性能を以って力触覚インタラクションを行なうことができることは言うまでもない。
【産業上の利用可能性】
【０１４５】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１４６】
本発明に係る情報入出力装置は、医療やその他の特殊技能の習得、小宇宙や海洋などの仮想環境や、原子炉などの特殊若しくは危険な環境での遠隔作業などを始めとしたさまざまなアプリケーションにおいて、実際に触手できない環境の物体への３次元の力覚や触覚をユーザにフィードバックするために適用することができる。
【０１４７】
また、本発明に係る情報入出力装置は、仮想空間の操作領域を移動するための付加的な入力インターフェースを用いず、ユーザが触れたいと思う方向に手を伸ばすという動作のみで仮想空間の操作領域を移動させて、無限に広がる仮想空間の任意の位置へのアクセスを可能にするものであるが、かかる構成は、ハプティック・デバイスのみならず、さまざまなタイプの３次元位置入力デバイスにも適用することができる。
【０１４８】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１４９】
【図１】図１は、ハプティック・デバイスを適用したシステムの構成例を示した図である。
【図２】図２は、図１に示したシステムで適用することができるハプティック・デバイスの構成例を示した図である。
【図３】図３は、ハプティック・デバイスを介して仮想空間の任意の位置にユーザがアクセスし触感を得るために、ＣＰＵ１１上で実行される制御プログラムの構成を模式的に示した図である。
【図４】図４は、カメラ座標系から見てハプティック・デバイス１６の原点位置が一定位置eｒvにあるように、カメラ座標系の位置を決定する様子（但し、並進運動の場合）を示した図である。
【図５】図５は、ハプティック・デバイス１６が持つ実空間の操作領域を、当該操作領域の周縁付近の移動領域と、この移動領域よりも内側のインタラクション領域の２領域に分割した様子（但し、並進運動の場合）を示した図である。
【図６】図６は、ハプティック・デバイス１６の移動領域でのユーザ操作に応じた仮想領域内の原点位置ｒv0の移動と、これに伴うカメラ座標系の位置ｒeの移動の様子を示した図である。
【図７Ａ】図７Ａは、複数の１指ハプティック・デバイスを組み合わせた多指システムの概観を示した図である。
【図７Ｂ】図７Ｂは、複数の１指ハプティック・デバイスを組み合わせた多指システムの機能的構成を示した図である。
【図８Ａ】図８Ａは、多指システムに本発明を適用した場合に仮想環境描画１１５において描画したＣＧ画面の表示例を示した図である。
【図８Ｂ】図８Ｂは、多指システムに本発明を適用した場合に仮想環境描画１１５において描画したＣＧ画面の表示例を示した図である。
【図９】図９は、双腕にわたる多指システムの概観を示した図である。
【図１０】図１０は、双腕の多指システムにおける仮想環境のＣＧ画面表示例を示した図である。
【図１１】図１１は、双腕システムにおいてエージェントの体の各部に両手で触れたり、遠方の立方体を両手で掴んでＣＧキャラクタ（エージェント）の目前まで運搬したりする様子を示した図である。
【図１２】図１２は、図１に示した計算機１０において、図３に示した構成の制御プログラムを実行することによって、仮想環境の描画出力並びに力触覚提示を行なうための処理手順を示したフローチャートである。
【図１３】図１３は、ハプティック・デバイス１６が持つ実空間の操作領域を、当該操作領域の周縁付近の移動領域と、この移動領域よりも内側のインタラクション領域の２領域に分割した様子（但し、回転運動の場合）を示した図である。
【図１４】図１４は、カメラ座標系から見てハプティック・デバイス１６の原点位置が一定位置eｒvにあるように、カメラ座標系の位置を決定する様子（但し、回転運動の場合）を示した図である。
【図１５】図１５は、姿勢に関してもハプティック・デバイス１６の操作原点座標系オフセットの処理を追加し、ＣＧキャラクタのさまざまな方向からアクセスした例を示した図である。
【図１６】図１６は、シリアル・リンクを用いたペン型のハプティック・デバイスの構成例を示した図である。
【図１７】図１７は、パラレル・リンク構造を用いて３軸力乃至６軸力モーメントの提示を行なうハプティック・デバイスの構成例を示した図である。
【図１８】図１８は、指と遠隔のモータ間をワイヤで接続し、ワイヤを介して力を印加するハプティック・デバイスの構成例を示した図である。
【図１９】図１９は、対向型マニピュレータにハンド型力提示機構を付加するハプティック・デバイスの構成例を示した図である。
【図２０】図２０は、ハプティック・デバイスの実空間における操作領域Ｓdと、これに対応する仮想空間における操作領域Ｓvを示した図である。
【図２１】図２１は、ハプティック・デバイスの実空間における操作領域Ｓdに対応する仮想空間の操作領域Ｓvを、オブジェクトＢを包含する位置まで移動（平行移動）させる様子を示した図である。
【符号の説明】
【０１５０】
１０…計算機
１１…ＣＰＵ
１２…ＲＡＭ
１３…ＨＤＤ
１４…サウンド・カード及びスピーカ
１５…ビデオ・カード及びディスプレイ
１６…ハプティック・デバイス
１７…バス
１０１…３次元オブジェクト・データ蓄積部
１０２…順動力学演算部
１０４…衝突検出部
１０５…衝突力算出部
１０６…指先作用力算出部
１０７…逆動力学演算部
１０８…関節力制御部
１１０…ハプティック・デバイス位置計測部
１１１１１２…ポインタ位置決定部
１１３…カメラ位置決定部
１１４…カメラ・モデル
１１５…仮想環境描画部
【図１２】
0004645678.tif 000020
【図１８】
0004645678.tif 000021
【図１】
0004645678.tif 000022
【図２】
0004645678.tif 000023
【図３】
0004645678.tif 000024
【図４】
0004645678.tif 000025
【図５】
0004645678.tif 000026
【図６】
0004645678.tif 000027
【図７Ａ】
0004645678.tif 000028
【図７Ｂ】
0004645678.tif 000029
【図８Ａ】
0004645678.tif 000030
【図８Ｂ】
0004645678.tif 000031
【図９】
0004645678.tif 000032
【図１０】
0004645678.tif 000033
【図１１】
0004645678.tif 000034
【図１３】
0004645678.tif 000035
【図１４】
0004645678.tif 000036
【図１５】
0004645678.tif 000037
【図１６】
0004645678.tif 000038
【図１７】
0004645678.tif 000039
【図１９】
0004645678.tif 000040
【図２０】
0004645678.tif 000041
【図２１】
0004645678.tif 000042