(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024149414
(43)【公開日】2024-10-18
(54)【発明の名称】車両モードに基づいて統合アーキテクチャ構成要素を有効にするシステム及び方法
(51)【国際特許分類】
B60W 50/00 20060101AFI20241010BHJP
G08G 1/16 20060101ALI20241010BHJP
【FI】
B60W50/00
G08G1/16 C
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024055715
(22)【出願日】2024-03-29
(31)【優先権主張番号】18/194,064
(32)【優先日】2023-03-31
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521042770
【氏名又は名称】ウーブン・バイ・トヨタ株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】ビシュヌ アール.デサラジュ
(72)【発明者】
【氏名】サラ エム.ケーラー
(72)【発明者】
【氏名】安田 浩志
(72)【発明者】
【氏名】マイケル エル.エルキンズ
(72)【発明者】
【氏名】キャリー ボビエ-ティウ
(72)【発明者】
【氏名】セリーナ パン
(57)【要約】
【課題】複数の異なるモードで車両を制御する統合アーキテクチャを管理するシステム及び方法を提供すること。
【解決手段】一実施形態では、システムは、プロセッサと、機械可読命令を記憶するメモリと、を含み、機械可読命令は、プロセッサによって実行されると、プロセッサに、車両についての目標動作モードを識別する命令を受信させ、目標動作モードが車両の現在の動作モードと異なるかどうかを決定させ、目標動作モードの間に有効になる、車両の統合アーキテクチャであって半自律モード及び自律モードで車両を制御する統合アーキテクチャの構成要素、及び有効になる構成要素についての動作パラメータを識別させ、動作パラメータに基づいて、目標動作モードの間に有効になる構成要素を構成させ、目標動作モードに従って構成要素を有効にさせる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
システムであって、
プロセッサと、
機械可読命令を記憶するメモリと、
を備え、前記機械可読命令は、前記プロセッサによって実行されると、前記プロセッサに、
車両の目標動作モードを識別する命令を受信させ、
前記目標動作モードが前記車両の現在の動作モードと異なるかどうかを決定させ、
前記目標動作モードの間に有効になる、車両の統合アーキテクチャであって半自律モード及び自律モードで前記車両を制御する統合アーキテクチャの構成要素、及び前記構成要素についての動作パラメータを識別させ、
前記動作パラメータに基づいて、前記目標動作モードの間、前記構成要素を構成させ、
前記目標動作モードに従って前記構成要素を有効にさせる、
システム。
【請求項2】
前記構成要素を識別するための命令は、前記目標動作モードが前記自律モードである場合に、
前記統合アーキテクチャの利用可能な構成要素の第1のサブセットを、有効になる前記構成要素として識別し、
前記統合アーキテクチャの利用可能な構成要素の第2のサブセットを、無効になる構成要素として識別するための命令を備える、請求項1に記載のシステム。
【請求項3】
前記構成要素を識別するための命令は、前記目標動作モードが前記半自律モードである場合に、ドライバ状態システム、反応パイプライン、半自律マネージャ、人間-機械インターフェース(HMI)マネージャ、ドライバコントローラ、プラットフォームドライバ、プランナ、及びコントローラを、有効になる前記統合アーキテクチャの前記構成要素として識別するための命令を備え、前記統合アーキテクチャの前記構成要素のサブセットは、前記目標動作モードが前記自律モードである場合にも識別される、請求項1に記載のシステム。
【請求項4】
前記構成要素を識別するための命令は、前記目標動作モードが前記自律モードである場合に、
プラットフォームドライバ、プランナ、及びコントローラを、有効になる前記統合アーキテクチャの前記構成要素として識別し、
ドライバ状態システム、反応パイプライン、半自律マネージャ、人間-機械インターフェース(HMI)マネージャ、及び前記コントローラのハプティックコントローラを、無効になる前記統合アーキテクチャの構成要素として識別するための命令を備える、請求項1に記載のシステム。
【請求項5】
前記統合アーキテクチャのプランナを介して前記車両についての軌道を計画するための命令を更に備え、前記構成要素を構成するための命令は、前記目標動作モードが前記自律モードである場合に、安全境界を有しない前記軌道を出力するように前記プランナを構成するための命令を備える、請求項1に記載のシステム。
【請求項6】
前記統合アーキテクチャのプランナを介して前記車両についての軌道を計画するための命令を更に備え、前記構成要素を構成するための命令は、前記目標動作モードが前記半自律モードである場合に、安全境界を有する前記軌道を出力するように前記プランナを構成するための命令を備える、請求項5に記載のシステム。
【請求項7】
前記統合アーキテクチャのコントローラを介して車両コマンドを生成するための命令を更に備え、
前記構成要素を構成するための命令は、前記目標動作モードが前記半自律モードである場合に、ユーザ入力デバイスからユーザ入力コマンドを受信して、前記統合アーキテクチャのプラットフォームドライバによって実行される前記車両コマンドに前記ユーザ入力コマンドを変換するように前記コントローラを構成するための命令を備え、
前記構成要素を構成するための命令は、前記目標動作モードが前記自律モードである場合に、前記統合アーキテクチャのプランナから自動運転コマンドを受信して、前記プラットフォームドライバによって実行される前記車両コマンドに前記自動運転コマンドを変換するように前記コントローラを構成するための命令を備える、
請求項1に記載のシステム。
【請求項8】
前記統合アーキテクチャの構成要素を識別するための命令は、
前記目標動作モードに関連付けられる前記構成要素が機能していて、前記目標動作モードに関連付けられない構成要素が無効モードであることを決定することによって有効性確認を行うための命令と、
前記有効性確認に基づいて前記構成要素の有効化を承認するための命令と、
を更に備える、
請求項1に記載のシステム。
【請求項9】
命令を備える非一時的機械可読媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
車両についての目標動作モードを識別する命令を受信させ、
前記目標動作モードが前記車両の現在の動作モードと異なるかどうかを決定させ、
前記目標動作モードの間に有効になる、車両の統合アーキテクチャであって半自律モード及び自律モードで前記車両を制御する統合アーキテクチャの構成要素、及び前記構成要素についての動作パラメータを識別させ、
前記動作パラメータに基づいて、前記目標動作モードの間、前記構成要素を構成させ、
前記目標動作モードに従って前記構成要素を有効にさせる、
非一時的機械可読媒体。
【請求項10】
前記構成要素を識別するための命令は、前記目標動作モードが前記半自律モードである場合に、ドライバ状態システム、反応パイプライン、半自律マネージャ、人間-機械インターフェース(HMI)マネージャ、ドライバコントローラ、プラットフォームドライバ、プランナ、及びコントローラを、有効になる前記統合アーキテクチャの前記構成要素として識別するための命令を備え、前記統合アーキテクチャの前記構成要素のサブセットは、前記目標動作モードが前記自律モードである場合にも識別される、請求項9に記載の非一時的機械可読媒体。
【請求項11】
前記構成要素を識別するための命令は、前記目標動作モードが前記自律モードである場合に、
プラットフォームドライバ、プランナ、及びコントローラを、有効になる前記統合アーキテクチャの前記構成要素として識別し、
ドライバ状態システム、反応パイプライン、半自律マネージャ、人間-機械インターフェース(HMI)マネージャ、及び前記コントローラのハプティックコントローラを、無効になる前記統合アーキテクチャの構成要素として識別するための命令を備える、請求項9に記載の非一時的機械可読媒体。
【請求項12】
車両についての目標動作モードを識別する命令を受信することと、
前記目標動作モードが前記車両の現在の動作モードと異なるかどうかを決定することと、
前記目標動作モードの間に有効になる、前記車両の統合アーキテクチャの構成要素、及び前記構成要素についての動作パラメータを識別することであって、前記統合アーキテクチャは、半自律モード及び自律モードで前記車両を制御する、ということと、
前記動作パラメータに基づいて、前記目標動作モードの間、前記構成要素を構成することと、
前記目標動作モードに従って前記構成要素を有効にすることと、
を含む、方法。
【請求項13】
前記構成要素を識別することは、前記目標動作モードが前記自律モードである場合に、
前記統合アーキテクチャの利用可能な構成要素の第1のサブセットを、有効になる前記構成要素として識別し、
前記統合アーキテクチャの利用可能な構成要素の第2のサブセットを、無効になる構成要素として識別することを含む、請求項12に記載の方法。
【請求項14】
前記構成要素を識別することは、前記目標動作モードが前記半自律モードである場合に、ドライバ状態システム、反応パイプライン、半自律マネージャ、人間-機械インターフェース(HMI)マネージャ、ドライバコントローラ、プラットフォームドライバ、プランナ、及びコントローラを、有効になる前記統合アーキテクチャの前記構成要素として識別することを含み、前記統合アーキテクチャの前記構成要素のサブセットは、前記目標動作モードが前記自律モードである場合にも識別される、請求項12に記載の方法。
【請求項15】
前記構成要素を識別することは、前記目標動作モードが前記自律モードである場合に、
プラットフォームドライバ、プランナ、及びコントローラを、有効になる前記統合アーキテクチャの前記構成要素として識別し、
ドライバ状態システム、反応パイプライン、半自律マネージャ、人間-機械インターフェース(HMI)マネージャ、及び前記コントローラのハプティックコントローラを、無効になる前記統合アーキテクチャの構成要素として識別することを含む、請求項12に記載の方法。
【請求項16】
前記統合アーキテクチャのプランナを介して前記車両についての軌道を計画することを更に含み、前記構成要素を構成することは、前記目標動作モードが前記自律モードである場合に、安全境界を有しない前記軌道を出力するように前記プランナを構成することを含む、請求項12に記載の方法。
【請求項17】
前記統合アーキテクチャのプランナを介して前記車両についての軌道を計画することを更に含み、前記構成要素を構成することは、前記目標動作モードが前記半自律モードである場合に、安全境界を有する前記軌道を出力するように前記プランナを構成することを含む、請求項12に記載の方法。
【請求項18】
前記統合アーキテクチャのコントローラを介して車両コマンドを生成することを更に含み、
前記構成要素を構成することは、前記目標動作モードが前記半自律モードである場合に、ユーザ入力デバイスからユーザ入力コマンドを受信して、前記統合アーキテクチャのプラットフォームドライバによって実行される前記車両コマンドに前記ユーザ入力コマンドを変換するように前記コントローラを構成することを含み、
前記構成要素を構成することは、前記目標動作モードが前記自律モードである場合に、前記統合アーキテクチャのプランナから自動運転コマンドを受信して、前記プラットフォームドライバによって実行される前記車両コマンドに前記自動運転コマンドを変換するように前記コントローラを構成することを含む、請求項12に記載の方法。
【請求項19】
命令を受信することは、
前記車両が移動している間に前記目標動作モードのユーザ選択を前記統合アーキテクチャのコントローラにおいて受信することと、
前記目標動作モードの間に有効になる、前記統合アーキテクチャの利用可能な構成要素の第1のサブセットに前記ユーザ選択をマッピングすることと、
を含む、請求項12に記載の方法。
【請求項20】
有効になる統合アーキテクチャの構成要素を識別することは、
前記目標動作モードに関連付けられる前記構成要素が機能していて、前記目標動作モードに関連付けられない構成要素が無効モードであることを決定することによって有効性確認を行うことと、
前記有効性確認に基づいて前記構成要素の有効化を承認することと、
を更に含む、
請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載される主題は概して、自律モード及び半自律モードを有する車両を制御するシステム及び方法に関し、より具体的には、車両についての目標動作モードに基づいて統合アーキテクチャの様々な構成要素を選択的に有効にして構成することに関する。
【背景技術】
【0002】
一部の車両は、異なる時点で半自律モード及び自律モードで動作する。当該車両は、車両が半自律モードである間にドライバコマンドを支援して補うためのハードウェア構成要素と、車両が自律モードである間にドライバからのいかなる入力も必要とすることなく車両の運転を完全に制御するハードウェア構成要素と、を含む。車両は、異なるモードの各々に関連付けられる異なるアーキテクチャを有し得る。すなわち、車両は、車両が半自律モードである間に機能するハードウェア構成要素を含む半自律アーキテクチャを有する。別個の自律アーキテクチャは、車両が自律モードである間に有効であるハードウェア構成要素を含む。したがって、複数のモードで動作する車両は、ハードウェア構成要素の複数のセットを含む。各セットは、同じ機能を行うハードウェア構成要素を有し得る。例えば、半自律アーキテクチャは、コントローラとプランナとを有し得る。自律アーキテクチャも、コントローラとプランナとを有し得る。アーキテクチャがハードウェア構成要素を共有する例では、ハードウェア構成要素を制御するために、異なるアルゴリズムパイプラインが存在し得る。この例では、各パイプラインに別個のモジュールが存在し得る。二重のハードウェア構成要素を有するため、当該別個のモジュールは、車両制御システムにおいて、非効率的で重複する構成要素を表す。
【0003】
したがって、現在のデュアルモード車両は、複数の異なるアーキテクチャを含み、各アーキテクチャは、単一の車両動作モードを制御する。これは、上述のような車両において見出されるハードウェア構成要素に冗長性をもたらし得る。このような冗長性により、車両の電気機械システムの複雑性が増し、車両の制御及び管理の複雑性が増し、より高い可能性の車両動作不良が生じ、不均一のインターフェースがユーザに提示される。
【発明の概要】
【0004】
一実施形態では、例示的なシステム及び方法は、複数の異なるモードで車両を制御する統合アーキテクチャを管理する方法に関する。統合アーキテクチャは、異なる構成であるが、目標動作モードに基づいて自律モード及び半自律モードの両方で使用される有効な構成要素を含む。
【0005】
一実施形態では、複数の異なるモードで車両を制御する統合アーキテクチャを管理するシステムが開示される。システムは、プロセッサと、機械可読命令を記憶するメモリと、を含む。命令は、プロセッサによって実行されると、プロセッサに対して、車両の目標動作モードを識別する命令を受信させて、目標動作モードが車両の現在の動作モードと異なるかどうかを決定させる。命令は、プロセッサによって実行されると、プロセッサに対して、有効になる構成要素についての動作パラメータを含む、目標動作モードの間に有効になる、車両の統合アーキテクチャの構成要素を識別させる。統合アーキテクチャは、半自律モード及び自律モードで車両を制御する。命令は、プロセッサによって実行されると、プロセッサに対して、動作パラメータに基づいて、目標動作モードの間に有効になる構成要素を構成させて、目標動作モードに従って構成要素を有効にさせる。
【0006】
一実施形態では、複数の異なるモードで車両を制御する統合アーキテクチャを管理し、命令を含む、非一時的コンピュータ可読媒体であって、命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに対して1つ以上の機能を行わせる、非一時的コンピュータ可読媒体が開示される。命令は、車両についての目標動作モードを識別する命令を受信して、目標動作モードが車両の現在の動作モードと異なるかどうかを決定するための命令を含む。命令は、目標動作モードの間に有効になる、車両の統合アーキテクチャの構成要素、及び有効になる構成要素についての動作パラメータを識別するための命令を含む。統合アーキテクチャは、半自律モード及び自律モードで車両を制御するためのものである。命令は、動作パラメータに基づいて、目標動作モードの間に有効になる構成要素を構成して、目標動作モードに従って構成要素を有効にするための命令を含む。
【0007】
一実施形態では、複数の異なるモードで車両を制御する統合アーキテクチャを管理する方法が開示される。一実施形態では、当該方法は、車両についての目標動作モードを識別する命令を受信するステップと、目標動作モードが車両の現在の動作モードと異なるかどうかを決定するステップと、を含む。当該方法はまた、目標動作モードの間に有効になる、車両の統合アーキテクチャの構成要素、及び有効になる構成要素についての動作パラメータを識別するステップを含む。統合アーキテクチャは、半自律モード及び自律モードで車両を制御するためのものである。当該方法は、動作パラメータに基づいて、目標動作モードの間に有効になる構成要素を構成するステップと、目標動作モードに従って構成要素を有効にするステップと、を含む。
【図面の簡単な説明】
【0008】
本明細書において援用され本明細書の一部を構成する添付図面は、本開示の様々なシステム、方法、及び他の実施形態を示す。図において示される要素の境界(例えば、ボックス、ボックスのグループ、又は他の形状)は、境界の一実施形態を表すことが理解されるであろう。一部の実施形態では、1つの要素は、複数の要素として設計されてもよく、又は複数の要素は、1つの要素として設計されてもよい。一部の実施形態では、別の要素の内部構成要素として示される要素は、外部構成要素として実装されてもよく、逆もまた同様である。更に、要素は、縮尺通りに描かれていない場合がある。
【0009】
【
図1】本明細書に開示されるシステム及び方法が実装され得る車両の一実施形態を示す図である。
【
図2】複数の異なるモードで車両を制御する統合アーキテクチャを管理することに関連付けられるアーキテクチャ管理システムの一実施形態を示す図である。
【
図3】半自律モードの間に車両を制御する統合アーキテクチャの一実施形態を示す図である。
【
図4】自律モードの間に車両を制御する統合アーキテクチャの一実施形態を示す図である。
【
図5A】半自律モードの間に車両を制御する統合アーキテクチャの一実施形態を示す図である。
【
図5B】半自律モードの間に車両を制御する統合アーキテクチャの一実施形態を示す図である。
【
図5C】半自律モードの間に車両を制御する統合アーキテクチャの一実施形態を示す図である。
【
図6】自律モードの間に車両を制御する統合アーキテクチャの一実施形態を示す図である。
【
図7】複数の異なるモードで車両を制御する統合アーキテクチャを管理する方法の一実施形態に関連付けられるフローチャートを示す図である。
【発明を実施するための形態】
【0010】
複数の異なるモードで動作可能である車両を制御する統合アーキテクチャの管理を改善することに関連付けられる、システム、方法、及び他の実施形態が本明細書に開示される。上述のように、一部の車両は、異なる時点で半自律モード及び自律モードで動作する。しかしながら、デュアルモード動作が可能な車両は概して、各々の異なる動作モードについて別個のアーキテクチャを含む。例えば、車両は、先進運転支援(ADAS)動作などの半自律動作を行う特定のハードウェア構成要素を有する第1のハードウェアアーキテクチャを有し得る。この同車両は、自律動作を行う異なるハードウェア構成要素を有する第2の異なるハードウェアアーキテクチャを有し得る。したがって、現在のデュアルモード車両は、複数の異なるアーキテクチャを含み、各アーキテクチャは、単一の車両動作モードを制御する。このマルチアーキテクチャ構成は、構成要素の冗長性、ハードウェア複雑性の増大、車両を制御する複雑性の増大、制御の非効率性、及び不均一のドライバインターフェースをもたらす。例えば、各アーキテクチャは、潜在的ワールドステートを推定するプランナを有し得る。したがって、半自律アーキテクチャのプランナは、車両が半自律モードである間に当該推定を提供する。自律アーキテクチャは、車両が自律モードである間に同じ推定を提供する別個のプランナを含む。したがって、既存の車両には、同じ情報を出力する2つの構成要素が存在する。これは、単なる一例であって、デュアルモード車両動作を実装するマルチアーキテクチャシステムが、非効率的、複雑、高コスト、非効果的である他の例が多くある。一例では、別個のアーキテクチャは、ハードウェア構成要素を共有し得る。しかしながら、ハードウェア構成要素を制御するために、異なるアルゴリズムパイプラインが存在し得る。したがって、各パイプラインに別個のモジュールが存在し得る。二重のハードウェア構成要素を有するため、当該別個のモジュールは、車両制御システムにおいて、非効率的で重複する構成要素を表す。
【0011】
したがって、本明細書は、自律モード及び半自律モードの両方で使用される構成要素セットを含む、統合アーキテクチャ並びにその制御及び管理を記載する。すなわち、複数のアーキテクチャを有するのではなく、本明細書の車両は、自律モード及び半自律モードの両方で車両を制御するための単一の統合アーキテクチャを有する。有効である構成要素は、車両の目標動作モードに基づいて変わる。例えば、統合アーキテクチャのプランナ、コントローラ、及びプラットフォームドライバは、半自律モード及び自律モードの両方で有効である。比較すると、統合アーキテクチャの他の構成要素は、両方の動作モードで有効なわけではない。例えば、ドライバ状態システム、反応パイプライン、半自律マネージャ、人間-機械インターフェース(HMI)マネージャ、及びハプティックコントローラは、目標動作モードが半自律モードである場合に有効であって、目標動作モードが自律モードである場合に有効ではない。
【0012】
更に、異なるモードで動作する場合、統合アーキテクチャの有効な構成要素は、異なって構成され、異なって動作する。例えば、統合アーキテクチャのプランナは、車両についての軌道を計画する。半自律モードの間に、アーキテクチャ管理システムは、安全境界を有する軌道を出力するようにプランナを構成する。比較すると、アーキテクチャ管理システムは、自律モードにおいて同じプランナを異なって構成する、具体的には、安全境界を有しないか、又は車両が半自律モードである場合に生成される安全境界とは異なって構成される安全境界を有する、軌道を出力するように構成する。したがって、アーキテクチャ管理システムは、異なるモードについて異なってプランナを動作させるようにプランナのパラメータを異なって構成する。様々な手法では、これは、アルゴリズムについての制限、及び異なる重みや制御変数などの入力データをアルゴリズムが異なって処理する方法を定める異なるパラメータを有する特定のアルゴリズムを構成することを含む。
【0013】
別の例として、半自律モードでは、アーキテクチャ管理システムは、ユーザ入力デバイス(例えば、ステアリングホイール)からドライバ入力コマンドを受信して、車両の車輪を旋回させる車両コマンドに当該ドライバ入力コマンドを変換するように統合アーキテクチャのコントローラを構成する。比較すると、自律モードの間にアーキテクチャ管理システムは、プランナから自動運転コマンドを受信して、プランナからの自動運転コマンドを車両コマンドに変換するように同じコントローラを構成する。したがって、アーキテクチャ管理システムは、異なるモードについて異なる方法でコントローラを動作させるようにコントローラのパラメータを異なって構成する。様々な手法では、これは、アルゴリズムについての制限、及び異なる重みや制御変数などの入力データをアルゴリズムが異なって処理する方法を定める異なるパラメータを有する特定のアルゴリズムを構成することを含む。
【0014】
したがって、本明細書は、車両についての目標動作モード及び車両の現在の動作モードに基づいて、統合アーキテクチャの様々な構成要素を選択的に有効にするアーキテクチャ管理システムを記載する。半自律モード及び自律モードの両方で有効である統合アーキテクチャの当該構成要素について、アーキテクチャ管理システムは、動作モード間で異なる構成要素の構成により、目標動作モードに基づいて当該構成要素を構成する。
【0015】
本明細書の統合アーキテクチャ及びアーキテクチャ管理システムは、冗長な構成要素を除去して、車両についての選択された目標動作モードのパラダイム内で動作するように特定の構成要素を構成することによって、車両制御システムの効率を改善する。統合アーキテクチャはまた、統一されたユーザ体験をドライバに提示し、車両の全能力を利用して、事故を防いで安全運転を保証する。
【0016】
図1を参照すると、車両100の例が示されている。本明細書で使用される「車両」は、任意の形態の動力付き輸送手段である。1つ以上の実装態様では、車両100は、自動車である。自動車に関する機構が本明細書に記載されるが、実施形態は自動車に限定されないことが理解されるであろう。一部の実装態様では、車両100は、任意のロボットデバイス又は動力付き輸送手段の形態であり得、これらは、例えば、異なるレベルの自律性及びユーザ入力を伴う複数の動作モードを含み、したがって、統合アーキテクチャを介して車両の半自律動作又は自律動作を制御することに関連付けられて本明細書で述べられる機能の恩恵を受ける。
【0017】
車両100はまた、様々な要素を含む。様々な実施形態では、車両100が、
図1に示される要素の全てを有する必要がない場合があることが理解されるであろう。車両100は、
図1に示される様々な要素の任意の組み合わせを有し得る。更に、車両100は、
図1に示されるものに対して追加の要素を有し得る。一部の機構では、車両100は、
図1に示される要素のうちの1つ以上を用いずに実装され得る。様々な要素は、
図1の車両100内に配置されているものとして示されているが、当該要素のうちの1つ以上が車両100の外部に配置され得ることが理解されるであろう。更に、示される要素は、長い距離、物理的に分離され得る。例えば、述べられるように、開示されたシステムの1つ以上の構成要素は、車両内で実装され得る一方、システムの更なる構成要素は、車両100から離れたクラウド計算環境又は他のシステム内で実装される。
【0018】
車両100の可能性のある要素のうちの一部が
図1に示されており、後の図と共に記載される。しかしながら、
図1の多数の要素に関する説明は、この説明を簡潔にするために
図2~
図7の説明の後に提供される。更に、図示の簡略化及び明確化を目的として、対応する要素又は類似の要素を示すために異なる図の間で参照番号が適宜繰り返されていることが理解されるであろう。加えて、説明は、本明細書に記載される実施形態の完全な理解を提供するために、数多くの具体的な詳細を概説する。しかしながら、当業者は、当該要素の様々な組み合わせを使用して本明細書に記載される実施形態が実施され得ることを理解するであろう。いずれの場合も、車両100は、アーキテクチャ管理システム170を含み、アーキテクチャ管理システム170は、複数の異なるモードで動作可能である車両を制御する統合アーキテクチャの管理を改善することに関する、本明細書に開示されるような方法及び他の機能を行うように実装される。
【0019】
図2を参照すると、
図1のアーキテクチャ管理システム170の一実施形態が更に示されている。アーキテクチャ管理システム170は、
図1の車両100のプロセッサ110を含むものとして示されている。したがって、プロセッサ110は、アーキテクチャ管理システム170の一部であり得るか、アーキテクチャ管理システム170は、車両100のプロセッサ110とは別個のプロセッサを含み得るか、又はアーキテクチャ管理システム170は、データバス若しくは別の通信経路を通じてプロセッサ110にアクセスし得る。一実施形態では、アーキテクチャ管理システム170は、検出モジュール220及び通信モジュール230を記憶するメモリ210を含む。メモリ210は、モジュール220及び230を記憶する、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、又は他の好適なメモリである。モジュール220及び230は、例えば、プロセッサ110によって実行されると本明細書に開示される様々な機能をプロセッサ110に行わせるコンピュータ可読命令である。更なる手法では、モジュール220及び230は、ハードウェアベースの構成要素、例えば、電子コントローラや論理回路などである。
【0020】
図2を参照して、検出モジュール220は概して、プロセッサ110を制御して車両100の1つ以上のセンサからデータ入力を受信するように機能する命令を含む。一実施形態では、入力は、車両100に近い環境における1つ以上のオブジェクト及び/又は周囲に関する他の態様の観測結果である。一実施形態では、本明細書で提供される検出モジュール220は、統合アーキテクチャ180のハードウェア構成要素が構成される方法を定める構成パラメータ250を取得する。
【0021】
すなわち、構成パラメータ250は、車両100についての目標動作モードに基づいて、統合アーキテクチャ180のハードウェア構成要素を異なる方法で動作させる。上述のように、構成パラメータ250は、アルゴリズムについての制限、及び異なる重みや制御変数などの入力データをアルゴリズムが異なって処理する方法を定める異なるパラメータを含み得る。目標動作モード固有の構成パラメータ250、及び異なる構成パラメータ250が統合アーキテクチャ180の構成要素を異なって動作させる方法に関する具体例は、以下で更に詳細に記載される。
【0022】
一手法では、構成パラメータ250は、ハードウェア構成要素及び/又は目標動作モードによって索引を付けられる。上述したように、そして、以下でより詳細に述べられるように、統合アーキテクチャ180の様々なハードウェア構成要素は、目標動作モードに基づいて異なって動作する。データストア240内の構成パラメータ250に基づいて、アーキテクチャ管理システム170は、異なって動作するように上述のハードウェア構成要素を構成する。
【0023】
更に、一実施形態では、アーキテクチャ管理システム170は、データストア240を含む。一実施形態では、データストア240は、電子データ構造であって、当該電子データ構造は、メモリ210又は別のデータストアに記憶されており、構成パラメータ250及び他の記憶データの分析、構成パラメータ250及び他の記憶データの提供、構成パラメータ250及び他の記憶データの編成などのためにプロセッサ110によって実行され得るルーチンで構成されている。したがって、一実施形態では、データストア240は、様々な機能を実行する際にモジュール220及び230によって使用されるデータを記憶する。一実施形態では、データストア240は、例えば、構成パラメータ250の様々な態様を特徴付けるメタデータと共に構成パラメータ250を含む。例えば、メタデータは、構成パラメータ250が特定のハードウェア構成要素及び目標動作モードなどに関連付けられるインデックスを含み得る。
【0024】
一実施形態では、検出モジュール220は更に、構成パラメータ250の取得及び提供を超えた追加のタスクを行うように構成されている。例えば、検出モジュール220は、1)目標動作モードが車両100についての現在の動作モードと異なっていることに基づいて統合アーキテクチャ180の構成要素を選択的に有効にし、2)目標動作モードに基づいて有効な構成要素を構成する。したがって、検出モジュール220は、プロセッサ110に対して、統合アーキテクチャ180を管理させ、その構成要素を、車両100についての特定の目標動作モードに基づいて選択的に有効にさせる、命令を含む。
【0025】
具体的には、少なくとも1つの手法では、検出モジュール220は、車両100についての目標動作モードを識別する命令を受信する。上述のように、目標動作モードは、1)ドライバ入力が自動コマンドによって補われる半自律モードか、又は2)自律運転モジュール160が、車両100のステアリング、加速、及び減速、又は他の移動制御に対するユーザ入力に依拠することなく車両100を制御する自律モードであり得る。
【0026】
この命令に基づいて、検出モジュール220は、目標動作モードが車両100についての現在の動作モードと異なるかどうかを決定する。例えば、車両100が、ドライバ入力に依拠しない自律モードであって、ドライバが、ドライバ入力が少なくとも部分的に車両100を制御する半自律モードに車両100を切り替えることを意図している場合がある。目標動作モードが、例えば、現在の動作モードと異なる場合、検出モジュール220は、目標動作モードの間に有効にされ、統合アーキテクチャ180の当該構成要素を識別する。代替的に、検出モジュール220は、車両100をオフ状態から初期化すると構成要素を識別し得る。
【0027】
目標動作モードが現在のものと異なるかどうかに関する識別は、いくつかの方法で行われ得る。例えば、データストア240は、車両100の現在の動作モードを識別するレジスタを含み得る。別の例では、レジスタは、統合アーキテクチャ180の各ハードウェア構成要素の状態を示し得る。この例では、統合アーキテクチャ180の有効なハードウェア構成要素の組み合わせは、車両100の現在の動作モードを示す。
【0028】
車両100についての目標動作モード、及び当該目標動作モードが車両100についての現在の動作モードと異なることを決定すると、検出モジュール220は、統合アーキテクチャ180のどの構成要素が、目標動作モード中に有効になるかを決定する。具体的には、検出モジュール220は、目標動作モードが自律モードである場合、1)統合アーキテクチャ180の利用可能な構成要素の第1のサブセットを、有効になる構成要素として識別し、2)統合アーキテクチャ180の利用可能な構成要素の第2のサブセットを、無効になる構成要素として識別する。目標動作モードに基づいた有効又は無効であるハードウェア構成要素の具体例は、
図3~
図6と関連して以下で提示される。
【0029】
一手法では、どのハードウェア構成要素が所与の目標動作モードについて有効になるかに関する決定は、データストア240内の構成パラメータ250に基づく。上述のように、構成パラメータ250は、統合アーキテクチャ180のどのハードウェア構成要素が選択的に有効にされるか、及び選択的に有効にされた当該構成要素が、特定の動作モードに基づいて異なって動作するように構成される方法を示す。したがって、検出モジュール220は、目標動作モードを識別して、どのハードウェア構成要素が所与の目標動作モードについて有効になるかに関する表示を構成パラメータ250から抽出する。
【0030】
検出モジュール220はまた、所与の目標動作モードについて有効になる構成要素を構成する方法を決定する。上述のように、統合アーキテクチャ180の一部の構成要素は、自律モード中及び半自律モード中の両方で有効である。しかしながら、当該構成要素は、目標動作モードに基づいて異なって構成される。
【0031】
例えば、統合アーキテクチャ180のプランナは、プランナの出力が特定の動作モードに固有であるような異なる構成パラメータ250を有する。具体的には、半自律モードにおけるプランナの構成パラメータ250は、プランナの出力が安全境界を有する軌道であるようなパラメータである。安全境界は、車両100がドライバ、車両100、又は周囲環境に危険を提示することなく横に移動し得る、軌道周囲の横のゾーンを指す。したがって、車両100が従う経路を生成することに加えて、プランナは、車両100についての計画軌道に沿った横の安全境界を出力する。車両100が当該安全境界内にあることを車両センサが示す限り、ドライバ入力コマンドが尊重される。しかしながら、ドライバが、安全境界の外側に車両100を配置するコマンドを出す場合、統合アーキテクチャ180の自律運転モジュール160は、ドライバ入力コマンドに取って代わり得る。したがって、半自律モードで動作している場合、プランナは、車両100についての目標軌道だけでなく、自律車両コマンドが任意のドライバ入力を上回る場合を自律運転モジュール160に示す制御信号も出力する。
【0032】
一機構では、検出モジュール220は、車両100の様々なセンサから情報を受信して、受信したセンサ情報に基づいて安全境界を生成するように計画アルゴリズムのパラメータを構成する。特定の例として、検出モジュール220は、周囲環境の画像を取り込んで歩行者、他の車両、又は車線マークなどの障害物を当該画像において識別する外部カメラなどの車両センサから出力を受信するようにプランナを構成する。検出モジュール220は、このセンサ出力を受信して、障害物が配置されていない軌道周囲の横の領域を決定するように計画アルゴリズムを構成して、安全境界などを識別する。
【0033】
検出モジュール220はまた、安全境界に対する車両100の位置及び/又は軌道からの車両100の逸脱に基づいて異なって、受信した入力コマンドに重みを付けるように計画アルゴリズムを構成する。すなわち、車両100が安全境界の周囲に向けて軌道から離れる方向に移動するときに、検出モジュール220は、より重く自動車両コマンドに重みを付けるようにプランナを構成する。
【0034】
比較すると、自律モードにおけるプランナの構成パラメータ250は、出力が、安全境界を有しないか、又は車両が半自律モードである場合に生成される安全境界とは異なって構成される安全境界を有する、軌道であるようなパラメータである。自律モードでは、自動的に制御されている車両100が軌道から逸脱しないため、このような安全境界は必要でなくてもよい。したがって、アーキテクチャ管理システム170は、選択された目標動作モードに基づいて異なってプランナを構成する。具体的には、検出モジュール220は、異なるパラメータ、例えば、処理動作を有して、統合アーキテクチャ180の異なる機能をもたらす異なる出力を生成するようにプランナを構成する。したがって、検出モジュール220は、特定のセンサ出力を無視又はブロックするようにプランナを構成する。
【0035】
一機構では、検出モジュール220は、センサ出力を受信するが、当該センサ出力を無視して、安全境界を作成するか、又はセンサ出力を異なって処理して車両が半自律モードである場合に作成されるときとは異なる安全境界を生成するようにプランナを構成する。例えば、車両が半自律モードである場合に、安全境界は、車両が自律モードである場合の安全境界よりも大きくなり得る。具体例として、半自律モードにおける車両についての安全境界は、複数の車線を含み得る。半自律モードにおける安全境界の実際の幅は、検知能力及びマップに応じて変わり得る。
【0036】
比較すると、車両が自律モードである場合に、より小さい固定の安全境界が生成される。具体例として、自律モードにおける安全境界は、約1車線の幅を有し得る。別の例として、自律モードにおける安全境界は、軌道の各側まで0.5メートルあり得る。特定の安全境界の幅に対して特定の参照が行われているが、乗客及び車両の安全性を保証しつつ軌道からの何らかの逸脱を可能にするように、本明細書に記載される原理に従って他の幅が実装され得る。
【0037】
すなわち、検出モジュール220は、安全境界を生成しないようにプランナを構成する。したがって、ユーザ入力が自律モードで受信されないときに、プランナは、自律モードにおいてユーザ入力を自動入力と混合する必要がないため、ユーザ入力及び自動入力を混合するためにプランナによって使用される重みが調整される。
【0038】
別の例として、アーキテクチャ管理システム170は、目標動作モードに基づいて異なって統合アーキテクチャ180のコントローラを構成する。概して、コントローラは、車両100を操作する制御信号を生成する。異なる動作モードでは、コントローラは、異なる入力を受信する。したがって、異なる入力コマンドに関する車両コマンドへの変換は、動作モード間で異なる。具体的には、半自律モードでは、コントローラは、ユーザ入力コマンド及び自律的なものを受信して混合し得る。
【0039】
対照的に、自律モードでは、コントローラは、ユーザ入力コマンドを受信しない。したがって、アーキテクチャ管理システム170は、半自律モードの間にユーザ入力コマンド及び自動運転コマンドを車両コマンドへ混合及び変換するようにコントローラのパラメータを構成する。したがって、検出モジュール220は、コマンドに関連付けられる予測軌道に応じて、定められた量の重みをドライバコマンドに提供するようにパラメータでコントローラを構成する。比較すると、自律モードでは、アーキテクチャ管理システム170は、コマンドに関連付けられる予測軌道に応じて自動運転コマンドを提供するようにパラメータでコントローラを構成する。
【0040】
したがって、検出モジュール220は、入力に応答して、アーキテクチャ管理システム170によって車両100を制御する少なくとも1つの制御信号を生成するようにプロセッサ110を制御する命令を含む。これは、車両100が2つ以上のアーキテクチャ及び重複する構成要素を必要としないため有利である。代わりに、システムは、再構成可能な統合アーキテクチャ180を実装し、再構成可能な統合アーキテクチャ180は、特定の構成要素を選択的に有効にして目標動作モードに基づいて当該構成要素を再構成することによって、半自律モード又は自律モードのいずれかで使用され得る。
【0041】
したがって、統合アーキテクチャ180は、車両100が自律モードであるか半自律モードであるかに関わらず利用される。次いで、検出モジュール220からの出力は、通信モジュール230に提供され、通信モジュール230は、当該信号を統合アーキテクチャ180に渡す。上述のように、多数の車両は、制御信号を生成する2つ以上のアーキテクチャを利用する。統合アーキテクチャ180及びその制御は、2つ以上のアーキテクチャ又は重複するハードウェアを必要としない。
【0042】
図3は、半自律モードの間に車両100を制御する統合アーキテクチャ180の一実施形態を示す。半自律モードでは、統合アーキテクチャ180の特定の構成要素が無効である自律モードと比較して、統合アーキテクチャ180の全ての構成要素が有効であることに留意されたい。
【0043】
ここで、統合アーキテクチャ180の様々な構成要素に対する検討が行われる。統合アーキテクチャ180は、車両100についての軌道を生成するプランナ320を含む。上述のように、アーキテクチャ管理システム170は、半自律モードにおいて、1)車両100についての軌道及び2)軌道周囲の横の安全境界を出力するようにプランナ320を構成する。アーキテクチャ管理システム170は更に、ユーザインタラクション情報に関して制御信号をHMIマネージャ350に提供するようにプランナ320を構成し得る。すなわち、安全境界の指定と共に、アーキテクチャ管理システム170は、HMIマネージャ350によって受信されると、車両100が安全境界を超えて通過する場合をユーザに示すためにハプティックフィードバックを生成する制御信号を生成するようにプランナ320を構成する。自律モードで動作する場合、プランナ320は、このハプティックフィードバック制御信号を出力しないように構成される。
【0044】
統合アーキテクチャ180のコントローラ330は、車両100とのインタラクションを制御する2つの構成要素を含む。第1のものは、車両100を駆動するステアリング及び加速コマンドを生成するモデル予測制御(MPC)コントローラである。アーキテクチャ管理システム170は、半自律モードの間に、
図3に描写されるように、ドライバ入力に従う車両コマンドであるが、安全境界内に車両100を維持するようにドライバ入力を修正し得る車両コマンドを生成するようにコントローラ330を構成する。コントローラ330はまた、ハプティックコントローラを含み、当該ハプティックコントローラは、ドライバ及びMPCコントローラの両方によって出されるコマンドに基づいて、ドライバに与えられるハプティックフィードバックを決定する。
【0045】
ドライバ状態システム310は、ドライバの状態、意図、及び認識を推定する。ドライバ状態システム310は、カメラ、生体センサなどの任意の数のセンサを含み得る。ドライバ状態システム310の出力は、ドライバに伝えられる通知/警告通報を案内するのに役立つようにHMIマネージャ350に提供される。
【0046】
半自律マネージャ340は、システム構成を含む、半自律固有の機能を管理する構成要素を含む。具体的には、半自律マネージャ340は、ドライバ選択に基づいて様々な機能を有効又は無効にすることを含む、半自律車両制御についての構成オプションを処理する。半自律マネージャ340はまた、半自律機能を有効にするために、統合アーキテクチャ180が運行設計領域(ODD)要件を満たすかどうかを評価する。半自律マネージャ340は、ODD評価をユーザ固有の構成オプションと組み合わせて、全体的な半自律構成を決定し、この情報を統合アーキテクチャ180の他の構成要素に提供する。
【0047】
半自律マネージャ340は、人間-機械インターフェース(HMI)構成要素に共通のインターフェースである。具体的には、半自律マネージャ340は、プランナ320、コントローラ330、及びドライバ状態システム310の出力を取り込んで、必要に応じてHMI構成要素がドライバに通知/警告するために使用し得るリスクのセットを合成する。
【0048】
HMIマネージャ350は、半自律マネージャ340からの出力(すなわち、合成されたリスク)を受信する。当該出力に基づいて、HMIマネージャ350は、ハプティックフィードバックを構成して、ドライバに対するオーディオビジュアルキューを生成する。
【0049】
統合アーキテクチャ180のドライバコントローラ380は、ドライバ入力及びハプティックフィードバックデバイスについての統合ハブである。ドライバコントローラ380は、ハプティック作動要求を組み合わせて、所与のインターフェースデバイスについて適切なコマンドフォーマットに当該結果を変換する。ドライバコントローラ380はまた、インターフェースデバイスの状態に対するフィードバックを受信して、当該状態を統合アーキテクチャ180の他の構成要素に中継する。このフィードバックは、プラットフォームドライバ370から受信されるか、又は他のデバイスのインターフェースライブラリを介して直接的に受信される。
【0050】
反応パイプライン360は、セーフティクリティカルのシナリオで最後の防衛線を提供する専用の低レイテンシ構成要素である。反応パイプライン360は、低レイテンシの介入に対して基礎的な状況認識を提供する低レイテンシ知覚スタックを含む。したがって、反応パイプライン360への入力は、残りの統合アーキテクチャ180によって使用される全知覚スタックではなくセンサから直接的に生じる。反応パイプライン360の低レイテンシ動作スタックは、反応プランナと反応コントローラとを含む。
【0051】
反応コントローラによって出力される反応コマンドは、プラットフォームドライバ370に対して直接的に送信され、プラットフォームドライバ370は、コントローラ330の出力よりも当該反応コマンドを優先する。反応コマンドはまた、主要HMI構成要素が環境に関するドライバの認識及び理解を最大限にすることを可能にするために半自律マネージャ340に送信される。
【0052】
反応パイプライン360の低レイテンシ最小HMIドライバは、反応パイプライン360が行い得る任意の動作をドライバに対して迅速且つ確実に伝える。したがって、反応パイプライン360の出力は、残りの統合アーキテクチャ180によって使用されるHMIパイプラインを通過しない。代わりに、反応パイプライン360は、車両システム390におけるモノスピーカ及びLEDなどのロバストHMIデバイスの単純セットを駆動する。
【0053】
上述のように、アーキテクチャ管理システム170は、選択された目標動作モードについてどの構成要素が有効になるか、及び選択された目標動作モードに基づいて有効な構成要素が構成される方法を識別する。例えば、目標動作モードが半自律モードである場合、ドライバ状態システム310、反応パイプライン360、半自律マネージャ340、HMIマネージャ350、ドライバコントローラ380、プラットフォームドライバ370、プランナ320、及びコントローラ330は、
図3に描写されるように有効になる構成要素として識別される。
図4に描写されるように、統合アーキテクチャ180の当該構成要素のサブセットは、目標動作モードが自律モードである場合に有効になる統合アーキテクチャ180の構成要素として識別される。
【0054】
上述のように、両方のモードで有効である構成要素、すなわち、プランナ320、プラットフォームドライバ370、及びコントローラ330は、目標動作モードに基づいて異なって構成される。
図3に描写される半自律モードでは、車両コマンドは主に、ステアリングホイール、アクセルペダル、及び/又はブレーキペダルなどのユーザ入力デバイスからのユーザ入力に基づき得る。したがって、アーキテクチャ管理システム170は、当該入力を、自動運転コマンドなどの他のタイプの入力をブロックしつつ受信するようにコントローラ330を構成して、プラットフォームドライバ370によって実行可能な車両コマンドにユーザ入力を変換し、ドライバ入力コマンドによって意図されるように車両100を移動させる。
【0055】
アーキテクチャ管理システム170はまた、
図3に描写されるように、目標動作モードが半自律モードであることに基づいて、特定の方式でプランナ320を構成する。この例では、アーキテクチャ管理システム170は、上述のように、安全境界を有する軌道を出力するようにプランナ320を構成する。半自律モードでは、ドライバは、車両100に対して部分的に制御し得、例えば、道路障害物を回避するために、少しの程度であるが、計画軌道から離れる方向に逸脱するように車両を指図し得る。しかしながら、ドライバ入力の逸脱がドライバ、車両100、又は周囲環境を危険にし得る場合がある。したがって、アーキテクチャ管理システム170は、ドライバ、車両100、又は周囲環境に脅威をもたらすことなく車両100が安全に走行し得る、軌道から離れる方向に延びている横の領域を示す追加のパラメータを出力するようにプランナ320を構成する。したがって、アーキテクチャ管理システム170は、軌道だけでなく、ドライバ入力コマンドを自動運転コマンドに置き換えるトリガとして機能する安全境界も出力するようにプランナ320を構成する。
【0056】
したがって、アーキテクチャ管理システム170は、異なるモードについて異なる方法でプランナ320を動作させるためにプランナ320のパラメータを異なって構成する。様々な手法では、これは、アルゴリズムについての制限、及び異なる重みや制御変数などの入力データをアルゴリズムが異なって処理する方法を定める異なるパラメータを有する特定のアルゴリズムを構成することを含む。
【0057】
図4は、自律モードの間に車両100を制御する統合アーキテクチャ180の一実施形態を示す。上述のように、統合アーキテクチャ180は、目標動作モードに基づいて選択的に有効にされる構成要素のセットを含む。目標動作モードが自律モードである場合、アーキテクチャ管理システム170は、プラットフォームドライバ370、プランナ320、及びコントローラ330を、有効になる統合アーキテクチャ180の構成要素として識別する。アーキテクチャ管理システム170は、ドライバ状態システム310、反応パイプライン360、半自律マネージャ340、及び人間-機械インターフェース(HMI)マネージャ350を、無効になる統合アーキテクチャの構成要素として識別する。
図4では、無効である当該構成要素は、破線で識別される。したがって、
図3及び
図4は、同じ統合アーキテクチャ180が、目標動作モード毎に異なる構成を有し、アーキテクチャ管理システム170が、選択された目標動作モードに基づいて様々な構成要素を選択的に有効にすることを明確に描写する。
【0058】
上述のように、アーキテクチャ管理システム170は、両方のモードで有効である構成要素、すなわち、プランナ320、プラットフォームドライバ370、及びコントローラ330を目標動作モードに基づいて異なって構成する。例えば、統合アーキテクチャ180のコントローラ330は、車両コマンドを生成する。
図4に描写されるように目標動作モードが自律モードである場合、アーキテクチャ管理システム170は、プランナ320から自動運転コマンドを受信して、自動運転コマンドを車両コマンドに変換するようにコントローラ330を構成する。自動運転コマンドがドライバコマンドとは異なるとき、アーキテクチャ管理システム170は、自動運転コマンドのフォーマットを処理し、プラットフォームドライバ370によって実行可能な車両コマンドに当該自動運転コマンドを変換して車両100を移動させるように、コントローラ330を異なって構成する。
【0059】
したがって、アーキテクチャ管理システム170は、異なるモードについて異なる方法でコントローラ330を動作させるためにコントローラ330のパラメータを異なって構成する。様々な手法では、これは、アルゴリズムについての制限、及び異なる重みや制御変数などの入力データをアルゴリズムが異なって処理する方法を定める異なるパラメータを有する特定のアルゴリズムを構成することを含む。
【0060】
別の例として、アーキテクチャ管理システム170は、目標動作モードが自律モードであることに基づいてプランナ320を構成する。この例では、アーキテクチャ管理システム170は、安全境界を有しないか、又は車両が半自律モードである場合に生成される安全境界とは異なって構成される安全境界を有する、軌道を出力するようにプランナ320を構成する。すなわち、自動車両コマンドが計画軌道から逸脱するように車両100を指図しない自律モードで動作している場合、安全境界を出力する必要がない場合があるか、又は車両100が半自律モードである場合に生成される安全境界とは異なる構成を有する安全境界を出力することが望ましい場合がある。
【0061】
図3及び
図4に描写されるように、統合アーキテクチャ180は、車両100が自律モード及び半自律モード間でモードを変更する場合であっても同じままである。制御信号が生成されると、送信モジュール230は、制御信号を車両システム390に送信する。車両システム390は、車両システム140のうちの1つ以上を制御し得る自律運転モジュール160であり得る。車両システム140の制御は、1つ以上のアクチュエータ150を介したものであり得る。
【0062】
図5A~
図5Cは、半自律モードの間に車両100を制御する統合アーキテクチャ180の一実施形態を示す。具体的には、
図5A~
図5Cは、上述の構成要素のサブ構成要素をより詳細に示す統合アーキテクチャ180を描写する。
図3と関連して上述したように、半自律モードでは、統合アーキテクチャ180の各構成要素が有効であって、特定の構成要素、例えば、プランナ320及びコントローラ330は、当該構成要素が自律モードで有効である場合とは異なって構成されている。
【0063】
図6は、自律モードの間に車両100を制御する統合アーキテクチャ180の一実施形態を示す。
図5A~
図5Cと同様に、
図6は、前述の当該構成要素のサブ構成要素を描写する。
図6は、有効である当該構成要素のみを描写していることに留意されたい。したがって、ドライバ状態システム310、半自律マネージャ340、HMIマネージャ350、反応パイプライン360、及びドライバコントローラ380は、無効であるため
図6に描写されていない。
【0064】
図5A~
図5C及び
図6はまた、半自律モード及び自律モード間における統合アーキテクチャ180の追加の構成変更を描写する。具体的には、
図5A~
図5C及び
図6に描写されるように、コントローラ330は、ハプティックコントローラを含み、当該ハプティックコントローラは、入力コマンド(例えば、ステアリング、加速、及びブレーキのコマンド)に関してハプティックフィードバックをドライバに提供する。
図5A~
図5Cに描写されるように、目標動作モードが半自律モードである場合、アーキテクチャ管理システム170は、ハプティックコントローラを有効にしてハプティックフィードバックをドライバに提供し、例えば、ドライバ入力コマンドが安全境界の外側に車両100を引き出す場合を示す。比較すると、
図6に描写されるように、目標動作モードが自律モードである場合、車両100がユーザ入力無しで制御されていることによりハプティックフィードバックが必要でないため、アーキテクチャ管理システム170は、ハプティックコントローラを無効にする。したがって、アーキテクチャ管理システム170は、自律モードでコントローラ330を異なって構成する、すなわち、ハプティックコントローラが有効である半自律モードと比較すると、ハプティックコントローラは無効である。
【0065】
図7は、複数の異なるモードの間に車両100を制御する統合アーキテクチャ180を管理するフローチャートを示す。自律モード又は半自律モードで車両100を制御する追加の態様は、
図7に関連して述べられる。
図7は、複数の異なるモードで車両100を制御する統合アーキテクチャ180を管理することに関連付けられる方法700のフローチャートを示す。方法700は、
図1及び
図2のアーキテクチャ管理システム170の観点から述べられる。方法700は、アーキテクチャ管理システム170と組み合わされて述べられるが、方法700は、アーキテクチャ管理システム170内での実装に限定されるのではなく、方法700を実装し得るシステムの一例であることを理解されたい。
【0066】
710で、アーキテクチャ管理システム170は、車両100についての目標動作モードを識別する命令を受信する。例えば、ドライバは、ボタン、タッチスクリーンインターフェースなどのユーザインターフェース要素を介して、車両100についての目標動作モードを示し得る。目標動作モードのドライバ選択に対して特定の参照が行われているが、アーキテクチャ管理システム170は、他の方法で車両100についての目標動作モードを決定し得る。例えば、アーキテクチャ管理システム170は、車両100が自律モードであるべきか半自律モードであるべきかを決定するようにセンサシステム120を監視することが可能であり得る。いずれの場合も、アーキテクチャ管理システム170は、次いで、車両が目標動作モードである間に有効にされる統合アーキテクチャ180の利用可能な構成要素の第1のサブセットに対して、目標動作モードの識別情報をマッピングする。
【0067】
一例では、アーキテクチャ管理システム170のコントローラは、車両が移動している間に目標動作モードを決定する。すなわち、統合アーキテクチャ180の特定の構成要素及び有効な構成要素の構成に関する有効/無効の切り替えは、車両が経路に沿って運転されているときにその場で行われ得る。一手法では、統合アーキテクチャ180の特定の構成要素及び有効な構成要素の構成に関する有効化/無効化の切り替えは、システムスタートアップ時に行われ得る。
【0068】
720で、アーキテクチャ管理システム170は、目標動作モードが車両100についての現在の動作モードと異なるかどうかを決定する。これは、様々な方法で行われ得る。例えば、データストア240は、車両100の現在の動作モードを識別するレジスタを含み得る。別の例では、レジスタは、統合アーキテクチャ180の各ハードウェア構成要素の状態を示し得る。この例では、統合アーキテクチャ180の有効なハードウェア構成要素の組み合わせは、車両100の現在の動作モードを示す。一例では、検出モジュール220は、車両100をオフ状態から初期化すると構成要素を識別し得る。
【0069】
目標動作モードが現在の動作モードと同じである場合、アーキテクチャ管理システム170は、車両100についての目標動作モードに関して次に受信される識別情報を待機して、次に受信される目標動作モードが車両100についての現在の動作モードと異なるかどうかを決定する。
【0070】
比較すると、現在の動作モードが目標動作モードと異なる場合、アーキテクチャ管理システム170は、適切な動作を行い得る。具体的には、目標動作モードが現在の動作モードと異なる場合、730で、アーキテクチャ管理システム170は、目標動作モードに基づいて、有効にされる当該構成要素を識別する。目標動作モードが半自律モードである場合、有効な構成要素は、
図3及び
図5A~
図5Cに描写されるように、ドライバ状態システム310、プランナ320、半自律マネージャ340、コントローラ330、反応パイプライン360、HMIマネージャ350、プラットフォームドライバ370、及びドライバコントローラ380である。目標動作モードが自律モードである場合、有効な構成要素は、
図4及び
図6に描写されるように、プランナ320、コントローラ330、及びプラットフォームドライバ370である。
【0071】
740で、アーキテクチャ管理システム170は、有効になる構成要素についての構成パラメータ250を識別する。例えば、アーキテクチャ管理システム170は、目標動作モードに基づいてプランナ320及びコントローラ330についての構成パラメータ250を決定する。一手法では、検出モジュール220は、データストア240から構成パラメータ250を抽出する。すなわち、アーキテクチャ管理システム170は、データストア240を含み、データストア240は、ハードウェア構成要素が異なる動作モードで動作する方法を定める構成パラメータ250を保持する。したがって、検出モジュール220は、目標動作モードを識別して、データストア240から構成パラメータ250を抽出する。上述のように、プランナ320及びコントローラ330についての構成は、目標動作モードが半自律モードの場合、対、目標動作モードが自律モードの場合で異なる。
【0072】
有効になる構成要素及び当該構成要素の動作パラメータを識別することに加えて、アーキテクチャ管理システム170はまた、動作モード間の切り替えを検証し得る。具体的には、アーキテクチャ管理システム170は、目標動作モードに関連付けられる構成要素が機能していて、目標動作モードに関連付けられない構成要素が無効モードであることを決定することによって有効性確認を行い得る。例えば、
図5A~
図5C及び
図6における各構成要素は、有効性構成要素を含み得、当該有効性構成要素は、その状態を示す信号をアーキテクチャ管理システム170に返す。有効になる構成要素から返される任意の信号が、関連付けられた構成要素が動作不良であることを示す場合、アーキテクチャ管理システム170は、車両100の動作モードに関する有効化又は切り替えを妨げ得る。統合アーキテクチャ180の動作不良をもたらす動作モードに対する切り替えを妨げることに加えて、アーキテクチャ管理システム170は、エラー及び結果として生じる切り替え阻止に関する通報をユーザに提供し得る。検証の後、アーキテクチャ管理システム170は、有効性確認に基づいて構成要素の有効化を承認する。
【0073】
750で、アーキテクチャ管理システム170は、動作パラメータに基づいて有効な構成要素を構成する。すなわち、アーキテクチャ管理システム170は、アルゴリズムについての制限、及び異なる重み、制御変数、変換係数などの入力データをアルゴリズムが異なって処理する方法を定める異なるパラメータを有する特定のアルゴリズムを構成する。
【0074】
760で、アーキテクチャ管理システム170は、目標動作モードに従って、有効な構成要素を有効にする。具体的には、検出モジュール220は、関連付けられた構成パラメータ250によって定められる機能をハードウェア構成要素が実装するように、通信モジュール230を介して統合アーキテクチャ180にパラメータを送信する。
【0075】
したがって、本明細書の統合アーキテクチャ180及びアーキテクチャ管理システム170は、冗長な構成要素を除去して、車両についての選択された目標動作モードのパラダイム内で動作するように特定の構成要素を構成することによって、車両制御システムの効率を改善する。
【0076】
ここで、本明細書に開示されるシステム及び方法が動作し得る例示的な環境として
図1について充分詳細に述べる。一部の例では、車両100は、自律モード、1つ以上の半自律動作モード、及び/又はマニュアルモードを選択的に切り替えるように構成されている。このような切り替えは、現在既知であるか又は今後開発される好適な方法で実装され得る。「マニュアルモード」は、全て又は大部分の車両のナビゲーション及び/又は操作が、ユーザ(例えば、人間のドライバ)から受信される入力に従って行われることを意味する。
【0077】
1つ以上の実施形態では、車両100は、自律モードで動作可能である自律車両である。「自律モード」は、1つ以上の計算システムを使用して人間のドライバから最小限の入力又は入力無しで車両100を制御し、走行ルートに沿って車両100をナビゲート及び/又は操作することを指す。1つ以上の実施形態では、車両100は、高度に自動化されているか、又は完全に自動化されている。一実施形態では、車両100は、1つ以上の半自律動作モードで構成されており、当該半自律動作モードでは、1つ以上の計算システムは、走行ルートに沿った車両のナビゲーション及び/又は操作の一部を行い、車両操作者(すなわち、ドライバ)は、走行ルートに沿った車両100のナビゲーション及び/又は操作の一部を行うように入力を車両に提供する。
【0078】
車両100は、1つ以上のプロセッサ110を含み得る。1つ以上の機構では、プロセッサ110は、車両100のメインプロセッサであり得る。例えば、プロセッサ110は、電子制御ユニット(ECU)であり得る。車両100は、1つ以上のタイプのデータを記憶する1つ以上のデータストア115を含み得る。データストア115は、揮発性メモリ及び/又は不揮発性メモリを含み得る。好適なデータストア115の例には、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(リードオンリーメモリ)、PROM(プログラマブルリードオンリーメモリ)、EPROM(消去可能なプログラマブルリードオンリーメモリ)、EEPROM(電気的に消去可能なプログラマブルリードオンリーメモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、若しくは任意の他の好適な記憶媒体、又はこれらの任意の組み合わせが含まれる。データストア115は、プロセッサ110の構成要素であり得るか、又はデータストア115は、プロセッサ110で使用するためにプロセッサ110に対して動作可能に接続され得る。本明細書の全体を通して使用される「動作可能に接続」という用語は、直接的又は間接的な接続を含み、直接的な物理的接触がない接続を含み得る。
【0079】
1つ以上の機構では、1つ以上のデータストア115は、マップデータ116を含み得る。マップデータ116は、1つ以上の地理的エリアのマップを含み得る。一部の例では、マップデータ116は、1つ以上の地理的エリア内の道路、交通制御デバイス、道路マーク、構造物、特徴、及び/又は目印に関する情報又はデータを含み得る。マップデータ116は、任意の好適な形態であり得る。いくつかの例では、マップデータ116は、エリアの空中図を含み得る。いくつかの例では、マップデータ116は、エリアの地上写真を含み、360度の地上写真を含み得る。マップデータ116は、マップデータ116に含まれる1つ以上の事項に対する、及び/又はマップデータ116に含まれる他の事項に対する、測定値、寸法、距離、及び/又は情報を含み得る。マップデータ116は、道路形状に関する情報を有するデジタルマップを含み得る。マップデータ116は、高品質及び/又は高精細であり得る。
【0080】
1つ以上の機構では、マップデータ116は、1つ以上の地形マップ117を含み得る。地形マップ117は、1つ以上の地理的エリアの地面、地形、道路、地表、及び/又は他の特徴に関する情報を含み得る。地形マップ117は、1つ以上の地理的エリア内の高度データを含み得る。マップデータ116は、高品質及び/又は高精細であり得る。地形マップ117は、舗装された道路、舗装されていない道路、土地、及び地上面を定める他のものを含み得る1つ以上の地上面を定め得る。
【0081】
1つ以上の機構では、マップデータ116は、1つ以上の静止障害物マップ118を含み得る。静止障害物マップ118は、1つ以上の地理的エリア内に配置された1つ以上の静止障害物に関する情報を含み得る。「静止障害物」は、物理オブジェクトであり、その位置は、或る期間において変化しないか若しくは実質的に変化せず、及び/又はそのサイズは、或る期間において変化しないか若しくは実質的に変化しない。静止障害物の例には、木、建物、縁石、フェンス、手すり、中央線、電柱、像、モニュメント、標識、ベンチ、備品、郵便ポスト、大きい岩、丘が含まれる。静止障害物は、地面の高さよりも上に延びるオブジェクトであり得る。静止障害物マップ118に含まれる1つ以上の静止障害物は、場所データ、サイズデータ、寸法データ、材料データ、及び/又はそれに関連付けられた他のデータを有し得る。静止障害物マップ118は、1つ以上の静止障害物についての測定値、寸法、距離、及び/又は情報を含み得る。静止障害物マップ118は、高品質及び/又は高精細であり得る。静止障害物マップ118は、マップエリア内の変化を反映させるように更新され得る。
【0082】
1つ以上のデータストア115は、センサデータ119を含み得る。本文脈では、「センサデータ」は、当該センサに関する能力及び他の情報を含む、車両100が備えるセンサに関する任意の情報を意味する。以下で説明されるように、車両100は、センサシステム120を含み得る。センサデータ119は、センサシステム120の1つ以上のセンサに関するものであり得る。一例として、1つ以上の機構では、センサデータ119は、センサシステム120の1つ以上のLiDARセンサ124に関する情報を含み得る。
【0083】
一部の例では、マップデータ116及び/又はセンサデータ119の少なくとも一部は、車両100に配置され搭載された1つ以上のデータストア115に配置され得る。代替的に又は追加的に、マップデータ116及び/又はセンサデータ119の少なくとも一部は、車両100から離れて配置された1つ以上のデータストア115に配置され得る。
【0084】
上述のように、車両100は、センサシステム120を含み得る。センサシステム120は、1つ以上のセンサを含み得る。「センサ」は、何かを検出及び/又は検知することができる、任意のデバイス、構成要素、及び/又はシステムを意味する。1つ以上のセンサは、リアルタイムで検出及び/又は検知するように構成され得る。本明細書で使用される「リアルタイム」という用語は、行われる特定のプロセス若しくは決定についてユーザ若しくはシステムが充分迅速に検知するか、又はプロセッサが何らかの外部プロセスに追随することを可能にする処理応答性のレベルを意味する。
【0085】
センサシステム120が複数のセンサを含む機構では、センサは、互いに独立して機能し得る。代替的に、センサのうちの2つ以上は、互いに組み合わさって機能し得る。このような場合、2つ以上のセンサは、センサネットワークを形成し得る。センサシステム120及び/又は1つ以上のセンサは、車両100のプロセッサ110、データストア115、及び/又は別の要素(
図1に示される要素のうちのいずれかを含む)に対して動作可能に接続され得る。センサシステム120は、車両100の外部環境(例えば、近くの車両)の少なくとも一部に関するデータを取得し得る。
【0086】
センサシステム120は、任意の好適なタイプのセンサを含み得る。異なるタイプのセンサの様々な例が本明細書に記載される。しかしながら、実施形態は、記載される特定のセンサに限定されないことが理解されるであろう。センサシステム120は、1つ以上の車両センサ121を含み得る。車両センサ121は、車両100自体に関する情報を検出、決定、及び/又は検知し得る。1つ以上の機構では、車両センサ121は、例えば、慣性加速度などに基づいて、車両100の位置及び向きの変化を検出及び/又は検知するように構成され得る。1つ以上の機構では、車両センサ121は、1つ以上の加速度計、1つ以上のジャイロスコープ、慣性計測ユニット(IMU)、推測航法システム、グローバルナビゲーションサテライトシステム(GNSS)、グローバルポジショニングシステム(GPS)、ナビゲーションシステム147、及び/又は他の好適なセンサを含み得る。車両センサ121は、車両100の1つ以上の特徴を検出及び/又は検知するように構成され得る。1つ以上の機構では、車両センサ121は、車両100の現在の速度を決定するための速度計を含み得る。
【0087】
代替的に又は追加的に、センサシステム120は、運転環境データを取得及び/又は検知するように構成された1つ以上の環境センサ122を含み得る。「運転環境データ」は、自律車両が配置された外部環境又はその1つ以上の部分に関するデータ又は情報を含む。例えば、1つ以上の環境センサ122は、車両100の外部環境の少なくとも一部における障害物、及び/又は当該障害物に関する情報/データを検出、定量化、及び/又は検知するように構成され得る。当該障害物は、静止オブジェクト及び/又は動的オブジェクトであり得る。1つ以上の環境センサ122は、例えば、車線マーカ、標識、交通信号灯、交通標識、車線、横断歩道、車両100に近い縁石、路上外のオブジェクトなどの、車両100の外部環境における他のものを検出、測定、定量化、及び/又は検知するように構成され得る。
【0088】
センサシステム120のセンサの様々な例が本明細書に記載される。例示的なセンサは、1つ以上の環境センサ122及び/又は1つ以上の車両センサ121の一部であり得る。しかしながら、実施形態は、記載される特定のセンサに限定されないことが理解されるであろう。
【0089】
一例として、1つ以上の機構では、センサシステム120は、1つ以上のレーダセンサ123、1つ以上のLiDARセンサ124、1つ以上のソナーセンサ125、及び/又は1つ以上のカメラ126を含み得る。1つ以上の機構では、1つ以上のカメラ126は、ハイダイナミックレンジ(HDR)カメラ又は赤外線(IR)カメラであり得る。
【0090】
車両100は、入力システム130を含み得る。「入力システム」は、情報/データを機械に入力することを可能にする、任意のデバイス、構成要素、システム、要素、若しくは機構、又はこれらのグループを含む。入力システム130は、車両乗客(例えば、ドライバ又は乗客)から入力を受信し得る。車両100は、出力システム135を含み得る。「出力システム」は、情報/データを車両乗客(例えば、人、車両乗客など)に提示することを可能にする、任意のデバイス、構成要素、若しくは機構、又はこれらのグループを含む。
【0091】
車両100は、1つ以上の車両システム140を含み得る。1つ以上の車両システム140の様々な例が
図1に示されている。しかしながら、車両100は、より多くの車両システム、より少ない車両システム、又は異なる車両システムを含み得る。特定の車両システムが別々に定められているが、システム又はその一部の各々又はいずれかは、車両100内でハードウェア及び/又はソフトウェアを介して他のように組み合わされ得るか又は分離され得ることを理解されたい。車両100は、推進システム141、ブレーキシステム142、ステアリングシステム143、スロットルシステム144、トランスミッションシステム145、信号伝達システム146、及び/又はナビゲーションシステム147を含み得る。これらのシステムの各々は、現在既知であるか又は今後開発される、1つ以上のデバイス、構成要素、及び/又はこれらの組み合わせを含み得る。
【0092】
ナビゲーションシステム147は、車両100の地理的場所を決定し、及び/又は車両100についての走行ルートを決定するように構成された、現在既知であるか又は今後開発される、1つ以上のデバイス、アプリケーション、及び/又はこれらの組み合わせを含み得る。ナビゲーションシステム147は、車両100についての走行ルートを決定するための1つ以上のマッピングアプリケーションを含み得る。ナビゲーションシステム147は、グローバルポジショニングシステム、ローカルポジショニングシステム、又はジオロケーションシステムを含み得る。
【0093】
プロセッサ110、アーキテクチャ管理システム170、及び/又は自動運転モジュール160は、様々な車両システム140及び/又はその個々の構成要素と通信するように動作可能に接続され得る。例えば、
図1に戻って、プロセッサ110及び/又は自動運転モジュール160は、様々な車両システム140から情報を送信及び/又は受信して車両100の移動、速度、操作、進行方向、方向などを制御するように通信し得る。プロセッサ110、アーキテクチャ管理システム170、及び/又は自動運転モジュール160は、当該車両システム140の一部又は全てを制御し得、したがって、部分的又は完全に自律的であり得る。
【0094】
プロセッサ110、アーキテクチャ管理システム170、及び/又は自動運転モジュール160は、様々な車両システム140及び/又はその個々の構成要素と通信するように動作可能に接続され得る。例えば、
図1に戻って、プロセッサ110、アーキテクチャ管理システム170、及び/又は自動運転モジュール160は、様々な車両システム140から情報を送信及び/又は受信して車両100の移動、速度、操作、進行方向、方向などを制御するように通信し得る。プロセッサ110、アーキテクチャ管理システム170、及び/又は自動運転モジュール160は、これらの車両システム140の一部又は全てを制御し得る。
【0095】
プロセッサ110、アーキテクチャ管理システム170、及び/又は自動運転モジュール160は、車両システム140及び/又はその構成要素のうちの1つ以上を制御することによって、車両100のナビゲーション及び/又は操作を制御するように動作可能であり得る。例えば、自律モードで動作しているとき、プロセッサ110、アーキテクチャ管理システム170、及び/又は自動運転モジュール160は、車両100の方向及び/又は速度を制御し得る。プロセッサ110、アーキテクチャ管理システム170、及び/又は自動運転モジュール160は、(例えば、エンジンに提供される燃料の供給を増加させることによって)車両100を加速させ、(例えば、エンジンへの燃料の供給を減少させること及び/若しくはブレーキをかけることによって)車両100を減速させ、並びに/又は(例えば、前方2輪を旋回させることによって)車両100の方向を変更させ得る。本明細書で使用される「させる」又は「させること」は、直接的又は間接的な方法のいずれかで、或る事象若しくは動作を、起こさせる(make)、起こさせる(force)、起こさせる(compel)、起こすように指図する、起こすように命令する、起こすように指示する、及び/若しくは当該事象若しくは動作が起こるのを可能にするか、又は当該事象若しくは動作を、少なくともこのような事象若しくは動作が起き得る状態になるように、させる(make)、させる(force)、させる(compel)、指図する、命令する、指示する、及び/若しくは当該事象若しくは動作が少なくとも当該状態になるのを可能にすることを意味する。
【0096】
車両100は、1つ以上のアクチュエータ150を含み得る。アクチュエータ150は、プロセッサ110及び/又は自動運転モジュール160からの信号又は他の入力の受信に応じて、車両システム140又はその構成要素のうちの1つ以上を修正、調整、及び/又は変更するように動作可能な任意の要素又は要素の組み合わせであり得る。任意の好適なアクチュエータが使用され得る。例えば、1つ以上のアクチュエータ150は、単にいくつかの可能性を挙げれば、モータ、空気圧アクチュエータ、液圧ピストン、リレー、ソレノイド、及び/又は圧電アクチュエータを含み得る。
【0097】
車両100は、1つ以上のモジュールを含み得、その少なくとも一部が本明細書に記載される。モジュールは、プロセッサ110によって実行されると、本明細書に記載される様々なプロセスのうちの1つ以上を実装するコンピュータ可読プログラムコードとして実装され得る。モジュールのうちの1つ以上は、プロセッサ110の構成要素であり得るか、又はモジュールのうちの1つ以上は、プロセッサ110が動作可能に接続された他の処理システム上で実行され得、及び/若しくは当該他の処理システム間で分散され得る。モジュールは、1つ以上のプロセッサ110によって実行可能な命令(例えば、プログラムロジック)を含み得る。代替的に又は追加的に、1つ以上のデータストア115は、このような命令を含み得る。
【0098】
1つ以上の機構では、本明細書に記載されるモジュールのうちの1つ以上は、人工知能要素又は演算知能要素、例えば、ニューラルネットワーク、ファジーロジック、又は他の機械学習アルゴリズムを含み得る。更に、1つ以上の機構では、モジュールのうちの1つ以上は、本明細書に記載される複数のモジュール間で分散され得る。1つ以上の機構では、本明細書に記載されるモジュールのうちの2つ以上は、単一のモジュールに組み合わされ得る。
【0099】
車両100は、1つ以上の自律運転モジュール160を含み得る。自動運転モジュール160は、センサシステム120、並びに/又は車両100及び/若しくは車両100の外部環境に関する情報を取り込むことが可能な任意の他のタイプのシステムからデータを受信するように構成され得る。1つ以上の機構では、自動運転モジュール160は、当該データを使用して、1つ以上の運転シーンモデルを生成し得る。自動運転モジュール160は、車両100の位置及び速度を決定し得る。自動運転モジュール160は、障害物の場所、障害物、又は交通標識、木、低木、近隣車両、歩行者などを含む他の環境的特徴を決定し得る。
【0100】
自動運転モジュール160は、プロセッサ110及び/又は本明細書に記載されるモジュールのうちの1つ以上による使用のために車両100の外部環境内の障害物についての場所情報を受信及び/又は決定して、複数の衛星からの信号又は任意の他のデータ及び/若しくは信号に基づいて、車両100の位置及び向き、グローバル座標における車両位置を推定するように構成され得、当該任意の他のデータ及び/又は信号は、車両100の現在の状態を決定するために、又はマップを作成する際若しくはマップデータに対する車両100の位置を決定する際のいずれかで使用される車両100の環境に対する車両100の位置を決定するために使用され得る。
【0101】
自動運転モジュール160は、センサシステム120によって取得されるデータ、運転シーンモデル、及び/又は構成パラメータ250からの決定などの任意の他の好適なソースからのデータに基づいて、走行経路、車両100についての現在の自律運転操作、将来の自律運転操作、及び/又は現在の自律運転操作に対する修正を決定するように、独立して又はアーキテクチャ管理システム170と組み合わされて構成され得る。概して、自動運転モジュール160は、先進運転支援(ADAS)機能、半自律機能、及び完全自律機能を含む様々なレベルの自動化を実装するように機能し得る。「運転操作」は、車両の移動に影響を与える1つ以上の動作を意味する。運転操作の例には、単にいくつかの可能性を挙げれば、加速、減速、ブレーキ、旋回、車両100の横の移動、走行車線の変更、走行車線への合流、及び/又は後退が含まれる。自動運転モジュール160は、決定された運転操作を実装するように構成され得る。自動運転モジュール160は直接的又は間接的に、このような自律運転操作を実装させ得る。本明細書で使用される「させる」又は「させること」は、直接的又は間接的な方法のいずれかで、或る事象若しくは動作を、起こさせる、起こすように命令する、起こすように指示する、及び/若しくは当該事象若しくは動作が起こるのを可能にするか、又は当該事象若しくは動作を、少なくともこのような事象若しくは動作が起き得る状態になるようにさせる、命令する、指示する、及び/若しくは当該事象若しくは動作が少なくとも当該状態になることを可能にすることを意味する。自動運転モジュール160は、様々な車両機能を実行し、並びに/又は車両100若しくはその1つ以上のシステム(例えば、車両システム140のうちの1つ以上)にデータを送信し、そこからデータを受信し、それと相互作用し、及び/若しくはそれを制御するように構成され得る。
【0102】
詳細な実施形態が本明細書に開示されている。しかしながら、開示された実施形態は単なる例として意図されることを理解されたい。したがって、本明細書に開示される特定の構造的及び機能的な詳細は、限定的なものとして解釈されるべきではなく、単に、特許請求の範囲に対する根拠として、及び実質的に任意の適切な詳細構造で本明細書の態様を種々に採用するように当業者に教示する代表的な根拠として解釈されるべきである。更に、本明細書で使用される用語及びフレーズは、限定的であるように意図されるのではなく、むしろ、可能性のある実装態様の理解可能な説明を提供するように意図される。様々な実施形態が
図1~
図7に示されているが、当該実施形態は、図示された構造又は用途に限定されない。
【0103】
図におけるフローチャート及びブロック図は、様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の可能性のある実装態様のアーキテクチャ、機能、及び動作を示す。この点で、フローチャート又はブロック図における各ブロックは、指定された論理機能を実装する1つ以上の実行可能命令を備える、モジュール、セグメント、又はコードの一部を表し得る。一部の代替的な実装態様では、ブロックに記される機能は、図に記される順序と関係なく生じ得ることにも留意されたい。例えば、連続して示される2つのブロックは実際、実質的に同時に実行され得るか、又はブロックは時には、関連する機能に応じて、逆順で実行され得る。
【0104】
上述のシステム、構成要素、及び/又はプロセスは、ハードウェア又はハードウェア及びソフトウェアの組み合わせで実現でき、1つの処理システム内の中央集中方式、又は様々な要素がいくつかの相互接続された処理システムにわたって広がっている分散方式で実現できる。本明細書に記載される方法を実行するように構成された任意の種類の処理システム又は別の装置が好適である。ハードウェア及びソフトウェアの典型的な組み合わせは、ロード及び実行されているとき、処理システムが本明細書に記載される方法を実行するように処理システムを制御するコンピュータ使用可能プログラムコードを有する処理システムであり得る。システム、構成要素、及び/又はプロセスはまた、本明細書に記載される方法及びプロセスを行うために機械によって実行可能な命令のプログラムを有体的に具現化した、機械によって読み取り可能な、コンピュータプログラム製品又は他のデータプログラム記憶デバイスなどのコンピュータ可読ストレージに組み込まれ得る。これらの要素はまた、本明細書に記載される方法の実装態様を可能にする全ての機能を備え、且つ処理システムでロードされると当該方法を実行することができる、アプリケーション製品に組み込まれ得る。
【0105】
更に、本明細書に記載される機構は、コンピュータ可読プログラムコードが具現化、例えば記憶された1つ以上のコンピュータ可読媒体において具現化されたコンピュータプログラム製品の形態を取り得る。1つ以上のコンピュータ可読媒体の任意の組み合わせが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。「コンピュータ可読記憶媒体」というフレーズは、非一時的記憶媒体を意味する。コンピュータ可読記憶媒体は、例えば、電子、磁気、光、電磁気、赤外線、若しくは半導体のシステム、装置、若しくはデバイス、又は以上の任意の好適な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、以下のもの、すなわち、携帯型コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM若しくはフラッシュメモリ)、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタルバーサタイルディスク(DVD)、光記憶デバイス、磁気記憶デバイス、又は以上の任意の好適な組み合わせを含む。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又はこれらとの関連で使用されるプログラムを含み得るか又は記憶し得る任意の有体の媒体であり得る。
【0106】
概して、本明細書で使用されるモジュールは、特定のタスクを行うか、又は特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。更なる態様では、メモリは概して、記されたモジュールを記憶する。モジュールに関連付けられたメモリは、プロセッサ内に組み込まれたバッファ若しくはキャッシュ、RAM、ROM、フラッシュメモリ、又は別の好適な電子記憶媒体であり得る。また更なる態様では、本開示によって構想されるモジュールは、特定用途向け集積回路(ASIC)として、システムオンチップ(SoC)のハードウェア構成要素として、プログラマブルロジックアレイ(PLA)として、又は開示された機能を行うために定められた構成セット(例えば、命令)が組み込まれた別の好適なハードウェア構成要素として実装される。
【0107】
コンピュータ可読媒体上で具現化されるプログラムコードは、無線、有線、光ファイバ、ケーブル、RFなど、又は以上の任意の好適な組み合わせを含むが、これらに限定されない、任意の適切な媒体を使用して送信され得る。本機構の態様についての動作を実行するコンピュータプログラムコードは、1つ以上のプログラミング言語の任意の組み合わせで書かれ得、当該1つ以上のプログラミング言語は、Java(登録商標)、Smalltalk、C++、又は同種のものなどのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む。プログラムコードは、ユーザのコンピュータ上で完全に実行され得るか、ユーザのコンピュータ上で部分的に実行され得るか、スタンドアロンソフトウェアパッケージとして実行され得るか、ユーザのコンピュータ上で部分的に且つリモートコンピュータ上で部分的に実行され得るか、又はリモートコンピュータ若しくはサーバ上で完全に実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)若しくはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続され得るか、又は(例えば、インターネットサービスプロバイダを使用してインターネットを通じて)外部コンピュータへの接続が行われ得る。
【0108】
本明細書で使用される「或る(a)」及び「或る(an)」という用語は、1つ又は複数として定義される。本明細書で使用される「複数」という用語は、2つ又は2つよりも多いものとして定義される。本明細書で使用される「別の」という用語は、少なくとも第2の又はより多くのものとして定義される。本明細書で使用される「含む」及び/又は「有する」という用語は、備える(すなわち、オープンランゲージ)として定義される。本明細書で使用される「...及び...のうちの少なくとも1つ」というフレーズは、関連付けられた列挙事項のうちの1つ以上に関する任意の全ての可能性のある組み合わせを指し、当該組み合わせを包含する。一例として、「A、B、及びCのうちの少なくとも1つ」というフレーズは、Aのみ、Bのみ、Cのみ、又はそれらの任意の組み合わせ(例えば、AB、AC、BC、若しくはABC)を含む。
【0109】
本明細書における態様は、趣旨又はその本質的属性から逸脱することなく他の形態で具現化され得る。したがって、ここでの範囲を示すものとして、以上の明細書ではなく以下の特許請求の範囲を参照すべきである。
【外国語明細書】