(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】車両プラットフォーム、及び車両制御インターフェースボックス
(51)【国際特許分類】
B60W 50/04 20060101AFI20241119BHJP
B60W 60/00 20200101ALI20241119BHJP
H04L 12/28 20060101ALI20241119BHJP
B60R 16/023 20060101ALI20241119BHJP
【FI】
B60W50/04
B60W60/00
H04L12/28 200D
B60R16/023 P
(21)【出願番号】P 2021183957
(22)【出願日】2021-11-11
【審査請求日】2023-11-08
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】田中 剛
【審査官】平井 功
(56)【参考文献】
【文献】特開2021-123135(JP,A)
【文献】特開2018-70121(JP,A)
【文献】特開2004-171226(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00-60/00
H04L 12/28
B60R 16/00-17/02
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
自動運転システムを搭載可能に構成された車両プラットフォームであって、
車両と、
前記車両と前記車両に搭載された前記自動運転システムとの間のインターフェースをCAN通信により行なう車両制御インターフェースボックスとを備え、
前記車両制御インターフェースボックスは、
前記自動運転システムから前記車両の制御要求を受信する第1受信部と、
前記CAN通信の混雑の程度を示す指標値を算出する算出部と、
前記制御要求に基づいて生成された前記車両の制御指令を前記車両に送信する送信部と、
前記車両への前記制御指令の送信計画を設定する設定部とを含み、
前記設定部は、前記CAN通信における前記制御指令の優先度と、前記指標値とに従って前記送信計画を設定し、
前記制御指令は、前記優先度に従って複数のグループのいずれかに分類され、
前記複数のグループは、前記優先度が高い第1のグループと、前記第1のグループよりも前記優先度が低い第2のグループとを含み、
前記設定部は、前記指標値が大きい場合に、前記指標値が小さい場合よりも、前記第2のグループに分類された制御指令の送信周期が長くなるように前記送信計画を設定する
、車両プラットフォーム。
【請求項2】
自動運転システムを搭載可能に構成された車両プラットフォームであって、
車両と、
前記車両と前記車両に搭載された前記自動運転システムとの間のインターフェースをCAN通信により行なう車両制御インターフェースボックスとを備え、
前記車両制御インターフェースボックスは、
前記自動運転システムから前記車両の制御要求を受信する第1受信部と、
前記CAN通信の混雑の程度を示す指標値を算出する算出部と、
前記制御要求に基づいて生成された前記車両の制御指令を前記車両に送信する送信部と、
前記車両への前記制御指令の送信計画を設定する設定部とを含み、
前記設定部は、前記CAN通信における前記制御指令の優先度と、前記指標値とに従って前記送信計画を設定し、
前記制御指令は、前記優先度に従って複数のグループのいずれかに分類され、
前記複数のグループは、前記優先度が高い第1のグループと、前記第1のグループよりも前記優先度が低い第2のグループとを含み、
前記設定部は、前記第2のグループに分類された前記制御指令の送信期間が、前記第1のグループに分類された前記制御指令の送信期間に重複しないように、前記第2のグループに分類された前記制御指令の送信待機時間を設定し、
前記設定部は、前記指標値が大きい場合に、前記指標値が小さい場合よりも、前記送信待機時間が長くなるように前記送信計画を設定する
、車両プラットフォーム。
【請求項3】
自動運転システムを搭載可能に構成された車両プラットフォームであって、
車両と、
前記車両と前記車両に搭載された前記自動運転システムとの間のインターフェースをCAN通信により行なう車両制御インターフェースボックスとを備え、
前記車両制御インターフェースボックスは、
前記自動運転システムから前記車両の制御要求を受信する第1受信部と、
前記CAN通信の混雑の程度を示す指標値を算出する算出部と、
前記制御要求に基づいて生成された前記車両の制御指令を前記車両に送信する送信部と、
前記車両への前記制御指令の送信計画を設定する設定部とを含み、
前記設定部は、前記CAN通信における前記制御指令の優先度と、前記指標値とに従って前記送信計画を設定し、
前記指標値は、
前記自動運転システムから前記車両制御インターフェースボックスを通じた前記車両への通信の遅延時間である第1通信遅延時間と、
前記車両から前記車両制御インターフェースボックスを通じた前記自動運転システムへの通信の遅延時間である第2通信遅延時間とを含む
、車両プラットフォーム。
【請求項4】
前記CAN通信が行われる通信線は、前記自動運転システムと前記車両制御インターフェースボックスとを接続する第1通信線を含み、
前記第1通信遅延時間は、
前記第1受信部が前記第1通信線を通じて前記制御要求を受信するときに発生する受信遅延時間と、
前記第1受信部が前記制御要求を受信した時から、前記送信部が前記制御指令を送信する時までの期間中の処理において発生する処理遅延時間とを含む、請求項
3に記載の車両プラットフォーム。
【請求項5】
前記CAN通信が行われる通信線は、前記車両制御インターフェースボックスと前記車両とを接続する第2通信線を含み、
前記車両制御インターフェースボックスは、前記車両の状態を表す車両状態信号を前記車両から受信する第2受信部をさらに含み、
前記第2受信部が前記車両状態信号を受信すると、前記送信部は、前記車両状態信号に基づいて生成された信号を前記自動運転システムに送信し、
前記第2通信遅延時間は、
前記第2受信部が前記第2通信線を通じて前記車両状態信号を受信するときに発生する受信遅延時間と、
前記第2受信部が前記車両状態信号を受信した時から、前記送信部が前記車両状態信号に基づいて生成された信号を送信する時までの期間中の処理において発生する処理遅延時間とを含む、請求項
3または請求項
4に記載の車両プラットフォーム。
【請求項6】
車両プラットフォームと前記車両プラットフォームに搭載される自動運転システムとの間のインターフェースをCAN通信により行なう車両制御インターフェースボックスであって、前記車両プラットフォームは、車両を含み、
前記車両制御インターフェースボックスは、
前記自動運転システムから前記車両の制御要求を受信する第1受信部と、
前記CAN通信の混雑の程度を示す指標値を算出する算出部と、
前記制御要求に基づいて生成された前記車両の制御指令を前記車両に送信する送信部と、
前記車両への前記制御指令の送信計画を設定する設定部とを備え、
前記設定部は、前記CAN通信における前記制御指令の優先度と、前記指標値とに従って前記送信計画を設定し、
前記制御指令は、前記優先度に従って複数のグループのいずれかに分類され、
前記複数のグループは、前記優先度が高い第1のグループと、前記第1のグループよりも前記優先度が低い第2のグループとを含み、
前記設定部は、前記指標値が大きい場合に、前記指標値が小さい場合よりも、前記第2のグループに分類された制御指令の送信周期が長くなるように前記送信計画を設定する
、車両制御インターフェースボックス。
【請求項7】
車両プラットフォームと前記車両プラットフォームに搭載される自動運転システムとの間のインターフェースをCAN通信により行なう車両制御インターフェースボックスであって、前記車両プラットフォームは、車両を含み、
前記車両制御インターフェースボックスは、
前記自動運転システムから前記車両の制御要求を受信する第1受信部と、
前記CAN通信の混雑の程度を示す指標値を算出する算出部と、
前記制御要求に基づいて生成された前記車両の制御指令を前記車両に送信する送信部と、
前記車両への前記制御指令の送信計画を設定する設定部とを備え、
前記設定部は、前記CAN通信における前記制御指令の優先度と、前記指標値とに従って前記送信計画を設定し、
前記制御指令は、前記優先度に従って複数のグループのいずれかに分類され、
前記複数のグループは、前記優先度が高い第1のグループと、前記第1のグループよりも前記優先度が低い第2のグループとを含み、
前記設定部は、前記第2のグループに分類された前記制御指令の送信期間が、前記第1のグループに分類された前記制御指令の送信期間に重複しないように、前記第2のグループに分類された前記制御指令の送信待機時間を設定し、
前記設定部は、前記指標値が大きい場合に、前記指標値が小さい場合よりも、前記送信待機時間が長くなるように前記送信計画を設定する
、車両制御インターフェースボックス。
【請求項8】
車両プラットフォームと前記車両プラットフォームに搭載される自動運転システムとの間のインターフェースをCAN通信により行なう車両制御インターフェースボックスであって、前記車両プラットフォームは、車両を含み、
前記車両制御インターフェースボックスは、
前記自動運転システムから前記車両の制御要求を受信する第1受信部と、
前記CAN通信の混雑の程度を示す指標値を算出する算出部と、
前記制御要求に基づいて生成された前記車両の制御指令を前記車両に送信する送信部と、
前記車両への前記制御指令の送信計画を設定する設定部とを備え、
前記設定部は、前記CAN通信における前記制御指令の優先度と、前記指標値とに従って前記送信計画を設定し、
前記指標値は、
前記自動運転システムから前記車両制御インターフェースボックスを通じた前記車両への通信の遅延時間である第1通信遅延時間と、
前記車両から前記車両制御インターフェースボックスを通じた前記自動運転システムへの通信の遅延時間である第2通信遅延時間とを含む
、車両制御インターフェースボックス。
【請求項9】
前記CAN通信が行われる通信線は、前記自動運転システムと前記車両制御インターフェースボックスとを接続する第1通信線を含み、
前記第1通信遅延時間は、
前記第1受信部が前記第1通信線を通じて前記制御要求を受信するときに発生する受信遅延時間と、
前記第1受信部が前記制御要求を受信した時から、前記送信部が前記制御指令を送信する時までの期間中の処理において発生する処理遅延時間とを含む、請求項
8に記載の車両制御インターフェースボックス。
【請求項10】
前記CAN通信が行われる通信線は、前記車両制御インターフェースボックスと前記車両とを接続する第2通信線を含み、
前記車両制御インターフェースボックスは、前記車両の状態を表す車両状態信号を、前記第2通信線を通じて前記車両から受信する第2受信部をさらに含み、
前記第2受信部が前記車両状態信号を受信すると、前記送信部は、前記車両状態信号に基づいて生成された信号を前記自動運転システムに送信し、
前記第2通信遅延時間は、
前記第2受信部が前記車両状態信号を受信するときに発生する受信遅延時間と、
前記第2受信部が前記車両状態信号を受信した時から、前記送信部が前記車両状態信号に基づいて生成された信号を送信する時までの期間中の処理において発生する処理遅延時間とを含む、請求項
8または請求項
9に記載の車両制御インターフェースボックス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自動運転システムを搭載可能に構成された車両プラットフォーム、及び、車両プラットフォームと車両プラットフォームに搭載される自動運転システムとの間のインターフェースを行なう車両制御インターフェースボックスに関する。
【背景技術】
【0002】
特開2018-132015号公報(特許文献1)は、自動運転システムを搭載した車両を開示する。この車両は、動力システムと、電源システムと、自動運転システムとを搭載している。動力システムは、車両の動力を統括的に管理する。電源システムは、車両に搭載されるバッテリの充放電電力や各種車載器の電力供給等を統括的に管理する。自動運転システムは、車両の自動運転制御を統括的に実行する。動力システムのエンジンECU(Electronic Control Unit)、電源システムの電源ECU、及び自動運転システムの自動運転ECUは、車載ネットワークを通じて通信可能に接続されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
自動運転システムの事業者が開発した自動運転システムを車両に外付けすることが考えられる。この場合、外付けされた自動運転システムから車両への制御要求に従って、車両制御が実行されることで自動運転が実現される。
【0005】
このような車両においては、外付けされる自動運転システムと車両との間でやり取りされる各種指令及び信号のインターフェースが重要である。このようなインターフェースは、CAN(Controller Area Network)通信により行われることがある。
【0006】
CAN通信が混雑すると、上記の各種指令および信号がインターフェースを通じて車両に適切に伝達されない可能性がある。その結果、自動運転システムからの制御要求に従って車両の自動運転が適切に実行されない可能性がある。
【0007】
本開示は、上記の問題を解決するためになされたものであり、その目的は、自動運転システムが搭載された車両プラットフォームにおいて、車両と自動運転システムとの間のCAN通信が混雑した場合に、自動運転システムからの制御要求に従って適切な自動運転を可能にすることである。
【0008】
本開示の他の目的は、車両プラットフォームと車両プラットフォームに搭載される自動運転システムとの間のインターフェースを行なう車両制御インターフェースボックスにおいて、車両と自動運転システムとの間のCAN通信が混雑した場合に、自動運転システムからの制御要求に従って適切な自動運転を可能にすることである。
【課題を解決するための手段】
【0009】
本開示の車両プラットフォームは、自動運転システムを搭載可能に構成される。車両プラットフォームは、車両と、車両制御インターフェースボックスとを備える。車両制御インターフェースボックスは、車両と車両に搭載された自動運転システムとの間のインターフェースをCAN通信により行なう。車両制御インターフェースボックスは、第1受信部と、算出部と、送信部と、設定部とを含む。第1受信部は、自動運転システムから車両の制御要求を受信する。算出部は、CAN通信の混雑の程度を示す指標値を算出する。送信部は、制御要求に基づいて生成された車両の制御指令を車両に送信する。設定部は、車両への制御指令の送信計画を設定する。設定部は、CAN通信における制御指令の優先度と、指標値とに従って送信計画を設定する。
【0010】
上記の構成とすることにより、制御指令の優先度に加えて、CAN通信の混雑の程度が制御指令の送信計画に反映される。これにより、CAN通信が混雑している場合にCAN通信の混雑の程度が低減されるように制御指令を車両制御インターフェースボックスから車両へ送信することができる。その結果、制御指令が車両制御インターフェースボックスから車両へ適切に送信される。よって、自動運転システムからの制御要求に従って車両の適切な自動運転を可能にすることができる。
【0011】
好ましくは、制御指令は、優先度に従って複数のグループのいずれかに分類される。複数のグループは、優先度が高い第1のグループと、第1のグループよりも優先度が低い第2のグループとを含む。設定部は、指標値が大きい場合に、指標値が小さい場合よりも、第2のグループに分類された制御指令の送信周期が長くなるように送信計画を設定する。
【0012】
上記の構成とすることにより、CAN通信が混雑している場合に、CAN通信が混雑していない場合よりも、第2のグループに分類された制御要求の送信頻度が低下する。これにより、優先度が高い第1のグループに分類された制御要求の伝達をCAN通信の混雑前と同様に継続しつつ、CAN通信の混雑の程度を低減することができる。
【0013】
好ましくは、制御指令は、優先度に従って複数のグループのいずれかに分類される。複数のグループは、優先度が高い第1のグループと、第1のグループよりも優先度が低い第2のグループとを含む。設定部は、第2のグループに分類された制御指令の送信期間が、第1のグループに分類された制御指令の送信期間に重複しないように、第2のグループに分類された制御指令の送信待機時間を設定する。
【0014】
上記の構成とすることにより、優先度が高い第1のグループに分類された制御要求の伝達をCAN通信の混雑前と同様に継続しつつ、CAN通信の混雑の程度を低減することができる。
【0015】
好ましくは、設定部は、指標値が大きい場合に、指標値が小さい場合よりも、送信待機時間が長くなるように送信計画を設定する。
【0016】
上記の構成とすることにより、CAN通信が混雑している場合に、CAN通信が混雑していない場合よりも、第2のグループに分類された制御要求の送信頻度が低下する。これにより、優先度が高い第1のグループに分類された制御要求の伝達をCAN通信の混雑前と同様に継続しつつ、CAN通信の混雑の程度をさらに低減することができる。
【0017】
好ましくは、指標値は、第1通信遅延時間と、第2通信遅延時間とを含む。第1通信遅延時間は、自動運転システムから車両制御インターフェースボックスを通じた車両への通信の遅延時間である。第2通信遅延時間は、車両から車両制御インターフェースボックスを通じた自動運転システムへの通信の遅延時間である。
【0018】
上記の構成とすることにより、自動運転システムと車両との間の通信の遅延時間が指標値に反映される。その結果、上記の指標値を適切に算出することができる。
【0019】
好ましくは、CAN通信が行われる通信線は、自動運転システムと車両制御インターフェースボックスとを接続する第1通信線を含む。第1通信遅延時間は、受信遅延時間と、処理遅延時間とを含む。受信遅延時間は、第1受信部が第1通信線を通じて制御要求を受信するときに発生する。処理遅延時間は、第1受信部が制御要求を受信した時から、送信部が制御指令を送信する時までの期間中の処理において発生する。
【0020】
上記の構成とすることにより、自動運転システムから車両制御インターフェースボックスを通じた車両までのCAN通信について、制御要求の受信遅延時間と、処理遅延時間とが指標値に反映される。その結果、上記の指標値をより適切に算出することができる。
【0021】
好ましくは、CAN通信が行われる通信線は、車両制御インターフェースボックスと車両とを接続する第2通信線を含む。車両制御インターフェースボックスは、車両の状態を表す車両状態信号を車両から受信する第2受信部をさらに含む。第2受信部が車両状態信号を受信すると、送信部は、車両状態信号に基づいて生成された信号を自動運転システムに送信する。第2通信遅延時間は、受信遅延時間と、処理遅延時間とを含む。受信遅延時間は、第2受信部が第2通信線を通じて車両状態信号を受信するときに発生する。処理遅延時間は、第2受信部が車両状態信号を受信した時から、送信部が車両状態信号に基づいて生成された信号を送信する時までの期間中の処理において発生する。
【0022】
上記の構成とすることにより、車両から車両制御インターフェースボックスを通じた自動運転システムまでのCAN通信について、車両状態信号の受信遅延時間と、処理遅延時間とが指標値に反映される。その結果、上記の指標値をより適切に算出することができる。
【0023】
本開示の車両制御インターフェースボックスは、車両プラットフォームと車両プラットフォームに搭載される自動運転システムとの間のインターフェースをCAN通信により行なう。車両プラットフォームは、車両を含む。車両制御インターフェースボックスは、第1受信部と、算出部と、送信部と、設定部とを備える。第1受信部は、自動運転システムから車両の制御要求を受信する。算出部は、CAN通信の混雑の程度を示す指標値を算出する。送信部は、制御要求に基づいて生成された車両の制御指令を車両に送信する。設定部は、車両への制御指令の送信計画を設定する。設定部は、CAN通信における制御指令の優先度と、指標値とに従って送信計画を設定する。
【0024】
好ましくは、制御指令は、優先度に従って複数のグループのいずれかに分類される。複数のグループは、優先度が高い第1のグループと、第1のグループよりも優先度が低い第2のグループとを含む。設定部は、指標値が大きい場合に、指標値が小さい場合よりも、第2のグループに分類された制御指令の送信周期が長くなるように送信計画を設定する。
【0025】
好ましくは、制御指令は、優先度に従って複数のグループのいずれかに分類される。複数のグループは、優先度が高い第1のグループと、第1のグループよりも優先度が低い第2のグループとを含む。設定部は、第2のグループに分類された制御指令の送信期間が、第1のグループに分類された制御指令の送信期間に重複しないように、第2のグループに分類された制御指令の送信待機時間を設定する。
【0026】
好ましくは、設定部は、指標値が大きい場合に、指標値が小さい場合よりも、送信待機時間が長くなるように送信計画を設定する。
【0027】
好ましくは、指標値は、第1通信遅延時間と、第2通信遅延時間とを含む。第1通信遅延時間は、自動運転システムから車両制御インターフェースボックスを通じた車両への通信の遅延時間である。第2通信遅延時間は、車両から車両制御インターフェースボックスを通じた自動運転システムへの通信の遅延時間である。
【0028】
好ましくは、CAN通信が行われる通信線は、自動運転システムと車両制御インターフェースボックスとを接続する第1通信線を含む。第1通信遅延時間は、受信遅延時間と、処理遅延時間とを含む。受信遅延時間は、第1受信部が第1通信線を通じて制御要求を受信するときに発生する。処理遅延時間は、第1受信部が制御要求を受信した時から、送信部が制御指令を送信する時までの期間中の処理において発生する。
【0029】
好ましくは、CAN通信が行われる通信線は、車両制御インターフェースボックスと車両とを接続する第2通信線を含む。車両制御インターフェースボックスは、車両の状態を表す車両状態信号を、第2通信線を通じて車両から受信する第2受信部をさらに含む。第2受信部が車両状態信号を受信すると、送信部は、車両状態信号に基づいて生成された信号を自動運転システムに送信する。第2通信遅延時間は、受信遅延時間と、処理遅延時間とを含む。受信遅延時間は、第2受信部が車両状態信号を受信するときに発生する。処理遅延時間は、第2受信部が車両状態信号を受信した時から、送信部が車両状態信号に基づいて生成された信号を送信する時までの期間中の処理において発生する。
【0030】
第1受信部は、複数の制御要求を受信するように構成されていてもよい。算出部は、受信遅延時間と処理遅延時間との合計を制御要求ごとに算出し、制御要求ごとに算出された合計の平均値である第1平均値を指標値として算出してもよい。
【0031】
第2受信部は、複数の車両状態信号を受信するように構成されていてもよい。算出部は、受信遅延時間と処理遅延時間との合計を車両状態信号ごとに算出し、車両状態信号ごとに算出された合計の平均値である第2平均値を指標値として算出してもよい。
【発明の効果】
【0032】
本開示によれば、車両と自動運転システムとの間のCAN通信が混雑した場合に、自動運転システムから車両への制御要求に従って適切な自動運転を可能にすることができる。
【図面の簡単な説明】
【0033】
【
図1】本実施の形態に従う車両の概要を示す図である。
【
図2】
図1に示したADK(ADS)及びVPの構成をより詳細に示す図である。
【
図3】ADSからCAN通信線を通じてVCIBに送信されるCAN信号(制御要求)の送信計画を表すデータを示す図である。
【
図4】VCIBが受信するCAN信号の受信計画と、VCIBが送信するCAN信号の送信計画とを示す図である。
【
図5】本実施の形態に従うVCIBの機能ブロック図である。
【
図6】比較例におけるVCIBからベース車両への制御指令の送信タイミングを説明するための図である。
【
図7】本実施の形態に従うVCIBからベース車両への制御指令の送信タイミングの一例を説明するための図である。
【
図8】VCIBにより実行される処理の一例を示すフローチャートである。
【
図9】本実施の形態における制御指令の送信計画の設定処理(
図8のステップS30)の詳細を示すフローチャートである。
【
図10】この変形例におけるVCIBからベース車両への制御指令の送信タイミングの一例を説明するための図である。
【
図11】この変形例における制御指令の送信計画の設定処理(
図8のステップS30)の詳細を示すフローチャートである。
【発明を実施するための形態】
【0034】
[実施の形態]
以下、本実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【0035】
図1は、本実施の形態に従う車両10の概要を示す図である。
図1を参照して、車両10は、自動運転キット(以下、「ADK(Autonomous Driving Kit)」と表記する。)200と、車両プラットフォーム(以下、「VP(Vehicle Platform)」と表記する。)120とを備える。ADK200は、VP120に取付可能(搭載可能)に構成されている。ADK200とVP120とは、VP120に搭載される車両制御インターフェースボックス111(後述)を通じて相互に通信可能に構成されている。
【0036】
VP120は、ADK200からの制御要求に従って自動運転を行なうことができる。なお、
図1では、VP120とADK200とが離れた位置に示されているが、ADK200は、実際にはVP120を構成するベース車両100(後述)のルーフトップ等に取り付けられる。ADK200は、VP120から取り外すことも可能である。ADK200が取り外されている場合には、VP120は、ユーザの運転により走行することができる。この場合、VP120は、マニュアルモードによる走行制御(ユーザ操作に応じた走行制御)を実行する。
【0037】
ADK200は、車両10の自動運転を行なうための自動運転システム(以下、「ADS(Autonomous Driving System)」と表記する。)202を含む。ADS202は、例えば、車両10の走行計画を作成する。そして、ADS202は、作成された走行計画に従って車両10を走行させるための各種の制御要求を、要求毎に定義されたAPI(Application Program Interface)に従ってVP120へ出力する。また、ADS202は、VP120の状態(車両状態)を示す各種信号を、信号毎に定義されたAPIに従ってVP120から受信する。そして、ADS202は、受信した車両状態を走行計画の作成に反映する。ADS202の詳細な構成については、後ほど説明する。
【0038】
VP120は、ベース車両100と、車両制御インターフェースボックス(以下、「VCIB(Vehicle Control Interface Box)」と表記する。)111とを含む。
【0039】
ベース車両100は、ADK200(ADS202)からの制御要求に従って各種車両制御を実行する。ベース車両100は、車両を制御するための各種システム及び各種センサを含む。具体的には、ベース車両100は、統合制御マネージャ115と、ブレーキシステム121と、ステアリングシステム122と、パワートレーンシステム123と、アクティブセーフティシステム125と、ボディシステム126と、車輪速センサ127A,127Bと、ピニオン角センサ128と、カメラ129Aと、レーダセンサ129B,129Cとを含む。
【0040】
統合制御マネージャ115は、プロセッサ及びメモリを含み、車両の動作に関わる上記各システム(ブレーキシステム121、ステアリングシステム122、パワートレーンシステム123、アクティブセーフティシステム125、ボディシステム126)を統合して制御する。各システムは、ECUを含む。
【0041】
ブレーキシステム121は、各車輪に設けられる制動装置を制御するように構成される。制動装置は、例えば、アクチュエータによって調整される油圧を用いて動作するディスクブレーキシステム(図示せず)を含む。
【0042】
ブレーキシステム121には、車輪速センサ127A,127Bが接続される。車輪速センサ127Aは、前輪の回転速度を検出し、その検出値をブレーキシステム121へ出力する。車輪速センサ127Bは、後輪の回転速度を検出し、その検出値をブレーキシステム121へ出力する。
【0043】
また、ブレーキシステム121は、ADK200からVCIB111及び統合制御マネージャ115を介して出力される所定の制御要求(制御指令)に従って、制動装置に対する制動指令を生成する。そして、ブレーキシステム121は、生成された制動指令を用いて制動装置を制御する。なお、統合制御マネージャ115は、各車輪の回転速度に基づいて車両の速度(車速)を算出することができる。
【0044】
ステアリングシステム122は、車両の操舵輪の操舵角を、操舵装置を用いて制御するように構成される。操舵装置は、例えば、アクチュエータにより操舵角の調整が可能なラック&ピニオン式の電動パワーステアリング(EPS:Electric Power Steering)を含む。
【0045】
ステアリングシステム122には、ピニオン角センサ128が接続される。ピニオン角センサ128は、操舵装置を構成するアクチュエータの回転軸に連結されたピニオンギヤの回転角(ピニオン角)を検出し、その検出値をステアリングシステム122へ出力する。
【0046】
また、ステアリングシステム122は、ADK200からVCIB111及び統合制御マネージャ115を介して出力される所定の制御要求に従って、操舵装置に対する操舵指令を生成する。そして、ステアリングシステム122は、生成された操舵指令を用いて操舵装置を制御する。
【0047】
パワートレーンシステム123は、複数の車輪の少なくとも1つに設けられる電動パーキングブレーキ(EPB:Electric Parking Brake)システムと、ベース車両100のトランスミッションに設けられるパーキングロック(P-Lock)システムと、シフトレンジを選択するためのシフト装置を含む推進システムとを制御する。パワートレーンシステム123の詳細な構成については、後ほど
図2にて説明する。
【0048】
アクティブセーフティシステム125は、カメラ129A及びレーダセンサ129B,129Cを用いて車両前方又は後方の障害物(歩行者、自転車、駐車車両、電柱等)を検出する。アクティブセーフティシステム125は、車両10と障害物との間の距離、及び車両10の移動方向に基づいて、車両10が障害物と衝突する可能性があるかどうかを判定する。そして、アクティブセーフティシステム125は、衝突の可能性があると判定する場合、車両の制動力が増加するように、統合制御マネージャ115を介してブレーキシステム121へ制動指令を出力する。
【0049】
ボディシステム126は、例えば、車両10の走行状態又は環境等に応じて、方向指示器、ホーン、ワイパー等の部品(いずれも図示せず)を制御するように構成される。ボディシステム126は、ADK200からVCIB111及び統合制御マネージャ115を介して出力される所定の制御要求に従って、上記の各部品を制御する。
【0050】
VCIB111は、CAN通信線を通じてADK200のADS202と通信可能に構成される。VCIB111は、通信される信号毎に定義された所定のAPIを実行することにより、ADS202から各種制御要求を受信し、また、VP120の状態をADS202へ出力する。VCIB111は、ADS202から制御要求を受信すると、その制御要求に対応する制御指令を、統合制御マネージャ115を介して制御指令に対応するシステムへ出力する。また、VCIB111は、ベース車両100の各種情報を各システムから統合制御マネージャ115を介して取得し、ベース車両100の状態を車両状態としてADS202へ出力する。
【0051】
なお、車両10は、MaaS(Mobility as a Service)システムの構成の一つとして採用され得る。MaaSシステムは、車両10に加えて、例えば、データサーバと、モビリティサービス・プラットフォーム(MSPF:Mobility Service Platform)とをさらに備える(いずれも図示せず)。
【0052】
MSPFとは、各種モビリティサービスが接続される統一プラットフォームである。MSPFには、自動運転関連のモビリティサービスが接続される。MSPFには、自動運転関連のモビリティサービス以外にも、ライドシェア事業者、カーシェア事業者、レンタカー事業者、タクシー事業者、保険会社等により提供されるモビリティサービスが接続され得る。モビリティサービスを含む各種モビリティサービスは、MSPF上で公開されたAPIを用いて、MSPFが提供する様々な機能をサービス内容に応じて利用することができる。
【0053】
VP120は、MaaSシステムのデータサーバと無線通信するための通信I/F(インターフェース)としてDCM(Data Communication Module)をさらに備えている(図示せず)。DCMは、例えば、速度、位置、自動運転状態のような各種車両情報をデータサーバへ出力する。また、DCMは、例えば、自動運転関連のモビリティサービスにおいて車両10を含む自動運転車両の走行を管理するための各種データを、モビリティサービスからMSPF及びデータサーバを通じて受信する。
【0054】
MSPFにおいては、ADKの開発に必要な車両状態及び車両制御の各種データを利用するためのAPIが公開されている。各種モビリティサービスは、MSPF上で公開されたAPIを用いて、MSPFが提供する様々な機能をサービス内容に応じて利用することができる。例えば、自動運転関連のモビリティサービスは、MSPF上で公開されたAPIを用いて、データサーバと通信を行なう自動運転車両の運転制御データや、データサーバに蓄えられた情報等をMSPFから取得することができる。また、自動運転関連のモビリティサービスは、上記APIを用いて、車両10を含む自動運転車両を管理するためのデータ等をMSPFへ送信することができる。
【0055】
図2は、
図1に示したADK200(ADS202)及びVP120の構成をより詳細に示す図である。
図2を参照して、ADK200のADS202は、コンピュータ210と、HMI(Human Machine Interface)230と、認識用センサ260と、姿勢用センサ270と、センサクリーナ290とを含む。
【0056】
コンピュータ210は、通信モジュール209A,209Bと、メモリ208と、プロセッサ207とを含む。
【0057】
通信モジュール209A,209Bは、VCIB111と通信可能に構成される。以下、通信モジュール209A,209Bを「通信モジュール209」と総称することがある。通信モジュール209は、CAN通信によりVCIB111との通信を行なう。
【0058】
メモリ208は、ROM(Read Only Memory)及びRAM(Random Access Memory)を含んで構成される。ROMは、プロセッサ207により実行される処理のために用いられるデータおよびプログラムを記憶する。RAMは、ワーキングメモリとして機能する。メモリ208に記憶されるデータの具体例については、後述する。
【0059】
コンピュータ210は、車両10の自動運転時に、各種センサ(後述)を用いて、車両周辺の環境、並びに車両10の姿勢、挙動及び位置を取得するとともに、VP120からVCIB111を経由して車両状態を取得し、車両10の次の動作(加速、減速、曲がる等)を設定する。そして、コンピュータ210は、設定された次の動作を実現するための各種制御要求をVP120のVCIB111へ出力する。
【0060】
HMI230は、自動運転時、ユーザの操作を要する運転時、自動運転とユーザの操作を要する運転との間での移行時等に、ユーザへの情報の提示やユーザ操作の受け付けを行なう。HMI230は、例えば、VP120に設けられるタッチパネルディスプレイ等の入出力装置(図示せず)と接続可能に構成される。
【0061】
認識用センサ260は、車両周辺の環境を認識するためのセンサである。認識用センサ260は、例えば、LIDAR(Laser Imaging Detection and Ranging)、ミリ波レーダ、及びカメラのうちの少なくとも1つを含んで構成される。
【0062】
LIDARは、レーザ光(赤外線)をパルス状に照射し、対象物に反射して戻ってくるまでの時間によって距離を計測するための距離計測装置である。ミリ波レーダは、波長の短い電波を対象物に照射し、対象物から戻ってきた電波を検出して、対象物までの距離や方向を計測する距離計測装置である。カメラは、例えば、車室内のルームミラーの裏側に配置されており、車両10の前方の撮影に用いられる。カメラによって撮影された画像や映像に対する人工知能(AI)や画像処理用プロセッサを用いた画像処理によって、車両10の前方にある他の車両、障害物、人等が認識可能となる。認識用センサ260によって取得された情報は、コンピュータ210へ出力される。
【0063】
姿勢用センサ270は、車両10の姿勢、挙動、位置を検出するためのセンサである。姿勢用センサ270は、例えば、IMU(Inertial Measurement Unit)と、GPS(Global Positioning System)とを含んで構成される。
【0064】
IMUは、例えば、車両10の前後方向、左右方向及び上下方向の加速度と、車両10のロール方向、ピッチ方向及びヨー方向の角速度とを検出する。GPSは、地球の軌道上を周回する複数のGPS衛星から受信する情報を用いて車両10の位置を検出する。姿勢用センサ270によって取得された情報は、コンピュータ210へ出力される。
【0065】
センサクリーナ290は、各種センサに付着した汚れを除去するように構成される。センサクリーナ290は、例えば、カメラのレンズや、レーザ又は電波の照射部等に付着した汚れを、洗浄液やワイパー等を用いて除去する。
【0066】
VCIB111は、VCIB111Aと、VCIB111Bとを含む。VCIB111Aは、ECU112Aと、通信装置113Aとを含む。VCIB111Bは、ECU112Bと、通信装置113Bとを含む。ECU112A,112Bの各々は、図示しないCPU(Central Processing Unit)等のプロセッサと、メモリ(ROM及びRAM)とを含んで構成される。ROMは、プロセッサによって実行可能なプログラムを記憶する。プロセッサは、ROMに記憶されたプログラムに従って各種処理を実行する。RAMは、ワーキングメモリとして機能する。ECU112A,112Bは、それぞれ、VCIB111A,111Bを制御する処理装置である。通信装置113A,113Bは、ADS202およびベース車両100と通信するように構成される。通信装置113A,113Bは、それぞれ、ECU112A,112Bからの命令に従って作動する。
【0067】
VCIB111Aは、通信装置113AおよびCAN通信線(CANバス)300Aを通じて、ADS202の通信モジュール209Aと相互に通信可能に接続されている。CAN通信線300Aは、VCIB111AとADS202とを接続する。VCIB111Aは、通信装置113AおよびCAN通信線350Aを通じて、ベース車両100と相互に通信可能に接続されている。CAN通信線350Aは、VCIB111Aとベース車両100とを接続する。
【0068】
VCIB111Bは、通信装置113BおよびCAN通信線300Bを通じて、ADS202の通信モジュール209Bと相互に通信可能に接続されている。CAN通信線300Bは、VCIB111BとADS202とを接続する。VCIB111Bは、通信装置113BおよびCAN通信線350Bを通じて、ベース車両100と相互に通信可能に接続されている。CAN通信線350Bは、VCIB111Bとベース車両100とを接続する。
【0069】
以下、ECU112A,112Bを「ECU112」と総称し、通信装置113A,113Bを「通信装置113」と総称することがある。CAN通信線300A,300Bを「CAN通信線300」と総称し、CAN通信線350A,350Bを「CAN通信線350」と総称することがある。CAN通信線300およびCAN通信線350を通じて伝達される信号を「CAN信号」とも表す。CAN信号は、上記の制御要求または制御指令に対応し、ベース車両100の制御のために、またはベース車両100の状態を示す信号の伝達のために主に用いられる。VCIB111は、CAN信号を用いたCAN通信により、ベース車両100とADS202との間のインターフェースを行う。
【0070】
また、VCIB111AとVCIB111Bとも、相互に通信可能に接続されている。VCIB111Bは、VCIB111Aと比較して同等の機能を有しているが、VP120を構成する複数のシステムに対する接続先が一部異なる。
【0071】
VCIB111A,111Bの各々は、ADS202とVP120との間で制御要求及び車両状態を中継する。より具体的には、VCIB111Aについて代表的に説明すると、VCIB111Aは、ADS202から出力される各種制御要求を、制御要求毎に定義されたAPIに従って受信する。そして、VCIB111Aは、受信した制御要求に対応する指令を生成し、制御要求に対応するベース車両100のシステム(そのシステムのECUを含む)へ出力する。本実施の形態では、VCIB111がADS202から受信する制御要求は、ベース車両100の駆動制御要求、操舵制御要求、および電源状態の制御要求を含む。
【0072】
また、VCIB111Aは、VP120の各システムから出力される車両情報を、CAN通信線350Aを通じて受け、VP120の車両状態を示す情報を、車両状態毎に定義されたAPIに従ってADS202へ送信する。ADS202へ送信される、車両状態を示す情報は、VP120の各システムから出力される車両情報と同一の情報であってもよいし、ADS202で実行される処理に用いられる情報が上記の車両情報から抽出されたものであってもよい。本実施の形態では、ADS202へ送信される車両状態は、ADS202からの制御要求に対する応答結果を含む。
【0073】
一部のシステム(例えば、ブレーキや操舵)の動作に関して同等の機能を有するVCIB111A及びVCIB111Bが備えられることにより、ADS202とVP120との間の制御系統が冗長化されている。これにより、システムの一部に何らかの障害が発生した場合に、適宜制御系統を切り替えたり、障害が発生した制御系統を遮断したりすることによって、VP120の機能(曲がる、止まる等)を維持することができる。
【0074】
ブレーキシステム121は、ブレーキシステム121A,121Bを含む。ステアリングシステム122は、ステアリングシステム122A,122Bを含む。パワートレーンシステム123は、EPBシステム123Aと、P-Lockシステム123Bと、推進システム124と含む。
【0075】
VCIB111Aと、ブレーキシステム121A、ステアリングシステム122A、EPBシステム123A、P-Lockシステム123B、推進システム124、及びボディシステム126とは、CAN通信線350Aを介して相互に通信可能に接続される。また、VCIB111Bと、ブレーキシステム121B、ステアリングシステム122B、及びP-Lock123とは、CAN通信線350Bを介して相互に通信可能に接続される。
【0076】
ブレーキシステム121A,121Bは、各車輪に設けられる複数の制動装置を制御可能に構成される。ブレーキシステム121Bは、ブレーキシステム121Aと同等の機能を有するようにしてもよいし、或いは、一方は、各車輪の車両走行時の制動力を独立して制御可能に構成され、他方は、車両走行時に各車輪において同じ制動力が発生するように制御可能に構成されてもよい。
【0077】
ブレーキシステム121A,121Bは、ADS202からVCIB111を介して受ける制御要求に従って、制動装置に対する制動指令を生成する。ブレーキシステム121A,121Bは、例えば、一方のブレーキシステムにおいて生成された制動指令を用いて制動装置を制御し、そのブレーキシステムに異常が発生する場合に、他方のブレーキシステムにおいて生成された制動指令を用いて制動装置を制御する。
【0078】
ステアリングシステム122A,122Bは、車両10の操舵輪の操舵角を、操舵装置を用いて制御可能に構成される。ステアリングシステム122Bは、ステアリングシステム122Aと比較して同様の機能を有する。
【0079】
ステアリングシステム122A,122Bは、ADS202からVCIB111を介して受ける制御要求に従って、操舵装置に対する操舵指令を生成する。ステアリングシステム122A,122Bは、例えば、一方のステアリングシステムにおいて生成された操舵指令を用いて操舵装置を制御し、そのステアリングシステムに異常が発生する場合に、他方のステアリングシステムにおいて生成された操舵指令を用いて操舵装置を制御する。
【0080】
EPBシステム123Aは、EPBを制御可能に構成される。EPBは、制動装置とは別に設けられ、アクチュエータの動作によって車輪を固定する。EPBは、例えば、複数の車輪の一部に設けられるパーキングブレーキ用のドラムブレーキをアクチュエータにより作動させて車輪を固定したり、ブレーキシステム121A,121Bとは別に制動装置に供給される油圧を調整可能とするアクチュエータを用いて制動装置を作動させて車輪を固定したりする。
【0081】
EPBシステム123Aは、ADS202からVCIB111を介して受ける制御指令に従ってEPBを制御する。
【0082】
P-Lockシステム123Bは、P-Lock装置を制御可能に構成される。P-Lock装置は、ベース車両100のトランスミッション内の回転要素に連結して設けられる歯車(ロックギヤ)の歯部に対して、アクチュエータにより位置が調整されるパーキングロックポールの先端に設けられた突起部を嵌合させる。これにより、トランスミッションの出力軸の回転が固定され、車輪が固定される。
【0083】
P-Lockシステム123Bは、ADS202からVCIB111を介して受ける制御要求に従ってP-Lock装置を制御する。P-Lockシステム123Bは、ADS202からの制御要求がシフトレンジをパーキングレンジ(Pレンジ)にする要求を含む場合にP-Lock装置を作動させ、制御要求がシフトレンジをPレンジ以外にする要求を含む場合にP-Lock装置の作動を解除する。
【0084】
推進システム124は、シフト装置を用いたシフトレンジの切り替えが可能であり、かつ、駆動源を用いた車両10の移動方向に対する車両10の駆動力を制御可能に構成される。切り替え可能なシフトレンジとしては、例えば、Pレンジと、ニュートラルレンジ(Nレンジ)と、前進走行レンジ(Dレンジ)と、後進走行レンジ(Rレンジ)とを含む。駆動源は、例えば、モータジェネレータやエンジン等を含む。
【0085】
推進システム124は、ADS202からVCIB111を介して受ける制御要求に従って、シフト装置と駆動源とを制御する。
【0086】
アクティブセーフティシステム125は、ブレーキシステム121Aと通信可能に接続されている。アクティブセーフティシステム125は、上述のとおり、カメラ129A及びレーダセンサ129Bを用いて車両前方の障害物等(障害物や人)を検出し、障害物等との距離によって衝突の可能性があると判定する場合、制動力が増加するようにブレーキシステム121Aに制動指令を出力する。
【0087】
ボディシステム126は、ADS202からVCIB111を介して受ける制御指令に従って、方向指示器、ホーン又はワイパー等の部品を制御する。
【0088】
上記の構成を有する車両10において、例えば、ユーザのHMI230に対する操作等によって自律ステートとして自律モード(自動運転モード)が選択されると、自動運転が実施される。上述のように、ADS202は、自動運転中においては、まず、走行計画を作成する。走行計画の例としては、例えば、直進を継続する計画、予め定められた走行経路中の所定の交差点で左折/右折する計画、走行車線を変更する計画等が挙げられる。
【0089】
ADS202は、作成された走行計画に従って車両10が動作するために必要な制御的な物理量(加速度、減速度、タイヤ切れ角等)を算出する。ADS202は、APIの実行周期毎の物理量を分割する。ADS202は、APIを用いて、分割された物理量を表す制御要求をVCIB111へ出力する。さらに、ADS202は、VP120から車両状態(車両の実際の移動方向、車両の固定化の状態等)を取得し、取得された車両状態を反映した走行計画を再作成する。このようにして、ADS202は、車両10の自動運転を可能とする。
【0090】
図3は、ADS202からCAN通信線300を通じてVCIB111に送信されるCAN信号(制御要求)の送信計画を表すデータを示す図である。
【0091】
図3を参照して、送信計画データ212は、ADS202のメモリ208に記憶されている。送信計画データ212は、ラベルと、信号内容と、優先度と、送信周期と、データサイズと、オフセットとを含む。
【0092】
ラベルは、CAN信号を識別するための情報である。ラベルは、信号内容、優先度、送信周期、データサイズ、およびオフセットに関連付けられている。この例では、2つのラベルが示されているが、送信計画データ212は、他のラベルを有するCAN信号の各種情報をさらに含む。
【0093】
信号内容は、CAN信号が用いられる制御の具体的な内容を示す。この例では、信号内容は、ベース車両100の駆動制御またはワイパー制御であるが、これらに限定されない。送信計画データ212は、図示される2つのCAN信号の内容とは異なる内容(例えば、ベース車両100の操舵制御、衝突検知、電源制御、エアコン制御、またはその他の制御の内容)のCAN信号の各種情報をさらに含む。
【0094】
優先度は、CAN信号が他のCAN信号と比べて優先されるか否かを示す。例えば、複数のCAN信号の送信開始時刻が重複しないように、高い優先度(例えば、1)を有するCAN信号の送信開始時刻が、低い優先度(例えば、0)を有するCAN信号の送信開始時刻よりも早くなるように、各CAN信号の送信開始時刻が設定される。ベース車両100の駆動制御のためのCAN信号の優先度は、ベース車両100のワイパー制御のためのCAN信号の優先度よりも高い。
【0095】
ADS202からVCIB111に送信されるベース車両100の制御要求は、優先度に応じて2つのグループに分類される。具体的には、制御要求は、優先度が高い第1のグループ、または第1のグループよりも優先度が低い第2グループに分類される。制御要求は、優先度に応じて3つ以上の複数のグループのいずれかに分類されてもよい。例えば、制御要求は、優先度が「高」であるグループと、優先度が「中」であるグループと、優先度が「低」であるグループとに分類されてもよい。
【0096】
送信周期は、同じラベルを有する複数のCAN信号について、CAN信号の送信開始時刻と、このCAN信号の次に送信されるCAN信号の送信開始時刻との時間間隔である。CAN信号の送信周期が短いほど、CAN信号が送信される頻度が高くなる。その一方で、送信周期が長いほど、CAN信号が送信される頻度が低くなる。
【0097】
データサイズは、CAN信号のデータサイズを表す。データサイズが大きいほど、そのCAN信号がVCIB111により受信されたときの、ECU112におけるCAN信号の処理時間が長くなる。
【0098】
オフセットは、あるラベルを有するCAN信号の送信期間と、他のラベルを有するCAN信号の送信期間とが重複しないように、これらのCAN信号のうちいずれか一方のCAN信号の送信期間が時間的に後ろにシフトされるときのそのシフト量(時間間隔)である。送信期間は、送信開始時刻から送信終了時刻までの期間である。オフセットが決定されると、CAN信号の送信期間が決定される。ADS202は、優先度が相対的に低い制御要求の送信期間が、優先度が相対的に高い制御要求の送信期間に重複しないように、優先度が相対的に低い制御要求のオフセットの時間を設定する。
【0099】
図4は、VCIB111が受信するCAN信号の受信計画と、VCIB111が送信するCAN信号の送信計画とを示す図である。
【0100】
図4を参照して、受信計画データ432,434と、送信計画データ433,435とは、VCIB111のメモリ(記憶部430)に記憶されているものとする。
【0101】
受信計画データ432は、VCIB111がCAN通信線300を通じてADS202から受信するCAN信号(制御要求)の各種情報をラベルごとに示す。この例では、各種情報は、信号内容、優先度、設計上の受信周期、およびデータサイズである。
【0102】
受信計画データ432において、ラベル、信号内容、優先度、およびデータサイズは、
図3に示されるものと同じである。この例では、2つのラベルが示されているが、受信計画データ432は、他のラベルを有するCAN信号についての各種情報をさらに含む。
【0103】
設計上の受信周期を示す情報は、受信周期情報DRC1として示されている。設計上の受信周期は、CAN通信線300が混雑していない場合の、制御要求の受信周期である。この場合、制御要求の送信周期(
図3)が、設計上の受信周期に一致する。受信周期は、同じラベルを有する複数のCAN信号について、CAN信号の受信開始時刻と、このCAN信号の次に送信されるCAN信号の受信開始時刻との時間間隔である。他方、CAN通信線300が混雑している場合、ADS202からの制御要求がスタックに積まれ、VCIB111が制御要求の受信処理を十分に実行することができないことがある。その結果、制御要求の実際の受信周期が、設計上の受信周期よりも長くなることがある。
【0104】
送信計画データ433は、VCIB111がCAN通信線350を通じてベース車両100に送信するCAN信号(制御指令)の各種情報をラベルごとに示す。この例では、各種情報は、信号内容、優先度、送信周期、データサイズおよびオフセットである。オフセットを示す情報は、オフセット情報OI1として示されている。VCIB111からベース車両100への制御指令は、ADS202からVCIB111への制御要求に対応している。よって、送信計画データ433は、送信計画データ212(
図3)に対応している。例えば、VCIB111からベース車両100への制御指令(一例として、B1-1のラベルを有する制御指令)の優先度は、その制御指令に対応する制御要求(一例として、A1-1のラベルを有する制御要求)の優先度と対応している。
【0105】
受信計画データ434は、VCIB111がCAN通信線350を通じてベース車両100から受信するCAN信号(車両状態信号)の各種情報をラベルごとに示す。この例では、各種情報は、信号内容、設計上の受信周期、およびデータサイズである。車両状態信号の一例として、ベース車両100の移動方向を示す信号が示されている。設計上の受信周期を示す情報は、受信周期情報DRC2として示されている。受信計画データ434は、他のラベルを有するCAN信号(例えば、信号内容が、ベース車両100の車速、位置、または周囲の障害物を示す信号)についての各種情報をさらに含む。
【0106】
送信計画データ435は、VCIB111がCAN通信線300を通じてADS202に送信するCAN信号の各種情報をラベルごとに示す。この例では、各種情報は、信号内容、送信周期、データサイズおよびオフセットである。オフセットを示す情報は、オフセット情報OI2として示されている。VCIB111からADS202へ送信されるCAN信号は、VCIB111がベース車両100から受信するCAN信号(車両状態信号)に対応している。よって、送信計画データ435は、受信計画データ434に対応している。
【0107】
図2を再び参照して、CAN通信線300,350におけるCAN通信が混雑すると、ADS202からVCIB111を通じてベース車両100に制御指令(制御要求)が適切に伝達されない可能性がある。その結果、ADS202からの制御要求に従ってベース車両100の自動運転が適切に実行されない可能性がある。
【0108】
そこで、本実施の形態に従うVCIB111は、CAN通信線300,350におけるCAN通信の混雑の程度を示す指標値を算出する。そして、VCIB111は、CAN通信における制御指令の優先度と上記の指標値とに従って、ベース車両100への制御指令の送信計画を設定する。
【0109】
上記の構成とすることにより、上記の制御指令の優先度に加えて、CAN通信の混雑の程度が制御指令の送信計画に反映される。これにより、CAN通信が混雑している場合にCAN通信の混雑の程度が低減されるように制御指令をVCIB111からベース車両100へ送信することができる。その結果、制御指令がVCIB111からベース車両100へ適切に送信される。よって、ADS202からの制御要求に従ってベース車両100の適切な自動運転を可能にすることができる。
【0110】
図5は、本実施の形態に従うVCIB111Aの機能ブロック図である。この例では、VCIB111Aの機能ブロック図が代表的に示されているが、VCIB111Bの機能ブロック図も、CAN通信線300A,350AがCAN通信線300B,350Bにそれぞれ代替されること以外、VCIB111Aの機能ブロック図と同様である。以下の説明において、
図4を適宜参照する。
【0111】
図5を参照して、VCIB111は、記憶部430と、受信部405と、送信部410と、受信部415と、送信部420とを備える。
【0112】
記憶部430は、VCIB111のメモリに相当する。受信部405、送信部410、受信部415、および送信部420の機能は、VCIB111のECU112および通信装置113が協働して作動することによって達成される。受信部405,415、および送信部410,420の機能は、VCIB111の製造者により提供されるAPIを用いて達成されてもよい。
【0113】
受信部405は、ADS202からCAN通信線300Aを通じてベース車両100の制御要求CRを受信する。制御要求CRは、ADS202の送信バッファ領域231(メモリ208に相当)から送信される。制御要求CRは、受信部405により受信されると、VCIB111の記憶部430のバッファ領域431に一時的に格納される。
【0114】
送信部410は、制御要求CRに対応するベース車両100の制御指令CCを、CAN通信線350Aを通じてベース車両100に送信する。制御指令CCは、制御要求CRに基づいて送信部410により生成される。例えば、制御指令CCは、制御要求CRと同一であってもよいし、ベース車両100で実行される処理のために制御要求CRから抽出された情報を用いて生成されてもよい。送信部410は、送信計画データ433に従って、バッファ領域431から制御要求CRを取得するとともにベース車両100に制御指令CCを送信する。
【0115】
受信部415は、ベース車両100からCAN通信線350Aを通じて車両状態信号VISを受信する。車両状態信号VISは、ベース車両100の車速または移動方向などの各種状態を示すCAN信号である。車両状態信号VISには、その種類ごとにラベルが割り当てられている(
図4の受信計画データ434)。受信部415が車両状態信号VISを受信した後、車両状態信号VISに含まれる各種情報は、バッファ領域431に一時的に格納される。
【0116】
送信部420は、車両状態信号VISに含まれる各種情報をバッファ領域431から取得するとともに、車両状態信号VISAをADS202に送信する。車両状態信号VISAは、車両状態信号VISに対応しており、車両状態信号VISに基づいて送信部420により生成される。例えば、車両状態信号VISAは、車両状態信号VISと同一であってもよいし、ADS202で実行される処理のために車両状態信号VISから抽出された情報を用いて生成されてもよい。送信部420は、CAN通信線300Aを通じてADS202へ送信計画データ435に従って車両状態信号VISAを送信する。
【0117】
VCIB111は、ラベル抽出部423,424と、受信周期判定部425と、指標値算出部437と、送信計画設定部438とをさらに備える。
【0118】
ラベル抽出部423,424の機能、および受信周期判定部425の機能は、VCIB111のECU112と通信装置113とが協働して作動することによって達成される。指標値算出部437の機能は、ECU112がVCIB111のメモリに記憶されたプログラムを実行することによって達成される。
【0119】
ラベル抽出部423は、CAN通信線300Aにおいて伝達される制御要求CRからラベル(
図4)を抽出する。同様に、ラベル抽出部424は、CAN通信線350Aにおいて伝達される車両状態信号VISからラベルを抽出する。ラベル抽出部423,424の各々は、抽出したラベルを指標値算出部437に出力する。
【0120】
受信周期判定部425は、制御要求CRおよび車両状態信号VISの受信周期を判定する。例えば、受信周期判定部425は、受信部405による制御要求CRの受信の開始時刻および終了時刻を、CAN通信線300Aの電圧レベルに従って判定する。受信周期判定部425は、当該開始時刻および終了時刻に従って制御要求CRの実際の受信期間をラベル(
図4)ごとに判定する。受信周期判定部425は、同じラベルを有する複数の制御要求CRの受信期間の判定結果に基づいて、制御要求CRの実際の受信周期を判定(算出)する。制御要求CRの実際の受信周期は、制御要求CRのラベルごとに判定される。この判定結果は、指標値算出部437に出力される。
【0121】
同様に、受信周期判定部425は、受信部415による車両状態信号VISの受信の開始時刻および終了時刻をCAN通信線350Aの電圧レベルに従って判定し、車両状態信号VISの受信期間を判定する。受信周期判定部425は、車両状態信号VISの受信期間の判定結果に基づいて、車両状態信号VISの実際の受信周期をラベルごとに判定する。この判定結果は、指標値算出部437に出力される。
【0122】
指標値算出部437は、CAN通信線300A,350AにおけるCAN通信の混雑の程度を示す指標値INDを算出する。
【0123】
指標値INDは、ADS202からVCIB111を通じたベース車両100への通信の遅延時間である第1通信遅延時間を含む。第1通信遅延時間は、制御要求CRの受信遅延時間と、その制御要求CRについてのECU112における内部処理遅延時間とを含む。
【0124】
指標値INDは、ベース車両100からVCIB111を通じたADS202への通信の遅延時間である第2通信遅延時間をも含む。第2通信遅延時間は、車両状態信号VISの受信遅延時間と、その車両状態信号VISについてのECU112における内部処理遅延時間とを含む。
【0125】
本実施の形態では、ADS202とベース車両100との間の通信の遅延時間が上記のように指標値INDに反映される。その結果、指標値INDを適切に算出することができる。
【0126】
指標値算出部437は、受信遅延算出部440と、内部処理遅延算出部445とを含む。受信遅延算出部440は、上記の第1通信遅延時間および第2通信遅延時間の各々に含まれる受信遅延時間を算出する。
【0127】
指標値算出部437は、例えば、受信部405がCAN通信線300Aを通じて制御要求CRを受信するときに発生する受信遅延時間を算出する。より詳細には、受信遅延算出部440は、制御要求CRについて、実際の受信周期から、設計上の受信周期を差し引くことによって制御要求CRの受信遅延時間を算出する。この受信遅延時間は、制御要求CRのラベルごとに定められた固有の長さを有する期間にわたる、制御要求CRの受信遅延の平均値として算出されてもよい。受信遅延算出部440は、受信計画データ432から、制御要求CRの設計上の受信周期を示す受信周期情報DRC1(
図4)を取得する。受信遅延算出部440は、受信周期判定部425から制御要求CRの実際の受信周期を受ける。
【0128】
同様に、指標値算出部437は、受信部415がCAN通信線350Aを通じて車両状態信号VISを受信するときに発生する受信遅延時間を算出する。より詳細には、受信遅延算出部440は、車両状態信号VISについて、実際の受信周期から、設計上の受信周期を差し引くことによって車両状態信号VISの受信遅延時間を算出する。この受信遅延時間は、車両状態信号VISのラベルごとに定められた固有の長さを有する期間にわたる、車両状態信号VISの受信遅延の平均値として算出されてもよい。受信遅延算出部440は、受信計画データ434から、車両状態信号VISの設計上の送信周期を示す受信周期情報DRC2(
図4)を取得する。受信遅延算出部440は、受信周期判定部425から車両状態信号VISの実際の受信周期を受信する。
【0129】
内部処理遅延算出部445は、VCIB111のECU112内の処理において発生する遅延時間である内部処理遅延時間を算出する。前述の第1通信遅延時間に含まれる内部処理遅延時間は、受信部405が制御要求CRを受信した時から、送信部410が制御指令CCを送信する時までの期間中の処理において発生する処理遅延時間である。前述の第2通信遅延時間に含まれる内部処理遅延時間は、受信部415が車両状態信号VISを受信した時から、送信部420が車両状態信号VISAを送信する時までの期間中の処理において発生する処理遅延時間である。
【0130】
内部処理遅延時間は、ECU112による処理の実行時間と、CAN通信における通信調停のための送信待機処理にかかる送信待機時間とを含む。この送信待機時間は、前述のオフセットの時間(
図4)に相当する。
【0131】
ECU112による処理の実行時間は、ECU112に含まれるプロセッサの性能と、ECU112により処理されるCAN信号(具体的には、制御要求CR、制御指令CC、車両状態信号VIS、または車両状態信号VISA)のデータサイズ(
図4)とに応じて決定される。プロセッサの性能を表す情報は、記憶部430に予め記憶されている。
【0132】
内部処理遅延算出部445は、送信計画データ433,435に従って、上記の送信待機時間を算出(取得)する。具体的には、内部処理遅延算出部445は、オフセット情報OI1,OI2(
図4)と、ラベル抽出部423,424から出力されるラベルとに従って送信待機時間を算出する。
【0133】
指標値算出部437は、制御要求CRまたは車両状態信号VISの受信遅延時間と、ECU112における内部処理遅延時間とに従って指標値INDを算出する。具体的には、指標値算出部437は、制御要求CRの受信遅延時間と、制御要求CRについてのECU112における内部処理遅延時間との合計を総遅延時間として制御要求CRごとに算出する。同様に、指標値算出部437は、車両状態信号VISの受信遅延時間と、車両状態信号VISについてのECU112における内部処理遅延時間との合計を総遅延時間として車両状態信号VISごとに算出する。
【0134】
指標値算出部437は、制御要求CRごとに算出された総遅延時間の平均を第1指標値IND1として算出し、車両状態信号VISごとに算出された総遅延時間の平均を第2指標値IND2として算出する。第1指標値IND1は、前述の第1通信遅延時間に対応する。第2指標値IND2は、前述の第2通信遅延時間に対応する。第1指標値IND1および第2指標値IND2の各々は、送信計画設定部438に出力される。
【0135】
これらの指標値INDの各々は、しきい値以上である場合、その指標値INDに関する通信が混雑していることを示す。しきい値は、事前の試験により適宜予め定められる。
【0136】
例えば、第1指標値IND1がしきい値以上である場合、ADS202からVCIB111を通じたベース車両100への通信は、制御要求CRおよび制御指令CCの伝達遅延が実用上無視できないほど混雑している。
【0137】
同様に、第2指標値IND2がしきい値以上である場合、ベース車両100からVCIB111を通じたADS202への通信は、車両状態信号VISおよび車両状態信号VISAの伝達遅延が実用上無視できないほど混雑している。
【0138】
他方、指標値INDは、しきい値未満である場合、その指標値INDに関する通信が混雑していないことを示す。
【0139】
例えば、第1指標値IND1がしきい値未満である場合、ADS202からVCIB111を通じたベース車両100への通信が混雑していない。そのため、制御要求CRおよび制御指令CCの伝達遅延が発生しないか、またはその遅延が実用的な観点から無視できるほど小さい。
【0140】
同様に、第2指標値IND2がしきい値未満である場合、ベース車両100からVCIB111を通じたADS202への通信が混雑していない。そのため、車両状態信号VISおよび車両状態信号VISAの伝達遅延が発生しないか、またはその遅延が実用的な観点から無視できるほど小さい。
【0141】
送信計画設定部438は、CAN通信における制御指令CCの優先度と指標値INDとに従って、制御指令CCの送信計画(
図4の送信計画データ433)を設定する。以下、本実施の形態における制御指令CCの送信計画の設定処理の詳細な説明の前に、この送信計画が設定されない場合の比較例を説明する。
【0142】
図6は、比較例におけるVCIBからベース車両100への制御指令CCの送信タイミングを説明するための図である。
【0143】
図6を参照して、タイミングチャート500は、優先度が相対的に高い(前述の第1のグループに分類される)制御指令CCの送信タイミングを示す。この例では、そのような制御指令CCの一例として、ベース車両100の駆動制御のための制御指令CC1が示されている。
【0144】
タイミングチャート505は、優先度が相対的に低い(前述の第2のグループに分類される)制御指令CCの送信タイミングを示す。この例では、そのような制御指令CCの一例として、ベース車両100のワイパー制御のための制御指令CC2が示されている。
【0145】
この例では、時刻t1の直前に制御指令CC1,CC2の両方がVCIBのバッファ領域431に格納されているものとする。
【0146】
比較例のVCIBは、制御指令CC1,CC2の送信タイミング(より詳細には、送信周期およびオフセット)を、指標値INDとは無関係に設定する。以下、この点について詳しく説明する。
【0147】
時刻t1において、制御指令CC1の送信が優先的に開始される。すなわち、制御指令CC1の優先度は、制御指令CC2の優先度よりも高いため、制御指令CC1が制御指令CC2よりも優先してバッファ領域431から送信部410を通じてベース車両100に出力される。その一方で、制御指令CC2は、時刻t1~時刻t2の期間P1(一点鎖線により示される期間)中に出力されず、オフセットされる。比較例では、オフセットの量は、Ob2-1(
図4)である。
【0148】
VCIBは、時刻t1において制御指令CC1の送信を開始した後、時刻t2において送信を終了する。以後、Tb1-1(
図4)の送信周期において、制御指令CC1の送信が繰り返される(例えば、時刻t5~時刻t6の期間P2、および時刻t9~時刻t10の期間P3)。
【0149】
時刻t2よりも後の時刻t3において、VCIBは、制御指令CC2の送信を開始する。その後、VCIBは、時刻t3~時刻t4の期間P11中、制御指令CC2の送信を実行する。以後、
図4のTb2-1(この例では、Tb1-1に等しい)の送信周期において、制御指令CC2の送信が繰り返される(例えば、時刻t7~時刻t8の期間P12、および時刻t11~時刻t12の期間P13)。
【0150】
この比較例では、VCIBによるCAN信号(制御指令CC1,CC2)の送信終了から送信開始までの時間間隔INTが、ベース車両100の受信インターフェース(図示せず)によるCAN信号の受信終了から受信開始までの時間間隔に関係する。そのため、この受信インターフェースがCAN信号の受信処理を十分に実行することができないほどVCIBからCAN信号が絶え間なく出力される(時間間隔INTが短い)場合、この受信インターフェースにおいて制御指令CC1,CC2の受信遅延が発生する可能性がある。その結果、制御指令CC1などの、高い優先度を有する制御指令がベース車両100に適切に伝達されない可能性がある。そのため、自動運転において、ベース車両100の駆動制御などの相対的に重要な車両制御が遅延する可能性がある。
【0151】
図7は、本実施の形態に従うVCIB111からベース車両100への制御指令CCの送信タイミングの一例を説明するための図である。
【0152】
図7を参照して、時刻t1A~時刻t6Aは、それぞれ、時刻t1~時刻t6(
図6)に相当する。時刻t9A~時刻t12Aは、それぞれ、時刻t9~時刻t12に相当する。期間P1A,P2A,P3A,P11A,P13Aは、それぞれ、期間P1,P2,P3,P11,P13に相当する。
【0153】
タイミングチャート500は、
図6におけるものと同じである。タイミングチャート510は、制御指令CC2の送信タイミングを示す点においてタイミングチャート505(
図6)と同様である。その一方で、タイミングチャート510は、制御指令CC2の送信周期がTb2-11(≠Tb2-1)に設定(変更)される点において、タイミングチャート505とは異なる。
【0154】
VCIB111(
図5の例では、送信計画設定部438)は、指標値INDと、制御指令CC1,CC2の優先度とに従って、制御指令CC1,CC2の送信計画(送信タイミング)を設定する。この例では、時刻t1の直前に制御指令CC1,CC2の両方がVCIB111のバッファ領域431に格納されているものとする。さらに、時刻t1Aの直前に、指標値INDがしきい値を超過したものとする。指標値INDがしきい値を超過する前、制御指令CC2の送信周期は、Tb2-1(
図4,
図6)であるものとする。
【0155】
比較例と同様に、制御指令CC1が期間P1A中にバッファ領域431から送信部410を通じてベース車両100に優先的に出力される一方で、制御指令CC2は、オフセットされる。そして、制御指令CC2は、期間P11A中にバッファ領域431から送信部410を通じてベース車両100に出力される。
【0156】
この実施の形態2では、時刻t1A以降、指標値INDがしきい値以上であるため、VCIB111は、制御指令CC2の送信周期をTb2-1からTb2-11(>Tb2-1)に変更する。より詳細には、VCIB111は、制御指令CC1の送信周期がTb1-1に維持されかつ制御指令CC2の送信周期がTb2-1からTb2-11(>Tb2-1)に変更されるように、送信計画データ433(
図4)を書き換える。そのため、期間P11Aの後、制御指令CC2は、時刻t11A(期間P13A)が到来するまでVCIB111から送信されない。
【0157】
これにより、時刻t6Aにおける制御指令CC1の送信終了から、その次の制御指令CC1の送信開始までの時間間隔INTA(>INT)にわたって、CAN信号が送信されない。これにより、VCIB111からCAN通信線350を通じてベース車両100の受信インターフェースへCAN信号が絶え間なく出力される事態を回避することができる。その結果、この受信インターフェースがCAN信号の受信処理を十分に実行することができない事態を回避することができる。よって、この受信インターフェースにおける制御指令CC1の受信遅延を回避することができる。
【0158】
別の観点からは、制御指令CC2の送信周期が長くなる結果として制御指令CC2の送信頻度が低下する。よって、VCIB111からCAN通信線350を通じたベース車両100への通信の混雑が低減される。
【0159】
以上のように、VCIB111は、指標値INDが大きい場合に、指標値INDが小さい場合よりも、前述の第2のグループ(優先度が相対的に低いグループ)に分類された制御指令の送信周期が長くなるように制御指令CCの送信計画を設定する。このような構成とすることにより、優先度が低い制御指令CC2の伝達を一時的に後回しにしつつ、優先度が高い制御指令CC1の伝達をCAN通信の混雑前と同様に継続することができる。その結果、自動運転において、ベース車両100の駆動制御などの重要な車両制御が遅延する事態を回避することができる。
【0160】
図8は、VCIB111により実行される処理の一例を示すフローチャートである。このフローチャートの処理は、HMI230を用いたユーザ操作により車両10(ベース車両100)のモードがマニュアルモードから自動運転モードに切り替わると開始される。
【0161】
図8を参照して、VCIB111は、ADS202またはベース車両100からCAN信号を受信したか否かを判定する(ステップS5)。具体的には、VCIB111は、ADS202からの制御要求CR、または、ベース車両100からの車両状態信号VISを受信したか否かを判定する。
【0162】
VCIB111は、CAN信号を受信していない場合(ステップS5においてNO)、ステップS35に処理を進める。他方、VCIB111は、CAN信号を受信した場合(ステップS5においてYES)、ステップS7に処理を進める。VCIB111は、ステップS5において複数のCAN信号を受信した場合、ステップS7~ステップS20の処理を、受信されたCAN信号ごとに実行する。
【0163】
次いで、VCIB111は、受信したCAN信号のラベル(
図4)を抽出する(ステップS7)。具体的には、VCIB111は、制御要求CRのラベルを抽出したり、車両状態信号VISのラベルを抽出したりする。
【0164】
次いで、VCIB111は、CAN信号(制御要求CRまたは車両状態信号VIS)の実際の受信周期から設計上の受信周期を差し引くことによって、そのCAN信号の受信遅延時間を算出する(ステップS10)。具体的には、VCIB111は、抽出したラベルと受信計画データ432,434とを用いて、CAN信号の設計上の受信周期を取得する。例えば、VCIB111は、制御要求CRの実際の受信周期から設計上の受信周期を差し引くことによって制御要求CRの受信遅延時間を算出する。あるいは、VCIB111は、車両状態信号VISの実際の受信周期から設計上の受信周期を差し引くことによって車両状態信号VISの受信遅延時間を算出する。
【0165】
次いで、VCIB111は、CAN信号について、ECU112における内部処理遅延時間を算出する(ステップS15)。具体的には、VCIB111は、抽出したラベルを用いて、CAN信号のデータサイズを送信計画データ433,435に従って取得する。VCIB111は、取得したデータサイズに従って、CAN信号についてECU112による処理の実行時間を算出する。さらに、VCIB111は、抽出したラベルを用いて、CAN信号の送信待機時間を算出する。そして、VCIB111は、ECU112による処理の実行時間と、送信待機時間との合計を内部処理遅延時間として算出する。
【0166】
次いで、VCIB111は、受信遅延時間と内部処理遅延時間との合計を総遅延時間として算出する(ステップS20)。例えば、VCIB111は、制御要求CRごとに総遅延時間を算出したり、車両状態信号VISごとに総遅延時間を算出したりする。
【0167】
次いで、VCIB111は、上記の総遅延時間の平均を指標値INDとして算出する(ステップS25)。例えば、VCIB111は、複数の制御要求CRについて総遅延時間の平均を第1指標値IND1として算出したり、複数の車両状態信号VISについて総遅延時間の平均を第2指標値IND2として算出したりする。
【0168】
次いで、VCIB111は、CAN通信における制御指令CCの優先度と、指標値INDとに従って制御指令CCの送信計画(より詳細には、
図4の送信計画データ433)を設定する(ステップS30)。
【0169】
図9は、本実施の形態における制御指令CCの送信計画の設定処理(
図8のステップS30)の詳細を示すフローチャートである。
【0170】
図9を参照して、VCIB111は、指標値INDがしきい値以上であるか否かを判定する(ステップS105)。指標値INDがしきい値以上であることは、第1指標値IND1および第2指標値IND2の両方がしきい値以上であることであってもよいし、これらの指標値のうちいずれか一方がしきい値以上であることであってもよい。
【0171】
指標値INDがしきい値未満である場合(ステップS105においてNO)、VCIB111は、制御指令CC2の送信周期がデフォルト周期になるように送信計画を設定する(ステップS107)。デフォルト周期は、例えば、Tb2-1(
図4,
図6)である。ステップS107の後、VCIB111は、ステップS31(
図8)に処理を進める。
【0172】
他方、指標値INDがしきい値以上である場合(ステップS105においてYES)、VCIB111は、指標値INDがしきい値未満である場合よりも、制御指令CC2の送信周期が長くなるように、制御指令CC2の送信計画を設定する(ステップS110)。
図7の例では、VCIB111は、制御指令CC2の送信周期がTb2-1からTb2-11に変更されるように送信計画データ433(
図4)を書き換える。その後、VCIB111は、ステップS31(
図8)に処理を進める。
【0173】
なお、制御指令CC2の送信計画におけるオフセット(送信待機時間)は、例えば、Ob2-1(
図4,
図6,
図7)である。
【0174】
図8を再び参照して、VCIB111は、ステップS5において受信したCAN信号が制御要求CRであるか否かを判定する(ステップS31)。具体的には、VCIB111は、ステップS7において抽出したラベル(
図4の受信計画データ432,434)に従って、この判定処理を実行する。
【0175】
CAN信号が制御要求CRでない場合、すなわち、車両状態信号VISである場合(ステップS31においてNO)、VCIB111は、ステップS35に処理を進める。他方、CAN信号が制御要求CRである場合(ステップS31においてYES)、VCIB111は、ステップS32に処理を進める。
【0176】
次いで、VCIB111は、ステップS30において設定した送信計画に従って、ベース車両100に制御指令CCを送信する(ステップS32)。具体的には、VCIB111は、送信計画データ433において設定された送信周期およびオフセットにより定められる送信タイミングに従って、ベース車両100に制御指令CCを送信する。
【0177】
次いで、VCIB111は、ベース車両100が正常に停車したことを示す所定条件が成立したか否かを判定する(ステップS35)。この所定条件は、例えば、ベース車両100が駐車場における区画線内の領域に駐車することである。ベース車両100がこの領域に駐車したか否かは、ベース車両100のアクティブセーフティシステム125のカメラにより撮影された画像を用いて公知の画像処理技術に従って判定される。VCIB111は、この画像の情報を含む車両状態信号VISに従って、ステップS35の判定処理を実行する。
【0178】
上記の所定条件が成立していない場合(ステップS35においてNO)、ベース車両100が自動運転モードにおいてまだ道路を走行している。この場合、VCIB111は、ステップS5に処理を戻す。他方、上記の所定条件が成立した場合(ステップS35においてYES)、VCIB111は、この所定条件が成立したことを、車両状態信号VISAを用いてADS202に通知する(ステップS40)。この通知に応答して、ADS202は、ベース車両100の自動運転の終了要求を制御要求CRとして、通信モジュール209(
図2)を通じてVCIB111に送信する。
【0179】
次いで、VCIB111は、ADS202から、ベース車両100の自動運転の終了要求を制御要求CRとして受信する(ステップS45)。
【0180】
次いで、VCIB111は、ステップS30において送信計画を変更したか否かに従って処理を分岐する(ステップS47)。具体的には、VCIB111は、送信計画データ433を書き換えたか否か(
図9のステップS110の処理を実行したか否か)に従って処理を分岐する。
【0181】
VCIB111は、送信計画を変更していない場合(ステップS47においてNO)、ステップS50に処理を進める。他方、VCIB111は、送信計画を変更した場合(ステップS47においてYES)、送信計画を元に戻す(ステップS48)。具体的には、VCIB111は、送信計画データ433を書き換え前のデータに戻す。ステップS48の後、VCIB111は、ステップS50に処理を進める。
【0182】
次いで、VCIB111は、自動運転の終了指令を、制御指令CCとしてベース車両100に送信する(ステップS50)。これにより、車両10のモードが自動運転モードからマニュアルモードに切り替わり、
図8の処理が終了する。
【0183】
以上のように、本実施の形態に従うVCIB111は、CAN通信線300,350におけるCAN通信の混雑の程度を示す指標値INDを算出する。そして、VCIB111は、CAN通信における制御指令CCの優先度と指標値INDとに従って、ベース車両100への制御指令CCの送信計画を設定する。
【0184】
上記の構成とすることにより、制御指令CCの優先度に加えて、CAN通信の混雑の程度が制御指令CCの送信計画に反映される。これにより、CAN通信が混雑している場合にCAN通信の混雑の程度が低減されるように制御指令CCをVCIB111からベース車両100へ送信することができる。その結果、制御指令CCがVCIB111からベース車両100へ適切に送信される。よって、ADS202からの制御要求CRに従ってベース車両100の適切な自動運転を可能にすることができる。
[実施の形態の変形例]
ADS202は、指標値INDが大きい場合に、指標値INDが小さい場合よりも、CAN通信における制御指令CC2の送信待機時間(オフセット)が長くなるように送信計画を設定してもよい。
【0185】
図10は、この変形例におけるVCIB111からベース車両100への制御指令CCの送信タイミングの一例を説明するための図である。
【0186】
図10を参照して、時刻t1B,t2B,t5B,t6B,t9B~t12Bは、それぞれ、時刻t1,t2,t5,t6,t9~t12(
図6)に相当する。期間P1B,P2B,P3B,P11Bは、それぞれ、期間P1,P2,P3,P11に対応する。
【0187】
タイミングチャート500は、
図6におけるものと同じである。タイミングチャート515は、制御指令CC2の送信タイミングを示す点において、タイミングチャート505(
図6)と同様である。その一方で、タイミングチャート515は、制御指令CC2のオフセットがOb2-11(≠Ob2-1)に設定(変更)される点において、タイミングチャート505とは異なる。
【0188】
VCIB111は、制御指令CC2の送信期間である期間P11Bが制御指令CC1の送信期間である期間P1B,P2B,P3Bに重複しないように制御指令CCの送信計画を設定する。この例では、時刻t1Bの直前に制御指令CC1,CC2の両方がVCIB111のバッファ領域431に格納されているものとする。さらに、時刻t1Bの直前に、指標値INDがしきい値を超過したものとする。指標値INDがしきい値を超過する前、制御指令CC2のオフセットは、Ob2-1(
図4,
図6)であるものとする。
【0189】
VCIB111は、指標値INDがしきい値を超過したことに応答して、制御指令CC2のオフセットをOb2-1からOb2-11(>Ob2-1)に変更する。より詳細には、VCIB111は、制御指令CC2のオフセットがOb2-1からOb2-11に変更されるように送信計画データ433(
図4)を書き換える。
【0190】
比較例(
図7)と同様に、制御指令CC1が期間P1B中にVCIB111のバッファ領域431からベース車両100に優先的に出力される一方で、制御指令CC2は、オフセットされる。この変形例では、オフセットがOb2-11に変更されているため、制御指令CC2は、時刻t1B以降、時刻t11B(期間P11B)が到来するまでVCIB111から出力されない。
【0191】
これにより、期間P1Bと期間P2Bとの間の時間間隔INTB(>INT)と、期間P2Bと期間P3Bとの間の時間間隔INTB(>INT)とにわたって、制御指令CCが送信されない。その結果、VCIB111からCAN通信線350を通じたベース車両100への通信の混雑の程度が低減される。よって、前述の実施の形態の場合と同様に、優先度が低い制御指令CC2の伝達を一時的に後回しにしつつ、優先度が高い制御指令CC1の伝達をCAN通信の混雑前と同様に継続することができる(制御指令CC1の伝達遅延を回避することができる)。
【0192】
図11は、この変形例における制御指令CCの送信計画の設定処理(
図8のステップS30)の詳細を示すフローチャートである。
図11を参照して、ステップS205の処理は、ステップS105(
図9)の処理と同じである。
【0193】
指標値INDがしきい値未満である場合(ステップS205においてNO)、VCIB111は、制御指令CC2の送信待機時間(オフセット時間)がデフォルト時間になるように送信計画を設定する(ステップS207)。デフォルト時間は、例えば、Ob2-1(
図4,
図6)である。ステップS207の後、VCIB111は、ステップS31(
図8)に処理を進める。
【0194】
他方、指標値INDがしきい値以上である場合(ステップS205においてYES)、VCIB111は、指標値INDがしきい値未満である場合よりも、制御指令CC2の送信待機が長くなるように、制御指令CC2の送信計画を設定する(ステップS210)。
図10の例では、VCIB111は、制御指令CC2の送信待機時間がOb2-1からOb2-11に変更されるように送信計画データ433(
図4)を書き換える。その後、VCIB111は、ステップS31(
図8)に処理を進める。
[その他の変形例]
優先度が高い第1のグループに分類されるCAN信号は、ベース車両100の駆動制御のための信号以外に、例えば、ベース車両100の操舵制御、衝突検知、停止保持制御、電源制御、安全機能のための制御、または異常通知の制御のために用いられる信号であってもよい。
【0195】
優先度が低い第2のグループに分類されるCAN信号は、ベース車両100のワイパー制御以外に、例えば、ベース車両100の車内灯の制御、エアコン制御、または窓制御のために用いられる信号であってもよい。
【0196】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0197】
10 車両、100 ベース車両、111 車両制御インターフェースボックス、113,113A,113B 通信装置、209,209A,209B 通信モジュール、210 コンピュータ、212,433,435 送信計画データ、300,300A,300B,350,350A,350B CAN通信線、405,415 受信部、410,420 送信部、430 記憶部、432,434 受信計画データ、437 指標値算出部、438 送信計画設定部、CC,CC1,CC2 制御指令、CR 制御要求、IND 指標値、VIS,VISA 車両状態信号。