動音フォンくんのページ




はじめに:このページは、2008年度メディア情報学の授業の課題の成果に関するページです。

目次:要旨 ロボットについて タグについて 操作画面について  アルゴリズム 結果 課題




要旨
メディア情報学の授業にて提供されたロボットを使って、私は人の位置を認識し、常にその正面(あるいは、ユーザの指定した位置)に回りこむ機能を持ったスピーカーを作成した。
このスピーカーを用いて、使用者にとって常に最適なボリュームおよびパンの設定をした状態での音楽を提供することを試みる。

ロボットについて
本システムの中心となるロボットは、授業で提供されたロボットの上にスピーカー、およびタグを乗せたものである。




タグについて
使用者が身につけるタグを使って、本システムは使用者の位置と、使用者の方向について知る必要がある。
タグの向きを取得する方法は確か関数であったはずだが、今回はそれを使用せずに、2つのタグを用いることで、使用者の位置と方向を計算できるようにした(課題で与えられたタグは3つだったので)。
具体的には2枚のタグをそれぞれ左右につけた棒のようなものを考え、その中心に使用者の位置を、そして2枚のタグを結ぶ線分の垂直二等分線に使用者の方向を仮定する。




操作画面について
本システム起動時の画面は下のようになる。



画面左にあるウィンドウは確認用のもので操作には用いない。
画面右上のコントローラを使って使用者はロボットが自分に対してどれくらいの距離で、どれくらいのアングルに移動すればよいのかを設定する。コントローラの拡大図を下に載せる。



図中に書いてあるとおり、Far/Nearで自分との距離を、Left/Rightで自分に対する角度を設定できる。
なおResetは設定を初期状態に戻し、Closeは全てのウィンドウを閉じ、プログラムを終了する。


アルゴリズム
本システムではロボットごとに1つずつスレッドを割り振り、各スレッドで状態遷移を行うことによりロボットの制御を行っている。
各ロボットは以下のような3つの状態を1→2→3→1→・・・と言う順で遷移することで、常に使用者に対して一定の距離と角度を保持し、かつ使用者の方向を向いて音を出せるようになっている。

1.タグ(使用者)の位置(及び向き)に変化がないかをチェックする。変化が見られた場合、1-2を実行した後、遷移状態2に移行する。
 1-2.タグについてで説明したとおりの方法で、使用者の位置と向きを求める。
2.使用者の位置と向きに対して、角度θ、距離r+εの位置に向かって移動する(θ、rについては操作画面についてにて説明したコントローラでユーザが指定)。
 (εはシステム内であらかじめ決められている。)
 目的の地点(正確にはその付近)に到達したら、遷移状態3に移行する。
3.使用者の位置と向きに対して、角度θ、距離rの位置に向かって移動する。
 このように一度少し遠くに移動してから使用者に近づくことで、スピーカーの向きを使用者の方向に向けることができる。
 目的の地点(正確にはその付近)に到達したら、遷移状態1に移行する。


結果
まずは認識がしっかり行われていることを確認するために本システムが動いているときの操作画面をキャプチャした。→Movie
初期状態では、rおよびθは使用者に非常に近い位置に設定されている。そのため最初タグに近づいているが、使用者が設定を行った後は一定の距離と方向を保つようになっている。
また、実際に本システムを利用した例を動画にて撮影した→Movie
音声が無いのが非常に残念である。もっとも、ユーザ視点での撮影ができない(認識にカメラを利用するため)ので、どちらにせよ本システムによる音の聞こえ方の違いは分からないと思うが。
実際にやってみたところ、ロボットが動くときの音が意外とうるさい。


課題
本システムをより実用的なものにする上で、現時点では幾つかの課題がある。
まず1つ目は、左右のスピーカーが同じ位置にある(1つのロボットの上に左右のスピーカーを乗せている)と言う点である。理想的なのは左右がそれぞれ一定の角度を保つことであるが、今回提供されたロボットは1台しかなかったためにこのような実装となった。
2台に増やす場合、各ロボットを操作するためのスレッドをもう1つ増やせばよいので、コントローラを2つ作るなどわずかな変更によって実現できると思われる。
2つ目にタグの認識の弱さが挙げられる。今回撮影した動画の特に2つ目は認識できるぎりぎりの距離である。これ以上遠くすると床のロボットのタグが認識できなくなり、逆にロボットの位置をユーザと同じ高さまで持っていくことは現実的ではないと考える。
また今回は単に座った状態で向きを変えるだけだったが、実際には使用者はもっと動く(席から立って移動するなどの動作をする)ことを想定しなければならない。そのようなときに天井にカメラを取り付け、せめて机の上の高さ(距離にしても2メートル強か)のタグを認識できなければならないと思われる。
3つ目は結果のところで述べたことだが、ロボットが移動する際の音が意外と大きいので、音を気にする人(つまり、本システムのターゲットである)にとっては逆にストレスになるのではないかという懸念がある。


その他:
発表資料(スライド)


もどる