16日にGPSロボットカーコンテストのブログで競技面がテニスコートに変更になった旨のアナウンスがあった。waypointにもカラーコーンが置かれる。だたし,ダミーのカラーコーンも置かれるようだ。[つづき]
2009年9月19日土曜日
2009年9月14日月曜日
2009年9月13日日曜日
GPS遊び
某年8月に新千歳空港→羽田空港の飛行機に乗ったときハンディGPSを使って航跡をロギングした。座席の窓にGPSアンテナを貼り付けてパソコンでフライト情報と航跡表示させていたら,キャビンアテンダントから「これ,電波出していませんよね。着陸時は絶対に止めて下さい」とかなりキツく言われた。ロギングした新千歳空港→羽田空港の航跡。
水平飛行で巡航し始めたので航空チャート広げて航法計算して到着時間を割り出したら羽田空港の離着陸制限時間の23時までには到着しない予想になった。で,キャビンアテンダントを呼んで「このままでは23時までに羽田に着きませんよ」と話したら「はあ?何でわかるんですか?」と聞き返され「フライト情報から航法計算したらそうなります」と答えたら怪訝な顔して去って行った。その後,キャビンアテンダントがやって来て「23時までには必ず到着します」(キッパリ!)と言われた。

新千歳空港を離陸して,方位約175度で高度を上げながら南下
新千歳空港から約90Kmのところで方位190度に変針
下北半島尻屋崎あたりで高度1万mに達して水平飛行。巡航速度は約900Km/時
岩手県花巻,茨城県大子,茨城県阿見の航空標識(VOR)をたどる航空路を使っている。
郡山市上空から徐々に高度を下げ始める
阿見町の電波標識(AMI)を通過し方位200度に変針。
高度は約4千m。速度は約650Km/時
通常のAMI~羽田空港への飛行ルートは,AMIで約180度に変針して南下し,木更津付近で右旋回して電波標識(KOHTOH)に向かって方位320度で飛行してから羽田空港に向かう。
しかし,今回はAMIから方位200度で直進し通常のルートをショートカットして東京湾に到達して羽田空港に向かっている。
東京湾に入ると,KOHTOHに向かって方位285度で飛行。高度は900m,速度は230Km/時。
KOHTOを通過すると,東京港上空を左旋回して羽田空港の滑走路に向かいILSに乗って着陸。
通常の飛行経路をショートカットしたのは,そのままでは23時を過ぎて羽田に到着するので管制官が時間短縮のためショートカットさせたのだろう。羽田空港は地元との協定で23時以降の航空機の離発着はできないことになっている。
航空機や船舶を利用するときハンディGPSと地図を持って行くと道中退屈しない。旅客航空機は電子機器の機内での使用制限がキツいので磁気コンパスの方が良いかも知れない。

新千歳空港を離陸して,方位約175度で高度を上げながら南下
新千歳空港から約90Kmのところで方位190度に変針
下北半島尻屋崎あたりで高度1万mに達して水平飛行。巡航速度は約900Km/時
岩手県花巻,茨城県大子,茨城県阿見の航空標識(VOR)をたどる航空路を使っている。
郡山市上空から徐々に高度を下げ始める
阿見町の電波標識(AMI)を通過し方位200度に変針。
高度は約4千m。速度は約650Km/時
通常のAMI~羽田空港への飛行ルートは,AMIで約180度に変針して南下し,木更津付近で右旋回して電波標識(KOHTOH)に向かって方位320度で飛行してから羽田空港に向かう。
しかし,今回はAMIから方位200度で直進し通常のルートをショートカットして東京湾に到達して羽田空港に向かっている。
東京湾に入ると,KOHTOHに向かって方位285度で飛行。高度は900m,速度は230Km/時。
KOHTOを通過すると,東京港上空を左旋回して羽田空港の滑走路に向かいILSに乗って着陸。
通常の飛行経路をショートカットしたのは,そのままでは23時を過ぎて羽田に到着するので管制官が時間短縮のためショートカットさせたのだろう。羽田空港は地元との協定で23時以降の航空機の離発着はできないことになっている。
航空機や船舶を利用するときハンディGPSと地図を持って行くと道中退屈しない。旅客航空機は電子機器の機内での使用制限がキツいので磁気コンパスの方が良いかも知れない。
2009年9月12日土曜日
電子コンパスの実験
GPS測位してロボット・カーの位置が決まればwaypointへのbearingは計算で求まる。求めたbearingにロボットカーをheadingするには現在のheadingを知る必要がある。ということで電子コンパスの基本的な実験を行ってみる。
(1)磁気方位センサー
HoneywellのHMC6352を搭載したSparkFunのデジタルコンパスモジュールが手元にあったので,Arduinoに接続して見ました。
角速度を検出し時間で積分して回転角を求めheadingを計算する。こんな感じでなんとかなりそうですが…
測角精度について
1度の誤差は1km先で17m程度ですから,競技面のサイズを考えると精度は±1度くらいで十分でしょう。
(1)磁気方位センサー
HoneywellのHMC6352を搭載したSparkFunのデジタルコンパスモジュールが手元にあったので,Arduinoに接続して見ました。
すでにArduinoに接続して実験している人がいるだろうとググッてみたら,やはり「建築発明工作ゼミ」に先行事例がありました。

[スケッチ]
分解能は0.5度,精度は1度で必要十分な性能を持っています。しかも,インターフェースがI2Cで簡単に使えます。次のジャイロを使ってHeading方位を測る実験をやるのが億劫になりました。
(2)角速度センサー(ジャイロ)
[スケッチ]
分解能は0.5度,精度は1度で必要十分な性能を持っています。しかも,インターフェースがI2Cで簡単に使えます。次のジャイロを使ってHeading方位を測る実験をやるのが億劫になりました。
角速度を検出し時間で積分して回転角を求めheadingを計算する。こんな感じでなんとかなりそうですが…
- ロボットカーを真北に向けて置く。
- Heading変数を0にする。
- 静止時のオフセット値を求める。
- 周期的に割り込みをかけてジャイロからその時々値を読みオフセット値で補正する。
- ジャイロの値を角速度に換算する。
- 求めた角速度と割り込み周期の積をとって変化した角度を求める。
- 変化した角度をHeading変数に積算する。
- このままでは誤差が蓄積して行くので,GPS測位とともに得られる移動方位情報でHeading変数値を校正する。
1度の誤差は1km先で17m程度ですから,競技面のサイズを考えると精度は±1度くらいで十分でしょう。
2009年9月6日日曜日
GPSモジュール GT-720F
秋月電子で販売しているGPSモジュールGT-720FをArduinoに接続してみた。
データシートをそのまま読めばGT-720Fの信号ラインはRS232-CレベルなのでArduinoに接続する場合はレベルコンバータが必要になる。「TTLレベルで出ていたらArduinoに直結できるのに…」と思って色々調べたらTTLレベルの信号がデータシートではNCと表示されている5・6番ピンに出ていることがわかった。次のように接続してGPSモジュールからNMEAフォーマットのデータを読んで緯度・経度を切り出しLCDに表示するスケッチを書いてテストしたらあっけなく動いた。
データシートをそのまま読めばGT-720Fの信号ラインはRS232-CレベルなのでArduinoに接続する場合はレベルコンバータが必要になる。「TTLレベルで出ていたらArduinoに直結できるのに…」と思って色々調べたらTTLレベルの信号がデータシートではNCと表示されている5・6番ピンに出ていることがわかった。次のように接続してGPSモジュールからNMEAフォーマットのデータを読んで緯度・経度を切り出しLCDに表示するスケッチを書いてテストしたらあっけなく動いた。
waypointのコーン
第3回コンテストの競技規約にwaypointに設置されるコーンや許容サークルについて書かれていなかったので,研究会に問い合わせてみました。
(1)waypointにコーンは置かれない。
(2)waypointの許容サークルは審判用である。
との回答でした。
したがって,GPS測位でwaypointの近くまで行き,センサーで周囲をスキャンしてwaypointのコーンに精密アプローチする方法は使えないです。GPS測位に慣性航法などを組合わせて補完しなければなりませんね。
競技面に対するGPSの相対誤差が大きく,実際の船舶で考えるとLORAN-Cを使って目隠しで指定錨地にアンカーする感じです。
(1)waypointにコーンは置かれない。
(2)waypointの許容サークルは審判用である。
との回答でした。
したがって,GPS測位でwaypointの近くまで行き,センサーで周囲をスキャンしてwaypointのコーンに精密アプローチする方法は使えないです。GPS測位に慣性航法などを組合わせて補完しなければなりませんね。
競技面に対するGPSの相対誤差が大きく,実際の船舶で考えるとLORAN-Cを使って目隠しで指定錨地にアンカーする感じです。
登録:
投稿 (Atom)






