(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024034849
(43)【公開日】2024-03-13
(54)【発明の名称】車載装置、プログラム及び情報処理方法
(51)【国際特許分類】
G06F 8/61 20180101AFI20240306BHJP
B60R 16/02 20060101ALI20240306BHJP
【FI】
G06F8/61
B60R16/02 660U
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022139371
(22)【出願日】2022-09-01
(71)【出願人】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(71)【出願人】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】早川 絢
(72)【発明者】
【氏名】岡広 駿
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AD19
5B376AD22
5B376GA07
(57)【要約】
【課題】記憶部に記憶されるアプリケーションを追加することにより、実行可能な機能を拡張させる車載装置等を提供する。
【解決手段】車載装置は、車両に搭載され、車載ネットワークを介して車載ECUと通信可能に接続される車載装置であって、複数のアプリケーションが記憶される記憶部と、前記アプリケーションに関する処理を行う制御部とを備え、前記制御部は、前記記憶部に記憶される前記アプリケーションを追加することにより、前記車両が実行可能な機能を拡張させ、前記アプリケーションの実行結果を、前記機能に対応する車載ECUへ出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両に搭載され、車載ネットワークを介して車載ECUと通信可能に接続される車載装置であって、
複数のアプリケーションが記憶される記憶部と、
前記アプリケーションに関する処理を行う制御部とを備え、
前記制御部は、
前記記憶部に記憶される前記アプリケーションを追加することにより、前記車両が実行可能な機能を拡張させ、
前記アプリケーションの実行結果を、前記機能に対応する車載ECUへ出力する
車載装置。
【請求項2】
前記記憶部には、前記アプリケーションを実行した際の入出力に関する処理を担う入出力プログラムが記憶されており、
前記入出力プログラムと、複数の前記アプリケーションそれぞれとは、共通化されたインターフェイスにより連携される
請求項1に記載の車載装置。
【請求項3】
前記記憶部には、オペレーティングシステムが記憶されており、
複数の前記アプリケーションそれぞれは、前記オペレーティングシステム上で実行される
請求項2に記載の車載装置。
【請求項4】
前記制御部は、
前記車両の操作者に関する操作者情報を取得し、
取得した前記操作者情報に応じて、実行する前記アプリケーションを選択する
請求項1から請求項3のいずれか1項に記載の車載装置。
【請求項5】
前記制御部は、
前記車両の状態に関する車両状態情報を取得し、
取得した前記車両状態情報に応じて、実行する前記アプリケーションを選択する
請求項4に記載の車載装置。
【請求項6】
前記記憶部に記憶される複数の前記アプリケーションは、ISO26262のASIL(Automotive Safety Integrity Level)におけるAグレード、Bグレード又はQMに位置づけられる
請求項5に記載の車載装置。
【請求項7】
車両に搭載され、車載ネットワークを介して車載ECUと通信可能に接続され、複数のアプリケーションが記憶される記憶部を含むコンピュータに、
前記記憶部に記憶される前記アプリケーションを追加することにより、前記車両が実行可能な機能を拡張させ、
前記アプリケーションの実行結果を、前記機能に対応する車載ECUへ出力する
処理を実行させるプログラム。
【請求項8】
車両に搭載され、車載ネットワークを介して車載ECUと通信可能に接続され、複数のアプリケーションが記憶される記憶部を含むコンピュータに、
前記記憶部に記憶される前記アプリケーションを追加することにより、前記車両が実行可能な機能を拡張させ、
前記アプリケーションの実行結果を、前記機能に対応する車載ECUへ出力する
処理を実行させる情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載装置、プログラム及び情報処理方法に関する。
【背景技術】
【0002】
車両には、エンジン制御等のパワー・トレーン系、エアコン制御等のボディ系等の車載機器を制御するための車載ECU(Electronic Control Unit)が搭載されている。車載ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他の車載ECUと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた中継装置が実装されており、中継装置を介して、車外のネットワークに接続されているプログラム提供装置と通信し、当該プログラム提供装置から車載ECUの制御プログラムをダウンロード(受信)し、当該車載ECUの制御プログラムを更新することができる(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の中継装置においては、記憶部に記憶されるアプリケーションを追加することにより、実行可能な機能を拡張させる点については、考慮されていない。
【0005】
本開示の目的は、記憶部に記憶されるアプリケーションを追加することにより、実行可能な機能を拡張させることができる車載装置等を提供することである。
【課題を解決するための手段】
【0006】
本開示の一態様に係る車載装置は、車両に搭載され、車載ネットワークを介して車載ECUと通信可能に接続される車載装置であって、複数のアプリケーションが記憶される記憶部と、前記アプリケーションに関する処理を行う制御部とを備え、前記制御部は、前記記憶部に記憶される前記アプリケーションを追加することにより、前記車両が実行可能な機能を拡張させ、前記アプリケーションの実行結果を、前記機能に対応する車載ECUへ出力する。
【発明の効果】
【0007】
本開示の一態様によれば、記憶部に記憶されるアプリケーションを追加することにより、実行可能な機能を拡張させる車載装置等を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態1に係る車載装置を含む車載システムの構成を例示する模式図である。
【
図2】車載装置等の構成を例示するブロック図である。
【
図3】車載装置に実装されるソフトウェア階層の一例を示す説明図である。
【
図4】アプリケーションテーブルの一例を示す説明図である。
【
図5】アプリケーションの切り替えの一例を示す説明図である。
【
図6】車載装置の制御部の処理を例示するフローチャートである。
【
図7】実施形態2に係る車載装置の制御部の処理を例示するフローチャートである。
【発明を実施するための形態】
【0009】
[本発明の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0010】
(1)本開示の一態様に係る車載装置は、車載装置は、車両に搭載され、車載ネットワークを介して車載ECUと通信可能に接続される車載装置であって、複数のアプリケーションが記憶される記憶部と、前記アプリケーションに関する処理を行う制御部とを備え、前記制御部は、前記記憶部に記憶される前記アプリケーションを追加することにより、前記車両が実行可能な機能を拡張させ、前記アプリケーションの実行結果を、前記機能に対応する車載ECUへ出力する。
【0011】
本態様にあたっては、車載装置は、例えば、OTAサーバ等の車外サーバと通信し、車両の操作において用いられる各種サービスに対応したアプリケーション等のソフトウェアプログラムを取得し、取得したアプリケーションを記憶部に記憶することにより、インストールを行う。車載装置は、このように新規のアプリケーションをインストール(適用)して追加することにより、実行可能な機能を拡張させ、対応可能なサービスの種類を増加させることができるECUであり、機能拡張ECUとして機能する。車載装置の制御部は、要求される機能(サービス)を提供すべく、当該機能(サービス)に対応するアプリケーションを実行し、実行結果として生成した結果データ、要求信号又は制御信号を、当該機能(サービス)に関する実質的な駆動を担う車載ECUに出力(送信)する。当該車載ECUには、要求される機能(サービス)を発揮するために駆動するアクチュエータが、ワイヤーハーネス等により直接、接続されている。車載ECUは、例えば、ボディ系アクチュエータの駆動制御を担うボディECU(BCU)であり、車載装置(機能拡張ECU)から取得(受信)した要求信号に応じて、当該車載ECU(BCU)に接続されている照明装置、ワイパー又はドアミラー等のアクチュエータ(車載装置)を駆動する。このように車両に対し、新たに機能(サービス)を追加するにあたり、当該機能(サービス)を実行するための情報処理を行うアプリケーションを車載装置(機能拡張ECU)に集約化してインストール(適用)することにより、車載ネットワークに接続されている既存の車載ECUにおけるプログラム実装環境に影響を与えることを防止することができる。これにより、車両として新規の機能(サービス)を追加する場合であっても、車載ECUに既に適用されているプログラムの再検証を不要とすることができる。又、当該機能(サービス)を提供するにあたり、車載ECUと車載装置(機能拡張ECU)とによる分散処理を行うことができ、当該車載ECUの処理負荷を低減することができる。
【0012】
(2)本開示の一態様に係る車載装置は、前記記憶部には、前記アプリケーションを実行した際の入出力に関する処理を担う入出力プログラムが記憶されており、前記入出力プログラムと、複数の前記アプリケーションそれぞれとは、共通化されたインターフェイスにより連携される。
【0013】
本態様にあたっては、車載装置の記憶部には、要求される機能(サービス)に対応するアプリケーションを実行する際、車載ECUとのデータの送受信を行うための入出力プログラムが記憶されている。入出力プログラムと、複数のアプリケーションそれぞれとは、例えば、共通の通信ソケットライブラリ等を用いたコーディングがされており、共通化された通信インターフェイスにより連携され、プロセス間通信等により接続されるものとなる。従って、各アプリケーション毎にデータの入出力仕様が異なるものであっても、複数のアプリケーションそれぞれと、車載ECU側にて実行されるプログラムとの通信におい
て、入出力プログラムを介在させることにより、これらアプリケーションの汎用性を担保することができる。
【0014】
(3)本開示の一態様に係る車載装置は、前記記憶部には、オペレーティングシステムが記憶されており、複数の前記アプリケーションそれぞれは、前記オペレーティングシステム上で実行される。
【0015】
本態様にあたっては、車載装置の記憶部には、当該車載装置のハードウェアリソースにアクセスするためのオペレーティングシステムが記憶されており、複数のアプリケーションそれぞれは、当該オペレーティングシステム上で実行される。従って、車載装置に新規のアプリケーションを追加した場合であっても、これらアプリケーションは、オペレーティングシステムによってプロセス管理及びハードウェアリソースへのアクセス制御等が実行され、ハードウェアリソースへのアクセス競合等を回避することができる。
【0016】
(4)本開示の一態様に係る車載装置は、前記制御部は、前記車両の操作者に関する操作者情報を取得し、取得した前記操作者情報に応じて、実行する前記アプリケーションを選択する。
【0017】
本態様にあたっては、車載装置の制御部は、例えば、車両の操作者が所持する携帯端末又はスマートキーから送信される当該操作者に関する操作者情報を取得する。車載装置の制御部は、取得した操作者情報に基づき、実行するアプリケーションを選択し、当該選択したアプリケーションを実行するため、車両の操作者に応じた機能(サービス)を適切に適用することができる。
【0018】
(5)本開示の一態様に係る車載装置は、前記制御部は、前記車両の状態に関する車両状態情報を取得し、取得した前記車両状態情報に応じて、実行する前記アプリケーションを選択する。
【0019】
本態様にあたっては、車載装置の制御部は、例えば、IGスイッチからのオン・オフ信号、ボディECU(BCU)からのメッセージ等を取得することにより、車両の状態に関する車両状態情報を取得する。車載装置の制御部は、取得した車両状態情報に基づき、実行するアプリケーションを選択し、当該選択したアプリケーションを実行するため、車両の状態に応じた機能(サービス)を適切に適用することができる。
【0020】
(6)本開示の一態様に係る車載装置は、前記記憶部に記憶される複数の前記アプリケーションは、ISO26262のASIL(Automotive Safety Integrity Level)におけるAグレード、Bグレード又はQMに位置づけられる。
【0021】
本態様にあたっては、車載装置の記憶部に記憶される複数のアプリケーション、すなわち車載装置が各種機能(サービス)を提供するにあたり実行するアプリケーションは、ISO26262のASIL(Automotive Safety Integrity Level)におけるAグレード、Bグレード又はQMに位置づけられるアプリケーションである。車載装置(機能拡張ECU)には、当該車載装置に対し適用することができる全てのアプリケーションがインストール(フルパッケージインストール)されることが想定される。このように多種のアプリケーションが混在する場合であっても、車載装置にインストールされるアプリケーションのASILレベルをAグレード、Bグレード又はQMとすることにより、比較的に車両安全性に対する影響が少ないアプリケーションを、車載装置に担わせることができる。
【0022】
(7)本開示の一態様に係るプログラムは、車両に搭載され、車載ネットワークを介して車載ECUと通信可能に接続され、複数のアプリケーションが記憶される記憶部を含むコ
ンピュータに、前記記憶部に記憶される前記アプリケーションを追加することにより、前記車両が実行可能な機能を拡張させ、前記アプリケーションの実行結果を、前記機能に対応する車載ECUへ出力する。
【0023】
本態様にあたっては、コンピュータを、記憶部に記憶されるアプリケーションを追加することにより、実行可能な機能を拡張させる車載装置として動作させるプログラムを提供することができる。
【0024】
(8)本開示の一態様に係る情報処理方法は、車両に搭載され、車載ネットワークを介して車載ECUと通信可能に接続され、複数のアプリケーションが記憶される記憶部を含むコンピュータに、前記記憶部に記憶される前記アプリケーションを追加することにより、前記車両が実行可能な機能を拡張させ、前記アプリケーションの実行結果を、前記機能に対応する車載ECUへ出力する。
【0025】
本態様にあたっては、コンピュータを、記憶部に記憶されるアプリケーションを追加することにより、実行可能な機能を拡張させる車載装置として動作させる情報処理方法を提供することができる。
【0026】
[本開示の実施形態の詳細]
本開示の実施形態に係る車載装置2等の具体例を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0027】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。
図1は、実施形態1に係る車載装置2を含む車載システムSの構成を例示する模式図である。
図2は、車載装置2等の構成を例示するブロック図である。車載システムは、車載装置2を主たる装置として構成され、車載装置2は、車載ネットワーク5を介して、ボディECU41等を含む各種の車載ECU4と通信可能に接続されている。車載ネットワーク5には、例えばイーサSW又はCANゲートウェイ等の機能を有する中継装置3が接続され、中継装置3は、車載ネットワーク5を構成する複数の通信線51を介して送受信される通信データを中継するものであってもよい。車載装置2は車外通信装置1を介して、車外ネットワークNに接続されている車外サーバ100と通信可能に接続されている。
【0028】
車外サーバ100は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータである。車外サーバ100は、車外ネットワークNを介して、複数の車両Cと通信可能に接続されており、これら車両Cの車載装置2へ、例えば、OTA(Over The Air)等を用いて各種のアプリケーションAPを送信(配布)するOTAサーバとして機能するものであってもよい。
【0029】
車外通信装置1は、車外通信部11及び車内通信部12を含む。車内通信部12は、例えば、100BASE-T1又は1000BASE-T1等のイーサネットケーブルによる通信線51にて伝送されるTCP/IPのパケットに対応するイーサネットPHY部である。車外通信装置1は、車内通信部12及び、イーサネットケーブル等の通信線51を介して、車載装置2と通信可能に接続されている。
【0030】
車外通信部11は、4G、5G、WiFi(登録商標)、Bluetooth(登録商標)等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部11に接続されたアンテナ13を介して車外サーバ100又は、スマートホン等の携帯端末101とデータの送受信を行う。車外通信装置1と、車外サーバ100又は携帯端末101
との通信は、例えば、狭域通信網、公衆回線網又はインターネット等の車外ネットワークNを介して行われる。
【0031】
本実施形態では、車外通信装置1は、車載装置2と別装置とし、車内通信部12等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、車載装置2の一構成部位として、車載装置2に内蔵されるものであってもよい。
【0032】
車両Cに搭載される複数の車載ECU4には、当該車載ECU4によって駆動制御される各種のアクチュエータ411が接続される。アクチュエータ411は、例えば、ワイパー、ドアミラー、ドアロック、照明装置、シート駆動装置、カーエアコン及びディスプレイ装置(HMI装置)等を含む。当該車載ECU4は、一例として、ワイパー、ドアロック、ドアミラー、照明装置等のボディ系のアクチュエータ411を駆動制御するボディECU41であってもよい。又は、車載ECU4は、車両Cの全体的な制御を行う統合ECU(ビークルコンピュータ)、又は当該統合ECUの配下にて動作する個別ECUであってもよい。
【0033】
ボディECU41には、車両Cの起動及び停止を行うIGスイッチ6が接続されるものであってもよい。IGスイッチ6のオン又はオフを示す信号により、エンジンの動作(オン又はオフ)を取得し、エンジンオン時(エンジン動作開始時)、又はエンジンオフ時(エンジン停止時)に対応するアプリケーションAPの起動トリガーとすることができる。当該起動トリガーはこれらに限定されず、シートベルトの脱着、ドアの開閉等のイベントを起動トリガーとするものであってもよい。
【0034】
車載装置2及びボディECU41は、電力線71を介して、鉛バッテリ、二次電池又はオルタネータ等の電源装置7と接続される。他の車載ECU4も同様に電源装置7と接続され、電源装置7から電力が供給される。ボディECU41は、電源装置7から常時給電されて起動(ウェイクアップ)状態となっており、スマートホン等の携帯端末101又はスマートキー等を有する操作者が車両Cに近接した場合、当該携帯端末101等と近距離通信を行うことにより操作者情報を取得するものであってもよい。ボディECU41は、操作者情報を取得した場合、スリープ状態にある車載装置2にウェイクアップ信号を送信し、車載装置2を起動(ウェイクアップ)状態に遷移させた後、操作者情報を車載装置2に送信するものであってもよい。
【0035】
車載装置2は、制御部20、記憶部21、入出力I/F22、車内通信部23などを含む。車載装置2は、車外サーバと定期的に通信し、OTA(Over The Air)等を用いて、各種のアプリケーションAPを取得し、取得したアプリケーションAPをインストール(適用)することにより、実行可能な機能を拡張する機能拡張ECUとして機能する。詳細は後述するが、車載装置2(機能拡張ECU)は、車両Cの状態及び操作者の組み合わせに基づきアプリケーションAPを選択し、選択したアプリケーションAPを実行する。車載装置2は、アプリケーションAPの実行結果である実行結果データを、当該アプリケーションAPを実行することにより発揮される機能に対応する車載ECU4に送信する。当該車載ECU4は、車載装置2によるアプリケーションAPにより発揮される機能に応じて、駆動制御されるアクチュエータ411が接続されている車載ECU4である。
【0036】
車両Cの機能の拡張を行うにあたり、当該機能を発揮するためのアプリケーションAPを新規に追加することが必要となるが、当該追加するアプリケーションAPを車載装置2(機能拡張ECU)に集約することにより、既存の車載ECU4に適用されているソフトウェア構成に影響を与えることを防止することができる。従って、新規アプリケーションAPを追加し機能を拡張した場合であっても、既存の車載ECU4に実装されているソフトウェア構成に対する検証を不要とすることができる。拡張した機能を発揮するにあたり
車載装置2はアプリケーションAPを実行するため、車載装置2と当該機能に対応する車載ECU4とによる分散処理が行われる。これにより、車載ECU4の処理負荷を低減し、車載ECU4に実装されるメモリ又はCPU等のハードウェアリソースに要求されるスペックが増加することを抑制することができる。
【0037】
制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成されている。制御部20は、記憶部21に予め記憶された制御プログラムP(プログラム製品)及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行う。記憶部21に記憶された制御プログラムP(プログラム製品)は、車載装置2が読み取り可能な記録媒体Mから読み出された制御プログラムP(プログラム製品)を記憶したものであってもよい。また、記憶部21に記憶された制御プログラムP(プログラム製品)は、図示しない通信網に接続されている図示しない外部コンピュータからプログラムをダウンロードし、記憶部21に記憶させたものであってもよい。
【0038】
記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してある。記憶部21には、複数のアプリケーションAP、入出力プログラムIP、及びオペレーティングシステムOP等を含む制御プログラムPが記憶されている。更に、記憶部21には、後述するアプリケーションテーブルが記憶されている。
【0039】
入出力I/F22は、例えばシリアル通信するための通信インターフェイスである。入出力I/F22を介して、車載装置2は、カメラ221、LiDAR、RADAR、超音波センサ、温湿度センサ、赤外線センサ等のセンサ222、ディスプレイ等の表示装置(HMI装置)と通信可能に接続される。入出力I/F22には、追加された各種のアプリケーションAPに応じて、必要となる各種センサ222が追加接続(後付け)されるものであってもよい。すなわち、入出力I/F22は、例えば、カメラ221系のIFであるGMSL、FPD-LINK等の規格に対応するものであってよい。このように入出力I/F22を介してカメラ221が撮像した画像に対し、制御部20は、各種のアプリケーションAPを実行することにより、画像処理、点群処理、物体検知、又は生体検知等の各種処理を行うことができる。
【0040】
車内通信部23は、例えばイーサネット(登録商標)、CAN(Controller Area Network)等の通信プロトコルを用いた入出力インターフェイス(イーサネットPHY部、CANトランシーバ等)である。制御部20は、車内通信部23を介して車載ネットワーク5に接続される中継装置3、車載ECU4又は車外通信装置1と相互に通信する。
【0041】
図3は、車載装置2に実装されるソフトウェア階層の一例を示す説明図である。車載装置2の記憶部21に記憶される制御プログラムPは、複数のアプリケーションAP、入出力プログラムIP、及びオペレーティングシステムOPを含むものであってもよい。ソフトウェア階層(レイヤー構造)としては、入出力プログラムIPが最上位階層となり、アプリケーションAP、及びオペレーティングシステムOPの順番にて下位構成となる。
【0042】
複数のアプリケーションAPは、車両Cの操作者(操作者情報)、及び車両Cの状態(車両状態情報)の組み合わせにより、選択的に実行されるものであり、当該操作者毎に、切り替えられて実行されるものである。車載装置2(機能拡張ECU)は、これらアプリケーションAPを車外サーバ100から、OTA(Over The Air)等を用いて取得し、記憶部21に記憶することによりインストールする。このようにアプリケーションAPを車外サーバ100から取得することにより、取得したアプリケーションAPに応じて、車載装置2が発揮することができる機能(実行可能な機能)を拡張させることができる。
【0043】
入出力プログラムIPは、拡張した機能の種類に応じてアプリケーションAPを実行する際、アプリケーションAPの実行結果として生成される要求信号の送信先となる車載ECU4との入出力に関する処理(入出力処理)を行う。入出力プログラムIPが、車載ECU4との入出力処理、すなわち車載ECU4に対するフロントエンド処理を行うにあたり、入出力プログラムIPと、複数のアプリケーションAPそれぞれとは、共通化されたインターフェイスにより連携され、例えばプロセス間通信又は共有メモリ方式等にて接続されるように構成されている。入出力プログラムIPと、複数のアプリケーションAPそれぞれとは、例えば、共通の通信ソケットライブラリ等を用いたコーディングがされており、各アプリケーションAPと入出力プログラムIPとは、当該ライブラリーによって規定されたプロセス間通信を行うものであってもよい。このように入出力プログラムIPは、各アプリケーションAPそれぞれにおいて、予め想定されるデータの授受処理を行うことにより、いずれのアプリケーションAPとも透過的な通信処理を行う共に、要求信号の出力先となる車載ECU4に対応したデータの送受信処理を行う。
【0044】
車載装置2の記憶部21には、アプリケーションAPと、当該アプリケーションAPの実行結果(要求信号)の送信先となる車載ECU4とが関連付けて、例えばリスト形式(アプリリスト)にて記憶されているものであってもよい。アプリリストには、アプリケーションAPの名称(実行ファイル名)と、当該アプリケーションAPによって発揮される機能に対応した車載ECU4を一意に識別するECU番号(MACアドレス、IPアドレス、ECUID等)とが、関連付けられて定義されている。
【0045】
制御部20は、入出力プログラムIPを実行する際、当該アプリリストをデータファイルとして読み込むことにより、実行したアプリケーションAPの実行結果(要求信号)の送信先となる車載ECU4を特定し、当該実行結果(要求信号)を特定した車載ECU4に送信する。送信先となる車載ECU4は、アプリケーションAPによって発揮される機能に対応した車載ECU4であり、当該機能によって駆動されるアクチュエータ411が接続されている車載ECU4である。
【0046】
入出力プログラムIPは、複数のアプリケーションAPが同時に実行されている場合、これらアプリケーションAP間における優先順位を決定し、これらアプリケーションAP間におけるリソース競合等を解消する処理(アプリ制御処理)を行うものであってもよい。このように構成された入出力プログラムIPは、車載ECU4との通信処理を行うにあたり通信系ミドルウェアとして機能するものであり、車外サーバ100から取得した各種のアプリケーションAPと、車両Cに搭載される各種の車載ECU4との親和性及び透過性を高め、アプリケーションAPの汎用性を担保することができる。
【0047】
オペレーティングシステムOPは、例えば、Linux(登録商標)又はAUTOSAR(登録商標)-OS等の基本ソフトウェアである。車載装置2にインストール(適用)された全てのアプリケーションAPは、オペレーティングシステムOP上で動作することにより、当該アプリケーションAPの実行のために生成されたプロセス又はスレッド、及びアプリケーションAPによるハードウェアリソースへのアクセスが制御される。オペレーティングシステムOPは、例えば、セキュリティモジュール、入出力I/F22に接続されるカメラ221及びセンサ222等のデバイスドライバ、及び車外サーバ100からアプリケーションAPを取得又は更新する際に用いられるOTAモジュールを含むものであってもよい。オペレーティングシステムOPは、制御部20、記憶部21、入出力I/F22、及び車内通信部23等のハードウェアリソースへのアクセス制御、及びタイムスライス処理等を担う。
【0048】
図4は、アプリケーションテーブルの一例を示す説明図である。記憶部21には、車両
Cの操作者(操作者情報)と、車両Cの状態(車両状態情報)との組み合わせにより特定されるアプリケーションAPが定義されたアプリケーションテーブルが記憶されている。アプリケーションテーブルは、例えばマトリックス形式のテーブルで構成され、管理項目として、操作者のフィールド、及び車両状態のフィールドを含み、これら操作者及び車両状態の組み合わせにより実行されるアプリケーションAPが定義されるものであってもよい。
【0049】
本実施形態において、例えば、操作者がUser-Aであり、車両Cの状態が乗車時である場合、ドア自動解除のアプリケーションAPが実行される。又、操作者がUser-Bであり、車両Cの状態の乗車時である場合も、実行されるアプリケーションAPは、ドア自動解除であるとして定義されている。車両Cの状態がエンジン動作中である場合、User-AではカメラDMS(Driver Monitor)が実行されるアプリケーションAPとして定義され、User-Bでは生体センサDMSが実行されるアプリケーションAPとして定義される。このように車両Cの状態(車両状態情報)が同じ場合であっても、車載装置2(機能拡張ECU)の制御部20は、操作者(操作者情報)によって、実行するアプリケーションAPを切り替えることができる。
【0050】
ドア自動解除、カメラDMS、生体センサDMS等は、選択的に実行されるアプリケーションAPの一例であり、これに限定されるものではないことは、言うまでもない。車両Cの状態(車両状態情報)が乗車中である場合に実行されるアプリケーションAPは、例えば、生体認証によるドア開錠、シェアカーのユーザ認証、タクシー又はバス等のユーザ認証及び決済、子供乗車確認時のドア設定変更等を含むものであってもよい。又、車両Cの状態(車両状態情報)がエンジン動作中である場合に実行されるアプリケーションAPは、例えば、各種DMS(Driver Monitor)、EDR(データ記録)、標識認識、信号認識、緊急車両C検知(音)、ドラレコ機能(データ保存)等を含むものであってもよい。又、車両Cの状態(車両状態情報)が降車中である場合に実行されるアプリケーションAPは、例えば、ドア開閉時の衝突警告、タクシー又はバス等のユーザ認証及び決済、子供置き去り検知、スマートホーム連携、ガレージオープン等を含むものであってもよい。
【0051】
記憶部21に記憶され、アプリケーションテーブルにて定義されるこれらのアプリケーションAPは、ISO26262のASIL(Automotive Safety Integrity Level)におけるAグレード、Bグレード又はQMに位置づけられるものであってもよい。機能拡張ECUとして機能する車載装置2は、車外サーバ100から各種のアプリケーションAPを、OTA等を用いて周期的又は定期的に取得及び更新するため、当該車載装置2に適用可能な全てのアプリケーションAPが実行可能な状態を、維持することができる。
【0052】
アプリケーションテーブルの元データとなる情報は、車外サーバ100にて一元管理されているサブスクリプションユーザに関する情報であってもよい。当該サブスクリプションユーザは、車両Cの操作者となり得るユーザであり、車外サーバ100には、全サブスクリプションユーザに関し、各ユーザが要望するアプリケーションAPの情報(ユーザマスタ情報)が一元管理されている。車載装置2の制御部20は、定期的に車外サーバ100と通信し、当該アプリケーションテーブルを更新するものであってもよい。
【0053】
図5は、アプリケーションAPの切り替えの一例を示す説明図である。本実施形態における図示にて、車載装置2(機能拡張ECU)が、車両Cの操作者(操作者情報)及び車両Cの状態(車両状態情報)によって、実行するアプリケーションAPを切り替える態様(ユースケース)を説明する。車両Cの状態(車両状態情報)が乗車時である場合、車両Cの操作者(A)及び操作者(B)は、共に、ドア自動解除を実行するアプリケーションAPとして設定(アプリケーションテーブルにて定義)しているため、ドア自動解除のアプリケーションAPが実行される。
【0054】
車両Cの状態(車両状態情報)がエンジン動作中である場合、操作者(A)はカメラDMSを実行するアプリケーションAPとして設定し、操作者(B)は生体センサDMSを実行するアプリケーションAPとして設定している。従って、操作者(A)が乗車している場合は、エンジン動作中において、カメラDMSが実行される。操作者(B)が乗車している場合は、エンジン動作中において、生体センサDMSが実行される。
【0055】
車両Cの状態(車両状態情報)が降車時である場合、車両Cの操作者(A)及び操作者(B)は、共に、ドア開閉時警告を実行するアプリケーションAPとして設定(アプリケーションテーブルにて定義)しているため、ドア開閉時警告が実行される。このように車両Cの状態(車両状態情報)に応じて、アプリケーションAPを切り替えて実行することができる。更に、車両Cの状態(車両状態情報)が同じエンジン動作中であっても、操作者(A)と操作者(B)とで実行されるアプリケーションAPは異なるものとなり、操作者に応じて、アプリケーションAPを切り替えて実行することができる。
【0056】
図6は、車載装置2の制御部20の処理を例示するフローチャートである。車載装置2の制御部20は、例えば車両Cが起動状態(IGスイッチ6がオン)又は停止状態(IGスイッチ6がオフ)において、定常的に以下の処理を行う。
【0057】
車載装置2の制御部20は、以下の処理を行うにあたり、OTAサーバ等の車外サーバ100と周期的又は定期的に通信し、新たに追加するアプリケーションAPの有無を確認する。追加するアプリケーションAPが有る場合、車載装置2の制御部20は、車外サーバ100(OTAサーバ)から追加対象のアプリケーションAPを取得(ダウンロード)し、記憶部21に記憶することにより、インストール(適用)する。
【0058】
車載装置2の制御部20は、車外サーバ100からアプリケーションAPを取得するにあたり、当該車載装置2に適用することができる全てのアプリケーションAP(フルパッケージ)を取得するものであってもよい。車載装置2は、車両Cの操作者に応じて、実行するアプリケーションAPを選択するが、当該車両Cは、複数の異なる操作者によって運転等の操作が行われることが、想定される。このような場合であっても、車載装置2には予め全てのアプリケーションAP(フルパッケージ)がインストール(適用)されているため、いずれの操作者が車両Cを操作する場合であっても、当該操作者に合わせてアプリケーションAPを都度、取得することを不要とすることができる。
【0059】
車載装置2の制御部20は、アプリケーションAPの追加取得に併せて、車外サーバ100に登録されているサブスクリプションユーザ(車両Cの操作者)に関するユーザ情報を取得するものであってもよい。車載装置2の制御部20は、当該取得したユーザ情報に基づき、各サブスクリプションユーザ(車両Cの操作者)が要望するアプリケーションAP(提供されるサービス)を把握し、アプリケーションテーブルを更新するものであってもよい。
【0060】
車載装置2の制御部20は、車両Cの操作者に関する操作者情報を取得する(S101)。車載装置2の制御部20は、車両Cの操作者が保持する携帯端末101又はスマートキーから送信される操作者情報を、例えば、ボディECU41を介して取得する。ボディECU41は、電源装置7が常時給電され、起動(ウェイクアップ)状態となっており、携帯端末101等を有する操作者が、車両Cに近接した場合、当該携帯端末101と近距離通信を行うことにより、操作者情報を取得する。この場合、ボディECU41は、例えば、スリープ状態にある車載装置2にウェイクアップ信号を送信し、車載装置2を起動(ウェイクアップ)状態に遷移させ、更に操作者情報を車載装置2に送信する。車載装置2の制御部20は、ボディECU41から取得した操作者情報と取得時刻とを関連付けて記
憶部21に記憶する。
【0061】
車載装置2の制御部20は、取得した操作者情報に基づき、当該操作者に対する認証処理を行い、認証処理の結果が肯定的結果である場合のみ、以下の処理を行うものであってもよい。車載装置2の制御部20は、当該認証処理を行うにあたり、取得した操作者情報を車外サーバ100へ送信し、車外サーバ100に対し認証処理を要求するものであってもよい。又は、車載装置2には指紋認証等を行う生体認証装置が接続されており、車載装置2の制御部20は、当該生体認証装置を用いて、車両Cの操作者の認証を行うものであってもよい。
【0062】
車載装置2の制御部20は、車両Cの状態に関する車両状態情報を取得する(S102)。車載装置2の制御部20は、例えば、ボディECU41等、各車載ECU4から送信されるメッセージを受信し、受信したメッセージに含まれる車両状態情報を取得し、車両状態情報と取得時刻とを関連付けて記憶部21に記憶する。又は、車載装置2の制御部20は、IGスイッチ6がオン又はオフされた際、IGスイッチ6から送信される信号に基づき、車両状態情報を取得するものであってもよい。当該メッセージは例えばCANメッセージ又はIPパケットであり、車載装置2の制御部20は、CANメッセージのメッセージID、IPパケットのTCPポート番号、又は、これらメッセージのペイロードに格納されているデータに基づき、車両状態情報を取得することができる。当該車両状態情報は、例えば、操作者が乗車中、操作者が降車中、エンジン動作中、エンジン停止中、車速、各種アクチュエータ411の動作状態、自動運転中、又は手動運転中等の各種状態を示す情報を含む。
【0063】
車載装置2の制御部20は、操作者情報及び車両状態情報に基づき、アプリケーションAPを選択する(S103)。車載装置2の制御部20は、例えば、記憶部21に記憶されているアプリケーションテーブルを参照することにより、取得した操作者情報及び車両状態情報に対応するアプリケーションAPを選択する。アプリケーションテーブルは、例えば、マトリックス形式にて記憶部21に記憶されており、車載装置2の制御部20は、操作者情報と車両状態情報との組み合わせに基づき、アプリケーションAPの選択を効率的に行うことができる。
【0064】
車載装置2の制御部20は、選択したアプリケーションAPを実行する(S104)。車載装置2の制御部20は、選択したアプリケーションAPを実行し、実行結果として生成した結果データ、制御信号、又は要求信号等を含むメッセージを、当該アプリケーションAPに対応する車載ECU4に送信する。当該アプリケーションAPは、操作者によって要望される機能(サービス)を発揮するためのものであり、当該機能(サービス)は、例えば、ドアの自動開錠、ライトの点灯、ドア開閉時の衝突傾向等を含む。これら機能(サービス)を発揮するにあたり、実際に駆動されるアクチュエータ411は、要求信号等の送信先となる車載ECU4に接続されている。機能(サービス)を発揮するにあたり駆動されるアクチュエータ411が接続されている車載ECU4は、受信した要求信号(メッセージ)に応じて、自身に接続されているドアロック、照明等のアクチュエータ411を駆動制御する。これにより、当該車載ECU4による処理負荷を低減しつつ、車両Cの状態に応じて、車両Cの操作者が要望するアプリケーションAPを実行し、当該操作者が要望する機能(サービス)を提供することができる。
【0065】
車載装置2の制御部20は、車両Cの状態に関する車両状態情報を取得する(S105)。車載装置2の制御部20は、処理S102と同様に、車両Cの状態に関する車両状態情報を取得し、車両状態情報と取得時刻とを関連付けて記憶部21に記憶する。
【0066】
車載装置2の制御部20は、車両状態情報が変化したか否かを判定する(S106)。
車載装置2の制御部20は、今回取得した車両状態情報と、前回取得した車両状態情報とにおいて、変化が生じたか否かを判定する。
【0067】
車両状態情報が変化した場合(S106:YES)、車載装置2の制御部20は、再度S103の処理を実行すべくループ処理を行う。車両状態情報が変化した場合、車載装置2の制御部20は、再度S103の処理を実行すべくループ処理を行うことにより、現時点における車両Cの状態と操作者との組み合わせに基づくアプリケーションAPを選択し、実行することができる。これにより、車両Cの状態変化に応じて、適切なアプリケーションAPの選択及び実行を図ることができる。
【0068】
車両状態情報が変化していない場合(S106:NO)、車載装置2の制御部20は、操作者が車両C周辺から離れたか否かを判定する(S107)。車両状態情報が変化していない場合、車載装置2の制御部20は、例えば、ボディECU41と通信することにより、操作者が車両C周辺から離れたか否かを判定する。操作者が保持する携帯端末101又はスマートキーとボディECU41とは、例えば、RF(Radio Frequency)又はLF(Low Frequency)を用いた近距離通信を行うことにより、ボディECU41は、操作者が車両C内に居するか又は車両C外にて所定の距離内に居するかについて周期的に判定している。車載装置2の制御部20は、例えば、ボディECU41から操作者の位置に関する情報を取得することにより、操作者が車両C周辺から離れたか否かを判定する。
【0069】
操作者が車両C周辺から離れていない場合(S107:NO)、車載装置2の制御部20は、再度S105からの処理を実行すべくループ処理を行う。操作者が車両C周辺から離れていない場合、車載装置2の制御部20は、再度S105からの処理を実行することにより、車両状態情報の取得を定期的又は周期的に行うことを継続することができる。これにより、操作者が車両C周辺から離れていない状態において、定期的に取得した車両状態情報に応じて、適切なアプリケーションAPの選択及び実行することを、継続して行うことができる。操作者が車両C周辺から離れた場合(S107:YES)、車載装置2の制御部20は、本フローチャートにおける処理を終了する。
【0070】
(実施形態2)
図7は、実施形態2に係る車載装置2の制御部20の処理を例示するフローチャートである。実施形態2に係る車載装置2は、実施形態1の処理S101と同様に、S201の処理を行う。
【0071】
車載装置2の制御部20は、アプリケーションテーブルに、取得した操作者情報が登録されているか否かを判定する(S202)。車載装置2の制御部20は、取得した操作者情報(ユーザID)が、記憶部21に記憶されているアプリケーションテーブルの操作者のフィールドに登録されているか否かを判定する。
【0072】
操作者情報がアプリケーションテーブルに登録されていない場合(S202:NO)、車載装置2の制御部20は、車外サーバ100から操作者情報に対応するユーザ情報を取得する(S2021)。操作者情報がアプリケーションテーブルに登録されていない場合、車載装置2の制御部20は、取得した操作者情報を車外サーバ100に送信し、車外サーバ100に対し、当該操作者情報に対応するユーザ情報を要求する。操作者情報は、例えば、操作者を一意に示すユーザIDを含む。車外サーバ100には、サブスクリプションユーザである車両Cの操作者に関するデータが一元管理(マスター登録)されており、各ユーザ(ユーザID)が要望するサービス、すなわち実行するアプリケーションAPがリスト化されて保存されている。車載装置2の制御部20は、ユーザID等を含む操作者情報を車外サーバ100に送信することにより、全ユーザの情報を一元管理する車外サーバ100から、当該操作者に対応して実行するアプリケーションAPを含むユーザ情報を
取得する。
【0073】
車載装置2の制御部20は、取得したユーザ情報に基づき、アプリケーションテーブルを更新する(S2022)。車載装置2の制御部20は、取得したユーザ情報に基づき、今回取得した操作者情報の操作者(ユーザID)及び、当該操作者(ユーザID)が各車両C状態にて実行することを要望するアプリケーションAP(提供するサービス)に関する情報を、アプリケーションテーブルに追加登録する。
【0074】
車外サーバ100に登録されるサブスクリプションユーザのユーザ数が増加し膨大となった場合、全ユーザに関する情報を、個々の車両Cそれぞれにおけるアプリケーションテーブルに登録(ミラーリング)することは、記憶部21における記憶領域の逼迫を招くことが懸念される。そこで、車両Cそれぞれにおけるアプリケーションテーブルには、必要に応じて、新規の操作者(ユーザID)に関する情報を追加登録することにより、記憶部21の記憶領域が逼迫することを抑制することができる。
【0075】
車載装置2は、車外サーバ100によるOTA処理を定期的に実行しているため、車載装置2の記憶部21には、当該車載装置2に適用される全てのアプリケーションAPが記憶(フルパッケージインストール)されている。従って、アプリケーションテーブルにて定義される各アプリケーションAPは、既にインストールされているため、新規の操作者(ユーザID)を登録する場合であっても、当該ユーザ登録に併せてアプリケーションAPをインストールすることを不要とすることができる。又は、車載装置2の制御部20は、新規の操作者(ユーザID)の登録に併せて、当該操作者が要望するアプリケーションAPを車外サーバ100から取得するものであってもよい。
【0076】
操作者情報がアプリケーションテーブルに登録されている場合(S202:YES)、車載装置2の制御部20は、車両Cの状態に関する車両状態情報を取得する(S203)。車載装置2の制御部20は、実施形態1の処理S102と同様にS203を行う。車載装置2の制御部20は、S203の実行後、実施形態1の処理S103からS107と同様に、S204からS208までの処理を行う。
【0077】
今回開示された実施形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0078】
特許請求の範囲に記載されている複数の請求項に関して、引用形式に関わらず、相互に組み合わせることが可能である。特許請求の範囲では、複数の請求項に従属する多項従属請求項が記載されている。特許請求の範囲では、多項従属請求項に従属する多項従属請求項は記載されていないが、多項従属請求項に従属する多項従属請求項を記載してもよい。
【符号の説明】
【0079】
S 車載システム
C 車両
N 車外ネットワーク
100 車外サーバ(OTAサーバ)
101 携帯端末
1 車外通信装置
11 車外通信部
12 車内通信部
13 アンテナ
2 車載装置(機能拡張ECU)
20 制御部
21 記憶部
M 記録媒体
P 制御プログラム(プログラム製品)
AP アプリケーション
IP 入出力プログラム
OP オペレーティングシステム
22 入出力I/F
221 カメラ
222 センサ
23 車内通信部
3 中継装置
4 車載ECU
41 ボディECU
411 アクチュエータ
5 車載ネットワーク
51 通信線
6 IGスイッチ
7 電源装置
71 電力線