コンパスの使い方(センサのほう)

ダイセンのHMC6352デジタルコンパスは、真北が0度、真東が90度のように、方位を0〜359度で取得できる。しかし、ロボットを動かす会場やコート決まった方位に向いている訳ではないので、センサから取得した方位をそのままプログラムに使い、いろいろな場面に対応させることは難しい。

8方位センサのように方位を目視できるセンサーであれば、マジックテープ上で固定するなどしてセンサを決まった方位に向けることもできるが、HMC6352デジタルコンパスはLED表示などがないため、センサ単体では方位を確認できない。このような場合は基準を東西南北などの絶対的な方位にせずに、任意の向きを基準とした方位の変化を計算で求める。

方位の変化量(向き)は「(今の方位)−(基準の方位)」として計算すると、基本的には、

  • 時計回りに方位が変化した場合はプラスの向き、
  • 反時計回りに方位が変化した場合はマイナスの向き

になるが、真北をまたいで向きが変わった場合は

  • 時計回りに方位が変化した場合はマイナスの向き、
  • 反時計回りに方位が変化した場合はプラスの向き

と正負が逆転する。

コンパスセンサで測った方位 0〜359 の 値を取るので、「(今の方位)−(基準の方位)」の答えの向きは -359から359までの値となる。

向きは360度で一周して元の位置に戻るため、「-1度」と「359度」、「-2度」と「358度」、…(以下同様)…はそれぞれ同じ向きになる。向きがマイナスになる場合はプラスの値で同じ向きになるよう計算し直せば、「(今の方位)−(基準の方位)」の答えの向きは 0から359までの値にできる。