Nintendo Switchにハプティックリアクタ(HD振動)がついたり,PS5のコントローラはトリガーに力覚や振動が出せると噂されたり何かとホットな触覚技術.
今回はHaptics Adventカレンダー(https://adventar.org/calendars/4151)
の1発目の記事(12/2日)を書くことも兼ねているので,分かりやすさを心がけつつ,これぞ触覚提示!! という記事を書いていこうと思います.
触覚提示とは?
触覚というのは視覚や聴覚などの他の感覚に比べて,たくさんの感覚が複合された感覚です.
例えば,居酒屋で生ビールを手に持ったときには,腕含め,手全体にビールの重さ,ジョッキの中で液体が動く感覚.てのひらや指にはジョッキの冷たさや濡れた感覚,ジョッキのツルツルとしたテクスチャ感,中の泡が弾ける細かな振動感覚(これは感じない?w),などたくさんの感覚が同時に発生しています.
これらの感覚を科学技術を用いて,個別あるいは同時的に提示する装置こそ触覚ディスプレイです.
理想的にはこれと同じ物理現象を再現する装置があれば,ビールを持った感覚を完璧に提示することができます.しかし,物理現象を完璧に再現するというのは理想的ですが,現実的なアプローチではありません.
実は,ある運動における支配的な感覚を再現するだけでも十分にそれっぽさを表現することができます.
前置きが長くなりましたが,今回は物をインパルス的に叩いたときに伝わる振動だけを再現し,物を叩いたときのそれっぽさを表現する方法を紹介します.
叩いたときの触覚とは
物を叩いたときに,その振動は直接あるいは道具を通して手に伝わってきます.このときの感覚はAllison M. Okamura先生(スタンフォード大学)らによって以下の式で近似して表現できることが分かっています.1
$$ Q(t)=A(v)e^{-Bt}\sin{(2\pi\omega t)} $$
急に難しい数式が出てきましたが,グラフで見てみるとかなり直感的です.
はじめはドン!と大きな衝撃が発生し,その後は衝撃が弱まっていくというイメージです.たらいが上から降ってくる状況をイメージすると分かりやすいかもしれません.
数学的にはsin波が少しずつ小さくなっていき,最終的に0に収束する関数となっています.この関数を減衰正弦波と呼びます(うちのラボだけ??).
降ってくる?衝突する?ぶっ叩く?物体の材質は,衝突時の速度vによって決まる衝撃の大きさ(最大振幅)A(v),振動の減衰率B,角周波数ωの3つのパラメータで変化させることができます.
例えば,金属のように衝撃を加えた後も振動が伝搬し続ける物体は減衰率が低く,硬い岩のようなものは減衰率が高くなります.
振動触覚の生成
振動触覚は波形で表現できるということは分かりました.勘の良い人はすでに気付いているかもしれませんが,振動触覚は波で表現されるので,音声ファイルで表現,保存,再生することができます.
プログラムと触覚データサンプルは以下のGithubリンクに置いておきます
Github:https://github.com/Kmasato/HapticsWaveRenderer
今回はpython用いて,先ほどの減衰正弦波形を生成しwaveファイルを出力するプログラムを作成しました.この式に含まれる3つのパラメータ最大振幅A,減衰率B,角周波数ωを調節することで様々な触覚波形を生成することができます.
※今回Aは定数として扱う
例えば,このように高周波で0.2秒程度振動させると金属っぽい感じが出たり
低周波で超短時間で収束させるようにすると,ゴツっといった触覚を生成することができます.
触覚の再生
実際の所,触覚提示は触覚提示装置の性能に大きく依存します.
特に今回扱っている振動は装置のインパルス応答などにも大きく左右される(振動子単体と,装置に組み込んだ場合の振動出力は異なる)ため,実際の装置でチューニングしながらそれっぽさを再現していきます.
今回は,研究室に置いてあった,techtile tool kit(フォースリアクター)2を用いて触覚波形の再生を行いました.画像中の小さな白い箱が振動子であり,入力された波形に応じて振動します.つまり,先ほど作成した金属を叩いたときを再現した信号をこの振動子に入力すると金属を叩いたときのような振動がこの振動子に発生します.
生成した触覚波形(waveファイル)をPCで再生し,その出力をイヤホン端子を通してtechtile toolkitに入力しています.画像中の黒い箱は単なるアンプで,信号波形を増幅して振動子に入力しています.
例えば,この振動子を棒などに取り付け,硬い面に打ち付けたタイミングで振動させるとあたかも金属を叩いたような感覚が手にフィードバックされます.
and Auditory Tapping Interaction3
また,今回使用したフォースリアクタは単体で購入することはできませんが,DSの振動カートリッジから拝借したり4,上位互換品のハプティックリアクタをNintendo Switchのコントローラから拝借することで手に入れることができます5.
また,マルツに売っている触感デバイス体感モジュールでも十分に触覚を再生することができます.