情報処理学会 インタラクション 2020
IPSJ Interaction 2020

1A-01
2020/3/9

先端伸縮型仮想物体接触デバイス ExtickTouch への硬軟感提示機構の導入
岡夏輝†1

廣瀬太朗†1

片岡敬志郎†2

大槻麻衣†3柴田史久†1木村朝子†1

概要：我々は，VR (Virtual reality; 人工現実) 空間内で接触感を提示するデバイス ExtickTouch の開発を行った．
このデバイスは仮想物体に触れる際にその表面に合わせてデバイスの先端が伸縮することで，仮想物体との接触感を提示している．しかし，既開発のシステムでは仮想物体の材質や硬軟感に合わせて感覚を変更することは困難という問題があった．そこで本稿では，物体との接触した際の様々な触覚情報の中でも特に硬軟感を提示することに重点を置き，(1) 提示する視覚情報の表現力向上，(2) 先端伸縮による接触感提示手法の改良(3) デバイスの先端を付け替えられる機構の搭載の 3 点によって実現したのでこれを報告する．

1. はじめに
現在 VR (Virtual reality; 人工現実) 空間内において触覚を提示するためのデバイスの提案が様々行われている[1][2]．我々は提案されているデバイスの特徴から触覚提示手法を分類し，長所と短所を分析した．さらに，それらの長所を生かした機構を用いることで，接触感を提示する新手法を 提案し ，そ の新手 法を 実現 する た めの デバイス
ExtickTouch の開発を行った[3]．このデバイスは仮想物体に触れる際，表面に合わせてデバイスの先端が伸縮することで，仮想物体との接触感を提示している．このデバイスを用いることでユーザに VR 空間内で仮想物体の形状に合わせた接触感を提示することができる（図 1）．

図1ExtickTouch の使用風景

しかし，ExtickTouch はその特性上，提示できる接触感は先端に用いられているプラスチックと机とが接触した感覚のみとなってしまうため，仮想物体の材質や硬軟感に合わせて触覚を変更することは困難という問題がある．
今回我々は，物体との接触した際の様々な触覚情報の中でも特に硬軟感に着目し，実物体同士が触れ合うという本デバイスならではの特徴を活かしつつ表現力を向上させることを目指した．具体的には (1) 提示する視覚情報の表現力向上，(2) 先端伸縮による接触感提示手法の改良，(3) デバイスの先端を付け替えられる機構の搭載の 3 点によって実現した．

2. ExtickTouch
我々が開発した ExtickTouch[3]のシステム構成を図 2 に示す．ユーザはデバイスを手に持ち，仮想物体に対してつつく，なぞるといった動作を行うことで仮想物体との接触感を得ることができる．本システムでは VR 空間内におけるデバイスの位置を取得するために Oculus Touch を使用している．デバイスの伸縮部分については，リニアアクチ
ュエータ（Alps 社製，モータ N フェーダ，RSA0N11M9A0K）†1 立命館大学 情報理工学部†2 立命館大学 情報理工学系研究科†3 産業技術総合研究所© 2020 Information Processing Society of Japan

図2

システム構成に 3D プリンタで作製したペン状の先端部と先端部を覆うカバーを取り付けている．使用しているアクチュエータは可動域が 10cm で，1024 段階で位置を指定することができ，速度を 256 段階で変更できる．提示できる反力は，先端部を停止させる力が最大 100N，押し引きする力が最大 50Nとなっている．先端部の駆動タイミングと停止位置の制御は Arduino で行っており，VR 空間内に配置されている仮想物体とデバイスの接触位置に基づいて先端部を前後に駆動させ，伸縮を実現している．

188

情報処理学会 インタラクション 2020
IPSJ Interaction 2020

1A-01
2020/3/9

デバイスの制御および VR 空間描画用 PC は CPU Intel
Core i5-8400 ， メ モ リ 16GB，GPU NVIDIA GeForce(4)

𝐹spring = 𝑘

GTX1080 TI / 11GB GDDR5X を搭載した Windows 10
pro PC を使用した．VR 空間の構築には Unity ver. 5.6.2f1(64bit)，VR 空間の観察には Oculus Rift CV 1 を用いた．

𝐹damping =VR 空間の提示および伸縮距離の算出，デバイス先端部の駆動は毎秒 90 フレームで行っている．
𝑷moved =3. 硬軟感提示システム

𝐹 ∙ ∆𝑡1 + 𝑑base 2(5)− 𝑑moved ∙ 𝐹spring ∙ ∆𝑡(6)

∙ 1 − 𝐹damping ∙ ∆𝑡 ∙ ∆𝑡

硬軟感を提示するために(1) 提示する視覚情報の表現力向上，(2) 先端伸縮による接触感提示手法の改良，(3) デバ行った様子を図 4 に示す．

イスの先端を付け替えられる機構の搭載の 3 点の改良を加3.2 伸縮制御の変更えた．

𝐹springℎ

仮想物体の変形にデバイスの伸縮距離を合わせることで3.1 視覚情報の提示

視覚情報に合わせた接触感を提示し，より現実に近い感覚

まず，仮想物体硬軟感の CG 表現方法について述べる．

提示を行う．具体的なデバイス伸縮処理について図 5 に示

仮想物体は，ExtickTouch の先端の 3 次元座標𝑷Tip から求す．まず，デバイス伸縮部分の後端から先端までを通る方めた値を入力として変形させる．まず，仮想物体とデバイ向ベクトルと，実世界に配置されている実物体と同じ位置スの接触点𝑷Virtualを算出する．𝑷Virtualとは，デバイス伸縮に配置されている仮想物体との接触点𝑷Realを算出する．次部分の後端から先端までを通る方向ベクトルと接触対象とに，𝑷Virtualと𝑷Realの距離の差𝑙VMAX を以下の式から求める．の交点を指す．次に，接触点と仮想物体内に侵入したデバイス先端の距離𝑑を求め，仮想物体の変形に用いる値に加．
える力𝐹を弾性定数𝑘を用い以下の式で算出する（図 3）

𝑑 = |𝑷Virtual − 𝑷Tip |(1)

𝐹 =𝑘∙𝑑(2)𝑙VMAX = |𝑷Virtual − 𝑷Real |(7)

そして，VR 空間内でデバイスが伸縮する長さ𝑙V を𝑙VMAX と𝑑の差から算出する（図 5）．

𝑙V = 𝑙VMAX − 𝑑(8)まず𝐹の値が，設定した𝐹の上限𝐹MAX 以上かを確認する．𝐹

また，𝑙V は VR 空間内での距離となっているため，このまの上限を設定する理由は，𝐹の値が大きくなるほど仮想物までは実空間上のデバイスの伸縮に利用することができな体が変形する量が増加する仕組みとなっており，𝐹の値をい．そこで，以下の式を用いて，実世界の寸法に合わせた制限しなければ𝐹の値が増加しつづけ，仮想物体が際限な後，リニアアクチュエータへ送信する値𝑙sign へと変換する

く変形してしまうためである．𝐹が𝐹MAX 以上の場合，𝐹の値を𝐹MAX に変更し，𝑑の長さを制限するために以下の式で𝑑を算出する処理を行う．

𝑑=𝐹MAX𝑘(3)算出した𝐹を用いて，接触点𝑷Virtual を中心とし，仮想物体のメッシュの各頂点に力を加えられたかのような変形を行う．メッシュの各頂点に加える力は𝑷Virtualとメッシュの各頂点の距離の差𝑑base を用いて逆 2 乗の法則により減衰する．

図3

仮想物体変形処理

また，メッシュの各頂点に元の頂点位置に戻ろうとする力𝐹spring（式(4)）を加え，これらの力を 1 フレーム毎に指数関数的に減衰する力𝐹damping（式(5)）（ℎは定数）を加えることで仮想物体の硬軟感を実現する．
以上の要素を考慮し，メッシュの各頂点の 3 次元座標𝑷moved を式(6)より算出する [4]．ここで，𝑑moved は元のメッシュの頂点と描画されているメッシュの頂点の距離の差を表す 3 次元座標，𝑡は時間である．以上の式(1)から式(6)を用いて仮想物体の変形を© 2020 Information Processing Society of Japan

図4

仮想物体の変形の様子

189情報処理学会 インタラクション 2020
IPSJ Interaction 2020

1A-01
2020/3/9

ために 1024 段階に正規化を行う．

𝑙sign =

𝑙V
𝑙device

硬さが#1 に近づいていくほど机と接地した際にウレタンがつぶれてしまい、弾力は感じにくくなった．全体として∙ 1023(9)

ここで，𝑙deviceとはデバイス伸縮部分の VR 空間上での長さ，つまりリニアアクチュエータの可動域である 10cm のVR 空間上での長さである．𝑙sign の値が 1023 を超える場合，このデバイスでは接触感が提示できないため，伸縮不可と机と接触した際の衝撃が緩和され，従来の先端よりも仮想物体から得られる接触感が大きくなったという副次的な効果も得られた一方で，軟らかい先端では机と接触した際に変形して机と接触している表面積が大きくなってしまうことで，摩擦が大きくなりなぞる動作が少し行いづらくなっ判定する．
また，従来システムにおけるデバイスの伸縮速度（256段階中 140）を今回のデバイスにそのまま用いた場合，デバイスで仮想物体を押し込んだ際に仮想物体表面に合わせてデバイスが即座に縮んでしまい，仮想物体を押し込む途中に発生するはずの連続的な接触感を提示することができなかった．そのため，デバイスが縮む場合の速度を 5 まで遅くすることで仮想物体を押し込む感覚を実現した．また，デバイスが伸びる場合の速度に関しては従来のシステムと図5同じアルゴリズムを利用した．具体的には，デバイスの伸デバイス伸縮処理

縮距離が大きい場合はデバイスの伸縮速度を上げ，伸縮距離が小さい場合にはデバイスの伸縮速度を下げるという手法を利用した[3]．以下の式により伸縮速度𝑣を求める．

𝑣 = 𝑎 ∙ 𝑣MAX + (1 − 𝑎) ∙ 𝑣min𝑎=𝑙sign
𝑙MAX

(10)

(11)

図 6 先端付け替え機構

ここで，𝑣MAXは最高伸縮速度，𝑣minは最低伸縮速度，𝑙MAX はデバイス先端の最大の長さである．
さらに，仮想物体が変形する上限まで変形している場合，その場に押し留める力が変形途中よりも強くなるよう，デバイスが伸びる速度を 256 段階中 250 に変更を行った．
3.3 先端付け替え機構
最後に，ExtickTouch の特徴である実物体との接触を活かした機構を採用することで，提示可能な硬軟感の向上を行った．前述の通り本デバイスの先端部分は 3D プリンタで作成した．したがって，机と接触した際の接触感は常に同様であり，仮想物体の材質や硬軟感までは提示できてい図 7 実装した先端ないことが課題であった．そこで我々はデバイスの先端を変更することで異なる触覚を提示可能な先端付け替え機構

表1を作成した．実際に作成した機構を図 6 に示す．

ウレタンフォーム

密度(kg / m3)

型番

ステムとして組み込むために，硬さが 6 種類あるウレタンウレタンフォームの種類フォーム（八幡ねじ社製,表 1）を用意し，これをペン先の#116±1.54979874852335

形状（半径 10mm，高さ 15mm の円錐）に整形したもの#220±2.04979874852373を作成した．作成した先端を図７に示す．実際に，デバイ#321±2.04979874852410

スの先端を作成した先端に変更すると，やわらかい物体に#435±3.04979874852458

触れているように感じられた．この時，使用したウレタン#540±4.04979874852496の中でも硬さ#5 や#6 といったものは弾力も感じられたが，#650±5.04979874852533

この機構に用いる先端については，今回は硬軟感提示シ© 2020 Information Processing Society of Japan190

情報処理学会 インタラクション 2020
IPSJ Interaction 2020

1A-01
2020/3/9てしまうという問題も見つかった．これについては今後さらに先端に用いる材質を検討し，軽減したいと考えている．

4. むすび
本稿では，VR 空間内において仮想物体との接触感を提示するデバイス ExtickTouch の表現力の向上を目的として改良した硬軟感提示システムについて述べた．この機構を用いることで接触感だけでなく，状況に応じて視覚情報を変更し，先端を付け替えることで硬軟感の提示も可能になった．今後は，このシステムで提示できる「視覚」「先端伸縮による接触感」「先端部分の材質」のパラメータを単独，あるいは組み合わせた場合に，接触感提示にどのような影響をおよぼすのかを評価実験によって明らかにし，表現したい硬軟感に合わせた適切な組み合わせを提示できるようにしていきたい．

参考文献
[1]

3DSystems Inc., PHANToM(https://ja.3dsystems.com/haptics-devices/3d-systems-phantom-premium), (2018 年 9 月 12 日)[2] H. Benko, C. Holz, M. Sinclair, and E. Ofek, “Normaltouch andtexturetouch: High-fidelity 3d haptic shape rendering on handheld
virtual reality controllers.” The Proceedings of 29th Annual Symp
on User Interface Software and Technology (UIST 2016), pp.
717-728, 2016.
[3] 片岡，山本，大槻，柴田，木村：ExtickTouch: 仮想物体への接触感を提示する先端伸縮型デバイスの開発，第 27 回インタ
ラクティブシステムとソフトウェアに関するワークショップ(WISS2019) USB Memory 論文集，2019[4] Jasper Flick, Mesh Deformation, a Unity C# Tutorial(https://catlikecoding.com/unity/tutorials/mesh-deformation/),(2019 年 11 月 29 日)© 2020 Information Processing Society of Japan191