サーバ装置、プログラム提供システム、プログラム提供方法、及び、プログラム
【課題】車両に搭載される制御装置のプログラムの更新中に、ユーザが車両機器の操作をすることを防止する。
【解決手段】プログラム提供システムにおいては、サーバ装置3の距離検出部8cが車両と車両のユーザとの距離を検出し、検出された距離が更新実行距離以上の場合に、更新指示部8eが更新用プログラムによりプログラムの更新を行うよう車載装置4へ指示する。これにより、ユーザが車両から十分離れている場合にプログラムの更新を指示するので、プログラムの更新中にユーザが車両に乗り込み、車両機器の操作をすることを防止できる。その結果、有効にプログラムの更新を完了できる。
【解決手段】プログラム提供システムにおいては、サーバ装置3の距離検出部8cが車両と車両のユーザとの距離を検出し、検出された距離が更新実行距離以上の場合に、更新指示部8eが更新用プログラムによりプログラムの更新を行うよう車載装置4へ指示する。これにより、ユーザが車両から十分離れている場合にプログラムの更新を指示するので、プログラムの更新中にユーザが車両に乗り込み、車両機器の操作をすることを防止できる。その結果、有効にプログラムの更新を完了できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に搭載される車載装置のプログラムを提供する技術に関する。
【背景技術】
【0002】
近年、例えばエンジン制御装置やナビゲーション装置などの車両に搭載される制御装置においては、プログラムを実行することにより各種の機能が実現されている。このような制御装置のプログラムは、機能を追加する場合や事後的に不具合が発見された場合などにおいて、更新(リプログラミング)が必要となる場合がある。従来より、このような制御装置のプログラムの更新を、ネットワークを介して行う技術が提案されている。例えば特許文献1は、ナビゲーション装置に対し、ネットワークを介してプログラムを更新する技術を開示し、車両の走行中に不用意にプログラムが更新されないよう、車両が自宅等において駐車中にプログラムの更新を行うことを提案している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−243339号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の装置は、ネットワークを介してプログラムの更新を行う技術を開示するが、今後、機能が複雑化して更新すべきプログラムの容量が増大するにつれ、更新時間も長時間化することが考えられる。このため、プログラムの更新中に、車両のユーザが車両に搭載される機器を不用意に操作する可能性も高くなる。
【0005】
プログラムの更新中に、車両のユーザが車両の機器を操作した場合においては、車両のバッテリから供給される電圧が変動する。その結果、プログラムを更新する更新装置の動作が不安定となる場合があり、プログラムの更新が正常に完了しないおそれがある。
【0006】
本発明は、上記課題に鑑みてなされたものであり、車両に搭載される制御装置のプログラムの更新中に、ユーザが車両機器の操作をすることを防止する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、請求項1の発明は、車両に搭載される制御装置のプログラムを提供するサーバ装置であって、前記車両に搭載される車載装置へ更新用プログラムを送信する送信手段と、前記車両と前記車両のユーザとの距離を検出する距離検出手段と、前記距離検出手段により検出された距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する更新指示手段と、を備えている。
【0008】
また、請求項2の発明は、請求項1に記載のサーバ装置において、前記距離検出手段により検出された距離が第1の距離以上の場合に、前記ユーザへ前記プログラムの更新を許可するよう通知する第1通知手段と、前記第1通知手段により通知されたユーザからの前記プログラムの更新を許可する許可信号を受信する受信手段と、をさらに備え、前記更新指示手段は、前記受信手段が前記許可信号を受信した場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する。
【0009】
また、請求項3の発明は、請求項1または2のいずれかに記載のサーバ装置において、前記第1の距離は、前記プログラムの更新時間に基づき導出される。
【0010】
また、請求項4の発明は、請求項1または2のいずれかに記載のサーバ装置において、前記第1の距離は、前記更新用プログラムの容量に基づき導出される。
【0011】
また、請求項5の発明は、請求項1ないし4のいずれかに記載のサーバ装置において、前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第2の距離以下と検出された場合に、前記プログラムの更新中である旨を前記ユーザに通知する第2通知手段と、をさらに備えている。
【0012】
また、請求項6の発明は、請求項1ないし5のいずれかに記載のサーバ装置において、前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第3の距離以下と検出された場合に、前記プログラムの更新の中断を指示する中断指示手段と、をさらに備えている。
【0013】
また、請求項7の発明は、請求項1ないし6のいずれかに記載のサーバ装置において、前記距離検出手段は、前記車載装置から送信される前記車両の位置を示す信号と、前記ユーザが所持する可搬性装置から送信される前記可搬性装置の位置を示す信号とに基づいて、前記距離を検出する。
【0014】
また、請求項8の発明は、プログラムの提供を行うプログラム提供システムであって、車両に搭載される車載装置と、前記車両に搭載される制御装置のプログラムの更新を行うよう前記車載装置へ指示するサーバ装置と、を備え、前記サーバ装置は、前記車載装置へ更新用プログラムを送信する送信手段と、前記車両と前記車両のユーザとの距離を検出する距離検出手段と、前記距離検出手段により検出された距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を指示する指示信号を前記車載装置へ送信する更新指示手段と、を備え、前記車載装置は、前記送信手段により送信された更新用プログラムを保存する保存手段と、前記更新指示手段による前記指示信号を受信する受信手段と、前記受信手段により前記指示信号を受信すると、前記保存手段に保存した更新用プログラムにより前記プログラムの更新を実行する更新実行手段と、を備えている。
【0015】
また、請求項9の発明は、車両に搭載される制御装置のプログラムを提供するプログラム提供方法であって、前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、前記車両と前記車両のユーザとの距離を検出する工程と、前記距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する工程と、を備えている。
【0016】
また、請求項10の発明は、車両に搭載される制御装置のプログラムを提供するサーバ装置に含まれるコンピュータによって実行可能なサーバ装置用プログラムであって、前記サーバ装置用プログラムの前記コンピュータによる実行は、前記コンピュータに、前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、前記車両と前記車両のユーザとの距離を検出する工程と、前記距離が第1の距離以上の場合に、前記更新用プログラムにより前記制御装置のプログラムの更新を行うよう前記車載装置へ指示する工程と、を実行させる。
【発明の効果】
【0017】
請求項1ないし10の発明によれば、車両と車両のユーザとの距離を検出し、検出された距離が第1の距離以上の場合に、更新用プログラムによりプログラムの更新を行うよう車載装置へ指示する。これにより、ユーザが車両から十分離れている場合にプログラムの更新を指示するので、プログラムの更新中にユーザが車両に乗り込み、車両機器の操作をすることがないため、有効にプログラムの更新を完了できる。
【0018】
また、特に請求項2の発明によれば、サーバ装置がプログラム更新を指示する前に、ユーザからプログラム更新の許可を得るので、ユーザが車両へ乗車予定である場合に、有効にプログラムの更新の開始を回避できる。
【0019】
また、特に請求項3の発明によれば、第1の距離はプログラムの更新時間に基づき算出されるので、更新が長時間に渡る場合でも、プログラム更新中にユーザが車両に乗り込み、車両機器の操作をすることがなく、有効にプログラムの更新を完了できる。
【0020】
また、特に請求項4の発明によれば、第1の距離は更新用プログラムの容量に基づき算出されるので、容量が大きく更新が長時間に渡る場合でも、プログラム更新中にユーザが車両に乗り込み、車両機器の操作をすることがなく、有効にプログラムの更新を完了できる。
【0021】
また、特に請求項5の発明によれば、プログラム更新中にユーザが車両に接近すると、プログラムの更新中である旨をユーザに通知するので、プログラム更新中にユーザが車両機器の操作を行うことがない。
【0022】
また、特に請求項6の発明によれば、プログラム更新中にユーザが車両に接近するとプログラムの更新を中断するので、ユーザが車両機器の操作を行うことに起因するプログラムの誤更新を防止できる。
【0023】
また、特に請求項7の発明によれば、車両とユーザとの距離を正確に検出することができる。
【図面の簡単な説明】
【0024】
【図1】図1は、プログラム提供システムの概要を示す図である。
【図2】図2は、サーバ装置の構成を示す図である。
【図3】図3は、車載装置の構成を示す図である。
【図4】図4は、携帯機器の構成を示す図である。
【図5】図5は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図6】図6は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図7】図7は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図8】図8は、プログラムの更新中を通知する一例を示す図である。
【図9】図9は、車載装置におけるプログラムの更新処理の流れを示す図である。
【図10】図10は、第2の実施の形態の車載装置の構成を示す図である。
【図11】図11は、第2の実施の形態の車載装置の処理の流れを示す図である。
【発明を実施するための形態】
【0025】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【0026】
<1.第1の実施の形態>
<1−1.システム構成>
図1は、本実施の形態に係るプログラム提供システム100の概要を示す図である。
【0027】
プログラム提供システム100は、自動車等の車両1に情報を提供するための機関である情報提供センター2に設けられるサーバ装置3、車両1に搭載される車載装置4、及び車両1のユーザ5の携帯する携帯機器6とを備えている。
【0028】
サーバ装置3、車載装置4、及び携帯機器6は、インターネット等のネットワーク7を介し、互いに通信可能となっている。携帯機器6を携帯するユーザ5は、車両1の乗車者(代表的には運転者)や車両1の操作者であり、車両1のドアロックやエンジンスタータ、オーディオ機器等の車載機器を操作し得る者である。
【0029】
サーバ装置3は、車両1に搭載された後に詳述するエンジンECU(Electronic Control Unit:電子制御装置)等のプログラムを更新するための更新用プログラムを車載装置4へ送信するハードウェア及びソフトウェアからなるコンピュータシステムである。また、サーバ装置3は、ネットワーク7を介し、複数の車両1,1a,1bの車載装置4,4a,4bへ一斉に更新用プログラムを送信することもできる。なお、エンジンECU、トランスミッションECU、及び、ナビゲーションECU等の車両の走行制御や運転操作を支援する制御装置を、以下、総称して車両制御装置という。
【0030】
車両制御装置のプログラムは、車両1に備えられた制御対象とするエンジン、トランスミッション、及び、ナビゲーション装置等を予め決められた処理に従い動作させるためのプログラムである。更新用プログラムは、既に車両制御装置に記憶されているプログラムに対し、新しい機能を追加する場合や不具合が発見された場合等に、かかるプログラムを更新するためのプログラムである。
【0031】
車載装置4は、サーバ装置3から送信される更新用プログラムを受信して、車両制御装置のプログラムを更新する電子制御装置である。
【0032】
また、携帯機器6は、ユーザ5が所持する可搬性装置である。
【0033】
<1−2.サーバ装置の構成>
図2は、サーバ装置3の構成を示す図である。サーバ装置3は、制御部8、通信部9、及びハードディスク10を備えるコンピュータシステムである。サーバ装置3は、通信部9により、ネットワーク7を介して、車両1に搭載された車載装置4及び車両1のユーザ5の携帯する携帯機器6との間で、各種情報の送受信を行うことが可能である。
【0034】
制御部8は、また図示しないCPU、RAM、及びROMを備えるコンピュータである。制御部8のROMには、サーバ装置用プログラムが記憶されている。このサーバ装置用プログラムをCPUが実行することで各種の機能が実現される。図中の更新用プログラム登録部8a、距離設定部8b、距離検出部8c、通知部8d、更新指示部8e、及び中断指示部8fは、このようにサーバ装置用プログラムをCPUが実行することで実現される機能の一部である。また、制御部8は、通信部9及びハードディスク10と接続され、各種情報の送受信を行うことが可能である。
【0035】
更新用プログラム登録部8aは、更新用プログラムを登録する。更新用プログラムは、情報提供センター2において作成され、図示しない入力装置によりサーバ装置3に入力されることにより、更新用プログラム登録部8aに登録される。登録された更新用プログラムは、制御部8により通信部9へ送信され、通信部9からネットワーク7を介して車両1の車載装置4へ送信される。
【0036】
距離設定部8bは、プログラムの更新を実行する条件となる車両1と車両1のユーザ5の携帯する携帯機器6との距離(以下、「更新実行距離」という)を設定する。なお、以下の説明においては、携帯機器6は、ユーザ5により常時携帯されているものとする。また、車両1とユーザ5との間の距離は、車両1とユーザ5の携帯する携帯機器6との間の距離を示す。
【0037】
距離設定部8bで設定された距離が、後に詳述するように、車両1とユーザ5と間の距離より小さい場合に、プログラムの更新が実行される。すなわち、ユーザ5が車両1から一定の距離より離れていれば、プログラムの更新時間が長時間となっても、プログラムの更新が完了するまでの間に、ユーザ5が車両1に乗り込み、車載機器を操作することができないためである。したがって、距離設定部8bは、プログラムの更新時間に基いて、プログラムの更新が完了するまでの間にユーザ5が車両機器の操作をすることができない程度の距離を設定する。例えば、1000[m]等の距離が設定される。この際、距離設定部8bは、ハードディスク10のテーブル10aを参照して、更新実行距離の設定を行う。
【0038】
テーブル10aは、プログラムの容量、プログラムの更新処理を実行するコンピュータの種類、プログラムの更新時間、プログラムの更新に必要な距離、及びユーザ5の平均的な移動速度からなるデータにより構成されている。各データは互いに相関付けられている。例えば、更新用プログラムの容量が1[GB]である場合には、プログラムの更新処理を実行するコンピュータの種類に応じて、プログラムの更新時間として15[分]及びプログラムの更新に必要な距離として1000[m]のデータがテーブル10aから参照される。
【0039】
距離検出部8cは、車両1とユーザ5との現在の距離(以下、「車両・ユーザ間距離」という)を検出する。かかる距離の検出は、車両1の車載装置4及びユーザ5の携帯する携帯機器6から緯度及び経度の位置情報を示す信号を各々取得し、かかる位置情報を所定の演算方法で処理することにより行われる。また、距離検出部8cは、車載装置4及びユーザ5から位置情報がサーバ装置へ送信される毎に又は一定期間毎に、車両・ユーザ間距離を算出する。
【0040】
通知部8dは、ユーザ5の携帯する携帯機器6に対し、各種通知を行う。かかる通知は、電子メールを送信することにより行うことができる。通知部8dは、サーバ装置3から車載装置4へ更新用プログラムが送信された後に、ユーザ5へプログラムの更新の可否を問う通知を行う。すなわち、通知部8dは、ユーザ5が所持する携帯機器6へプログラムの更新を許可するよう通知する。また、かかる通知は、距離設定部8bが設定した更新実行距離と、距離検出部8cが検出した車両・ユーザ間距離とを比較し、車両・ユーザ間距離の方が大きいと判断される場合、すなわちユーザ5が車両1から更新実行距離より遠くにいる場合に行われる。また、通知部8dは、プログラムの更新開始後プログラムの更新完了前に、ユーザ5が車両1へ接近し、乗車の可能性が発生したと判断される場合に、ユーザ5へプログラムの更新中である旨の通知を行う。ユーザ5に乗車の可能性が発生したと判断される場合とは、距離検出部8cが、ユーザ5が車両1から更新実行距離より近くにいると判断された場合である。
【0041】
また、ユーザ5に乗車の可能性が発生したと判断する条件は、ユーザ5が車両1から更新実行距離より短い所定の距離(以下、「更新中通知距離」という)より近くにいる場合としてもよい。更新中通知距離は、例えば10[m]の距離が設定される。この場合は、ユーザ5に乗車の可能性が高く発生したと判断することができる。ユーザ5は、かかる通知を受信した場合には、車両1への乗車を断念し、プログラム更新途中での車両機器の操作を回避することができる。
【0042】
また、通知部8dは、プログラムの更新を完了した旨、プログラムの更新を実行しなかった旨、及びプログラムの更新を中断した旨をプログラム更新の状況に応じてユーザ5へ送信する。
【0043】
更新指示部8eは、車載装置4に対し、車両制御装置内のプログラムを更新用プログラムで更新するよう指示信号を送信する。指示信号は、通信部9及びネットワーク7を介して、車載装置4へ送信される。更新指示部8eは、通知部8dからユーザ5への更新可否の問いに対し、ユーザ5から更新許可の返信があった場合に指示信号を送信する。なお、更新指示部8eは、ユーザ5から更新許可の返信があった場合ではなく、更新実行距離と車両・ユーザ間距離とを比較し、車両・ユーザ間距離の方が大きいと判断される場合に指示信号を送信してもよい。
【0044】
中断指示部8fは、プログラムの更新開始後プログラムの更新完了前に、プログラムの更新を中断するよう、車載装置4へ指示信号を送信する。かかる指示信号は、プログラムの更新開始後、更新実行距離と車両・ユーザ間距離とが一定距離(以下、「更新中断距離」という)より近くなった場合に送信される。すなわち、ユーザ5が車両1の至近距離まで接近し、ユーザ5の車両1への乗車や車両機器の操作が確実に予見される場合である。更新中断距離は、例えば0.8[m]の距離が設定される。
【0045】
通信部9は、サーバ装置3とネットワーク7とを接続し、両者のデータ通信を制御する。通信部9は、サーバ装置3からネットワーク7へデータを送信する場合には、かかるデータをネットワーク7内で通信され得る形式に変換し、データ送信を行う。また、通信部9は、ネットワーク7からサーバ装置3へのデータを受信する場合には、かかるデータをサーバ装置3で処理され得る形式に変換し、制御部8へ受信データを送信する。
【0046】
ハードディスク10は、テーブル10a、及び地図データベース10bを記憶する、繰り返しデータの上書きが可能な不揮発性の記録装置である。テーブル10aは、プログラムの容量、プログラムの更新処理を実行するコンピュータの種類、プログラムの更新時間及びプログラムの更新に必要な距離からなるデータにより構成されている。また、テーブル10aは、距離設定部8bが車両・ユーザ間距離を設定する際に参照される。地図データベース10bは、地図データを記憶している。地図データは、車両1が走行可能な道路情報が含まれ、緯度及び経度からなる位置情報と対応付けられている。また、ハードディスク10には、車載装置4から送信された車両1の位置情報が保存される。
【0047】
<1−3.車載装置の構成>
図3は、車載装置4の構成を主に示す図である。車載装置4は、車両1の内部に配置され、制御部11、通信部12、GPS受信部13、及び一時記憶部14を備える電子制御装置である。また、車載装置4は、エンジンECU15、トランスミッションECU16、ボディーECU17、及びナビゲーションECU18等の各種の車両制御装置と接続されている。車載装置4と車両制御装置15,16,17,18とは、CAN(Controller Area Network)19で相互に接続されている。CAN19で接続された各装置間において、速度、エンジンの回転数、ブレーキの状態、及び故障診断情報等の各種情報が送受信されている。また、これら送受信される情報には、更新用プログラム14aの他、更新時期、及びプログラムの改版情報等のプログラム識別情報が含まれる。
【0048】
制御部11は、更新部11a及び中断部11bを備え、また図示しないCPU、RAM、及びROMを備えるマイクロコンピュータである。制御部11は、ROMに予め記憶されたファームウェアとしてのプログラムに従いCPUが演算処理を実行することにより、車載装置4を制御する。図中に示す、更新部11a及び中断部11bは、CPUが演算処理を実行することで実現される機能の一部である。
【0049】
また、制御部11は、ユーザ5により図示しない電源の供給が遮断された後は、いわゆるスリープモードを備えている。
【0050】
更新部11aは、後に説明する一時記憶部14に記憶された更新用プログラム14aを読み出し、車載装置4に接続されたエンジンECU15等の車両制御装置内のプログラムを更新する。
【0051】
中断部11bは、更新部11aによるプログラムの更新処理を中断させる。
【0052】
通信部12は、WiMAX(Worldwide Interoperability for Microwave Access)等の無線通信技術を利用した通信機能を備える。通信部12は、通信アンテナ12aで信号の送受信を行い、ネットワーク7を介して他の無線通信装置と情報通信を行う。車載装置4は、この通信部12により、サーバ装置3及び携帯機器6との間で各種情報の送受信を行うことが可能となる。
【0053】
GPS受信部13は、車両1上空の軌道上を周回する複数のGPS衛星20から送信される信号をGPSアンテナ13aにより受信する。GPS衛星20からの信号には、時刻データ及び衛星の軌道情報等が含まれる。GPS受信部13は、受信した信号を制御部11へ送信する。制御部11は、GPS衛星20からの信号の送信とGPS受信部13の受信との時刻差に電波の伝播速度を掛けるなど所定の演算処理により、衛星から車両1までの距離を算出する。そして、複数のGPS衛星からの距離情報に基き、車両1の空間上の位置を緯度及び経度として算出する。
【0054】
一時記憶部14は、電気的にデータの読み書きが可能であり、電源を遮断されてもデータが消去されない不揮発性の半導体メモリである。一時記憶部14は、たとえばEEPROM(Electrically Erasable Programmable Read−Only Memory)やフラッシュメモリにより構成される。一時記憶部14は、更新用プログラム14aを一時的に記憶し、新たな更新用プログラムが制御部11から送信されると、それまで記憶していたプログラムに新たな更新用プログラムを上書きして記憶する。このように、一時記憶部14は、いわゆるバッファとして機能する。
【0055】
更新用プログラム14aは、車両制御装置に既に記憶されているプログラムに対し、機能を追加又は不具合を修復するプログラムである。更新用プログラム14aは、情報提供センター2内で作成され、サーバ装置3によりネットワーク7を介して車載装置4へ送信される。更新用プログラム14aには、プログラム更新の対象となる車両や車両制御装置の識別情報及びプログラムの改版情報が付加されている。なお、更新用プログラム14aは、更新部分のみのプログラムであっても良いし、更新されるプログラムの全体であってもよい。
【0056】
エンジンECU15は、車両1に備えられたセンサから走行状態等に関するデータを受信し、エンジンの燃料噴射量や点火タイミング、回転数等を電子制御する。かかる電子制御は、記憶部15aに記憶された制御用プログラム15bが実行されることにより行われる。記憶部15aは、エンジンを電子的に制御するための制御用プログラム15bと、制御用プログラム15bを更新する際に、いわゆるバックアップとなるバックアップ用プログラム15cとを記憶している。バックアップ用プログラム15cは、制御用プログラム15bが更新される際に作成される。なお、記憶部15a、記憶部15aに記憶されている制御用プログラム15b及びバックアップ用プログラム15cは、下記のトランスミッションECU16、ボディーECU17、及びナビゲーションECU18等の車両制御装置にも備えられているが、図示は省略する。
【0057】
トランスミッションECU16は、車両1に備えられたセンサからエンジン回転数や車両の走行速度、アクセルの開度等に関するデータを受信し、エンジンから伝達される動力の回転速度やトルクなどが適正な値となるよう車両1のトランスミッションを制御する。
【0058】
ボディーECU17は、ドアロック、灯火、ワイパ、及びエアコン等の制御を行う。
【0059】
ナビゲーションECU18は、地図データベース18aから地図情報を読み出し、GPS受信部13により受信された信号で特定される車両1の現在位置に対応し、地図を表示部18bに表示する。地図データベース18aは不揮発性の記憶装置であり、地図データを記憶している。地図データは、車両1が走行可能な道路情報が含まれている。また、ナビゲーションECU18は、ユーザ5により設定された目的地までのルートを探索し、ルート情報を地図とともに表示部18bに表示する。
【0060】
<1−4.携帯機器の構成>
図4は、ユーザ5が携帯する携帯機器6の構成を示す図である。携帯機器6は、例えば携帯電話であるが、携帯機器6の所在する位置情報をサーバ装置3へ伝達可能であって、ユーザ5が携帯可能な機器であればよい。携帯機器6は、制御部21、通信部22、GPS受信部23、表示部24、入力部25及びスピーカ26を備えている。
【0061】
制御部21は、通信部22、GPS受信部23、表示部24、入力部25及びスピーカ26と接続されたマイクロコンピュータである。制御部21は、外部のサーバ装置3等と情報通信を行う場合には、通信部22を制御して信号の送受信を行う。また、GPS受信部23が受信したGPS衛星20からの信号に所定の演算処理を行い、衛星から携帯機器6までの距離を算出する。そして、複数のGPS衛星からの距離情報に基き、携帯機器6の空間上の位置を緯度及び経度として算出する。また、ユーザ5に対して情報を報知する場合に、表示部24を制御して情報の表示を行い、ユーザ5が入力部25に入力した信号を受け付ける処理を行う。
【0062】
通信部22は、WiMAX等の無線通信技術を利用した通信機能を備える。また、通信部22は、通信アンテナ22aで信号の送受信を行い、ネットワーク7を介して他の無線通信装置と情報通信を行う。携帯機器6は、この通信部22により、サーバ装置3及び車載装置4との間で各種情報の送受信を行うことが可能となる。
【0063】
GPS受信部23は、車両1上空の軌道上を周回する複数のGPS衛星20から送信される信号をGPSアンテナ23aにより受信する。GPS衛星20からの信号には、時刻データ及び衛星の軌道情報等が含まれる。GPS受信部23は、受信した信号を制御部21へ送信する。
【0064】
表示部24は、図形や文字等の情報を表示して携帯機器6を携帯するユーザ5に情報を報知する画面である。
【0065】
スピーカ部26は、各種の音声を出力してユーザ5に情報を報知する。
【0066】
入力部25は、表示部24の周囲に配置された複数のボタンを含み、ユーザ5の操作が入力される。入力部25は、ユーザ5の操作が入力されると、入力された操作情報を制御部21へ送信する。また、入力部25は、表示部24の表面にタッチセンサとして構成することもできる。
【0067】
<1−5.処理>
次に、プログラム提供システム100におけるサーバ装置3の処理について説明する。
【0068】
図5及び図6は、サーバ装置3の処理の流れを示す図である。かかる処理は、情報提供センター2において作成された更新用プログラムが、サーバ装置3の更新用プログラム登録部8aに登録されることにより、開始される。
【0069】
まず、サーバ装置3の制御部8が、更新用プログラム登録部8aに登録された更新用プログラムを通信部9によりネットワーク7を介して車載装置4へ送信する(ステップS11)。更新すべきプログラムが複数の車両1,1a,1b(図1参照。)を対象とする場合には、制御部8は、複数の車載装置4,4a,4bへ更新用プログラムを一斉に送信する。この際、制御部8は、送信する時間帯や車載装置4を搭載した車両1の位置、車両1が走行中か否かに係わらず送信する。車載装置4は、一時記憶部14を備えているため、車両の状態に係わらず、更新用プログラムを受信しても、車両の走行等に影響を及ぼすことがないためである。
【0070】
次に、距離設定部8bが、プログラムの更新の実行を許可する距離(以下、「更新実行距離」という)を設定する(ステップS12)。かかる距離は、車両1とユーザ5との間の距離(車両・ユーザ間距離)である。この車両・ユーザ間距離が、設定された更新実行距離以上ある場合に、プログラムの更新の実行が許可される。更新実行距離は、プログラムの更新時間に応じて定められる。距離設定部8bは、プログラムの更新時間が長い場合には、更新実行距離を長く設定する。プログラムの更新時間と更新実行距離との関係は、予めハードディスク10内のテーブル10aに入力されている。したがって、距離設定部8bは、テーブル10aを参照して更新実行距離を設定する。更新実行距離が設定されることにより、プログラムの更新中にユーザ5が車両1に乗り込み、車両機器を操作することがない。すなわち、プログラムの更新中に車両機器が操作されることによる、電源変動やノイズ発生がないため、プログラムの更新を正常に完了することができる。
【0071】
次に、サーバ装置3の距離検出部8cが、通信部9を介して、車両1の位置情報を示す信号を受信する(ステップS13)。かかる位置情報は、緯度及び経度の情報からなり、車両1に搭載された車載装置4から所定周期で送信される。なお、距離検出部8cは、更新用プログラムを送信した車両のみの位置情報を受信してもよいし、サーバ装置3とネットワーク7を介して接続された全ての車両の位置情報を受信してもよい。距離検出部8cは、受信した車両1の位置情報をハードディスク10に既に記録した位置情報に上書きして保存する(ステップS14)。これにより、ハードディスク10には、常に車両1の最新の位置情報が保存される。
【0072】
次に、距離検出部8cは、車両1の位置情報を前回受信したときから所定時間以上経過したか否か判断する(ステップS15)。車両1から送信される位置情報は、車両1のイグニッションスイッチ(エンジンの始動や車載装置等の起動を可能にするためにバッテリ回路をオン・オフさせるスイッチ)がオンとなっている場合に送信される。従って、車両1の位置情報を前回受信したときから所定時間以上経過したと判断される場合(ステップS15にてYes)は、車両1が停止され、かつユーザ5が車両1から降車したと判断できる場合である。
【0073】
車両1からは位置情報が所定の周期で繰り返し送信されるため、車両1が車両位置を送信する周期を所定時間として設定すればよい。例えば、所定時間には、車両1から位置情報が送信される周期である10[分]を設定すればよい。
【0074】
車両1の位置情報を前回受信したときから所定時間以上経過していないと判断される場合(ステップS15にてNo)は、再度、車両位置の受信(ステップS13)及び保存を行う(ステップS14)。
【0075】
車両1の位置情報を前回受信したときから所定時間以上経過していると判断される場合は、次に、距離検出部8cは、ユーザ5の位置情報を受信する(ステップS16)。ユーザ5の位置情報の受信は、ユーザ5が携帯する携帯機器6から送信される位置情報を示す信号を受信することで行われる。かかる位置情報は、緯度及び経度の情報からなり、携帯機器6から所定周期で送信されている。
【0076】
次に、距離検出部8cは、車両・ユーザ間距離を算出する(ステップS17)。距離検出部8cは、ハードディスク10に保存された車両の位置情報とステップS16で受信したユーザの位置情報とに基づき、車両・ユーザ間距離を算出する。車両・ユーザ間距離は、車両とユーザとの直線距離又は最短の道路距離である。距離検出部8cは、車両とユーザとの直線距離を算出する場合は、両者の緯度及び経度に基き所定の演算処理により算出する。距離検出部8cは、車両とユーザとの最短の道路距離を算出する場合は、両者の緯度及び経度に基きハードディスク10内の地図データベース10bを参照することで最短の道路距離を算出する。
【0077】
次に、距離検出部8cが、車両・ユーザ間距離と更新実行距離とを比較する(ステップS18)。車両・ユーザ間距離が、更新実行距離より大きいと判断される場合(ステップS18にてYes)は、車両1からユーザ5が十分離れており、プログラムの更新を実行しても、更新中にユーザ5が車両1に乗り込み、車両機器を操作することがないと判断される場合である。この場合は、更新実行処理に続くステップS21へ進む。
【0078】
一方、車両・ユーザ間距離が、更新実行距離より大きくないと判断される場合(ステップS18にてNo)は、ユーザ5が車両1の付近に存在し、プログラムの更新中にユーザ5が車両1に乗り込み、車両機器を操作する可能性があると判断される場合である。この場合は、更新実行処理に続くステップS21へは進まず、ステップS13へ戻り、車両位置の受信及び保存を再度実行する。すなわち、ステップS18にてNoとなる場合は、ユーザが単に短時間の休憩等のため降車した場合があり、短時間の停車及び降車の後、再度乗車して走行を再開する恐れがある。このため、車両位置の受信及び保存を行い、再度、車両・ユーザ間距離を算出する必要がある。
【0079】
ステップS18にてYesであった場合は、次に、通知部8dが、プログラムの更新の可否を問う通知をユーザ5の携帯する携帯機器6へ送信する(図6のステップS21)。プログラムの更新可否をユーザ5に問うのは、ユーザ5が、プログラムの更新を希望せず、現在の車両状態で車両1を継続して乗車したいと考える場合や、直ちに車両1の使用を希望する場合があるためである。かかる通知は、電子メールの形式でユーザ5の携帯機器6へ送信することができる。
【0080】
次に、通知部8dは、通信部9を介して、ユーザ5の携帯機器6からの返信を受信する(ステップS22)。ユーザ5からの返信は、プログラムの更新を許可する許可信号と、プログラムの更新を許可しない不許可信号とのいずれかとなる。更新指示部8eは、ユーザ5からの返信を受信するまでは、プログラムの更新を待機する。なお、更新指示部8eは、プログラムの更新の可否を問う通知後、所定時間経過してもユーザ5からの返信がない場合は、プログラムの更新を実行するようにしてもよい。プログラムの更新は、新しい機能を追加する場合や不具合が発見された場合等に行われ、車両1の性能を低下させるものでないからである。ただし、プログラムの更新後にユーザ5から不許可信号が返信された場合には、更新したプログラムを更新前の状態に戻すための更新用プログラムを、再度、サーバ装置3から車載装置4へ送信すればよい。
【0081】
次に、更新指示部8eが、通知部8dが受信したユーザ5からの返信がプログラムの更新の「許可」であるか否か判断する(ステップS23)。更新指示部8eは、ユーザ5から不許可信号が返信された場合(ステップS23にてNo)は、プログラムの更新の実行処理(以下、「更新実行処理」という)は行わず、ステップS24に進む。
【0082】
通知部8dは、このようにユーザ5から不許可信号が返信された場合に、ユーザ5の携帯機器6に対し、プログラムの更新の未実行を示す通知を送信する(ステップS24)。ユーザ5は、かかる通知を受信することで、プログラムの更新が実行されなかった旨を知ることができる。これにより、ユーザ5は、後にプログラムの更新を希望する場合に、情報提供センターへその旨を連絡することで、再度、更新用プログラムの送信を受けることができる。
【0083】
一方、ステップS23において、ユーザ5からプログラムの更新を許可する許可信号が返信された場合(ステップS23にてYes)は、ステップS25に進み、主に更新指示部8eがプログラムの更新を行うように車載装置4に指示する処理である更新実行処理がなされる(ステップS25)。更新実行処理の詳細は、後に説明する。
【0084】
通知部8dは、更新実行処理が完了したと判断された場合に、プログラムの更新の完了を示す通知をユーザ5の携帯機器6へ送信する(ステップS26)。かかる通知を受けたユーザ5は、プログラムの更新が正常に完了した旨を知ることができ、安心して車両1へ乗車することができる。
【0085】
<1−6.更新実行処理>
次に、サーバ装置3における、更新実行処理について説明する。図7は、サーバ装置3の更新実行処理の流れを示す図であり、図6のステップS24の詳細を示すものである。
【0086】
まず、更新指示部8eが、プログラムの更新の実行を指示する更新指示信号を車載装置4へ送信する(ステップS31)。
【0087】
次に、更新指示部8eは、車載装置4にてプログラムの更新が完了した後に送信される通知(以下、「更新完了通知」という)を車載装置4から受信したか否かを判断する(ステップS32)。更新指示部8eは、更新完了通知を受信した場合(ステップS32にてYes)は、更新実行処理を終了する。一方、更新指示部8eが更新完了通知を受信していない場合(ステップS32にてNo)は、距離検出部8cがユーザ5の携帯する携帯機器6から送信される位置情報を示す信号を受信する(ステップS33)。
【0088】
ステップS33以下の処理は、プログラムの更新の完了前にユーザ5が車両1へ接近した場合のサーバ装置3の処理である。すなわち、ユーザ5にとって車両1へ至急乗車すべき事態が発生した場合、ユーザ5は急速に車両1へ接近することとなる。この場合、ユーザ5の移動速度が、テーブル10aで予め記録されたユーザ5の平均的な移動速度を上回ると、更新用プログラム送信後に設定した(ステップS12)更新実行距離では、足りない事態、すなわちプログラムの更新の完了前にユーザ5が車両1へ乗車する事態が発生する。したがって、このような事態に備え、更新指示部8eがプログラムの更新の実行を指示後、更新完了通知を受信するまでは、距離検出部8cがユーザ5の位置情報を継続的に受信する。そして、距離検出部8cが車両・ユーザ間距離が所定の距離である更新中通知距離より短いと判断すると、サーバ装置3において、この事態に対応する処理が実行される。
【0089】
距離検出部8cは、ステップS33でユーザ5の位置情報を受信すると、車両・ユーザ間距離を再度算出する(ステップS34)。この車両・ユーザ間距離の算出は、図5のステップS17と同様に行われる。
【0090】
次に、距離検出部8cは、車両・ユーザ間距離が更新中通知距離より小さいか否か判断する(ステップS35)。既に述べた通り、更新中通知距離は、例えば10[m]の距離が設定される。車両・ユーザ間距離が更新中通知距離より小さい場合は、ユーザ5に乗車の可能性が高く発生したと判断することができる。この場合、通知部8dが、既にユーザ5へプログラムの更新中である旨の通知がなされているか否か判断する(ステップS36)。同通知がなされていない場合(ステップS36にてNo)は、通知部8dは、ユーザ5の携帯機器6へプログラムの更新中である旨の通知を送信する(ステップS37)。ユーザ5は、かかる通知を受信した場合に、車両1への乗車を断念し、プログラム更新途中での車両機器の操作を回避できる。
【0091】
一方、既にユーザ5へプログラムの更新中である旨の通知がなされていると判断した場合(ステップS36にてYes)は、ユーザ5へ同通知を行わず、ステップS38へ進む。この場合に、ユーザ5へ同通知を行わないのは、車両・ユーザ間距離が更新中通知距離より短い間中、繰り返しユーザ5へ同一内容の通知が行われるのを回避するためである。
【0092】
また、ステップS35にてNoの場合、すなわち車両・ユーザ間距離が更新中通知距離より大きい場合は、ユーザ5へプログラムの更新中である旨の通知を行う必要がないので、ステップS38へ進む。
【0093】
次に、距離検出部8cは、車両・ユーザ間距離が更新中断距離より小さいか否か判断する(ステップS38)。既に述べた通り、更新中断距離は、例えば0.8[m]の距離が設定される。車両・ユーザ間距離が更新中断距離より小さい場合は、ユーザ5が車両1の至近距離まで接近し、ユーザ5が車両1へ乗車する場合や車両機器を操作する場合が確実に予見されるときである。
【0094】
距離検出部8cが、車両・ユーザ間距離が更新中断距離より小さいと判断すると(ステップS38にてYes)、中断指示部8fはプログラムの更新の中断を指示する中断指示信号を車載装置4へ送信する(ステップS39)。中断指示部8fがこの中断指示信号を送信すると、更新実行処理は終了する。また、車両・ユーザ間距離が更新中断距離より大きいと判断された場合(ステップS38にてNo)、処理はステップS32に戻り、上述した処理と同様の処理が繰り返される。
【0095】
次に、ユーザ5が携帯する携帯機器6の表示について説明する。図8は、ステップS37のサーバ装置3からの通知に応答した携帯機器6の表示部24における、表示の一例を示す図である。
【0096】
表示部24には、ユーザ5へプログラムの更新中である旨の通知が文字表示によりなされている。ユーザ5は、かかる表示を確認することにより、車両1への乗車を断念し、プログラム更新途中での車両機器の操作を回避できる。また、文字表示と同時に、表示された文字をスピーカ部26から音声で通知することもできる。この場合、ユーザ5が携帯機器をバッグやポケットに収納していた場合であっても、効果的に通知を行うことができる。
【0097】
なお、図8は、プログラムの更新中の通知(ステップS37)に係る情報の表示例を示したが、表示の内容を変更することにより、プログラムの更新可否の通知(図6のステップS21)、更新の完了の通知(ステップS25)、及び更新の未実行の通知(ステップS26)に係る情報を表示することができる。また、通知に対するユーザ5の返信は、入力部25へユーザ5が所定の操作を入力することで行うよう構成することもできる。この場合、どのような操作を入力すべきか、表示部24に表示することにより、ユーザ5の誤入力を防止できる。
【0098】
次に、図5から図7で説明したサーバ装置3の処理に応答した車載装置4の処理について説明する。図9は、この車載装置4の処理の流れを示す図である。
【0099】
まず、車載装置4の制御部11は、通信部12を介して、サーバ装置3から送信された更新用プログラムを受信する(ステップS41)。なお、前述のように、制御部11は、スリープモードを備え、ユーザ5により電源の供給が遮断された後は、所定周期で間欠的に起動しているため、電源供給の遮断後であっても更新用プログラムを受信することができる。
【0100】
制御部11は、更新用プログラムを受信すると、一時記憶部14へ更新用プログラムを記憶する(ステップS42)。
【0101】
次に、制御部11は、通信部12において、図7のステップS31でサーバ装置3から送信される更新指示信号を受信したか否か判断する(ステップS43)。この更新指示信号は、プログラムの更新の実行を指示するものである。制御部11は、更新指示信号を受信していないと判断すると(ステップS43にてNo)、ステップS43の判断を繰り返し、更新指示信号を受信する待機状態となる。
【0102】
制御部11は、サーバ装置3からの更新指示信号を受信したと判断すると(ステップS43にてYes)、更新部11aが、プログラムの更新を実行する(ステップS44)。
【0103】
次に、エンジンECU15の制御用プログラム15bを更新用プログラム14aで更新する制御について説明する。まず、更新部11aは、エンジンECU15の記憶部15aに記憶されている制御用プログラム15bの複製を作成する。この制御用プログラム15bの複製は、バックアップ用プログラム15cである。バックアップ用プログラム15cを作成することにより、制御用プログラム15bの更新が途中で中断された場合でも、エンジンECU15は、バックアップ用プログラム15cを用いて、エンジン制御を行うことができる。また、プログラムの更新が途中で中断された場合でも、制御用プログラム15bは、更新途中の状態で保存されるので、後にプログラムの更新を中断直後の状態から再開することができる。更新部11aは、記憶部15aにバックアップ用プログラム15cを作成すると、一時記憶部14に記憶した更新用プログラム14aを読み出して、制御用プログラム15bの更新を実行する。更新用プログラム14aは、制御用プログラム15bの全てを更新する場合や制御用プログラム15bの一部を更新する場合がある。
【0104】
プログラムの更新が実行されると、制御部11は、プログラムの更新が完了したか否か判断する(ステップS45)。プログラムの更新が完了したか否かの判断は、例えば、更新プログラムの容量から算出された更新時間の経過を検知することにより判断することができる。制御部11は、プログラムの更新が完了したと判断すると(ステップS45にてYes)、通信部12を介してプログラムの更新が完了した旨の更新完了通知を携帯機器6及びサーバ装置3へ送信する(ステップS46)。更新完了通知が送信されると、車載装置4における処理は終了する。
【0105】
一方、制御部11は、プログラムの更新が完了していないと判断すると(ステップS45にてNo)、図7のステップS39でサーバ装置3から送信される中断指示信号を受信しているか否か判断する(ステップS47)。この中断指示信号は、プログラムの更新の中断を指示するものである。制御部11は、サーバ装置3からの中断指示信号を受信していないと判断すると(ステップS47にてNo)、ステップS45に戻り、再度、プログラムの更新が完了したか否か判断する。
【0106】
制御部11がサーバ装置3からのプログラム更新の中断の指示信号を受信したと判断すると(ステップS47にてYes)、中断部11bが制御用プログラム15bの更新処理を中断する(ステップS48)。そして、制御部11は、中断情報の記憶を行う。中断情報の記憶処理は、プログラムの更新を行っていたECUの名称、制御用プログラム15bの識別番号、更新用プログラムの識別番号及びプログラムの更新が実行された内容を一時記憶部14に記憶することで行う。記憶されたこれらの情報は、再度、プログラムの更新を実行する際に制御部11により利用される。制御部11は、中断情報の記憶処理が行われると、通信部12を制御してプログラムの更新を中断した旨の更新中断通知を携帯機器6及びサーバ装置3へ送信する(ステップS49)。この際、制御部11は、上記の中断情報の記憶処理において一時記憶部14に記憶した各情報をサーバ装置3に対して併せて通知する。制御部11によるプログラムの更新を中断した旨の通知が行われると、車載装置4における処理は終了する。
【0107】
以上のように、本実施の形態のプログラム提供システム100においては、サーバ装置3の距離検出部8cが車両1と車両のユーザ5との距離を検出し、検出された距離が更新実行距離以上の場合に、更新指示部8eが更新用プログラムによりプログラムの更新を行うよう車載装置4へ指示する。これにより、ユーザ5が車両1から十分離れている場合にプログラムの更新を指示するので、プログラムの更新中にユーザ5が車両1に乗り込み、車両機器の操作をすることを防止できる。その結果、有効にプログラムの更新を完了できる。
【0108】
<2.第2の実施の形態>
上記第1の実施の形態では、サーバ装置3において、プログラムの更新の実行後、車両・ユーザ間距離が更新中断距離より小さいか判断し、小さいと判断される場合にプログラムの更新の中断を車載装置4へ指示していた。これに対し、車両1に搭載された車載装置4が、ユーザ5の接近を検知することにより、プログラムの中断を実行することもできる。第2の実施の形態では、車載装置4が携帯機器6と近距離通信を行うことにより、ユーザ5の接近を検知してプログラムの中断を行う。第2の実施の形態のプログラム提供システム100の構成及び処理は、第1の実施の形態とほぼ同様であるため、以下、第1の実施の形態との相違点を中心に説明する。
【0109】
図10は、第2の実施の形態の車載装置4の構成を示す図である。第2の実施の形態の車載装置4の構成は、図3に示す第1の実施の形態の車載装置4とほぼ同様であるが、一部で構成を相違している。具体的には、車載装置4は、近距離通信部31を備えている。なお、図10の各構成において、図3と同一の符号で示すものは、図3と同様の機能を発揮するものである。したがって、図10の説明においては、図3と異なる構成について説明する。
【0110】
近距離通信部31は、携帯機器6と無線通信により、直接通信可能となっている。かかる通信は、例えば車両の自動開錠を行ういわゆるスマートエントリのシステムと同様の手法で行うことができる。すなわち、近距離通信部31は、所定周期で信号を発信し、携帯機器6の接近を監視する。発信した信号が到達するエリア(以下、「近距離通信エリア」という)に携帯機器6が進入すると、携帯機器6の通信部22が信号を受信する。そして、携帯機器6の制御部21が、受信信号が近距離通信部31からの信号と判断した場合、通信部22から近距離通信部31へ信号を返信する。返信される信号には、携帯機器6の識別番号が含まれている。車載装置4の制御部11は、携帯機器6から返信された信号の照合処理を行う。照合処理の結果、携帯機器6から返信された信号に含まれる識別番号が、予め記憶してある識別番号31aと同一である場合に、車載装置4はユーザ5が接近したと判別できる。なお、近距離通信エリアは、近距離通信部31から約0.7から1.0メートル程度の距離の範囲である。また、近距離通信部31が信号を発信する周期は、0.3秒程度である。また、近距離通信部31は、車両1が駐車状態であっても常に所定周期で信号を発信する。
【0111】
次に、図11を参照して、車載装置4の更新実行処理の第2の実施の形態について説明する。図11は、近距離通信部31を備えた車載装置4における更新実行処理の流れを示す図であり、図9に示す第1の実施の形態の更新実行処理とほぼ同様であるが、一部で構成を相違している。具体的には、図11に示す更新実行処理は、ステップS51を備えている。なお、図11の各ステップにおいて、図9と同一の符号で示すものは、図9と同様の機能を発揮するものである。したがって、図11の説明においては、図9と異なるステップについて説明する。
【0112】
車載装置4の制御部11は、プログラムの更新が完了していないと判断した場合(ステップS45にてNo)に、ステップS51へ進む。
【0113】
ステップS51では、制御部11が、近距離通信部31によりユーザ5の携帯する携帯機器6と通信が行われたか否かが判断される。かかる判断は、携帯機器6から返信された信号に含まれる識別番号の照合処理により行われる。通信が行われたと判断される場合(ステップS51にてYes)には、ステップS48へ進み、中断部11bがプログラムの更新の中断を行う。一方、制御部11が携帯機器6と通信が行われていないと判断される場合(ステップS51にてNo)には、制御部11がサーバ装置3からのプログラム更新の中断の指示信号を受信しているか否かの判断を行う(ステップS47)。
【0114】
以上のように、第2の実施の形態の車載装置4は、近距離通信部31がユーザ5の携帯機器6との通信が行われたか否かに基づいて、実質的に車両1とユーザ5との距離を判定する。そして、携帯機器6との通信が行われた場合、すなわち、車両1とユーザ5との距離が通信が可能な程度に近い場合は、中断部11bがプログラムの更新の中断する。したがって、サーバ装置3からユーザ5が接近した際のプログラムの更新の中断指示を受信しなくとも、車載装置4単体でユーザ5の接近を検知して、プログラムの更新の中断を行うことができる。
【0115】
<3.変形例>
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく、様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態で説明した形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせが可能である。
【0116】
上記第1の実施の形態では、車載装置4とエンジンECU等の車両制御装置とを異なる装置として説明したが、両装置を一体に構成してもよい。また、エンジン制御装置等の制御装置は、更新用プログラムによりプログラムの更新を行う車載装置の一部として構成することができる。また、更新用プログラムによりプログラムの更新を行う車載装置は、エンジン制御装置等の制御装置の一部として構成することができる。
【0117】
プログラムの更新はエンジンECU15の制御用プログラム15bを例に説明したが、プログラムの更新はトランスミッションECU16やその他の車両制御装置であってもよい。すなわち、プログラムの更新の対象となる制御装置は、車両に搭載されて、プログラムで制御されるものであればよい。
【0118】
携帯機器6は、携帯電話でもよいし、スマートフォンであってもよい。また、電波を発信して車両ドアの開錠を行ういわゆるキーレスエントリやスマートエントリに用いられる携帯型の発信機と一体に構成してもよい。
【0119】
近距離通信部31は、第2の実施の形態で説明したスマートエントリのシステムのほか、例えばDSRC(Dedicated Short Range Communications:狭域通信)やBluetooth(ブルートゥース(登録商標))を用いてもよい。DSRCを用いた場合には、発信機となる近距離通信部31を車両上方に設置し、ユーザ5の携帯する携帯機器6の接近を検知してもよい。また、Bluetoothを用いた場合には、近距離通信部31と携帯機器6との無線接続(いわゆるペアリング)が行われたことにより、ユーザ5の接近を検知してもよい。
【0120】
上記実施の形態では、プログラムに従ったCPUの演算処理によってソフトウェア的に各種の機能が実現されると説明したが、これら機能のうちの一部は電気的なハードウェア回路により実現されてもよい。
【符号の説明】
【0121】
100 プログラム提供システム
1 車両
2 情報提供センター
3 サーバ装置
4 車載装置
5 ユーザ
6 携帯機器
8b 距離設定部
8c 距離検出部
8d 通知部
8e 更新指示部
8f 中断指示部
【技術分野】
【0001】
本発明は、車両に搭載される車載装置のプログラムを提供する技術に関する。
【背景技術】
【0002】
近年、例えばエンジン制御装置やナビゲーション装置などの車両に搭載される制御装置においては、プログラムを実行することにより各種の機能が実現されている。このような制御装置のプログラムは、機能を追加する場合や事後的に不具合が発見された場合などにおいて、更新(リプログラミング)が必要となる場合がある。従来より、このような制御装置のプログラムの更新を、ネットワークを介して行う技術が提案されている。例えば特許文献1は、ナビゲーション装置に対し、ネットワークを介してプログラムを更新する技術を開示し、車両の走行中に不用意にプログラムが更新されないよう、車両が自宅等において駐車中にプログラムの更新を行うことを提案している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−243339号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の装置は、ネットワークを介してプログラムの更新を行う技術を開示するが、今後、機能が複雑化して更新すべきプログラムの容量が増大するにつれ、更新時間も長時間化することが考えられる。このため、プログラムの更新中に、車両のユーザが車両に搭載される機器を不用意に操作する可能性も高くなる。
【0005】
プログラムの更新中に、車両のユーザが車両の機器を操作した場合においては、車両のバッテリから供給される電圧が変動する。その結果、プログラムを更新する更新装置の動作が不安定となる場合があり、プログラムの更新が正常に完了しないおそれがある。
【0006】
本発明は、上記課題に鑑みてなされたものであり、車両に搭載される制御装置のプログラムの更新中に、ユーザが車両機器の操作をすることを防止する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、請求項1の発明は、車両に搭載される制御装置のプログラムを提供するサーバ装置であって、前記車両に搭載される車載装置へ更新用プログラムを送信する送信手段と、前記車両と前記車両のユーザとの距離を検出する距離検出手段と、前記距離検出手段により検出された距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する更新指示手段と、を備えている。
【0008】
また、請求項2の発明は、請求項1に記載のサーバ装置において、前記距離検出手段により検出された距離が第1の距離以上の場合に、前記ユーザへ前記プログラムの更新を許可するよう通知する第1通知手段と、前記第1通知手段により通知されたユーザからの前記プログラムの更新を許可する許可信号を受信する受信手段と、をさらに備え、前記更新指示手段は、前記受信手段が前記許可信号を受信した場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する。
【0009】
また、請求項3の発明は、請求項1または2のいずれかに記載のサーバ装置において、前記第1の距離は、前記プログラムの更新時間に基づき導出される。
【0010】
また、請求項4の発明は、請求項1または2のいずれかに記載のサーバ装置において、前記第1の距離は、前記更新用プログラムの容量に基づき導出される。
【0011】
また、請求項5の発明は、請求項1ないし4のいずれかに記載のサーバ装置において、前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第2の距離以下と検出された場合に、前記プログラムの更新中である旨を前記ユーザに通知する第2通知手段と、をさらに備えている。
【0012】
また、請求項6の発明は、請求項1ないし5のいずれかに記載のサーバ装置において、前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第3の距離以下と検出された場合に、前記プログラムの更新の中断を指示する中断指示手段と、をさらに備えている。
【0013】
また、請求項7の発明は、請求項1ないし6のいずれかに記載のサーバ装置において、前記距離検出手段は、前記車載装置から送信される前記車両の位置を示す信号と、前記ユーザが所持する可搬性装置から送信される前記可搬性装置の位置を示す信号とに基づいて、前記距離を検出する。
【0014】
また、請求項8の発明は、プログラムの提供を行うプログラム提供システムであって、車両に搭載される車載装置と、前記車両に搭載される制御装置のプログラムの更新を行うよう前記車載装置へ指示するサーバ装置と、を備え、前記サーバ装置は、前記車載装置へ更新用プログラムを送信する送信手段と、前記車両と前記車両のユーザとの距離を検出する距離検出手段と、前記距離検出手段により検出された距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を指示する指示信号を前記車載装置へ送信する更新指示手段と、を備え、前記車載装置は、前記送信手段により送信された更新用プログラムを保存する保存手段と、前記更新指示手段による前記指示信号を受信する受信手段と、前記受信手段により前記指示信号を受信すると、前記保存手段に保存した更新用プログラムにより前記プログラムの更新を実行する更新実行手段と、を備えている。
【0015】
また、請求項9の発明は、車両に搭載される制御装置のプログラムを提供するプログラム提供方法であって、前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、前記車両と前記車両のユーザとの距離を検出する工程と、前記距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する工程と、を備えている。
【0016】
また、請求項10の発明は、車両に搭載される制御装置のプログラムを提供するサーバ装置に含まれるコンピュータによって実行可能なサーバ装置用プログラムであって、前記サーバ装置用プログラムの前記コンピュータによる実行は、前記コンピュータに、前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、前記車両と前記車両のユーザとの距離を検出する工程と、前記距離が第1の距離以上の場合に、前記更新用プログラムにより前記制御装置のプログラムの更新を行うよう前記車載装置へ指示する工程と、を実行させる。
【発明の効果】
【0017】
請求項1ないし10の発明によれば、車両と車両のユーザとの距離を検出し、検出された距離が第1の距離以上の場合に、更新用プログラムによりプログラムの更新を行うよう車載装置へ指示する。これにより、ユーザが車両から十分離れている場合にプログラムの更新を指示するので、プログラムの更新中にユーザが車両に乗り込み、車両機器の操作をすることがないため、有効にプログラムの更新を完了できる。
【0018】
また、特に請求項2の発明によれば、サーバ装置がプログラム更新を指示する前に、ユーザからプログラム更新の許可を得るので、ユーザが車両へ乗車予定である場合に、有効にプログラムの更新の開始を回避できる。
【0019】
また、特に請求項3の発明によれば、第1の距離はプログラムの更新時間に基づき算出されるので、更新が長時間に渡る場合でも、プログラム更新中にユーザが車両に乗り込み、車両機器の操作をすることがなく、有効にプログラムの更新を完了できる。
【0020】
また、特に請求項4の発明によれば、第1の距離は更新用プログラムの容量に基づき算出されるので、容量が大きく更新が長時間に渡る場合でも、プログラム更新中にユーザが車両に乗り込み、車両機器の操作をすることがなく、有効にプログラムの更新を完了できる。
【0021】
また、特に請求項5の発明によれば、プログラム更新中にユーザが車両に接近すると、プログラムの更新中である旨をユーザに通知するので、プログラム更新中にユーザが車両機器の操作を行うことがない。
【0022】
また、特に請求項6の発明によれば、プログラム更新中にユーザが車両に接近するとプログラムの更新を中断するので、ユーザが車両機器の操作を行うことに起因するプログラムの誤更新を防止できる。
【0023】
また、特に請求項7の発明によれば、車両とユーザとの距離を正確に検出することができる。
【図面の簡単な説明】
【0024】
【図1】図1は、プログラム提供システムの概要を示す図である。
【図2】図2は、サーバ装置の構成を示す図である。
【図3】図3は、車載装置の構成を示す図である。
【図4】図4は、携帯機器の構成を示す図である。
【図5】図5は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図6】図6は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図7】図7は、サーバ装置におけるプログラムの提供処理の流れを示す図である。
【図8】図8は、プログラムの更新中を通知する一例を示す図である。
【図9】図9は、車載装置におけるプログラムの更新処理の流れを示す図である。
【図10】図10は、第2の実施の形態の車載装置の構成を示す図である。
【図11】図11は、第2の実施の形態の車載装置の処理の流れを示す図である。
【発明を実施するための形態】
【0025】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【0026】
<1.第1の実施の形態>
<1−1.システム構成>
図1は、本実施の形態に係るプログラム提供システム100の概要を示す図である。
【0027】
プログラム提供システム100は、自動車等の車両1に情報を提供するための機関である情報提供センター2に設けられるサーバ装置3、車両1に搭載される車載装置4、及び車両1のユーザ5の携帯する携帯機器6とを備えている。
【0028】
サーバ装置3、車載装置4、及び携帯機器6は、インターネット等のネットワーク7を介し、互いに通信可能となっている。携帯機器6を携帯するユーザ5は、車両1の乗車者(代表的には運転者)や車両1の操作者であり、車両1のドアロックやエンジンスタータ、オーディオ機器等の車載機器を操作し得る者である。
【0029】
サーバ装置3は、車両1に搭載された後に詳述するエンジンECU(Electronic Control Unit:電子制御装置)等のプログラムを更新するための更新用プログラムを車載装置4へ送信するハードウェア及びソフトウェアからなるコンピュータシステムである。また、サーバ装置3は、ネットワーク7を介し、複数の車両1,1a,1bの車載装置4,4a,4bへ一斉に更新用プログラムを送信することもできる。なお、エンジンECU、トランスミッションECU、及び、ナビゲーションECU等の車両の走行制御や運転操作を支援する制御装置を、以下、総称して車両制御装置という。
【0030】
車両制御装置のプログラムは、車両1に備えられた制御対象とするエンジン、トランスミッション、及び、ナビゲーション装置等を予め決められた処理に従い動作させるためのプログラムである。更新用プログラムは、既に車両制御装置に記憶されているプログラムに対し、新しい機能を追加する場合や不具合が発見された場合等に、かかるプログラムを更新するためのプログラムである。
【0031】
車載装置4は、サーバ装置3から送信される更新用プログラムを受信して、車両制御装置のプログラムを更新する電子制御装置である。
【0032】
また、携帯機器6は、ユーザ5が所持する可搬性装置である。
【0033】
<1−2.サーバ装置の構成>
図2は、サーバ装置3の構成を示す図である。サーバ装置3は、制御部8、通信部9、及びハードディスク10を備えるコンピュータシステムである。サーバ装置3は、通信部9により、ネットワーク7を介して、車両1に搭載された車載装置4及び車両1のユーザ5の携帯する携帯機器6との間で、各種情報の送受信を行うことが可能である。
【0034】
制御部8は、また図示しないCPU、RAM、及びROMを備えるコンピュータである。制御部8のROMには、サーバ装置用プログラムが記憶されている。このサーバ装置用プログラムをCPUが実行することで各種の機能が実現される。図中の更新用プログラム登録部8a、距離設定部8b、距離検出部8c、通知部8d、更新指示部8e、及び中断指示部8fは、このようにサーバ装置用プログラムをCPUが実行することで実現される機能の一部である。また、制御部8は、通信部9及びハードディスク10と接続され、各種情報の送受信を行うことが可能である。
【0035】
更新用プログラム登録部8aは、更新用プログラムを登録する。更新用プログラムは、情報提供センター2において作成され、図示しない入力装置によりサーバ装置3に入力されることにより、更新用プログラム登録部8aに登録される。登録された更新用プログラムは、制御部8により通信部9へ送信され、通信部9からネットワーク7を介して車両1の車載装置4へ送信される。
【0036】
距離設定部8bは、プログラムの更新を実行する条件となる車両1と車両1のユーザ5の携帯する携帯機器6との距離(以下、「更新実行距離」という)を設定する。なお、以下の説明においては、携帯機器6は、ユーザ5により常時携帯されているものとする。また、車両1とユーザ5との間の距離は、車両1とユーザ5の携帯する携帯機器6との間の距離を示す。
【0037】
距離設定部8bで設定された距離が、後に詳述するように、車両1とユーザ5と間の距離より小さい場合に、プログラムの更新が実行される。すなわち、ユーザ5が車両1から一定の距離より離れていれば、プログラムの更新時間が長時間となっても、プログラムの更新が完了するまでの間に、ユーザ5が車両1に乗り込み、車載機器を操作することができないためである。したがって、距離設定部8bは、プログラムの更新時間に基いて、プログラムの更新が完了するまでの間にユーザ5が車両機器の操作をすることができない程度の距離を設定する。例えば、1000[m]等の距離が設定される。この際、距離設定部8bは、ハードディスク10のテーブル10aを参照して、更新実行距離の設定を行う。
【0038】
テーブル10aは、プログラムの容量、プログラムの更新処理を実行するコンピュータの種類、プログラムの更新時間、プログラムの更新に必要な距離、及びユーザ5の平均的な移動速度からなるデータにより構成されている。各データは互いに相関付けられている。例えば、更新用プログラムの容量が1[GB]である場合には、プログラムの更新処理を実行するコンピュータの種類に応じて、プログラムの更新時間として15[分]及びプログラムの更新に必要な距離として1000[m]のデータがテーブル10aから参照される。
【0039】
距離検出部8cは、車両1とユーザ5との現在の距離(以下、「車両・ユーザ間距離」という)を検出する。かかる距離の検出は、車両1の車載装置4及びユーザ5の携帯する携帯機器6から緯度及び経度の位置情報を示す信号を各々取得し、かかる位置情報を所定の演算方法で処理することにより行われる。また、距離検出部8cは、車載装置4及びユーザ5から位置情報がサーバ装置へ送信される毎に又は一定期間毎に、車両・ユーザ間距離を算出する。
【0040】
通知部8dは、ユーザ5の携帯する携帯機器6に対し、各種通知を行う。かかる通知は、電子メールを送信することにより行うことができる。通知部8dは、サーバ装置3から車載装置4へ更新用プログラムが送信された後に、ユーザ5へプログラムの更新の可否を問う通知を行う。すなわち、通知部8dは、ユーザ5が所持する携帯機器6へプログラムの更新を許可するよう通知する。また、かかる通知は、距離設定部8bが設定した更新実行距離と、距離検出部8cが検出した車両・ユーザ間距離とを比較し、車両・ユーザ間距離の方が大きいと判断される場合、すなわちユーザ5が車両1から更新実行距離より遠くにいる場合に行われる。また、通知部8dは、プログラムの更新開始後プログラムの更新完了前に、ユーザ5が車両1へ接近し、乗車の可能性が発生したと判断される場合に、ユーザ5へプログラムの更新中である旨の通知を行う。ユーザ5に乗車の可能性が発生したと判断される場合とは、距離検出部8cが、ユーザ5が車両1から更新実行距離より近くにいると判断された場合である。
【0041】
また、ユーザ5に乗車の可能性が発生したと判断する条件は、ユーザ5が車両1から更新実行距離より短い所定の距離(以下、「更新中通知距離」という)より近くにいる場合としてもよい。更新中通知距離は、例えば10[m]の距離が設定される。この場合は、ユーザ5に乗車の可能性が高く発生したと判断することができる。ユーザ5は、かかる通知を受信した場合には、車両1への乗車を断念し、プログラム更新途中での車両機器の操作を回避することができる。
【0042】
また、通知部8dは、プログラムの更新を完了した旨、プログラムの更新を実行しなかった旨、及びプログラムの更新を中断した旨をプログラム更新の状況に応じてユーザ5へ送信する。
【0043】
更新指示部8eは、車載装置4に対し、車両制御装置内のプログラムを更新用プログラムで更新するよう指示信号を送信する。指示信号は、通信部9及びネットワーク7を介して、車載装置4へ送信される。更新指示部8eは、通知部8dからユーザ5への更新可否の問いに対し、ユーザ5から更新許可の返信があった場合に指示信号を送信する。なお、更新指示部8eは、ユーザ5から更新許可の返信があった場合ではなく、更新実行距離と車両・ユーザ間距離とを比較し、車両・ユーザ間距離の方が大きいと判断される場合に指示信号を送信してもよい。
【0044】
中断指示部8fは、プログラムの更新開始後プログラムの更新完了前に、プログラムの更新を中断するよう、車載装置4へ指示信号を送信する。かかる指示信号は、プログラムの更新開始後、更新実行距離と車両・ユーザ間距離とが一定距離(以下、「更新中断距離」という)より近くなった場合に送信される。すなわち、ユーザ5が車両1の至近距離まで接近し、ユーザ5の車両1への乗車や車両機器の操作が確実に予見される場合である。更新中断距離は、例えば0.8[m]の距離が設定される。
【0045】
通信部9は、サーバ装置3とネットワーク7とを接続し、両者のデータ通信を制御する。通信部9は、サーバ装置3からネットワーク7へデータを送信する場合には、かかるデータをネットワーク7内で通信され得る形式に変換し、データ送信を行う。また、通信部9は、ネットワーク7からサーバ装置3へのデータを受信する場合には、かかるデータをサーバ装置3で処理され得る形式に変換し、制御部8へ受信データを送信する。
【0046】
ハードディスク10は、テーブル10a、及び地図データベース10bを記憶する、繰り返しデータの上書きが可能な不揮発性の記録装置である。テーブル10aは、プログラムの容量、プログラムの更新処理を実行するコンピュータの種類、プログラムの更新時間及びプログラムの更新に必要な距離からなるデータにより構成されている。また、テーブル10aは、距離設定部8bが車両・ユーザ間距離を設定する際に参照される。地図データベース10bは、地図データを記憶している。地図データは、車両1が走行可能な道路情報が含まれ、緯度及び経度からなる位置情報と対応付けられている。また、ハードディスク10には、車載装置4から送信された車両1の位置情報が保存される。
【0047】
<1−3.車載装置の構成>
図3は、車載装置4の構成を主に示す図である。車載装置4は、車両1の内部に配置され、制御部11、通信部12、GPS受信部13、及び一時記憶部14を備える電子制御装置である。また、車載装置4は、エンジンECU15、トランスミッションECU16、ボディーECU17、及びナビゲーションECU18等の各種の車両制御装置と接続されている。車載装置4と車両制御装置15,16,17,18とは、CAN(Controller Area Network)19で相互に接続されている。CAN19で接続された各装置間において、速度、エンジンの回転数、ブレーキの状態、及び故障診断情報等の各種情報が送受信されている。また、これら送受信される情報には、更新用プログラム14aの他、更新時期、及びプログラムの改版情報等のプログラム識別情報が含まれる。
【0048】
制御部11は、更新部11a及び中断部11bを備え、また図示しないCPU、RAM、及びROMを備えるマイクロコンピュータである。制御部11は、ROMに予め記憶されたファームウェアとしてのプログラムに従いCPUが演算処理を実行することにより、車載装置4を制御する。図中に示す、更新部11a及び中断部11bは、CPUが演算処理を実行することで実現される機能の一部である。
【0049】
また、制御部11は、ユーザ5により図示しない電源の供給が遮断された後は、いわゆるスリープモードを備えている。
【0050】
更新部11aは、後に説明する一時記憶部14に記憶された更新用プログラム14aを読み出し、車載装置4に接続されたエンジンECU15等の車両制御装置内のプログラムを更新する。
【0051】
中断部11bは、更新部11aによるプログラムの更新処理を中断させる。
【0052】
通信部12は、WiMAX(Worldwide Interoperability for Microwave Access)等の無線通信技術を利用した通信機能を備える。通信部12は、通信アンテナ12aで信号の送受信を行い、ネットワーク7を介して他の無線通信装置と情報通信を行う。車載装置4は、この通信部12により、サーバ装置3及び携帯機器6との間で各種情報の送受信を行うことが可能となる。
【0053】
GPS受信部13は、車両1上空の軌道上を周回する複数のGPS衛星20から送信される信号をGPSアンテナ13aにより受信する。GPS衛星20からの信号には、時刻データ及び衛星の軌道情報等が含まれる。GPS受信部13は、受信した信号を制御部11へ送信する。制御部11は、GPS衛星20からの信号の送信とGPS受信部13の受信との時刻差に電波の伝播速度を掛けるなど所定の演算処理により、衛星から車両1までの距離を算出する。そして、複数のGPS衛星からの距離情報に基き、車両1の空間上の位置を緯度及び経度として算出する。
【0054】
一時記憶部14は、電気的にデータの読み書きが可能であり、電源を遮断されてもデータが消去されない不揮発性の半導体メモリである。一時記憶部14は、たとえばEEPROM(Electrically Erasable Programmable Read−Only Memory)やフラッシュメモリにより構成される。一時記憶部14は、更新用プログラム14aを一時的に記憶し、新たな更新用プログラムが制御部11から送信されると、それまで記憶していたプログラムに新たな更新用プログラムを上書きして記憶する。このように、一時記憶部14は、いわゆるバッファとして機能する。
【0055】
更新用プログラム14aは、車両制御装置に既に記憶されているプログラムに対し、機能を追加又は不具合を修復するプログラムである。更新用プログラム14aは、情報提供センター2内で作成され、サーバ装置3によりネットワーク7を介して車載装置4へ送信される。更新用プログラム14aには、プログラム更新の対象となる車両や車両制御装置の識別情報及びプログラムの改版情報が付加されている。なお、更新用プログラム14aは、更新部分のみのプログラムであっても良いし、更新されるプログラムの全体であってもよい。
【0056】
エンジンECU15は、車両1に備えられたセンサから走行状態等に関するデータを受信し、エンジンの燃料噴射量や点火タイミング、回転数等を電子制御する。かかる電子制御は、記憶部15aに記憶された制御用プログラム15bが実行されることにより行われる。記憶部15aは、エンジンを電子的に制御するための制御用プログラム15bと、制御用プログラム15bを更新する際に、いわゆるバックアップとなるバックアップ用プログラム15cとを記憶している。バックアップ用プログラム15cは、制御用プログラム15bが更新される際に作成される。なお、記憶部15a、記憶部15aに記憶されている制御用プログラム15b及びバックアップ用プログラム15cは、下記のトランスミッションECU16、ボディーECU17、及びナビゲーションECU18等の車両制御装置にも備えられているが、図示は省略する。
【0057】
トランスミッションECU16は、車両1に備えられたセンサからエンジン回転数や車両の走行速度、アクセルの開度等に関するデータを受信し、エンジンから伝達される動力の回転速度やトルクなどが適正な値となるよう車両1のトランスミッションを制御する。
【0058】
ボディーECU17は、ドアロック、灯火、ワイパ、及びエアコン等の制御を行う。
【0059】
ナビゲーションECU18は、地図データベース18aから地図情報を読み出し、GPS受信部13により受信された信号で特定される車両1の現在位置に対応し、地図を表示部18bに表示する。地図データベース18aは不揮発性の記憶装置であり、地図データを記憶している。地図データは、車両1が走行可能な道路情報が含まれている。また、ナビゲーションECU18は、ユーザ5により設定された目的地までのルートを探索し、ルート情報を地図とともに表示部18bに表示する。
【0060】
<1−4.携帯機器の構成>
図4は、ユーザ5が携帯する携帯機器6の構成を示す図である。携帯機器6は、例えば携帯電話であるが、携帯機器6の所在する位置情報をサーバ装置3へ伝達可能であって、ユーザ5が携帯可能な機器であればよい。携帯機器6は、制御部21、通信部22、GPS受信部23、表示部24、入力部25及びスピーカ26を備えている。
【0061】
制御部21は、通信部22、GPS受信部23、表示部24、入力部25及びスピーカ26と接続されたマイクロコンピュータである。制御部21は、外部のサーバ装置3等と情報通信を行う場合には、通信部22を制御して信号の送受信を行う。また、GPS受信部23が受信したGPS衛星20からの信号に所定の演算処理を行い、衛星から携帯機器6までの距離を算出する。そして、複数のGPS衛星からの距離情報に基き、携帯機器6の空間上の位置を緯度及び経度として算出する。また、ユーザ5に対して情報を報知する場合に、表示部24を制御して情報の表示を行い、ユーザ5が入力部25に入力した信号を受け付ける処理を行う。
【0062】
通信部22は、WiMAX等の無線通信技術を利用した通信機能を備える。また、通信部22は、通信アンテナ22aで信号の送受信を行い、ネットワーク7を介して他の無線通信装置と情報通信を行う。携帯機器6は、この通信部22により、サーバ装置3及び車載装置4との間で各種情報の送受信を行うことが可能となる。
【0063】
GPS受信部23は、車両1上空の軌道上を周回する複数のGPS衛星20から送信される信号をGPSアンテナ23aにより受信する。GPS衛星20からの信号には、時刻データ及び衛星の軌道情報等が含まれる。GPS受信部23は、受信した信号を制御部21へ送信する。
【0064】
表示部24は、図形や文字等の情報を表示して携帯機器6を携帯するユーザ5に情報を報知する画面である。
【0065】
スピーカ部26は、各種の音声を出力してユーザ5に情報を報知する。
【0066】
入力部25は、表示部24の周囲に配置された複数のボタンを含み、ユーザ5の操作が入力される。入力部25は、ユーザ5の操作が入力されると、入力された操作情報を制御部21へ送信する。また、入力部25は、表示部24の表面にタッチセンサとして構成することもできる。
【0067】
<1−5.処理>
次に、プログラム提供システム100におけるサーバ装置3の処理について説明する。
【0068】
図5及び図6は、サーバ装置3の処理の流れを示す図である。かかる処理は、情報提供センター2において作成された更新用プログラムが、サーバ装置3の更新用プログラム登録部8aに登録されることにより、開始される。
【0069】
まず、サーバ装置3の制御部8が、更新用プログラム登録部8aに登録された更新用プログラムを通信部9によりネットワーク7を介して車載装置4へ送信する(ステップS11)。更新すべきプログラムが複数の車両1,1a,1b(図1参照。)を対象とする場合には、制御部8は、複数の車載装置4,4a,4bへ更新用プログラムを一斉に送信する。この際、制御部8は、送信する時間帯や車載装置4を搭載した車両1の位置、車両1が走行中か否かに係わらず送信する。車載装置4は、一時記憶部14を備えているため、車両の状態に係わらず、更新用プログラムを受信しても、車両の走行等に影響を及ぼすことがないためである。
【0070】
次に、距離設定部8bが、プログラムの更新の実行を許可する距離(以下、「更新実行距離」という)を設定する(ステップS12)。かかる距離は、車両1とユーザ5との間の距離(車両・ユーザ間距離)である。この車両・ユーザ間距離が、設定された更新実行距離以上ある場合に、プログラムの更新の実行が許可される。更新実行距離は、プログラムの更新時間に応じて定められる。距離設定部8bは、プログラムの更新時間が長い場合には、更新実行距離を長く設定する。プログラムの更新時間と更新実行距離との関係は、予めハードディスク10内のテーブル10aに入力されている。したがって、距離設定部8bは、テーブル10aを参照して更新実行距離を設定する。更新実行距離が設定されることにより、プログラムの更新中にユーザ5が車両1に乗り込み、車両機器を操作することがない。すなわち、プログラムの更新中に車両機器が操作されることによる、電源変動やノイズ発生がないため、プログラムの更新を正常に完了することができる。
【0071】
次に、サーバ装置3の距離検出部8cが、通信部9を介して、車両1の位置情報を示す信号を受信する(ステップS13)。かかる位置情報は、緯度及び経度の情報からなり、車両1に搭載された車載装置4から所定周期で送信される。なお、距離検出部8cは、更新用プログラムを送信した車両のみの位置情報を受信してもよいし、サーバ装置3とネットワーク7を介して接続された全ての車両の位置情報を受信してもよい。距離検出部8cは、受信した車両1の位置情報をハードディスク10に既に記録した位置情報に上書きして保存する(ステップS14)。これにより、ハードディスク10には、常に車両1の最新の位置情報が保存される。
【0072】
次に、距離検出部8cは、車両1の位置情報を前回受信したときから所定時間以上経過したか否か判断する(ステップS15)。車両1から送信される位置情報は、車両1のイグニッションスイッチ(エンジンの始動や車載装置等の起動を可能にするためにバッテリ回路をオン・オフさせるスイッチ)がオンとなっている場合に送信される。従って、車両1の位置情報を前回受信したときから所定時間以上経過したと判断される場合(ステップS15にてYes)は、車両1が停止され、かつユーザ5が車両1から降車したと判断できる場合である。
【0073】
車両1からは位置情報が所定の周期で繰り返し送信されるため、車両1が車両位置を送信する周期を所定時間として設定すればよい。例えば、所定時間には、車両1から位置情報が送信される周期である10[分]を設定すればよい。
【0074】
車両1の位置情報を前回受信したときから所定時間以上経過していないと判断される場合(ステップS15にてNo)は、再度、車両位置の受信(ステップS13)及び保存を行う(ステップS14)。
【0075】
車両1の位置情報を前回受信したときから所定時間以上経過していると判断される場合は、次に、距離検出部8cは、ユーザ5の位置情報を受信する(ステップS16)。ユーザ5の位置情報の受信は、ユーザ5が携帯する携帯機器6から送信される位置情報を示す信号を受信することで行われる。かかる位置情報は、緯度及び経度の情報からなり、携帯機器6から所定周期で送信されている。
【0076】
次に、距離検出部8cは、車両・ユーザ間距離を算出する(ステップS17)。距離検出部8cは、ハードディスク10に保存された車両の位置情報とステップS16で受信したユーザの位置情報とに基づき、車両・ユーザ間距離を算出する。車両・ユーザ間距離は、車両とユーザとの直線距離又は最短の道路距離である。距離検出部8cは、車両とユーザとの直線距離を算出する場合は、両者の緯度及び経度に基き所定の演算処理により算出する。距離検出部8cは、車両とユーザとの最短の道路距離を算出する場合は、両者の緯度及び経度に基きハードディスク10内の地図データベース10bを参照することで最短の道路距離を算出する。
【0077】
次に、距離検出部8cが、車両・ユーザ間距離と更新実行距離とを比較する(ステップS18)。車両・ユーザ間距離が、更新実行距離より大きいと判断される場合(ステップS18にてYes)は、車両1からユーザ5が十分離れており、プログラムの更新を実行しても、更新中にユーザ5が車両1に乗り込み、車両機器を操作することがないと判断される場合である。この場合は、更新実行処理に続くステップS21へ進む。
【0078】
一方、車両・ユーザ間距離が、更新実行距離より大きくないと判断される場合(ステップS18にてNo)は、ユーザ5が車両1の付近に存在し、プログラムの更新中にユーザ5が車両1に乗り込み、車両機器を操作する可能性があると判断される場合である。この場合は、更新実行処理に続くステップS21へは進まず、ステップS13へ戻り、車両位置の受信及び保存を再度実行する。すなわち、ステップS18にてNoとなる場合は、ユーザが単に短時間の休憩等のため降車した場合があり、短時間の停車及び降車の後、再度乗車して走行を再開する恐れがある。このため、車両位置の受信及び保存を行い、再度、車両・ユーザ間距離を算出する必要がある。
【0079】
ステップS18にてYesであった場合は、次に、通知部8dが、プログラムの更新の可否を問う通知をユーザ5の携帯する携帯機器6へ送信する(図6のステップS21)。プログラムの更新可否をユーザ5に問うのは、ユーザ5が、プログラムの更新を希望せず、現在の車両状態で車両1を継続して乗車したいと考える場合や、直ちに車両1の使用を希望する場合があるためである。かかる通知は、電子メールの形式でユーザ5の携帯機器6へ送信することができる。
【0080】
次に、通知部8dは、通信部9を介して、ユーザ5の携帯機器6からの返信を受信する(ステップS22)。ユーザ5からの返信は、プログラムの更新を許可する許可信号と、プログラムの更新を許可しない不許可信号とのいずれかとなる。更新指示部8eは、ユーザ5からの返信を受信するまでは、プログラムの更新を待機する。なお、更新指示部8eは、プログラムの更新の可否を問う通知後、所定時間経過してもユーザ5からの返信がない場合は、プログラムの更新を実行するようにしてもよい。プログラムの更新は、新しい機能を追加する場合や不具合が発見された場合等に行われ、車両1の性能を低下させるものでないからである。ただし、プログラムの更新後にユーザ5から不許可信号が返信された場合には、更新したプログラムを更新前の状態に戻すための更新用プログラムを、再度、サーバ装置3から車載装置4へ送信すればよい。
【0081】
次に、更新指示部8eが、通知部8dが受信したユーザ5からの返信がプログラムの更新の「許可」であるか否か判断する(ステップS23)。更新指示部8eは、ユーザ5から不許可信号が返信された場合(ステップS23にてNo)は、プログラムの更新の実行処理(以下、「更新実行処理」という)は行わず、ステップS24に進む。
【0082】
通知部8dは、このようにユーザ5から不許可信号が返信された場合に、ユーザ5の携帯機器6に対し、プログラムの更新の未実行を示す通知を送信する(ステップS24)。ユーザ5は、かかる通知を受信することで、プログラムの更新が実行されなかった旨を知ることができる。これにより、ユーザ5は、後にプログラムの更新を希望する場合に、情報提供センターへその旨を連絡することで、再度、更新用プログラムの送信を受けることができる。
【0083】
一方、ステップS23において、ユーザ5からプログラムの更新を許可する許可信号が返信された場合(ステップS23にてYes)は、ステップS25に進み、主に更新指示部8eがプログラムの更新を行うように車載装置4に指示する処理である更新実行処理がなされる(ステップS25)。更新実行処理の詳細は、後に説明する。
【0084】
通知部8dは、更新実行処理が完了したと判断された場合に、プログラムの更新の完了を示す通知をユーザ5の携帯機器6へ送信する(ステップS26)。かかる通知を受けたユーザ5は、プログラムの更新が正常に完了した旨を知ることができ、安心して車両1へ乗車することができる。
【0085】
<1−6.更新実行処理>
次に、サーバ装置3における、更新実行処理について説明する。図7は、サーバ装置3の更新実行処理の流れを示す図であり、図6のステップS24の詳細を示すものである。
【0086】
まず、更新指示部8eが、プログラムの更新の実行を指示する更新指示信号を車載装置4へ送信する(ステップS31)。
【0087】
次に、更新指示部8eは、車載装置4にてプログラムの更新が完了した後に送信される通知(以下、「更新完了通知」という)を車載装置4から受信したか否かを判断する(ステップS32)。更新指示部8eは、更新完了通知を受信した場合(ステップS32にてYes)は、更新実行処理を終了する。一方、更新指示部8eが更新完了通知を受信していない場合(ステップS32にてNo)は、距離検出部8cがユーザ5の携帯する携帯機器6から送信される位置情報を示す信号を受信する(ステップS33)。
【0088】
ステップS33以下の処理は、プログラムの更新の完了前にユーザ5が車両1へ接近した場合のサーバ装置3の処理である。すなわち、ユーザ5にとって車両1へ至急乗車すべき事態が発生した場合、ユーザ5は急速に車両1へ接近することとなる。この場合、ユーザ5の移動速度が、テーブル10aで予め記録されたユーザ5の平均的な移動速度を上回ると、更新用プログラム送信後に設定した(ステップS12)更新実行距離では、足りない事態、すなわちプログラムの更新の完了前にユーザ5が車両1へ乗車する事態が発生する。したがって、このような事態に備え、更新指示部8eがプログラムの更新の実行を指示後、更新完了通知を受信するまでは、距離検出部8cがユーザ5の位置情報を継続的に受信する。そして、距離検出部8cが車両・ユーザ間距離が所定の距離である更新中通知距離より短いと判断すると、サーバ装置3において、この事態に対応する処理が実行される。
【0089】
距離検出部8cは、ステップS33でユーザ5の位置情報を受信すると、車両・ユーザ間距離を再度算出する(ステップS34)。この車両・ユーザ間距離の算出は、図5のステップS17と同様に行われる。
【0090】
次に、距離検出部8cは、車両・ユーザ間距離が更新中通知距離より小さいか否か判断する(ステップS35)。既に述べた通り、更新中通知距離は、例えば10[m]の距離が設定される。車両・ユーザ間距離が更新中通知距離より小さい場合は、ユーザ5に乗車の可能性が高く発生したと判断することができる。この場合、通知部8dが、既にユーザ5へプログラムの更新中である旨の通知がなされているか否か判断する(ステップS36)。同通知がなされていない場合(ステップS36にてNo)は、通知部8dは、ユーザ5の携帯機器6へプログラムの更新中である旨の通知を送信する(ステップS37)。ユーザ5は、かかる通知を受信した場合に、車両1への乗車を断念し、プログラム更新途中での車両機器の操作を回避できる。
【0091】
一方、既にユーザ5へプログラムの更新中である旨の通知がなされていると判断した場合(ステップS36にてYes)は、ユーザ5へ同通知を行わず、ステップS38へ進む。この場合に、ユーザ5へ同通知を行わないのは、車両・ユーザ間距離が更新中通知距離より短い間中、繰り返しユーザ5へ同一内容の通知が行われるのを回避するためである。
【0092】
また、ステップS35にてNoの場合、すなわち車両・ユーザ間距離が更新中通知距離より大きい場合は、ユーザ5へプログラムの更新中である旨の通知を行う必要がないので、ステップS38へ進む。
【0093】
次に、距離検出部8cは、車両・ユーザ間距離が更新中断距離より小さいか否か判断する(ステップS38)。既に述べた通り、更新中断距離は、例えば0.8[m]の距離が設定される。車両・ユーザ間距離が更新中断距離より小さい場合は、ユーザ5が車両1の至近距離まで接近し、ユーザ5が車両1へ乗車する場合や車両機器を操作する場合が確実に予見されるときである。
【0094】
距離検出部8cが、車両・ユーザ間距離が更新中断距離より小さいと判断すると(ステップS38にてYes)、中断指示部8fはプログラムの更新の中断を指示する中断指示信号を車載装置4へ送信する(ステップS39)。中断指示部8fがこの中断指示信号を送信すると、更新実行処理は終了する。また、車両・ユーザ間距離が更新中断距離より大きいと判断された場合(ステップS38にてNo)、処理はステップS32に戻り、上述した処理と同様の処理が繰り返される。
【0095】
次に、ユーザ5が携帯する携帯機器6の表示について説明する。図8は、ステップS37のサーバ装置3からの通知に応答した携帯機器6の表示部24における、表示の一例を示す図である。
【0096】
表示部24には、ユーザ5へプログラムの更新中である旨の通知が文字表示によりなされている。ユーザ5は、かかる表示を確認することにより、車両1への乗車を断念し、プログラム更新途中での車両機器の操作を回避できる。また、文字表示と同時に、表示された文字をスピーカ部26から音声で通知することもできる。この場合、ユーザ5が携帯機器をバッグやポケットに収納していた場合であっても、効果的に通知を行うことができる。
【0097】
なお、図8は、プログラムの更新中の通知(ステップS37)に係る情報の表示例を示したが、表示の内容を変更することにより、プログラムの更新可否の通知(図6のステップS21)、更新の完了の通知(ステップS25)、及び更新の未実行の通知(ステップS26)に係る情報を表示することができる。また、通知に対するユーザ5の返信は、入力部25へユーザ5が所定の操作を入力することで行うよう構成することもできる。この場合、どのような操作を入力すべきか、表示部24に表示することにより、ユーザ5の誤入力を防止できる。
【0098】
次に、図5から図7で説明したサーバ装置3の処理に応答した車載装置4の処理について説明する。図9は、この車載装置4の処理の流れを示す図である。
【0099】
まず、車載装置4の制御部11は、通信部12を介して、サーバ装置3から送信された更新用プログラムを受信する(ステップS41)。なお、前述のように、制御部11は、スリープモードを備え、ユーザ5により電源の供給が遮断された後は、所定周期で間欠的に起動しているため、電源供給の遮断後であっても更新用プログラムを受信することができる。
【0100】
制御部11は、更新用プログラムを受信すると、一時記憶部14へ更新用プログラムを記憶する(ステップS42)。
【0101】
次に、制御部11は、通信部12において、図7のステップS31でサーバ装置3から送信される更新指示信号を受信したか否か判断する(ステップS43)。この更新指示信号は、プログラムの更新の実行を指示するものである。制御部11は、更新指示信号を受信していないと判断すると(ステップS43にてNo)、ステップS43の判断を繰り返し、更新指示信号を受信する待機状態となる。
【0102】
制御部11は、サーバ装置3からの更新指示信号を受信したと判断すると(ステップS43にてYes)、更新部11aが、プログラムの更新を実行する(ステップS44)。
【0103】
次に、エンジンECU15の制御用プログラム15bを更新用プログラム14aで更新する制御について説明する。まず、更新部11aは、エンジンECU15の記憶部15aに記憶されている制御用プログラム15bの複製を作成する。この制御用プログラム15bの複製は、バックアップ用プログラム15cである。バックアップ用プログラム15cを作成することにより、制御用プログラム15bの更新が途中で中断された場合でも、エンジンECU15は、バックアップ用プログラム15cを用いて、エンジン制御を行うことができる。また、プログラムの更新が途中で中断された場合でも、制御用プログラム15bは、更新途中の状態で保存されるので、後にプログラムの更新を中断直後の状態から再開することができる。更新部11aは、記憶部15aにバックアップ用プログラム15cを作成すると、一時記憶部14に記憶した更新用プログラム14aを読み出して、制御用プログラム15bの更新を実行する。更新用プログラム14aは、制御用プログラム15bの全てを更新する場合や制御用プログラム15bの一部を更新する場合がある。
【0104】
プログラムの更新が実行されると、制御部11は、プログラムの更新が完了したか否か判断する(ステップS45)。プログラムの更新が完了したか否かの判断は、例えば、更新プログラムの容量から算出された更新時間の経過を検知することにより判断することができる。制御部11は、プログラムの更新が完了したと判断すると(ステップS45にてYes)、通信部12を介してプログラムの更新が完了した旨の更新完了通知を携帯機器6及びサーバ装置3へ送信する(ステップS46)。更新完了通知が送信されると、車載装置4における処理は終了する。
【0105】
一方、制御部11は、プログラムの更新が完了していないと判断すると(ステップS45にてNo)、図7のステップS39でサーバ装置3から送信される中断指示信号を受信しているか否か判断する(ステップS47)。この中断指示信号は、プログラムの更新の中断を指示するものである。制御部11は、サーバ装置3からの中断指示信号を受信していないと判断すると(ステップS47にてNo)、ステップS45に戻り、再度、プログラムの更新が完了したか否か判断する。
【0106】
制御部11がサーバ装置3からのプログラム更新の中断の指示信号を受信したと判断すると(ステップS47にてYes)、中断部11bが制御用プログラム15bの更新処理を中断する(ステップS48)。そして、制御部11は、中断情報の記憶を行う。中断情報の記憶処理は、プログラムの更新を行っていたECUの名称、制御用プログラム15bの識別番号、更新用プログラムの識別番号及びプログラムの更新が実行された内容を一時記憶部14に記憶することで行う。記憶されたこれらの情報は、再度、プログラムの更新を実行する際に制御部11により利用される。制御部11は、中断情報の記憶処理が行われると、通信部12を制御してプログラムの更新を中断した旨の更新中断通知を携帯機器6及びサーバ装置3へ送信する(ステップS49)。この際、制御部11は、上記の中断情報の記憶処理において一時記憶部14に記憶した各情報をサーバ装置3に対して併せて通知する。制御部11によるプログラムの更新を中断した旨の通知が行われると、車載装置4における処理は終了する。
【0107】
以上のように、本実施の形態のプログラム提供システム100においては、サーバ装置3の距離検出部8cが車両1と車両のユーザ5との距離を検出し、検出された距離が更新実行距離以上の場合に、更新指示部8eが更新用プログラムによりプログラムの更新を行うよう車載装置4へ指示する。これにより、ユーザ5が車両1から十分離れている場合にプログラムの更新を指示するので、プログラムの更新中にユーザ5が車両1に乗り込み、車両機器の操作をすることを防止できる。その結果、有効にプログラムの更新を完了できる。
【0108】
<2.第2の実施の形態>
上記第1の実施の形態では、サーバ装置3において、プログラムの更新の実行後、車両・ユーザ間距離が更新中断距離より小さいか判断し、小さいと判断される場合にプログラムの更新の中断を車載装置4へ指示していた。これに対し、車両1に搭載された車載装置4が、ユーザ5の接近を検知することにより、プログラムの中断を実行することもできる。第2の実施の形態では、車載装置4が携帯機器6と近距離通信を行うことにより、ユーザ5の接近を検知してプログラムの中断を行う。第2の実施の形態のプログラム提供システム100の構成及び処理は、第1の実施の形態とほぼ同様であるため、以下、第1の実施の形態との相違点を中心に説明する。
【0109】
図10は、第2の実施の形態の車載装置4の構成を示す図である。第2の実施の形態の車載装置4の構成は、図3に示す第1の実施の形態の車載装置4とほぼ同様であるが、一部で構成を相違している。具体的には、車載装置4は、近距離通信部31を備えている。なお、図10の各構成において、図3と同一の符号で示すものは、図3と同様の機能を発揮するものである。したがって、図10の説明においては、図3と異なる構成について説明する。
【0110】
近距離通信部31は、携帯機器6と無線通信により、直接通信可能となっている。かかる通信は、例えば車両の自動開錠を行ういわゆるスマートエントリのシステムと同様の手法で行うことができる。すなわち、近距離通信部31は、所定周期で信号を発信し、携帯機器6の接近を監視する。発信した信号が到達するエリア(以下、「近距離通信エリア」という)に携帯機器6が進入すると、携帯機器6の通信部22が信号を受信する。そして、携帯機器6の制御部21が、受信信号が近距離通信部31からの信号と判断した場合、通信部22から近距離通信部31へ信号を返信する。返信される信号には、携帯機器6の識別番号が含まれている。車載装置4の制御部11は、携帯機器6から返信された信号の照合処理を行う。照合処理の結果、携帯機器6から返信された信号に含まれる識別番号が、予め記憶してある識別番号31aと同一である場合に、車載装置4はユーザ5が接近したと判別できる。なお、近距離通信エリアは、近距離通信部31から約0.7から1.0メートル程度の距離の範囲である。また、近距離通信部31が信号を発信する周期は、0.3秒程度である。また、近距離通信部31は、車両1が駐車状態であっても常に所定周期で信号を発信する。
【0111】
次に、図11を参照して、車載装置4の更新実行処理の第2の実施の形態について説明する。図11は、近距離通信部31を備えた車載装置4における更新実行処理の流れを示す図であり、図9に示す第1の実施の形態の更新実行処理とほぼ同様であるが、一部で構成を相違している。具体的には、図11に示す更新実行処理は、ステップS51を備えている。なお、図11の各ステップにおいて、図9と同一の符号で示すものは、図9と同様の機能を発揮するものである。したがって、図11の説明においては、図9と異なるステップについて説明する。
【0112】
車載装置4の制御部11は、プログラムの更新が完了していないと判断した場合(ステップS45にてNo)に、ステップS51へ進む。
【0113】
ステップS51では、制御部11が、近距離通信部31によりユーザ5の携帯する携帯機器6と通信が行われたか否かが判断される。かかる判断は、携帯機器6から返信された信号に含まれる識別番号の照合処理により行われる。通信が行われたと判断される場合(ステップS51にてYes)には、ステップS48へ進み、中断部11bがプログラムの更新の中断を行う。一方、制御部11が携帯機器6と通信が行われていないと判断される場合(ステップS51にてNo)には、制御部11がサーバ装置3からのプログラム更新の中断の指示信号を受信しているか否かの判断を行う(ステップS47)。
【0114】
以上のように、第2の実施の形態の車載装置4は、近距離通信部31がユーザ5の携帯機器6との通信が行われたか否かに基づいて、実質的に車両1とユーザ5との距離を判定する。そして、携帯機器6との通信が行われた場合、すなわち、車両1とユーザ5との距離が通信が可能な程度に近い場合は、中断部11bがプログラムの更新の中断する。したがって、サーバ装置3からユーザ5が接近した際のプログラムの更新の中断指示を受信しなくとも、車載装置4単体でユーザ5の接近を検知して、プログラムの更新の中断を行うことができる。
【0115】
<3.変形例>
以上、本発明の実施の形態について説明してきたが、この発明は上記実施の形態に限定されるものではなく、様々な変形が可能である。以下では、このような変形例について説明する。上記実施の形態で説明した形態及び以下で説明する形態を含む全ての形態は、適宜に組み合わせが可能である。
【0116】
上記第1の実施の形態では、車載装置4とエンジンECU等の車両制御装置とを異なる装置として説明したが、両装置を一体に構成してもよい。また、エンジン制御装置等の制御装置は、更新用プログラムによりプログラムの更新を行う車載装置の一部として構成することができる。また、更新用プログラムによりプログラムの更新を行う車載装置は、エンジン制御装置等の制御装置の一部として構成することができる。
【0117】
プログラムの更新はエンジンECU15の制御用プログラム15bを例に説明したが、プログラムの更新はトランスミッションECU16やその他の車両制御装置であってもよい。すなわち、プログラムの更新の対象となる制御装置は、車両に搭載されて、プログラムで制御されるものであればよい。
【0118】
携帯機器6は、携帯電話でもよいし、スマートフォンであってもよい。また、電波を発信して車両ドアの開錠を行ういわゆるキーレスエントリやスマートエントリに用いられる携帯型の発信機と一体に構成してもよい。
【0119】
近距離通信部31は、第2の実施の形態で説明したスマートエントリのシステムのほか、例えばDSRC(Dedicated Short Range Communications:狭域通信)やBluetooth(ブルートゥース(登録商標))を用いてもよい。DSRCを用いた場合には、発信機となる近距離通信部31を車両上方に設置し、ユーザ5の携帯する携帯機器6の接近を検知してもよい。また、Bluetoothを用いた場合には、近距離通信部31と携帯機器6との無線接続(いわゆるペアリング)が行われたことにより、ユーザ5の接近を検知してもよい。
【0120】
上記実施の形態では、プログラムに従ったCPUの演算処理によってソフトウェア的に各種の機能が実現されると説明したが、これら機能のうちの一部は電気的なハードウェア回路により実現されてもよい。
【符号の説明】
【0121】
100 プログラム提供システム
1 車両
2 情報提供センター
3 サーバ装置
4 車載装置
5 ユーザ
6 携帯機器
8b 距離設定部
8c 距離検出部
8d 通知部
8e 更新指示部
8f 中断指示部
【特許請求の範囲】
【請求項1】
車両に搭載される制御装置のプログラムを提供するサーバ装置であって、
前記車両に搭載される車載装置へ更新用プログラムを送信する送信手段と、
前記車両と前記車両のユーザとの距離を検出する距離検出手段と、
前記距離検出手段により検出された距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する更新指示手段と、
を備えたことを特徴とするサーバ装置。
【請求項2】
請求項1に記載のサーバ装置において、
前記距離検出手段により検出された距離が第1の距離以上の場合に、前記ユーザが所持する可搬性装置へ前記プログラムの更新を許可するよう通知する第1通知手段と、
前記第1通知手段により通知された前記可搬性装置からの前記プログラムの更新を許可する許可信号を受信する受信手段と、
をさらに備え、
前記更新指示手段は、前記受信手段が前記許可信号を受信した場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示することを特徴とするサーバ装置。
【請求項3】
請求項1または2のいずれかに記載のサーバ装置において、
前記第1の距離は、前記プログラムの更新時間に基づき導出されることを特徴とするサーバ装置。
【請求項4】
請求項1または2のいずれかに記載のサーバ装置において、
前記第1の距離は、前記更新用プログラムの容量に基づき導出されることを特徴とするサーバ装置。
【請求項5】
請求項1ないし4のいずれかに記載のサーバ装置において、
前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第2の距離以下と検出された場合に、前記プログラムの更新中である旨を前記ユーザに通知する第2通知手段と、
をさらに備えたことを特徴とするサーバ装置。
【請求項6】
請求項1ないし5のいずれかに記載のサーバ装置において、
前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第3の距離以下と検出された場合に、前記プログラムの更新の中断を指示する中断指示手段と、
をさらに備えたことを特徴とするサーバ装置。
【請求項7】
請求項1ないし6のいずれかに記載のサーバ装置において、
前記距離検出手段は、前記車載装置から送信される前記車両の位置を示す信号と、前記ユーザが所持する可搬性装置から送信される前記可搬性装置の位置を示す信号とに基づいて、前記距離を検出することを特徴とするサーバ装置。
【請求項8】
プログラムの提供を行うプログラム提供システムであって、
車両に搭載される車載装置と、
前記車両に搭載される制御装置のプログラムの更新を行うよう前記車載装置へ指示するサーバ装置と、
を備え、
前記サーバ装置は、
前記車載装置へ更新用プログラムを送信する送信手段と、
前記車両と前記車両のユーザとの距離を検出する距離検出手段と、
前記距離検出手段により検出された距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を指示する指示信号を前記車載装置へ送信する更新指示手段と、
を備え、
前記車載装置は、
前記送信手段により送信された更新用プログラムを保存する保存手段と、
前記更新指示手段による前記指示信号を受信する受信手段と、
前記受信手段により前記指示信号を受信すると、前記保存手段に保存した更新用プログラムにより前記プログラムの更新を実行する更新実行手段と、
を備えたことを特徴とするプログラム提供システム。
【請求項9】
車両に搭載される制御装置のプログラムを提供するプログラム提供方法であって、
前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、
前記車両と前記車両のユーザとの距離を検出する工程と、
前記距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する工程と、
を備えたことを特徴とするプログラム提供方法。
【請求項10】
車両に搭載される制御装置のプログラムを提供するサーバ装置に含まれるコンピュータによって実行可能なサーバ装置用プログラムであって、
前記サーバ装置用プログラムの前記コンピュータによる実行は、前記コンピュータに、
前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、
前記車両と前記車両のユーザとの距離を検出する工程と、
前記距離が第1の距離以上の場合に、前記更新用プログラムにより前記制御装置のプログラムの更新を行うよう前記車載装置へ指示する工程と、
を実行させることを特徴とするプログラム。
【請求項1】
車両に搭載される制御装置のプログラムを提供するサーバ装置であって、
前記車両に搭載される車載装置へ更新用プログラムを送信する送信手段と、
前記車両と前記車両のユーザとの距離を検出する距離検出手段と、
前記距離検出手段により検出された距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する更新指示手段と、
を備えたことを特徴とするサーバ装置。
【請求項2】
請求項1に記載のサーバ装置において、
前記距離検出手段により検出された距離が第1の距離以上の場合に、前記ユーザが所持する可搬性装置へ前記プログラムの更新を許可するよう通知する第1通知手段と、
前記第1通知手段により通知された前記可搬性装置からの前記プログラムの更新を許可する許可信号を受信する受信手段と、
をさらに備え、
前記更新指示手段は、前記受信手段が前記許可信号を受信した場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示することを特徴とするサーバ装置。
【請求項3】
請求項1または2のいずれかに記載のサーバ装置において、
前記第1の距離は、前記プログラムの更新時間に基づき導出されることを特徴とするサーバ装置。
【請求項4】
請求項1または2のいずれかに記載のサーバ装置において、
前記第1の距離は、前記更新用プログラムの容量に基づき導出されることを特徴とするサーバ装置。
【請求項5】
請求項1ないし4のいずれかに記載のサーバ装置において、
前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第2の距離以下と検出された場合に、前記プログラムの更新中である旨を前記ユーザに通知する第2通知手段と、
をさらに備えたことを特徴とするサーバ装置。
【請求項6】
請求項1ないし5のいずれかに記載のサーバ装置において、
前記プログラムの更新中に、前記距離検出手段により前記車両と前記車両のユーザとの距離が第3の距離以下と検出された場合に、前記プログラムの更新の中断を指示する中断指示手段と、
をさらに備えたことを特徴とするサーバ装置。
【請求項7】
請求項1ないし6のいずれかに記載のサーバ装置において、
前記距離検出手段は、前記車載装置から送信される前記車両の位置を示す信号と、前記ユーザが所持する可搬性装置から送信される前記可搬性装置の位置を示す信号とに基づいて、前記距離を検出することを特徴とするサーバ装置。
【請求項8】
プログラムの提供を行うプログラム提供システムであって、
車両に搭載される車載装置と、
前記車両に搭載される制御装置のプログラムの更新を行うよう前記車載装置へ指示するサーバ装置と、
を備え、
前記サーバ装置は、
前記車載装置へ更新用プログラムを送信する送信手段と、
前記車両と前記車両のユーザとの距離を検出する距離検出手段と、
前記距離検出手段により検出された距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を指示する指示信号を前記車載装置へ送信する更新指示手段と、
を備え、
前記車載装置は、
前記送信手段により送信された更新用プログラムを保存する保存手段と、
前記更新指示手段による前記指示信号を受信する受信手段と、
前記受信手段により前記指示信号を受信すると、前記保存手段に保存した更新用プログラムにより前記プログラムの更新を実行する更新実行手段と、
を備えたことを特徴とするプログラム提供システム。
【請求項9】
車両に搭載される制御装置のプログラムを提供するプログラム提供方法であって、
前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、
前記車両と前記車両のユーザとの距離を検出する工程と、
前記距離が第1の距離以上の場合に、前記更新用プログラムにより前記プログラムの更新を行うよう前記車載装置へ指示する工程と、
を備えたことを特徴とするプログラム提供方法。
【請求項10】
車両に搭載される制御装置のプログラムを提供するサーバ装置に含まれるコンピュータによって実行可能なサーバ装置用プログラムであって、
前記サーバ装置用プログラムの前記コンピュータによる実行は、前記コンピュータに、
前記車両に搭載される車載装置へ更新用プログラムを送信する工程と、
前記車両と前記車両のユーザとの距離を検出する工程と、
前記距離が第1の距離以上の場合に、前記更新用プログラムにより前記制御装置のプログラムの更新を行うよう前記車載装置へ指示する工程と、
を実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−2958(P2013−2958A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−134375(P2011−134375)
【出願日】平成23年6月16日(2011.6.16)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願日】平成23年6月16日(2011.6.16)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
[ Back to top ]