背景

  • ジェスチャセンサAPDS-9960を使った入力デバイスを試作した
  • ジェスチャ操作を試していたところ、実際のセンサ出力値がどうなっているのかを確認したくなった
  • そこで、センサ出力値の様子を簡単に確認できるアプリを作成した

アプリの概要

  • 接続ボタンでデバイスを接続して通信を開始する
  • スタートボタンを押すと検出モードになる
  • 手の動きを検出すると、データを表示して検出モードを終了する

出力値の表示機能

  • ジェスチャ操作時のUP、DOWN、LEFT、RIGHTの各出力値の時間変化を表示
  • 時間軸の拡大縮小機能を付けて、変化を見やすくした
  • 出力値の変化は見えるが、これだけだと検出の様子が確認しにくい

ジェスチャ検出の仕組み

  • 例:センサ上で手を左から右に動かした場合
  • LEFTの出力値が上昇し、遅れてRIGHTの出力値が上昇する
  • LEFTとRIGHTの差分が最大となったときを見ることで、手がセンサ上に入ってきたことがわかる
  • 逆にRIGHTがLEFTより大きくなり、差分が最大となったとき、手がセンサ上から抜けていったことがわかる

差分値などの特徴量の表示機能

  • 検出の仕組みを踏まえて、差分値を表示する機能を加えた
  • 上下と左右それぞれについて、出力値の差分の最大値、最大となるタイミングを確認できるようにした

手の高さについて

  • センサから離れすぎると差分がわかりにくくなり、検出が困難になる
  • センサに近すぎると、直接手が当たってしまう恐れがある
  • 手を浮かせているので、適切な高さを判断することが難しい

最大値の表示機能

  • 手の高さが適切かを知るために、出力値の最大値を表示して確認しやすくした

考察

  • 出力値の様子を確認しやすくしたことで、いろいろな手の動きでの検出の様子が見えてきた
  • たとえば手の動きの角度
    LEFTとRIGHTの差分は、動きの角度が縦方向に近づくほど差分が小さくなる
    動きの角度をある程度検出できる可能性がある