あなたのAndroid Auto/CarPlayは車速信号による最高精度のナビゲーションの恩恵を受けているか?
はじめに
こんにちは、くまです。
ナビタイムジャパンで自律航法、マップマッチングといった航法研究開発を担当しています。
近年、Android AutoやCarPlay(以下、AA/CP)が浸透しつつあり、当社カーナビサービスでも利用ユーザが増えてきています。AA/CPはスマートフォン単体でのカーナビとは異なり、車と接続されているため、車の情報を取得できる仕組みがあります。そういった事情をご存知のユーザー「車速信号は活用できているのか?」といったお問い合わせを数多くいただいています。
本記事では、そもそも車速信号があると何ができるのかと、AA/CPそれぞれの車速信号の扱い方の違いや当社サービスで車速利用した航法精度について紹介していきます。
車速信号があると何ができるのか?
車速を利用したナビゲーションはカーナビが登場した40年以上前から始まり、今も尚使われています。
GPSだけだと測位しにくい場所やトンネルなどのまったく測位できない場所でナビゲーションができなくなってしまいます。こういった場所で車速を利用することで、自律的に表示位置を前進させることができます。車に搭載されているカーナビの位置精度が高いのは、車速を利用しているからなのです。
スマートフォンでのカーナビアプリでも同様に車速を利用することで、車載カーナビと同等の位置精度が期待できます。
あなたの使っている機器は対応している?
車載カーナビの機能の1つとしてAA/CPに対応しているものや、ディスプレイオーディオ(以下、DA)のようなカーナビのシステムを搭載していない機器でAA/CPに対応しているものがあります。
これらの機器に車速を入力するためには、車速信号を車側から機器に結線しなければなりません。車載カーナビについては昔から車速信号が結線されていますが、AA/CPに対応したDAは、出始めの頃はそもそも結線する口がなかったりしました。
車載カーナビについても、カーナビでは車速が使えていても、AA/CPでは車速が認識できないといったことが起きていました。
現在は車載ナビゲーション機器、DAともにそういった問題が解消されてきている印象ですが、それもここ2、3年でのことなので、それより前の機器をお使いの場合、車速信号が入力されていない可能性があります。
見極め方
前述した通り、車速信号が活きるのはトンネルです。トンネルで渋滞して停車したときにナビアプリの表示を確認してみてください。
車速信号が来ていればトンネル内で停止するはずです。また、当社サービスにおいてになりますが、数キロ程度のトンネルであれば、ほとんど誤差なくトンネルを走破できます。
後に紹介する日本最長の山手トンネルでも、開発時のフィールドテストでは誤差は100m前後に収まっています。トンネルを出た時の誤差でも車速信号の存在を体感できます。
※走行中の画面注視は危険ですので、停車したときにご確認ください
当社サービスでの車速利用割合
では、どの程度のユーザーで車速が利用できているのでしょうか。当社サービス利用ユーザーからは「AA/CPに繋いでいるのにトンネルで動かない」といったお問い合わせを多くいただいております。
その中には残念ながら、車速信号が取れていないことが原因であるケースもありました。具体的にどのDAで車速が取れない、といった情報はもっていないため、カーナビタイムのAA/CP利用ユーザーのうち、車速が利用できている割合についてご紹介します。
いかがでしょうか?私は思ったより車速利用できていないユーザーが多いと感じました。
このように、車速が利用できていないユーザーが一定数いらっしゃり、Android AutoとCarPlayでも割合が大きく違っています。特にCarPlayは半数以上が車速なしです。
私の予想になってしまいますが、この差はAndroid Autoに対し、CarPlayは先に登場しているため、その頃に発売された、車速に対応していないCarPlay機器がまだ多く使われていると解釈しています。
比較的新しい機器の多くは車速に対応している印象です。
AA/CPの車速信号の違い
Android AutoとCarPlayはアプリ開発者視点での車速の見え方が大分違います。
それぞれどのようにしてアプリで車速を扱えるのかを紹介します。
Android Auto
Android Autoからは車の情報を取得することができ、車に搭載されたGPSアンテナの測位情報や車速が取得できるようになっています。
そのため、アプリではスマートフォンの測位と車の測位をどちらも利用可能になっています。
車速は下記の2種類が取得可能です。
Display Speed(速度計に表示される車速)
Raw Speed(生の車速)
しかし、今のところRaw Speedが取れている例は確認できていません。
Display Speedは実際の速度と多少の誤差があるため、ナビゲーションで利用するためには工夫が必要になります。
Display Speedを使って工夫したときの精度比較
それでは、DisplaySpeedをそのまま使った場合と工夫した場合で当社の航法精度にどれくらい違いがあるのかを簡単に紹介します。
Display Speedを積算した場合、それなりに誤差が出でいることがわかるかと思います。当社航法では誤差が少なくなるように調整されています。
CarPlay
一方でCarPlayは車の情報を取得する術がありません。では、どのように車速を取得するのかと言うと、iOS端末の測位情報から取得します。iOS端末の測位情報には
緯度経度
方位
速度
etc…
といった情報が含まれており、測位情報に含まれる速度が車速を加味した速度になっています。あくまで、加味した速度であるため、必ずしも車速とは限りません。GPSが測位可能な場所であればGPSの速度が入っていたりします。
緯度経度に関しても同様で、OS独自で計算された結果になっており、iOS端末で測位した緯度経度なのか、車で測位した緯度経度なのかは利用者側からはわかりません。更に、GPSが測位できないような場所では車速を考慮した測位位置が返ってきます。
測位情報に含まれる速度が果たして車速なのか?を判断するにはこの測位情報と向き合う必要がありました。当記事ではその詳細は述べませんが、向き合ってきた測位情報がどのようになっているのかをいくつか例示します。
iOS端末の測位情報
まずは航法難易度が低めな三宅坂JCTのトンネルの例です。iOS端末ではほとんど測位できていません。
※ iOS端末単体でもOS内の自律航法でそれなりに測位する場合もあります。
CarPlayの測位情報
CarPlayではトンネル内もキレイに測位できており、わざわざ車速を使わないくても位置情報をそのまま使えば良さそうです。
難易度の高いトンネルでのCarPlayの測位情報
東京湾アクアラインを海ほたる側から東京方面に走行している例です。東京方面のトンネル出口の箇所をクローズアップしています。Gマークのところが東京方面のトンネル出口です。
こちらは全長15kmという長いトンネルのため、誤差が蓄積してしまい、トンネル出口で横方向に1km程測位がズレてしまっています。そのため、位置情報をそのまま使ってしまうと東京湾にダイブしてしまうかもしれません。
日本最長の山手トンネルではどうなるか?
赤い線が実際のトンネルの位置です。全長18kmを全て収めました。北から南に走行し、最終的に1.8km程ズレていました。位置はズレていますが、なんとなくトンネルの形をトレースできているのがわかるかと思います。
このように、1km程度の短いトンネルであれば、まったく問題になりませんが、長いトンネルでは測位位置がかなりズレてしまうため、CarPlayの測位情報を利用する場合はこういった点に注意が必要になります。
当社サービスではこういった測位情報から車速かどうかを判断、利用し、高い位置精度を実現しています。
当社の車速を利用しているAA/CPアプリ
今までのAA/CPの紹介で車速へのアプローチが全く異なることがわかったかと思います。当社サービスでの航法精度も簡単ですが紹介しました。AA/CPそれぞれで異なるアプローチで差分を埋め、双方とも同等かつ高い精度になるように調整しています。
当社のほとんどのCarPlay対応サービスについては、車速利用対応をしています。一方、Android Autoについては執筆時点では車速利用に対応しているのは『カーナビタイム』だけです。下記のnoteでも触れられています。
他のAndroid Auto対応サービスにおいても、順次車速利用対応していきますので、ご期待ください。
おわりに
ご自身でお使いのAA/CP機器が車速信号に対応しているかを確認する機会になればと思い、確認方法や対応割合や取り扱い方について紹介しました。
航法研究開発チームでは当社アプリのナビゲーションの測位全般を取り扱っております。AA/CPだけでなく、スマートフォン単体の精度についても同様に改善に取り組んでいきます。