WISS 2017

ProtoHole: 穴と音響センシングを用いたインタラクティブな３D プリントオ
ブジェクトの提案
片倉 翔平* 渡邊 恵太*

概要． 物理的なユーザーインターフェイスの設計の検証とアイデアを共有するため，インタラクティブなオブジェクトのプロトタイピングの需要が高まっている．しかし，そのプロセスには，電子部品同士の接続と筐体デザインだけでなく，筐体への電子部品の配置，構成の設計も含まれる．この設計は，モデリングの技術やノウハウのない者には複雑で難しい．そこで本研究では，3D プリントするオブジェクトの表面に穴をあけることによってオブジェクトをインタラクティブにする手法 ProtoHoleを提案する．ProtoHole は，3D プリントするオブジェクトの表面に穴を開けることで，複雑な形状のオブジェクトをインタラクティブにする．穴の塞ぎ方をデザインし，スイープ信号を用いたアクティ
ブ音響センシングを利用することで， 複雑な電子工作のいらないインタラクティブなオブジェクト，物理的なユーザーインターフェイスの製作が可能になる．

1

はじめに

パーソナル 3D プリンターやレーザーカッターなどのデジタルファブリケーション機械によって，コンピュータ上でデザインしたオブジェクトや筐体などの製作が容易になってきている．また， Arduinoのようなフィジカルプロトタイピングツールによって，複雑な電子工作をすることなくインタラクティブなものを製作できるようになった．これらデジタ
ル工作機器とプロトタイピングツールを組み合わせることによって，物理的なユーザーインターフェイスを持つ電気機器のような物のプロトタイプが製作可能になってきている．しかし，そのプロトタイプ製作のプロセスには，電子部品同士の接続と筐体デザインだけでなく，筐体への電子部品の配置，構成の設計も含まれる．これらは，モデリングの技術やノウハウのない者には複雑で難しい．これに対して，筐体への電子部品の配置，構成の設計の難しさを特定のコンポーネントを用いて軽減するための研究がある[5, 7]．しかし既存のコンポーネントを使用しているため，形状や外観のデザインに制限がある．また，3D プリントするオブジェクトの内部構造を設計することにより，少数のセンサーでオブジェクトをインタラクティブにする研究がある[2, 4, 6, 8]．
これにより，電子工作と回路の配置の手間を省ける．
しかしながら，これらはその内部の構造自体をデザインしなければならず，モデリングの技術のない者
Copyright is held by the author(s).
* 明治大学には難しい．
そこで本研究は，3D プリントするオブジェクトの表面に穴をあけることによってオブジェクトをインタラクティブにする手法 ProtoHole を提案する．
穴の塞ぎ方をデザインし，スイープ信号を用いたアクティブ音響センシングを利用することで，電子工作のいらないインタラクティブなオブジェクト，フィジカルプロトタイプの製作が容易になる．
本研究は，操作原理は Acoustruments[3]を参考としているが，特に穴に焦点を当てる．この原理を複雑な形状のオブジェクトにも適用し，スマートフォン用ではない，フィジカルユーザーインターフェイスのプロトタイピングへと応用する.

2

ProtoHole

ProtoHole は，３D プリントするオブジェクトの中身を空洞にし，表面に穴をあけることによりオブジェクトをインタラクティブにする手法である．これによって，製作する筐体やオブジェクトに対して，ハードウェアの配置や配線を気にすることなく，インタラクティブなオブジェクトを設計することができる．ユーザーの入力を検知するために，高周波スイープ信号を用いたアクティブ音響センシングを実装した．オブジェクトに取り付けられたスピーカーから高周波スイープ信号を送信し，取り付けられたマイクで受信する．オブジェクトの表面に開けた穴を塞ぐと，塞いだ穴に応じてオブジェクト内の共鳴特性が変化する．機械学習を用いてその共鳴特性を分類する．学習結果からどの穴が塞がれているかをリアルタイムに識別することができるため，インタWISS 2017

図 2 アプリケーション: ゲームコントローラー(A)，ライトコントローラー(B)，インタラクティブトイ(C).

を製作した．

4
図 1 システム概要．

ラクティブなオブジェクトを設計することができる．
実装の概要を図 1 に示す．
2.1

ファブリケーション

提案手法でインタラクティブなオブジェクトを製作するには，オブジェクトを空洞にし，任意の場所に穴を開ける必要がある．またマイクとスピーカーを設置するための穴も必要である．Fusion360 のよ
うな CAD ソフトウェアであれば，オブジェクトの表面に穴を開け，中を空洞にすることができる． ま
た Autodesk Meshmixer のような無料のソフトウェアを使うことで，既存のメッシュデータ（例えば，STL, OBJ ファイル）を空洞化し表面に穴を開けることが可能である．このように穴を開けることは，既存の CAD システムでも可能である．
2.2

スイープ信号を用いた音響センシング

センシングの実装に必要なハードウェアとして，マイクは SONY 社の ECM-SP10，スピーカーは秋
月電子の SDRP0711E-C1-G を用いた． オブジェク
トの内部にスイープ信号を，スピーカーから約80ms 間に 18kHz から 22.05kHz まで発した． また，出力時のサンプリング周波数は 44.1kHz とした．
次にマイクで受信したスイープ信号を高速フーリエ変換（FFT）によって，周波数領域へと変換する．
変換された周波数の特徴データは，サポートベクターマシン（SVM）を用いた分類機へと渡される．
SVM 分 類 機 に は LIBSVM [1] を 用 い た(kernel=Linear, C=1000)．特徴データには，18kHz– 22.05kHz の 4050 次元中の 150 次元を使用した．

3

アプリケーション

ProtoHole の手法の有用性を実証するため，６つのボタンを有したゲームコントローラー（図 2A），物理的なインターフェイスを持つライトコントロー
ラー（図 2B），センシングのスピーカーによって音声アウトプット可能なインタラクティブトイ（図 2C）

まとめ

本稿では，3D プリントするオブジェクトの表面に穴をあけることによってオブジェクトをインタラクティブにする手法 ProtoHole を提案した．穴の塞ぎ方をデザインし，スイープ信号を用いたアクティ
ブ音響センシング利用することで，電子工作のいらないインタラクティブなオブジェクトの製作を可能にした．

参考文献
[1]

LIBSVM.http://www.csie.ntu.edu.tw/~cjlin/libsvm/[2]

He, L., Laput, G., Brockmeyer, E., Froehlich, J. E.
SqueezaPulse:Adding

Interactive

Input

toFabricated Objects Using Corrugated Tubes andAir Pulses. In Proc. TEI ‘17, 341-350.
[3]

Laput, G., Brockmeyer, E., Hudson, S. E., Harrison,C. Acoustruments: passive, acoustically-driven,interactive controls for handheld devices. In Proc.

CHI ‘15, 2161-2170.
[4] Savage, V., Chang, C., Hartmann, B. Sauron:embedded single-camera sensing of printed
physical user interfaces. In Proc. UIST ‘13, 447-456.
[5] Savage, V., Follmer, S., Li, J., Hartmann, B.
Makers' Marks: Physical Markup for Designing
and Fabricating Functional Objects. In Proc. UIST
‘15, 103-108.
[6] Savage, V., Schmidt, R., Grossman, T., Fitzmaurice,G., Hartmann, B. A series of tubes: adding
interactivity to 3D prints using internal pipes.
In Proc. UIST ‘14, 3-12.
[7] Weichel, C., Lau, M., Gellersen, H. Enclosed: acomponent-centricinterfacefordesigning
prototype enclosures. In Proc. TEI ‘13, 215–218.
[8] Willis, K., Brockmeyer, E., Hudson, S., Poupyrev,I. Printed optics: 3D printing of embedded opticalelements for interactive devices. In Proc. UIST ‘12,589-598.