(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下においては、本発明の一実施形態として、車載型のナビゲーション装置とスマートフォンとの情報処理連携システムを例に取り説明する。
【0010】
本実施形態の情報処理連携システムの背景を説明する。車載型のナビゲーション装置の開発においては、ユーザ(取引業者やエンドユーザ)からの多種多様な要求に応えることが望まれる。この種の要求には取引業者毎の特殊なものや属人的な感覚によるものなど、ユーザ毎に異なるものが多く存在する。ユーザ毎に異なる多種多様な要求に応えるには、ナビゲーション装置の機能をユーザ毎にカスタマイズするという対応が考えられる。しかし、このような対応は、コスト面やリードタイム面等を考えると現実的には難しい。別の対応としては、全ての機能をナビゲーション装置に組み込むことが考えられる。しかし、この場合、コスト面等の問題だけでなく、ナビゲーション装置の操作が機能の増加に伴い複雑化するため、却って操作性が低下するという不都合を招く。
【0011】
また、車載型のナビゲーション装置は車両内の設置スペースの関係上、例えば一般的なPCと比べて表示画面サイズの制約が大きく、表示画面に一度に表示可能な情報量が限られる。機能の増加に伴う多様な情報を表示画面に表示させるには、その代償として、ナビ情報の表示領域を減らす必要がある。そのため、ナビ情報の視認性が低下するという問題が生じる。
【0012】
本発明者は、上記の問題を解消するため、本発明の一実施形態として、近年普及が進むスマートフォンを利用するシステムを提案する。ここで提案されるシステムの概略は、ユーザの要求を満たす機能をスマートフォンに任意に追加可能とし、追加された機能をナビゲーション装置とスマートフォンとの連携により起動させ実行させるというものである。
【0013】
機能の追加・削除はスマートフォンに対して行われるため、ナビゲーション装置を機能に合わせてカスタマイズする必要がなく、また、ナビゲーション装置に過剰な機能を組み込む必要がない。また、追加された機能による情報はスマートフォンの表示画面に表示されるため、ナビゲーション装置側でナビ情報の表示領域を減らす必要がない。なお、ナビゲーション装置の表示画面サイズや画面レイアウトによっては、ナビ情報の表示領域を減らすことなく、追加された機能による情報をナビゲーション装置の表示画面に表示させることができる場合がある。
【0014】
但し、ユーザが車両の走行中にスマートフォンの操作に集中することは望ましくない。そこで、本実施形態の情報処理連携システムでは、ユーザに要求されるスマートフォンの操作が車両の運転操作を妨げないように最低限に抑えられている。
【0015】
[情報処理連携システム1全体の構成]
図1は、本実施形態の情報処理連携システム1の構成を示すブロック図である。
図1に示されるように、情報処理連携システム1は、車両に搭載されたナビゲーション装置10及びユーザに所持されたスマートフォン20を備えている。情報処理連携システム1を構成する端末は、ナビゲーション装置10やスマートフォン20に限らず、相互通信可能な別の形態の端末に置き換えてもよい。例えば、スマートフォン20は、タブレットPCやノートPCに置き換えてもよい。また、情報処理連携システム1(ナビゲーション装置10及びスマートフォン20)には、情報処理連携システム1に対する追加的な機能を実行するための各種アプリを管理するAPPサーバ30がインターネットを介して接続される。
【0016】
[ナビゲーション装置10の構成]
図2は、ナビゲーション装置10の構成を示すブロック図である。
図2に示されるように、ナビゲーション装置10は、ナビゲーションECU(Electronic Control Unit)102、メモリ104、UI(User Interface)106、ネットワークIF(Interface)108、Bluetooth(登録商標)IF110、GPS(Global Positioning System)レシーバ112、LCD(Liquid Crystal Display)114、オーディオコーディック116、スピーカ118及びDR(Dead Reckoning)センサ120を備えている。
【0017】
メモリ104には、初期プログラムローダやメインプログラム等の各種プログラム及びナビゲーションECU102が処理に使用する各種データ(例えば地図データやプログラム内での参照値等)が格納されている。ナビゲーションECU102は、ナビゲーション装置10の電源投入直後、メモリ104に格納された初期プログラムローダを実行して各ハードウェアを初期化する。ナビゲーションECU102は次いで、メモリ104に格納されたメインプログラムを所定のワークエリアにロードし、ロードされたメインプログラムを実行することにより、ナビゲーション装置10全体の制御及び各種処理を行う。
【0018】
例えば、ナビゲーションECU102は、メモリ104より読み出された地図データをレンダリングしてLCD114に表示させると共に、GPSレシーバ112より所定の時間間隔で採取されるGPS測位データを用いて(ナビゲーション装置10を搭載する車両の)現在位置を測定し、測定された自車位置をLCD114に表示されている地図の道路上に重ねる(マップマッチングする)。なお、自車位置の測定には、GPS測位データに代えて又はGPS測位データと併せてDRセンサ120によるDR測位データを用いてもよい。DRセンサ120には、例えば、車両の水平面における方位に関する角速度を計測するジャイロセンサや、車両の左右の駆動輪の回転速度を検出する車速センサが含まれる。
【0019】
ナビゲーションECU102は、経路案内の実行時には、LCD114に表示されている地図内の経路を強調表示させる。ナビゲーションECU102は、測位データを用いて自車位置を定期的に測定し、測定された自車位置とマッチする地図をLCD114に表示させる。自車位置が経路から外れた場合は、ダイクストラ法による経路の再探索・再設定を行う。ナビゲーションECU102はまた、ネットワークIF108を介してインターネット上の所定の地図サーバに定期的に接続することにより、最新の地図データをダウンロードすることができる。
【0020】
UI106は、ユーザによる入力を受け付けるための操作手段であり、操作入力に応じた信号を生成してナビゲーションECU102に出力する。この種の操作手段には、ハードウェア又はソフトウェア若しくはこれらを組み合わせた種々のUIが挙げられる。具体的には、UI106は、ナビゲーション装置10本体のフロントパネルに設けられたメカニカルスイッチキー、メンブレンキー、タッチパネル環境下で提供されるGUI(Graphical User Interface)、操作キーが設けられたリモートコントローラ等である。
【0021】
オーディオコーディック116は、経路案内用のオーディオデータをはじめとする各種オーディオデータをデコードし、デコードされたオーディオデータをスピーカ118を介して再生させる。
【0022】
[スマートフォン20の構成]
図3は、スマートフォン20の構成を示すブロック図である。
図3に示されるように、スマートフォン20は、CPU(Central Processing Unit)202、メモリ204、タッチパネル206、ネットワークIF208、BluetoothIF210、GPSレシーバ212、オーディオコーディック214及びスピーカ216を備えている。
【0023】
CPU202は、スマートフォン20の電源投入後、メモリ204に格納された初期プログラムローダを実行して各ハードウェアを初期化する。CPU202は次いで、メモリ204に格納されたメインプログラムを所定のワークエリアにロードし、ロードされたメインプログラムを実行することにより、スマートフォン20全体の制御及び各種処理を行う。
【0024】
CPU202は、例えば、ユーザによるタッチパネル206の操作に従ってメモリ204に格納されたWebブラウザを実行させることにより、インターネット上に配置されたコンテンツをネットワークIF208を介してダウンロードし、ダウンロードされたコンテンツをタッチパネル206上に表示させることができる。Webブラウザは、例えばHTML(Hyper Text Markup Language)5、CSS(Cascading Style Sheets)、JavaScript(登録商標)等及びこれらの関連仕様を解釈可能なソフトウェアである。
【0025】
[APPサーバ30の構成]
図1に示されるように、情報処理連携システム1(ナビゲーション装置10及びスマートフォン20)には、APPサーバ30がインターネットを介して接続される。APPサーバ30には、アプリDB(DataBase)が備えられている。アプリDBでは、情報処理連携システム1に対する追加的な機能を実行するための各種アプリが管理されている。スマートフォン20は、Webブラウザを用いてAPPサーバ30にアクセスすることにより、リクエストに応じたアプリをアプリDBからダウンロードしインストールすることができる。
【0026】
[ナビゲーション装置10とスマートフォン20との連携処理]
図2、
図3の各図に示されるように、ナビゲーション装置10はBluetoothIF110を備えており、スマートフォン20はBluetoothIF210を備えている。BluetoothIF110、210は夫々、ナビゲーション装置10、スマートフォン20を無線通信可能距離内(例えば10m以内)に位置する端末と接続するための通信モジュールである。ナビゲーション装置10とスマートフォン20は、ピコネット内同期の確立後、互いのBluetoothIFを介して相互通信することにより、所定の連携処理を実行する。
図4に、ナビゲーション装置10とスマートフォン20との連携処理のシーケンスを示す。なお、ナビゲーション装置10とスマートフォン20との通信方式はBluetoothに限らず、USB(Universal Serial Bus)やWi-Fiなど、他の有線通信方式又は無線通信方式であってもよい。
【0027】
[
図4のS11(接続の確立)]
ナビゲーション装置10とスマートフォン20は、ハンドシェイクによる接続の確立を行う。ハンドシェイクでは、接続機器の種別(OS(Operating System)の種類やバーション等)のチェックや、情報転送レート、符号の種類、パリティ、プロトコル、設定値など、各種パラメータの取り決めが行われる。
【0028】
[
図4のS12(アプリの問い合わせ)]
ナビゲーション装置10は、スマートフォン20との接続の確立後、スマートフォン20に対してアプリに関する問い合わせを行う。具体的には、ナビゲーション装置10は、ハンドシェイク時にチェックされたスマートフォン20の種別において、ナビゲーション装置10との連携処理を実行することが可能なアプリを問い合わせる。スマートフォン20は、ナビゲーション装置10による問い合わせに応じて、ナビゲーション装置10との連携処理を実行することが可能なアプリであって、スマートフォン20にインストールされているものを通知する。ナビゲーション装置10は、スマートフォン20より受信した通知をメモリ104等の記憶領域に格納する。
【0029】
[
図4のS13(アプリ管理情報の受渡)]
ナビゲーション装置10は、アプリ管理情報をスマートフォン20にリクエストする。アプリ管理情報は、スマートフォン20による上記通知に含まれるアプリの起動を制御するための情報であり、スマートフォン20のメモリ204等の記憶領域に格納されている。スマートフォン20は、ナビゲーション装置10によるリクエストに応じてアプリ管理情報を読み出し、読み出されたアプリ管理情報をナビゲーション装置10に送信する。ナビゲーション装置10は、スマートフォン20より受信したアプリ管理情報をメモリ104等の記憶領域に格納する。なお、スマートフォン20は、ハンドシェイクによる接続が確立されたことを契機にナビゲーション装置10にアプリ管理情報を送信してもよい。この場合、本処理ステップS13において、ナビゲーション装置10によるスマートフォン20へのアプリ管理情報のリクエストが省略される。
【0030】
図5に、アプリ管理情報を概念的に示す。
図5に示されるように、アプリ管理情報では、アプリの起動条件や優先度が定義されている。
【0031】
起動条件は、アプリを起動するための条件であり、例えば、地図に由来する条件や車両に由来する条件、ユーザに由来する条件等がある。地図に由来する条件には、車両が現在走行している道路の種別、レーン数、カーブの角度、時間帯による交通規制、現在位置を基準とした所定距離内での信号の有無、踏切の有無、交差点の有無、走行地域の天気、現在時刻等がある。車両に由来する条件には、車両の走行速度、ライトの点灯状態、ワイパの動作状態、ギア、ガソリンの残量等が挙げられる。ユーザに由来する条件には、ユーザの行動パターン、嗜好パターン等がある。行動・嗜好パターンは、例えば、過去の一定期間内におけるWebアクセスの履歴や位置情報(GPSレシーバ212の測位データに基づく位置情報)など、スマートフォン20により逐次採取される情報に基づいて解析され、メモリ204等の記憶領域に蓄積されている。起動条件の設定次第で、例えば夜間やハンドル操作の多い道路、推奨経路上においてターンポイントの多い区間、通行人が多い区間、学校や幼稚園と近いエリアを走行中など、運転操作に集中すべき状況下では、アプリの起動を制限することが可能となる。
【0032】
起動条件を満たすアプリが複数存在するなど、アプリの起動・実行が競合する状況が考えられる。このような状況を想定し、優先度では、起動(及び実行)されるアプリの優先順位が定義されている。
【0033】
アプリ管理情報の定義内容(起動条件や優先度)は、例えばデフォルトで設定されているが、ユーザが任意に変更することも可能である。また、アプリ管理情報は、ナビゲーション装置10に予め格納されていてもよく、また、APPサーバ30に格納されていてもよい。後者の場合、APPサーバ30は、ユーザ毎(スマートフォン等の情報処理端末毎)のアプリ管理情報を格納しており、ナビゲーション装置10によるリクエストにて指定されたユーザ(スマートフォン20)のアプリ管理情報をナビゲーション装置10に送信する。APPサーバ30は、アプリ管理情報だけでなく、各アプリに適した起動条件や優先度等の定義情報を管理していてもよい。例えば、スマートフォン20は、APPサーバ30に定期的にアクセスして定義情報をダウンロードし、ダウンロードされた定義情報により、メモリ204等の記憶領域に格納されたアプリ管理情報を更新する。
【0034】
[
図4のS14(アプリの起動)]
図6は、アプリの起動処理を例示する図である。ナビゲーション装置10において、ナビゲーション処理を実行するためのメインプログラムには、
図6に示される各種コンポーネントが組み込まれている。コンポーネントには、例えば、経路探索のための経路探索コンポーネント、画面表示のためのHMI(Human Machine Interface)コンポーネント、地図を描画するための地図描画コンポーネント、交通情報を処理するための交通情報コンポーネント、経路案内のための経路案内コンポーネント等がある。
【0035】
ナビゲーション装置10には、OSと各種コンポーネント間のインタフェースを定義するアプリ制御用IF122(
図6参照)が実装されている。アプリ制御用IF122には、アプリ管理情報に含まれる起動条件の取得、車両及び車両に搭乗するユーザの現在の状況(以下、「車両・ユーザ状況」と記す。)のチェック、アプリの起動判定についての定義が含まれる。
【0036】
経路案内コンポーネントからアプリ『WAY POINT MANAGER』の実行要求が発生された場合を考える。
図6に示されるように、経路案内コンポーネントから発生されたアプリ『WAY POINT MANAGER』の実行要求は、アプリ制御用IF122に入力される。なお、アプリ制御用IF122とコンポーネント間のメッセージフォーマットは、例えばXML(Extensible Markup Language)等のマークアップ言語である。コンポーネントは、XMLパーサを介して実行要求をメッセージに変換する。
【0037】
アプリ制御用IF122は、車両やナビゲーション装置10、スマートフォン20等の各要素から各種情報を逐次採取し、採取された情報を用いて車両・ユーザ状況を定期的にチェックしている。採取及びチェックされる情報の具体的な項目例として、測位データに基づく車両の現在位置、地図データに含まれる各種地図情報であって車両の現在位置を考慮した情報(例えば車両が現在走行している道路の種別、レーン数、カーブの角度、時間帯による交通規制、現在位置を基準とした所定距離内での信号の有無、踏切の有無、交差点の有無、走行地域の天気、現在時刻等)、DRセンサの出力(例えば車両の走行速度等)、車両の各種装備(ライト、ワイヤ、ギア、ガソリンタンク等)の状態、ユーザの行動パターン、嗜好パターン等の情報が挙げられる。なお、車両・ユーザ状況は、アプリの実行要求を受け取ったときだけチェックされるようにしてもよい。
【0038】
アプリ制御用IF122は、アプリ『WAY POINT MANAGER』の実行要求の入力をトリガとして、
図4の処理ステップS12(アプリの問い合わせ)にて受信された通知をチェックし、アプリ『WAY POINT MANAGER』がスマートフォン20にインストールされているか否かを判定する。アプリ制御用IF122は、アプリ『WAY POINT MANAGER』がスマートフォン20にインストールされていると判定した場合、メモリ104に格納されているアプリ管理情報にアクセスし、車両・ユーザ状況がアプリ『WAY POINT MANAGER』の起動条件を満たすか否かを判定する。車両・ユーザ状況がアプリ『WAY POINT MANAGER』の起動条件を満たす場合、アプリ制御用IF122は、アプリ『WAY POINT MANAGER』の起動要求をスマートフォン20に送信する。これにより、スマートフォン20では、アプリ『WAY POINT MANAGER』が起動され実行される。一方、車両・ユーザ状況がアプリ『WAY POINT MANAGER』の起動条件を満たさない場合、アプリ制御用IF122は、アプリ『WAY POINT MANAGER』の起動要求をスマートフォン20に送信しない。
【0039】
コンポーネントによるアプリの実行要求は、特定のアプリの実行を要求するものでなくてもよい。この場合、アプリ制御用IF122は、コンポーネントよりアプリの実行要求が入力されると、メモリ104に格納されているアプリ管理情報にアクセスし、車両・ユーザ状況が満たす起動条件のアプリを検索する。アプリ制御用IF122は、検索されたアプリの起動要求をスマートフォン20に送信する。アプリ制御用IF122は、検索された全てのアプリの起動要求をスマートフォン20に送信してもよいし、アプリ管理情報で定義されている優先度が最も高い1つのアプリの起動要求をスマートフォン20に送信してもよい。
【0040】
図7は、ナビゲーション装置10の各種コンポーネントとアプリ制御用IF122とスマートフォン20との間で実行されるアプリの起動制御及び動作制御のシーケンスを示す。
図7では、各種コンポーネントを代表して、「コンポーネントa」、「コンポーネントb」、「コンポーネントc」を示す。
図7の例では、コンポーネントaはアプリAの実行要求を発生させ、コンポーネントbはアプリBの実行要求を発生させ、コンポーネントcはアプリCの実行要求を発生させる。
【0041】
[
図7のS14−1(アプリAの制御)]
コンポーネントaは、所定の第一の条件が満たされると、アプリAの実行要求をアプリ制御用IF122に送信する。アプリ制御用IF122は、
図4の処理ステップS12(アプリの問い合わせ)にて受信された通知をチェックし、アプリAがスマートフォン20にインストールされているか否かを判定する。
【0042】
図7の例では、アプリAがスマートフォン20にインストールされていない、又はインストールされているが、車両・ユーザ状況がアプリAの起動条件を満たさない。そのため、アプリ制御用IF122は、アプリAが起動しないことを示す通知をコンポーネントaに返す。コンポーネントaは通知を受け取ることにより、スマートフォン20においてアプリAが実行されないことを認識する。
【0043】
[
図7のS14−2(アプリBの制御)]
コンポーネントbは、第一の条件と異なる所定の第二の条件が満たされると、アプリBの実行要求をアプリ制御用IF122に送信する。アプリ制御用IF122は、
図4の処理ステップS12(アプリの問い合わせ)にて受信された通知をチェックし、アプリBがスマートフォン20にインストールされているか否かを判定する。
【0044】
図7の例では、アプリBがスマートフォン20にインストールされており、かつ車両・ユーザ状況がアプリBの起動条件を満たす。そのため、アプリ制御用IF122は、アプリBの起動要求をスマートフォン20に送信する。スマートフォン20は、アプリ制御用IF122より受信した起動要求に従いアプリBを起動させた後、その起動通知をアプリ制御用IF122に返す。アプリ制御用IF122は、スマートフォン20より受け取った起動通知をコンポーネントbに転送する。コンポーネントbは起動通知を受け取ると、以降は、アプリ制御用IF122を介してスマートフォン20と通信し、スマートフォン20との連携によりアプリBを実行する。
【0045】
[
図7のS14−3(アプリCの制御)]
コンポーネントcは、第一及び第二の条件と異なる所定の第三の条件が満たされると、アプリCの実行要求をアプリ制御用IF122に送信する。アプリ制御用IF122は、
図4の処理ステップS12(アプリの問い合わせ)にて受信された通知をチェックし、アプリCがスマートフォン20にインストールされているか否かを判定する。
【0046】
図7の例では、アプリCがスマートフォン20にインストールされており、かつ車両・ユーザ状況がアプリCの起動条件を満たす。しかし、スマートフォン20では、アプリBが実行中である。ユーザが車両の走行中にスマートフォン20の操作に集中することは望ましくない。従って、本実施形態では、スマートフォン20上で同時に実行されるアプリの数が原則1つに制限されている。
【0047】
アプリ制御用IF122は、アプリ管理情報で定義されているアプリBの優先度とアプリCの優先度とを比較する。
図7の例では、アプリCの優先度の方が高い。そのため、アプリ制御用IF122は、アプリBの終了要求をスマートフォン20に送信する。スマートフォン20は、アプリ制御用IF122より受信した終了要求に従いアプリBを終了させた後、その終了通知をアプリ制御用IF122に返す。アプリ制御用IF122は、スマートフォン20より受け取った終了通知をコンポーネントbに転送する。コンポーネントbは終了通知を受け取ると、スマートフォン20との通信を切断して、スマートフォン20との連携によるアプリBの実行を終了する。アプリ制御用IF122はまた、アプリCの起動要求をスマートフォン20に送信する。スマートフォン20は、アプリ制御用IF122より受信した起動要求に従いアプリCを起動させた後、その起動通知をアプリ制御用IF122に返す。アプリ制御用IF122は、スマートフォン20より受け取った起動通知をコンポーネントcに転送する。コンポーネントcは起動通知を受け取ると、以降は、アプリ制御用IF122を介してスマートフォン20と通信し、スマートフォン20との連携によりアプリCを実行する。
【0048】
アプリBの優先度の方が高い場合を考える。この場合、アプリ制御用IF122は、アプリBの終了要求及びアプリCの起動要求をスマートフォン20に送信しない。そのため、スマートフォン20におけるアプリBの実行が継続される。なお、アプリ制御用IF122は、アプリCが起動しないことを示す通知をコンポーネントcに返す。コンポーネントcは通知を受け取ることにより、スマートフォン20においてアプリCが実行されないことを認識する。
【0049】
車両の運転操作を実質的に妨げるものでなければ、スマートフォン20上で複数のアプリを同時に実行させてもよい。例えば、停車中に実行されるアプリや情報を表示するだけのアプリは、他のアプリと同時に実行されてもよい。
【0050】
[アプリの具体例]
次に、アプリの具体例を示す。
【0051】
(1)IC(Interchange)選択アプリ
図8は、IC選択アプリの動作例を説明するための図である。IC選択アプリは、車両が経由するICをユーザに選択させるためのアプリである。
図9は、IC選択アプリの起動及び実行を示すシーケンス図である。
図9に示されるシーケンスでは、ナビゲーション装置10を「入力部」、「経路探索コンポーネント」、「経路案内コンポーネント」、「アプリ制御用IF122」の4つの機能ブロックに分けて示すと共に、スマートフォン20を「IC選択アプリ」、「表示入力部」の2つの機能ブロックに分けて示す。
【0052】
[
図9のS21(目的地の入力)]
入力部は、ユーザによるUI106の操作により目的地が入力されると、入力された目的地を経路探索コンポーネントに与える。
【0053】
[
図9のS22(IC選択アプリの実行要求)]
経路探索コンポーネントは、地図データにアクセスし、車両の現在位置から目的地までの経路を探索・設定する。経路探索コンポーネントは、設定された経路がICを経由するものであるとき、IC選択アプリの実行要求をアプリ制御用IF122に送信する。
【0054】
[
図9のS23(経路の案内)]
経路案内コンポーネントは、経路探索コンポーネントにより設定された経路の案内を行う。ナビゲーション装置10のLCD114には、経路案内コンポーネントによるナビゲーション処理の実行により、車両が目的地に到着するまでの間、ナビ情報が表示される。
【0055】
[
図9のS24(IC選択アプリの起動判定)]
アプリ制御用IF122は、
図4の処理ステップS12(アプリの問い合わせ)にて受信された通知をチェックし、IC選択アプリがスマートフォン20にインストールされているか否かを判定する。アプリ制御用IF122は、IC選択アプリがスマートフォン20にインストールされていると判定した場合、アプリ管理情報にて定義されているIC選択アプリの起動条件を取得する。アプリ制御用IF122は、車両・ユーザ状況がIC選択アプリの起動条件を満たすか否かを判定し、満たすと判定した場合に限り、IC選択アプリの起動要求をスマートフォン20に送信する。
【0056】
[
図9のS25(IC選択アプリの起動)]
スマートフォン20では、アプリ制御用IF122より受信した起動要求に応じてIC選択アプリが起動される。
【0057】
[
図9のS26(ICの検索)]
IC選択アプリは、起動要求に応じて起動された後、ナビゲーション装置10より設定経路及び現在位置の情報を取得する。なお、現在位置の情報は、GPSレシーバ212を用いてスマートフォン20側で算出されてもよい。IC選択アプリは、アプリ制御用IF122を介してナビゲーション装置10の地図データにアクセスし、設定経路及び現在位置の情報を用いて選択候補のIC(例えば設定経路や現在位置から所定の距離範囲内に位置するIC)を検索する。IC選択アプリは、ナビゲーション装置10の地図データに代えて、例えばインターネット上に配置された地図サーバにアクセスしてICの検索を行ってもよい。
【0058】
[
図9のS27(IC情報の取得)]
IC選択アプリは、検索された選択候補のICの名称及び料金の情報をナビゲーション装置10の地図データ又はインターネット上の地図サーバより取得する。IC選択アプリは、現在の設定経路上のICを利用する場合の料金と、選択候補のICを利用する場合の料金との差額を計算する。また、IC選択アプリは、設定経路の走行予定時間と、選択候補のICを経由する場合の走行予定時間との差分時間を計算する。IC選択アプリは、例えば、単純に、設定経路上のICと選択候補のICとの距離に応じた時間を差分時間として算出する。IC選択アプリはまた、例えば、設定経路の走行予定時間及び選択候補のICを経由する場合の走行予定時間をナビゲーション装置10やインターネット上の所定のサーバに依頼して計算させ、その計算結果から差分時間を算出してもよい。
【0059】
[
図9のS28(IC情報の表示)]
IC選択アプリは、選択候補のICの名称、利用料金の差額、利用する場合の差分時間の各情報を含むリンクボタンを生成し、生成されたリンクボタンを表示入力部に渡す。表示入力部は、
図8に示されるように、IC選択アプリより受け取った選択候補の各ICのリンクボタンをタッチパネル206に表示させる。
図8の例では、選択候補として「戸田IC」、「浦和IC」、「見沼IC」及び「板橋IC」のリンクボタンが表示される。
【0060】
[
図9のS29(IC情報の送信)]
表示入力部は、リンクボタンの何れか1つがタッチ操作されると、タッチ操作されたリンクボタンのIC情報をIC選択アプリに渡す。IC選択アプリは、表示入力部より受け取ったIC情報をアプリ制御用IF122を介して経路探索コンポーネントに送信する。
【0061】
[
図9のS30(経路の再探索・再設定)]
経路探索コンポーネントは、IC選択アプリより受信した情報が示すICを経由するように経路の再探索・再設定を行う。
【0062】
[
図9のS31(経路の案内)]
経路案内コンポーネントは、経路探索コンポーネントによって再設定された経路により案内を継続する。このように、本アプリ例では、選択候補のICがスマートフォン20のタッチパネル206上に自動的に表示される。ユーザは、タッチパネル206をワンタッチするだけで、希望するICを経由する経路を設定することができる。当初の設定経路を希望する場合は、タッチパネル206を何ら操作する必要がない。IC選択アプリは、リンクボタン表示後一定時間以内にユーザによる操作入力がない場合には自動的に終了する。これにより、タッチパネル206上のリンクボタンは自動的に消去される。
【0063】
(2)付加情報提供アプリ
図10は、付加情報提供アプリの動作例を説明するための図である。付加情報提供アプリは、ナビゲーション装置10による設定経路に対する付加的な情報を提供するためのアプリである。
【0064】
経路案内コンポーネントは、車両の現在位置と設定経路内の次の分岐点との距離が所定距離以下になったとき、付加情報提供アプリの実行要求をアプリ制御用IF122に送信する。アプリ制御用IF122は、
図4の処理ステップS12(アプリの問い合わせ)にて受信された通知をチェックし、付加情報提供アプリがスマートフォン20にインストールされているか否かを判定する。アプリ制御用IF122は、付加情報提供アプリがスマートフォン20にインストールされていると判定した場合、アプリ管理情報にて定義されている付加情報提供アプリの起動条件を取得する。アプリ制御用IF122は、車両・ユーザ状況が付加情報提供アプリの起動条件を満たすか否かを判定し、満たすと判定した場合に限り、付加情報提供アプリの起動要求をスマートフォン20に送信する。
【0065】
スマートフォン20では、アプリ制御用IF122より受信した起動要求に応じて付加情報選択アプリが起動される。付加情報提供アプリは、起動要求に応じて起動された後、ナビゲーション装置10より設定経路及び現在位置の情報を取得する。付加情報提供アプリは、アプリ制御用IF122を介してナビゲーション装置10の地図データにアクセスし、設定経路及び現在位置の情報を用いて、次の分岐点で設定経路より外れる経路(以下、「非経路」と記す。)を検索し、検索された非経路を進む場合の目的地までの所要時間及び距離の変化(現在の設定経路での所要時間及び距離に対する変化)を計算する。
【0066】
付加情報提供アプリは、
図10に示されるように、ナビゲーション装置10のLCD114に表示される経路と異なる非経路の情報及び非経路を進む場合の目的地までの所要時間及び距離の変化をタッチパネル206に表示させる。ユーザは、タッチパネル206に表示される情報を視認することにより、ナビゲーション装置10やスマートフォン20を操作することなく、例えば寄り道した場合の所要時間を把握したり迂回経路を検討したりすることができる。
【0067】
(3)経路制御アプリ
図11は、経路制御アプリの動作例を説明するための図である。本アプリ例の前提として、設定経路は、ユーザにより指定された少なくとも1つ経由地を経由するものとなっている。経路制御アプリは、このような設定経路を制御するためのアプリである。
【0068】
経路案内コンポーネントは、車両がユーザにより指定された経由地を経由せずに進んだと判定したとき、経路制御アプリの実行要求をアプリ制御用IF122に送信する。アプリ制御用IF122は、
図4の処理ステップS12(アプリの問い合わせ)にて受信された通知をチェックし、経路制御アプリがスマートフォン20にインストールされているか否かを判定する。アプリ制御用IF122は、経路制御アプリがスマートフォン20にインストールされていると判定した場合、アプリ管理情報にて定義されている経路制御アプリの起動条件を取得する。アプリ制御用IF122は、車両・ユーザ状況が経路制御アプリの起動条件を満たすか否かを判定し、満たすと判定した場合に限り、経路制御アプリの起動要求をスマートフォン20に送信する。
【0069】
スマートフォン20では、アプリ制御用IF122より受信した起動要求に応じて経路制御アプリが起動される。経路制御アプリは、起動要求に応じて起動された後、ナビゲーション装置10よりユーザ指定の経由地の情報を取得する。また、経路制御アプリは、ナビゲーション装置10の地図データにアクセスし、設定経路及び現在位置の情報を基に、経由されなかったユーザ指定の経由地を推定してもよい。
【0070】
経路制御アプリは、このようにして取得又は推定された経由地(複数の場合は経由地リスト)のリンクボタンを、
図11に示されるように、スマートフォン20のタッチパネル206上に表示させる。経由地のリンクボタンには「再設定」ボタン及び「SKIP」ボタンが埋め込まれている。経路制御アプリは、「再設定」ボタンがタッチ操作された場合、その経由地を経由する経路の再計算を経路探索コンポーネントに依頼する。経路制御アプリは、「SKIP」ボタンがタッチ操作された場合、その経由地をスキップする経路の再計算を経路探索コンポーネントに依頼する。経路探索コンポーネントは、経路制御アプリより受信した依頼内容に基づいて経路の再探索・再設定を行う。経路案内コンポーネントは、経路探索コンポーネントによって再設定された経路により案内を継続する。このように、本アプリ例では、走行中に意図的に又は無意識にスキップされた経由地がスマートフォン20のタッチパネル206上に自動的に表示される。ユーザは、タッチパネル206をワンタッチするだけで、経由地を経由又は経由しない経路の再設定をすることができる。なお、現在の設定経路を希望する場合は、タッチパネル206を操作しなくてもよい。経路制御アプリは、リンクボタン表示後一定時間以内にユーザによる操作入力がない場合には自動的に終了する。これにより、タッチパネル206上のリンクボタンは自動的に消去される。
【0071】
(4)車両位置補正アプリ
図12は、車両位置補正アプリの動作例を説明するための図である。車両位置補正アプリは、マップマッチングされた車両の位置を補正するためのアプリである。
【0072】
経路案内コンポーネントは、マップマッチングの精度が低下していると判定されたとき、車両位置補正アプリの実行要求をアプリ制御用IF122に送信する。マップマッチングの精度が低下しているか否かは、例えば、車両がマッチングされている道路と周辺の道路との位置関係及び現在位置の測定精度等に基づいて判定される。アプリ制御用IF122は、
図4の処理ステップS12(アプリの問い合わせ)にて受信された通知をチェックし、車両位置補正アプリがスマートフォン20にインストールされているか否かを判定する。アプリ制御用IF122は、車両位置補正アプリがスマートフォン20にインストールされていると判定した場合、アプリ管理情報にて定義されている車両位置補正アプリの起動条件を取得する。アプリ制御用IF122は、車両・ユーザ状況が車両位置補正アプリの起動条件を満たすか否かを判定し、満たすと判定した場合に限り、車両位置補正アプリの起動要求をスマートフォン20に送信する。
【0073】
スマートフォン20では、アプリ制御用IF122より受信した起動要求に応じて車両位置補正アプリが起動される。車両位置補正アプリは、起動要求に応じて起動された後、ナビゲーション装置10より設定経路及び現在位置の情報を取得する。車両位置補正アプリは、アプリ制御用IF122を介してナビゲーション装置10の地図データにアクセスし、設定経路及び現在位置の情報を用いて現在走行中の道路及び該道路と併走する道路を検索する。例えば、高架上の高速道路を走行しているときであれば、その高架下の一般道路が検索される。また、地上の道路を走行しているときであれば、その地下を通る道路が検索される(例えば山手通りを走行している場合は山手通りが検索されるなど。)。
【0074】
車両位置補正アプリは、検索された道路のリンクボタンを、
図12に示されるように、スマートフォン20のタッチパネル206上に表示させる。車両位置補正アプリは、何れかの1つの道路のリンクボタンがタッチ操作されると、その道路の情報を経路案内コンポーネントに通知する。経路案内コンポーネントは、自車位置を車両位置補正アプリより通知された道路へマッチングする。このように、本アプリ例では、アンマッチングの可能性が高いと推定される状況下において、マッチング候補の道路がスマートフォン20のタッチパネル206上に自動的に表示される。ユーザは、タッチパネル206をワンタッチするだけで、自車位置を正しい道路へマッチングさせることができる。車両位置補正アプリは、マッチング候補として表示された道路を通過した後に自動的に終了する。これにより、タッチパネル206上のリンクボタンは自動的に消去される。
【0075】
(5)その他のアプリ
その他のアプリ例として、例えば、最寄りのレストランを検索し音声案内する等のアプリが考えられる。この種のアプリの音声案内は、スマートフォン20のスピーカ216を介して再生される。そのため、音声案内の再生タイミングによっては、ナビゲーション装置10より再生される音声経路案内と重なる。そこで、経路案内コンポーネントとアプリとが連携し、互いの音声の干渉を避けるため、例えば経路案内コンポーネントによる音声経路案内中は、アプリによる音声案内が一時的に中断される。なお、レストランガイドアプリは、単に、現在位置からの最寄りのレストランを検索するだけでなく、ユーザの行動・嗜好パターン等に基づいて案内すべきレストランの絞り込みを行う等の機能も有する。
【0076】
本実施形態では、複数のアプリの中から車両・ユーザ状況に応じて必要なものが自動的に起動され実行されるため、機能の増加によるナビゲーション装置10やスマートフォン20の操作性の低下が防止される。ユーザは、スマートフォン20に追加された機能が多数に及ぶ場合にも複雑な操作を強いられることなく車両の運転操作に集中することができるため、複雑な操作による運転の安全性の低下が防止される。また、本実施形態では、ユーザは、必要なアプリだけを情報処理連携システム1(より正確にはスマートフォン20)に追加することができる。そのため、ユーザ毎に機能をカスタマイズすることと、不要な機能を削除することの両方が同時に達成される。また、本実施形態では、追加されたアプリがスマートフォン20のタッチパネル206上に表示される。そのため、追加されたアプリを表示するにあたり、ナビゲーション装置10のLCD114に表示されるナビ情報の表示領域を減らす必要がない。
【0077】
以上が本発明の例示的な実施形態の説明である。本発明の実施形態は、上記に説明したものに限定されず、本発明の技術的思想の範囲において様々な変形が可能である。例えば明細書中に例示的に明示される実施例等又は自明な実施例等を適宜組み合わせた内容も本願の実施形態に含まれる。
【0078】
本実施形態では、ナビゲーション装置10の各コンポーネントがアプリの実行要求を発生させているが、別の実施形態では、スマートフォン20自体がアプリの実行要求を発生させてもよい。
【0079】
本実施形態では、アプリ制御用IF122を介してアプリとナビゲーション装置10のコンポーネントとがやり取りしているが、別の実施形態では、アプリの起動以降はアプリとコンポーネントとが直接やり取りするようにしてもよい。