前記事: SleepTracker: 「スリープトラッカーが見つかりません」エラーの対策

眠りの浅いときに起こしてくれる腕時計、スリープトラッカー (Sleeptracker) ですが、あいまいに「動き」を検出するモーションセンサーという意味に限定すれば、任天堂 Wii のリモコンも同じですね。この 2者に搭載されているのは同じ種類のセンサーなのでしょうか。

Wii リモコンは 3次元加速度センサー

ITmedia の記事によると、Wii リモコンに搭載されているのは「3次元加速度センサー」だそうです。5mm 角程度のセンサー内部に可動部分があり、「加速度」「傾き」を検出できるようです。

小さな箱の中におもりを入れ、そのおもりを上下・左右・前後6面の箱の壁からバネばかりを使って均等の力で支える。その状態で箱に衝撃が加わると、箱は動くがおもりは今いる場所にとどまろうとすることによって、箱の中で見ればおもりが動いたようになる。その時にバネばかりの目盛りを見ればどの方向にどの程度移動したかが分かる。それによって、衝撃が加わった方向と衝撃の強さが分かる。

引用部分はあくまで例えで、実際にはコンデンサの極板の片方が動いて静電容量が変わるような構造で、かつそれが 3D 方向に検出できるようなものだそうです。企業秘密らしいですが、どんな構造なのか興味がありますね。単に 1D 分の直線的な動きを検出する静電容量式センサーが、向きを変えて XYZ 軸方向に 3個並んでいるだけだったりして 🙂 

このセンサーで検出できないことを考えてみると、

  • 「加速」も「減速」もしない等速運動
  • センサーの取付位置を中心にしたヘリコプターのような回転運動

 
などがあります。そうしたら、マリオカートWiiのようなハンドルにリモコンつけてぐるぐる…という運動は無理のように思えますが、「わぱのつれづれ日記」さんによると、センサーの取付位置自体が、リモコンの中心ではなくズレた位置にあるのがミソのようですね。

Sleeptracker は角速度センサー?

本家 Sleeptracker のサイトには

internal sensors can detect even the most subtle physical signals from your body

と書かれていて、日本語版のウェザリージャパンのサイトには

夜中に目覚め活動すると内部センサーが検出します。

内部センサー (internal sensors) としか書いてありません。その割に、Sleeptracker で検索するとあちこちの広告で「角速度センサー」として紹介されています。公式サイトにそこまで書いていないのに妙な気もしますが、この情報が正しいとすると、Sleeptracker では角速度、つまりセンサーの取付位置を軸にぐるぐると振り回される回転速度を見ていることになります。

センサーの価格的には角速度センサーの方が加速度センサーよりも割高のようです。なぜわざわざ高価な角速度センサーを搭載しているのか ((といっても数百円の差のようですが)) は分かりません。ためしに、頭が先に目覚めてしまって、Alarm と Window で指定した「起きてもいい」時間帯に、腕をそっと持ち上げるような動作をしてみましたがアラームは動作せず、体全体に 180度寝返りをうってみたら動作したので、おそらく

  • 寝ているときの腕の動きはゆっくりしていて、加速度センサーで検出できるほどダイナミックではない?
  • どちらかというと体全体が寝返りを打ったときの回転運動のほうが検出しやすい?

というところでしょうか。私はそんなことしませんが、寝相の悪い人が、ツッコミを入れるかのごとく、おなかの上にあった左手をブン回して左側に寝ている人のボディをヒットするような動きも、加速度として捉えるとゆっくりした微妙な動きなので、回転速度を見た方が確実…なのだろうか、と想像しています。

逆に角速度センサーでできないことを考えると、角度が変化せずに並行移動するような動きが考えられますが、センサーの設置スペースが足りなくなるし、センサーの価格も、2種類のセンサーを検出するロジックも複雑になります。専用ソフトで読み込ませてみると「動いたか、動いていないか」のログしか残っておらず、いろいろな意味での割り切りを考えるとそこまでやっていないのではないかと思います。

続き: Sleeptracker: スリープトラッカー PRO を試用してみる