いろいろ努力の結果・・・方位センサーが完成しました。
部品代は500円でしたが、私の努力の費用は・・・(疲れた!)
まず、このセンサーは、90度ずれた地磁気の強さ?X,Yの2つの値を返します。
その2つの値から方位を計算します。
しかし、その計算がそんなに単純じゃありませんでした。
出力される値自体の補正をしなければなりません。
①真北に向けて値を取得し記録します。
②真南に向けて値を取得し記録します。
①と②の値の平均値分だけ、X,Yのそれぞれの値から差し引いた値になるように補正します。(この説明じゃわかりませんね。 要は、①と②の平均値が0になるように出力の値を細工します。)
それが済むと・・・
北(x>0,y=0) 東(x=0,y<0) 南(x<0,y=0) 西(x=0,y>0)
という値が取り出せます。 ここから arctan を使って(実際には変換テーブルを使って
)方位(角度)を取得します。
とりあえず、精度もそれほどでもなさそうなので、最小単位5度の72分割にしてみました。
やっと、ワンコイン方位センサーの完成です。
あくまでも自己満足ってことで・・・
ところで、上にも書いている「補正」の作業ですが・・・
2008年の蘇州世界大会の時の中国チームのロボットで、方位センサーを搭載したスゴイのがありました。
競技の前に、
①2階の壁の前に撒かれている楊枝をどける
②楊枝をどけたところにロボットを置き、壁に押し付ける
③何かスイッチを押す
④ロボットを180度回転させて、再び壁に押し付ける
⑤何かスイッチを押す
⑥ロボットを持ち上げ、楊枝を元のようにならす
とやっていたのですが・・・いったい何をしているのか分かりませんでした。
これは、方位センサーの補正作業をしていたのですね。
もしかして、これが「キャリブレーション」ですか・・・
うん、納得