GPSルート探索スクリプト「電猫」――試作システム概要

あまり引っ張るのもなんなので、とりあえず今の改変したバイナリとスクリプト群を置いておきます。一応、クリスマスプレゼント、みたいな(?)。まだまだ洗練されておらず、初心者の方向けにパッケージングされているわけでもないので、導入される方は既存の環境を破壊しかねない可能性も考慮して行ってください。また、改変、再配布は自由ですが、改変した旨を明示して、会員制フォーラムなどの閲覧者を限定する場所ではなく、誰もが自由に利用できる形での公開をお願いします(^^


mapgetdm.pl
roadcnv.pl
denmyou043.pl
qpeGPS 0.9.2.2 pre-ec


それぞれ、上から地図DLスクリプト電猫版、点群地図変換スクリプト、ルート探索スクリプト、qpeGPS改造バイナリ、になります。mapgetdm.plとroadcnv.plはPC側で地図をDLして点群地図へ変換するために使用し、denmyou.plとqpeGPSはザウルス側で走らせます。
必要となるソフトウェア/ライブラリは


○PC側
Perl動作環境(ActivePerl5.8.4 Build810で動作確認)
ImageMagickImageMagick 6.0.3 Q16 PerlMagick導入で動作確認)


○ザウルス側
Perl動作環境(5.6.1-8.3-4で動作確認)
・qpeGPS(0.9.2.2+zlibインストール済で動作確認)


となっています。どれもインストールしただけで、特殊な設定は行っていません(ロケールの設定さえしてないので、毎度警告が・・・(^^;; )


上記の環境を揃えたら、以下の手順でルート探索が可能になります。

  • 1.最初に、PC上で地図DLスクリプトを使用して、変換する領域の地図をDLしてください(現在は1/8000固定)。手順は通常の地図DLスクリプトとまったく変わりません。広い領域になると、相応のサイズにはなっていきますが、オーバーラップが存在しないので、同じ範囲の視認用地図よりずっと容量は小さくなっています。
  • 2.DLした地図と同じフォルダにroadcnv.plを置いて、実行します。すると、dmaps.txtを自動認識して、点群地図への変換が始まります。ごく初期のバージョンよりも高速化されていますが、Willamette Pentium4 1.5GHz RDRAM1GBのマシンで、16×16kmの都心部地図を変換するのに7時間ほどかかりました。広い領域を変換する場合は、それなりに覚悟が必要のようです(^^;;
  • 3.変換した地図は、*.dotと*.idxという形でずらっと並びます。これらのファイルと、dmaps.txtファイルをSDカードなどでザウルスへ移動させます。


  • 4.denmyou.plの内部を編集して、上の移動させたファイル群が存在する絶対パスと、トラックファイルを書き出したいディレクトリの絶対パスを指定してください。
  • 5.qpegpsとdenmyou.plを/home/QtPalmtop/binディレクトリの中にコピーします。このディレクトリはルートユーザーで無いとコピーできないのでいろいろな意味で注意してください。
  • 6.qpeGPSを実行します。ナビモードでは、OKキーでメニューを呼び出し、現在地から任意のウェイポイントへのルート探索、マップモードでは、今表示している地点から任意のウェイポイントへのルート探索が行えるようになってます。


  • 7.ルート探索時にはqpeGPSがいったん応答しなくなります。道が見つからないと、かなりの時間待たされるので注意してください(^^;;; この辺は要改善項目です。


  • 8.qpeGPSが応答するようになったら、ルート探索の終了(あるいは失敗・・・)です。trackタブに移動して、denmyou.pl内で指定したディレクトリの中を見てください。探索成功であれば、mytrackというファイルが生成されていると思います。これを読み出します。


  • 9.すると、地図上にトラックログとして探索されたルートが表示されます。


  • 10.そのまま信用して歩き回ると、無駄に動き回って良い運動になります(^^;;;


こんな感じです。地名の入り組んだ都心部だと、まだ5割程度でしか探索に成功しません。ひたすら改良あるのみです。今後はコスト評価部分と、道路のID化、A*アルゴリズムの見直し(リアルタイムA*など)を気が向き次第重点的に行っていく予定です。