以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
<<第1の実施形態>>
本実施形態はユーザインターフェースに関し、特に、仮想現実感や複合現実感の分野において、視覚提示だけでなく力覚を提示させるユーザインターフェースを付加することにより、現実感を向上させた機器およびシステムに関する。本実施形態では、特に、仮想現実感や複合現実感のアプリケーションの一例として、作業検証を想定する。この作業検証は、設計した工業製品や装置などを仮想物体として視覚的に表示させ、組立やメンテナンスが容易か否か判断するために、触覚を提示させて現実感を高めるものである。工業製品や装置の組立やメンテナンスではその内部の狭い空間に手が入るか、あるいは治工具を挿入して組立やメンテナンスなど作業ができるかといった検証が必要となる。本実施形態は、このような作業検証に用いることができるユーザインターフェースおよびシステムについて説明する。
ただし、本実施形態に係る構成の用途は、これだけに限定されない。例えば、後述するように、本実施形態に係る力覚提示装置をユーザが持ち歩く状況において、力覚提示装置を把持しているユーザの手に、ユーザの位置情報に基づいて力覚を提示することによって、主に盲人のための歩行ナビゲーションを実現することができる。
(トルクと反力)
仮想現実感や複合現実感で工業製品や装置などの作業検証を行うとき、仮想的に表示した製品内部に治工具を挿入して組立やメンテナンスなどの作業ができるか検証することについて、図1を用いて説明する。図1は仮想現実感や複合現実感によって、仮想物体の画像を表示し、さらに仮想工具を把持した手(仮想把持モデル)を表示したイメージ図である。一例として、仮想物体Aの中にある仮想ボルトを工具で締めることを想定する。この場合、仮想物体の画像表示だけでは仮想物体Aと仮想物体Bの幅の狭さが作業性にどの程度影響するかを把握することが難しい。しかしながら、仮想工具を用いて実際にボルト締めの操作を模擬的に行えば作業性の評価検証を行うことができる。さらに、仮想工具に力覚の提示機能を持たせることで、工具が入るかどうか、ボルト締めの操作が可能な空間があるかどうかを、より正確に検証することができる。後述するように、本実施形態に係る構成は、工具を使用する際の操作感を提示できることが大きな特徴である。
手に力覚を提示する際、実物体と実工具との接触では図2で示すようなトルクや力が発生する。図2は、実物体と実工具との干渉によりトルクが発生する様子を模式的に示す図である。以下、本実施形態に係る力覚提示装置の機能について、実工具使用時のトルク、反力の発生と比較しながら説明する。
図2(a)のように、実際の工具を把持し、その工具が実物体に偏当たりした場合は、把持した手を回転中心に工具を回す方向にトルクが発生する。トルクの大きさは、手を侵入させたときの力と、干渉位置から回転中心の距離を乗じた値となる。図2(b)のように、実際の工具を把持し、その工具と平行に実物体と干渉すると、手の侵入方向に対して反力が発生する。
図2を補足するため、図3と図4を参照してさらに説明する。図3は、工具が物体に偏当たりしてトルクが発生する様子を模式的に示す図である。図4は、工具が物体に平行に干渉した場合に反力が発生する様子を模式的に示す図である。なお、図3と図4では把持している手を図示していない。
図3(a)は、図2(a)のように、実物体に実工具が偏当たりしてトルクが発生する状況を模式的に示している。図3(a)において、実線は把持している実工具の干渉前の状態を示しており、破線はトルクが発生した状態を示したものである。本実施形態に係る力覚提示装置1を用いることで、同様の力覚を提示することが可能である。即ち、図3(b)で示す力覚提示装置1を破線で示す方向へ駆動させることで、トルクを提示し、把持した手に同様の力覚を知覚させることができる。
また、図4(a)は、図2(b)のように、工具が物体に平行に干渉して反力が発生する様子を模式的に示している。図4(a)において、実線は把持している実工具の干渉前の状態を示しており、反力の発生を矢印で示してある。本実施形態に係る力覚提示装置1を用いれば、把持した手が知覚する力覚は、図4(b)で示すように、破線で示す方向へ駆動させ、トルク提示することによって、同様に知覚することができる。
(力覚提示装置)
次に、図3(b)および図4(b)で模式的に説明した本実施形態に係る力覚提示装置1の構成について、図5を用いて説明する。図5は、本実施形態に係る力覚提示装置1の構成を模式的に示す図である。
図5において、2は、ユーザ(操作者)が手で把持するときに基準とする固定部である。3は力覚提示部であり、図3(b)や図4(b)で説明したトルク発生時に、実際に把持した手に、その力覚を提示するものである。4は関節であり、固定部2と力覚提示部3との間に設けられ、力覚提示部3の駆動方向を案内する。関節4にはガイドや軸受け、ヒンジ、リンク機構を用いることが有効である。5は固定部2に対して力覚提示部3を駆動するアクチュエータであり、固定部2または力覚提示部3の少なくともいずれか一方に内蔵されていることが好ましい。図6と図7に示されるように、本実施形態では、アクチュエータ5は固定部2に内蔵されることを前提とするが、これに限定されない。例えば、固定部2や力覚提示部3の外側にアクチュエータ5を設け、そのアクチュエータ5の駆動をリンク機構やギアのような機械要素を介して案内することによって、力覚提示装置1を駆動させても良い。
ユーザはこの力覚提示装置1に対して、点線で示す領域、即ち、固定部2を基準に関節4と、少なくとも力覚提示部3の一部の領域を把持する。ユーザがこのように力覚提示装置1を把持した場合、図3(b)や図4(b)のように駆動させるだけで把持した掌に力覚を知覚させることができる。したがって、エグゾスケルトン型力覚提示装置のような装着や着脱のわずらわしさがなく、さらに装着時の違和感もなくすことができる。そしてさらに、アクチュエータ5を駆動させておけば、把持した掌の皮膚がひずみ、神経を刺激し続けることができるため、連続的に強い力覚を知覚させることが可能となる。なお、図3(b)は固定部2中心の点対称に、図4(b)は固定部2中心の左右対称となる場合を例示したが、いずれも左右対称に限定されない。
(アクチュエータ)
次に、アクチュエータ5について詳しく説明する。力覚提示装置1の固定部2と力覚提示部3を相対的に駆動させるアクチュエータ5は、油空圧のシリンダや、ソレノイド、形状記憶合金、各種モータ、高分子アクチュエータなどを用いれば良い。
一例として、力覚提示の駆動力としてエアシリンダを用いる場合について図6を用いて説明する。図6は、エアシリンダを用いて構成された力覚提示装置1を模式的に示す図である。ただし、図6の力覚提示装置1は、説明をわかりやすくするため、図5の固定部2から左側のみを示している。
アクチュエータ5は、エアシリンダ501を固定部2の内部に内蔵する。エアシリンダ501の先端は力覚提示部3の一部に接触してこれを動作させる。また、ヒンジ401により構成される関節4は、駆動方向が拘束される。エアシリンダ501を複動式とすると、駆動用のエアラインは二本必要であり、それぞれエアシリンダの応答性を調整するためのスピードコントローラ502を設けている。さらにエアシリンダ501の押し引きを制御する電磁弁503とエア供給のコンプレッサ506で構成されている。なお、電磁弁503とコンプレッサ506との間にはバルブ504やレギュレータ505を設けておくことが好ましい。
さらに、6は、力覚提示部3の駆動を制御する力覚レンダリング部である。610は電磁弁503の駆動情報を与えるための制御部である。620は、制御部610へ力覚提示情報を与えるための処理部である。630は干渉判定部であり、力覚提示装置1または仮想工具と、仮想物体との相対的な位置情報から干渉判定を行う。そして干渉判定部630で力覚提示装置1と仮想物体との干渉、非干渉を計算し、その計算結果に応じて処理部620は力覚提示のためのオンオフ制御情報を制御部610に伝え、制御部610は電磁弁503を駆動させる。
ここではエアシリンダ501をオンオフで駆動し、力覚提示部3を動作させることを想定したがこれに限定されない。例えば、スピードコントローラ502の代わりに、あるいはスピードコントローラ502の前後に電空レギュレータやマスフローコントローラを設けても良い。その場合、干渉判定部630で力覚提示装置1が仮想物体に侵入した深度を計算し、その深度に基づいて、処理部620が提示する力覚を計算する。そして、計算された力覚に基づいて、制御部610で電磁弁503の駆動だけでなく、電空レギュレータによる圧力制御やマスフローコントローラによる流量制御を行い、処理部7が計算した力覚を提示させる。
図6ではエアシリンダ501を複動式としたが、単動式でも良い。また、エアシリンダ501を固定部2に内蔵したがこれに限定されず、力覚提示部3に内蔵しても良い。電磁弁503は三位置の電磁弁を記したがこれに限定されず、二位置の電磁弁を用いても良い。コンプレッサ506の代わりにエアボンベや窒素ボンベ、タンク、アキュムレータを用いても良い。
なお、干渉判定部630は、力覚提示装置1と仮想物体との相対位置情報に基づき、干渉やその侵入深度を計算することについて述べた。しかしながらこれに限定されない。図1で説明した通り、力覚提示装置1は工具を模している。模す工具はモンキーレンチやスパナ、六角レンチ、ラチェットレンチなど形状や大きさが異なる。したがって、仮想工具の形状や大きさに基づき、仮想物体との干渉やその侵入深度を計算し、その干渉情報を処理部620へ伝える方がより好ましい。
他のアクチュエータ5としてソレノイドを用いる場合は、図6のエアシリンダ501を内蔵するところにソレノイドを搭載する。そして、制御部610は直接ソレノイドに駆動情報を与える。
このように、直動式のアクチュエータを用いることにより、単純な構成で、かつ安価に力覚提示装置1を動作させることが可能となる。なお、ここでは直動式の油空圧シリンダについて説明したが、回転式の油空圧アクチュエータや圧力変化に応じて変形する小型バルーンを用いても良い。
また、他のアクチュエータ5としてDCサーボモータを使う場合について、図7を用いて説明する。図7は、DCサブモータを用いて構成された力覚提示装置1を模式的に示す図である。図7の力覚提示装置1は、説明をわかりやすくするため、図5の固定部2から左側のみ示している。
図7において、アクチュエータ5はDCサーボモータ511であり、固定部2に対して力覚提示部3にDCサーボモータ511からの動力を伝える機械要素部品512は固定部に内蔵されている。なお、機械要素部品512には、例えば、ギアがある。
干渉判定部630は、力覚提示装置1又は仮想工具と、仮想物体との相対位置情報に基づいて、干渉判定、ならびに侵入深度計算を行い、その情報を処理部620へ与える。処理部620は侵入深度に基づき、提示すべき力覚を計算し、制御部610へ与える。制御部610は提示すべき力覚に基づき、DCサーボモータ511の出力を決定し駆動させる。このとき、DCサーボモータ511に内蔵されたエンコーダはDCサーボモータ511の回転位置情報を制御部6へフィードバックしても良いし、力覚提示装置1の位置姿勢情報の取得として、干渉判定部8へフィードバックしても良い。なお、制御部610の制御量は、駆動量でも良いし、駆動トルク、駆動力でも良い。
なお、図7では、DCサーボモータ511と機械要素部品512を固定部2に内蔵した例を示したが、これに限定されず、例えば、力覚提示部3に内蔵しても良い。他のモータとして、DCモータやACモータ、ステッピングモータ、リニアモータ、静電モータ、超音波モータでも適用できる。このように、モータと機械要素部品を使うことによって、力覚提示のための分解能が増すため、より現実感のある力覚提示が可能となる。
次に、多自由度超音波モータを用いて力覚提示装置1を実現した場合について、図8を参照して説明する。図8は多自由度超音波モータを用いて実現された力覚提示装置1を模式的に示す図である。
図8において、2は固定部であり、球状のロータである。3は力覚提示部であり、棒状のステータである。力覚提示部3には圧電素子520が埋め込まれている。圧電素子520は、力覚提示部3の長手方向に加振する縦振動加振用圧電素子521や、曲げ方向に加振する曲げ振動加振用(積層)圧電素子522からなる。それらの圧電素子520で力覚提示部3を励振することによって、図8の破線と実線で示すように、固定部2を基準に力覚提示部3を駆動することができる。また、固定部2と力覚提示部3は磁石で連結され、それらの間に生じる摩擦に対抗しながら滑らせて駆動する。すなわち、力覚提示装置1は、軸受け機能を持つ関節4とアクチュエータ5が一体化した構成とすることができる。
なお、図8では、力覚提示部3を励振させる素子として、圧電素子520を用いた例を示したが、これに限定されず、同等の素子を用いても良い。
力覚提示装置1または仮想工具と、仮想物体との相対位置情報に基づき、干渉判定部630は干渉判定、ならびに侵入深度計算を行い、その情報を処理部620へ与える。処理部620は侵入深度に基づき、提示すべき力覚を計算し、制御部630へ与える。制御部630は提示すべき力覚に基づき、力覚提示部3のトルク出力を決定し、力覚提示部3を圧電素子520で加振して駆動させる。このとき、固定部2と力覚提示部3の相対位置を測定するセンサを不図示としたが、その位置センサからの位置情報を制御部610へフィードバックしても良いし、力覚提示装置1の位置姿勢情報の取得として、干渉判定部630へフィードバックしても良い。なお、制御部610の制御量は、駆動量でも良いし、駆動トルク、駆動力でも良い。
他のアクチュエータとしては、高分子アクチュエータを用いても良い。高分子アクチュエータには電気刺激によってひずみを発生させるEAP(Electro Active Polymer)やICPFに代表されるイオン性高分子アクチュエータがある。これを図9を用いて説明する。図9は、高分子アクチュエータを用いて実現された力覚提示装置1を模式的に示す図である。図9の力覚提示装置1は説明をわかりやすくするため、図5の固定部2から左側のみ示している。
例えば、イオン性高分子アクチュエータ530は、イオン交換樹脂531を電極532で挟み、電極532間の電圧を制御することによって、イオン交換樹脂531内のイオンを移動させて、イオン交換樹脂531の膨潤に差を発生させて駆動させるものである。このイオン性高分子アクチュエータ530を固定部2と力覚提示部3との間に設けると、関節4を兼ねたアクチュエータ5とすることができる。
力覚提示装置1または仮想工具と、仮想物体との相対位置情報に基づき、干渉判定部630は干渉判定、ならびに侵入深度計算を行い、その情報を処理部620へ与える。処理部620は侵入深度に基づき、提示すべき力覚を計算し、制御部610へ与える。制御部610は提示すべき力覚に基づき、高分子アクチュエータ531の電圧制御を決定し駆動させる。このとき、固定部2と力覚提示部3の相対位置を測定するセンサを不図示としたが、その位置センサからの位置情報を制御部610へフィードバックしても良いし、力覚提示装置1の位置姿勢情報の取得として、干渉判定部630へフィードバックしても良い。なお、制御部610の制御量は、駆動量でも良いし、駆動トルク、駆動力でも良い。
さらに、他のアクチュエータ5として形状記憶合金を用いる場合、形状記憶合金を駆動させるための通電過熱部と冷却部を設け、制御部610は処理部620の力覚提示情報に基づき、通電過熱部と冷却部を制御する。
このように多自由度超音波モータや高分子アクチュエータ、形状記憶合金のようにダイレクト駆動が可能なアクチュエータを用いることにより、高い応答性のある力覚提示が可能となる。そしてさらに、ギアをはじめとする機械要素部品を使わなくて済む。つまり、機械要素部品がもつバックラッシュやヒステリシス特性のような遅れ成分を除去することができるため、さらに高い応答性のある力覚を提示することが可能となる。特に、多自由度超音波モータは、急激な加減速駆動が可能なので、干渉時の「コツッ」感の提示にも優れている。また、油空圧アクチュエータやソレノイド、モータと機械要素部品を用いる場合は、提示させる自由度の数だけアクチュエータを必要とする。しかしながら、多自由度超音波モータや高分子アクチュエータを用いれば、アクチュエータ一つで、多自由度方向に力覚を提示することができ、力覚提示装置1の小型化や単純化が可能となる。
(複合現実感システム)
以上、ここまでは力覚提示装置1とその制御方法について説明してきた。次に、力覚提示装置1を組み込んだ複合現実感のシステム構成について、図10を用いて説明する。図10は、複合現実感のシステム構成を模式的に示すブロック図である。
図10において、演算処理部7は、コンピュータなどの計算機から構成される。演算処理部7はその内部にCPU701、RAM702、画像出力装置703、システムバス704、ディスク装置705、入力装置706、画像入力装置707を備える。
CPU701は、力覚提示のための干渉判定部630(不図示)と、力覚を計算する処理部620(不図示)と、画像処理を制御する機能を持つ。CPU701はシステムバス704に接続され、力覚提示用のアクチュエータを制御する制御部610と、RAM702、画像出力装置703、ディスク装置705、入力装置706、画像入力装置707と相互に通信することが可能である。
力覚提示のための制御部610は力覚提示装置1のアクチュエータの駆動情報を伝える機能要素である。CPU701上で実行される干渉判定部630(不図示)および処理部620(不図示)からの情報はシステムバス704を介して制御部610へ伝えられる。
RAM702は、メモリ等の主記憶装置によって実現される。RAM702は、システムバス704を介して、干渉判定プログラム、力覚計算プログラム、画像処理プログラムのプログラムコードやプログラムの制御情報、画像入力装置707から入力した実写画像データを一時的に保持する。そのほか、CGモデルや配置情報などの仮想空間データ、センサ計測値、センサ較正データ等の各種データを一時的に保持する。仮想空間データには、仮想物体モデルや工具把持モデル、仮想指標のCGモデルがある。さらに、仮想空間内に配置される位置・姿勢情報も含まれている。
画像出力装置703は、グラフィックスカードなどの機器によって実現される。一般的に、画像出力装置703は不図示のグラフィックスメモリを保持している。CPU701上で実行されるプログラムによって生成された画像情報は、システムバス704を介して、画像出力装置703が保持するグラフィックスメモリに書き込まれる。画像出力装置703は、グラフィックスメモリに書き込まれた画像情報を適切な画像信号に変換して表示装置801に送出する。なお、グラフィックスメモリは必ずしも画像出力装置703が保持する必要はなく、RAM702がグラフィックスメモリの機能を実現してもよい。
システムバス704は、演算処理部7を構成する各機器が接続され、各機器が相互に通信するための通信路である。
ディスク装置705は、ハードディスクやROM等の補助記憶装置によって実現される。ディスク装置705は、力覚レンダリングのためのプログラムコードや、画像処理プログラムのプログラムコード、各プログラムの制御情報、仮想空間データ、センサ較正データ、仮想物体モデル、工具把持モデルなどを格納する。ただし、力覚レンダリングのためのプログラムコードには、例えば、干渉判定プログラム、力覚計算プログラムが含まれる。
入力装置706は、各種インターフェース機器によって実現される。入力装置706は、演算処理部7の外部に接続された機器からの信号をデータとして入力し、システムバス704を介して、RAM702にデータを書き込む。また、入力装置706は、キーボードやマウスなどの機器により実現され、本装置のユーザ(操作者)からの操作入力を受け付ける。
画像入力装置707は、キャプチャカードなどの機器によって実現される。画像入力装置707は、撮像装置802から送出される実写画像を入力し、システムバス704を介して、RAM702に画像データを書き込む。なお、表示装置801に光学シースルー型の表示装置を用いる場合には、画像入力装置707は具備しなくてもよい。
なお、力覚提示のための制御部610は、図6〜9のように、力覚提示装置1そのものに内蔵されていてもよいし、図10のように、一般的には力覚提示装置1の外部に設けられる演算処理部7において実現されてもよい。
制御部610が力覚提示装置1に内蔵される場合は、演算処理部7は、力覚提示装置1と仮想物体との相対位置情報や、干渉の有無を示す情報などの、アクチュエータの駆動を制御するために必要な情報を力覚提示装置1に送出する。そして、力覚提示装置1に内蔵された制御部610は、受信した情報に基づいてアクチュエータの駆動情報を計算し、当該計算された駆動情報に基づいてアクチュエータを駆動し、力覚を提示するように制御する。これに対して、制御部610が演算処理部7において実現される場合は、演算処理部7は、制御部610で計算された駆動情報を力覚提示装置1に送出し、力覚提示装置1は、受信した駆動情報に基づいてアクチュエータの駆動を制御することになる。これらのことは、後に述べる各構成例、各実施形態においても同様である。
なお、複合現実感システムにおいては、力覚提示装置1と演算処理部7との間で通信が行われる。これは、例えば、USB(Universal Serial Bus)等の有線の通信インタフェースや、無線LAN、WUSB(Wireless USB)等の無線の通信インタフェースにより実現することが可能である。ただし、演算処理部7は、力覚提示装置1に内蔵するように構成してもよい。即ち、演算処理部7を構成する各構成要素を力覚提示装置1が備えるように構成してもよい。これらのことは、後に述べる各構成例、各実施形態においても同様である。
頭部装着部8は、本実施形態のシステムを体験するために、本装置のユーザが頭部に装着するビデオシースルー型HMDなどによって実現される。頭部装着部8は、表示装置801、撮像装置802、位置姿勢センサ803から構成される。本実施形態では、頭部装着部8を構成する装置をユーザが頭部に装着する状況を想定するが、ユーザが複合現実感を体験できる形態であれば、頭部装着部8は必ずしもユーザが装着する必要はない。
表示装置801は、ビデオシースルー型HMDに備えられるディスプレイによって実現される。表示装置801は画像出力装置703から送出される画像信号を表示し、本装置のユーザに複合現実感映像を提示するために用いられる。表示装置801は頭部装着部8を構成する装置であるが、必ずしもユーザが装着する必要はない。ユーザが映像を確認することができる手段であれば、例えば、表示装置801として据え置き型のディスプレイ装置を用いてもよいし、手持ち型のディスプレイを用いてもよい。
撮像装置802は、CCDカメラなどの1つ以上の撮像装置によって実現される。撮像装置802は本装置のユーザの視点から見た現実世界の実写画像を撮像するために用いられる。そのため、撮像装置802はユーザの頭部の中でも視点位置に近い場所に装着することが望ましいが、ユーザの視点から見た画像が取得できる手段であれば、これに限定されない。また、ハーフミラーやプリズムなどを用いて撮像装置802の光軸と、表示装置801の中心軸を一致させてもよい。撮像装置802が撮像した実写画像は、(アナログ信号もしくはIEEE1394規格のデジタル信号などからなる)画像信号として画像入力装置707に送出される。なお、表示装置801に光学シースルー型の表示装置を用いる場合には、本装置のユーザは表示装置801を通して現実世界を直接観察することになるため、撮像装置802は具備しなくてもよい。
位置姿勢センサ803は、本装置を利用するユーザの視点(位置姿勢センサ803)および力覚提示装置1の位置・姿勢を計測し、演算処理部7の入力装置706に送出する装置である。位置姿勢センサ803は、例えば、磁気センサや、加速度センサとジャイロからなる位置姿勢計測装置によって実現される。なお、この位置姿勢センサ803は、力覚提示装置1を回す角速度(速度)を測定するためのセンサと兼ねても良い。
ユーザは力覚提示装置1を把持して使用する。力覚提示装置1内のポジショニングセンサ550は、例えば、エンコーダで実現される。このポジショニングセンサ550から、固定部2と力覚提示部3の相対的な位置姿勢を計測し、計測された位置姿勢の情報を演算処理部7の入力装置706に送出する。
以上、図10を用いて説明したシステムでは実空間における力覚提示装置1の位置は計測できるが、力覚提示装置の長手方向の軸まわり(図11(a)のθ)は計測できない。そうすると、力覚提示装置1を把持したθ方向が定まらず、制御部610はアクチュエータの駆動方向を決めることができない。そこで、上記のシステム構成における、力覚提示装置1の位置基準を求める方法について、図11を参照して説明する。図11は、力覚提示装置1の位置基準を求める方法を模式的に示す図である。
図11(a)は、固定部2に指輪201を設け、装着した指を基準にする方法を模式的に示している。指を指輪201に挿入して力覚提示装置1を把持することによって、把持した手と力覚提示装置1との相対的な位置関係を拘束することができる。つまり、固定部2に対して力覚提示部3を駆動させる方向は指輪201を基準にすることができ、実空間において、力覚を提示する方向を決めることができる。そしてさらに、図10において、力覚提示装置1に装着した位置姿勢センサ803はユーザの手に設ければ良い。このように、力覚提示装置1に基準を設け、力覚提示装置1の位置を把持する手に合わせることができるので、手の位置を測定することによって、実空間における力覚提示装置1の位置姿勢を測定することができる。
この他、力覚提示装置1に基準を設け、力覚提示装置1の位置を把持する手に合わせる構成は、指輪201を設ける以外にもある。例えば図11(b)のように、固定部2や力覚提示部3の表面に指型の凹凸をつけ、その指型に沿って指がフィットするように把持させても良い。さらに、固定部2や力覚提示部3の表面にマーク(目印)をつけ、例えば、そのマークが人差し指と中指の付け根に接触するよう把持させても良い。
また、図11(c)のように、力覚提示装置1を把持する前にアクチュエータで初期駆動させておき、例えば、力覚提示部3の一方が親指と人差し指の付け根、もう一方が小指の付け根に接触するよう把持させても良い。
以上、ここでは力覚提示装置1およびそれを用いたシステム構成について説明した。その際、力覚提示装置1を鷲掴みする図を示してきたが、これに限定されない。図12のように鷲掴み以外にも鉛筆握りでも同様に適用することが可能である。ただし、図12は、力覚提示装置の把持スタイルを模式的に示す図である。
上記のように、本実施形態に係る力覚提示装置は、力覚提示部を固定部に対して相対動作させることによって力覚を提示するため、従来の技術に対して、操作範囲が広く、かつ着脱のわずらわしさや装着時の違和感をなくすことができる。さらに、連続的に強い力覚を提示することが可能な把持型の力覚提示装置を提供することが可能となる。
(構成例1)
上記の構成について、さらに具体的な例を挙げて詳細な説明を行う。本構成例では、仮想的に取り扱う工具は、モンキーレンチやスパナ、六角レンチ、ラチェットレンチなどのように、鷲掴みして使用する工具を指す。以下では、モンキーレンチを代表的な工具の例として、説明を行う。
工具を使用する場合の手にかかる力などの把持状況について、図19を用いて説明する。図19は、ユーザが手で工具(モンキーレンチ)を把持するスタイルを例示する模式図である。
図19の上段の図はモンキーレンチを掌全体で鷲掴みする把持スタイルを示している。また、中段の図は、上段の図と同様に、モンキーレンチを掌全体で鷲掴みする場合に、親指を立てた把持スタイルを示している。そして、下段の図はモンキーレンチの端が掌の中心にくるように把持するスタイルを示している。実際に、右手でモンキーレンチやスパナを用いて六角ボルトやナット等のねじ部材を締めるとき(図19の楔形の矢印方向)、あるいは六角レンチで六角穴付きボルトを締めるとき、掌の小指の付け根と人差し指の付け根側に大きな力がかかる。また、それらを緩めるとき(図19の三角形の矢印方向)は掌の親指の付け根に大きな力がかかる。なお、左手の場合はその反対に、締めるときは掌の親指の付け根に、緩めるときは掌の小指の付け根と人差し指の付け根側に大きな力がかかる。
このように、締め付ける時と緩める時では、掌にかかる力の位置が異なる。また右手で操作する場合と左手で操作する場合でも異なる。また強く締め付ける時や弱く締め付ける時、また、緩める時の締まっている具合によっても、強弱の差が生じる。
本構成例では、掌にかかる力の分布や、力の大きさ、およびこれらの左右の手による差異を、仮想状況に応じて変化させることによって、より現実感の高い操作感覚を提示することが出来る。また後述するように、工具の種類や持ち方によっても、これらの提示方法が異なる。このため、操作状況や把持状況に応じて適切な駆動や提示方法を用いることで、広範囲の工具やその使用形態に対応することが出来る。このような提示装置の構成と駆動方法、提示方法などについて、以下説明していく。
次に、図19で示した工具の把持スタイルでボルトを締めたり緩めたりするときの力覚を提示する力覚提示装置について、図20を用いて説明する。図20は、把持スタイルに応じて設計された力覚提示装置1の構成を例示する模式図である。
図20において1は力覚提示装置であり、先述の工具を模している。そして、2は操作者が手で把持するときに基準とする固定部である。3は力覚提示部であり、固定部2を基準に、掌に力覚を提示する部分である。4は関節であり、固定部2と力覚提示部3との間に設けられ、力覚提示部3の駆動方向をガイドする。5は固定部2に対して力覚提示部3を駆動するアクチュエータであり、固定部2または力覚提示部3の少なくともいずれか一方に内蔵されていることが好ましい。なお、アクチュエータ5は固定部2または力覚提示部3に内蔵されていなくても有効である点は上記と同様である。即ち、例えば、固定部2や力覚提示部3の外側にアクチュエータ5を設け、そのアクチュエータ5の駆動力をリンク機構やギアのような機械要素で介して力覚提示部3を駆動させても良い。そして、6は力覚レンダリング部である。力覚レンダリング部6はアクチュエータ5を駆動させるための制御部610と、その駆動力やトルク、駆動速度、駆動量など力覚提示情報を計算する処理部620と、干渉判定および干渉深度を計算する干渉判定部630からなる。なお、構成例1の干渉判定部は、力覚提示装置1が模している仮想工具と、仮想ボルト(仮想ナット)との干渉を判定する。
ユーザはこの力覚提示装置1に対して、点線で示す位置に、即ち、固定部2を基準に関節4と、少なくとも力覚提示部3の一部の領域を把持する。なお、図20の上段の力覚提示装置1aは固定部2を二つの力覚提示部3で挟む構成となっている。それに対して、図20の下段の力覚提示装置1bは固定部2に対して一つの力覚提示部3を設けている。
図20において、力覚提示装置1の関節4はガイドや軸受け、ヒンジ、リンク機構の内、少なくともいずれかの案内を用いれば良い。また、アクチュエータ5は油空圧アクチュエータや、ソレノイド、DCモータ、ACモータ、ステッピングモータ、リニアモータ、静電モータ、超音波モータ、高分子アクチュエータ、形状記憶合金の内、少なくともいずれかのアクチュエータを用いれば良い。アクチュエータの詳細は上述の通りである。さらに関節4とアクチュエータ5からなる駆動軸は少なくとも、力覚提示装置1の長手方向の軸に対して首振り方向の軸および/または、力覚提示装置1の長手方向の軸と直交する方向の軸が必要である。
また、力覚提示部3の駆動方向の基準を設けるために、上述のように、固定部2に指輪を設けたり、把持領域を握りやすくするために凹凸を設けたり、又は、把持するときの目印となるマークを設けることができる。ただし、図20ではいずれも不図示とした。さらに、把持するときに目印とする位置へ力覚提示部3を駆動させておいても良い。
次に、図20の力覚提示装置1を用いて、図19で示した工具の把持スタイルでボルトを締めたり緩めたりするときの力覚提示方法について、図21を用いて説明する。図21は、力覚を提示する様子を把持スタイル毎に例示する模式図である。なお、この力覚提示のための処理や制御は力覚レンダリング部6が行う。また、図21では力覚提示装置1の駆動軸を力覚提示装置の長手方向の軸に対して首振り方向の軸としたが、これに限定されず、力覚提示装置1の長手方向の軸と直交する方向の軸としても良い。
図21の上段の図は工具を鷲掴みする把持スタイルを示しており、中段の図は上段の図に親指を立てた把持スタイルを示している。いずれも、図20上段の図に示した力覚提示装置1aを用いる。そして、右手でボルトを締める動作を行うとき、力覚提示部3は力覚提示装置1aを動かす方向と反対方向へ駆動させる(楔形の矢印方向)。また、ボルトを緩める動作を行うときも、力覚提示装置部3は力覚提示装置1aを動かす方向と反対方向へ駆動させる(三角形の矢印方向)。より具体的には、ボルトを締める動作を行うとき、二つの力覚提示部3を小指の付け根側と、人差し指の付け根側の少なくとも一方へ駆動させる。そして、ボルトを緩める動作を行うとき、親指側の力覚提示部3を親指の付け根側に駆動させる。
図21の下段の図は、工具の端が掌の中心にくるように把持するスタイルを示しているが、この場合は図20下段に示した力覚提示装置1bを用いる。そして、右手でボルトを締める動作を行うとき、力覚提示部3は力覚提示装置1bを動かす方向と反対方向へ駆動させる(楔形の矢印方向)。ボルトを緩めるときも、力覚提示部3は力覚提示装置1bを動かす方向と反対方向へ駆動させる(三角形の矢印方向)。より具体的には、ボルトを締める動作を行うとき、力覚提示部3を人差し指の付け根側に駆動させ、ボルトを緩める動作を行うとき、力覚提示部3を親指の付け根側に駆動させる。
なお、ここでは右手でボルト締めや緩める動作をするときの力覚提示部3の駆動方向について述べたが、左手で動作する場合も同様に、その力覚提示装置1を動かす方向とは反対方向へ力覚提示部3を駆動させる。すなわち、ボルトを締める動作を行うとき、親指側の力覚提示装置3を親指の付け根側に駆動させ、ボルトを緩める動作を行うとき、力覚提示部3を小指の付け根側と、人差し指の付け根側の少なくとも一方へ駆動させる。このような動作により、ユーザは、ボルトを締めたり緩めたりするときに受けるトルクを知覚することが可能となる。
また、力覚提示部3の駆動速度は、力覚提示装置1をまわす手の角速度(速度)と同期させる。また、好ましくは、例えば、図21上段において、回転中心側の力覚提示部3(左側)と回転外側の力覚提示部3(右側)では、手の角速度(速度)と同期するよう駆動することができる。一方で、外側の力覚提示部3(右側)の方が内側の力覚提示部3(左側)よりも駆動量は大きくなるよう調整することができる。このとき、力覚提示装置1をまわす手の角速度(速度)と同期させて、力覚提示部3を駆動させることは、同じ角速度(速度)で駆動させることに限定されない。例えば、それぞれの力覚提示部3に対して、力覚提示装置1をまわす手の角速度(速度)に異なる定数を乗じた角速度(速度)で駆動させれば良い。あるいは少なくとも一方の力覚提示部3を駆動させれば良い。このように動作を制御することにより、ユーザが仮想的に知覚するトルクの現実感を更に高めることができる。なお、力覚提示装置1をまわす角速度(速度)は、加速度センサやジャイロからの情報を処理したり、あるいはカメラで撮影して画像処理を施したりすること等によって測定することができる。
以上説明した力覚提示装置およびその力覚提示方法を複合現実感(MR; Mixed reality)に組み込んだシステム構成は、図10で示される。図10の説明は上述したため、省略する。
このように、構成例1で説明した力覚提示装置1およびその力覚提示方法によって、操作範囲の広い力覚提示が可能となる。さらに、その着脱はわずらわしくなく、操作時の違和感を軽減することも可能となり、小型、軽量化も可能となる。また、複合現実感システムに組み込むことによって、実際に工具を用いてボルトやナットを締めたり、緩めたりするときの力覚を提示することが可能となり、画像の表示と併せることで現実感が増大する。さらには、仮想的に表示した製品内部に治工具を挿入したときの組立やメンテナンスなどの作業性の検証効率が向上する。これは複合現実感に限定されず、仮想現実感(VR; Virtual reality)に適用しても同様の効果が得られるものである。
(構成例2)
構成例1では力覚提示部3の駆動速度を、力覚提示装置1をまわす手の角速度(速度)と同期させ、二つの力覚提示部3の駆動量を調整する構成について説明した。しかし、力覚提示装置1をまわす手が右手か左手かによって各力覚提示部3の駆動量、駆動角速度(速度)を変化させると、更に現実的に近い体験をユーザに提供することができる。このため、構成例2では、力覚提示装置1を把持する手が右手か左手か判断し、その判断結果に応じて力覚の提示を制御する構成について、その判断方法とシステム構成を説明する。
力覚提示装置1を把持する手が右手か左手か判断する方法としては、図10で示した撮像装置802からテンプレートマッチングなどの画像処理を施して判断する方法がある。その他、図10には不図示のユーザインターフェースなどから入力装置706へ把持する手を入力しても良い。このようにして、力覚提示装置1を把持する手を判断したら、図10の画像出力装置703はその判断に併せた工具把持モデルをディスク装置705から参照し、表示装置801にその工具把持モデルを表示させる。
さらに、工具把持モデルと仮想ボルト、仮想ナットの位置関係、および把持した手から、力覚提示装置1をまわすとき、内側になる力覚提示部3と外側になる力覚提示部3が正確にわかる。したがって、構成例1で説明したように、回転中心側の力覚提示部3と回転外側の力覚提示部3では、手の角速度(速度)と同期するよう駆動し、外側の力覚提示部3(右側)の方が内側の力覚提示部3(左側)よりも駆動量は大きくなるよう調整する。 このように構成例2によって、力覚提示装置1を把持する手が右手か左手か判断できる。このため、各力覚提示部3の駆動量や駆動角速度(速度)をより正確に調整することが可能となり、より正確な力覚提示が可能となる。
(構成例3)
構成例1や構成例2は、ボルトやナットを仮想的に締めたり緩めたりするときの力覚を提示する力覚提示装置およびその力覚提示方法について説明した。構成例3ではボルトやナットを仮想的に締めたり緩めたりするとき、工具をまわすだけのスペースがなく、まわせなかったときの力覚提示方法について説明する。
図22は、仮想工具が仮想物体と干渉したときに力覚を提示する構成を示す模式図である。図22の上方は、仮想ボルトを仮想工具で締める画像を表示装置801に表示している様子を示している。図22では、仮想工具の柄の部分が仮想物体Bと干渉して、それ以上まわせない状態を示している。このとき、図22下方のように、干渉判定部630は仮想工具と仮想ボルト(仮想ナット)との干渉を判定するだけでなく、工具把持モデルと仮想物体との干渉を判定する。即ち、仮想工具の柄の部分と仮想物体Bとの干渉判定、およびその干渉深度も計算する。
次に、その干渉判定部630からの干渉判定情報に基づき、処理部620は各力覚提示部3の駆動速度や、駆動力、駆動トルク、駆動量などの少なくともいずれかの力覚提示情報を計算する。さらに、制御部610は処理部620が計算した力覚提示情報に基づき、力覚提示部3を動作させるためのアクチュエータ5(不図示)を駆動させる。図22のように、把持した手の左側が仮想ボルトを締める力覚提示部3で、右側が仮想物体Bとの干渉をしている場合、左側の力覚提示部3をボルト締めの力覚提示とし、右側の力覚提示部3を干渉の力覚提示とする。なお、ボルト締めの力覚提示は構成例1で説明した通り、力覚提示部3の駆動速度を、力覚提示装置1をまわす手の角速度(速度)と同期させる。そして、干渉の力覚提示は、力覚提示部3の駆動速度をボルト締めの力覚提示の駆動速度よりも速くする。ただし、力覚提示装置1をまわす手の角速度(速度)と同期させなくも良い。例えば、パルス状の急峻な駆動でも良い。
なお、ここではボルトを締める方向について説明したが、これに限定されず、緩める方向でも同様である。また、駆動速度の制御に限定されず、力覚提示部3の駆動トルク(駆動力)をボルト締めの力覚提示の駆動トルク(駆動力)よりも強くすることで干渉の力覚を提示しても良い。あるいは、力覚提示部3の駆動量をボルト締めの力覚提示の駆動量よりも大きくすることで干渉の力覚を提示しても良い。
次に、手と仮想物体が干渉した場合について説明する。手と仮想物体が干渉した場合、力覚(反力)を提示する力覚提示装置がない。そこで、力覚提示装置1で代替して提示する。ただし、仮想工具が干渉した場合の力覚提示と分けるために、手が干渉した場合は図23のように、力覚提示部3を振動させる。ただし、図23は、手が仮想物体と干渉したときに力覚を提示する様子を模式的に示す図である。振動方向は力覚提示装置1の長手方向を基準に、干渉した位置方向に振動させ、その振幅または/および周波数は干渉深度に応じて制御する。
別の構成では、力覚提示部3を異なる駆動軸に沿って駆動させる。ここまで説明した力覚提示のための駆動軸は力覚提示装置1の長手方向の軸に対して首振り方向の軸および/または、力覚提示装置1の長手方向の軸と直交する方向の軸なので、力覚提示装置1の長手軸まわりや、長手方向の軸に駆動させても良い。そしてそのときの駆動量は干渉深度に応じて変更させる。
振動による手の干渉提示や、異なる駆動軸による手の干渉提示は、いずれの干渉の力覚提示も実際の干渉とは異なる感覚である。このため、ユーザが使用する前に訓練をすることで、代替提示を知覚するようにすることで、本実施形態に係る構成による効果を更に高めることができる。
このように、構成例3で説明した力覚提示方法によって、仮想ボルトやナットなどを締めたり緩めたりする力覚提示と、他の仮想物体との干渉をしたときの干渉の力覚提示ができるため、より現実感が向上する。更には、仮想的に表示した製品内部に治工具を挿入したときの組立やメンテナンスなどの作業性の検証効率がさらに向上する。
<<第2の実施形態>>
第1の実施形態の力覚提示装置1においては、固定部2は力覚提示部3に挟まれる構成であったが、これに限定されない。さらに、把持スタイルを鷲掴みや鉛筆握りとして説明し、仮想工具をモンキーレンチやスパナ、六角レンチ、ラチェットレンチなどとした。それに対して第2の実施形態では、固定部2に対して力覚提示部3と、その間の関節を一組だけ設ける構成について説明する。図13は力覚提示装置1の構成を示す図である。各符号の説明は第1の実施形態と同様であるため、省略する。
この力覚提示装置1は仮想工具がドライバなどの時に有効である。図14は、ドライバを把持した状態(上図)と、力覚提示装置1を把持した状態(下図)を示す図である。ドライバを把持するとき柄を掌に押し当てた状態で把持するように、力覚提示装置1の固定部2を掌に押し当て、図13の把持領域を複数の指で包み込むように把持する。
力覚レンダリング部6(不図示)の機能や複合現実感のシステムに適用した構成については、第1の実施形態での説明と重複するので、ここでの説明は省略する。
以上のように、力覚提示部3を固定部2の片側にのみ設けることで、ドライバを把持した状態の力覚を提示することができる。さらに、第1の実施形態で説明した力覚提示装置1と組み合わせると、さらに多種の工具把持状態の力覚を提示することが可能となる。
(構成例4)
前述のように、仮想現実感や複合現実感で工業製品や装置などの作業検証を行うとき、仮想的に表示した製品内部に治工具を挿入して組立やメンテナンスなどの作業ができるか検証することがある。これを図24を用いて説明する。図24は仮想現実感や複合現実感によって、仮想物体の画像を表示し、さらに仮想工具を把持した手(仮想把持モデル)を表示したイメージ図である。一例として、本構成例では、仮想物体Aの中にある仮想六角穴付きボルトを六角レンチで締めたり緩めたりする状況を想定する。この場合、仮想物体の画像表示だけでは仮想物体Aと仮想物体Bの幅の狭さが作業性にどの程度影響するかを把握することが難しい。
しかしながら、仮想工具を用いて実際にボルト締めの操作を模擬的に行えば作業性の評価検証を行うことができる。さらに、仮想工具に力覚の提示機能を持たせることで、ボルト締めの操作感を提示することが可能になり、工具が入るかどうか、あるいはボルト締めの操作が可能な空間があるかどうかを、より正確に検証することができる。本構成例は実際に工具を使用する際の操作感を提示できることが大きな特徴である。
本構成例で仮想的に取り扱う工具とは六角レンチやドライバなどのように、鉛筆握りして使用する工具を指す(図24)。ここで述べる鉛筆握りとは、親指と人差し指、中指によって棒状のものを把持する握り方で、各指を移動させることによって、その棒状のものを長手軸まわりに回転させる動作を意味する。
本構成例に係る力覚提示装置は、構成例1で参照した図20の下欄に示される力覚提示装置1bと同様の構成を有する。このため、構成例1と同様の構成部分については説明を省略し、相違する部分についてのみ説明を行う。
図20において、関節4とアクチュエータ5からなる駆動軸は少なくとも、力覚提示装置1の長手方向の軸まわりの軸が必要である。また、アクチュエータ5を用いて力覚提示部3を動かすときの抵抗感が提示される。これらはいずれもアクティブ制御する(自ら力やトルクを出す)アクチュエータ5であるが、それに限定されず、パッシブ制御(ユーザからの力を反力とする)でも良い。パッシブ制御の場合にはクラッチやブレーキで抵抗力を制御しても良いし、MR流体やER流体を用いて抵抗力を制御しても良い。
さらに、固定部2を手や掌に対して拘束力を上げるため、固定部2に指輪を設けても良い。ユーザはこの力覚提示装置1に対して、点線で示す位置に、すなわち固定部2を基準に関節4と、少なくとも力覚提示部3の一部の領域を把持する。図25は、本構成例における力覚提示装置1を把持した状態を示す図である。固定部2は親指と人差し指の間の付け根で挟むように把持することができる。あるいは、固定部2に指輪201を設けている場合、例えば図25で示すように親指に指輪201を装着させると、より固定部2が手あるいは掌に拘束されるため、固定部2が動くことによって発生する違和感を軽減することができる。
次に、図24のような仮想現実感、複合現実感環境で力覚提示装置1を使うとき、次の二つの状況がある。一つ目はボルト締めなどの操作をしないとき、二つ目はあるいはボルトを締めたり緩めたりするときである。それらの目的は例えば、前者は所定のボルト(仮想ボルト)まで工具(仮想工具)を進入させることができるか評価することを目的としている。後者は工具(仮想工具)を操作するための十分な空間があるか評価することを目的としている。それらの認識は、干渉判定部630で仮想工具と仮想ボルトとの干渉判定を行い、仮想工具の先端が仮想ボルトと触れていないときはボルト締めなどの操作を行わないものとして処理する。そして、仮想工具の先端が仮想ボルトに触れているときはボルト締めなどの操作を行うものとして処理することができる。あるいは、工具が作用する物体(仮想ボルト)と力覚提示装置1の力覚提示部3が干渉している状態であるときは、ボルト締めなどの操作を行うものとして処理することができる。
このような力覚提示方法について図25を用いて説明する。はじめに、ボルト締めなどの操作をしないとき、すなわち、所定のボルトまで工具を侵入させることができるか評価する状況における力覚提示について説明する。干渉判定部630によって仮想物体と仮想工具とが干渉していないことが計算できれば、力覚提示部3は固定部2に対して動かないように力覚レンダリング部6でアクチュエータ5を制御し、非干渉の力覚を提示する。一例として図26で、アクチュエータ3にDCモータと、超音波モータを、図27でアクチュエータ3にブレーキやER流体を用いた場合について示す。なお、各アクチュエータ5と固定部2や力覚提示装置3への搭載、あるいはギアなど機械要素部品は、機能をわかりやすく説明するために不図示としたが、搭載すべきである。また、各アクチュエータ5の配置は図26や図27に限定されない。例えば、固定部2側に搭載した構成を図示しているが、これに限定されず、力覚提示装置3に搭載しても良い。また、図26で示した超音波モータは、振動加振用の圧電素子が埋め込まれたステータと、ステータ上を進行するロータの配置が逆になっても有効である。ただし、図26は、アクティブ制御型のアクチュエータを模式的に示す図である。図27は、パッシブ制御型のアクチュエータを模式的に示す図である。
以下、図26と図27を参照しながら各アクチュエータにおける力覚レンダリング部6の駆動制御について説明する。例えば、アクチュエータ5にDCモータやACモータ、ステッピングモータを使用している場合は、エンコーダを搭載し、そのエンコーダの出力値が所定のトレランス内に保つようサーボ制御を行い、力覚提示部3を固定部2に対して不動にすることができる。また、アクチュエータ5に静電モータを使用する場合は電極間に、超音波モータを使用する場合はステータとロータ間に与圧をかける。与圧はステータの一部に磁石を設け、磁力によるもので良い。そのとき、力覚提示部3を指でまわす力よりも、与圧とそれらの接触面積から生じる摩擦力が大きくなるようにすることができる。そして、駆動を停止させることによって摩擦力で力覚提示部3を固定部に対して動かさないようにすることができる。さらに、アクチュエータ5にブレーキやクラッチを使用する場合にはディスク同士を密着状態にして、摩擦力を大きくして力覚提示部3を固定部に対して動かさないようにすることができる。
そして、アクチュエータ5にER流体を使う場合は電極間の電界強度を、MR流体を使用する場合は磁界強度を強くする。それらの強度はER流体やMR流体の種類や電極間の間隙によって決まる。その場合、指で力覚提示部3をまわす力よりも抵抗力が大きくなるような電界強度、磁界強度にしてER流体やMR流体が電極などの壁面に生じるせん断力を大きくさせ、力覚提示部3を固定部に対して動かさないようにすることができる。
また、ボルト締めなどの操作ではないものの、干渉判定部630によって仮想物体と仮想工具とが干渉することを計算したときは、アクチュエータ5を駆動させ、干渉の力覚を提示する。このときのアクチュエータ5は、アクティブ制御が可能である必要がある。このため、例えば、油空圧アクチュエータや、ソレノイド、DCモータ、ACモータ、ステッピングモータ、リニアモータ、静電モータ、超音波モータ、高分子アクチュエータ、形状記憶合金の内、少なくともいずれかのアクチュエータを用いることができる。なお、干渉は力覚レンダリング部6の干渉判定部630で計算し、干渉深度に応じて反力を計算し、処理部620でアクチュエータ5を駆動させるための力覚提示情報を計算する。まず、駆動軸が力覚提示装置1の長手軸まわりの軸しかない場合、力覚提示情報は指先で力覚提示部3をまわす速度やまわす量よりも速い速度、多い駆動量で力覚提示部3を駆動させる。あるいは、指先で力覚提示部3をまわす力、トルクよりも強い力、トルクで力覚提示部3を駆動させる。駆動量は干渉深度に応じて制御する。あるいは力覚提示部3を力覚提示装置1の長手軸まわりに往復運動(振動)させても良い。その往復運動(振動)の振幅または/および周波数は干渉深度に応じて制御する。ただし、干渉によって現実に知覚する力覚方向と、仮想的に提示する力覚方向が異なる可能性がある。このため、ユーザが使用する前に訓練などで、代替提示を知覚することが必要である。
次に、仮想的なボルトを締めるとき、図25において、指先で力覚提示部3を楔形の矢印方向に動まわす。反対に、仮想的なボルトを緩めるときは指先で力覚提示部3を三角形の矢印方向にまわす。以下、仮想的なボルトを締めるときを想定して工具操作の力覚提示について説明するが、緩めるときは方向が反対になる。例えば、アクチュエータ5にDCモータを使用している場合、処理部620が計算する力覚提示情報は指先が力覚提示部3を回転させる方向と同方向へ、そして回転速度よりも遅い速度で力覚提示部3を駆動させる。そうすると、アクチュエータ5が発生する抵抗力によって、図25の楔形矢印方向にボルトを締める力覚を提示させることができる。ACモータ、ステッピングモータ、静電モータ、超音波モータを使用している場合も同様である。あるいは、処理部620が計算する力覚提示情報は、指先が力覚提示部を回転させる方向と逆方向へ、指先のまわす力、トルクよりも小さな力、トルクで力覚提示部3を駆動させて抵抗力を出力し、ボルトを締める力覚を提示させても良い。
また、アクチュエータ5にブレーキやクラッチを使用する場合には、力覚提示部3が固定部2に対して指でまわせる程度にディスクの密着を緩め、摩擦による抵抗力を提示する。そして、アクチュエータ5にER流体を使う場合は電極間の電界強度を、MR流体を使用する場合は磁界強度を弱め、力覚提示部3が固定部2に対して指でまわせる程度に、ER流体やMR流体が電極などの壁面に生じるせん断力を緩和させる。そして、その摩擦による抵抗力を出力し、ボルトを締める力覚を提示させても良い。
以上説明した力覚提示装置およびその力覚提示方法を複合現実感(MR:Mixed reality)に組み込んだシステム構成について、図28を用いて説明する。図28は、本構成例にかかる力覚提示装置を組み込んだ複合現実感のシステム構成を模式的に示す図である。
図28において、演算処理部7は、コンピュータなどの計算機から構成される。演算処理部7はその内部にCPU701、RAM702、画像出力装置703、システムバス704、ディスク装置705、入力装置706、画像入力装置707を備える。CPU701は、力覚提示のための干渉判定部630(不図示)と、力覚を計算する処理部620(不図示)と、画像処理を制御する機能を持つ。CPU701はシステムバス704に接続され、力覚提示用のアクチュエータ5を制御する制御部610と、RAM702、画像出力装置703、ディスク装置705、入力装置706、画像入力装置707と相互に通信することが可能である。
力覚提示のための制御部610は力覚提示装置1のアクチュエータ5の駆動情報を伝えるもので、CPU701上で実行される干渉判定部630(不図示)および処理部620(不図示)からの情報はシステムバス704を介して制御部610へ伝えられる。RAM702は、メモリ等の主記憶装置によって実現される。RAM702は、システムバス704を介して、干渉判定プログラム、力覚計算プログラム、画像処理プログラムのプログラムコードやプログラムの制御情報、画像入力装置707から入力した実写画像データを一時的に保持する。そのほか、CGモデルや配置情報などの仮想空間データ、センサ計測値、センサ較正データ等の各種データを一時的に保持する。仮想空間データには、仮想物体モデルや工具把持モデル、仮想指標のCGモデルがある。さらに、仮想空間内に配置される位置・姿勢情報も含まれている。
画像出力装置703は、グラフィックスカードなどの機器によって実現される。一般的に、画像出力装置703は不図示のグラフィックスメモリを保持している。CPU701上で実行されるプログラムによって生成された画像情報は、システムバス704を介して、画像出力装置703が保持するグラフィックスメモリに書き込まれる。画像出力装置703は、グラフィックスメモリに書き込まれた画像情報を適切な画像信号に変換して表示装置801に送出する。グラフィックスメモリは必ずしも画像出力装置703が保持する必要はなく、RAM702がグラフィックスメモリの機能を実現してもよい。
システムバス704は、演算処理部7を構成する各機器が接続され、上記機器が相互に通信するための通信路である。ディスク装置705は、ハードディスクやROM等の補助記憶装置によって実現される。ディスク装置705は、力覚レンダリングのためのプログラムコードや、画像処理プログラムのプログラムコード、各プログラムの制御情報、仮想空間データ、センサ較正データ、仮想物体モデル、工具把持モデルなどを格納する。ただし、力覚レンダリングのためのプログラムコードには、干渉判定プログラム、力覚計算プログラムが含まれる。
入力装置706は、各種インターフェース機器によって実現される。演算処理部7の外部に接続された機器からの信号をデータとして入力し、システムバス704を介して、RAM702にデータを書き込む。また、入力装置706はキーボードやマウスなどの機器を備え、本装置のユーザ(操作者)からの操作入力を受け付ける。
画像入力装置707は、キャプチャカードなどの機器によって実現される。撮像装置802から送出される実写画像を入力し、システムバス704を介して、RAM702に画像データを書き込む。なお、表示装置801に光学シースルー型の表示装置を用いる場合には、画像入力装置707は具備しなくてもよい。
頭部装着部8は、本実施形態のシステムを体験するために、本装置のユーザが頭部に装着するビデオシースルー型HMDなどによって実現される。頭部装着部8は表示装置801、撮像装置802、位置姿勢センサ803から構成される。本実施形態では、頭部装着部8を構成する装置をユーザが頭部に装着しているが、ユーザが複合現実感を体験できる形態であれば、頭部装着部8は必ずしもユーザが装着する必要はない。
表示装置801は、ビデオシースルー型HMDに備えられるディスプレイによって実現される。表示装置801は画像出力装置703から送出される画像信号を表示し、本装置のユーザに複合現実感映像を提示するために用いられる。表示装置801は頭部装着部8を構成する装置であるが、必ずしもユーザが装着する必要はない。ユーザが映像を確認することができる手段であれば、例えば表示装置801として据え置き型のディスプレイ装置を用いてもよいし、手持ち型のディスプレイを用いてもよい。
撮像装置802は、CCDカメラなどの1つ以上の撮像装置によって実現される。撮像装置802は本装置のユーザの視点から見た現実世界の実写画像を撮像するために用いられる。そのため、撮像装置802はユーザの頭部の中でも視点位置に近い場所に装着することが望ましいが、ユーザの視点から見た画像が取得できる手段であれば、これに限定されない。また、ハーフミラーやプリズムなどを用いて撮像装置802の光軸と、表示装置801の中心軸を一致させてもよい。撮像装置802が撮像した実写画像は、(アナログ信号もしくはIEEE1394規格のデジタル信号などからなる)画像信号として画像入力装置707に送出される。なお、表示装置801に光学シースルー型の表示装置を用いる場合には、本装置のユーザは表示装置801を通して現実世界を直接観察することになるため、撮像装置802は具備しなくてもよい。
位置姿勢センサ803は、本装置を利用するユーザの視点(位置姿勢センサ803)および力覚提示装置1の位置・姿勢を計測し、演算処理部7の入力装置706に送出する。位置姿勢センサ803は、例えば、磁気センサや、加速度センサとジャイロ、赤外線センサを含む光学式センサなどからなる位置姿勢計測装置によって実現される。なお、この位置姿勢センサ803は、力覚提示装置1を回す角速度(速度)を測定するためのセンサと兼ねても良い。
ユーザは力覚提示装置1を把持して使用する。力覚提示装置1内のポジショニングセンサ550は例えばエンコーダで、このポジショニングセンサ550から、固定部2と力覚提示部3の相対的な位置姿勢を計測し、演算処理部7の入力装置706に送出する。
上記のように、構成例4で説明した力覚提示装置1およびその力覚提示方法によって、操作範囲の広い力覚提示が可能となる。さらに、その着脱はわずらわしくなく、操作時の違和感を軽減することも可能となり、小型、軽量化も可能となる。また、複合現実感システムに組み込むことによって、実際に工具を用いてボルトを締めたり、緩めたりするときの力覚を提示することが可能となり、画像の表示と併せることで現実感が増大する。更には、仮想的に表示した製品内部に治工具を挿入したときの組立やメンテナンスなどの作業性の検証効率が向上する。これは複合現実感に限定されず、仮想現実感(VR:Virtual reality)に適用しても同様の効果が得られる。
(構成例5)
構成例4では、工具(仮想工具)が仮想物体と干渉したときの力覚、およびボルトを仮想的に締めたり緩めたりするときの力覚を提示する力覚提示装置およびその力覚提示方法について説明した。構成例5では、別の形態として、図29上段に示す作業性検証を想定した力覚提示方法について説明する。図29上段では六角レンチを鉛筆握りし、中指で六角穴付きボルトを抑えながらめねじの位置を探り、挿入させる作業を示したものである。そして、六角穴付きボルトがめねじにはまったとき、作業者はコツッ感を知覚する。構成例5ではこのような作業における知覚を提示させる。ただし、図29は、作業性検証と力覚提示の方法を示す図である。なお、六角穴付きボルトもねじ部材に含まれる。
力覚提示装置1は固定部2を基準に力覚提示装置3を駆動させる。力覚提示装置1の駆動軸が、力覚提示装置1の長手軸まわりのみ場合、その方向に駆動させる。ただし、このときのアクチュエータ5はアクティブ制御が可能である必要がある。このため、例えば、油空圧アクチュエータや、ソレノイド、DCモータ、ACモータ、ステッピングモータ、リニアモータ、静電モータ、超音波モータ、高分子アクチュエータ、形状記憶合金の内、少なくともいずれかのアクチュエータを用いる。そして、仮想めねじに仮想六角穴付きボルトが挿入されたタイミングを干渉判定部630で計算し、処理部620で力覚提示情報を計算する。コツッ感の力覚提示は急峻であるべきなので、力覚提示情報は駆動パターンや力、トルクがパルス状の駆動情報であることが好ましい。
さらに、好ましくは、図29下段に示したように、力覚提示装置1の駆動軸は、力覚提示装置1の長手方向の軸も持つことが好ましい。上述の通り、この時のアクチュエータ5はアクティブ制御が可能である必要がある。このため、油空圧アクチュエータや、ソレノイド、DCモータ、ACモータ、ステッピングモータ、リニアモータ、静電モータ、超音波モータ、高分子アクチュエータ、形状記憶合金の内、少なくともいずれかのアクチュエータを用いる。そして、仮想めねじに仮想六角穴付きボルトが挿入されたタイミングを、干渉判定部630で計算し、処理部620で力覚提示情報を計算する。コツッ感の力覚提示は急峻であるべきなので、力覚提示情報は駆動パターンや力、トルクがパルス状の駆動情報であることが好ましい。
ここでは駆動軸が、力覚提示装置1の長手軸まわりの軸の場合と、力覚提示装置1の長手方向の軸の場合について説明したが、その他の自由度の駆動軸を有しても構わない。ただし、処理部620で計算する力覚提示情報は駆動パターンや力、トルクがパルス状であることが好ましい。また、干渉によって現実に知覚する力覚方向と、仮想的に提示する力覚方向が異なる可能性があり、それを解決するため、ユーザが使用する前に訓練などで、代替提示を知覚させる行程が必要である。
このように構成例5によって、仮想物体と仮想工具との干渉の力覚提示だけでなく、ボルトを挿入させときに知覚するコツッ感も提示することが可能となり、より現実感のある力覚提示を可能とする。更には、仮想的に表示した製品内部に治工具を挿入したときの組立やメンテナンスなどの作業性の検証効率がさらに向上する。
(構成例6)
図30は仮想現実感や複合現実感によって、仮想物体の画像を表示し、さらに仮想工具を把持した手(仮想把持モデル)を表示したイメージ図である。一例として、仮想物体上のめねじに対して、ドライバ先端のビスを締めたり緩めたりすることを想定する。この場合、仮想物体の画像表示だけでは作業性を把握することが難しい。しかしながら、仮想工具を用いて実際にボルト締めの操作を模擬的に行えば作業性の評価検証を行うことができる。さらに、仮想工具に力覚の提示機能を持たせることで、ボルト締めの操作感を提示することが可能になり、工具が入るかどうか、あるいはボルト締めの操作が可能な空間があるかどうかを、より正確に検証することができる。本構成例は実際に工具を使用する際の操作感を提示できることが大きな特徴である。
本構成例で仮想的に取り扱う工具とはドライバなどのように、一方の手で、一方の手でビスを押さえながらもう一方の手で、多指で包み込むように把持して使用する工具を指す。このような工具を模した力覚提示装置は、構成例1と同様に図20の下欄に示される力覚提示装置2bと同様である。このため、上記の構成と同様の部分については説明を省略し、相違する部分についてのみ説明を行う。
図20において、構成例6の干渉判定部は、力覚提示装置1が模している仮想工具先端の仮想ビスと、仮想めねじとの干渉(挿入)を判定する。そして、以下説明する力覚提示では仮想工具先端の仮想ビスと仮想めねじが干渉(挿入)している状態である。あるいは、工具が作用する物体(仮想ビス)と力覚提示装置1の固定部2が干渉している状態である。すなわちビス締め、緩めが可能である状態であることを前提とする。
ユーザはこの力覚提示装置1に対して、ビスを押さえる手に相当する手で固定部2を把持し、力覚提示部3の固定部2とは反対側をもう一方の手で包み込むように把持する。力覚提示装置1を把持した状態を図31に示す。図31は、左手の指先で固定部2を掴み、右手の多指で力覚提示部3を包み込むように把持している状態を示す図である。
次に、仮想的なビスを締めたり、緩めたりすると言った工具操作の力覚提示方法について図31を用いて説明する。まず、ビスを締めるとき、図31において、右手の指先で力覚提示部3を楔形の矢印方向にまわす。反対に、仮想的なビスを緩めるときは力覚提示部3を三角形の矢印方向にまわす。以下、仮想的なビスを締めるときを想定して工具操作の力覚提示について説明するが、緩めるときは方向を反対にすれば良い。例えばアクチュエータ5にDCモータを使用している場合、処理部620が計算する力覚提示情報は指先が力覚提示部3を回転させる方向と同方向へ、そして回転速度よりも遅い速度で力覚提示部3を駆動させる(図32上図)。そうすると、アクチュエータ5が発生する抵抗力によって、図31の楔形矢印方向にビスを締める力覚を提示させることができる。ACモータ、ステッピングモータ、静電モータ、超音波モータを用いている場合も同様である。あるいは、処理部620が計算する力覚提示情報は、指先が力覚提示部を回転させる方向と逆方向へ、指先のまわす力、トルクよりも小さな力、トルクで力覚提示部3を駆動させて抵抗力を出力し、ビスを締める力覚を提示させても良い(図32下図)。なお、図32は、アクティブ制御型のアクチュエータを模式的に示す図である。
また、アクチュエータ5にブレーキやクラッチを使用する場合には、力覚提示部3が固定部2に対して指でまわせる程度にディスクの密着を緩め、摩擦による抵抗力を提示する(図33上図)。そして、アクチュエータ5にER流体を使う場合は電極間の電界強度を、MR流体を使用する場合は磁界強度を弱め、力覚提示部3が固定部2に対して指でまわせる程度に、ER流体やMR流体が電極などの壁面に生じるせん断力を制御する。そして、その摩擦による抵抗力を出力し、ビスを締める力覚を提示させても良い(図33下図にER流体の場合を記載)。なお、図33は、パッシブ制御型のアクチュエータを模式的に示す図である。
以上説明した力覚提示装置およびその力覚提示方法を複合現実感(MR; Mixed reality)に組み込んだシステム構成について、図34を用いて説明する。図34は、力覚提示装置を複合現実感システムに組み込むときのシステム構成を例示する図である。
図34において、演算処理部7は、コンピュータなどの計算機から構成される。演算処理部7はその内部にCPU701、RAM702、画像出力装置703、システムバス704、ディスク装置705、入力装置706、画像入力装置707を備える。
CPU701は、力覚提示のための干渉判定部630(不図示)と、力覚を計算する処理部620(不図示)と、画像処理を制御する機能を持つ。CPU701はシステムバス704に接続され、力覚提示用のアクチュエータ5を制御する制御部610と、RAM702、画像出力装置703、ディスク装置705、入力装置706、画像入力装置707と相互に通信することが可能である。
力覚提示のための制御部610は力覚提示装置1のアクチュエータ5の駆動情報を伝えるもので、CPU701上で実行される干渉判定部630(不図示)および処理部620(不図示)からの情報はシステムバス704を介して制御部610へ伝えられる。
RAM702は、メモリ等の主記憶装置によって実現される。RAM702は、システムバス704を介して、干渉判定プログラム、力覚計算プログラム、画像処理プログラムのプログラムコードやプログラムの制御情報、画像入力装置707から入力した実写画像データを一時的に保持する。そのほか、CGモデルや配置情報などの仮想空間データ、センサ計測値、センサ較正データ等の各種データを一時的に保持する。仮想空間データには、仮想物体モデルや工具把持モデル、仮想指標のCGモデルがある。さらに、仮想空間内に配置される位置・姿勢情報も含まれている。
画像出力装置703は、グラフィックスカードなどの機器によって実現される。一般的に、画像出力装置703は不図示のグラフィックスメモリを保持している。CPU701上で実行されるプログラムによって生成された画像情報は、システムバス704を介して、画像出力装置703が保持するグラフィックスメモリに書き込まれる。画像出力装置703は、グラフィックスメモリに書き込まれた画像情報を適切な画像信号に変換して表示装置801に送出する。グラフィックスメモリは必ずしも画像出力装置703が保持する必要はなく、RAM702がグラフィックスメモリの機能を実現してもよい。
システムバス704は、演算処理部7を構成する各機器が接続され、上記機器が相互に通信するための通信路である。
ディスク装置705は、ハードディスクやROM等の補助記憶装置によって実現される。ディスク装置705は、力覚レンダリングのためのプログラムコードや、画像処理プログラムのプログラムコード、各プログラムの制御情報、仮想空間データ、センサ較正データ、仮想物体モデル、工具把持モデルなどを格納する。なお、力覚レンダリングのためのプログラムコードには、例えば、干渉判定プログラム、力覚計算プログラムが含まれる。
入力装置706は、各種インターフェース機器によって実現される。演算処理部7の外部に接続された機器からの信号をデータとして入力し、システムバス704を介して、RAM702にデータを書き込む。また、入力装置706はキーボードやマウスなどの機器を備え、本装置のユーザ(操作者)からの操作入力を受け付ける。
画像入力装置707は、キャプチャカードなどの機器によって実現される。撮像装置802から送出される実写画像を入力し、システムバス704を介して、RAM702に画像データを書き込む。なお、表示装置801に光学シースルー型の表示装置を用いる場合には、画像入力装置707は具備しなくてもよい。
頭部装着部8は、本実施形態のシステムを体験するために、本装置のユーザが頭部に装着するビデオシースルー型HMDなどによって実現される。頭部装着部8は表示装置801、撮像装置802、位置姿勢センサ803から構成される。本実施形態では、頭部装着部8を構成する装置をユーザが頭部に装着しているが、ユーザが複合現実感を体験できる形態であれば、頭部装着部8は必ずしもユーザが装着する必要はない。
表示装置801は、ビデオシースルー型HMDに備えられるディスプレイによって実現される。表示装置801は画像出力装置703から送出される画像信号を表示し、本装置のユーザに複合現実感映像を提示するために用いられる。表示装置801は頭部装着部8を構成する装置であるが、必ずしもユーザが装着する必要はない。ユーザが映像を確認することができる手段であれば、例えば表示装置801として据え置き型のディスプレイ装置を用いてもよいし、手持ち型のディスプレイを用いてもよい。
撮像装置802は、CCDカメラなどの1つ以上の撮像装置によって実現される。撮像装置802は本装置のユーザの視点から見た現実世界の実写画像を撮像するために用いられる。そのため、撮像装置802はユーザの頭部の中でも視点位置に近い場所に装着することが望ましいが、ユーザの視点から見た画像が取得できる手段であれば、これに限定されない。また、ハーフミラーやプリズムなどを用いて撮像装置802の光軸と、表示装置801の中心軸を一致させてもよい。撮像装置802が撮像した実写画像は、(アナログ信号もしくはIEEE1394規格のデジタル信号などからなる)画像信号として画像入力装置707に送出される。なお、表示装置801に光学シースルー型の表示装置を用いる場合には、本装置のユーザは表示装置801を通して現実世界を直接観察することになるため、撮像装置802は具備しなくてもよい。
位置姿勢センサ803は、本装置を利用するユーザの視点(位置姿勢センサ803)および力覚提示装置1の位置・姿勢を計測し、演算処理部7の入力装置706に送出する。位置姿勢センサ803は、例えば磁気センサや、加速度センサとジャイロ、赤外線センサを含む光学式センサなどからなる位置姿勢計測装置によって実現される。なお、この位置姿勢センサ803は、力覚提示装置1を回す角速度(速度)を測定するためのセンサと兼ねても良い。
ユーザは力覚提示装置1を把持して使用する。力覚提示装置1内のポジショニングセンサ550は例えばエンコーダで、このポジショニングセンサ550から、固定部2と力覚提示部3の相対的な位置姿勢を計測し、演算処理部7の入力装置706に送出する。
このように、構成例6で説明した力覚提示装置1およびその力覚提示方法によって、操作範囲の広い力覚提示を可能にする。さらに、その着脱はわずらわしくなく、操作時の違和感を軽減することも可能となり、小型、軽量化も可能となる。また、複合現実感システムに組み込むことによって、実際に工具を用いてビスを締めたり、緩めたりするときの力覚を提示することが可能となり、画像の表示と併せることで現実感が増大する。更には、仮想的に表示した製品内部に治工具を挿入したときの組立やメンテナンスなどの作業性の検証効率が向上する。これは複合現実感に限定されず、仮想現実感(VR; Virtual reality)に適用しても同様の効果が得られる。
(構成例7)
構成例6では、ビスを仮想的に締めたり緩めたりするときの工具操作の力覚を提示する力覚提示装置およびその力覚提示方法について説明した。構成例7では、ビスを仮想的に締めたり緩めるスペースがあるか検証するための干渉の力覚提示について説明する。
工具を使ってビスをまわすとき、ユーザの手(工具把持モデル)と仮想物体との干渉および干渉深度を干渉判定部630で計算する。つまり、ユーザが多指で力覚提示部3を包み込んで把持する手(図31における右手)で工具に模した力覚提示装置1をまわしたときの、その手と仮想物体との干渉、干渉深度が計算される。そして、処理部620はその干渉に応じて力覚提示情報を求め、制御部610はアクチュエータ5を駆動させる。現実に手と物体が干渉したときは、それ以上工具をまわすことができないので、それと同様に、力覚提示部3が固定部2に対してまわらないようにアクチュエータ5を駆動制御する。
例えばアクチュエータ5にDCモータやACモータ、ステッピングモータを使用している場合は、エンコーダを搭載し、そのエンコーダの出力値が所定のトレランス内に保つようサーボ制御を行い、力覚提示部3を固定部2に対してまわさない。またアクチュエータ5に静電モータを使用する場合は電極間に、超音波モータを使用する場合はステータとロータ間に与圧をかける。与圧はステータの一部に磁石を設け、磁力によるもので良い。そのとき、力覚提示部3を手でまわす力よりも、与圧とそれらの接触面積から生じる摩擦力が大きくなるようにする。そして、駆動を停止させることによって摩擦力で力覚提示部3を固定部に対してまわさない。さらにアクチュエータ5にブレーキやクラッチを使用する場合にはディスク同士を密着状態にして、摩擦力を大きくして力覚提示部3を固定部に対してまわさない。そして、アクチュエータ5にER流体を使う場合は電極間の電界強度を、MR流体を使用する場合は磁界強度を強くする。それらの強度はER流体やMR流体の種類や電極間の間隙によって決まる。そのとき、指で力覚提示部3をまわす力よりも抵抗力が大きくなるような電界強度、磁界強度にしてER流体やMR流体が電極などの壁面に生じるせん断力を大きくさせ、力覚提示部3を固定部に対してまわさない。このようにアクチュエータ5の駆動制御によって力覚提示部3を固定部3に対してまわさないことによって、手と仮想物体とが干渉している力覚を提示させる。
また、干渉深度に応じて、反力として提示させても良い。そのとき、アクチュエータ5はアクティブ制御が可能である必要がある。このため、油空圧アクチュエータや、ソレノイド、DCモータ、ACモータ、ステッピングモータ、リニアモータ、静電モータ、超音波モータ、高分子アクチュエータ、形状記憶合金の内、少なくともいずれかのアクチュエータを用いる。そして好ましくは仮想物体と干渉した手(工具把持モデル)の位置をユーザに知覚させるとさらに良いので、駆動軸は力覚提示装置1の長手方向の軸に対して首振り方向や、垂直方向を設けると良い。図35は力覚提示装置1の長手方向の軸に対して首振り方向の駆動軸を設けた場合の干渉の力覚提示を説明する図である。そして、仮想物体と干渉した手(工具把持モデル)の位置の方向へ力覚提示部3を干渉深度に応じて駆動させる。そのときの力覚提示情報は駆動方向だけでなく、駆動量や速度、力、トルクの駆動情報が必要である。
また、力覚提示部3の駆動方向の基準を設けるため、さらに固定部2を手や掌に対して拘束力を上げるため、固定部2に指輪を設ける。あるいは把持領域を握りやすくするために凹凸を設ける、または把持するときの目印となるマークを設けても良いが、図35ではいずれも不図示とした。さらに、把持するときに目印とする位置へ力覚提示部3を駆動させておいても良い。
なお、干渉によって現実に知覚する力覚方向と、仮想的に提示する力覚方向が異なるため、それを解決するため、ユーザが使用する前に訓練などで、代替提示を知覚させる行程が必要である。したがって、ユーザに代替提示を知覚する行程を経ていれば、干渉の力覚提示方向は仮想物体と干渉した手(工具把持モデル)の位置の方向に限定されず、仮想物体と干渉した手(工具把持モデル)の位置の反対側に駆動させても良い。
このように構成例7によって、仮想物体と干渉した手(工具把持モデル)との干渉の力覚提示が可能となり、より現実感のある力覚提示が可能となる。更には仮想的に表示した製品内部に治工具を挿入したときの組立やメンテナンスなどの作業性の検証効率がさらに向上する。
<<第3の実施形態>>
第1の実施形態と第2の実施形態においては、力覚提示部3が、図15(a)に示すように、力覚提示装置1の長手方向の軸に対して首振り方向に駆動する場合について例示的に説明してきた。しかしながら駆動軸はこれに限定されない。例えば、以下の方向に駆動してもよい。
・図15(b):力覚提示装置1の長手方向の軸まわり(θ)の方向。
・図15(c):力覚提示装置1の長手方向軸と直交する方向。
・図15(d):力覚提示装置1の長手方向。
さらに、これらを組み合わせることによって、力覚提示装置1の自由度を最大で6自由度にすることができる。なお、図15は、力覚提示装置の自由度を模式的に示す図である。
この駆動を実現するアクチュエータは第1の実施形態で説明したものを用いることができる。例えば、エアシリンダなど油空圧アクチュエータやソレノイドは、機構部品を減らす目的で、図15(d)のような力覚提示装置1の長手方向の駆動において好適に用いることができる。また、モータ(DCサーボモータ、DCモータ、ACモータ、ステッピングモータ、リニアモータ、静電モータ、超音波モータ)はギアなど機械要素部品やリンク機構との組み合わせることによって、全6軸の駆動が可能となる。
多自由度超音波モータや高分子アクチュエータ、形状記憶合金などダイレクト駆動が可能なアクチュエータは曲げ方向の駆動特性に優れているため、図8や図9で説明した通り、図15(a)のような長手方向の軸に対して首振りの方向の駆動が好ましい。ただし、図8で説明した多自由度超音波モータは、図15(b)のような力覚提示装置1の長手方向の軸まわり(θ)の方向にも駆動が可能である。
このように、各軸ごとにアクチュエータを選定し、駆動させる。例えば、図15(a)のような長手方向の軸に対して首振りの方向の駆動と、図15(b)のような力覚提示装置1の長手方向の軸まわり(θ)の方向には、図8で説明した多自由度超音波モータを用いる。さらに図15(c)の力覚提示装置1の長手方向軸と直交する方向や、図15(d)の力覚提示装置1の長手方向には、DCサーボモータと機械要素、リンク機構によって駆動させる。
以上のように複数の、複数種類のアクチュエータを用いることによって、最大6自由度の力覚提示が可能となる。なお、ここで説明した駆動軸とアクチュエータの組み合わせは一例であり、その組み合わせは任意である。
<<第4の実施形態>>
第1の実施形態で複合現実感や仮想現実感に力覚提示装置1を適用するシステム構成について、詳細に説明した。しかし、力覚提示装置1が適用できるシステムはこれだけに限定されない。例えば、把持した手に力覚を提示しながら持ち歩くことによって、主に盲人の歩行ナビゲーションシステムにも適用できる。図16を用いて歩行ナビゲーションシステムについて説明する。図16は、力覚提示装置1が適用された歩行ナビゲーションシステムを模式的に示す図である。
図16において、演算処理部7はコンピュータなど計算機から構成される。演算処理部7はその内部にCPU701、RAM702、画像出力装置703、システムバス704、ディスク装置705、入力装置706、画像入力装置707を備える。
CPU701はユーザの位置に基づき、希望する場所へ誘導する経路を計算するプログラムを実行する。CPU701はシステムバス704に接続され、力覚提示用のアクチュエータを制御する制御部610と、RAM702、ディスク装置705、入力装置706と相互に通信することが可能である。
力覚提示のための制御部610は、力覚提示装置1のアクチュエータの駆動情報を伝えるものであり、CPUで計算した経路の方向へ力覚提示装置1内のアクチュエータを駆動する。RAM702は、メモリ等の主記憶装置によって実現される。RAM702は、システムバス704を介して、誘導経路を計算するプログラムのプログラムコードや、ディスク装置705に格納されている地図データ、力覚提示装置1あるいは手の姿勢位置センサ803からの情報の計測値などを一時的に保持する。
システムバス704は、演算処理部7を構成する各機器が接続され、上記機器が相互に通信するための通信路である。ディスク装置705はハードディスクやROM等の補助記憶装置によって実現される。ディスク装置705は経路計算のためのプログラムコードや、力覚提示装置1あるいは手の姿勢位置センサ803からの情報から、力覚提示装置1の位置や姿勢を求めるプログラムコードや、地図データなどを格納する。
入力装置706は、各種インターフェース機器によって実現される。演算処理部7の外部に接続された機器からの信号をデータとして入力し、システムバス704を介して、RAM702にデータを書き込む。また、入力装置706はキーボードやマウスなどの機器を備え、本装置のユーザ(操作者)からの操作入力を受け付ける。位置姿勢センサ803は、GPSセンサやジャイロなどからなる位置姿勢計測装置によって実現する。
ユーザは力覚提示装置1を把持して使用する。力覚提示装置1内のポジショニングセンサ550は例えばエンコーダで、このポジショニングセンサ550から、固定部2と力覚提示部3の相対的な位置姿勢を計測し、演算処理部7の入力装置706に送出する。そして、力覚提示装置1は把持したユーザの掌に対して、誘導する進路方向へ力覚を提示するよう、制御部610はアクチュエータを駆動させる。
なお、第1の実施形態において、説明した通り、力覚提示装置1の位置基準を求める必要がある。その方法は図11を用いて説明した通り、図11(a)のように固定部2に指輪201を設ける方法が有効である。その他、図11(b)のように、固定部2や力覚提示部3の表面に指型の凹凸をつけ、その指型に沿って指がフィットするように把持させても良い。さらに、固定部2や力覚提示部3の表面にマーク(目印)をつけ、例えばそのマークが人差し指と中指の付け根に接触するよう把持させても良い。また、図11(c)のように、力覚提示装置1を把持する前にアクチュエータで初期駆動(把持位置へ駆動)させておき、例えば、力覚提示部3の一方が親指と人差し指の付け根、もう一方が小指の付け根に接触するよう把持させても良い。
以上の構成によって、本実施形態に係る力覚提示装置1はナビゲーションシステムにも使用することが可能となる。即ち、力覚提示装置1による力覚の提示によって、道案内を行うことが可能となる。