以下では、本発明の一実施形態に係る情報通信システムについて、図面を用いて説明する。
図1は、本発明の一実施形態に係る情報通信システムの構成図である。図1に示す情報通信システムは、携帯端末100と、テレマティクスセンタ160と、ネットワーク180により構成される。ネットワーク180には、例えば携帯電話網、インターネット網、無線LAN等の近距離無線通信網や、あるいはそれら複数の組み合わせで構成されたものなどが挙げられる。
携帯端末100は、中央演算処理装置110と、入出力装置121と、加速度センサ122と、角速度センサ123と、磁界センサ124と、気圧センサ125と、温度センサ126と、位置測位センサ127と、カメラ128と、通信部129と、記憶装置130からなる。携帯端末100としては、例えば自動車に搭載されるPND(Portable Navigation Device)、スマートフォン、ドライブレコーダや、これらを自動車に固定するためのクレードルなど、それらの組み合わせにて構成されることが考えられる。なお以下では、この携帯端末100が搭載された自動車を「自車両」と称する。
中央演算処理装置110は、例えばCPU(Central Processing Unit)やRAM(Random Access Memory)、GPU(Graphics Processing Unit)などから構成され、所定の動作プログラムを実行することで、携帯端末100の各種機能を実現するための処理を行う。この中央演算処理装置110は、ユーザ情報蓄積部111、プローブ情報蓄積部112、動画蓄積部113、傾斜演算部114、データ送信部115、データ受信部116、運転診断処理部117、および運転診断結果表示部118を機能的に有する。これらの機能は、中央演算処理装置110においてそれぞれ所定のプログラムが実行されることにより実現されるものである。すなわち、中央演算処理装置110で実行されるプログラムにより、ユーザ情報蓄積部111、プローブ情報蓄積部112、動画蓄積部113、傾斜演算部114、データ送信部115、データ受信部116、運転診断処理部117、および運転診断結果表示部118として中央演算処理装置110を機能させることができる。
ユーザ情報蓄積部111は、ユーザに関する情報、例えば年齢や性別、保険等級、交通事故回数などの情報を、入出力装置121を用いたユーザへのアンケートなどを通じて収集し、記憶装置130に蓄積させる。ユーザ情報蓄積部111で収集されたこれらの情報は、記憶装置130にユーザ情報131として蓄積される。
プローブ情報蓄積部112は、加速度センサ122、角速度センサ123、磁界センサ124、気圧センサ125、温度センサ126、位置測位センサ127、およびカメラ128の各センサから取得したセンサ情報に基づいて、自車両のプローブ情報を収集し、記憶装置130に蓄積させる。プローブ情報蓄積部112で収集されたプローブ情報は、記憶装置130にプローブ情報132として蓄積される。
動画蓄積部113は、カメラ128を用いて自車両の前方等の風景を撮影することにより、自車両の運転中の風景を表す運転動画を取得する。動画蓄積部113で撮影された運転動画の情報は、記憶装置130に動画情報133として蓄積される。
傾斜演算部114は、携帯端末100の傾斜角度を算出する。この傾斜角度は、自車両における携帯端末100の設置角度と、自車両の位置における道路勾配とに応じて定まるものである。なお、傾斜演算部114による傾斜角度の具体的な算出方法については後述する。
データ送信部115は、通信部129を用いて、記憶装置130に蓄積されたユーザ情報131、プローブ情報132、地図情報134、運転診断結果136を、ネットワーク180を介してテレマティクスセンタ160へ送信する。なお、後述するように、地図情報134は道路勾配の情報を含むものである。
データ受信部116は、通信部129を用いて、テレマティクスセンタ160からネットワーク180を介して送信される地図情報183を受信する。なお、後述するように、地図情報183は道路勾配の情報を含むものである。
運転診断処理部117は、記憶装置130に蓄積されたユーザ情報131、プローブ情報132、動画情報133、地図情報134、評価基準135を用いて、自車両のドライバーに対する運転診断を行い、運転診断結果を算出する。運転診断処理部117で算出された運転診断結果は、記憶装置130に運転診断結果136として蓄積される。
運転診断結果表示部118は、記憶装置130に蓄積された運転診断結果136を読み出し、入出力装置121に表示する。
入出力装置121は、自車両のドライバーに対するユーザ情報の入力機能や診断結果の出力機能を備える。入出力装置121は、入力装置として機能する各種の操作部材と、出力装置として機能する画像表示部や音声出力部とを有する。例えば、タッチパネル式のディスプレイなどを入出力装置121として用いることができる。それ以外にも入出力装置121は、キーボードやマウス等の入力装置と、ディスプレイやスピーカ等の出力装置とを組み合わせて構成することも可能である。
加速度センサ122は、携帯端末100に搭載されており、3軸方向の加速度を計測可能な加速度センサである。加速度センサ122により検出された3軸方向の加速度は、中央演算処理装置110に出力される。
角速度センサ123は、携帯端末100に搭載されており、3軸方向の角速度を計測可能な角速度センサである。角速度センサ123により検出された3軸方向の角速度は、中央演算処理装置110に出力される。
磁界センサ124は、携帯端末100に搭載されており、3軸方向の磁界を計測可能な磁界センサである。磁界センサ124により検出された3軸方向の磁界は、中央演算処理装置110に出力される。
気圧センサ125は、携帯端末100に搭載されており、気圧を計測可能な気圧センサである。気圧センサ125により検出された気圧は、中央演算処理装置110に出力される。
温度センサ126は、携帯端末100に搭載されており、温度を計測可能な温度センサである。温度センサ126により検出された温度は、中央演算処理装置110に出力される。
位置測位センサ127は、携帯端末100に搭載されており、位置情報を計測可能な位置測位センサである。位置測位センサ127は、携帯端末100の位置(すなわち自車両の位置)を検出し、その検出結果を中央演算処理装置110に出力する。位置測位センサ127には、例えばGPS(Global Positioning System)センサや、無線LAN(Local Area Network)アクセスポイントや携帯電話基地局等からの無線信号を用いて測位を行うセンサなどを利用可能である。
カメラ128は、携帯端末100に搭載されており、動画を撮影可能なカメラである。携帯端末100は、自車両に取り付けられるときに、カメラ128により車外風景を撮影可能な位置および向きとなるように設置される。
なお、上記の角速度センサ123、磁界センサ124、気圧センサ125、温度センサ126、位置測位センサ127、カメラ128は、必ずしも携帯端末100に備わっていなくてもよい。すなわち、これらのいずれか少なくとも一つを備えない携帯端末100の構成も考えられる。
通信部129は、有線LANや無線LANなどの有線通信、あるいは無線通信、あるいはその両方に必要な通信規格に準拠するネットワークカードなどから構成され、テレマティクスセンタ160と各種通信プロトコルに基づきデータを送受信する。
記憶装置130は、ハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどの情報記録機能を有する装置、もしくはそれらを組み合わせて構成される装置である。この記憶装置130には、ユーザ情報131、プローブ情報132、動画情報133、地図情報134、評価基準135、運転診断結果136が格納される。
テレマティクスセンタ160は、中央演算処理装置161と、通信部162と、記憶装置163から構成される。
中央演算処理装置161は、例えばCPUやRAM、GPUなどから構成され、所定の動作プログラムを実行することで、テレマティクスセンタ160の各種機能を実現するための処理を行う。この中央演算処理装置161は、データ送信部171、データ受信部172、道路勾配確認部173、および道路勾配演算部174を機能的に有する。これらの機能は、中央演算処理装置161においてそれぞれ所定のプログラムが実行されることにより実現されるものである。すなわち、中央演算処理装置161で実行されるプログラムにより、データ送信部171、データ受信部172、道路勾配確認部173、および道路勾配演算部174として中央演算処理装置161を機能させることができる。
データ送信部171は、携帯端末100からの要求に応じて、記憶装置163に蓄積された地図情報183を読み出し、通信部162を用いて、ネットワーク180を介して携帯端末100へ送信する。
データ受信部172は、通信部162を用いて、携帯端末100からネットワーク180を介して送信されるユーザ情報131、プローブ情報132、地図情報134、運転診断結果136を受信する。データ受信部172により受信されたこれらの情報は、記憶装置163において、ユーザ情報181、プローブ情報182、地図情報183、運転診断結果184としてそれぞれ蓄積される。
道路勾配確認部173は、携帯端末100から後述する道路勾配確認要求を受けると、記憶装置163に蓄積された地図情報183において、自車両の位置に対応する道路勾配情報が記録されているか否かを確認する。
道路勾配演算部174は、複数の携帯端末100から送信される道路勾配情報に基づいて、統計的に信頼度の高い道路勾配を算出する。この道路勾配演算部174により算出された道路勾配を用いて、必要に応じて、記憶装置163に蓄積された地図情報183における道路勾配の情報が更新される。
通信部162は、有線LANや無線LANなどの有線通信、あるいは無線通信、あるいはその両方に必要な通信規格に準拠するネットワークカードなどから構成され、携帯端末100と各種通信プロトコルに基づきデータを送受信する。
記憶装置163は、ハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどの情報記録機能を有する装置、もしくはそれらを組み合わせて構成される装置である。この記憶装置163には、ユーザ情報181、プローブ情報182、地図情報183、運転診断結果184が格納される。
なお、上記システム構成は本発明における一実施形態に過ぎず、他のシステム構成とすることも可能である。例えば、携帯端末100で収集してテレマティクスセンタ160へ送信したユーザ情報131とプローブ情報132を、テレマティクスセンタ160において分析し、後述する傾斜演算処理や運転診断処理を行うことも可能である。その場合、図1の傾斜演算部114や運転診断処理部117は、携帯端末100の中央演算処理装置110ではなく、テレマティクスセンタ160の中央演算処理装置161に含まれる。これにより、携帯端末100とテレマティクスセンタ160の間で送受信される通信データ量は増えるが、携帯端末100における演算処理負荷が軽減されるため、バッテリー消費が抑えられるなどの効果が期待できる。この他にも、目的とする利用形態に応じて、携帯端末100とテレマティクスセンタ160の間でそれぞれの機能を適宜分担することが可能である。
次に、本発明の一実施形態に係る情報通信システムの処理において用いられる軸定義について説明する。図2は、本発明の一実施形態に係る情報通信システムおける軸定義の一例を示す図である。
図2(a)は、携帯端末100の加速度センサ122と角速度センサ123の軸定義の一例である。図2(a)に示す例では、例えば携帯端末100がスマートフォンである場合に、タッチパネルなどの表示装置が入出力装置121の一部として装着されている。この時に、加速度センサ122が検出する加速度の軸を三つ、図2(a)に示すようにそれぞれ定義する。具体的には、入出力装置121の表示面に対して、携帯端末100の上下方向(長辺方向)に平行な軸をx軸、左右方向(短辺方向)に平行な軸をy軸とそれぞれ定義し、入出力装置121の鉛直方向に平行な軸をz軸と定義する。各軸の正方向は、x軸は画面上方向、y軸は画面右方向、z軸は入出力装置121のある面から背面に向かう方向であると定義する画面下方向であると定義する。
入出力装置121の上側を飛行機の機首に見立てた場合、x軸周りの回転はRoll(ロール)回転、y軸周りの回転はPitch(ピッチ)回転、z軸周りの回転はYaw(ヨー)回転に一致する。なお、各回転軸における正方向の回転を、ロール回転ではy軸をz軸に向ける方向、ピッチ回転ではz軸をx軸に向ける方向、ヨー回転ではx軸をy軸に向ける方向と定義する。以降では、携帯端末100が表現する加速度の3軸にて表現される座標系を「端末座標系」あるいは「xyz座標系」と表記する。
また、磁界センサ124を利用することで得られる携帯端末100の方位角は、一例として図2(a)に示す携帯端末100のx軸の向きによって定義できる。例えば、x軸が真北方向を向いている時の方位角を0とした場合、磁界センサ124は、真北方向に対するx軸のずれ角として方位角を検出する。
図2(b)は、地球上の特定の地点における加速度の軸定義の一例である。図2(b)において、地球201上の特定の地点に対して、加速度の軸を三つ、例えば図2(b)に示すようにそれぞれ定義する。具体的には、特定地点と地球201の中心の2点を通る直線からなるZ軸と、Z軸に垂直で、北極点と南極点と特定地点の3点を通る平面に平行なX軸と、Z軸とX軸に垂直なY軸とを定義する。この場合、X軸は経線に、Y軸は緯線に平行である。各軸の正方向は、X軸は北方向、Y軸は東方向、Z軸は地球201の中心方向であると定義する。したがって、地球201上に静止する物体に対して、重力加速度はZ軸の正方向に表れる。以降では地球201が表現する加速度の3軸にて表現される座標系を「地球座標系」あるいは「XYZ座標系」と表記する。
ここで、端末座標系の位置ベクトルを地球座標系の位置ベクトルに変換するための回転式を下記の数式1に示す。
数式1では、xyz座標系をx軸回りにα回転してx’y’z’座標系に変換する行列をRx(α)と、x’y’z’座標系をy’軸回りにβ回転してx’’y’’z’’座標系に変換する行列をRy’(β)と、x’’y’’z’’座標系をz’’軸回りにγ回転して変換する行列をRz’’(γ)とそれぞれ表記している。図2(a)に示した端末座標系を図2(b)に示した地球座標系に変換する場合、回転の順序をロール回転、ピッチ回転、ヨー回転の順と定義すると、数式1はオイラー角の定義に基づく各軸周りの回転を表している。すなわち、数式1に従って、ロール回転(x軸あるいはX軸あるいはX’軸周りの回転)、ピッチ回転(y軸あるいはY軸あるいはY’軸周りの回転)、ヨー回転(z軸あるいはZ軸あるいはZ’軸周りの回転)の順で回転されることにより、端末座標系から地球座標系の変換が行われる。ただし、本発明は回転の順序を上記の順序に限定するものではない。
また、数式1で表現される回転角α、β、γは、携帯端末100の地球座標系に対する設置状態の傾斜角度ともみなすことができる。
図2(c)は、自車両における加速度の軸定義の一例である。図2(c)において、自車両である車両202に対して、加速度の軸を三つ、図2(c)に示す様にそれぞれ定義する。具体的には、車両202の中心と地球の中心の2点を通る直線からなるZ’軸と、Z’軸に垂直で、車両202の正面方向、すなわち車両202が全くハンドル操作をせずに加速した場合に進む方向に平行な、車両202の前後方向を示すX’軸と、Z’軸およびX’軸に垂直で、車両202の左右方向を示すY’軸とを定義する。各軸の正方向は、X’軸は車両202の進行方向、Y’軸は車両202の進行方向に対する右方向、Z’軸は地球の中心方向であると定義する。この時、Z’軸は図2(b)に示した地球座標系におけるZ軸と一致する。なお、以降では、車両202が表現する加速度の3軸にて表現される座標系を「自動車座標系」あるいは「X’Y’Z’座標系」と表記する。
なお、図2(c)の自動車座標系は、重力の方向が一致することから、自動車座標系の位置ベクトルは図2(b)に示した地球座標系の位置ベクトルをZ軸(Z’軸)周りに回転することで算出することができる。
図3は、図1で示した携帯端末100の記憶装置130に蓄積されるユーザ情報131と、プローブ情報132のフォーマットの一例を示す図である。
図3において、ユーザ情報131は、ユーザID300、車種情報301、端末機種情報302、年齢303、性別304、運転歴305、年間走行距離306、事故回数307から構成される。
ユーザID300は、携帯端末100を用いてサービスを利用する各ユーザ(ドライバー)を一意に特定するための識別子である。テレマティクスセンタ160は、サービス利用者として登録されている複数のユーザに対して、それぞれ固有のユーザIDを割り当てる。同一の携帯端末100を利用する各ユーザに対して割り当てられたユーザIDの情報が、記憶装置130にユーザID300として記録される。
車種情報301は、各ユーザが運転する自車両の車種を表す情報である。
端末機種情報302は、各ユーザが運転診断に利用する携帯端末100の機種を表す情報である。
年齢303、性別304、運転歴305は、各ユーザの年齢、性別、運転歴をそれぞれ表す。年間走行距離306、事故回数307は、各ユーザの昨年の年間走行距離、累積事故回数をそれぞれ表す。
図3において、プローブ情報132は、ユーザID311、トリップID312、データ取得時刻313、位置座標314、端末座標系3軸加速度315、端末座標系3軸差分加速度316、道路勾配317、設置角度318、自動車座標系3軸加速度319を含むプローブデータの集合により構成される。
ユーザID311は、各プローブデータを取得したユーザを特定するための情報であり、ユーザ情報131に含まれるユーザID300と対応付けられている。
トリップID312は、各プローブデータの、出発地から目的地までのある一連の移動(トリップ)を一意に特定するための識別子である。トリップID312が表す識別子の一部分には、ユーザID311と同一の内容が設定される。すなわち、ユーザが自車両を運転して出発地から目的地まで移動する際に、当該自車両に搭載された携帯端末100において収集された一連の各プローブデータには、トリップID312として、当該ユーザのユーザID311を含む同一の識別子が付与される。
データ取得時刻313、位置座標314は、各プローブデータを携帯端末100が取得した時刻と位置をそれぞれ表す。
端末座標系3軸加速度315は、各プローブデータを取得したときに加速度センサ122が取得した端末座標系における加速度の値である。
端末座標系3軸差分加速度316は、端末座標系3軸加速度315が表す加速度の値から、重力加速度による影響を除外した値を表す。
道路勾配317は、各プローブデータを取得した時の地球座標系に対する道路勾配を示す。道路勾配317の値は、後述する処理によって取得または算出される。
設置角度318は、各プローブデータを取得したときの携帯端末100の自車両内での設置角度を示す。この設置角度318の値は、地球座標系における携帯端末100の傾斜角度を、道路勾配317の値を考慮して補正することにより求められる。なお、後述するように、道路勾配317の値が不明な場合、設置角度318には、地球座標系における携帯端末100の傾斜角度が補正せずにそのまま格納されることもある。設置角度318の具体な算出方法は後述する。
自動車座標系3軸加速度319は、端末座標系3軸加速度315が表す端末座標系における加速度の値を、自動車座標系の加速度の値に変換した値を示す。自動車座標系3軸加速度319の値は、後述する処理によって算出される。
なお、端末座標系3軸差分加速度316および設置角度318は、後述する図5の静止判定処理において、携帯端末100の静止状態を検出済みでない場合は、その値を算出できない。そのため、この場合は当該取得時刻におけるプローブデータの値には、図3に示すように「Null」が入る。
また、道路勾配317の値は、後述する図5の静止判定処理または図7の傾斜変化処理において道路勾配情報を取得するか、図8の道路勾配算出・端末傾き判定処理において道理勾配を算出することにより設定される。そのため、これらの処理を実行していない場合は、当該取得時刻におけるプローブデータの値には、図3に示すように「Null」が入る。
一方、自動車座標系3軸加速度319は、後述する図6の直進判定処理において、自車両の直進状態を検出済みでない場合は、その値を算出できない。そのため、この場合は当該取得時刻におけるプローブデータの値には、図3に示すように「Null」が入る。
なお、テレマティクスセンタ160の記憶装置163に蓄積されるユーザ情報181とプローブ情報182のフォーマットも、図3に示したのと同様の構造を有している。
次に、携帯端末100において実行される処理について説明する。図4は、本発明の一実施形態に係る携帯端末用プログラムにより実行される処理の流れを示すフローチャートである。この図4のフローチャートに示す処理は、携帯端末100の記憶装置130に記憶されている本発明の携帯端末用プログラムが中央演算処理装置110において実行されることにより行われる。なお、以下の説明では、本発明の携帯端末用プログラムを実装した中央演算処理装置110の動作を「本アプリケーション」と称する。
本アプリケーションは、ステップS4001において、所定の運転開始処理を実行することでドライバーが自車両の運転を開始したことを検知する。例えば、入出力装置121上に運転開始ボタンを提示し、この運転開始ボタンをドライバーが押下することにより、運転開始を検知する。その他にも、自車両に設置された不図示のビーコン端末からの信号を携帯端末100が検出することにより、自動的に運転開始を検知することも可能である。また、携帯端末100がスマートフォンである場合には、徒歩、電車、自転車、自動車などの移動形態を推定する周知のアプリケーションと同様の方法を用いて、移動形態が車両であると推定することで運転開始を検知してもよい。
本アプリケーションは、ステップS4001において運転開始を検知した後、ステップS4002において、各センサからの測定値を取得する。ここでは、加速度センサ122から端末座標系の3軸加速度を、角速度センサ123から端末座標系の3軸角速度を、磁界センサ124から端末座標系の3軸方位角を、気圧センサ125から気圧を、温度センサ126から温度を、位置測位センサ127から現在地を、それぞれ取得する。さらに、これらの測定値を取得した時刻も併せて取得する。なお、このときにカメラ128から動画情報などを取得してもよい。
本アプリケーションは、ステップS4003において、携帯端末100に対する静止判定の状態を確認する。ここでは、後述の静止判定処理において携帯端末100の静止状態が検出されているか否かを確認する。その結果、携帯端末100の静止状態を未検出である場合(S4003:No)、本アプリケーションは、ステップS4004において静止判定処理を実行した後、処理をステップS4012に進める。なお、ステップS4004の静止判定処理の詳細については、図5を参照して後述する。一方、携帯端末100の静止状態を検出済みである場合(S4003:Yes)、本アプリケーションは、処理をステップS4005に進める。
本アプリケーションは、ステップS4005において、重力加速度を除外した携帯端末100の加速度を算出する。ここでは、ステップS4002で取得した端末座標系の3軸での加速度の値から、後述の静止判定処理において携帯端末100が静止状態にあるときに検出された端末座標系の3軸での加速度の値を差し引くことにより、重力加速度を除外した携帯端末100の加速度を算出する。
次に本アプリケーションは、ステップS4006において、自車両に対する直進判定の状態を確認する。ここでは、後述の直進判定処理において自車両の直進状態が検出されているか否かを確認する。その結果、自車両の直進状態を未検出である場合(S4006:No)、本アプリケーションは、ステップS4007において直進判定処理を実行した後、処理をステップS4012に進める。なお、ステップS4007の直進判定処理の詳細については、図6を参照して後述する。一方、自車両の直進状態を検出済みである場合(S4006:Yes)、本アプリケーションは、処理をステップS4008に進める。
本アプリケーションは、ステップS4008において、自車両の加速度を算出する。ここでは、ステップS4002で取得した端末座標系の3軸での加速度に対して、端末座標系から自動車座標系への変換用の回転角φ、θ、ψを用いて行列回転計算を行うことにより、自車両の3軸での加速度を算出することができる。この行列回転計算は、後述する数式6に示す計算式にて行われる。
なお、回転角φ、θは、後述する図5のステップS5006において、携帯端末100が静止状態のときに、自車両に対する携帯端末100の設置角度すなわち自動車座標系のX’軸、Y’軸に対する端末座標系のx軸、y軸の傾き角度としてそれぞれ算出されるものである。一方、回転角ψは、後述する図6のステップS6007において、自車両が直進状態のときに、自車両の進行方向を表す自動車座標系のX’軸に対する端末座標系のx’’軸の、z’’軸周りの回転角として算出されるものである。ここで、x’’軸、z’’軸は、後述するように、回転角φおよびθによる回転変換後のx軸、z軸をそれぞれ表している。すなわち、ステップS4008では、携帯端末100の設置角度と、自車両の進行方向に対する携帯端末100の回転角とに基づいて、加速度センサ122により検出された端末座標系の加速度を自車両の加速度に変換することができる。
続いて、本アプリケーションは、ステップS4009において、携帯端末100の傾斜確認を行う。ここでは例えば、ステップS4008で算出した自車両の3軸加速度を基に、携帯端末100の傾斜角度が変化したことを検知する。この場合、例えばZ’軸方向に平行な加速度が所定の閾値T1を超えた場合に、携帯端末100の傾斜角度の変化として検知することが可能である。また、それ以外にも、角速度や磁界の向きの変化に基づいて、携帯端末100の傾斜角度の変化を検知することができる。すなわち、ステップS4009では、加速度センサ122により検出された加速度と、角速度センサ123により検出された角速度と、磁界センサ124により検出された磁界と、の少なくとも一つの変化に基づいて、携帯端末100の傾斜角度の変化を検知することができる。
なお、携帯端末100の傾斜角度が変化する状況としては、例えば道路勾配の変化による自車両の姿勢変化に応じて携帯端末100の傾斜角度が変化する場合が考えられる。また、治具を用いた自車両への携帯端末100の固定が不十分であるために、振動等により携帯端末100の取付状態が変化したり、携帯端末100が治具ごと外れて落下したりすることで、自車両に対する携帯端末100の設置角度が変化する場合も考えられる。さらに、ユーザが携帯端末100を操作するために持ち上げることで、自車両に対する携帯端末100の設置角度が変化する場合なども考えられる。
次に本アプリケーションは、ステップS4010において、ステップS4009で携帯端末100の傾斜変化が検知されたか否かを判定する。その結果、携帯端末100の傾斜変化が検知された場合(S4010:Yes)、本アプリケーションは、ステップS4011において傾斜変化処理を実行した後、処理をステップS4012に進める。ステップS4011の傾斜変化処理では、携帯端末100の3軸加速度から自車両の3軸加速度への変換における重力加速度の影響を除去したり、携帯端末100の設置角度が変化しているときの測定データを運転診断対象のデータから除外したりするための処理を実行する。なお、ステップS4011で実行される傾斜変化処理の詳細については後述する。一方、携帯端末100の傾斜変化が検知されなかった場合(S4010:No)、本アプリケーションは、ステップS4011の傾斜変化処理を実行せずに処理をステップS4012に進める。
本アプリケーションは、ステップS4012において、プローブ情報蓄積部112によりプローブ情報の蓄積処理を行う。ここでは、ステップS4002で取得した各センサの測定値と、ステップS4005、S4008でそれぞれ算出した携帯端末100および自車両の加速度の値とを、記憶装置130にプローブ情報132として格納する。さらに、後述する図5の静止判定処理において算出される携帯端末100の設置角度または傾斜角度や、図8の道路勾配算出・端末傾き判定処理において算出される道路勾配なども、記憶装置130にプローブ情報132として格納する。ただし、これらの処理のうち少なくともいずれかが実行されなかった場合は、それぞれに該当する値として、前述のように「Null」を入力する。さらにこのとき、ユーザID311やトリップID312がプローブ情報132に付与されて、記憶装置130に格納される。また、プローブ情報132と共に、カメラ128を用いて取得した運転動画を動画情報133として記憶装置130に格納してもよい。
本アプリケーションは、ステップS4013において、自車両のドライバーであるユーザが運転を継続するか否かを判定する。例えば、入出力装置121上に運転終了ボタンを提示し、この運転終了ボタンをユーザが押下することにより、運転終了を検知する。その他にも、自車両に設置された不図示のビーコン端末からの信号を携帯端末100が検出できなくなったときに、自動的に運転終了を検知することも可能である。また、携帯端末100がスマートフォンである場合には、徒歩、電車、自転車、自動車などの移動形態を推定する周知のアプリケーションと同様の方法を用いて、移動形態が車両以外であると推定することで運転終了を検知してもよい。ステップS4013で運転を継続すると判定された場合(S4013:Yes)、本アプリケーションは、処理をステップS4002に戻す。一方、ステップS4013で運転を終了すると判定された場合(S4013:No)、本アプリケーションは、処理をステップS4014に進める。
本アプリケーションは、ステップS4014において、運転終了処理を実行する。ここでは、例えばデータ送信部115により、通信部129を用いて、ステップS4012で記憶装置130に蓄積されたプローブ情報132や動画情報133をテレマティクスセンタ160へ送信する。
本アプリケーションは、ステップS4015において、運転診断処理部117による運転診断処理を実行する。例えば、記憶装置130に蓄積されたプローブ情報132に含まれる自動車座標系3軸加速度情報319の値に基づいて、急加速、急減速、急左折、急右折、前後ふらつき、左右ふらつきなどの評価項目ごとに、ユーザに対する運転評価値を算出する。そして、記憶装置130に蓄積された評価基準135を用いて、各評価項目における運転評価を実施する。さらに、機械学習手法などを用いて総合的な運転評価結果を算出してもよい。
本アプリケーションは、ステップS4016において、運転診断結果を蓄積する。ここでは、ステップS4015で算出された評価項目ごとの運転評価値や総合的な運転評価値を、記憶装置130に運転診断結果136として蓄積する。記憶装置130に蓄積された運転診断結果136は、ユーザの要望に応じて読み出され、入出力装置121に表示される。なお、この時の処理については後述する。ステップS4016の処理を終えることで、本アプリケーションが完了する。
以上説明したように、本アプリケーションでは、ステップS4004で静止判定処理を実施し、さらにステップS4007で直進判定処理を実施する。これらの処理により、端末座標系から自動車座標系へと変換するための回転行列を導出することができる。その結果、携帯端末100の加速度センサ122で検知した3軸方向の加速度を、自車両の前後・左右・上下方向の加速度に変換することが可能となる。
図5は、図4のステップS4004で実行される静止判定処理の詳細を示す処理フローである。
まず、本アプリケーションは、一定時間(t秒間)前から現在時刻までの間に取得されたt秒分のプローブデータを、記憶装置130に蓄積されたプローブ情報132から抽出し、このt秒分のプローブデータに対して、端末座標系にて取得した3軸加速度の分散を算出する(S5001)。ここでは、端末座標系のx軸、y軸、z軸それぞれの加速度の分散を算出する。なお、ステップS5001で抽出するプローブデータの範囲はこれに限定されない。例えば、プローブデータを抽出する時間範囲を1秒分に固定する場合や、条件に応じてプローブデータを抽出する時間範囲を変動させる場合などが考えられる。
次に、本アプリケーションは、ステップS5001で算出した各軸の加速度センサ値の分散が、いずれも一定値A以下であるかを確認する(S5002)。各軸の加速度センサ値の分散が一定値A以下でない場合(S5002:No)には、本アプリケーションは、携帯端末100が静止状態ではなかったと判断し、静止判定処理を終了する。
各軸の加速度センサ値の分散が全て一定値A以下であった場合(S5002:Yes)には、本アプリケーションは、携帯端末100が静止状態であると判断する。この場合、ステップS5001で抽出したt秒分のプローブデータに含まれる位置情報が表す各位置の重心を、携帯端末100が静止していた位置であると特定する(S5003)。なお、重心ではなく、t秒分のプローブデータの内、例えば最新時刻のデータに含まれる位置情報が表す位置を、携帯端末100の静止位置として利用しても良い。
以上のステップS5001〜S5003の処理により、本アプリケーションは、加速度センサ122で検出された加速度の変化に基づいて、携帯端末100の静止状態を検出することができる。
次に、本アプリケーションは、記憶装置130に格納されている地図情報134において、ステップS5003で特定した静止位置における道路勾配情報が含まれているか確認する(S5004)。地図情報134に静止位置の道路勾配情報が含まれている場合(S5004:Yes)、本アプリケーションは処理をステップS5005に進め、含まれていない場合(S5004:No)は処理をステップS5007に進める。
ステップS5004からS5005に進んだ場合、本アプリケーションは、ステップS5003で特定した静止位置における道路勾配情報を、現在地の道路傾斜角として取得する(S5005)。この時、現在地に対して北向きを基準として取得することにより、地球座標系のX軸回転角及びY軸回転角を取得することができる。以降では、S5005で取得した道路勾配情報が表す道路勾配の角度を、地球座標系におけるX軸回転角LSx、Y軸回転角LSyで表すこととする。なお、この二つの回転角は、地球座標系をY軸回転、X軸回転の順に回転する際のオイラー系における回転角を示しているものとする。
続いて、本アプリケーションは、ステップS5001において抽出したt秒分のプローブデータに含まれる3軸加速度センサ値に基づいて、ステップS5005で取得した道路勾配情報を考慮した上で、自車両における携帯端末100の設置角度を算出する(S5006)。ここで、本アプリケーションは、各軸の加速度センサ値が重力加速度を表していると見なして、以下の数式2、数式3、数式4に示す算出式を用いて、自車両における携帯端末100の設置角度を算出する。
数式2は、前述の数式1の両辺に、Rx(α)、Ry’(β)、Rz’’(γ)それぞれの逆行列を左から順に掛けて変形したものである。すなわち、各軸の回転行列の逆行列(例えばRx(α))は、回転角の正負の符号を反転した回転行列(例えばRx(−α))に一致するため、数式2に示す式となる。
なお、S5001において抽出したt秒分のプローブデータのx軸、y軸、z軸それぞれの加速度の平均値(それぞれGx、Gy、Gzと表現した場合)は、地球座標系におけるZ軸への重力加速度を表している。したがって、道路勾配を無視して考えた場合には、数式1に基づき、端末座標系の加速度の平均値(Gx、Gy、Gz)を自車両に対する携帯端末100の設置角度(α,β,γ)に基づいて回転すると、地球座標系での加速度(0,0、G)に一致すると見なすことができる。ここでGは、数式4に示す通り、Gx,Gy,Gzの平方和の平方根であり、重力加速度を意味する。
上記の条件と、数式2に基づく変換とを利用することで、数式3に示す等式が成立する。ここで、Gx,Gy,GzおよびGは既知の値であることから、x軸周りの回転角αおよびy軸周りの回転角βを算出することができる。すなわち、携帯端末100の設置角度に対応する回転角α,β,γを算出することができる。なお、数式3が示す通り、ヨー回転軸に基づく回転(回転角γ)は、携帯端末100をz軸周りに回転する動きであるため、x軸、y軸、z軸の加速度センサ値に影響を与えない。したがって、ヨー回転軸に基づく回転を表す回転角γは、t秒分のプローブデータに含まれる磁界センサ124のセンサ値から導出する。
なお、上記のようにして数式2、数式3、数式4から算出される携帯端末100の回転角α,β,γのうち、x軸周りの回転角αおよびy軸周りの回転角βには、静止位置の道路の勾配角度がそれぞれ含まれている。そのため、ステップS5006の処理では、道路の勾配角度を考慮するために、ステップS5005で取得した道路勾配情報が表す道路の傾斜角LSx,LSyを、携帯端末100の方位角を考慮した上でx軸周り、y軸周りの回転角に変換する。そして、変換されたこれらの回転角を回転角α,βからそれぞれ差し引いた値を求めることにより、平坦な地面における携帯端末100のx軸周りおよびy軸周りの傾斜角度、すなわち自車両に対する携帯端末100の設置角度φ,θを求める。これにより、自車両が走行している道路の傾きに基づいて、携帯端末100の回転角(傾斜角度)α,β,γを補正し、自車両に対する設置角度φ,θ,δを求めることができる。また、S5006で携帯端末100の傾斜角度を算出する際に用いられるt秒分のプローブデータのx軸、y軸、z軸の加速度の平均値にも、道路の勾配角度が影響している。そのため、S5005で取得した道路勾配情報が表す道路勾配の角度分だけ行列回転することで、その影響を除外してデータを蓄積することが好ましい。
なお、上記の例では、Gx,Gy,Gzとして、t秒分のプローブデータのx軸、y軸、z軸の加速度の平均値を利用したが、例えば最新時刻のセンサ値を代わりに利用しても良い。また、加速度センサ122が誤差を含む可能性があることから、重力加速度は数式4を利用して導出するのではなく、固定値(例えばG=9.80665)を利用しても良い。
一方、ステップS5004からS5007に進んだ場合、本アプリケーションは、ステップS5001において抽出したt秒分のプローブデータに含まれる3軸加速度センサ値に基づいて、道路勾配を含めた地球座標系での携帯端末100の傾斜角度を算出する(S5007)。ここで、本アプリケーションは、ステップS5006の処理と同様に、前述の数式2、数式3、数式4に示す算出式を用いて、自車両における携帯端末100の傾斜角度α,β,γを算出する。ただしこの場合、ステップS5006で説明した道路の傾斜角LSx,LSyに基づく補正を行わずに、算出された傾斜角度α,β,γをそのまま用いるようにする。
以上説明したように、ステップS5006またはS5007で携帯端末100の設置角度または傾斜角度を算出したら、次に、本アプリケーションは、今回のトリップ内で以前に実行した静止判定処理において、携帯端末100の静止状態を既に検出していたかを確認する(S5008)。
以前には携帯端末100の静止状態を検出していなかった場合(S5008:No)には、今回の静止検出が初回である。この場合、本アプリケーションは、携帯端末100が静止状態にあることを示す「静止状態」のフラグ設定を行う(S5013)。そして、S5006で算出した自車両に対する携帯端末100の設置角度φ,θ,δ、またはS5007で算出した道路勾配を含む携帯端末100の傾斜角度α,β,γを、中央演算処理装置110内の所定の記憶領域に記憶する。
以前にも携帯端末100の静止状態を検出していた場合(S5008:Yes)には、既に算出していた携帯端末100の設置角度φ,θ,δまたは傾斜角度α,β,γと、今回の処理で算出した携帯端末100の設置角度φ,θ,δまたは傾斜角度α,β,γとについて、それぞれの差分を算出する(S5009)。そして、算出した各差分の絶対値が、それぞれ一定値B以上であるかを確認する(S5010)。
設置角度φ,θ,δまたは傾斜角度α,β,γの差分の絶対値が全て一定値B以上でない場合(S5010:No)には、携帯端末100の設置角度は大きく変化していないと判断できる。この場合、携帯端末100の設置角度の精度を向上させるため、前回の静止判定リセットから今回までに求められた設置角度φ,θ,δまたは傾斜角度α,β,γの各平均値を、静止状態における携帯端末100の設置角度または傾斜角度として更新し、中央演算処理装置110内の所定の記憶領域に記録する(S5011)。
設置角度φ,θ,δまたは傾斜角度α,β,γの差分の絶対値が1つでも一定値B以上である場合(S5010:Yes)には、携帯端末100の設置角度が大きく変化したことが想定される。具体的には、治具の固定が不十分であるために携帯端末100の設置角度が変化した場合や、治具ごと落下した場合や、ユーザが携帯端末100を動かした場合などが想定される。その様な場合、今回算出した設置角度φ,θ,δまたは傾斜角度α,β,γを携帯端末100の新しい設置角度または傾斜角度として記憶した上で、静止状態が再設定されたことから、自車両の直進状態の検出状態を未検出状態にリセットする(S5012)。
図4のステップS4004では、以上のようにして静止判定処理が行われる。
図6は、図4のステップS4007で実行される直進判定処理の詳細を示す処理フローである。
まず、本アプリケーションは、図5のS5001と同様に、一定時間前から現在時刻までの間に取得されたt秒分のプローブデータを、記憶装置130に蓄積されたプローブ情報132から抽出する。そして、抽出したt秒分のプローブデータに対して、磁界センサ124を介して得られた携帯端末100のヨー回転角(方位角)の分散を算出する(S6001)。
続いて本アプリケーションは、ステップS6001で算出した方位角の分散値が一定値C以下であるかを確認する(S6002)。
方位角の分散値が一定値C以下ではない場合(S6002:No)には、本アプリケーションは、自車両が進行方向に真っ直ぐ移動しておらず、方位角が一定の値になるような走行をしていなかったと判断し、直進判定処理を終了する。例えば自車両が右または左にカーブする道路を走行していたなどの場合には、方位角が一定の値にはならない。
方位角の分散が一定値C以下であった場合(S6002:Yes)には、本アプリケーションは、自車両が直進状態にあったと判定する。この場合、S6001で抽出したt秒分のプローブデータに含まれる端末座標系の差分加速度、すなわち図3の端末座標系3軸差分加速度316の平均を算出する(S6003)。なお、直進判定処理を行う場合は、図4のS4003にて携帯端末100の静止状態を検出済みであるか確認しているため、必ず端末座標系の差分加速度を取得可能である。以降では、S6003にて算出される端末座標系の差分加速度の平均値を、端末座標系のx軸、y軸、z軸の順に、Mx,My,Mzと表記する。
続いて、本アプリケーションは、S6003で算出した端末座標系の差分加速度の平均値Mx,My,Mzについて、その平方和の平方根である合成ベクトルMを算出する(S6004)。ここでは、以下の数式5に示す算出式を用いてMを算出する。
S6004で算出されるMの値は、端末座標系の差分加速度の平均値をベクトルと見立てたときの、そのベクトルの絶対値に相当する。したがって、Mの値は、t秒間に携帯端末100が検出した自車両の前後、左右、上下方向の加速度の平均に相当する。
なお、S6003で算出される端末座標系の差分加速度の平均値Mx,My,Mzではなく、端末座標系の差分加速度の合計値を用いて、S6004の処理を行っても良い。
次に、本アプリケーションは、S6004で算出したMの値、すなわち重力加速度を除外した携帯端末100の加速度の平均値が、一定値D以上であるかを確認する(S6005)。
S6004で算出したMの値が一定値D以下であった場合(S6005:No)には、自車両がほとんど移動しておらず、その結果、携帯端末100で検出される端末座標系の差分加速度は、各軸共にほぼ0に近い値となっていると判断できる。すなわち、自車両は直進移動をしておらず、ほぼ静止していたと判断できる。この場合、自車両が直進状態になかったと判断し、自動車直進判定の処理を終了する。
S6004で算出したMの値が一定値D以上であった場合(S6005:Yes)には、方位角の変動がほとんどなく、かつ、自車両の移動によって端末座標系での加速度の変化があったと判断できる。そのため、この場合は自車両が直進方向に走行中であり、S5004で算出したMの値が示すベクトルの絶対値は、全て自車両の前後方向の加速度を表しているものと判定する(S6006)。
以上説明したようなS6001〜S6006の処理により、携帯端末100は、図4のステップS4004で実行される静止判定処理において携帯端末100の静止状態を検出済みであるときに、磁界センサ124で検出された方位角の変化と、加速度センサ122で検出された加速度の変化とに基づいて、自車両の直進状態を検出することができる。
なお、自車両が直進方向に走行中であることを判定する方法は、S6002およびS6005で説明したような方位角や加速度の変化量を用いる方法でなくても良い。例えば、方位角と加速度のいずれか一方のみの変化量に基づいて、自車両が直進方向に走行中であるか否かを判定しても良い。また、t秒間における携帯端末100の位置座標の変化が一定以上であったなど、位置情報を用いて自車両が直進方向に走行中であるかを判断しても良い。すなわち、各センサで検出した方位角、位置および加速度の少なくとも一つの変化に基づいて、自車両が直進方向に走行中であるか否かを判定することができる。
また、携帯端末100を自車両に設置した場合、通常は、入出力装置121の表示面がドライバーの方を向いた状態で設置されるはずである。したがって、自車両が加速した場合には、z軸の正の方向に加速度が検出されるはずであり、反対に自車両が減速あるいはバックした場合には、z軸の負の方向に加速度が検出されるはずである。このことを利用して、S6003で算出した端末座標系の差分加速度の平均値Mx,My,Mzのうち、z軸の平均値Mzが負である場合には、自車両が減速またはバック中であったと判断し、S6005の条件分岐をNoとして取り扱っても良い。
そして、本アプリケーションは、S6001において抽出したt秒分のプローブデータに含まれる加速度センサ122のセンサ値に基づいて、端末座標系を自動車座標系に変換するためのヨー回転角、すなわち自車両の進行方向に対する携帯端末100の回転角を算出する(S6007)。ここでは、以下の数式6、数式7に示す算出式を用いて、ヨー回転角を算出する。
数式6は、前述の数式1と同様の定義に基づき、xyz座標系をx軸回りにφ回転し、y’軸回りにθ回転し、z’’軸回りにψ回転することで、xyz座標系をX’Y’Z’座標系に変換する回転行列を示している。
ここで、φおよびθの値は、図5のS5006で携帯端末100の設置角度として算出されるφ,θを利用することができる。なお、設置角度φ,θの代わりに、図5のS5007で算出された携帯端末100の傾斜角度α,βを利用しても良い。
道路の勾配角度を無視する場合、数式6、数式7においてRx(φ)Ry’(θ)で表される回転行列は、端末座標系を地球座標系に直すための回転行列の一部であり、z’’軸周りの回転成分を含まないものである。すなわち、携帯端末100の向きを、x軸、y軸がそれぞれ地面に平行(ただし、x軸は北を向いているとは限らない)となるような向きに変換するための回転行列に相当する。この時、z’’軸はZ軸と一致することになる。
そのため、数式7に示す通り、S6003で算出した端末座標系の差分加速度の平均値Mx,My,Mzを回転行列Rx(φ)Ry’(θ)にて回転すると、必ずz’’軸の加速度の値は0に一致する。したがって、数式7に示す通り、Mx,My,Mzを回転行列Rx(φ)Ry’(θ)にて回転した値をxψ、yψ、0と表現した場合、自動車座標系は地球座標系をZ軸(Z’軸)回転にて得られることから、このxψ、yψ、0を適切な回転角ψでz’’軸周りに回転することで、自動車座標系の値に変換することができる。この時、S6003では自車両が直進している際に得られたプローブデータからMx,My,Mzを算出していることから、xψ、yψ、0の回転後の値は、X’軸、Y’軸、Z’軸の順に、M,0,0とそれぞれ一致するので、数式7に示す等式が成立する。
数式7において、M,xψ、yψの値はいずれも既知であるか、あるいは算出可能な値である。したがって、数式7からz軸周りの回転角ψを算出することができる。この回転角ψと、図5のS5006で算出される携帯端末100の設置角度φ,θ、またはS5007で算出される携帯端末100の傾斜角度α,βから、端末座標系を自動車座標系に変換するための回転角φ、θ、ψを得ることができる。
なお、端末座標系の差分加速度の平均値Mx,My,Mzは、携帯端末の設置角度だけではなく、道路の勾配角度を含む値となっている。したがって、道路勾配を考慮する場合は、上記の回転行列Rx(φ)Ry’(θ)でMx,My,Mzを回転したとしても、携帯端末100の向きを、x軸、y軸がそれぞれ道路に平行となるような向きに変換しただけであり、平坦な地面に平行となるような向きに変換したことにはならない。したがってこの場合は、回転角φ、θ、ψの内、x軸周りの回転角φおよびy軸周りの回転角θについては、これらの値に道路傾斜角LDx、LDyを携帯端末100の方位角を考慮した上でx軸、y軸の回転角LDx’及びLDy’に変換した後、LDx’及びLDy’それぞれを差し引いた値を回転行列において利用する。すなわち、Rx(φ−LDx’)Ry’(θ−LDy’)を回転行列として利用する。またこの場合、φ−LDx’,θ−LDy’,ψを、端末座標系を自動車座標系に変換するための回転角φ、θ、ψと見なす。これにより、自車両が走行している道路の傾きではなく、平坦な地面に基づいて、回転角φ、θ、ψを補正することができる。
次に、本アプリケーションは、今回のトリップ内で以前に実行した直進判定において、自車両の直進状態を既に検出していたかを確認する(S6008)。
以前には自車両の直進状態を検出していなかった場合(S6008:No)には、今回の検出が初回である。この場合、本アプリケーションは、自車両が直進状態にあることを示す「直進状態」のフラグ設定を行う(S6009)。そして、S6007で算出した端末座標系を自動車座標系に変換するための回転角φ、θ、ψを、中央演算処理装置110内の所定の記憶領域に記憶する。
以前にも直進状態を検出していた場合(S6008:Yes)には、端末座標系から自動車座標系に変換するための回転角の精度を向上させるため、前回の直進判定リセットから今回までに求められた回転角φ、θ、ψの各平均値を、端末座標系を自動車座標系に変換するための回転角として記憶する(S6010)。
図4のステップS4007では、以上説明したようにして直進判定処理が行われる。
図7は、図4のステップS4011で実行される傾斜変化処理の詳細を示す処理フローである。
まず、本アプリケーションは、携帯端末100の位置測位センサ127を用いて、現在地すなわち自車両の現在位置を取得する(S7001)。
次に、本アプリケーションは、携帯端末100の記憶装置130に格納されている地図情報134において、ステップS7001で取得した現在地における道路勾配情報が存在するか否かを判定する(S7002)。
現在地における道路勾配情報が地図情報134に含まれていた場合(S7002:Yes)、本アプリケーションは、その道路勾配情報を用いて端末傾き判定処理を実行する(S7010)。ステップS7010の端末傾き判定処理では、図4のステップS4009で検知された携帯端末100の傾斜変化が、道路勾配の変化による自車両の姿勢変化に応じて生じたものであるか、それとも、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものであるかを判定する。なお、ステップS7010の端末傾き判定処理の詳細については後述する。
一方、現在地における道路勾配情報が地図情報134に含まれていない場合(S7002:No)、本アプリケーションは、通信部129を用いて、道路勾配確認要求をテレマティクスセンタ160へ送信する(S7003)。
テレマティクスセンタ160は、ステップS7003で携帯端末100から送信された道路勾配確認要求を受信すると(S7004)、記憶装置163に格納されている地図情報183に現在地の道路勾配情報が含まれているか否かを確認する(S7005)。その結果、現在地の道路勾配情報が地図情報183に含まれていた場合、テレマティクスセンタ160は、現在地の道路勾配情報を地図情報183から取得し、通信部162を用いて、携帯端末100へ送信する(ステップS7006)。一方、現在地の道路勾配情報が地図情報183に含まれていない場合、テレマティクスセンタ160は、現在地の道路勾配情報が存在しない旨の確認結果を道路勾配情報として携帯端末100へ送信する(ステップS7006)。
携帯端末100は、ステップS7006でテレマティクスセンタ160から道路勾配情報が送信されると、通信部129を用いてこれを受信する(S7007)。本アプリケーションは、ステップS7008で受信した道路勾配情報に基づいて、テレマティクスセンタ160内に現在地の道路勾配情報が存在したか否かを確認する(S7008)。
テレマティクスセンタ160内に現在地の道路勾配情報が存在した場合(S7008:Yes)、本アプリケーションは、ステップS7002で現在地の道路勾配情報が地図情報134に存在すると判定した場合と同様に、その道路勾配情報を用いて端末傾き判定処理を実行する(S7010)。
一方、テレマティクスセンタ160内に現在地の道路勾配情報が存在しない場合(S7008:No)、本アプリケーションは、道路勾配算出・端末傾き判定処理を実行する(S7009)。ステップS7009の道路勾配算出・端末傾き判定処理では、携帯端末100に搭載されている各センサの情報を基に、現在地の道路勾配を算出する。そして、算出した現在地の道路勾配を用いて、図4のステップS4009で検知された携帯端末100の傾斜変化が、道路勾配の変化による自車両の姿勢変化に応じて生じたものであるか、それとも、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものであるかを判定する。なお、ステップS7009の道路勾配算出・端末傾き判定処理の詳細については後述する。
ステップS7009の道路勾配算出・端末傾き判定処理、またはステップS7010の端末傾き判定処理を実行したら、本アプリケーションは、これらの処理結果に基づいて、図4のステップS4009で検知された携帯端末100の傾斜変化が、自車両の移動に応じた道路勾配の変化によるものか否かを判断する(S7011)。このステップS7011の処理を実行することで、本アプリケーションは、自車両の加速度に対する補正の可否を判定する。
携帯端末100の傾斜変化が自車両の移動に応じた道路勾配の変化によるものである場合(S7011:Yes)、本アプリケーションは、道路勾配情報更新処理を実行する(S7012)。ステップS7012の道路勾配情報更新処理では、ステップS7009の道路勾配算出・端末傾き判定処理で算出された現在地の道路勾配に関する道路勾配情報をテレマティクスセンタ160に送信する。また、必要に応じて地図情報134に含まれる道路勾配情報を更新する。なお、ステップS7012の道路勾配情報更新処理の詳細については後述する。
続いて本アプリケーションは、自車両の移動に応じた道路勾配の変化に応じて、図4のステップS4008で算出した自車両の加速度を補正する(S7013)。ステップS7013では、まず本アプリケーションは、ステップS7009の道路勾配算出・端末傾き判定処理において算出された現在地の道路勾配、またはステップS7010の端末傾き判定処理において用いた道路勾配情報に基づいて、現在地における携帯端末100の方位角に対する道路の勾配角度を取得する。以降では、ここで取得される道路の勾配角度を、地球座標系におけるX軸回転角LCxおよびY軸回転角LCyで表す。なお、この二つの回転角は、地球座標系をY軸回転、X軸回転の順に回転する際のオイラー系における回転角を示しているものとする。
次に本アプリケーションは、図5のステップS5006と同様に、取得した道路の勾配角度LCx,LCyを、携帯端末100の方位角を考慮した上でx軸周り、y軸周りの回転角に変換する。そして、変換されたこれらの回転角を前述の回転角φ,θにそれぞれ加えることで、現在地の道路勾配に応じた補正後の携帯端末100の設置角度φa,θaを算出する。
その後、本アプリケーションは、上記の補正後の設置角度φa,θaを用いて、補正後の自車両の加速度を算出する。具体的には、補正後の設置角度φa,θaと、前述の回転角ψとを用いて、図4のステップS4008と同様に、ステップS4002で取得した端末座標系の3軸での加速度に対する行列回転計算を行う。これにより、現在地の道路勾配を考慮して補正された自車両の3軸での加速度を算出することができる。
一方、携帯端末100の傾斜変化が自車両の移動に応じた道路勾配の変化によるものではなく、治具の固定不良等に起因する取付状態の変化やユーザの操作に応じた携帯端末100の設置角度の変化によるものである場合(S7011:No)、本アプリケーションは、その旨をユーザに通知する(S7014)。ここでは、例えば入出力装置121において所定の画面表示を行うことにより、ユーザへの通知を行う。
続いて本アプリケーションは、図4のステップS4009で携帯端末100の傾斜変化を検知した時刻から再度静止状態が検出されるまでの間に取得されたプローブデータを、図4のステップS4015における運転診断の対象データから除外する(S7015)。すなわち、治具の固定不良等に起因する携帯端末100の取付状態の変化が生じた場合には、携帯端末100が治具から落下して急加減速が検出されたり、携帯端末100の固定が不十分で路面の凹凸に応じた振動が検出されたりするため、自車両の加速度を正しく算出することが困難である。また、ユーザが携帯端末100を操作している場合には、ユーザの操作による力が加わるため、自車両の加速度を正しく算出することが困難である。したがって、このような場合には、本アプリケーションが携帯端末100の静止状態を再度検出するまでは、取得されたプローブデータを無視して運転診断を行うようにする。
図4のステップS4011では、以上説明したようにして傾斜変化処理が行われる。
図8は、図7のステップS7009で実行される道路勾配算出・端末傾き判定処理の詳細を示す処理フローである。
まず、本アプリケーションは、図5のステップS5001や図6のステップS6001と同様に、一定時間前から現在時刻までの間に取得されたt秒分のプローブデータを、記憶装置130に蓄積されたプローブ情報132から抽出する。そして、抽出したt秒分のプローブデータに含まれる携帯端末座標系の加速度の分散を、3軸それぞれについて算出する(S8001)。
ステップS8001で算出した3軸それぞれの加速度の分散がいずれも一定値A以下の場合(S8002:Yes)、本アプリケーションは、携帯端末100が静止中と判定する(S8003)。この場合、本アプリケーションは、t秒分の加速度の平均を重力加速度として、道路勾配を含めた携帯端末100の傾斜角度を算出する(ステップS8004)。ここでは、図5のステップS5006やS5007と同様に、前述の数式2、数式3、数式4に示す算出式を用いて、携帯端末100の傾斜角度α,β,γを算出する。
続いて本アプリケーションは、静止判定時の携帯端末100の傾斜角度と、今回新たにS8004で算出した携帯端末100の傾斜角度とを比較する(S8005)。すなわち、ステップS8005において本アプリケーションは、携帯端末100の静止状態が検出されてからの携帯端末100の傾斜角度の変化量を算出する。なお、静止判定時の携帯端末100の傾斜角度は、図5のステップS5006で算出された携帯端末100の設置角度に、静止位置での道路勾配を加えることで算出することができる。または、ステップS5007で算出された携帯端末100の傾斜角度をそのまま用いても良い。その結果、各軸の傾斜角度の差(変化量)が全て所定の閾値Ei以下であった場合(S8006:Yes)、本アプリケーションは、S8004で算出した携帯端末100の傾斜角度と、図5のステップS5006で算出された携帯端末100の設置角度との差から、現在地の道路勾配を算出する(S8007)。
ステップS8007で現在地の道路勾配を算出したら、本アプリケーションは、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものではなく、道路勾配の変化による自車両の姿勢変化に応じて生じたものであると判定する(S8018)。
一方、いずれか少なくとも一つの軸について傾斜角度の差が閾値Eiよりも大きかった場合(S8006:No)、本アプリケーションは、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものであると判定する(S8019)。
また、ステップS8001で算出した3軸それぞれの加速度の分散のうち、いずれか少なくとも一つの軸について加速度の分散が一定値Aよりも大きかった場合(S8002:No)、本アプリケーションは、携帯端末100が移動中と判定する(S8008)。この場合、本アプリケーションは、携帯端末100において位置測位が可能であるか否かを判定する(S8009)。具体的には、GPSセンサなどの位置測位センサ127により、現在の位置情報が取得出来ているか否かを判定する。
位置測位が可能な場合(S8009:Yes)、本アプリケーションは、ステップS8001で取得したt秒間のプローブデータに含まれる位置情報の変化から、自車両の移動距離ΔLを算出する(S8010)。
一方、位置測位が不可能な場合(S8009:No)、本アプリケーションは、図4のステップS4008で算出された自動車座標系における自車両の加速度をt秒分積分することで、自車両のt秒間の移動距離ΔLを算出する(S8011)。
なお、上記の説明では、位置情報や加速度情報を利用して移動距離ΔLを算出する例を説明したが、移動距離ΔLの算出方法はこれに限らない。例えば、角速度情報を用いて自車両の速度を算出し、これに基づいて移動距離ΔLを求めるなど、様々な算出方法が考えられる。移動距離ΔLを適切に算出できれば、どのような算出方法を用いても構わない。
ステップS8010またはS8011の処理によって自車両の移動距離ΔLを算出したら、本アプリケーションは、ステップS8001で取得したt秒間のプローブデータに含まれる気圧と温度の変化量に基づいて、自車両の標高変化量Δhを算出する(S8012)。ステップS8012の処理では、本アプリケーションは、気圧センサ125と温度センサ126の測定情報を用いて、t秒間での気圧と温度の変化を求め、これに基づいて、自車両の移動に応じた標高の変化量Δhを算出する。
例えば、標高hと気圧P、気温Tとの関係が既知である場合、標高hと気温Tの値は、以下の数式8、数式9でそれぞれ求められる。数式8において、P0は海面における大気圧(P0=1013.25hPa=1気圧)を表し、T0は海面における気温を表している。
数式8と数式9より、以下の数式10が導かれる。
上記の数式10を用いて、携帯端末100に搭載されている気圧センサ125により測定された気圧Pと、温度センサ126により測定された気温Tとに基づいて、各時点での標高hを算出することができる。したがって、自車両の移動に応じたt秒間の標高の変化量Δhを算出可能となる。
続いて本アプリケーションは、ステップS8010またはS8011で算出した移動距離ΔLと、ステップS8012で算出した標高変化量Δhとに基づいて、自車両の進行方向に対する道路勾配ωを算出する(S8013)。
例えば、移動距離ΔL、標高変化量Δhと道路勾配ωとの関係式は、以下の数式11で与えられる。
sinω=Δh/ΔL (数式11)
上記の数式11を変形することで、以下の数式12が導かれる。本アプリケーションはこの数式12を用いて、道路勾配ωを算出できる。
ω=arcsin(Δh/ΔL) (数式12)
ステップS8013で道路勾配ωを算出したら、本アプリケーションは、磁界センサ124から得られる方位角に基づいて、道路勾配の最大方向と自車両の進行方向とのずれ角σを算出する(S8014)。ここでは、本アプリケーションは、以下に説明するような方法により、ずれ角σを算出する。
図10は、道路勾配の最大方向と自車両の進行方向とのずれ角σの算出方法の説明図である。図10(a)、(b)は道路勾配ωとずれ角σとの関係を示している。図10(a)、(b)において、F、Mgは、自車両に加わる加速力と重力をそれぞれ表している。なお、図10(a)では、道路勾配最大方向に対して自車両を横方向から見た様子を示しており、図10(b)では、自車両を上から俯瞰した様子を示している。
図10(b)に示すように、道路勾配の最大方向と自車両の進行方向とのずれ角σは、道路勾配の最大方向と自動車座標系のX’軸とのずれに相当する。ここで、t秒間の速度変化をΔV、自車両の重さをMとすると、道路勾配最小方向の自車両に関する運動方程式は以下の数式13となる。
Fcosωsinσ=MΔVsinσ/t (数式13)
また、道路勾配最大方向の運動方程式は以下の数式14となる。
Fcosωcosσ−Mgsinω=MΔVcosσ/t (数式14)
数式13と数式14を解くことにより、ずれ角σを算出することが可能である。
ステップS8014で道路勾配の最大方向と自車両の進行方向とのずれ角σを算出したら、本アプリケーションは、ステップS8013で算出された道路勾配ωとこのずれ角σとに基づいて、自動車座標系における自車両の加速度を算出する(S8015)。ここでは、図7のステップS7013と同様に、ずれ角σを考慮して、道路勾配ωをx軸周り、y軸周りの回転角に変換する。そして、変換されたこれらの回転角を前述の回転角φ,θにそれぞれ加えることで、現在地の道路勾配に応じた補正後の携帯端末100の設置角度φa,θaを算出し、この補正後の設置角度φa,θaを用いて、自動車座標系における自車両の加速度を算出する。すなわち、補正後の設置角度φa,θaと、前述の回転角ψとを用いて、図4のステップS4008と同様に、ステップS8001で取得した端末座標系の3軸での加速度に対する行列回転計算を行う。これにより、現在地の道路勾配を考慮して補正された自車両の3軸での加速度を算出することができる。
ステップS8015で自動車座標系における自車両の加速度を算出したら、本アプリケーションは、図4のステップS4008で算出された傾斜変化検知前の自車両の加速度と、今回新たにS8015で算出した自車両の加速度とを比較する(S8016)。すなわち、ステップS8016において本アプリケーションは、自車両の直進状態が検出されてからの自車両の加速度の変化量を算出する。その結果、各軸の加速度の差(変化量)が全て所定の閾値F以下であった場合(S8017:Yes)、本アプリケーションは、処理をステップS8018に進める。そして前述のように、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものではなく、道路勾配の変化による自車両の姿勢変化に応じて生じたものであると判定する(S8018)。
一方、いずれか少なくとも一つの軸について加速度の差が閾値Fよりも大きかった場合(S8017:No)、本アプリケーションは、処理をステップS8019に進める。そして前述のように、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものであると判定する(S8019)。
図7のステップS7009では、以上説明したようにして道路勾配算出・端末傾き判定処理が行われる。
図9は、図7のステップS7010で実行される端末傾き判定処理の詳細を示す処理フローである。
まず、本アプリケーションは、携帯端末100の記憶装置130に格納されている地図情報134において、直近の静止判定時の道路勾配情報、すなわち図4のステップS4004で実行された静止判定処理により携帯端末100の静止状態が最後に検出された時の道路勾配情報の有無を判定する(S9001)。
直近の静止判定時の道路勾配情報が地図情報134に含まれていない場合(S9001:No)、本アプリケーションは、図8のステップS8001と同様に、一定時間前から現在時刻までの間に取得されたt秒分のプローブデータを、記憶装置130に蓄積されたプローブ情報132から抽出する。そして、抽出したt秒分のプローブデータに含まれる携帯端末座標系の加速度の分散を、3軸それぞれについて算出する(S9002)。
ステップS9002で算出した3軸それぞれの加速度の分散がいずれも一定値A以下の場合(S9003:Yes)、本アプリケーションは、図8のステップS8003と同様に、携帯端末100が静止中と判定する(S9004)。この場合、本アプリケーションは、t秒分の加速度の平均を重力加速度として、道路勾配を考慮した上で、携帯端末100の設置角度を算出する(ステップS9005)。ここでは、図5のステップS5006と同様に、前述の数式2、数式3、数式4に示す算出式を用いて携帯端末100の傾斜角度α,β,γを算出し、これを現在地の道路勾配に基づいて補正することで、携帯端末100の設置角度φ,θ,δを算出する。
続いて本アプリケーションは、図5のステップS5006で算出された静止判定時の携帯端末100の設置角度と、今回新たにS9005で算出した携帯端末100の設置角度とを比較する(S9006)。すなわち、ステップS9006において本アプリケーションは、携帯端末100の静止状態が検出されてからの携帯端末100の設置角度の変化量を算出する。その結果、各軸の設置角度の差(変化量)が全て所定の閾値Ef以下であった場合(S9007:Yes)、本アプリケーションは、図8のステップS8018と同様の判定を行う(S9014)。すなわち、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものではなく、道路勾配の変化による自車両の姿勢変化に応じて生じたものであると判定する。
一方、いずれか少なくとも一つの軸について設置角度の差が閾値Efよりも大きかった場合(S9007:No)、本アプリケーションは、図8のステップS8019と同様の判定を行う(S9015)。すなわち、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものであると判定する。
また、ステップS9002で算出した3軸それぞれの加速度の分散のうち、いずれか少なくとも一つの軸について加速度の分散が一定値Aよりも大きかった場合(S9003:No)、本アプリケーションは、図8のステップS8008と同様に、携帯端末100が移動中と判定する(S9008)。この場合、本アプリケーションは、自動車座標系における自車両の加速度を算出する(S9009)。ここでは、地図情報134またはテレマティクスセンタ160から取得した現在地の道路勾配をx軸周り、y軸周りの回転角に変換する。そして、図8のステップS8015と同様に、変換されたこれらの回転角を前述の回転角φ,θにそれぞれ加えることで、現在地の道路勾配に応じた補正後の携帯端末100の設置角度φa,θaを算出し、この補正後の設置角度φa,θaを用いて、自動車座標系における自車両の加速度を算出する。すなわち、補正後の設置角度φa,θaと、前述の回転角ψとを用いて、図4のステップS4008と同様に、ステップS9002で取得した端末座標系の3軸での加速度に対する行列回転計算を行う。これにより、現在地の道路勾配を考慮して補正された自車両の3軸での加速度を算出することができる。
ステップS9009で自動車座標系における自車両の加速度を算出したら、本アプリケーションは、図8のステップS8016と同様に、図4のステップS4008で算出された傾斜変化検知前の自車両の加速度と、今回新たにS9008で算出した自車両の加速度とを比較する(S9010)。すなわち、ステップS9010において本アプリケーションは、自車両の直進状態が検出されてからの自車両の加速度の変化量を算出する。その結果、各軸の加速度の差(変化量)が全て所定の閾値F以下であった場合(S9011:Yes)、本アプリケーションは、処理をステップS9014に進める。そして前述のように、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものではなく、道路勾配の変化による自車両の姿勢変化に応じて生じたものであると判定する(S9014)。
一方、いずれか少なくとも一つの軸について加速度の差が閾値Fよりも大きかった場合(S9011:No)、本アプリケーションは、処理をステップS9015に進める。そして前述のように、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものであると判定する(S9015)。
また、直近の静止判定時の道路勾配情報が地図情報134に含まれていた場合(S9001:Yes)、本アプリケーションは、直近の静止判定時の道路勾配情報と、現在地の道路勾配情報とを比較する(S9012)。すなわち、ステップS9012において本アプリケーションは、携帯端末100の静止状態が検出されてからの道路勾配の変化量を算出する。その結果、静止判定時と現在地との道路勾配の差(変化量)が所定の閾値Er以下であった場合(S9013:Yes)、本アプリケーションは、処理をステップS9014に進める。そして前述のように、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものではなく、道路勾配の変化による自車両の姿勢変化に応じて生じたものであると判定する(S9014)。
一方、静止判定時と現在地との道路勾配の差が閾値Erよりも大きかった場合(S9013:No)、本アプリケーションは、処理をステップS9015に進める。そして前述のように、図4のステップS4009で検知された携帯端末100の傾斜変化が、携帯端末100の取付状態の変化やユーザの操作による設置角度の変化に応じて生じたものであると判定する(S9015)。
図8のステップS7010では、以上説明したようにして端末傾き判定処理が行われる。
図11は、図7のステップS7012で実行される道路勾配情報更新処理の詳細を示す処理フローである。
本アプリケーションは、図7のステップS7009において道路勾配算出・端末傾き判定処理が実行されることにより、現在地の道路勾配が算出された否かを判定する(S11001)。道路勾配算出・端末傾き判定処理が実行されずに現在地の道路勾配が算出されなかった場合(S11001:No)、本アプリケーションは、道路勾配情報更新処理を終了する。
道路勾配算出・端末傾き判定処理が実行されて現在地の道路勾配が算出された場合(S11001:Yes)、携帯端末100は、通信部129を用いて、図8のステップS8007またはS8013で算出された道路勾配に基づく道路勾配情報をテレマティクスセンタ160へ送信する(S11002)。
テレマティクスセンタ160は、ステップS11002で携帯端末100から送信された道路勾配情報を受信すると(S11003)、その道路勾配情報と同一の対象地点について過去に蓄積された道路勾配情報に基づいて、受信した道路勾配情報の統計的な信頼度を算出する(S11004)。例えば、これまでに複数の携帯端末100から送信されて記憶装置163に蓄積された同一の対象地点の各道路勾配情報について、収集されたデータが正規分布に従うと仮定し、その標準数や分散とt分布表を基に、信頼度を算出することができる。
ステップS11004で算出した信頼度が所定の閾値Hを超過する場合(S11005:Yes)、テレマティクスセンタ160は、対象地点の道路勾配情報を地図情報183に追加して記憶する(S11006)。例えば、対象地点についてこれまでに蓄積された各道路勾配情報の平均値を、対象地点の道路勾配情報として地図情報183に追加する。一方、信頼度が閾値Hを超過しない場合(S11005:No)、テレマティクスセンタ160は、対象地点の道路勾配情報を地図情報183には反映せずに、記憶装置163に蓄積しておく(S11007)。
ステップS11006またはS11007の処理により、道路勾配情報を地図情報183に追加または記憶装置163に蓄積したら、テレマティクスセンタ160は、通信部162を用いて、ステップS11002で携帯端末100から送信された道路勾配情報と地図情報183に含まれる道路勾配情報との差分を示す差分データを、携帯端末100へ送信する(S11008)。これにより、テレマティクスセンタ160は、携帯端末100が有する地図情報134における対象地点の道路勾配を更新するためのデータとしての差分データを、携帯端末100へ送信することができる。
携帯端末100は、ステップS11008でテレマティクスセンタ160から差分データが送信されると、通信部129を用いてこれを受信する(S11009)。そして、受信した差分データに基づいて、道路勾配情報の更新の有無を判定する(S11010)。
道路勾配情報の更新がある場合(S11010:Yes)、本アプリケーションは、ステップS11009で受信した差分データに基づいて、記憶装置130に格納されている地図情報134における道路勾配を更新する(S11011)。一方、道路勾配情報の更新がない場合(S11010:No)、本アプリケーションは、ステップS11011の処理を実行せず、地図情報134における道路勾配の更新を行わない。
図7のステップS7012では、以上説明したようにして道路勾配情報更新処理が行われる。
次に、携帯端末100が運転診断結果を表示する処理について説明する。前述のように、携帯端末100において記憶装置130に蓄積された運転診断結果136は、ユーザの要望に応じて読み出され、入出力装置121に表示される。図12は、この時に実行される処理のフローチャートである。
本アプリケーションは、自車両のドライバーであるユーザから携帯端末100に対して、入出力装置121への入力操作等により、運転診断結果の表示が要求されたか否かを確認する(S12001)。その結果、運転診断結果の表示が要求された場合(S12001:Yes)、本アプリケーションは、記憶装置130に蓄積された運転診断結果136を読み出し、入出力装置121に表示する(S12002)。
なお、運転診断結果を入出力装置121に表示するのは、必ずしもユーザからの要求があったときに限らない。例えば、図4のステップS4015において運転診断処理が実行されると、その結果が自動的に表示されるように設定することも可能である。
図13は、携帯端末100がスマートフォンである場合に、本アプリケーションの実行中に入出力装置121に表示される画面の一例を示す図である。
図13(a)は、本アプリケーションが運転開始を検出した後の表示画面例を示している。図13(a)の画面例では、携帯端末100の入出力装置121において、地図情報134に基づいて自車両周辺の道路地図1301が表示されると共に、道路勾配に応じた自車両の傾斜状態を示す傾斜メータ1302と、自車両の走行速度を示す速度表示1303とが表示されている。図13(a)に例示した傾斜メータ1302は、前後左右いずれの方向にも自車両が傾斜していないことを示している。なお、傾斜メータ1302には、携帯端末100の設置角度を表示したりすることも可能である。
図13(b)は、本アプリケーションが携帯端末100の傾斜変化を検知し、その傾斜変化が携帯端末100の設置角度の変化に応じて生じたものと判定した場合に、図7のステップS7014において図13(b)の画面から変化して表示する画面例を示している。図13(b)の画面例では、警告表示1304を行うことにより、自車両への携帯端末100の固定治具であるクレードルが傾斜したことで携帯端末100の設置角度が変化したことをユーザに通知している。なお、本アプリケーションは、例えば自車両の坂道での速度低下を検出した場合などに、同様の警告表示を行うことも可能である。
以上説明した本発明の実施形態によれば、以下の作用効果を奏する。
(1)携帯端末100は、3軸方向の加速度を検出する加速度センサ122と、中央演算処理装置110とを備える。この携帯端末100で実行される携帯端末100用のプログラムは、携帯端末100の静止状態を検出し、携帯端末100が搭載された自車両に対する携帯端末100の設置角度をS5006で算出する図5の静止判定処理と、自車両の直進状態を検出し、自車両の進行方向に対する携帯端末100の回転角をS6007で算出する図6の直進判定処理と、算出した携帯端末100の設置角度および自車両の進行方向に対する携帯端末100の回転角に基づいて、加速度センサ122により検出された加速度を自車両の加速度に変換する図4のS4008の処理と、携帯端末100の傾斜角度の変化を検知する図4のS4009の処理と、携帯端末100の傾斜角度の変化が検知された場合に自車両の加速度をS7013で補正する図7の傾斜変化処理とを、中央演算処理装置110に実行させる。これにより、携帯端末100を、傾斜演算部114として機能させる。このようにしたので、携帯端末100の傾斜角度の変化を考慮して、携帯端末100の加速度センサ122の検出値から自車両の加速度を正確に求めることができる。
(2)図7の傾斜変化処理では、自車両の加速度に対する補正の可否を判定し、補正可と判定された場合にS7013の処理を実行して自車両の加速度を補正する。具体的には、携帯端末100の傾斜角度の変化が自車両の移動に応じた道路勾配の変化によるものか否かを判定することにより、自車両の加速度に対する補正の可否を判定する(S7011)。このようにしたので、自車両の加速度を補正すべきか否かを適切に判定し、補正を行うことができる。
(3)図7の傾斜変化処理では、S7009において図8の道路勾配算出・端末傾き判定処理を、またはS7010において図9の端末傾き判定処理を実行する。図9の端末傾き判定処理では、携帯端末100の外部にあるテレマティクスセンタ160から取得または携帯端末100に予め記憶された道路勾配情報に基づいて、携帯端末100の静止状態が検出されてからの道路勾配の変化量を算出し(S9012)、算出した道路勾配の変化量に基づいて、携帯端末100の傾斜角度の変化が自車両の移動に応じた道路勾配の変化によるものか否かを判定する(S9013、S9014、S9015)。このようにしたので、携帯端末100の傾斜角度の変化が、自車両の移動に応じた道路勾配の変化によるものか、それとも治具の固定不良等に起因する取付状態の変化やユーザの操作に応じた携帯端末100の設置角度の変化によるものかを、正確に判定することができる。
(4)また、図8の道路勾配算出・端末傾き判定処理および図9の端末傾き判定処理では、携帯端末100の静止状態が検出されてからの携帯端末100の設置角度もしくは傾斜角度の変化量、または自車両の直進状態が検出されてからの自車両の加速度の変化量を算出する(S8005、S8016、S9006、S9010)。そして、算出した設置角度もしくは傾斜角度の変化量、または自車両の加速度の変化量に基づいて、携帯端末100の傾斜角度の変化が自車両の移動に応じた道路勾配の変化によるものか否かを判定する(S8006、S8017、S8018、S8019、S9007、S9011、S9014、S9015)。このようにしたので、上記と同様に、携帯端末100の傾斜角度の変化が、自車両の移動に応じた道路勾配の変化によるものか、それとも治具の固定不良等に起因する取付状態の変化やユーザの操作に応じた携帯端末100の設置角度の変化によるものかを、正確に判定することができる。
(5)携帯端末100は、3軸方向の角速度を検出する角速度センサ123と、3軸方向の磁界を検出する磁界センサ124と、の少なくとも一つをさらに備える。図4のS4009の処理では、加速度センサ122により検出された加速度と、角速度センサ123により検出された角速度と、磁界センサ124により検出された磁界と、の少なくとも一つの変化に基づいて、携帯端末100の傾斜角度の変化を検知することができる。このようにしたので、携帯端末100の傾斜角度が変化した場合に、その変化を確実に検知することができる。
(6)携帯端末100は、画像表示部を有する入出力装置121をさらに備える。図7の傾斜変化処理では、携帯端末100の傾斜角度の変化が検知された場合に、例えば図13(a)に示す画面から図13(b)に示す画面のように、入出力装置121の表示を変化させる(S7014)。このようにしたので、携帯端末100の傾斜角度の変化が検知された場合に、そのことをユーザに確実に通知することができる。
(7)携帯端末100用のプログラムは、自車両の位置における道路勾配を算出する図8のS8007、S8013の処理と、これらの処理で算出した道路勾配に基づく道路勾配情報を、S11002で携帯端末100の外部にあるテレマティクスセンタ160へ送信する図11の道路勾配補正処理とを、中央演算処理装置110にさらに実行させる。このようにしたので、様々な地点における道路勾配をテレマティクスセンタ160に蓄積させることができる。
(8)携帯端末100と無線通信を行うテレマティクスセンタ160は、道路勾配情報を携帯端末100に送信する(S7006)。携帯端末100は、テレマティクスセンタ160から送信された道路勾配情報を受信することにより、S9012の処理で用いる道路勾配情報を取得する(S7007)。このようにしたので、携帯端末100において必要な道路勾配情報が蓄積されていなくても、これを取得して利用することができる。
(9)テレマティクスセンタ160は、携帯端末100から送信された道路勾配情報を受信して蓄積する(S11003、S11007)。さらにテレマティクスセンタ160は、同一の対象地点に対して過去に蓄積された道路勾配情報の信頼度を算出し(S11004)、算出した信頼度が所定の閾値以上になった場合に、対象地点の道路勾配を追加して記憶する(S11006)。このようにしたので、携帯端末100を利用して、テレマティクスセンタ160が有する道路勾配の情報を充実させていくことができる。
なお、以上説明した実施形態では、携帯端末100において運転診断を行う例を説明したが、テレマティクスセンタ160において運転診断を行うようにしてもよい。すなわち、記憶装置163に格納されたプローブ情報182を利用することで、本アプリケーションにより得られた自車両の加速度に基づく運転診断をテレマティクスセンタ160により行うことができる。
以上説明した実施形態や各種の変化例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されない。本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。