WISS 2020

FieldSweep: 永久磁石の配列とスマートフォン磁気センサを用いた二次元トラッキング手法
宮武 陽子 ∗ 椎尾 一郎 ∗概要. 本稿では，永久磁石とスマートフォンのみを用いた平面上のトラッキング手法，FieldSweep を提案する．本手法は，適当な位置に配置された永久磁石の磁場を利用し，平面上での磁気センサの位置を推定する．磁気センサはスマートフォンに内蔵されているものを使用し，平面側は磁石と磁石固定用の板のみで構成されているため，システムに電源や電子部品の取り付けは必要ない．本稿では，トラッキングのために必要な条件，実装したプロトタイプを報告し，今後の発展や応用について議論する．

図 1. FieldSweep でトラッキングに用いる磁石の配列例（上）とトラッキングの様子（下）．

1

はじめに

我々の生活は情報で溢れている．なかでも，駅の案内板や地図，学校の掲示板，看板などの公共の場の情報は，紙や板に印刷され，平面上に掲示・表示される場合が多い．近年では，液晶ディスプレイやプロジェクタの価格が低下し，デジタルサイネージとして情報提示されることも多くなった．さらに，∗

Copyright is held by the author(s).
お茶の水女子大学

それに入力を加え双方向のインタラクションを可能にしたものも増えている．例えば，タッチパネルを用いた案内板や自動販売機が街中に多く設置されている．タッチパネルだけでなく，壁上での動作の検出と映像の投影を同時に行うプロジェクタも市販されている．
これらの双方向システムの多くは，手や指の動きを用いた入力を前提としている．そのため，平面上で物体の動作を検出する技術の需要が拡大してきている．従来，この検出には，静電容量タッチパネルやカメラ，赤外線センサが主に使われてきた．しかしこれらは高価であり，電源を必要とするため，あらゆる生活環境や公共の場でユビキタスに展開することが困難であった．
本稿では，永久磁石とスマートフォンのみを利用した平面上のトラッキング手法，FieldSweep を提案する．本手法は，複数の永久磁石を平面上に並べ，その上でスマートフォンを滑らせるように動かすことで，その位置をトラッキングする（図 1）．基本的な仕組みは，永久磁石によって平面上にできた磁場をスマートフォンの三軸磁気センサで計測し，計測された磁力線の三次元ベクトルから，磁石に対する相対位置を推定する．平面側には永久磁石とアクリル板等の固定用の板のみを用いるため，電子部品や電源は不要である．また，三軸磁気センサはスマートフォンに標準的に搭載されているため，スマートフォン側に部品やセンサを追加する必要もない．
永久磁石はこれまでにも入力用の道具として長く研究されてきた．電源が不要であり，磁場の強度や向きが距離や動きの検出に利用可能であるためである．しかし永久磁石が作る二次元上の磁場のパターンについては着目されてこなかった．またスマートフォンやスマートウォッチのモーションセンサや，スマートフォンに取り付けた光学式センサからトラッキングを行う研究もあるが，絶対座標の検出は不可能であった．本手法では磁場のパターンにより，一定の範囲の中では絶対座標の検出も可能である．

WISS 2020

図 2. 磁場平面のスライスとシミュレーション例．

本稿では，永久磁石を用いた二次元のトラッキン
グのために必要な条件，実装したプロトタイプを報告し，今後の発展や応用について議論する．

2

動作原理

磁石はその周りに磁場を発生させる．これは磁石を中心とした三次元ベクトル場である；磁束密度と磁束の向きがそれぞれ，各ベクトルの，強さと向きを表す．したがって，この磁場内に三軸（X, Y, Zの 3 方向）磁気センサが置かれると，その地点での三次元磁気ベクトルを計測することができる．これは複数個の磁石による磁場が干渉し合っている地点においても同様である．
また，三次元ベクトル場をある平面でスライスすると，ある平面上でのベクトル場を確認することができる．図 2 に，10mm × 10mm の円柱形磁石のN 極側の面から 30mm 離れた平面での磁気ベクトルをシミュレーションした結果を示す．
（シミュレータについては 4.3 参照．
）
本手法ではまず，特定の磁石配置に対して，磁石上方の平面上の磁気ベクトル場をシミュレーションし，方向ベクトル場を三次元ベクトル値の二次元配列として保存する．次に，その磁石配置を実際に構成し，シミュレーションに相当する距離にある平面状にスマートフォンを置き，内蔵三軸磁気センサによる計測を行い，磁力線の方向ベクトルを取得する．
この磁気ベクトルの角度を，シミュレーションで得たデータと比較し，最も角度が近いデータの場所をスマートフォン磁気センサ位置とする．角度の近さの指標には，シミュレーションで得られた磁場方向ベクトルと，測定で得られた方向ベクトルのコサイン類似度を用いている．コサイン類似度はふたつの方向ベクトルのなす角のコサインであり，-1 から 1の値をとる．

3磁石の配置

図 2 に示すひとつの磁石の磁場が検出される範囲
であれば，スマートフォンで測定された磁場の方向ベクトルを検出することで，位置を知ることができる．これに対して，複数の磁石を並べることで，磁図 3. 本手法で提案する磁石パターン．

場検出範囲を拡大でき，位置検出範囲を広げられると考えた．
磁石同士を近くに置くと，互いの磁場同士の干渉・反発が起こる．逆に遠くに置くと，間に磁場の弱い領域ができる．さらに，磁場は，磁石の配置，大きさ，形状，種類によって異なったパターンになる．
今回使用する磁気センサはスマートフォンにコンパス用に搭載されており，地磁気の方向を検知する用途で作られている．そのため，地磁気以上の強さの磁場ではスマートフォンの磁気センサを用いてトラッキングが可能であろう．逆に，配置した磁石の間隔が大きくなり，その磁場の弱い領域が地磁気を下回る状態では，キャリブレーションにより地磁気を除去する際の誤差が大きくなり，位置検出が困難になると考えられる．そこで，地磁気を下回る磁場の領域が生じないよう，磁石を配置する必要がある．
さらに，本手法で位置を一意に確定するためには，磁気ベクトルがそれぞれの場所で異なる方向である必要がある．
本手法で安定したトラッキングを行うためには，
この 2 点を考慮して磁石を配置した．以下では，本研究で実装した 2 種類の磁石配置パターンについて説明する．
ひとつの磁石により得られる磁場パターンを広い面積に拡張するために，図 3 に示した 2 種類の拡張方式を考えた．
ひとつの方式は，図 3(a)(b) に示す繰り返しのある拡張である．例えば図 3(a) に示すように，N 極・S 極がそれぞれ手前に向く磁石を市松模様に配置することで，スマートフォンで測定可能な磁場領域を

FieldSweep: 永久磁石の配列とスマートフォン磁気センサを用いた二次元トラッキング手法置した．このパターンは繰り返しができないため位置検出範囲が限定されるが，図 3(b) に比べてより少ない磁石数で，一意な位置検出可能な領域を確保することができる．

実装

4

図 4. 上図が N 極と S 極を交互に上向きにし並べた配列，下図がハルバッハ配列．

前節で考察した磁石配置に基づき，図 3(b) と (c)の形状磁石を配置し，スマートフォン搭載磁気センサで位置検出するシステムの試作を行った．それぞれの配置を，以下でパターン (b)，パターン (c) と呼ぶ．図 3 に示すように，パターン (b) では磁石の繰り返し単位を 120mm とし，パターン (c) では中心磁石とこれを取り囲む磁石の間隔を 115mm とした．

4.1
大きく拡大することが可能である．ここでは，図中の正方形が一単位となり，磁石配置が左右上下に繰り返す．このため，繰り返し単位は全く同じ磁場パターンを持つため，磁気ベクトルが一意になりうるのは一繰り返し単位の中のみである．そのため，絶対位置の推定は，この一単位の中でしか行うことができない．
市松模様パターンの繰り返し単位を拡大できれば，一意な磁気ベクトルが得られる範囲も広げることができる．そこで，ハルバッハ配列と呼ばれる磁石配列を利用した．一次元のハルバッハ配列を図 4 で説明する．N 極・S 極が上下を向いた磁石を交互に並べることで，上面と下面に同程度の強度の磁場が発生する．これに対して，それぞれの磁石の間に横向きの磁石を挿入する配列がハルバッハ配列である．
縦向きと横向きの磁石の磁場が干渉することで，上面の磁場が強化される [5]．今回は二次元に拡張したハルバッハ配列 [8] を用いて図 3(b) に示す配列とした．これにより，スマートフォンを当てる面の磁場を強化し，磁石間隔を広げても十分な磁場を発生させることができる．その結果，単純な市松模様パターンに比べて，一意な位置検出が可能な繰り返し単位を拡大することが可能である．
もうひとつの方式は，図 3(c) に示す，繰り返しを避けた拡張である．先述したように，単純な市松模様あるいは二次元ハルバッハ配列では，パターンが繰り返される．この繰り返しにより，トラッキング範囲も無限に拡大可能であるものの，どの繰り返し領域にスマートフォンが置かれているかを検出するための手段が別途必要である．また，図 3(b) に示すように，磁場強度が他と比べて格段に弱い領域があり，ここで地磁気より強い磁場を得るためには磁石間隔を大きく広げることができなかった．そこで，繰り返しを避け，ひとつの磁石の磁場を円形に拡大したものが図 3(c) のパターンである．ここでもハルバッハ配列の考えを利用し，スマートフォンを置く面の磁場を強化するように，横向きの磁石を配磁石の種類と大きさ

本研究では，日常生活や公共の場でユビキタスに利用できる安価なデバイスの実現を目指している．
一方で，強力な磁石を使用すれば，より広い領域での位置検出が可能になる．そこで一般的に入手可能なネオジム磁石を使用した．より安価な磁石にフェライト磁石やゴム磁石があるが，磁力は弱い．今回の試作では，13mm×2mm の円盤ネオジム磁石（税抜き 25 円）を 5 枚重ねてたものをひとつの磁石として使用した．磁石一単位当たりのコストは 130 円程度であり，日常生活のさまざまな場面に展開可能と考えられる．

4.2

磁石とセンシング面間の距離磁石に対するセンシング面の位置，すなわち三次元磁気ベクトル場をスライスする位置は，計測される磁気の強さに影響する．またこの距離が実際に作成した際のシステムの厚みになる．今回はパターン(b) は 50mm，パターン (c) は 40mm の距離とした．
スマートフォンのセンサを非常に強い磁場で動作させると，計測が止まってしまう現象が引き起こされた．OS 内部での処理の結果で，回避が困難であったため，この程度の距離を離して設置した．この現象については 8 章に示す．

4.3

磁場のシミュレーション

磁場のベクトルデータを生成するために，有限要素法を用いた磁場のシミュレータ ONELAB1 を使用した．ONELAB はオープンソースの有限要素法ソルバインターフェースであり，メッシュ生成ソフトウェアの Gmsh と，メッシュソルバの GetDP を使用している [6]．データは 2mm 間隔で生成した．

4.4

磁気データの計測

磁気ベクトルの計測にはスマートフォン搭載の三軸磁気センサを用いる．スマートフォンは Huawei
1

http://onelab.info/

WISS 2020

P30 lite（Android OS）を使用し，60Hz で計測を行った．また，センサの計測誤差によるノイズを軽減するため，移動平均により円滑化した．このため，
過去 0.5 秒のデータ 30 個を平均し，直近の磁気データ測定値とした．
磁石の配置によっては，磁場が弱く，地磁気の影響が無視できない領域が存在する．そこで，測定開始に先立って，地磁気の影響を排除するためのキャリブレーションを行うことにした．キャリブレーションのために，磁石から離れた地点でスマートフォンを測定時と同じ姿勢・方向に保ったまま 1 秒間磁気の計測を行った．ここで収集された値を平均し，測定時にセンサの値から減算する．

4.5

図 5. 精度評価の結果．計測を行った各格子点ごとの誤差の平均 [mm] を表示している．左がパターン (b)，右が (c)．中の黒い図形は磁石位置を表す．

位置検出プログラム

位置検出を行い，動作を確認するアプリケーションを，Unity プラットフォーム上で C#を用いて実装した．このプログラムは以下の手順でスマートフォン位置を検出する．
ユーザがスマートフォンをセンシング面に置くと，本システムのプログラムが磁場ベクトルを測定し，あらかじめ用意された磁場方向ベクトル情報を比較し，スマートフォン位置を検出する．さらに，パターン (b) のように，磁場のパターンが繰り返す磁石配置の場合には，スマートフォンがどの繰り返し領域に置かれているかを判断する仕組みが必要である．
現在は，直近の所在位置と移動先の候補点との間の距離から，繰り返し領域の越境を判定している．
位置検出プログラムは，最初に初期位置の推定を行う．そのため，まず検出された磁場ベクトルに対して，ある閾値以上の類似度の複数ベクトルをパターンの全体から取り出し推測位置群とする．次の磁場ベクトルが検出されると，先の検出で得られた推測位置から一定距離以内にある地点を対象に，同様に閾値以上のベクトルを持つ地点を選び新たな推測位置群とする．これを繰り返し，取り出されるベクトルの位置がある程度定まったら，推測位置群の中心の位置を初期位置とする．初期位置の推定後は，引き続き磁場ベクトルを測定し，前回の推測位置群から一定距離の範囲内の磁場データを対象に比較し，類似する推測位置群を求め，その中心を新たな位置とする．
パターン (b) のような磁石配置の場合，磁場が著しく弱くなる領域が存在する．磁場が弱いと，磁場スカラー量測定誤差の割合が大きくなり，方向ベクトルの誤差も大きくなる．また地磁気の影響も受けやすくなる．これにより，正確なトラッキングが困難になる．そこで磁場が一定値以下の地点については，位置の更新を行わないようプログラムした．

5

精度評価

パターン (b), (c) それぞれについて，トラッキングの精度を評価する実験を行った．
ボードの端から端まで，パターン (b) は 20mm 間隔，パターン (c) は 40mm 間隔の格子状の点を用意し，各点上での推定位置と実際の位置の間の距離を計測した．これを 2 種類のパターンについて行った．
ただし，パターン (c) は円形に拡大された磁場であり四隅の部分は磁場が弱いため，測定から除外した．
はじめに，スマートフォン内の磁気センサの位置を確認する．磁石の S 極をスマートフォンの画面側に垂直に当てたときに，三次元コンパスアプリ2 のコンパスの針が画面に垂直方向になる位置がセンサの位置だと判断した．
次に，格子点の計測順序が無作為になるように各格子点に順番を割り振る．その後，アプリを起動し初期位置の推定を行う．初期位置は，測定対象領域の中から任意に選んだ場所とした．初期位置の推定
後，測定対象格子点の真上にスマートフォンのセンサが位置するようにスマートフォンを移動させ，位置を推定した．これを計測順番に従って全ての格子点に対して連続して計測した．さらに以上の手順を
計 5 回行った．
全試行での誤差（本来の座標から測定された地点までの距離）を格子点ごとに平均した結果を，図5 に示す．パターン (b) では全面での誤差の平均が11.1mm，パターン (c) では 27.6mm であった．測定
領域の 1 辺に対する誤差では，パターン (b) が 9%，パターン (c) が 12%であり，それぞれ 10%程度の誤差で位置を検出できたと言える．
2

https://play.google.com/store/apps/details?
id=com.plaincode.magnetmeter

FieldSweep: 永久磁石の配列とスマートフォン磁気センサを用いた二次元トラッキング手法

図 6. アプリケーション例（拡大鏡）．

6

応用例

スマートフォンの位置がトラッキングされることで，スマートフォンのディスプレイを，ボード上で動く窓枠のようにして利用することができる．このようなインタラクションはすでに椎尾ら [9] や小池ら [3] により提案されている．
今回我々は，拡大鏡のアプリケーションを実装した．これは前述の動作確認プログラムと同様，Unity上で実装されている．このアプリケーションでは，絵や文字が書かれた紙の上でトラッキングを行い，紙と同じ画像の，センサの位置部分のみを拡大したものをディスプレイに表示することで，現実世界にある紙の一部が拡大されて表示されたかのようなインタラクションを提示することができる（図 6）．ここでは拡大した画像を表示するだけの実装に留まっているが，この画像に重ねて他の画像や機能を表示することで，AR のようにも使用できる．
この他にも，ボード上でのゲームや，壁やドアに本システムを取り付けて壁の反対側にあるカメラの映像を表示することでディスプレイ部分だけ壁が透過しているように見えるシステムなど，さまざまな応用が可能であると考える．また，本手法は同じボード上で同時に複数台のスマートフォン使用することも可能であるため，複数人でのゲーム等のインタラクションも可能である．

77.1

関連研究
磁気を利用した入力・トラッキング

磁石を利用したトラッキングや入力の技術はさま
ざまに開発されてきた．特に，電源不要で安価な永久磁石は，使いやすく手に入りやすい素材としてヒュー
マンコンピュータインタラクション（HCI）研究分
野でよく利用される．Chen らは磁石を付けた親指の三次元の動きを別の指につけたふたつの磁気センサの入力から推定した [1]．これは三軸磁気センサを用いて三次元でのトラッキングを行う手法であった一方，Liang らはより安価なホール素子を平面に配列し，それらの入力からデバイス上の磁石の動きを特定した [4]．TRing[13] は本手法と同じく永久磁石を固定し，その磁場と指に付けた 9 軸慣性計測装置（IMU）の値から磁石の周りでの三次元の位置を推定するが，ひとつの磁石のみを使用しているため，トラッキングの範囲は限られていた．Watanabe らは電気モータにより回転する磁石をマーカとして用い，数 cm 単位での位置検出を行っている [11]．
さらに，地磁気などによる環境磁場をスマートフォンで測定して，そのフィンガープリントから屋内位置を検出する研究もある [12][10]．
これらの研究は単数の磁石や環境磁場を利用しており，複数の磁石から意図的に作り出される磁場について議論を行った論文はなかった．本研究では，複数の磁石の配置を利用することで，現行の研究に比べ拡大可能かつ高密度かつなトラッキングを行った．

7.2

平面上のトラッキング

平面上でトラッキングを行うための技術は，さまざまな研究がある．
光学式のエミッタとセンサを用いた位置検出は古くから研究が行われており，精度や拡大性も高い [7]．
また，カメラと画像処理を用いた光学方式も広く開発されている．静電容量方式は特に指やスタイラスのパネルへの接触を検出する高精度なトラッキング手法であり，現在我々の身の回りでもよく見かけられる．これらの方法では，計測のためのボードやカメラが電源を必要としたり，特別な道具を把持している必要があった．
また，本手法のように，手に把持した機械やセンサを用いてトラッキングを行う手法もある．例えば，
機械式 [9] や光学式 [2] マウスの方式を用いて物体の移動を検知するインタラクションが提案されている．しかしこれらは相対的な移動の推定しか行うことができないため，初期位置は指定される必要がある．アノト方式は，ペンに取り付けた小型のカメラで専用のパターンを読み取り，平面上での位置を判断する3 ．この方法では絶対位置が推定できるが，専用の道具（ペン）が必要である．

8制約と議論

本稿では 1 種類のスマートフォンで実装を行ったが，スマートフォンと OS によって磁気センサの特性や動作プログラムが異なる．スマートフォンの磁気センサは，地磁気を読み取るために搭載されているので，強い磁場を読み取ると異常な動作をすることがあった．実際に試作の過程で，センサが飽和すると値の出力が止まってしまう機種が見受けられた．
また，磁石に近づけることで部品が磁化されるためか，その後の値が変動するスマートフォンもあった．
3

https://www.anoto.com/solutions/ace/WISS 2020

今回用いた Huawei P30 lite も，一定の強さ以上の磁気を連続測定すると，アプリケーションがクラッシュする現象が発生した．そのため，強すぎる磁場を与えないように，磁石とセンシング面の間に空間を設けている．今後は，強い磁場が集中せず全体に広く分布するような磁石配置を検討していきたい．
また，スマートフォンに強い磁場を加えることで，故障する可能性がしばしば指摘されている．しかし，今回の実装では，実験終了後に使用したスマートフォンが動作不良に陥る事例は発生しなかった．スマー
トフォンケースやホルダなどのアクセサリの一部には，強いネオジム磁石が使われていることもあり，強い磁場によりスマートフォンが破壊されることは無いと考えている．
スマートフォン搭載磁気センサが読み取る磁場ベクトルの向きは，スマートフォンの姿勢によって変わる．今回の実装ではスマートフォンの方向を固定して使用する方式を採用した．公共の場の掲示板やポスターのように，垂直に設置された平面を対象としたアプリケーションに限定すれば，スマートフォン搭載加速度センサにより重力加速度方向を測定し，これによりスマートフォンの傾きを自動的に補正できると考えている．

9

まとめと今後の課題

本稿では，スマートフォン本体と安価な永久磁石のみで二次元トラッキングを行う手法 FieldSweepについて報告した．この手法は電源や電子部品を必要とせず，スマートフォンへ部品を外付けする必要もない．
今後は磁石配置の改良，位置推定アルゴリズム改善，応用の可能性を探っていきたい．特に磁石配置に関しては，薄型磁石を広く薄く配置する方式，異なる大きさや種類の磁石の混在，磁石以外の磁性体の併用などさまざまな改良の余地があると考えている．

参考文献[1] K.-Y. Chen, K. Lyons, S. White, and S. Patel.
UTrack: 3D Input Using Two Magnetic Sensors.
In Proceedings of the 26th Annual ACM Symposium on User Interface Software and Technology, UIST 13, p. 237–244, New York, NY, USA,
2013. Association for Computing Machinery.
[2] C. Harrison and S. E. Hudson. Minput: Enabling Interaction on Small Mobile Devices withHigh-Precision, Low-Cost, Multipoint Optical
Tracking. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems,CHI ’10, p. 1661–1664, New York, NY, USA,2010. Association for Computing Machinery.
[3] H. Koike, W. Nishikawa, and K. Fukuchi.
Transparent 2-D Markers on an LCD Tabletop
System. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems,CHI ’09, p. 163–172, New York, NY, USA, 2009.
Association for Computing Machinery.
[4] R.-H. Liang, K.-Y. Cheng, C.-H. Su, C.T. Weng, B.-Y. Chen, and D.-N. Yang.
GaussSense: Attachable Stylus Sensing Using
Magnetic Sensor Grid. In Proceedings of the25th Annual ACM Symposium on User Interface Software and Technology, UIST 12, p.
319–326, New York, NY, USA, 2012. Association for Computing Machinery.
[5] J. Mallinson. One-sided ﬂuxes – A magnetic
curiosity? IEEE Transactions on Magnetics,
9:678–682, 1973.
[6] D. Meeker, N. Bianchi, J. Gyselinck,
R. Sabariego, L. Alberti, G. Pellegrino,
and F. Cupertino. Electrical machine analysis
using free software. In 2017 IEEE Energy
Conversion Congress and Exposition (ECCE).
IEEE, 2017.
[7] J. Moeller and A. Kerne. ZeroTouch: An Optical Multi-Touch and Free-Air Interaction Architecture. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems,
CHI 12, p. 2165–2174, New York, NY, USA,2012. Association for Computing Machinery.
[8] R. Moser, F. Barrot, J. Sandtner, andH. Bleuler. Optimization of two-dimensional
permanent magnet arrays for diamagnetic levitation. 2002.
[9] I. Siio, T. Masui, and K. Fukuchi. Real-WorldInteraction Using the FieldMouse. In Proceedings of the 12th Annual ACM Symposium on
User Interface Software and Technology, UIST’99, p. 113–119, New York, NY, USA, 1999. Association for Computing Machinery.
[10] K. P. Subbu, B. Gozick, and R. Dantu. LocateMe: Magnetic-Fields-Based Indoor Localization Using Smartphones. ACM Trans. Intell.
Syst. Technol., 4(4), Oct. 2013.
[11] K. Watanabe and N. Kawaguchi. A Smartphone Short-Range Path Estimation with Hyperbolic Function for Spinning Magnet Marker.
In 2019 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), p. 459–460, 2019.
[12] H. Xie, T. Gu, X. Tao, H. Ye, and J. Lv. MaLoc:
A Practical Magnetic Fingerprinting Approach
to Indoor Localization Using Smartphones. In
Proceedings of the 2014 ACM International
Joint Conference on Pervasive and Ubiquitous
Computing, UbiComp 14, p. 243–253, New
York, NY, USA, 2014. Association for Computing Machinery.
[13] S. H. Yoon, Y. Zhang, K. Huo, and K. Ramani.
TRing: Instant and Customizable Interactions
with Objects Using an Embedded Magnet and aFinger-Worn Device. In Proceedings of the 29th
Annual Symposium on User Interface Software
and Technology, UIST 16, p. 169–181, New
York, NY, USA, 2016. Association for Computing Machinery.