2009年11月23日月曜日

つくばチャレンジ2009終了


つくばチャレンジ終了

結果はトライアル通過
本戦は140m
悔しい結果でしたが、まだまだ挑戦は続きます。

大会参加者の皆様、運営の皆様、観戦にこられた皆様方、本当にお疲れ様でした。

P1060721
雨の中の試走会

P1060734
トライアル走行中

P1060742
子供たちには大人気、今大会でもっとも難関だったかも(笑)

P1060759
我らが「ねずみん」

P1060762
スタート直前、走りに見入っていたためか本戦の走行中の写真を取り忘れました。どなたかお持ちでしたらいただけたら幸いです。

■失敗の分析

 さて、失敗の原因が何だったのか分析中ですが、今現在の推定などを話したいと思います。

図1 走行軌跡
図1は本走行の座標の推定値をウエイポイントと一緒にプロットしてみました。

図2 時系列データ
図2のグラフは座標や方向等の時系列データです。
530秒ぐらいにgpsStateという値が0になって2に戻っています。gpsStateというのは単独測位(1)なのか、DGPS(2)なのか、はたまた受信していない(0)のかをあらわしています。
それとともに座標の推定値がワープします。
これはGPSの推定座標が不連続に出力されたためです。

座標の値が不連続になる直前はウエイポイントに向かって修正しながら向かっているように見えるのですが不連続点以降はまさしく迷走です。木とか人とかの回避モードも途中入っていましたが、それにしても迷走しすぎです。

昨年度から受信の状態が変わると、おかしくなることは解っていたので、昨年度ですと状態が変わってからはGPSデータは使用せずにデッドレコニングで30秒間走るなどの切り替えをやっていました。

しかし今年は、それをやめていて状態が0の時はGPSの値は捨てていますが、それ以外の時は単独測位でも使用していました。今回のように一瞬だけGPSが受信していないときは、その後の値は使ってしまうので、値が安定するまでの走行は結果として迷走になります。
ただ、時系列データを見るに迷走時間が非常に長いのでこればかりが原因とは思えませんが、引き金になったことは確かだと思います。

昨年度やっていた対処を今年やらなかったのは、今となっては残念でなりませんが
理由としては、今年からものにしたい技術であったカルマンフィルターに期待していたためです。

さまざまなセンサーの情報を統合するのに拡張カルマンフィルター(EKF)を今後使っていきたいのですが、実装の経験もないため。勉強して実装するところまではこぎつけました。
私たちの期待としてはGPSのデータがずれても、制御情報も使用しているので、実際にはワープするはずがないので、適切にフィルターがかかったデータが出てくれるかなと思っていたのですが、今回の場合はそうはなりませんでした。
これは、状態方程式や観測方程式の作り方がまずいのか、プログラムの間違いか、共分散の与え方に問題があるのか、特定できていません。一番の問題は理論をきっちり理解していないため、運用を間違っていることかもしれません。

そのほかも色々と問題があったとは思うのですが、この先に行けなかった事象に対しては、以上のことを追求していかなければならないなと思っております。

上のグラフを描いた走行ログのダイジェストをエクセルファイルでアップしましたので、よろしかったらご確認ください。完全な走行ログにはプログラム上のフラグの状態やその他の状態変数などもありますので、もしリクエストがあってログ上にデータがあればお答えします。
走行データダイジェスト

コメント入力できないとのことでしたのでちょっと変えてみました。どうでしょう?

2 件のコメント:

  1. お疲れ様でした.
    カルマンフィルタについては名前しかしらないので,コメントできません.書棚にはその関係の本がまったくありませんし.
    本を買ってぼちぼち勉強してみます.

    返信削除
  2. これから、複数の手段で自己位置を推定することになりそうですが、手段が沢山あればそれらをどう取り扱うか問題になるので、それの一つの答えがカルマンかなと思います。
    勉強不足ですが。結局カルマンは最小二乗法みたいなものだそうです。
    このコメントも正しいか怪しいですが・・・

    返信削除