(57)【要約】  効率的に駆動できる触感提供装置、及び、シミュレーションシステムを提供する。  触感提供装置は、筐体と、前記筐体に取り付けられ、互いに異なる共振周波数を有し、前記筐体を振動させるＮ（Ｎは２以上の整数）個の振動子と、前記Ｎ個の振動子をそれぞれ共振状態で振動させるＮ個の駆動信号で前記Ｎ個の振動子を同時に駆動する駆動制御部とを含み、前記Ｎ個の駆動信号は、前記Ｎ個の振動子をそれぞれ同時に駆動することにより、第１方向と、前記第１方向の逆の第２方向との速度が異なる往復振動を前記筐体に生じさせる駆動信号である。
2018189914.tif 000002
【特許請求の範囲】
【請求項１】
筐体と、
前記筐体に取り付けられ、互いに異なる共振周波数を有し、前記筐体を振動させるＮ（Ｎは２以上の整数）個の振動子と、
前記Ｎ個の振動子をそれぞれ共振状態で振動させるＮ個の駆動信号で前記Ｎ個の振動子を同時に駆動する駆動制御部と
を含み、
前記Ｎ個の駆動信号は、前記Ｎ個の振動子をそれぞれ同時に駆動することにより、第１方向と、前記第１方向の逆の第２方向との速度が異なる往復振動を前記筐体に生じさせる駆動信号である、触感提供装置。
【請求項２】
前記Ｎ個の駆動信号は、それぞれ、正弦波のフーリエ級数のＮ個の項で表される駆動信号であり、
１からＮのうちのいずれかの値を取る値をｉ、ｉ＝１の振動子の共振周波数をｆとすると、前記Ｎ個の駆動信号のうち、ｉ番目の振動子を駆動する駆動信号は、ａｉｓｉｎ［２π（ｉｆ）ｔ＋｛φｉ＋（ｉ−１）π｝］で表され、
前記ｉ番目の振動子は、前記ｉ番目の振動子を駆動する駆動信号によって共振周波数ｉｆで振動する振動子であり、
所定の位相φｉは、ｉ番目の振動子を駆動する駆動信号について設定される位相、所定の係数ａｉは、ｉ番目の振動子を駆動する駆動信号について設定される振幅の調整値であり、
１番目の振動子に前述の駆動信号を入力した時の筐体の加速度振幅をＡ１とした時、ｉ番目の振動子に前述の駆動信号を入力した時に筐体に生じる加速度が（Ａ１／ｉ）ｓｉｎ［２π（ｉｆ）ｔ＋｛（ｉ−１）π｝］となるように決定される、請求項１記載の触感提供装置。
【請求項３】
前記Ｎ個の振動子は、それぞれ、ばねと、前記ばねの端部に接続される永久磁石と、前記永久磁石に対して前記ばねと並列に接続されるダンパと、前記永久磁石を吸引する電磁力を発生する電磁コイルとを有し、前記駆動信号によって前記電磁コイルのオン／オフが切り替えられることにより、共振周波数で共振する振動子である、請求項１又は２記載の触感提供装置。
【請求項４】
物品の形状と座標を表す物品データに基づいて前記物品の画像を表示する表示部と、
利用者が手に持ちながら移動させることによって前記表示部に表示されるポインタの位置を操作する触感提供装置と、
前記触感提供装置の位置及び姿勢を検出する第１検出部と、
前記第１検出部によって検出される前記位置及び姿勢に基づき、前記表示部に表示される前記ポインタの座標を検出する第２検出部と、
前記物品データに含まれる座標と、前記第２検出部によって検出される前記ポインタの座標とに基づき、前記表示部に表示される前記物品に、前記ポインタが接触したかどうかを判定する判定部と
を含み、
前記触感提供装置は、
筐体と、
前記筐体に取り付けられ、互いに異なる共振周波数を有し、前記筐体を振動させるＮ（Ｎは２以上の整数）個の振動子と、
前記Ｎ個の振動子をそれぞれ共振状態で振動させるＮ個の駆動信号で前記Ｎ個の振動子を同時に駆動する駆動制御部と
を含み、
前記Ｎ個の駆動信号は、前記Ｎ個の振動子をそれぞれ同時に駆動することにより、第１方向と、前記第１方向の逆の第２方向との速度が異なる往復振動を前記筐体に生じさせる駆動信号である、シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、触感提供装置、及び、シミュレーションシステムに関する。
【背景技術】
【０００２】
従来より、コイルを有する固定子と、永久磁石を有する可動子と、前記コイルへの入力電流に応じた前記コイルの発生磁界と前記永久磁石との磁気作用を用いて前記可動子が振動可能なように前記固定子と前記可動子を連結する弾性体と、を備えた振動発生装置において、前記可動子の固有周期に応じたパルス電圧を前記コイルに入力する電圧入力部を更に備えたことを特徴とする振動発生装置がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４８２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来の振動発生装置は、１つの可動子（振動子）を偏加速度が生じるように振動させている。１つの可動子で偏加速度が生じるように振動させるには、可動子を共振させることはできないため、非常に大きな振幅で振動させる必要がある。すなわち、従来の振動発生装置は、利用者に与える力覚（触感）を生じさせるために、大きな電力が必要であり、効率的でない。【０００５】
そこで、効率的に駆動できる触感提供装置、及び、シミュレーションシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施の形態の触感提供装置は、筐体と、前記筐体に取り付けられ、互いに異なる共振周波数を有し、前記筐体を振動させるＮ（Ｎは２以上の整数）個の振動子と、前記Ｎ個の振動子をそれぞれ共振状態で振動させるＮ個の駆動信号で前記Ｎ個の振動子を同時に駆動する駆動制御部とを含み、前記Ｎ個の駆動信号は、前記Ｎ個の振動子をそれぞれ同時に駆動することにより、第１方向と、前記第１方向の逆の第２方向との速度が異なる往復振動を前記筐体に生じさせる駆動信号である。
【発明の効果】
【０００７】
効率的に駆動できる触感提供装置、及び、シミュレーションシステムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態の触感提供装置を示す図である。
【図２】実施の形態の触感提供装置を示す図である。
【図３】筐体に生じる加速度振動の理想的な波形を示す図である。
【図４】鋸波と式（３）から得られる波形とを示す図である。
【図５】触感提供装置のシミュレーション用の簡易モデルを示す図である。
【図６】簡易モデルの振動子の永久磁石と、筐体１１０に生じる力の時間変化を示す図である。
【図７】簡易モデルのシミュレーション結果を示す図である。
【図８】簡易モデルにおいて、力同士の位相差を０にした場合に振動子の永久磁石と、筐体１１０に生じる力の時間変化を示す図である。
【図９】簡易モデルで力同士の位相差を０にした場合のシミュレーション結果を示す図である。
【図１０】簡易モデルにおいて、振動子のみを駆動する場合に振動子の永久磁石と筐体１１０に生じる力の時間変化を示す図である。
【図１１】簡易モデルで振動子のみを駆動する場合のシミュレーション結果を示す図である。
【図１２】簡易モデルにおいて、振動子のみを駆動する場合に振動子の永久磁石と筐体１１０に生じる力Ｆの時間変化を示す図である。
【図１３】簡易モデルで振動子のみを駆動する場合のシミュレーション結果を示す図である。
【図１４】触感提供装置の内部構成を示す図である。
【図１５】実施の形態１のシミュレーションシステムを示す図である。
【図１６】実施の形態１の処理装置が適用されるコンピュータシステムの斜視図である。
【図１７】コンピュータシステムの本体部内の要部の構成を説明するブロック図である。
【図１８】物品データを示す図である。
【図１９】物品の画像の一例を示す図である。
【図２０】反力と振幅値とを関連付けたテーブル形式のデータを示す図である。
【図２１】実施の形態の処理装置が実行する処理を示すフローチャートである。
【図２２】触感提供装置の駆動制御部が振動子を駆動する際に実行する処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の触感提供装置、及び、シミュレーションシステムを適用した実施の形態について説明する。
【００１０】
＜実施の形態＞
図１及び図２は、実施の形態の触感提供装置１００を示す図である。ここでは、直交座標系の一例であるＸＹＺ座標系を用いて説明する。
【００１１】
触感提供装置１００は、筐体１１０、振動子１２０−１、１２０−２、１２０−３、及び駆動制御部１４０を含む。図１には触感提供装置１００の全体構成を示し、図２には振動子１２０−１、１２０−２、１２０−３と駆動制御部１４０の内部構成とを示す。
【００１２】
筐体１１０は、触感提供装置１００の筐体であり、触感提供装置１００の利用者が手で持つ部分である。筐体１１０には、振動子１２０−１、１２０−２、１２０−３が固定される。図１には、一例として、筐体１１０が直方体状の樹脂等で作製された部材であり、筐体１１０の外表面に振動子１２０−１、１２０−２、１２０−３が固定される形態を示すが、振動子１２０−１、１２０−２、１２０−３は、筐体１１０の内部に設けられていてもよく、一部が筐体１１０の内部に配置される構成であってもよい。
【００１３】
筐体１１０の質量は、一例として、振動子１２０−１、１２０−２、１２０−３の質量の約１０倍から約１００倍程度である。このため、それぞれ固有の共振モードを有する振動子１２０−１、１２０−２、１２０−３を１つずつ駆動すると、筐体１１０は、振動子１２０−１、１２０−２、１２０−３の各々の共振に近い状態で共振する。従って、振動子１２０−１、１２０−２、１２０−３をそれぞれの共振周波数で同時に振動させると、筐体１１０には３つの共振を合成した振動が生じる。
【００１４】
筐体１１０は、利用者の親指Ａと人差し指Ｂによって把持される。このように、親指Ａと人差し指Ｂとによって筐体１１０のＹ軸正方向側の側面とＹ軸負方向側の側面とが把持されることによって、触感提供装置１００は、利用者によって保持される。なお、ここでは筐体１１０の両側面を親指Ａと人差し指Ｂで把持する形態について説明するが、利用者は、筐体１１０を親指Ａと人差し指Ｂ以外の指で把持してもよい。また、例えば、両手の手のひら等で筐体１１０の両側面を把持してもよい。
【００１５】
振動子１２０−１、１２０−２、１２０−３は、互いに同様の構成を有するため、ここでは、振動子１２０−１の構成について説明する。振動子１２０−１は、筐体１２１、ばね１２２、永久磁石１２３、ダンパ１２４、及び電磁コイル１２５を有する。振動子１２０−１、１２０−２、１２０−３は、それぞれ固有の共振状態で駆動される。振動子１２０−１、１２０−２、１２０−３の共振周波数の比は、１：２：３に設定されている。
【００１６】
筐体１２１は、一例として、円筒型の金属製又は樹脂製の中空の部材である。筐体１２１の内部には、ばね１２２、永久磁石１２３、ダンパ１２４、及び電磁コイル１２５が配設される。
【００１７】
ばね１２２は、一方の端部が筐体１２１の内壁に固定され、他方の端部が永久磁石１２３に固定される。ばね１２２の内壁に固定される端部は固定端であり、反対側の永久磁石１２３に固定される端部は自由端である。
【００１８】
永久磁石１２３は、ばね１２２の端部（自由端）に取り付けられている。一例として、Ｓ極がばね１２２側に位置し、Ｎ極がばね１２２とは反対側（電磁コイル１２５に近い側）に位置する。
【００１９】
ダンパ１２４は、ばね１２２と並列に、筐体１２１の内壁と永久磁石１２３との間に設けられている。ダンパ１２４の両端は、それぞれ筐体１２１の内壁と永久磁石１２３とに固定されており、ばね１２２の振動を減衰する。ダンパ１２４には、例えば、オイルダンパ又はガス封入式のダンパを用いることができる。
【００２０】
電磁コイル１２５は、図示しない駆動制御部から電流が供給（オン）されると、永久磁石１２３をＸ軸正方向に吸引する。この状態で、ばね１２２は、Ｘ軸正方向に引き延ばされる。電磁コイル１２５に電流が供給されない状態（オフの状態）では、永久磁石１２３は、ばね１２２の収縮力によってＸ軸負方向に引き戻される。このため、電磁コイル１２５に所定の周波数で断続的に電流を流すことにより、永久磁石１２３をＸ軸方向に往復運動させることができる。
【００２１】
なお、振動子１２０−１、１２０−２、１２０−３をそれぞれ固有の共振状態で駆動するために、振動子１２０−１、１２０−２、１２０−３のばね１２２のばね定数と永久磁石１２３の質量は、互いに異なる値に設定される。
【００２２】
振動子１２０−１、１２０−２、１２０−３の共振周波数は、一例として、振動子１２０−１の共振周波数を基準として、振動子１２０−２の共振周波数は振動子１２０−１の共振周波数の２倍、振動子１２０−３の共振周波数は振動子１２０−１の共振周波数の３倍に設定される。このため、振動子１２０−１、１２０−２、１２０−３のばね１２２のばね定数と永久磁石１２３の質量は、それぞれ、３つの共振周波数に対応した値に設定される。
【００２３】
また、ダンパ１２４の減衰力、及び／又は、電磁コイル１２５が電流通流時に発生する磁力も振動子１２０−１、１２０−２、１２０−３で互いに異なっていてもよい。良好な触感を実現するためである。
【００２４】
駆動制御部１４０は、アンプ１６０−１、１６０−２、１６０−３を介して振動子１２０−１、１２０−２、１２０−３に接続されている。駆動制御部１４０は、振動子１２０−１、１２０−２、１２０−３を同時に駆動し、筐体１１０にＸ軸方向の往復運動を生じさせる。
【００２５】
駆動制御部１４０は、振動子１２０−１、１２０−２、１２０−３をそれぞれ別々の駆動信号で同時に駆動する。振動子１２０−１、１２０−２、１２０−３は、それぞれ固有の共振状態で駆動される。
【００２６】
次に、振動子１２０−１、１２０−２、１２０−３を駆動することによって利用者の指先に触感を提供する原理について説明する。
【００２７】
人間の皮膚のマイスナー小体は、皮膚に剪断方向（皮膚の表面に平行な方向）の往復振動が与えられる際に、往方向の振動の速度が、復方向の振動の速度よりも高いと、往方向に引っ張られている触感を感じ取る。また、復方向の振動の速度が、往方向の振動の速度よりも高いと、復方向に引っ張られている触感を感じ取る。
【００２８】
また、利用者が親指Ａと人差し指Ｂとによって筐体１１０の両側面を把持しているときに、振動子１２０−１、１２０−２、１２０−３を駆動してＸ方向に往復運動させると、親指Ａと人差し指Ｂの皮膚の剪断方向は、Ｘ軸方向になる。
【００２９】
このため、振動子１２０−１、１２０−２、１２０−３をＸ軸方向に往復運動させる際に、Ｘ軸正方向に振動する速度がＸ軸負方向に振動する速度よりも高い駆動パターンで振動子１２０−１、１２０−２、１２０−３を駆動すると、利用者は、親指Ａと人差し指ＢがＸ軸正方向に引っ張られる触感を得る
また、これとは逆に、振動子１２０−１、１２０−２、１２０−３をＸ軸方向に往復運動させる際に、Ｘ軸負方向に振動する速度がＸ軸正方向に振動する速度よりも高い駆動パターンで振動子１２０−１、１２０−２、１２０−３を駆動すると、利用者は、親指Ａと人差し指ＢがＸ軸負方向に引っ張られる触感を得る。
【００３０】
触感提供装置１００は、振動子１２０−１、１２０−２、１２０−３を所定の駆動信号で同時に駆動することにより、利用者の親指Ａと人差し指ＢにＸ軸正方向に引っ張られる触感、又は、Ｘ軸負方向に引っ張られる触感を提供する。
【００３１】
図３は、引っ張られる触感を提示するために筐体１１０に生じさせる加速度振動の理想的な波形を示す図である。図３に示す筐体１１０の加速度振動のパターンは、横軸が時間軸であり、縦軸が加速度である。（Ａ）、（Ｂ）に示す２つの振動パターンは、鋸波状の振動パターンであり、加速度が立ち上がる時間変化率の大きさと、立ち下がる時間変化率の大きさとが異なる。
【００３２】
ここで、立ち上がる動作とは、鋸波の加速度が最小の点から最大の点に向かう動作であり、立ち下がる動作とは、鋸波の加速度が最大の点から最小の点に向かう動作である。立ち上がる際には、筐体１１０にかかる加速度はＸ軸正方向に増加し、立ち下がる際には、筐体１１０にかかる加速度がはＸ軸負方向に増加する。
【００３３】
親指Ａ及び人差し指ＢにＸ軸正方向に引っ張る触感を提供する場合には、筐体１１０に、（Ａ）に示すような、立ち上がりが立ち下がりよりも速い加速度振動を生じさせる。一方、親指Ａ及び人差し指ＢをＸ軸負方向に引っ張る触感を提供する場合には、筐体１１０に、（Ｂ）に示すような、立ち下がりが立ち上がりよりも速い加速度振動を生じさせる。
【００３４】
このような引っ張る触感は、一例として、後述するシミュレーションシステムにおいて、スクリーンに表示されるポインタを触感提供装置１００で操作する際に、スクリーンに表示される物品にポインタが接触したときの反力を表す触感として利用される。
【００３５】
また、図３に示す２つの加速度振動のパターンは、一例に過ぎず、加速度の立ち上がる時間変化率と、立ち下がる時間変化率とが異なる振動パターンであれば、どのような波形の振動パターンであってもよい。ただし、振動パターンの周波数は、一例として、４０Ｈｚ〜１００Ｈｚ程度の範囲に収まる周波数であることが好ましい。これは、人体の筋紡錘の感度がこの周波数帯域にあるからである。
【００３６】
上述のような加速度の振動パターンは駆動制御部１４０と振動子１２０−１，１２０−２，１２０−３と筐体の運動の応答の結果として筐体１１０に生成される。加速度の振動パータンは、線形的に増大又は低下する形態に限らず、非線形的に増大又は低下してもよい。
【００３７】
また、加速度の振動パターンは、波形が立ち上がる際の加速度と、波形が立ち下がる際の加速度が異なることによって、筐体１１０が立ち上がる速度と、立ち下がる速度とが異なるように設定された振動パターンを用いてもよい。
【００３８】
加速度振動の振幅は、上述した反力を表す触感の大きさに対応する。加速度振動の振幅が大きくなれば、反力を表す触感は大きくなり、加速度振動の振幅が小さくなれば、反力を表す触感は小さくなる。
【００３９】
加速度振動の振幅を設定するには、例えば、次のようにして行えばよい。ばねを手で引く際に手で受ける反力（１）と、触感提供装置１００の振動子１２０−１、１２０−２、１２０−３をある振幅（電圧値）の駆動信号で駆動したときに引っ張る触感による反力（２）とを実験者が比較する。反力（１）と反力（２）がつり合うときの反力（１）の測定値と、反力（２）を生成する振幅（電圧値）とを関連付ける。
【００４０】
このような作業を様々な大きさの反力（１）について行うことにより、反力（１）の測定値と、反力（２）とを関連付けたテーブル形式のデータを生成する。このようなテーブル形式のデータを用いて、触感提供装置１００の利用者の手に提供すべき反力（２）の大きさに応じて、駆動信号の振幅を設定すればよい。
【００４１】
次に、駆動制御部１４０が振動子１２０−１、１２０−２、１２０−３を駆動する際に用いる駆動信号について説明する。ここで、一例として、振動子１２０−１、１２０−２、１２０−３のうち、振動子１２０−１を基準の振動子とする。
【００４２】
振動子１２０−１、１２０−２、１２０−３の各々を駆動する駆動信号は、正弦波で表される電圧値であり、次式（１）で表される。ここで、iは、１から３のうちのいずれかの値であり、aiは、駆動信号の振幅を表す。ｆは、振動子１２０−１の共振周波数である。また、φiは、振動子１２０−１、１２０−２、１２０−３のうちのi番目の振動子を駆動する駆動信号に含まれる所定の位相である。
【００４３】
【数１】
2018189914.tif 000003
すなわち、式（１）は、３個の振動子１２０−１、１２０−２、１２０−３のうちのi番目の振動子を駆動する駆動信号を表す。
【００４４】
従って、振動子１２０−１の駆動信号はa1ｓｉｎ（２πｆｔ＋φ1）である。振動子１２０−２の駆動信号は(a2ｓｉｎ｛２π（２ｆ）ｔ＋（φ2＋π）｝＝−a2ｓｉｎ｛２π（２ｆ）ｔ＋φ2｝である。また、振動子１２０−３の駆動信号はa3ｓｉｎ｛２π（３ｆ）ｔ＋（φ3＋２π）｝＝a3ｓｉｎ｛２π（３ｆ）ｔ＋φ3｝である。
【００４５】
振幅の係数aiと位相φiは、i番目の振動子に式（１）の駆動信号を入力した結果筐体１１０に生じる加速度が次式（２）となるように調整するために必要な数値である。
【００４６】
【数２】
2018189914.tif 000004
ここでＡ1は１番目の振動子の駆動信号の振幅a１と振動系１００の動特性の結果生じる加速度振幅である。Ａ１は触感の強さに関係する。
【００４７】
これら３つの駆動信号によって筐体に生じる加速度（１'）を合成すると、次式（３）が得られる。
【００４８】
【数３】
2018189914.tif 000005
式（３）は、図３の（Ｂ）に示す鋸波をフーリエ級数展開した数式の第３項までの和定数倍した式に相当する。鋸波をフーリエ級数展開した数式は、式（４）で表される。式（４）は、第Ｎ項まで含む。
【００４９】
【数４】
2018189914.tif 000006
なお、振動子１２０−１、１２０−２、１２０−３は、上述のように共振周波数が互いに異なる振動子である。振動子１２０のように質量、バネ、減衰を持つ系と筐体１１０を接続し、振動子の質量に正弦波の加速度を与えると、筐体にはそれと異なる振幅や位相を持つ正弦波の加速度が生じる。。式（１）の振幅aiと位相φiは、このような駆動振動に対して筐体１１０に生じる振動の振幅と位相の関係が式（３）を満たすように調整するために設けられている。所定の振幅aiおよび位相φiは、筐体１１０の質量と、振動子１２０−１、１２０−２、１２０−３の質量及びばね定数等とに応じて、シミュレーション及び／又は実験等で最適な値に設定すればよい。
【００５０】
なお、駆動信号の振幅ai、周波数iｆ、位相φiを表すデータは、駆動制御部１４０の内部メモリ等に格納しておけばよい。駆動制御部１４０は、駆動信号を生成する際に、内部メモリ等から振幅ai、周波数iｆ、位相φiを読み出せばよい。
【００５１】
図４は、鋸波と、式（３）から得られる波形とを示す図である。図４において、横軸は時間、縦軸は加速度振幅を表す。図４には、式（３）から得られる波形として、式（３）の第１項のみで得られる波形（１）を破線で示し、式（３）の第１項及び第２項を合成して得られる波形（２）を一点鎖線で示し、式（３）の第１項、第２項、及び第３項を合成して得られる波形（３）を二点差線で示す。また、鋸波を実線で示す。
【００５２】
図４に示すように、波形（１）は正弦波であるが、波形（２）及び（３）は、鋸波のように、立ち下がりの加速度の時間変化率が立ち上がりの加速度の時間変化率よりも速いパターンになっている。また、波形（２）よりも波形（３）の方が、鋸波により近い形状になっている。
【００５３】
ここでは、説明の便宜上、第１項及び第２項を合成して得られる波形（２）と、第１項、第２項、及び第３項を合成して得られる波形（３）とを示すが、振動子１２０−１及び１２０−２と、振動子１２０−１、１２０−２、１２０−３を同時に駆動すれば、それぞれ、波形（２）と波形（３）で表される加速度振動が筐体１１０に生じるものと考えられる。
【００５４】
また、式（４）においてＮを４以上の値にすれば、波形（３）よりもさらに鋸波に近い形状の波形が得られるものと考えられる。
【００５５】
このことから、複数の振動子を式（１）、（２）の条件を満たし、互いにiの値が異なる駆動信号で同時に駆動すれば、筐体１１０に鋸波に近似させた加速度波形を生じさせることができると考えられる。
【００５６】
図５は、触感提供装置１００のシミュレーション用の簡易モデル１００Ａを示す図である。簡易モデル１００Ａは、筐体１１０と、振動子１２０−１及び１２０−２を含む。簡易モデル１００Ａは、２つの振動子１２０−１及び１２０−２を含み、振動子１２０−３は含まない。
【００５７】
ここで、振動子１２０−１及び１２０−２のばね１２２のばね定数をｋ１、ｋ２、永久磁石１２３の質量をｍ１、ｍ２、ダンパ１２４の減衰係数をｃ１、ｃ２とする。また、振動子１２０−１及び１２０−２の永久磁石１２３の変位をｘ１、ｘ２、筐体１１０の変位をｘ３とする。変位ｘ１、ｘ２、ｘ３は、Ｘ軸正方向を正とする。また、変位ｘ１、ｘ２、ｘ３を時間で微分して得る速度をそれぞれｖ１、ｖ２、ｖ３とする。更に、コイルからの電磁力によって永久磁石１２３に生じる力とｆ１、ｆ２とする。ｆ１、ｆ２の向きは、矢印で示すようにＸ軸正方向を正とする。ｆ１、ｆ２により永久磁石１２３が振動すると、バネにはｋ１（ｘ１―ｘ３）、ｋ２（ｘ２―ｘ３）のバネ力が生じ、ダンパにはｃ１（ｘ'１―ｘ'３）、ｃ２（ｘ'２―ｘ'３）の減衰力、ｍ１ｘ"１、ｍ２ｘ"２の慣性力が生じる。これらの合力として、筐体１１０には、これらの力の合力Ｆ１、Ｆ２が生じる。
【００５８】
このような簡易モデル１００Ａにおいて、振動子１２０−１及び１２０−２のばね１２２の位置エネルギは、次式（５）で表される。
【００５９】
【数５】
2018189914.tif 000007
また、振動子１２０−１及び１２０−２の永久磁石１２３の運動エネルギは、次式（６）で表される。
【００６０】
【数６】
2018189914.tif 000008
また、振動子１２０−１及び１２０−２のダンパ１２４によって失われるエネルギは、次式（７）で表される。
【００６１】
簡易モデル１００Ａの運動方程式の導出は比較的複雑になるので、一般的にはエネルギーの式（５）~（６）にラグランジュ法を適用すれば良い。
【００６２】
【数７】
2018189914.tif 000009
このようにして求めた簡易モデル１００Ａの運動方程式を用いて、振動子１２０−１及び１２０−２を駆動した場合の筐体１１０の加速度、速度、及び変位を求めたところ、次のような結果を得た。
【００６３】
図６は、簡易モデル１００Ａの振動子１２０−１及び１２０−２の永久磁石１２３に生じる力ｆ１、ｆ２の時間変化を示す図である。図７は、簡易モデル１００Ａのシミュレーション結果を示す図である。
【００６４】
図６の左に示す力ｆ１、ｆ２が振動子１２０−１及び１２０−２の質量１２３に生じるように、振動子１２０−１及び１２０−２を駆動した。力ｆ１、ｆ２は、振幅が±０．１４（Ｎ）、±０．０８（Ｎ）であり、力ｆ１に対して力ｆ２は位相がπ／２遅れている。
【００６５】
このように振動子１２０−１及び１２０−２を駆動したところ、図６の右に示す力Ｆが筐体１１０に生じた。力Ｆは、振動子１２０−１及び１２０−２の運動の結果発生する力Ｆ１、Ｆ２の合成力である。すなわち、Ｆ＝Ｆ１＋Ｆ２である。力Ｆは、正側に振動するときと、負側に振動するときとで波形が異なる特性になった。
【００６６】
そして、図７に示すように、筐体１１０の加速度は、力Ｆと同様に、正側に振動するときと、負側に振動するときとで波形が異なる特性になった。筐体１１０の速度は、正側で＋０．２５ｍ／ｓ、負側で−１４ｍ／ｓであり、正側に振動するときと、負側に振動するときとで速度が異なる特性になった。また、変位は、正側に振動するときと、負側に振動するときとで略同様の振幅になった。
【００６７】
このように、正側に振動するときと、負側に振動するときとで筐体１１０の速度が異なるため、利用者の親指Ａと人差し指Ｂとの表面に往復の速度が異なる剪断変形を発生させることができ、触感を提供できることを確認することができた。
【００６８】
次に、比較用に、力ｆ１と力ｆ２の位相差を０にした場合のシミュレーション結果について説明する。
【００６９】
図８は、簡易モデル１００Ａにおいて、力ｆ１と力ｆ２の位相差を０にした場合に振動子１２０−１及び１２０−２の質量１２３に生じる力ｆ１、ｆ２の時間変化を示す図である。図９は、簡易モデル１００Ａで力ｆ１と力ｆ２の位相差を０にした場合のシミュレーション結果を示す図である。
【００７０】
図８の左に示すように、力ｆ１、ｆ２は、各々の振幅が±０．１４（Ｎ）および０．０８（Ｎ）であり、力ｆ１と力ｆ２の位相差は０である。
【００７１】
このように力ｆ１と力ｆ２の位相差を０に設定して振動子１２０−１及び１２０−２を駆動したところ、図８の右に示す力Ｆが筐体１１０に生じた。そして、図９に示すように、筐体１１０の加速度は、力Ｆと同様の特性であった。また、筐体１１０の速度は、正側で＋０．２２ｍ／ｓ、負側で−０．２１ｍ／ｓであり、正側に振動するときと、負側に振動するときとで速度が略同一であった。また、変位は、正側に振動するときと、負側に振動するときとで略同様の振幅になった。
【００７２】
このように、正側に振動するときと、負側に振動するときとで筐体１１０の速度が略同一であるため、力ｆ１と力ｆ２の位相差を０にした場合には、利用者の親指Ａと人差し指Ｂとの表面に往復で速度の異なる剪断変形を発生させることができず、触感を提供できないことが分かった。
【００７３】
次に、比較用に、簡易モデル１００Ａの振動子１２０−１を駆動し、振動子１２０−２を駆動せずに、さらに振動子１２０−１を共振させずに、正側に振動するときと、負側に振動するときとで加速度が異なる条件でシミュレーションを行った。ここでは、正側に振動するときと、負側に振動するときとで加速度が異なる条件として、加速度が鋸波状に変化する用にした。
【００７４】
図１０は、簡易モデル１００Ａにおいて、振動子１２０−１のみを駆動する場合に振動子１２０−１の質量１２３に生じる力ｆ１および筐体１１０に生じる力Ｆの時間変化を示す図である。図１０に示すように、振動子１２０−１に生じる加速度は、鋸波状に変化させている。図１１は、簡易モデル１００Ａで振動子１２０−１のみを駆動する場合のシミュレーション結果を示す図である。
【００７５】
振動子１２０−１は触感を生じるのに必要な４０〜１００Hzの駆動信号で共振させないようにバネ定数k1を変更し、図１０の左に示すように、力ｆ１の振幅を０．６７５（Ｎ）に設定した。これは、図６に示すように振動子１２０−１を共振させる場合の力ｆ１の４倍以上の力である。
【００７６】
このように振動子１２０−１のみを駆動したところ、図１０の右に示す力Ｆが筐体１１０に生じた。そして、図１１に示すように、筐体１１０の加速度は、力Ｆと同様の特性であった。また、筐体１１０の速度は、正側で＋０．３１ｍ／ｓ、負側で−０．２３ｍ／ｓであり、正側に振動するときと、負側に振動するときとで速度が異なる特性になった。また、変位は、正側に振動するときと、負側に振動するときとで略同様の振幅になった。
【００７７】
このように、正側に振動するときと、負側に振動するときとで筐体１１０の速度が異なるため、利用者の親指Ａと人差し指Ｂとの表面に往復で速度の異なる剪断変形を発生させることができ、触感を提供できることを確認することができた。
【００７８】
しかしながら、振動子１２０−１を共振させずに駆動するため、振動子１２０−１における消費電力が大きく、効率的に触感を提供することはできない。
【００７９】
次に、比較用に、図１０に示した振動子１２０−１に共振を生じさせるようにして、振動子１２０−１に生じさせる加速度を１／１０にした条件でシミュレーションを行った。
【００８０】
図１２は、簡易モデル１００Ａにおいて、振動子１２０−１のみを駆動する場合に振動子１２０−１の質量に生じる力ｆ１および筐体１１０に生じる力Ｆの時間変化を示す図である。図１３は、簡易モデル１００Ａで振動子１２０−１のみを駆動する場合のシミュレーション結果を示す図である。
【００８１】
図１２の左に示すように、力ｆ１の振幅を０．０６７５（Ｎ）に設定した。これは、図１０に示す力ｆ１の１／１０の力である。
【００８２】
このように振動子１２０−１のみを共振状態で駆動したところ、図１２の右に示す力Ｆが筐体１１０に生じた。そして、図１３に示すように、筐体１１０の加速度は、力Ｆと同様の特性であった。また、筐体１１０の速度は、正側で＋０．２１ｍ／ｓ、負側で−０．２１ｍ／ｓであり、正側に振動するときと、負側に振動するときとで速度が略同一であった。また、変位は、正側に振動するときと、負側に振動するときとで略同様の振幅になった。
【００８３】
このように、鋸波状のパターンで振動子１２０−１のみを共振状態で駆動すると、正側に振動するときと、負側に振動するときとで筐体１１０の速度は等しくなった。
【００８４】
これでは、利用者の親指Ａと人差し指Ｂとの表面に往復で速度の異なる剪断変形を発生させることができず、触感を提供できることはできない。このように、振動子１２０−１を共振させずに、鋸波状に駆動する場合には、振動子１２０−１がある程度大きな力を発生しないと、触感を提供できなことが分かった。１つの振動子１２０−１で触感を提供するには、図１０及び図１１で説明したように、振動子１２０−１における消費電力が大きくなるため、効率的に触感を提供することはできない。
【００８５】
以上より、振動子の消費電力を少なくするために振動子の共振を利用するには、共振周波数の異なる複数の振動子を、鋸波など錯覚を生じることが知られている加速度波形のフーリエ級数展開で表される加速度振動で同時に駆動することが必要であり、さらに、このような加速度振動を得るには、駆動信号同士が所定の振幅比と位相差を有することが必要である。
【００８６】
以上のように、実施の形態によれば、互いに異なる共振周波数を有する３個の振動子１２０−１、１２０−２、１２０−３を鋸波をフーリエ級数展開した時の３個の項で表される駆動信号で同時に駆動することにより、筐体１１０が正側に振動するときと、負側に振動するときとで速度が異なるため、利用者の親指Ａと人差し指Ｂとの表面に往復で速度の異なる剪断変形を発生させることができる。
【００８７】
そして、このような剪断変形を発生させるための筐体１１０の振動は、３個の振動子１２０−１、１２０−２、１２０−３を同時に共振させることで実現される。すなわち、大きな筐体１１０の振動の振幅を少ない消費電力で実現することができる。
【００８８】
従って、効率的に駆動できる触感提供装置１００を提供することができる。
【００８９】
なお、以上では、３個の振動子１２０−１、１２０−２、１２０−３を含む触感提供装置１００と、２個の振動子１２０−１、１２０−２を含む簡易モデル１００Ａとについて説明したが、互いに異なる共振周波数を有するＮ個の振動子であって、筐体１１０が鋸波のフーリエ級数展開のＮ個の項で表される加速度で駆動されるのであれば、振動子の数は幾つであってもよい。ただし、正弦波のフーリエ級数のＮ個の項は、第１項から連続するＮ個の項である。
【００９０】
また、以上では、鋸波のフーリエ級数展開のＮ個の項に相当する加速度を用いてＮ個の振動子を駆動する形態について説明したが、加速度は、鋸波以外の形式の波形であってもよい。互いに異なる共振周波数を有するＮ個の振動子を駆動することによって、筐体１１０に正側に振動するときと、負側に振動するときとで速度が異なる振動を発生させることができれば、Ｎ個の振動子が生じる加速度は、鋸波のフーリエ級数展開以外の形式であってもよい。
【００９１】
また、以上では、シミュレーションでＮ個の振動子の駆動信号を最適化する形態について説明したが、Ｎ個の振動子の駆動信号は、各振動子の駆動信号の振幅と位相をパラメータとして、筐体１１０の振動の振幅が最大になるように、最適化問題を解く要領で各振動子の駆動信号の振幅と位相を求めてもよい。このような場合に、筐体１１０の振動を測定するには、筐体１１０に加速度計を取り付ければよい。加速度計は、例えば、ＭＥＭＳ(Micro Electro Mechanical Systems)によって実現される小型軽量のものを用いればよい。このような加速度計は、加速度がかかったときの静電容量の変化を表す振動を出力する。
【００９２】
最後に、図１４乃至図２２を用いて、触感提供装置１００を含むシミュレーションシステムについて説明する。
【００９３】
図１４は、触感提供装置１００の内部構成を示す図である。
【００９４】
触感提供装置１００は、振動子１２０−１、１２０−２、１２０−３、駆動制御部１４０、ＤＡコンバータ１５０、アンプ１６０、通信部１７０、及びメモリ１８０を含む。ここでは、主に通信部１７０について説明する。アンプ１６０は、図２に示すアンプ１６０−１、１６０−２、１６０−３を１つに纏めて示すものである。
【００９５】
通信部１７０は、例えば、Bluetooth（登録商標）又はWiFi等の規格でシミュレーションシステムの処理装置と無線通信を行う。通信部１７０は、駆動制御部１４０に接続されており、シミュレーションシステムの処理装置から駆動指令を受信すると、駆動指令を駆動制御部１４０に出力する。この結果、駆動制御部１４０によって振動子１２０−１、１２０−２、１２０−３のうちの少なくとも１つ以上が駆動される。振動子１２０−１、１２０−２、１２０−３のいずれをどのような振幅や位相で駆動するかは、筐体１１０に生じる加速度のＸ軸方向、Ｙ軸方向、Ｚ軸方向の成分の大きさと位相によって決まる。駆動信号と筐体１１０間に生じる加速度の振幅と位相の関係は、一般的な周波数伝達関数の同定手法を用いれば良い。
【００９６】
メモリ１８０は、駆動制御部１４０が生成する駆動信号の元になるデータを格納する。ここで、駆動信号が正弦波状の信号である場合には、メモリ１８０には、正弦波を表すデータが格納される。正弦波を表すデータは、正弦波の周波数と、各振動子の振幅と位相差が決められており、駆動制御部１４０が振幅を設定すると、図６に示すような駆動信号を生成することができる。
【００９７】
駆動制御部１４０は、後述するシミュレーションシステムの処理装置から、振幅と位相を表すデータを受信すると、振幅と位相によって特定される正弦波状の駆動信号を生成する。なお、振幅と位相の値は、上述したように、駆動信号と筐体１１０に生じる加速度間の伝達関数によって決まる。
【００９８】
図１５は、実施の形態のシミュレーションシステム２００を示す図である。
【００９９】
シミュレーションシステム２００は、触感提供装置１００、スクリーン２１０Ａ、投影装置２１０Ｂ、３Ｄ(3 Dimension)眼鏡２１０Ｃ、処理装置２２０、及び位置計測装置２４０を含む。
【０１００】
シミュレーションシステム２００は、例えば、組み立て作業性を仮想空間において把握するため組立支援システムに適用することができる。組立支援システムでは、例えば、ＣＰＵ(Central Processing Unit：中央演算処理装置)モジュール、メモリモジュール、通信モジュール、又はコネクタ等の電子部品をマザーボード等に組み付ける作業を仮想空間で模擬的に行うことができる。
【０１０１】
しかしながら、シミュレーションシステム２００は、組立支援システムに限らず、三次元空間での作業性を確認する様々なシステムに適用することができる。
【０１０２】
なお、マーカ１３０は、筐体１１０に取り付けられている。マーカ１３０は、複数の球体を有し、後述するシミュレーションシステムにおいて赤外線が照射されると、赤外線を様々な方向に反射する。マーカ１３０は、シミュレーションシステムの処理装置が触感提供装置１００の位置を検出する際に用いられる。
【０１０３】
スクリーン２１０Ａは、例えば、プロジェクタ用スクリーンを用いることができる。スクリーン２１０Ａのサイズは、用途に応じて適宜設定すればよい。スクリーン２１０Ａには、投影装置２１０Ｂによって投影される画像が表示される。ここでは、物品２１１及び２１２の画像がスクリーン２１０Ａに表示されていることとする。
【０１０４】
投影装置２１０Ｂは、スクリーン２１０Ａに画像を投影できる装置であればよく、例えば、プロジェクタを用いることができる。投影装置２１０Ｂは、ケーブル２１０Ｂ１によって処理装置２２０に接続されており、処理装置２２０から入力される画像をスクリーン２１０Ａに投影する。ここでは、投影装置２１０Ｂは、３Ｄ画像（立体視の画像）をスクリーン２１０Ａに投影できるタイプのものである。
【０１０５】
なお、スクリーン２１０Ａと投影装置２１０Ｂは、表示部の一例である。
【０１０６】
３Ｄ眼鏡２１０Ｃは、シミュレーションシステム２００を利用する利用者が装着する。３Ｄ眼鏡２１０Ｃは、投影装置２１０Ｂによってスクリーン２１０Ａに投影される画像を３Ｄ画像に変換できる眼鏡であればよく、例えば、入射光を偏光する偏光眼鏡、又は、液晶シャッターを有する液晶シャッター眼鏡を用いることができる。
【０１０７】
なお、スクリーン２１０Ａ及び投影装置２１０Ｂの代わりに、例えば、液晶ディスプレイパネルを用いてもよい。また、３Ｄ眼鏡２１０Ｃが不要な場合は、３Ｄ眼鏡２１０Ｃを用いなくてもよい。また、スクリーン２１０Ａ及び投影装置２１０Ｂの代わりに、ヘッドマウントディスプレイを用いてもよい。
【０１０８】
処理装置２２０は、位置検出部２２１、接触判定部２２２、映像出力部２２３、データ保持部２２４、駆動制御部２２５、及び通信部２２６を有する。処理装置２２０は、例えば、メモリを有するコンピュータによって実現される。
【０１０９】
位置検出部２２１は、位置計測装置２４０から入力される画像データに対してパターンマッチング等の画像処理を行い、触感提供装置１００のマーカ１３０の位置と姿勢を検出する。触感提供装置１００の位置は、３次元座標における座標値で表され、姿勢は、３次元座標の３軸方向に対する角度で表される。
【０１１０】
位置検出部２２１は、３次元座標における座標値をスクリーン２１０Ａに投影される画像の中の座標に変換し、ポインタ２３０Ａの位置を表す座標として出力する。位置検出部２２１は、第２検出部の一例である。すなわち、ポインタ２３０Ａの位置は、触感提供装置１００の位置によって決まる。スクリーン２１０Ａに投影されるポインタ２３０Ａを移動させるには、実空間で触感提供装置１００を移動させればよい。触感提供装置１００をポインタ２３０Ａの操作端末機として捉えてもよい。
【０１１１】
なお、触感提供装置１００の位置と姿勢の検出は、位置計測装置２４０で行ってもよい。
【０１１２】
接触判定部２２２は、スクリーン２１０Ａに投影される物品２１１又は２１２の画像と、スクリーン２１０Ａに表示されるポインタ２３０Ａとが接触したかどうかを判定する。
【０１１３】
接触判定部２２２は、スクリーン２１０Ａに投影される物品２１１又は２１２の形状及び位置を表すデータと、ポインタ２３０Ａの位置を表すデータとを用いて、物品２１１又は２１２の画像と、ポインタ２３０Ａとが接触したかどうかを判定する。接触判定部２２２は、判定部の一例である。
【０１１４】
映像出力部２２３の出力端子は、ケーブル２１０Ｂ１によって投影装置２１０Ｂに接続されている。映像出力部２２３は、データ保持部２２４に保持される物品２１１及び２１２の物品データによって特定される画像を投影装置２１０Ｂに出力し、スクリーン２１０Ａに表示させる。
【０１１５】
また、映像出力部２２３は、投影装置２１０Ｂにポインタ２３０Ａを表示させる。スクリーン２１０Ａに表示される画像内におけるポインタ２３０Ａの位置は、位置検出部２２１で検出される触感提供装置１００の位置と姿勢によって決まる。
【０１１６】
データ保持部２２４は、物品２１１及び２１２の座標と形状を表す物品データ、及び、ポインタ２３０Ａの画像データ等のデータを保持する。データ保持部２２４は、メモリによって実現され、データ格納部の一例である。
【０１１７】
駆動制御部２２５は、接触判定部２２２によって物品２１１又は２１２の画像と、ポインタ２３０Ａとが接触したと判定されると、ポインタ２３０Ａが物品２１１又は２１２に接触した方向に応じて、反力を表す振動パターンの駆動信号を出力する。この駆動信号は、触感提供装置１００の振動子を駆動する信号である。
【０１１８】
通信部２２６は、触感提供装置１００と無線通信を行う通信部であり、例えば、Bluetooth又はWiFi(Wireless Fidelity)等の規格で無線通信を行うことができる。通信部２２６は、駆動制御部２２５によって生成される駆動信号を触感提供装置１００に送信する。なお、通信部２２６は、触感提供装置１００と有線通信を行う通信部であってもよい。
【０１１９】
位置計測装置２４０は、赤外線カメラ２４０Ａ及び２４０Ｂを有し、それぞれ、ケーブル２４１Ａ及び２４１Ｂによって位置検出部２２１に接続されている。赤外線カメラ２４０Ａ及び２４０Ｂは、赤外線を触感提供装置１００に照射し、マーカ１３０で反射された反射光を撮影する。位置計測装置２４０は、赤外線カメラ２４０Ａ及び２４０Ｂが出力する画像データを位置検出部２２１に転送する。位置計測装置２４０は、第１検出部の一例である。
【０１２０】
図１６は、処理装置２２０が適用されるコンピュータシステムの斜視図である。図１６に示すコンピュータシステム１０は、本体部１１、ディスプレイ１２、キーボード１３、マウス１４、及びモデム１５を含む。
【０１２１】
本体部１１は、ＣＰＵ（Central Processing Unit：中央演算装置）、ＨＤＤ（Hard Disk Drive：ハードディスクドライブ）、及びディスクドライブ等を内蔵する。ディスプレイ１２は、本体部１１からの指示により画面１２Ａ上に解析結果等を表示する。ディスプレイ１２は、例えば、液晶モニタであればよい。キーボード１３は、コンピュータシステム１０に種々の情報を入力するための入力部である。マウス１４は、ディスプレイ１２の画面１２Ａ上の任意の位置を指定する入力部である。モデム１５は、外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする。
【０１２２】
コンピュータシステム１０に処理装置２２０としての機能を持たせるプログラムは、ディスク１７等の可搬型記録媒体に格納されるか、モデム１５等の通信装置を使って他のコンピュータシステムの記録媒体１６からダウンロードされ、コンピュータシステム１０に入力されてコンパイルされる。
【０１２３】
コンピュータシステム１０に処理装置２２０としての機能を持たせるプログラムは、コンピュータシステム１０を処理装置２２０として動作させる。このプログラムは、例えばディスク１７等のコンピュータ読み取り可能な記録媒体に格納されていてもよい。コンピュータ読み取り可能な記録媒体は、ディスク１７、ＩＣカードメモリ、フロッピー（登録商標）ディスク等の磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＵＳＢ(Universal Serial Bus)メモリ等の可搬型記録媒体に限定されるものではない。コンピュータ読み取り可能な記録媒体は、モデム１５又はＬＡＮ等の通信装置を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【０１２４】
図１７は、コンピュータシステム１０の本体部１１内の要部の構成を説明するブロック図である。本体部１１は、バス２０によって接続されたＣＰＵ２１、ＲＡＭ又はＲＯＭ等を含むメモリ部２２、ディスク１７用のディスクドライブ２３、及びハードディスクドライブ（ＨＤＤ）２４を含む。実施の形態では、ディスプレイ１２、キーボード１３、及びマウス１４は、バス２０を介してＣＰＵ２１に接続されているが、これらはＣＰＵ２１に直接的に接続されていてもよい。また、ディスプレイ１２は、入出力画像データの処理を行う周知のグラフィックインタフェース（図示せず）を介してＣＰＵ２１に接続されていてもよい。
【０１２５】
コンピュータシステム１０において、キーボード１３及びマウス１４は、処理装置２２０の入力部である。ディスプレイ１２は、処理装置２２０に対する入力内容等を画面１２Ａ上に表示する表示部である。
【０１２６】
なお、コンピュータシステム１０は、図１６及び図１７に示す構成のものに限定されず、各種周知の要素を付加してもよく、又は代替的に用いてもよい。
【０１２７】
図１８は、物品データを示す図である。
【０１２８】
物品データは、スクリーン２１０Ａに表示する物品の座標と形状を表すデータである。物品データは、物品ＩＤ、形状タイプ、基準座標、サイズ、回転角度、及び反力係数ｋを有する。
【０１２９】
形状タイプは、物品の外形を表す。図１８では、一例として、形状タイプがCuboid(直方体)とCylinder(円柱体)を示す。
【０１３０】
基準座標は、物品の全体を表す座標の基準になる点の座標値を示す。座標値の単位はメートル（ｍ）である。なお、座標系としては、ＸＹＺ座標系を用いる。
【０１３１】
サイズは、物品のＸ軸方向の長さ、Ｙ軸方向の長さ、Ｚ軸方向の長さを表す。単位はメートル（ｍ）である。一例として、Ｘ軸方向の長さは縦の長さを表し、Ｙ軸方向の長さは高さを表し、Ｚ軸方向の長さは奥行き（横方向の長さ）を表す。
【０１３２】
回転角度は、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向に対する回転角度θｘ、θｙ、θｚで表される。単位は度(deg.)である。回転角度θｘは、Ｘ軸を回転軸として物品を回転させる角度である。同様に、回転角度θｙ及びθｚは、それぞれ、Ｙ軸及びＺ軸を回転軸として物品を回転させる角度である。回転角度θｘ、θｙ、θｚの正方向は、予め決めておけばよい。
【０１３３】
反力係数ｋは、スクリーン２１０Ａに表示する物品に対応する実空間における物品の硬さである。反力係数は、実空間における物品が硬いほど高くなる係数であり、単位はＮ／ｍｍである。また、反力係数ｋとして、ヤング率等の他の物理量を用いてもよい。一例として、物品ＩＤが００１、００２、００３の物品の反力係数ｋは、それぞれ、０．０５、０．０３、０．０１に設定されている。例えば、物品ＩＤが００１の物品は金属製であり、物品ＩＤが００２の物品は樹脂製であり、物品ＩＤが００３の物品はゴム製である。
【０１３４】
反力Ｆは、次式（８）で表され、反力係数ｋに、食い込み量ΔＬと法線ベクトルｎを乗じることで得られる。反力Ｆはベクトルで表される。
【０１３５】
【数８】
2018189914.tif 000010
式（８）において、ΔＬは、ポインタ２３０Ａがスクリーン２１０Ａに表示される物品に食い込んだ量（食い込み量）である。食い込み量は、物品とポインタ２３０Ａが接触した点から、物品の内側にポインタ２３０Ａが食い込んだ量を表す。
【０１３６】
また、ベクトルｎは、ポインタ２３０Ａがスクリーン２１０Ａに表示される物品に接触した点の法線ベクトルである。反力Ｆのベクトルは、式（８）に示すように、反力係数ｋに、法線ベクトルｎを乗じることによって求められる。スクリーン２１０Ａに表示される物品の法線ベクトルｎは、図１８に示す物品データを用いると、ポインタ２３０Ａが接触した面の向きが分かるため、物品データから導き出せばよい。
【０１３７】
また、このような物品データを用いれば、ＣＡＤデータによって表示される物品の画像と同様に、物品データによって特定される画像を表すことができる。
【０１３８】
なお、物品データは、処理装置２２０のデータ保持部２２４に格納されている。
【０１３９】
図１９は、物品の画像の一例を示す図である。
【０１４０】
図１９には、図１８の物品データによって表される３つの物品を示す。
【０１４１】
物品ＩＤが001の物品は、形状タイプがCuboid(直方体)で、基準座標（Ｘ，Ｙ，Ｚ）が（０．０，０．０，０．０）であり、サイズが（０．８，０．２，０．４）であり、回転角度θｘ、θｙ、θｚが（０．０，０．０，０．０）である。
【０１４２】
基準座標（Ｘ，Ｙ，Ｚ）が（０．０，０．０，０．０）であるため、物品ＩＤが001の物品の１つの頂点は、ＸＹＺ座標系の原点Ｏと一致している。
【０１４３】
物品ＩＤが002の物品は、形状タイプがCuboid(直方体)で、基準座標（Ｘ，Ｙ，Ｚ）が（０．６，０．２，０．０）であり、サイズが（０．２，０．２，０．１）であり、回転角度θｘ、θｙ、θｚが（０．０，０．０，０．０）である。
【０１４４】
このため、物品ＩＤが002の物品は、物品ＩＤが001の物品の上に配置されている。
【０１４５】
物品ＩＤが003の物品は、形状タイプがCylinder(円柱体)で、基準座標（Ｘ，Ｙ，Ｚ）が（０．８，０．３，０．１）であり、サイズが（０．２，１．０，０．３）であり、回転角度θｘ、θｙ、θｚが（０．０，０．０，９０．０）である。
【０１４６】
このため、物品ＩＤが003の物品は、Ｚ軸を回転軸として９０度回転させた状態で、物品ＩＤが002の物品のＸ軸正方向側に接続されている。
【０１４７】
なお、上述のように、実施の形態では、図１８に示す物品ＩＤ、形状タイプ、基準座標、サイズ、及び回転角度を有する物品データを用いて、スクリーン２１０Ａに投影される画像の中における物品の座標と形状を規定する。
【０１４８】
例えば、形状タイプがCuboid(直方体)の場合に、８つの頂点の座標は、基準座標に対して、サイズで表される物品のＸ軸方向の長さ、Ｙ軸方向の長さ、Ｚ軸方向の長さを加算又は減算することによって求めることができる。８つの頂点の座標は、形状タイプがCuboid(直方体)の物品のCorner(角)の座標を表す。
【０１４９】
８つの頂点の座標を求めれば、１２本の辺を表す式を求めることができる。１２本の辺を表す式は、形状タイプがCuboid(直方体)の物品のEdge(辺)の座標を表す式である。
【０１５０】
また、８つの頂点の座標、及び／又は、１２本の辺を表す式を求めれば、形状タイプがCuboid(直方体)の物品の６つの表面を表す式が求まり、Surface(面)の座標を求めることができる。
【０１５１】
また、形状タイプがCylinder(円柱体)の場合には、サイズで表される物品のＸ軸方向の長さ、Ｙ軸方向の長さ、Ｚ軸方向の長さに基づいて、円柱の両端にある円（又は楕円）を表す式を求めることができる。また、両端の円（又は楕円）を表す式と基準座標とを用いれば、両端の円（又は楕円）の座標を表す式を求めることができる。円柱体の側面の座標は、両端の円（又は楕円）の座標を表す式を用いることよって求めることができる。
【０１５２】
ここでは、形状タイプがCuboid(直方体)とCylinder(円柱体)の物品について説明したが、球体、三角錐、凹部を有する直方体等の様々な形状の物品についても、同様にスクリーン２１０Ａに投影される画像の中における座標と形状を求めることができる。
【０１５３】
図２０は、反力Ｆと振幅値とを関連付けたテーブル形式のデータを示す図である。
【０１５４】
反力Ｆのベクトルは、Ｘ、Ｙ、Ｚ成分（Ｆｘ、Ｆｙ、Ｆｚ）として表されている。また、振幅値は、Ｘ、Ｙ、Ｚ成分（Ａｐｘ、Ａｐｙ、Ａｐｚ）として表されている。反力ＦのＸ、Ｙ、Ｚ成分（Ｆｘ、Ｆｙ、Ｆｚ）は、それぞれ、振幅値のＸ、Ｙ、Ｚ成分（Ａｐｘ、Ａｐｙ、Ａｐｚ）と関連付けられている。
【０１５５】
従って、反力ＦのＸ、Ｙ、Ｚ成分（Ｆｘ、Ｆｙ、Ｆｚ）の値が求まれば、振幅値のＸ、Ｙ、Ｚ成分（Ａｐｘ、Ａｐｙ、Ａｐｚ）の値が求まる。例えば、反力ＦのＸ、Ｙ、Ｚ成分が（Ｆｘ１、Ｆｙ１、Ｆｚ１）である場合には、振幅値のＸ、Ｙ、Ｚ成分は（Ａｐｘ１、Ａｐｙ１、Ａｐｚ１）になる。
【０１５６】
図２１は、実施の形態の処理装置２２０が実行する処理を示すフローチャートである。ここでは、一例として、図１５に示すように、スクリーン２１０Ａに物品２１１及び２１２の画像を表示させる場合について説明する。
【０１５７】
処理装置２２０は、電源投入後に処理を開始する（スタート）。
【０１５８】
処理装置２２０は、データ保持部２２４から物品データを取得する（ステップＳ１）。
【０１５９】
処理装置２２０は、物品データを用いて映像信号を生成し、投影装置２１０Ｂに画像を投影させる（ステップＳ２）。これにより、スクリーン２１０Ａに物品２１１及び２１２の立体視のモデルの画像が表示される。スクリーン２１０Ａに表示される物品２１１及び２１２の画像は、仮想空間に存在する仮想物体を表す。
【０１６０】
なお、ステップＳ１及びＳ２の処理は、映像出力部２２３によって行われる。
【０１６１】
処理装置２２０は、触感提供装置１００の現実空間における位置と姿勢を検出する（ステップＳ３）。ステップＳ３の処理は、位置検出部２２１によって行われる。
【０１６２】
処理装置２２０は、仮想空間におけるポインタ２３０Ａの座標を検出する（ステップＳ４）。ポインタ２３０Ａの座標は、位置検出部２２１によって検出される。ポインタ２３０Ａの座標データは、接触判定部２２２及び映像出力部２２３に入力される。
【０１６３】
処理装置２２０は、ステップＳ４で得られたポインタ２３０Ａの座標に基づき、投影装置２１０Ｂにポインタ２３０Ａをスクリーン２１０Ａに表示させる（ステップＳ５）。触感提供装置１００は、ポインタ２３０Ａを指示する方向が予め決められており、ポインタ２３０Ａは、例えば、触感提供装置１００の位置及び予め決められた方向によって定まる直線と、スクリーン２１０Ａとの交点に表示される。
【０１６４】
これにより、物品２１１及び２１２の立体視の画像が表示されているスクリーン２１０Ａにポインタ２３０Ａが表示される。
【０１６５】
また、ステップＳ５では、ポインタ２３０Ａを表す画像データを用いてポインタ２３０Ａを表示すればよい。ポインタ２３０Ａについても、物品２１１及び２１２の物品データに相当するデータを用意しておき、ポインタ２３０Ａの立体視のモデルの画像を表示すればよい。ただし、特にポインタ２３０Ａの画像データを用いなくてもポインタ２３０Ａを表示できる場合は、ポインタ２３０Ａの画像データをデータ保持部２２４に保持しておかなくてもよい。
【０１６６】
なお、ステップＳ５の処理は、映像出力部２２３によって行われる。なお、ステップＳ３〜Ｓ５の処理は、ステップＳ１〜Ｓ２の処理と平行して行われる。
【０１６７】
処理装置２２０は、物品２１１又は２１２とポインタ２３０Ａが接触したかどうかを判定する（ステップＳ６）。ステップＳ６の処理は、接触判定部２２２によって行われる。接触判定部２２２は、物品２１１及び２１２の物品データと、ステップＳ４で得られたポインタ２３０Ａの座標データとに基づき、物品２１１又は２１２とポインタ２３０Ａとが接触したかどうかを判定する。
【０１６８】
物品２１１又は２１２とポインタ２３０Ａとが接触したかどうかは、物品２１１又は２１２の物品データが表す角、辺、又は面と、ポインタ２３０Ａの座標データが表す位置との交点があるかどうかで判定すればよい。
【０１６９】
また、物品２１１又は２１２とポインタ２３０Ａとが接触したかどうかは、ポインタ２３０Ａの座標データと、座標データに最も近い物品データに含まれる座標との位置の差が所定値以下であるかどうかで判定してもよい。例えば、座標データに最も近い物品データに含まれる位置と、座標データが表す位置との差が所定値以下になった場合に接触したと判定する方が、シミュレーションシステム２００における触感提供装置１００の操作性が良好である場合には、このような設定にすればよい。
【０１７０】
次に説明するステップＳ７では、一例として、物品２１１とポインタ２３０Ａが接触したこととする。なお、物品２１２とポインタ２３０Ａが接触した場合でも、同様の処理が行われる。
【０１７１】
処理装置２２０は、物品２１１とポインタ２３０Ａが接触した（Ｓ６：ＹＥＳ）と判定すると、物品２１１とポインタ２３０Ａの接触点の座標に基づいて、式（８）を用いて反力Ｆを求める（ステップＳ７）。なお、ステップＳ７の処理は、接触判定部２２２によって行われる。
【０１７２】
接触判定部２２２は、ポインタ２３０Ａの座標と、物品２１１の物品データとに基づいて食い込み量ΔＬを求めるとともに、接触点における物品２１１の法線ベクトルｎを求め、式（８）に従って、反力Ｆのベクトルを求める。
【０１７３】
駆動制御部２２５は、反力Ｆと振幅値とを関連付けたテーブル形式のデータ（図２０参照）に基づいて、ステップＳ７で求めた反力Ｆから振幅値（Ａｐｘ、Ａｐｙ、Ａｐｚ）を求め、触感提供装置１００に送信する（ステップＳ８）。この結果、触感提供装置１００の振動子１２０−１、１２０−２、１２０−３が駆動される。
【０１７４】
以上で、一連の処理が終了する（エンド）。図２１に示す処理は、所定の制御周期で繰り返し実行される。このため、ポインタ２３０Ａがスクリーン２１０Ａに表示される物品と接触している間は、振動子１２０−１、１２０−２、１２０−３が駆動される。
【０１７５】
なお、ステップＳ６で物品２１１又は２１２とポインタ２３０Ａが接触していない（Ｓ６：ＮＯ）と判定した場合は、フローをステップＳ１及びＳ３にリターンする。
【０１７６】
図２２は、触感提供装置１００の駆動制御部１４０が振動子１２０−１、１２０−２、１２０−３を駆動する際に実行する処理を示すフローチャートである。
【０１７７】
駆動制御部１４０は、触感提供装置１００の電源が投入されると、処理を開始する（スタート）。
【０１７８】
駆動制御部１４０は、通信部１７０を介して処理装置２２０から駆動信号を受信する（ステップＳ２１）。
【０１７９】
駆動制御部１４０は、反力信号から駆動信号を生成する（ステップＳ２２）。
【０１８０】
駆動制御部１４０は、駆動信号を用いて振動子１２０−１、１２０−２、１２０−３を駆動する（ステップＳ２３）。
【０１８１】
以上で、一連の処理が終了する（エンド）。
【０１８２】
以上のように、実施の形態のシミュレーションシステム２００によれば、触感提供装置１００で操作するポインタ２３０Ａが、スクリーン２１０Ａに投影される画像の中で、物品２１１又は２１２のような物品と接触した場合に、接触した物品のヤング率に応じた反力を提供するように振動子１２０−１、１２０−２、１２０−３を振動させる振動パターンを変える。
【０１８３】
このため、物品のヤング率に応じた反力を表す触感を利用者に提供することができる。利用者は、反力の触感だけで物品への接触を認識することができる。
【０１８４】
また、実施の形態のシミュレーションシステム２００は、触感提供装置１００を利用することによって、触感提供装置１００が接触した物品のヤング率に応じた反力を表す触感を利用者に提供している。
【０１８５】
触感提供装置１００は、図６に示すように、利用者が人差し指Ａと親指Ｂとによって接触子１１１、１１２を把持して保持した場合に、接触子１１１、１１２をＺ軸方向に往復運動させて、人差し指ＡがＺ軸正方向に押される触感と、親指ＢがＺ軸負方向に押される触感とを実現することができる。
【０１８６】
従って、実施の形態によれば、皮膚の表面を引っ張る触感を提供することができる触感提供装置１００を提供することができる。
【０１８７】
なお、以上では、マーカ１３０と位置計測装置２４０（赤外線カメラ２４０Ａ及び２４０Ｂ）とを用いて触感提供装置１００の位置と姿勢を検出する形態について説明した。しかしながら、マーカ１３０が不要な赤外線深度センサ、磁気センサ、ステレオカメラ、加速度センサ、又は、角速度センサのうち、少なくとも１つ以上を用いて触感提供装置１００の位置と姿勢を検出してもよい。
【０１８８】
また、以上では、触感提供装置１００に取り付けたマーカ１３０の位置を位置計測装置２４０で検出する形態について説明したが、位置計測装置２４０として、例えば、赤外線レーザを被写体に向けて照射し、反射光を受光するまでの時間に基づいて、画像に含まれる点までの距離（深度）を算出する装置を用いてもよい。このような位置計測装置２４０を用いれば、触感提供装置１００にマーカ１３０を取り付けなくても、スクリーン２１０Ａに向かって指示動作を行う利用者の画像を取得し、利用者の姿勢、及び／又は、ゼスチャー等に基づいて、ポインタ１３０Ａの位置を決定することができる。
【０１８９】
以上、本発明の例示的な実施の形態の触感提供装置、及び、シミュレーションシステムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１９０】
１００  触感提供装置
１１０  筐体
１２０−１、１２０−２、１２０−３  振動子
１２１  筐体
１２２  ばね
１２３  永久磁石
１２４  ダンパ
１２５  電磁コイル
１３０  マーカ
１４０  駆動制御部
２００  シミュレーションシステム
２１０Ａ  スクリーン
２１０Ｂ  投影装置
２１０Ｃ  ３Ｄ眼鏡
２２０  処理装置
２２１  位置検出部
２２２  接触判定部
２２３  映像出力部
２２４  データ保持部
２２５  駆動制御部
２２６  通信部
２４０  位置計測装置
２４０Ａ、２４０Ｂ  赤外線カメラ
【図１】
2018189914.tif 000011
【図２】
2018189914.tif 000012
【図３】
2018189914.tif 000013
【図４】
2018189914.tif 000014
【図５】
2018189914.tif 000015
【図６】
2018189914.tif 000016
【図７】
2018189914.tif 000017
【図８】
2018189914.tif 000018
【図９】
2018189914.tif 000019
【図１０】
2018189914.tif 000020
【図１１】
2018189914.tif 000021
【図１２】
2018189914.tif 000022
【図１３】
2018189914.tif 000023
【図１４】
2018189914.tif 000024
【図１５】
2018189914.tif 000025
【図１６】
2018189914.tif 000026
【図１７】
2018189914.tif 000027
【図１８】
2018189914.tif 000028
【図１９】
2018189914.tif 000029
【図２０】
2018189914.tif 000030
【図２１】
2018189914.tif 000031
【図２２】
2018189914.tif 000032
【国際調査報告】
2018189914.tif 000033
2018189914.tif 000034
2018189914.tif 000035
2018189914.tif 000036