2006年3月1日水曜日

FlyingRobot

1. はじめに
体育館などの広いインドア空間で飛行する飛行機が自ら高度、及び位置を認識し、自律飛行することを目標とする。

2. 高度認識
超音波を床に向けて発射し、床からの跳ね返り時間から高度を認識させる。
3. 位置認識
目標コース上に赤外線標識(IrBeacon)を設置しておく。そこからのシグナルを飛行機に搭載されている標識方向センサー(BeaconDirectionSensor)で標識の方向を測定する。その情報を使って目標コース上を飛行させる。
20060423IrBeacon.jpg
4. 赤外線シグナル
パソコン通信で使われるIrDAを簡略化したオリジナルフォーマットを使うことにする
通信速度:400usec/1bit
フレームフォーマット
20060423IrBeacon_FrameFormat.jpg
S:スタートビット1
C0~C3:デバイスコード 0001~1111までの15個設定可能
SAM:サムチェックビット
フレーム間は最低3ビットスリープして次の送信を行なう。
5. 赤外線標識(IrBeacon)
赤外線標識は、体育館などの障害物のない床の上に置くことを想定している。発信する赤外線は四方(360度)にむらがないように、赤外発光ダイオードを複数装着されている。
赤外線シグナル受信用に赤外線受光素子を1つ持っている。
予め、PICプログラムに定数として設定されているデバイスコードによって、
0001:親標識(ParentBeacon)
0010~1111子標識(ChildBeacon)
��種類の動作をする。
5.1. 親標識(ParentBeacon)
23msec毎に赤外線シグナルを発信する。
5.2. 子標識(ChildBeacon)
前標識デバイスコード(自デバイスコード-1)の赤外線シグナルが受信するまでウェイトする。受信を確認すると、1.2msec(3bits)後に赤外線シグナルを発信する。
5.3. 標識設置ルール
親標識から順々に子標識が赤外線シグナルを発信できるように配置する。子標識の赤外線受光素子方向は前標識の方向を向いている必要がある。
上記の設置ルールを守れば、標識の数、場所は自由に変更可能となる。
ただし、親標識の発信間隔(23msec)時間内に送信完了できるのは標識6個までなので、標識数6個が標準では最大となる。
これ以上標識を増やす場合、赤外線の到達距離を調整して混信しないようにするとか、親標識の発信間隔を調整するなどの工夫が必要になる。
6. 標識方向センサー(BeaconDirectionSensor)
標識方向センサーはフライングロボットに搭載する。センサーには赤外線受光素子が放射状に45度づつ8個配置され、赤外線シグナルを受信することになる。
受信シグナルのデバイスコードからどの標識がどの方向から発信されているか認識する。
標識方向センサーPICはバス接続でメインPICと繋がり、I2Cのスレーブとして情報をメインPICに渡す。

0 件のコメント:

コメントを投稿