(57)【要約】【課題】複数の指先に対して把持感覚の提示を好適に行なうことができる、優れた力触覚ディスプレイを提供する。【解決手段】力触覚ディスプレイの先端部に位置制御型の自由度を配設し、リンク間を接続する各ジョイントは力制御により駆動して並進力を提示する一方、先端部を位置制御で駆動して指先に接触点の提示を行なう。また、非接触時にも将来発生する衝突点を予測し、予測された衝突点を作用点とするように指先位置制御系をあらかじめ駆動しておくことによって、不連続に発生した衝突現象においても、時間遅延なく良好な作用点提示を実現する。【選択図】  図１
2008209689.tif 000002
【特許請求の範囲】
【請求項１】
複数の物体が存在する仮想環境において、各物体との物理的相互作用に伴って発生する力触覚を提示する力触覚ディスプレイであって、
機械構造上に定められた、力触覚を提示するための作用点と、
前記作用点に発生する力を制御する作用力制御手段と、
前記作用点の位置を制御する作用点制御手段と、
を具備することを特徴とする力触覚ディスプレイ。
【請求項２】
シリアル・リンク構成を備え、リンク間を接続する各ジョイントは前記作用力制御手段によって力制御により駆動されて前記作用点において並進力を提示し、該シリアル・リンクの先端部は前記作用点制御手段による位置制御によって作用点の提示を行なう、
ことを特徴とする請求項１に記載の力触覚ディスプレイ。
【請求項３】
前記仮想環境に存在する各物体間の衝突を検出して作用点情報を出力する衝突検出手段と、
前記仮想環境に存在する各物体間の衝突を予測して該予測される衝突点情報を出力する衝突予測手段と、
前記衝突検出手段又は前記衝突予測手段による衝突点情報に基づいて、前記作用点制御手段における制御目標値となる作用点の位置を決定する作用点決定手段と、
をさらに備えることを特徴とする請求項１に記載の力触覚ディスプレイ。
【請求項４】
仮想環境に存在する物体には、前記作用点に当接するユーザの指に相当する指モデルが含まれ、
前記衝突検出手段は該指モデルと他の物体との衝突を検出するとともに、前記衝突予測手段は該指モデルと他の物体との衝突を予測し、
前記作用力制御手段は、前記作用点においてユーザに提示する力を制御し、
前記作用点制御手段は、ユーザの指に当接する前記作用点の位置を制御する、
ことを特徴とする請求項３に記載の力触覚ディスプレイ。
【請求項５】
前記作用点決定手段は、前記衝突検出手段によって前記指モデル型の物体と衝突していると判断されたときには、前記衝突検出手段が算出した衝突点情報を前記作用点制御手段の制御目標値として決定し、前記衝突検出手段によって前記指モデル型の物体と衝突していないと判断されたときには、前記衝突予測手段が算出した衝突点情報を前記作用点制御手段の制御目標値として決定する、
ことを特徴とする請求項４に記載の力触覚ディスプレイ。
【請求項６】
前記作用点に当接するユーザの指の位置及び姿勢を計測する指位置・姿勢計測手段と、
力学演算に基づいて、前記仮想空間内の前記指モデル以外の物体の位置及び姿勢を決定する力学演算手段をさらに備え、
前記衝突検出手段は、前記指位置・姿勢計測手段による計測結果に基づく指モデルの位置及び姿勢と、前記力学演算手段によって決定された各物体の位置及び姿勢に基づいて前記指モデルと各物体との衝突を検出し、
前記衝突予測手段は、前記指位置・姿勢計測手段による計測結果に基づく指モデルの位置及び姿勢と、前記力学演算手段によって決定された各物体の位置及び姿勢に基づいて前記指モデルと各物体との衝突を予測する、
ことを特徴とする請求項４に記載の力触覚ディスプレイ。
【請求項７】
前記衝突検出手段によって検出された前記指モデルと物体との衝突点において作用する外力を算出する衝突力算出手段と、
前記衝突力算出手段によって算出された、衝突する各物体から前記指モデルに作用する外力の合力からなる指先作用力を算出する指先作用力算出手段をさらに備え、
前記作用力制御手段は、前記指先作用力算出手段によって算出された指先作用力が前記作用点に当接するユーザの指に提示されるように、前記作用点に発生する力を制御する、
ことを特徴とする請求項６に記載の力触覚ディスプレイ。
【請求項８】
前記衝突予測手段は、前記指モデルと他の物体との間の最近傍点対を求め、該最近傍点対のユークリッド距離が最小となる最近傍点対の一方を衝突点として予測する、
ことを特徴とする請求項４に記載の力触覚ディスプレイ。
【請求項９】
前記衝突予測手段は、ＧＪＫアルゴリズム（Ｇｉｌｂｅｒｔ−Ｊｏｈｎｓｏｎ−Ｋｅｅｒｔｈｉ  ｄｉｓｔａｎｃｅ  ａｌｇｏｒｉｔｈｍ）を用いて前記指モデルと他の物体との間の最近傍点対を求める、
ことを特徴とする請求項８に記載の力触覚ディスプレイ。
【請求項１０】
複数の物体が存在する仮想環境において、各物体との物理的相互作用に伴って発生する力触覚を提示する力触覚ディスプレイの制御方法であって、
前記力触覚ディスプレイは、機械構造上に定められた力触覚を提示するための作用点と、前記作用点に発生する力を制御する作用力制御手段と、前記作用点の位置を制御する作用点制御手段を備え、
前記仮想環境に存在する各物体間の衝突を検出して作用点情報を出力する衝突検出ステップと、
前記仮想環境に存在する各物体間の衝突を予測して該予測される衝突点情報を出力する衝突予測ステップと、
前記衝突検出ステップ又は前記衝突予測ステップにおける衝突点情報に基づいて、前記作用点制御手段における制御目標値となる作用点の位置を決定する作用点決定ステップと、
を具備することを特徴とする力触覚ディスプレイの制御方法。
【請求項１１】
複数の物体が存在する仮想環境において、各物体との物理的相互作用に伴って発生する力触覚を提示する力触覚ディスプレイを制御するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
前記力触覚ディスプレイは、機械構造上に定められた力触覚を提示するための作用点と、前記作用点に発生する力を制御する作用力制御手段と、前記作用点の位置を制御する作用点制御手段を備え、
前記コンピュータ・プログラムは前記コンピュータに対し、
前記仮想環境に存在する各物体間の衝突を検出して作用点情報を出力する衝突検出手順と、
前記仮想環境に存在する各物体間の衝突を予測して該予測される衝突点情報を出力する衝突予測手順と、
前記衝突検出手順又は前記衝突予測手順における衝突点情報に基づいて、前記作用点制御手段における制御目標値となる作用点の位置を決定する作用点決定手順と、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境から力触覚提示を享受するための力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムに係り、特に、複数の指先に対して把持感覚の提示を行なう力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、複数の指先に対して指先の何処で接触しているのか作用点の提示を行なう把持型の力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムに係り、特に、不連続に発生した指先と物体間の衝突事象に対して円滑に作用点提示を行なう力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
仮想現実（バーチャルリアリティ）や遠隔現実（テレリアリティ）といった技術分野では、視覚情報や聴覚情報に加えて操作者に力覚や触覚を提示するための力触覚ディスプレイすなわち「ハプティクス・デバイス」が必須である。
【０００４】
近年の計算機速度の向上とシミュレーション技術の進展により、複数の物体が共存し、それらの間で衝突や接触といった物理的相互作用が生じるという仮想環境を、実時間でシミュレートすることが可能となってきた。このように、物体間の衝突やそのときの接触力を、力学を考慮して精密且つ実時間で算出できるようになると、算出された力を実際にモータで発生することで、ハプティクス・デバイスを介して仮想環境の物体に触れたり把持したりした際の感覚をリアルにユーザに提示することが可能となる。
【０００５】
ハプティクス・デバイスのアプリケーションは幅広い。医療やその他の特殊技能の習得、小宇宙や海洋などの仮想環境や、原子炉などの特殊若しくは危険な環境での遠隔作業などにおいて、実際に触手できない環境の物体への３次元の力覚・触覚を提示することができる。実時間処理可能な仮想空間の規模や精度に伴い、将来的には力触覚ディスプレイの需要拡大が見込まれる。
【０００６】
例えば、図１０に示すようなシリアル・リンクを用いたペン型のハプティクス・デバイスが一般的である。ユーザはペン型の先端部を把持し、ここに３軸力乃至６軸力のモーメントの提示が行なわれる（例えば、非特許文献１を参照のこと）。
【０００７】
あるいは、シリアル・リンクの剛性不足を解消する構造として、図１１に示すように、パラレル・リンク構造を用いて３軸力乃至６軸力モーメントの提示を行なうハプティクス・デバイスも提案されている（例えば、特許文献１、非特許文献２、非特許文献３を参照のこと）。
【０００８】
これらのリンク機構を用いたハプティクス・デバイスはいずれも、把持位置の１点のみに対して力触覚提示を行なうもので、言い換えれば、操作者の各指への独立な力触覚提示を行なうものではない。このため、指で仮想物体を把持した感覚を提示することができない、という問題がある。
【０００９】
一方、多指型のハプティクス・デバイスは、例えばロボット・ハンドなどのスレーブ・ハンドを遠隔操作するマスタ・ハンドに適用することにより、マスタハンド（操作手段）の動きがスレーブハンド（作業手段）に伝えられ、且つ、スレーブ・ハンドの力覚がマスタ・ハンドに呈示される機能を有する。すなわち、マスタ側の操作者は、作業対象に対して直接的に作業をしているような感覚を得ることができる。
【００１０】
多指への力提示を行なうべく、図１２に示すように、指と遠隔のモータ間をワイヤで接続し、ワイヤを介して力を印加するハプティクス・デバイスが提案されている（例えば、非特許文献４を参照のこと）。しかし，このような装置構成では、常時ワイヤが弛まないよう制御する必要があり、制御が煩雑になる傾向がある。また、ワイヤ間の干渉が発生し易く、特に回転に関する可動範囲はあまり広くない。
【００１１】
また、図１３に示すような、対向型マニピュレータにハンド型力提示機構を付加するハプティクス・デバイスも提案されている（例えば、非特許文献５を参照のこと）。あるいは、これに類似した方法として、エグゾスケルトン先端にハンド型力提示機構を付加する方法も提案されている（例えば、非特許文献６を参照のこと）。その他、上記シリアル・リンク先端に指サックを取り付け、指への３軸力提示を行なう方式も提案されている（例えば、特許文献２を参照のこと）。
【００１２】
上述した従来技術はいずれも、指先に並進力しか提示できず、各指先のどこで接触しているのか、すなわち作用点を提示することはできない。このため、複数の指先に把持感覚を良好に提示するものとは言い難い。
【００１３】
指先での接触位置提示には、各指への力提示器にさらにモーメント提示を行なうための力制御型自由度を付加する方法が考えられる。ところが、このような方法では、一般に、比較的大出力のモータが必要であり、構造全体の重量が増すとともに、各指への力提示器間の干渉も起こり易くなるため、多指への力提示のための機械構造として不適切となる。
【００１４】
また、作用点の位置制御を行なう場合、不連続に発生した指先と物体間の衝突事象に対して、作用点提示が遅れるという問題もある。
【００１５】
【特許文献１】特許第３３２９４４３号公報
【特許文献２】特開２００４−２９９９９９号公報
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｓｅｎｓａｂｌｅ．ｃｏｍ／ｈａｐｔｉｃ−ｐｈａｎｔｏｍ−ｄｅｓｋｔｏｐ．ｈｔｍ（平成１９年２月３日現在）
【非特許文献２】ｈｔｔｐ：／／ｆｏｒｃｅｄｉｍｅｎｓｉｏｎ．ｃｏｍ／ｆｄ／ａｖｓ／ｈｏｍｅ／ｐｒｏｄｕｃｔｓ／（平成１９年２月３日現在）
【非特許文献３】ｈｔｔｐ：／／ｗｗｗ．ｑｕａｎｓｅｒ．ｃｏｍ／ｉｎｄｕｓｔｒｉａｌ／ｈｔｍｌ／ｐｒｏｄｕｃｔｓ／ｆｓ＿５ｄｏｆ．ａｓｐ（平成１９年２月３日現在）
【非特許文献４】ｈｔｔｐ：／／ｓｋｌａｂ−ｗｗｗ．ｐｉ．ｔｉｔｅｃｈ．ａｃ．ｊｐ／ｆｒａｍｅ＿ｉｎｄｅｘ−ｊ．ｈｔｍｌ（平成１９年２月３日現在）
【非特許文献５】川崎晴久、堀匠、毛利哲也共著「対向型多指ハプティックインターフェース」（日本ロボット学会誌  Ｖｏｌ．２３，Ｎｏ．４，ｐｐ４４９−４５６，２００５）
【非特許文献６】ｈｔｔｐ：／／ｗｗｗ．ｉｍｍｅｒｓｉｏｎ．ｃｏｍ／３ｄ／ｐｒｏｄｕｃｔｓ／ｃｙｂｅｒ＿ｇｒａｓｐ．ｐｈｐ（平成１９年２月４日現在）
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、複数の指先に対して把持感覚の提示を好適に行なうことができる、優れた力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムを提供することにある。
【００１７】
本発明のさらなる目的は、複数の指先に対して指先の何処で接触しているのか作用点の提示を行なうことができる、優れた力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムを提供することにある。
【００１８】
本発明のさらなる目的は、不連続に発生した指先と物体間の衝突事象に対して円滑に作用点提示を行なうことができる、優れた力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、複数の物体が存在する仮想環境において、各物体との物理的相互作用に伴って発生する力触覚を提示する力触覚ディスプレイであって、
機械構造上に定められた、力触覚を提示するための作用点と、
前記作用点に発生する力を制御する作用力制御手段と、
前記作用点の位置を制御する作用点制御手段と、
を具備することを特徴とする力触覚ディスプレイである。
【００２０】
仮想現実や遠隔現実などの技術分野では、視覚情報や聴覚情報に加えて操作者に力覚や触覚を提示するためのハプティクス・デバイスが必須である。例えば、多指型のハプティクス・デバイスは、作業対象に直接的に作業をしているような間隔を操作者に与えることができる。しかしながら、従来の多指型のハプティクス・デバイスは指先に並進力しか提示できず、各指先のどこで接触しているのか、すなわち作用点を提示することはできない。このため、複数の指先に把持間隔を良好に提示するものとは言い難い。
【００２１】
これに対し、本発明に係る力触覚ディスプレイは、複数の指先に対して把持感覚の提示を行なうタイプであるが、指先に当接する先端部に位置制御型の自由度を配設している。例えば、シリアル・リンク構成を採用する場合、リンク間を接続する各ジョイントは力制御により駆動され、指先に並進力を提示する。一方、先端部では位置制御により駆動して、指先に接触点の提示を行なうように構成されている。
【００２２】
接触点提示のメカニズムを位置制御型の自由度で実現する場合、バック・ドライバビリティは必須ではないことから、減速手段と組み合わせることで、小型のモータでも良好な接触点の提示を行なうことができ、結果として構造の簡略化・軽量化を図ることができる。
【００２３】
作用点の位置制御を行なう場合、不連続に発生した指先と物体間の衝突事象に対して、作用点提示が遅れるという問題がある。そこで、本発明に係る力触覚ディスプレイは、非接触時にも将来発生する衝突点を予測し、予測された衝突点を作用点とするように指先位置制御系をあらかじめ駆動しておくことようにした。したがって、不連続に発生した衝突現象においても、時間遅延なく良好な作用点提示を実現することができる。
【００２４】
具体的には、力触覚ディスプレイは、前記仮想環境に存在する各物体間の衝突を検出して作用点情報を出力する衝突検出手段と、前記仮想環境に存在する各物体間の衝突を予測して該予測される衝突点情報を出力する衝突予測手段と、前記衝突検出手段又は前記衝突予測手段による衝突点情報に基づいて、前記作用点制御手段における制御目標値となる作用点の位置を決定する作用点決定手段をさらに備えている。
【００２５】
多指型の力触覚ディスプレイにおいては、仮想環境に存在する物体には、前記作用点に当接するユーザの指に相当する指モデルが含まれる。この場合、前記衝突検出手段は該指モデルと他の物体との衝突を検出するとともに、前記衝突予測手段は該指モデルと他の物体との衝突を予測する。そして、前記作用力制御手段は、前記作用点においてユーザに提示する力を制御し、前記作用点制御手段は、ユーザの指に当接する前記作用点の位置を制御するようになっている。
【００２６】
そして、作用点決定手段は、前記衝突検出手段によって前記指モデル型の物体と衝突していると判断されたときには、前記衝突検出手段が算出した衝突点情報を前記作用点制御手段の制御目標値として決定するが、前記衝突検出手段によって前記指モデル型の物体と衝突していないと判断されたときには、前記衝突予測手段が算出した衝突点情報を前記作用点制御手段の制御目標値として決定するようにすればよい。
【００２７】
また、力触覚ディスプレイは、前記作用点に当接するユーザの指の位置及び姿勢を計測する指位置・姿勢計測手段と、力学演算に基づいて、前記仮想空間内の前記指モデル以外の物体の位置及び姿勢を決定する力学演算手段をさらに備えている。このような場合、前記衝突検出手段は、前記指位置・姿勢計測手段による計測結果に基づく指モデルの位置及び姿勢と、前記力学演算手段によって決定された各物体の位置及び姿勢に基づいて、前記指モデルと各物体との衝突を検出することができる。また、前記衝突予測手段は、前記指位置・姿勢計測手段による計測結果に基づく指モデルの位置及び姿勢と、前記力学演算手段によって決定された各物体の位置及び姿勢に基づいて、前記指モデルと各物体との衝突を予測することができる。
【００２８】
また、力触覚ディスプレイは、前記衝突検出手段によって検出された前記指モデルと物体との衝突点において作用する外力を算出する衝突力算出手段と、前記衝突力算出手段によって算出された、衝突する各物体から前記指モデルに作用する外力の合力からなる指先作用力を算出する指先作用力算出手段をさらに備えていてもよい。このような場合には、前記作用力制御手段は、前記指先作用力算出手段によって算出された指先作用力が前記作用点に当接するユーザの指に提示されるように、前記作用点に発生する力を制御することができる。
【００２９】
前記衝突予測手段は、前記指モデルと他の物体との間の最近傍点対を求め、該最近傍点対のユークリッド距離が最小となる最近傍点対の一方を衝突点として予測するようにしてもよい。具体的には、ＧＪＫアルゴリズム（Ｇｉｌｂｅｒｔ−Ｊｏｈｎｓｏｎ−Ｋｅｅｒｔｈｉ  ｄｉｓｔａｎｃｅ  ａｌｇｏｒｉｔｈｍ）（後述）を用いて前記指モデルと他の物体との間の最近傍点対を求めることができる。
【００３０】
また、本発明の第２の側面は、複数の物体が存在する仮想環境において、各物体との物理的相互作用に伴って発生する力触覚を提示する力触覚ディスプレイを制御するための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
前記力触覚ディスプレイは、機械構造上に定められた力触覚を提示するための作用点と、前記作用点に発生する力を制御する作用力制御手段と、前記作用点の位置を制御する作用点制御手段を備え、
前記コンピュータ・プログラムは前記コンピュータに対し、
前記仮想環境に存在する各物体間の衝突を検出して作用点情報を出力する衝突検出手順と、
前記仮想環境に存在する各物体間の衝突を予測して該予測される衝突点情報を出力する衝突予測手順と、
前記衝突検出手順又は前記衝突予測手順における衝突点情報に基づいて、前記作用点制御手段における制御目標値となる作用点の位置を決定する作用点決定手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
【００３１】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ２にインストールすることによって、コンピュータ２上では協働的作用が発揮され、力触覚ディスプレイの処理動作を制御することによって本発明の第１の側面に係る力触覚ディスプレイと同様の作用効果を得ることができる。
【発明の効果】
【００３２】
本発明によれば、複数の指先に対して把持感覚の提示を好適に行なうことができる、優れた力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムを提供することができる。
【００３３】
また、本発明によれば、複数の指先に対して指先の何処で接触しているのか作用点の提示を行なうことができる、優れた力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムを提供することができる。
【００３４】
また、本発明によれば、不連続に発生した指先と物体間の衝突事象に対して円滑に作用点提示を行なうことができる、優れた力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラムを提供することができる。
【００３５】
本発明に係る力触覚ディスプレイは、複数の指先に対して把持感覚の提示を行なうタイプであるが、指先に当接する先端部に位置制御型の自由度を配設しているので、指先に接触点の提示を行なうことができる。また、非接触時にも将来発生する衝突点を予測し、予測された衝突点を作用点とするように指先位置制御系をあらかじめ駆動しておくことによって、不連続に発生した衝突現象においても、時間遅延なく良好な作用点提示を実現し、ユーザの指先により正確な把持感覚をフィードバックすることができる。
【００３６】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００３７】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３８】
仮想現実や遠隔現実などの技術分野では、視覚情報や聴覚情報に加えて操作者に力覚や触覚を提示するためのハプティクス・デバイスが必須である。例えば、多指型のハプティクス・デバイスは、作業対象に直接的に作業をしているような間隔を操作者に与えることができる。しかしながら、従来の多指型のハプティクス・デバイスは指先に並進力しか提示できず、各指先のどこで接触しているのか、すなわち作用点を提示することはできない。このため、複数の指先に把持感覚を良好に提示するものとは言い難い。
【００３９】
本発明者らは、指先での接触点提示のために、指先に当接する先端部に位置制御型の自由度を配置したハプティクス・デバイスを提案する。図１には、この種のハプティクス・デバイスの構成例を示している。図示のデバイスは、シリアル・リンク構成であり、リンク間を接続する各ジョイントは関節に相当し、ＤＣサーボ・モータなどのアクチュエータで駆動するとともに、エンコーダによって関節角が測定される。各ジョイントは力制御により駆動され、指先に並進力を提示する。一方、シリアル・リンクの先端部では、位置制御により駆動して、指先に接触点の提示を行なうことができる。作用点において並進力を与えることに加えて、指先の作用点を位置制御することで、ユーザに対してより正確な把持感覚をフィードバックすることができる。
【００４０】
図１に示したハプティクス・デバイスの構成では、バック・ドライバビリティは必須ではないことから、減速手段と組み合わせることで、小型のモータでも良好な接触点の提示を行なうことができ、結果として構造の簡略化・軽量化を図ることができる。
【００４１】
一方、図２に示すように、仮想環境中で指モデルと他のオブジェクト間で突然、接触や衝突などの事象が発生した場合には、算出された衝突点まで位置制御型アクチュエータの現在値を変化させる必要があることから、接触点の提示に時間的な遅延が発生する、という問題がある。
【００４２】
そこで、本発明に係るハプティクス・デバイスは、接触点提示における時間遅延の問題を解決するために、仮想環境下での物体間の衝突予測の技術を導入している。具体的には、指モデルと仮想環境中の物体の衝突を事前に予測し、指先端の位置制御型アクチュエータの現在値を予測された衝突点にあらかじめ変化させておく。したがって、指モデルと仮想物体間の突然の接触・衝突が発生した場合にも、遅延なく正確な接触点提示を行なうことができる。
【００４３】
図３には、本発明に係るハプティクス・デバイスを適用したシステム構成例を示している。図示のシステムは、スピーカ１４、ディスプレイ１５、並びに力覚提示器（ハプティクス・デバイス）１６といった入出力装置を介して、計算機１０上に構築された３次元空間の様子をユーザに提示するようになっている。
【００４４】
計算機上では、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１が、ハード・ディスク（ＨＤＤ）１２上に記録されたデータを基に、３次元空間で発生した事象に関連した音情報、映像情報、力情報などの時間的変化をリアルタイムで算出し、メモリ（ＲＡＭ）１３に展開される。
【００４５】
これら３次元空間で発生した音情報、映像情報、力情報は、スピーカ１４、ディスプレイ１５、並びにハプティクス・デバイス１６を介して出力される。これらの入出力系を同期・協調的に駆使することで、計算機上に構築された３次元空間が、あたかも実在する空間であるかの如く、高いリアリティと臨場感を以ってユーザに提示される。
【００４６】
以上のデバイス１１〜１６は、リアルタイム性を確保するのに十分な速度を有した高速なバス１７によって接続され、相互に情報の授受が可能であるとする。
【００４７】
ハプティクス・デバイス１６は、多指型であり、図１に示したように３軸の並進力の提示が可能なシリアル・リンクの先端に、位置制御型の作用点提示手段を有した装置が、ユーザの各指先端に接続して構成されるものとする。図示のシステム１０は、このような作用点提示のための位置制御自由度を有したハプティクス・デバイスを良好に制御することができる。仮想空間では、指モデルと仮想物体との接触や衝突といった事象が時間的に不連続に発生することが想定されるが、計算機システム１０は、位置制御自由度の作用点の位置提示の時間遅れが発生する問題を解消する制御方法を実現する。
【００４８】
図４には、ＣＰＵ１１上で実行される制御プログラムの構成を模式的に示している。
【００４９】
仮想３次元空間の状態は、同空間に存在する各オブジェクトが持つ属性情報によって規定されるが、これらオブジェクト毎の属性情報は３次元オブジェクト・データ蓄積部１０１に保持されている。３次元オブジェクト・データ蓄積部１０１の実体は、例えばＨＤＤ１２である。各オブジェクトの属性情報としては、位置、姿勢、寸法、接続関係、関節位置といった幾何属性、質量、慣性テンソル、摩擦、反発係数、関節発生力、外力といった力学属性、減衰特性、固有振動波形などの振動属性に関するデータが挙げられ、３次元空間で発生した事象に関連した音情報、映像情報、力情報などの時間的変化を算出する際に用いられる。３次元オブジェクト・データ内には、ユーザの多指に関する指モデルも含まれる。指モデルについても、他のオブジェクトと同様に、幾何属性、力学属性、振動属性といったパラメータが保持される。
【００５０】
なお、振動属性は、３次元仮想空間上でオブジェクト間の衝突や接触といったインタラクションが発生したときに、力学シミュレーション結果に基づいてリアリティのある効果音を生成するために用いられる。効果音の生成方法に関しては、例えば本出願人に既に譲渡されている特願２００５−３５６８４６号明細書に記載されている。但し、効果音の生成は本発明の要旨に直接関連しないので、本明細書ではこれ以上説明しない。
【００５１】
３次元オブジェクト・データ蓄積部１０１内の各オブジェクトは、順動力学演算部１０２における力学演算の結果に応じて位置や姿勢が変更される。ここで言う順動力学演算は、オブジェクト内部に発生する力やオブジェクト外部に作用する力に基づいてオブジェクトに発生する加速度を得る演算であり、この加速度を積分することで、オブジェクトの運動をニュートン・オイラー（Ｎｅｗｔｏｎ−Ｅｕｌｅｒ）力学に基づいてシミュレートする。この順動力学演算の結果を各オブジェクトの位置や姿勢に反映することにより、各オブジェクトは力学法則に基づいたリアルな動きを呈する。
【００５２】
本発明では、順動力学演算部１０２の構成方法は特に限定されない。例えば、本出願人に既に譲渡されている特願２００５−２９８０９０号明細書に開示されている順動力学演算ＦＷＤを本発明にも適用することができる。順動力学演算を４過程に分解して、イナーシャ情報算出⇒速度情報算出⇒力情報算出⇒加速度情報算出の順で実行するようにしてもよい。このような場合、ロボットなどのリンク構造物に任意の力を作用させた条件下で任意の場所並びに方向に発生する加速度を得ることができる。
【００５３】
但し、指モデルの位置及び姿勢のオブジェクト・データに関しては、順動力学演算によるシミュレーション結果ではなく、指位置・姿勢計測部１０３において得られた実際の指の位置・姿勢が反映される。ハプティクス・デバイス１６を構成するシリアル・リンクの各ジョイントには回転角を測定するエンコーダが取り付けられている。指位置・姿勢計測部１０３は、これらエンコーダの出力値に基づいて、周知の順運動学演算（関節値から，リンク構造物上の与えられた点の位置・姿勢を求める演算）を解いて、ハプティクス・デバイス１６を装着したユーザの指の実際の指の位置及び姿勢を算出する。
【００５４】
衝突検出部１０４は、３次元オブジェクト・データ蓄積部１０１内のオブジェクト間の衝突事象を検出し、衝突点集合を算出する。本発明では、オブジェクト間の衝突検出方法は特に限定されない。例えば、ＧＪＫアルゴリズム（Ｇｉｌｂｅｒｔ−Ｊｏｈｎｓｏｎ−Ｋｅｅｒｔｈｉ  ｄｉｓｔａｎｃｅ  ａｌｇｏｒｉｔｈｍ）を用いた衝突検出方法などを適用することができるが、その詳細に関しては、例えば本出願人に既に譲渡されている特願２００５−２８９５９８号明細書を参照されたい。
【００５５】
衝突力算出部１０５は、衝突検出部１０４で算出された衝突点に作用する外力を算出し、３次元オブジェクト・データ蓄積部１０１内の該当オブジェクトの外力情報として登録する。登録された外力情報は、順動力学演算部１０２における演算に用いられ、各オブジェクトの運動に影響を及ぼす。本発明では、衝突力の算出法は特に限定されないが、本出願人に既に譲渡されている特願２００５−２９８０９０号明細書に開示されている算出方法を適用することができる。
【００５６】
指先作用力算出部１０６は、衝突力算出部１０５で算出した外力のうち、各指モデルに作用するものの合力を算出する。ここで求められる指先作用力は、仮想環境中で、各指モデルが他のオブジェクトと接触した際に指モデルに作用する外力であり、実世界では、人の指が外界から受ける外力に相当する。この力をハプティクス・デバイス１６に提示すれば，ユーザに対して指で仮想物体に触れた感覚をフィードバックすることができる。
【００５７】
逆力運動学演算部１０７は、指先作用力算出部１０６で算出された力を、ハプティクス・デバイス１６の先端で発生する（すなわち、ユーザの指先にフィードバックする外力を与える）ために必要となる関節力を算出する。指先力をｆとし、ハプティクス・デバイス１６の関節力をτとすると、シリアル・リンクの各ジョイントの関節力を下式（１）に従って算出することができる。但し、Ｊは、指先速度とジョイントの関節速度の間のヤコビアンである。
【００５８】
【数１】
2008209689.tif 000003
【００５９】
作用力制御部１０８は、ハプティクス・デバイス１６の各関節が逆力運動学演算部１０７で得られた関節力を発生するように、各関節のモータを力制御する。
【００６０】
衝突予測部１０９は、指モデルと他のオブジェクトが近接してきた場合に、将来発生する可能性のある、指モデルと他のオブジェクト間の衝突を予測して、衝突点集合を算出する。衝突予測部１０９の算出する予測衝突点情報に基づいて、突然、指モデルと他のオブジェクト間に接触が発生する状況においても、あらかじめ、ハプティクス・デバイス１６の作用点提示位置を変更することができる。つまり、接触が発生してからハプティクス・デバイス１６の作用点提示位置を変更するのに比べて、指モデルとの不連続な衝突・接触事象に対しても、時間遅れなく、良好に作用点の提示が可能となる。
【００６１】
本発明の主な特徴は、通常の衝突検出部１０４に加え、上記衝突予測部１０９を設けるところにある、ということを十分理解されたい。衝突予測部１０９の構成法は唯一ではない。ここでは、衝突検出でも用いられている、ＧＪＫアルゴリズムを用いて衝突予測を行なう構成について説明する。ＧＪＫアルゴリズムは、凸形図形間距離を算出するための反復的な方法として当業界で知られており、図５に示すように、２立体間の最近傍点や最浸透点を求めることができる。なお、ＧＪＫアルゴリズムの詳細については、例えば、Ｇ．ｖａｎ  ｄｅｎ  Ｂｅｒｇｅｎ著“Ａ  Ｆａｓｔ  ａｎｄ  Ｒｏｂｕｓｔ  ＧＪＫ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｆｏｒ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  ｏｆ  Ｃｏｎｖｅｘ  Ｏｂｊｅｃｔｓ”（Ｊｏｕｒｎａｌ  ｏｆ  Ｇｒａｐｈｉｃｓ  Ｔｏｏｌｓ,  ４（２），ｐｐ．７−２５，２００１．）を参照されたい。
【００６２】
いま，仮想３次元空間内に、図６に示すように、オブジェクトＡ、オブジェクトＢ、オブジェクトＣという３つのオブジェクトと、指モデルが存在しているとする。衝突予測部１０９はまず、ＧＪＫアルゴリズムを用いて、指モデルと他のすべてのオブジェクト（オブジェクトＡ，オブジェクトＢ，オブジェクトＣ）との最近傍点対（ａ，ａ´），（ｂ，ｂ´），（ｃ，ｃ´）を算出する。次に、すべての最近傍点対のユークリッド距離｜ａａ´｜、｜ｂｂ´｜、｜ｃｃ´｜を求め、その最小値を与える最近傍点対（図６に示す例では（ｃ，ｃ´））を求める。ユークリッド距離が最小値を与える最近傍点対は、現時刻において他のオブジェクトと衝突・接触をしていない指モデルに、将来は最も発生する可能性が高い衝突点と考えることができるので、その指モデル側の点を以って予測衝突点とする。衝突予測部１０９は、上記の処理を、ハプティクス・デバイス１６に取り付けられているすべての指モデルについて実行し、すべての指モデルの予測衝突点のリストを作成する。
【００６３】
指先作用点算出部１１０は、衝突予測部１０９が算出する、将来発生する可能性のある指モデルと他のオブジェクトの衝突に関する情報、若しくは、衝突検出部１０４が算出する、現在発生中の衝突に関する情報を用いて、ハプティクス・デバイス１６が各指先端に提示するべき作用点の位置を決定する。すなわち、指モデルが仮想空間内の他のオブジェクトと接触・衝突中の場合は、衝突検出部１０４が算出する衝突点を作用点とする。また、指モデルが他のオブジェクトと未だ接触・衝突をしていない場合は、衝突予測部１０９が算出する、将来発生する可能性のある衝突点に向かって徐々に作用点を変化させる（図７を参照のこと）。例えば、線形補間するのであれば、現在、ハプティクス・デバイス１６が提示している指先ｉの作用点の位置をｘiとし、衝突予測部１０９が算出する衝突予測点の位置をｘpiとすると、指先作用点の目標位置は下式（２）により与えられる。
【００６４】
【数２】
2008209689.tif 000004
【００６５】
ここで、Ｔは衝突が予測されてから作用点を衝突予測点と一致させるまでに要する時間であり、ｔは衝突が予測されてからの経過時間を表す。衝突予測部１０９にて、予測される衝突がないと判断された場合は、指先作用点算出部１１０は作用点を変更する必要はない。
【００６６】
作用点制御部１１１は、指先作用点算出部１１０が算出した、指毎の作用点目標値を達成するよう、ハプティクス・デバイス１６の指先作用点制御用アクチュエータを位置制御する。
【００６７】
図８には、図４に示した制御プログラム構成によって実行させる処理手順をフローチャートの形式で示している。
【００６８】
まず、順動力学演算部１０２において、力学シミュレーションのための演算を微小時刻分（例えば１マイクロ秒）だけ実行し、３次元オブジェクト・データ蓄積部１０１内の各オブジェクトの位置・姿勢を更新する（Ｐ１）。
【００６９】
次いで、衝突検出部１０４において、３次元オブジェクト・データ蓄積部１０１内のオブジェクト間の衝突を検出し、衝突点の集合を作成する（Ｐ２）。衝突検出には、例えばＧＪＫアルゴリズム（前述）を用いる。
【００７０】
次いで、衝突予測部１０９において、指モデルと他のオブジェクトの間に、将来発生する可能性のある衝突を求める（Ｐ３）。上述の通り、ＧＪＫアルゴリズムを用いて、指モデルと他のオブジェクト間の最近傍点対を求め、そのうちユークリッド距離が最小となる点を求める。ユークリッド距離が最小となる点を求める処理の流れの詳細については後述する。
【００７１】
次いで、衝突力算出部１０５において、衝突点に発生する外力を算出し、３次元オブジェクト・データに外力を作用する（Ｐ４）。
【００７２】
次いで、指先作用力算出部１０６において、衝突力算出部１０５が上記の処理（ｐ４）で算出した外力のうち、各指モデルに作用する力の合力を求める（ｐ５）。
【００７３】
次いで、指先作用点算出部１１０において、上記の処理ｐ２で得られた衝突情報、若しくは処理ｐ３で得られた予測衝突情報を用いて、ハプティクス・デバイス１６が各指先に提示するべき作用点の位置を決定する（ｐ６）。ここで、指モデルが他のオブジェクトと接触・衝突中の場合は、衝突検出部１０４が算出する衝突点を作用点とする。また、指モデルが他のオブジェクトと未だ接触・衝突をしていない場合は、衝突予測部１０９が算出する、将来発生する可能性のある衝突点に向かって徐々に作用点を変化させる。例えば、上式（２）に示したような線形補間を用いて、衝突点に向かって徐々に作用点を変化させる（図７を参照のこと）。
【００７４】
次いで、上記の処理ｐ５で算出した指先作用力を、逆力運動学演算部１０７において、上式（１）で示される逆力運動学演算を実行し、ハプティクス・デバイス１６の先端で発生するために必要となる関節力に変換する（ｐ７）。
【００７５】
次いで、上記の処理ｐ７で算出した関節力を発生するように、作用力制御部１０８において、ハプティクス・デバイス１６の各関節のモータを力制御する（ｐ８）。
【００７６】
次いで、上記の処理ｐ６で算出した指先作用点を目標値として、作用点制御部１０８において、ハプティクス・デバイス１６の指先作用点制御用のアクチュエータを位置制御する（ｐ９）。
【００７７】
次いで、指位置・姿勢計測部１０３において、ハプティクス・デバイス１６の各関節に取り付けられたエンコーダの値から、順運動学演算によって、実際の指の位置・姿勢を算出する（Ｐ１０）。
【００７８】
そして、３次元オブジェクト・データ蓄積部１０１内の指モデルの位置・姿勢を、上記の処理ｐ１０で得られた指位置・姿勢となるように変更する（ｐ１１）。
【００７９】
ＣＰＵ１１では、ｐ１からｐ１１までの処理手順を、十分短い時間刻み（例えば１マイクロ秒の制御周期）毎に実行する。
【００８０】
図９には、図８に示したフローチャート中の処理ｐ３において実行される衝突予測処理の詳細な手順をフローチャートの形式で示している。
【００８１】
まず、指モデルのインデクスＡを初期化するとともに（ｐ３１）、仮想３次元空間内のオブジェクトのインデクスＢを初期化する（ｐ３２）。
【００８２】
次いで、ＧＪＫアルゴリズムを用いて、指モデルＡとオブジェクトＢの間の最近傍点対（図５に示した例では（ａ，ａ´），（ｂ，ｂ´），（ｃ，ｃ´）など）を算出する（ｐ３３）。
【００８３】
次いで、上記の処理ｐ３３で得られた最近傍点対の２点間距離ＬABを算出する（ｐ３４）。
【００８４】
次いで、オブジェクトのインデクスＢをインクリメントする（ｐ３５）。ｐ３３からｐ３５までの処理は、ある指モデルＡとすべてのオブジェクト間において順次実行される。
【００８５】
次いで、指モデルＡとすべてのオブジェクトＢの間の最近傍点対のうち、ｐ３４で算出された最近傍点間距離ＬABの最小値を与える最近傍点対を求め、その指モデル側の点ＣAを決定する（ｐ３６）。ここで求められた点、将来、指モデルＡに発生する可能性の最も高い予測衝突点に相当する
【００８６】
次いで、指モデルのインデクスＡをインクリメントする（ｐ３７）。ｐ３２からｐ３７までの処理は、すべての指モデルＡとすべてのオブジェクトＢの組合せについて実行される。
【００８７】
このようにして、上記の処理ｐ３６で得られた予測衝突点をすべての指モデルについて並べたものを解として、後段の衝突力算出処理に出力する（ｐ３８）。
【００８８】
このように本発明によれば、物体の把持感覚を良好に伝達することができる、優れたハプティクス・デバイスを構成することが可能となる。特に、複数の指に適用される把持型のハプティクスにおいて、接触作用点の位置提示を、過度な機構の複雑化を伴うことなく、好適に実現することができる。すなわち、接触作用点の位置提示を位置制御で行ない、機械構造の簡略化を図ると同時に、指と仮想物体間の衝突を予測してあらかじめ作用点位置を変化させておくことで、精密で、且つ、作用点位置提示の時間遅れのない、良好な把持感覚の提示が実現される。
【産業上の利用可能性】
【００８９】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【００９０】
本発明に係る力触覚ディスプレイは、医療やその他の特殊技能の習得、小宇宙や海洋などの仮想環境や、原子炉などの特殊若しくは危険な環境での遠隔作業などを始めとしたさまざまなアプリケーションにおいて、実際に触手できない環境の物体への３次元の力覚や触覚をユーザにフィードバックするために適用することができる。
【００９１】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【００９２】
【図１】図１は、本発明の一実施形態にかかるハプティクス・デバイスの構成を模式的に示した図である。
【図２】図２は、仮想環境中で指モデルと他のオブジェクト間で突然、接触や衝突などの事象が発生したときのハプティクス・デバイスの挙動を説明するための図である。
【図３】図３は、本発明に係るハプティクス・デバイスを適用したシステム構成例を示した図である。
【図４】図４は、ＣＰＵ１１上で実行される制御プログラムの構成を模式的に示した図である。
【図５】図５は、２立体間の最近傍点や最浸透点を示した図である。
【図６】図６は、指モデルと複数のオブジェクトが存在する仮想３次元空間の様子を例示した図である。
【図７】図７は、指先作用点算出部１１０が、将来発生する可能性のある衝突点に向かって作用点の位置を徐々に変化させる様子を示した図である。
【図８】図８は、図４に示した制御プログラム構成によって実行させる処理手順を示したフローチャートである。
【図９】図９は、衝突予測処理の詳細な手順を示したフローチャートである。
【図１０】図１０は、シリアル・リンクを用いたペン型のハプティクス・デバイスの構成例を示した図である。
【図１１】図１１は、パラレル・リンク構造を用いて３軸力乃至６軸力モーメントの提示を行なうハプティクス・デバイスの構成例を示した図である。
【図１２】図１２は、指と遠隔のモータ間をワイヤで接続し、ワイヤを介して力を印加するハプティクス・デバイスの構成例を示した図である。
【図１３】図１３は、対向型マニピュレータにハンド型力提示機構を付加するハプティクス・デバイスの構成例を示した図である。
【符号の説明】
【００９３】
１０…計算機
１１…ＣＰＵ
１２…ハード・ディスク（ＨＤＤ）
１３…メモリ（ＲＡＭ）
１４…スピーカ
１５…ディスプレイ
１６…ハプティクス・デバイス
１７…バス
１０１…３次元オブジェクト・データ蓄積部
１０２…順動力学演算部
１０３…指位置・姿勢計測部
１０４…衝突検出部
１０５…衝突力算出部
１０６…指先作用力算出部
１０７…逆力運動学演算部
１０８…作用力制御部
１０９…衝突予測部
１１０…指先作用点算出部
１１１…作用点制御部
【図２】
2008209689.tif 000005
【図３】
2008209689.tif 000006
【図７】
2008209689.tif 000007
【図８】
2008209689.tif 000008
【図９】
2008209689.tif 000009
【図１２】
2008209689.tif 000010
【図１】
2008209689.tif 000011
【図４】
2008209689.tif 000012
【図５】
2008209689.tif 000013
【図６】
2008209689.tif 000014
【図１０】
2008209689.tif 000015
【図１１】
2008209689.tif 000016
【図１３】
2008209689.tif 000017