3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FOSS4GAdvent Calendar 2014

Day 17

車載機器ならではの何かしらジオなことをできないか考えた

Last updated at Posted at 2014-12-17

何かしら準備するつもりだったのですがちょっと間に合わなかったので、需要があるのか分かりませんが「車載機器ならではの何かしらジオなことをできないか考えた」みたいな話を。
取りとめもなく。
OFF4Gまであと数時間ですし(酷い)。

息抜き程度にお読みいただければ幸いです。

 

私、趣味8割とちょっとした実益ってな感じで車載機器をDIYしたりなんかもしております。

DIYっていっても最近はAndroidやRaspberry Piなどで簡単にできちゃいますが。

今はなき月刊アスキーさんが太古の昔、「自作パソコンにショックアブソーバーと免振装置つけて車載、スキャコンかましてカーナビに繋いだら移動メディアセンターになった」なんてネタを昔やってた気がします。DLNAもクラウドストレージもない時代に。

夏はダッシュボードでステーキが焼け、冬はバナナで釘が打てるという、あの車内という環境に、当時の液体コンデンサだらけで熱に弱いマザーやらお高かったHDDやらを放置したわけです。なんてGeek魂でしょう。

ともあれ、いまやアレが400gのタブレットをダッシュボードに置くだけで実現できるわけですから、いい時代になったと思っていいんだと思います。

 

さて、みなさんはラリーはお好きですか?

ラリーといってもいろいろありまして、よくWRCXGAMESで連想される最短ラップを競うものもあれば、公道を安全運転で走行し、基準速度ピッタリのペースになるようアベレージを保って、ルート上のどこにあるかわからないチェックポイントを通過するタイミングと基準速度との乖離の少なさで競うものもあります。

モータースポーツ人気が遠のくにつれ、ラリーとともに、そしてGPSの高精度化とともに消えていってしまったものがあります。

 

ラリーコンピュータです。

 

なにやら仰々しい機械ですが、正確に測った区間を走って車速信号の誤差を求め、キャリブレーションを行い、チェックポイントまでの正確な距離と目標時間を入力すると、目標時間ピッタリに着くために居るべき地点と現在地点との距離を計算して出してくれる、というものです。
高機能な製品だとペナルティで受けた時間の計算も距離に反映してくれたりしました。
これをコ・ドライバー(助手席の人)が操作しながらナビゲーションを行い、ドライバーをゴールへと導きました。
機械の中にタグ付けされた距離(位置情報)を入れておき、それを活用する。
GPSも測地系もあったものではない、誤差だらけの世界ですが、いわば、ラリーのプレイヤーが使うことに特化した太古のGISだったわけですね。

 

…強引にジオネタということにした感じです。お許しください。

 
 

現代ではAndroidアプリなどでGPSを使用した高性能ラリーコンピュータが簡単に手に入ります。素晴らしい時代です。クルタ計算機をチキチキと手で回す必要はなくなりました。

この技術、現代では全く使われなくなったのかというとそうではなく、カーナビはまだまだGPS単独ではなく車速信号で移動距離を補正しながら動作していますし、最近話題のモービルマッピングでも大体こういうやりかたしています。アレはメーターワイヤ一周ごとにパルス出力するようなザッパ仕事じゃなくちゃんとレーザーとかでホイールにつけた細かいストロボを読んでるみたいですが。
GPSはまだまだ数mの誤差が出たり長距離にわたって取得できなかったりするので、「グリップ走行さえすれば」車速信号のほうが正確なのですね。

ちなみにちゃんとキャリブレーションしてあげれば、一般車両がデフォルトで出力している信号でも誤差は最小0.4m程度。
ただし蛇行したりタイヤのグリップが少しでも失われるような走り方をするとそこからズルズルと誤差が広がります。
…あれ、ラリーって…

 

……。

 

滑らず蛇行もしないルートなんてないよなぁ。コ・ドライバーがレースをコントロールしてるってのはホントなんですねぇ。

 

さて、この仰々しい機械。現代に蘇らせるのに必要なものは以下の通りです。
・電源(車から12V)
・車速信号(車から5Vパルス)
・リバース信号(車から5Vパルス)
・ボタンなりタッチパネルなりの入力端末
・上記入力を受け取るコンピュータ
・出力先のLCDなり7セグなりニキシー管なり、お好きな表示ユニット
・正確なクロック

これだけ。そして現代人にはRaspberry Piがあるわけです。
注意する点はRPiのGPIOに車からパルス突っ込むと電圧の関係で壊れる件。
自動車の扱うパルスは大体5V(しかも不安定)、RPiのGPIOは3Vです。MOSFETとかで絶縁するのが無難な方法でしょう。
札幌近郊の住民であれば必要なものは狸小路の梅澤無線で全部手に入ります(多分)。
正確なクロックを車内で取得するのは面倒ですが、Raspberry PiのRTCモジュールを買うなり、GPSからPPS信号を取得すればいいでしょう。折角GPSなしで座標が取れるってのにGPSで時刻あわせとか本末転倒な気がしなくもないですが。

精度の向上は用途にもよりますが、ソフト側の補正でいろいろやれると思います。
 

これを何に使えるかっていうと、イベントだの何かしらの調査だののために事前踏査するのがらくらくになります。
GPSの誤差は座標が突然飛ぶような形で出ますが、パス上に距離ベースで座標を出したものは、タイヤが滑った分だけちょっとずつズレる形で発生します。ということは、後々の処理で誤差を拡散するだけなどの手抜き手法が取れるわけです。
多くの場合、写真一枚一枚やテキストデータにダイレクトに座標のメタデータつける必要なんて本当はないはずです。
座標と写真のファイル名なり映像の時間なりを紐づけるデータベースをセットにすればいいので。
あとは起点からの距離と画像を配列にしてQGISでごにょごにょして。
OpenLayersでプロットすれば…

スクリーンショット-2014-12-17-18.07.png
(諸事情につきいろいろ隠してますが)

といったところで、OFF4Gに出る時間となりましたので、ここらで。

乱文にて失礼しました~
 

P.S.
最近ちょっとこのデータを何かに使えないかなぁと思ってるわけです。
というのも、車内で音楽聴きながらの運転が大好きなのに、運転中にネトラジのストリーミングが切れるとげんなりするので、あらかじめ切れるタイミングを予測して、電波が悪くなる地点に近づいたら曲のつなぎ目(ストリーミングでメタデータを受信したタイミング)でローカルファイルの再生に切り替えられたら…
運転中に音楽が途切れたり、ローカルのファイルを聞きつくして途方にくれる悲しみは…過去のものになってくれたりしません?

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?