(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-30
(54)【発明の名称】運転支援システムのための運転エンベロープの定義
(51)【国際特許分類】
B60W 50/00 20060101AFI20231023BHJP
【FI】
B60W50/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023516093
(86)(22)【出願日】2021-10-06
(85)【翻訳文提出日】2023-05-09
(86)【国際出願番号】 US2021071737
(87)【国際公開番号】W WO2022082146
(87)【国際公開日】2022-04-21
(32)【優先日】2020-10-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】515301041
【氏名又は名称】アティエヴァ、インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】アバダナム、シャラス
(72)【発明者】
【氏名】ヘイルング、トール アクセル ノットランド
(72)【発明者】
【氏名】リー、ジヌ
【テーマコード(参考)】
3D241
【Fターム(参考)】
3D241BB16
3D241CE03
3D241DC02Z
3D241DC25Z
(57)【要約】
第1の人物に関連付けられている第1の車両のセンサからセンサデータを受信する段階、前記センサデータは、前記センサによって生成される;機械学習アルゴリズムを前記センサデータに適用して、運転支援システムのための運転エンベロープを定義する段階、前記運転支援システムは、第2の車両に導入されている;及び前記第2の車両に導入された前記運転支援システムに前記運転エンベロープを提供する段階を備えるコンピュータ実装方法。
【特許請求の範囲】
【請求項1】
第1の人物に関連付けられている第1の車両のセンサからセンサデータを受信する段階、前記センサデータは、前記センサによって生成される;
前記センサデータに機械学習アルゴリズムを適用して、運転支援システムのための運転エンベロープを定義する段階、前記運転支援システムは、第2の車両に導入されている;及び
前記第2の車両に導入された前記運転支援システムに前記運転エンベロープを提供する段階
を備えるコンピュータ実装方法。
【請求項2】
前記運転支援システムは、少なくとも1つの構成パラメータを使用して動作し、前記運転支援システムは、前記運転エンベロープを使用して前記構成パラメータのための値を決定する、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記構成パラメータは、前記運転支援システムの少なくとも1つの状況を制御し、前記状況は、前記第2の車両及びオブジェクト間の距離、前記第2の車両の速度、前記第2の車両の軌道、又は前記第2の車両の加速度のうちの1又は複数を含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記機械学習アルゴリズムを適用する段階は、
前記センサデータにおける少なくとも1つのイベントを識別する段階;及び
前記識別されたイベントにタグを付与する段階
を含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記運転支援システムは、前記第1の車両にも導入されており、前記少なくとも1つのイベントを識別する段階は、前記センサデータが前記センサによって生成されたときの、前記第1の車両に導入された前記運転支援システムの動作の自律運転レベルを考慮する段階をさらに含む、又は、
前記運転支援システムは、前記第1の車両にも導入されており、前記少なくとも1つのイベントを識別する段階は、前記運転支援システムによって実行される、及び/又は、
前記少なくとも1つのイベントを識別する段階は、前記第1の人物が、前記第1の車両に導入された前記運転支援システムから前記第1の車両の制御を引き継ぐ場合を考慮する段階をさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
ある期間にわたって前記センサによって生成された追加のセンサデータに基づいて、前記運転エンベロープのバッチ更新を実行する段階をさらに備える、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記センサデータは、前記第1の人物が前記第1の車両を運転している間に受信される、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
前記センサデータは、前記運転支援システムが前記第1の車両を少なくとも部分的に制御している間に受信され、前記センサデータは、前記第1の人物からの前記運転支援システムに対するフィードバックを含む、請求項1から7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記フィードバックは、前記第1の人物が前記運転支援システムから制御を少なくとも部分的に引き継ぐことを含む、又は、
前記フィードバックは、前記第1の人物による前記運転支援システムに対する入力を含む、請求項8に記載のコンピュータ実装方法。
【請求項10】
前記運転支援システムは、前記第2の車両に対するアクションの実行において前記運転エンベロープを使用する、請求項1から9のいずれか一項に記載のコンピュータ実装方法。
【請求項11】
前記第1の人物からの、前記運転支援システムによる前記アクションの実行についてのユーザフィードバックを受信する段階、及び、前記ユーザフィードバックに基づいて前記運転支援システムの構成パラメータのための値を更新する段階をさらに備える、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記ユーザフィードバックは、前記第1の人物が、前記運転支援システムから制御を少なくとも部分的に引き継ぐことを含む、又は、
前記第1の人物に前記ユーザフィードバックを促す段階をさらに備え、前記ユーザフィードバックは、前記促す段階に応答して受信される、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記運転エンベロープが前記第2の車両に導入された前記運転支援システムに提供されるとき、前記第2の車両は、第2の人物によって運転されている、請求項10から12のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
前記第1の車両に関するコンテキストデータを受信する段階をさらに備え、前記コンテキストデータは、前記センサデータが前記センサによって生成されたときの前記第1の車両に関係するものであり、前記コンテキストデータは、定量的又は定性的外生メトリックを含む、請求項1から13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
前記第2の車両は、前記第1の車両である、請求項1から14のいずれか一項に記載のコンピュータ実装方法。
【請求項16】
前記第2の車両に導入された前記運転支援システムは、構成マネージャにクエリを提供し、前記運転エンベロープは、前記クエリに応答して前記構成マネージャによって前記運転支援システムに提供される、請求項1から15のいずれか一項に記載のコンピュータ実装方法。
【請求項17】
前記第2の車両に導入された前記運転支援システムは、前記第2の車両に対してアクションを取る前に、構成マネージャに前記クエリを提供し、前記運転エンベロープは、前記アクションの状況を指定する、請求項16に記載のコンピュータ実装方法。
【請求項18】
前記第2の車両に導入された前記運転支援システムは、前記アクションを取る前に、前記アクションを取る前に前記構成マネージャに前記クエリを提供するか否かを決定する、請求項17に記載のコンピュータ実装方法。
【請求項19】
前記第2の車両に導入された前記運転支援システムは、前記アクションを取る前に前記構成マネージャに前記クエリを提供するか否かを決定する際、前記第2の車両についてのリアルタイムデータを考慮する、請求項18に記載のコンピュータ実装方法。
【請求項20】
前記運転エンベロープは、前記第1の人物による前記運転支援システムからの引き継ぎが成功する可能性を増加させるように定義される、請求項1から19のいずれか一項に記載のコンピュータ実装方法。
【請求項21】
プロセッサに、
第1の人物に関連付けられている第1の車両のセンサからセンサデータを受信する手順、前記センサデータは前記センサによって生成される;
前記センサデータに機械学習アルゴリズムを適用して、運転支援システムのための運転エンベロープを定義する手順、前記運転支援システムは、第2の車両に導入されており、前記運転エンベロープは、前記第1の人物による前記運転支援システムからの引き継ぎが成功する可能性を増加させるように定義される;及び
前記第2の車両に導入された前記運転支援システムに前記運転エンベロープを提供する手順
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2020年10月15日に出願された、「DEFINING DRIVING ENVELOPE FOR ASSISTED-DRIVING SYSTEM」と題する米国特許出願第16/949,158号に対する優先権を主張し、その開示は、参照によりその全体が本明細書に援用される。
【0002】
本文書は、運転支援システムのための運転エンベロープの定義に関する。
【背景技術】
【0003】
車両輸送は、現在の社会に定着している。多くの国における人口の大部分は、1又は複数の種類の車両のための運転免許を有するか、又はさもなければそれらの車両を操縦する能力がある。そのような個人が運転することのできる多くの異なるタイプの車両が存在する一方で、多くの運転者の運転スタイルも互いに異なる。交通する人は誰でも、運転スキル、運転プレファレンス、及び運転プラクティスに関して運転者間の顕著なばらつきを観察し得る。全く同じ運転者は2人といない。
【発明の概要】
【0004】
第1の人物に関連付けられている第1の車両のセンサからセンサデータを受信する段階、前記センサデータは、前記センサによって生成される;前記センサデータに機械学習アルゴリズムを適用して、運転支援システムのための運転エンベロープを定義する段階、前記運転支援システムは、第2の車両に導入されている;及び前記第2の車両に導入された前記運転支援システムに前記運転エンベロープを提供する段階を備えるコンピュータ実装方法。
【0005】
実装は、以下の特徴のうちいのいずれか又は全てを含むことができる。前記運転支援システムは、少なくとも1つの構成パラメータを使用して動作し、前記運転支援システムは、前記運転エンベロープを使用して前記構成パラメータのための値を決定する。前記構成パラメータは、前記運転支援システムの少なくとも1つの状況を制御し、前記状況は、前記第2の車両及びオブジェクト間の距離、前記第2の車両の速度、前記第2の車両の軌道、又は前記第2の車両の加速度のうちの1又は複数を含む。前記機械学習アルゴリズムを適用する段階は、前記センサデータにおける少なくとも1つのイベントを識別する段階;及び前記識別されたイベントにタグを付与する段階を含む。前記運転支援システムは、前記第1の車両にも導入されており、前記少なくとも1つのイベントを識別する段階は、前記センサデータが前記センサによって生成されたときの、前記第1の車両に導入された前記運転支援システムの動作の自律運転レベルを考慮する段階をさらに含む。前記運転支援システムは、前記第1の車両にも導入されており、前記少なくとも1つのイベントを識別する段階は、前記運転支援システムによって実行される。前記少なくとも1つのイベントを識別する段階は、前記第1の人物が、前記第1の車両に導入された前記運転支援システムから前記第1の車両の制御を引き継ぐ場合を考慮する段階をさらに含む。前記コンピュータ実装方法は、ある期間にわたって前記センサによって生成された追加のセンサデータに基づいて、前記運転エンベロープのバッチ更新を実行する段階をさらに備える。前記センサデータは、前記第1の人物が前記第1の車両を運転している間に受信される。前記センサデータは、前記運転支援システムが前記第1の車両を少なくとも部分的に制御している間に受信され、前記センサデータは、前記第1の人物から前記運転支援システムに対するフィードバックを含む。前記フィードバックは、前記第1の人物が前記運転支援システムから制御を少なくとも部分的に引き継ぐことを含む。前記フィードバックは、前記第1の人物による前記運転支援システムに対する入力を含む。前記運転支援システムは、前記第2の車両に対するアクションを実行する際に運転エンベロープを使用する。前記コンピュータ実装方法は、前記第1の人物からの、前記運転支援システムによる前記アクションの実行についてのユーザフィードバックを受信する段階、及び、前記ユーザフィードバックに基づいて前記運転支援システムの構成パラメータのための値を更新する段階をさらに備える。前記ユーザフィードバックは、前記第1の人物が前記運転支援システムから制御を少なくとも部分的に引き継ぐことを含む。前記コンピュータ実装方法は、前記第1の人物に前記ユーザフィードバックを促す段階をさらに備え、前記ユーザフィードバックは、前記促す段階に応答して受信される。前記運転エンベロープが前記第2の車両に導入された前記運転支援システムに提供される場合、前記第2の車両は、第2の人物によって運転されている。前記コンピュータ実装方法は、前記第1の車両に関するコンテキストデータを受信する段階をさらに備え、前記コンテキストデータは、前記センサデータが前記センサによって生成されたときの前記第1の車両に関係するものであり、前記コンテキストデータは、定量的又は定性的外生メトリックを含む。前記第2の車両は、前記第1の車両である。前記第2の車両に導入された前記運転支援システムは、構成マネージャにクエリを提供し、前記運転エンベロープは、前記クエリに応答して前記構成マネージャによって前記運転支援システムに提供される。前記第2の車両に導入された前記運転支援システムは、前記第2の車両に対してアクションを取る前に、構成マネージャに前記クエリを提供し、前記運転エンベロープは、前記アクションの状況を指定する。前記第2の車両に導入された前記運転支援システムは、前記アクションを取る前に、前記アクションを取る前に前記構成マネージャに前記クエリを提供するか否かを決定する。前記第2の車両に導入された前記運転支援システムは、前記アクションを取る前に前記構成マネージャに前記クエリを提供するか否かを決定する際、前記第2の車両についてのリアルタイムデータを考慮する。前記運転エンベロープは、前記第1の人物による前記運転支援システムからの引き継ぎが成功する可能性を増加させるように定義される。
【0006】
第2の態様では、コンピュータプログラム製品が、非一時的記憶媒体において有形に具現化され、前記コンピュータプログラム製品は、実行されるとプロセッサに動作を実行させる命令を含み、前記動作は、第1の人物に関連付けられている第1の車両のセンサからセンサデータを受信する手順、前記センサデータは前記センサによって生成される;前記センサデータに機械学習アルゴリズムを適用して、運転支援システムのための運転エンベロープを定義する手順、前記運転支援システムは、第2の車両に導入されており、前記運転エンベロープは、前記第1の人物による前記運転支援システムからの引き継ぎが成功する可能性を増加させるように定義される;及び、前記第2の車両に導入された前記運転支援システムに前記運転エンベロープを提供する手順を含む。
【図面の簡単な説明】
【0007】
【
図1】運転エンベロープを定義するシステムの一例を示している。
【0008】
【
図2】運転エンベロープを定義するためのデータの収集の一例のフローチャートを示している。
【0009】
【
図3】運転エンベロープの定義の一例のフローチャートを示している。
【0010】
【
図4】車両の運転支援システムによって使用されている運転エンベロープの一例のフローチャートを示している。
【0011】
【
図5A】車両のための運転エンベロープの作成、及び車両に対するアクションの実行におけるその使用の例を示している。
【
図5B】車両のための運転エンベロープの作成、及び車両に対するアクションの実行におけるその使用の例を示している。
【0012】
【
図6】車両に対するアクションの実行における運転エンベロープの使用の別の例を示している。
【0013】
【
図7】車両に対するアクションの実行における運転エンベロープの使用の別の例を示している。
【0014】
【
図8A】車両に対するアクションの実行における運転エンベロープの使用の他の例を示している。
【
図8B】車両に対するアクションの実行における運転エンベロープの使用の他の例を示している。
【0015】
【
図9】車両に対するアクションの実行における運転エンベロープの使用の別の例を示している。
【0016】
【
図10】本開示の態様を実施するために使用することができるコンピューティングデバイスの例示的なアーキテクチャを示している。
【0017】
様々な図面における同様の参照符号は、同様の要素を示す。
【発明を実施するための形態】
【0018】
本文書は、運転支援システムのための運転エンベロープを定義するためのシステム及び技法の例を記載している。運転エンベロープは、例えば、運転者が、運転支援システムによって実行されているもの等の動的運転タスク又は非動的運転タスクのためのフォールバックとなることを要求される状況において、安全性を改善する目的で定義することができる。例えば、SAE Internationalによって公開されているJ3016分類体系において、いわゆるSAEレベル2及びレベル3モードが定義されており、これは、自動化システムの未解決の不具合が存在する場合、自動化システムからの引き継ぎを運転者に頼っている。このような及び他のシナリオは、このとき運転者が車両の制御を引き継いで維持することが実際に可能であるとの暗黙の前提に基づくものであるが、これは常に有効な前提とは限らない可能性がある。本明細書に記載のシステム及び技法は、運転シナリオのための状況及びコンテキストを推論し、オートメーションが無い状態で運転者が操作するものと同様又は同一である運転エンベロープを計算することができる。このような運転エンベロープを使用して、運転支援システムは、運転者が車両の制御を引き継ぐことに成功する見込みを改善する(例えば、その可能性を高める又は最適化する)ようにその挙動及びアクションを計画することができる。また、任意の数の運転者用に運転支援システムをカスタマイズするために、複数のこのような運転エンベロープを(例えば、車載の又はクラウド内の)データベースに維持し、このデータベースによって利用可能にすることができる。本主題は、上述したレベル1~5のいずれかで動作する車両に適用することができる。
【0019】
いくつかの実装において、異なる環境条件下で及び異なる運転イベントの発生時に、運転者挙動情報及び関連コンテキスト情報を収集することができる。これは、ほんの数例を挙げると、交通密度;気象条件;及び運転コンテキストがハイウェイ、又は都市又は田舎環境であるかに基づくことができる。このようなデータの蓄積及びその処理によって、運転者が行うことを記述する1又は複数の状況(例えば、進行速度、別のオブジェクトに対する距離、及び/又は他のファクタ)の抽出を可能にすることができる。運転エンベロープは、このような処理されたデータから抽出された少なくとも1つの状況に基づいて定義することができる。
【0020】
いくつかの実装において、本明細書において記載された運転エンベロープの定義及び運転支援システムによるその使用は、少なくとも以下の2つの局面を円滑にし得る。第1に、運転エンベロープを運転支援システムに適用することで、運転支援システムが、この運転者にとって引き継ぎが快適であるか又は可能である状況に関する限界を超えないことを確実にすることを試みることができる。第2に、これにより、自動化フェーズ中にその人物がより快適であるように運転支援システムが動作することを提供することができる。例えば、その人物にとって乗車をより楽しくすることができる、及び/又は、その体験によって、運転支援システムが安全に動作していることをその人物に確認させることができる。
【0021】
いくつかの実装は、1又は複数の利点を提供することができる。例えば、運転者が運転支援システムからの引き継ぎを成功させる可能性を高めることによって、いくつか又は全ての車両機能を自動化する活動全体をより安全にすることができる。ユーザ体験及び/又は運転支援システムに対するユーザの信頼を向上させることができる。例えば、運転者は、自身の個人的な運転スキル、運転プレファレンス、又は運転プラクティスに応じて運転支援システムをカスタマイズする必要がなくなり得る。車両設計を簡略化することができる。例えば、車両設計者は、システム構成設定(数十又は数百の数の個々に調整可能なパラメータで実行され得る)を識別及び定義するか、又はそれらのための別個の入力制御を生成する必要がなくなり得る。
【0022】
本明細書中の例では、車両に言及する。車両は、乗員又は貨物、又は両方を輸送する機械である。車両は、少なくとも1つのタイプの燃料又は他のエネルギー源(例えば、電気)を使用する1又は複数のモータを有することができる。車両の例は、限定されるものではないが、自動車、トラック、及びバスを含む。車輪の数は、車両のタイプによって異なり得、車輪のうちの1又は複数(例えば、全て)を車両の推進のために使用することができる。車両は、1又は複数の人物を収容する乗員室を有することができる。少なくとも1人の車両乗員を運転者とみなすことができ;このとき、種々のツール、器具又は他のデバイスを運転者に提供することができる。本明細書中の例において、この例の主題である車両(例えば、運転支援システムを有する1つの車両)は、「自車両」と称される場合がある。1又は複数の他の車両は、「先導車両」と称される場合がある。
【0023】
本明細書中の例は、運転支援(例えば、運転支援システムによって実行される)に言及している。運転支援は、1又は複数の動的運転タスクを少なくとも部分的に自動化することを含む。先進運転者支援システム(ADAS)は、運転支援を実行することができ、運転支援システムの一例である。運転支援は、典型的には車両上、車両下、又は車両内に配置された1又は複数のセンサの出力に部分的に基づいて実行される。自律車両は運転支援を実行するシステムの一例であるが、全ての運転支援システムが完全自律車両を提供するように設計されているわけではない。SAE Internationalによって、運転オートメーションの複数のレベルが定義されており、通例、それぞれレベル0、1、2、3、4及び5と称される。例えば、レベル0システム又は運転モードは、システムによる持続的な車両制御を含まなくてよい。例えば、レベル1システム又は運転モードは、アダプティブクルーズコントロール、緊急ブレーキアシスト、自動緊急ブレーキアシスト、車線維持、及び/又は車線センタリングを含んでよい。例えば、レベル2システム又は運転モードは、ハイウェイアシスト、自律障害物回避、及び/又は自律駐車を含み得る。例えば、レベル3又は4システム又は運転モードは、運転支援システムによる車両の漸増制御を含み得る。例えば、レベル5システム又は運転モードでは、運転支援システムへの人間の介入が不要であり得る。
【0024】
本明細書中の例は、センサに言及している。センサは、イベント及び/又はその環境の1又は複数の状況の変化を検出し、その検出を反映する信号を出力するように構成されている。単に説明的な例として、センサは、車両及びオブジェクト間の距離、車両の速度、車両の軌道、車両の加速度、又は運転者が車両に対して取ったアクションのうちの1又は複数を示すことができる。1又は複数の実施形態とともに使用することができるセンサの例は、限定されるものではないが、光センサ(例えば、カメラ);走査システム(例えば、ライダ);無線式センサ(例えば、レーダ);音響センサ(例えば、超音波デバイス及び/又はマイク);慣性計測ユニット(例えば、ジャイロスコープ及び/又は加速度計);(例えば、車両又はそのコンポーネントのための)速度センサ;運転者によって操作される車両コントロール(例えば、スイッチ、ボタン、スライダ);ユーザによって操作される車両入力コントロール;(例えば、車両又はそのコンポーネントのための)ロケーションセンサ);(例えば、車両又はそのコンポーネントのための)方位センサ;トルクセンサ;温度センサ(例えば、一次又は二次温度計);(例えば、周囲空気又は車両のコンポーネントのための)圧力センサ;湿度センサ(例えば、雨検出器);又は座席占有センサを含む。
【0025】
本明細書中の例は、運転エンベロープに言及している。運転エンベロープは、関数又はテーブル又はカーブを含む。運転エンベロープは、複数の車両状態を一緒に結び付け、それにより、運転エンベロープは、運転支援システムの少なくとも1つの構成パラメータのための1又は複数の値(例えば、値の範囲)を決定又は生成するために使用することができる。上記値は、ただ2つの例を挙げれば、構成パラメータ及び/又は構成制約を含むことができる。構成パラメータは、運転支援システムの少なくとも1つの状況を制御するように定義することができる。運転エンベロープは、個々の運転者に又は運転者のタイプ又はカテゴリに固有のものとすることができる。特定の運転者に対して個別に調整された運転エンベロープは、その運転者にとって快適である(又は快適でない)運転の状況を定義するための、その人物の運転スタイルの特定の状況の表現である。そのようなプレファレンスは、車両を現在操縦しているのがその人物であるのか又は運転支援システムであるのかに応じて異なり得る。それに応じて、個々の運転者の自身の運転に関するプレファレンスは、運転支援システムのための同一の運転エンベロープに必ずしもそのまま置き換えられない。むしろ、これらの二者間のプレファレンスには相違点が存在し得る。運転エンベロープは、1又は複数の独立変数に基づいて定義することができる。例えば、運転エンベロープは、検出されたイベントのコンテキスト、車両ヨーレート、及び車両速度の関数とすることができる。
【0026】
本明細書中の例は、引き継ぎが成功する可能性に言及している。引き継ぎは、人間の運転者が運転支援システムから制御を引き継ぐ状況である。これは、運転支援システムが(例えば、障害を検出した際に)運転者に制御を行うことを要求する状態に入ったときに発生することができるか、又はさもなければ、その人物が車両を操縦する(take charge)ことを自発的に選択することができる。引き継ぎは、引き継ぎ時及びその後の限られた時間の間に生じる運転タスクを人間の運転者が快適と感じる場合に成功したとみなすことができる。いくつかの実装において、自発的な引き継ぎは、運転者が所定の時間内に運転支援システムを再度従事させなかった場合に成功したものとみなすことができる。上記の例において、上記の特定の時間の長さは、その状況及び/又は運転者に依存し得る。例えば、引き継ぎが成功した後、運転者は、少なくとも秒数のオーダ(例えば、数秒又は数十秒)の間で、通常のやり方で車両を制御することができる。
【0027】
本明細書中の例は、車両の運転者として人間に言及している。本明細書において使用されるとき、運転者という用語は、車両に装備されているオートメーション(存在する場合)の状態にかかわらず、かつ車両の運転支援システムが現在アクティブであるか否かにかかわらず、車両によって輸送されている人間を含む。したがって、簡潔さのために、ここでは、人物が車両を運転している場合及び運転支援システムが動作している場合の両方で、人物が車両の運転者と称され得る。
【0028】
本明細書中の例は、イベントに言及している。イベントは、1又は複数のシステムによって検出することができる具象的又は抽象的な出来事である。イベントは、離散集合の要素として識別される1又は複数の操作を含むことができる。イベントは、互いに同時に又はそのイベントによって定義される共通の時間スパン内に発生するサブイベントを含むことができる。イベントの例は、限定されるものではないが、車線変更、先導車両への追従、先導車両の無い状態で車線内に留まること、又は別の車両を車線に入らせるための間隔の生成を含む。イベントは、動的運転タスク及び/又は動的運転タスクではないタスク(限定されるものではないが、車両のための現在の速度及び現在の横方向車線配置を維持するタスクを含む)を含むことができる。
【0029】
本明細書中の例は、運転者及び/又は車両に関するコンテキストに言及している。コンテキストは、イベントに一時的に関連する1又は複数の定量的又は定性的外生メトリックである。車両又は運転者に対する外生メトリックは、それぞれ、車両及びそのシステムに対して及び/又は運転者に対して外部のメトリックである。コンテキスト及びイベント間の因果関係が時には明らかであるか又は推論され得るが、因果性は必須ではない。コンテキストの例は、限定されるものではないが、気象(例えば、降水量、気温、又は光条件);交通条件(例えば、平均速度、密度、又は秩序度);車両条件(例えば、速度、加速度、軌道、乗車率(occupancy)、乗員キャビンクライメート、又はインフォテインメントシステム動作ステータス);道路条件(例えば、カーブ半径、バンク角、車線の数、表面材料、表面条件、表面トラクション(surface traction))を含む。
【0030】
本明細書中の例は、機械学習アルゴリズムに言及している。本明細書において使用されるとき、機械学習アルゴリズムは、運転支援システム等の機械が、自身の環境を認知するとともに、1又は複数のゴールに到達するためにアクションを取る能力を有する、人工知能の一実装を含むことができる。機械学習アルゴリズムは、データマイニングの1又は複数の原理を適用して、車両及びその関連状況に関して収集されたデータから運転エンベロープを導出することができる。機械学習アルゴリズムは、1又は複数の観点において訓練することができる。例えば、教師あり、半教師あり、及び/又は教師なし訓練を実行することができる。いくつかの実装において、機械学習アルゴリズムは、1又は複数の分類子を使用することができる。例えば、分類子は、処理されたデータにおいて認識されたインスタンスに1又は複数のラベルを割り当てることができる。いくつかの実装において、機械学習アルゴリズムは、1又は複数の形式の回帰分析を使用することができる。例えば、機械学習アルゴリズムは、回帰を適用して、1又は複数の数値を決定することができる。いくつかの実装において、機械学習アルゴリズムは、データを収集及び記憶し、このデータを使用してイベントを検出し、このデータを使用してコンテキストを識別し、検出されたイベント及びコンテキストに少なくとも部分的に基づいて運転エンベロープを生成するように構成することができる。
【0031】
図1は、運転エンベロープを定義するシステム100の一例を示している。システム100は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。システム100及び/又はそのコンポーネントのうちの1又は複数は、例えば
図10を参照しながら下に記載するように、コンピュータ可読媒体に記憶された命令を実行する少なくとも1つのプロセッサによって動作することできる。いくつかの実装において、システム100は、人物による運転支援システムからの引き継ぎが成功する可能性を増加させるように運転エンベロープを定義するように構成することができる。
【0032】
システム100は、人間が車両をどのように操作するかについてのデータを収集及び処理することによって部分的に運転エンベロープを定義できる。システム100は、ここではボックスとして概念的に示されている、1又は複数の入力102を受信する。入力102は、車両のいずれか又は全てのセンサからのセンサ読み取り値を含むことができる。例えば、入力102は、車両に関する状況及び/又は運転者が取ったアクションを反映するか又は別様に示すことができる。入力102は、1又は複数のコンテキストパラメータの存在下で、1又は複数のイベント及び/又は運転者トリガの発生を反映するか又は別様に示すことができる。例えば、入力102は、車線変更イベントを反映するか又は別様に示すことができる。別の例として、入力102は、運転者が、車両からの応答をトリガする1又は複数のアクションを取った(又は取らなかった)ことを反映するか又は別様に示すことができる。別の例として、入力102は、1又は複数の周囲条件の存在又は不存在(例えば、特定の気象現象の存在又は不存在)を反映するか又は別様に示すことができる。いくつかの実装において、入力102は、人物が車両をどのように運転するかを反映するセンサデータを含むことができる。例えば、これにより、その人物の運転プレファレンス及び運転特性を分析して、運転エンベロープを生成する際に考慮することが可能になり得る。いくつかの実装において、入力102は、運転支援システムが車両をどのように制御するかに対するユーザの応答を反映するセンサデータを含むことができる。例えば、ユーザは、運転支援システムから車両の制御を引き継ぐことによって、フィードバックを提供することができる。別の例として、ユーザは、運転支援システムが車両をどのように制御するかについてのユーザの意見に関するユーザインタフェース(例えば、フィードバックフォーム)への入力を行うことによって、フィードバックを提供することができる。
【0033】
システム100は、データ取得及び記憶のためのシステム104を備える。システム104は、入力102のうちの1又は複数を受信し、その入力102を処理し、少なくとも1つの出力を生成することができる。いくつかの実装において、システム104は、車両に導入されている。例えば、システム104は、オンボードシステムとして特徴付けることができる。
【0034】
システム104は、イベント検出コンポーネント106を備えることができる。いくつかの実装において、イベント検出コンポーネント106は、運転者によって実行される挙動及び/又は操作を検出することができる。いくつかの実装において、イベント検出コンポーネント106は、運転者の挙動をモニタして、1又は複数の離散集合の要素であるものとして上記操作を識別することができる。例は、限定されるものではないが、車線変更、車線内の先導車両の追従、先導車両の無い状態で車線内に留まること、急ブレーキ、又は時間間隔の減少又は増大を含む。イベント検出コンポーネント106は、イベントに関連付けられている又はイベントを特徴付ける定量的又は定性的外生メトリックを識別することができる。例は、限定されるものではないが、車線変更の持続時間及び/又は速度の判定、追従時の先導車両に対する時間間隔の判定、先導車両が存在しない場合に運転者が車線内に留まる速度の判定、及び/又は、別の車両が車線に入ることを可能にするように自車両の前に間隔を生成する場合の減速度の判定を含む。イベント検出コンポーネント106は、機械学習アルゴリズムの1又は複数の状況を含むことができる。いくつかの実装において、イベント検出コンポーネント106は、車両のための運転支援システムに依存するか、又はそれによって提供することができる。例えば、上記運転支援システムを同じ車両に導入することができ、その運転支援システムによってイベントの検出を実行することができる。いくつかの実装において、イベント検出コンポーネント106は、入力102からのデータ内で少なくとも1つのイベントを識別し、識別されたイベントにタグを付与することができる。
【0035】
イベント検出コンポーネント106は、運転支援システムを有しないか、又は運転支援システムを有する車両に導入することができる。後者のシナリオでは、運転支援システムは、データがシステム104によって収集されている間にアクティブ又は非アクティブとすることができる。例えば、運転支援システムが動作中である場合、システム104によって検出されたイベントは、部分的に運転者に及び部分的に運転支援システムに帰属させることができる。それに応じて、イベント検出コンポーネント106は、イベントを検出する際に、運転支援システムの動作ステータスに依存することができる。例えば、イベントの識別は、入力102のセンサによってセンサデータが生成されたときの、車両に導入された運転支援システムの動作の自律運転レベルを考慮することを含むことができる。
【0036】
イベントを検出することは、運転者が車両の制御を引き継ぐとの判定を含むことができる。例えば、イベント検出コンポーネント106は、運転支援システムが障害状態に入っていないか又は運転者による引き継ぎを別様に要求していないが、それにもかかわらず、運転者が特定の時間に車両の制御を行ったと判定することができる。そのような判定は、イベント検出に関連することができる。
【0037】
システム100は、人物によるその車両の操作に関するデータを収集する目的で車両に導入することができる。このようなデータは、人物が運転支援システムを有する車両を運転しているときに、適用されることになる1又は複数の運転エンベロープを定義するように処理することができる。運転エンベロープが適用される車両は、データが収集された車両と同じ車両、又は同じモデル及び/又は作りの車両とすることができる。別の例として、運転エンベロープが適用される車両は、データが収集された車両とは異なる車両とすることができる。
【0038】
ここで、システム104は、コンテキスト識別コンポーネント108を含む。コンテキスト識別コンポーネント108は、運転者がイベントとして検出された操作を実行する(又はしない)外部動作条件を検出することができる。いくつかの実装において、コンテキスト識別コンポーネント108は、イベントに関連する定量的又は定性的外生メトリックを収集することができる。いくつかの実装において、コンテキスト識別コンポーネント108は、気象、交通条件、道路の湾曲、及び/又は道路状態をタグ付けすることができる。コンテキスト識別コンポーネント108は、機械学習アルゴリズムの1又は複数の状況を含むことができる。
【0039】
ここで、システム104は、オンボードデータレコーダ110を含む。オンボードデータレコーダ110は、イベント検出コンポーネント106によって及びコンテキスト識別コンポーネント108によって出力される情報を記録することができる。いくつかの実装において、オンボードデータレコーダ110は、ストレージ112によってデータが1又は複数のロケーションに存続することを円滑にすることができる。例えば、ストレージ112は、オンサイト/クラウドデータストア114を含むことができる。別の例として、ストレージ112は、オンボードデータストア116を含むことができる。ストレージ112内に位置するデータは、後で実行されることになる処理に好適な1又は複数のフォーマットを有することができる。例えば、イベント検出コンポーネント106及び/又はコンテキスト識別コンポーネント108からの出力を、記憶の前にフォーマットすることができる。
【0040】
ここで、システム100は、運転エンベロープの作成及び運転支援システム120のための構成の生成のタスクを負うコンポーネント118を備えてよい。いくつかの実装において、コンポーネント118は、運転支援システム120のための少なくとも1つの構成パラメータを識別し、構成パラメータのための値を決定し、その値を運転支援システム120に提供する。このような構成パラメータは、運転支援システム120の少なくとも1つの状況を制御することができる。例えば、運転エンベロープは、車両の前輪に現在かかっているヨーレートr及び車両が現在有しているサイドスリップβ間の関係を調節することができる。いくつかの実装において、コンポーネント118は、学習ベースのソフトウェアアルゴリズムを実施して、その人物によって実行される運転についての情報から運転エンベロープを推論することができる。例えば、そのデータから、65mph(104.61km/h)のハイウェイ上で、毎時0.5インチ(12.7ミリメートル)を超える降雨が生じている場合に、交通が無い状態で、約200メートルの半径を有するカーブのために、その人物が通例は約55マイル毎時(mph)(88.51km/h)まで減速することを推論することができる。同じ又は異なる基準を含む他のタイプの推論を行うことができる。いくつかの実装において、コンポーネント118は、運転者が制御している場合に特定の操作を快適と感じている運転者と、車両が運転支援システム120によって制御されている場合に同じ道路及び気象条件下で同じ操作をより快適又は不快に感じている運転者とを区別することができる。
【0041】
運転エンベロープは、運転支援システム120による1又は複数の決定に関連する情報に対する便利なアクセス(例えば、クエリ操作による)を可能にするフォーマットで記憶することができる。いくつかの実装において、1又は複数の構成値をテーブル122に記憶することができる。例えば、テーブル122は、運転支援システム120のコンテキスト及びイベント駆動構成に合わせて調整することができる。
【0042】
運転支援システム120は、1又は複数のアクションを実行するか否かを決定するためにテーブル122から情報を取得することができる。例えば、運転支援システム120は、そのような情報についてコンポーネント118にクエリを行うことができる。別の例として、運転支援システム120は、テーブル122に直接アクセスすることができる。取得された情報によって、運転支援システム120が1又は複数の決定に適用される動作の限界を選択することを可能にすることができる。いくつかの実装において、1又は複数の動作限界によって定義される領域のためにコスト関数を設計することができる。例えば、そのような動作限界は、コスト関数が有効である領域を記述することができる。いくつかの実装において、上記関数によって定義されるコストは、適用可能なコンテキストを所与として、道路上での車両の軌道が正常な運転エンベロープから逸脱するにつれて増大し得る。
【0043】
上記の例は、方法が、第1の車両のセンサから(例えば、入力102によって)センサデータを受信する段階を備えることができることを示している。このようなセンサデータは、第1の人物が第1の車両を運転している間にセンサによって生成することができる。この方法は、(例えば、システム100から)センサデータに機械学習アルゴリズムを適用して、(例えば、コンポーネント118によって)運転支援システムのための(例えば、運転支援システム120のための)運転エンベロープを定義する段階を備えることができる。運転支援システムは、第2の車両に導入することができる。この方法は、運転エンベロープを第2の車両に導入された運転支援システムに(例えば、テーブル122として)提供する段階を備えることができる。
【0044】
図2は、運転エンベロープを定義するためのデータの収集の一例200のフローチャートを示している。例200は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。例200及び/又はそのコンポーネントのうちの1又は複数は、例えば
図10を参照しながら下に記載するように、コンピュータ可読媒体に記憶された命令を実行する少なくとも1つのプロセッサによって動作することできる。いくつかの実装において、例200は、人物による運転支援システムからの引き継ぎが成功する可能性を高めるように、運転エンベロープを定義する際に使用することができる。
【0045】
データ202が例200に入る。いくつかの実装において、データ202は、生のリアルタイム車両データとして特徴付けることができ。データは、車両の1又は複数のセンサ(例えば、運転支援システムに専用のセンサスイート(sensor suite))から来ることができる。
【0046】
データ202は、例200の1又は複数の状況に提供することができる。データ202は、コンポーネント204に提供することができる。いくつかの実装において、コンポーネント204は、データ202内のイベントを検出するとともに、その検出に従ってデータをタグ付けする役割を担うことができる。例えば、コンポーネント204は、その動作中に、機械学習アルゴリズムの1又は複数の状況を適用することができる。データ202は、クラウド206に提供することができる。
【0047】
データ208が例200に入る。いくつかの実装において、データ208は、生のリアルタイム外生データとして特徴付けることができ、モニタされている車両に関係するコンテキストデータとすることができる。データは、車両の1又は複数のセンサから(例えば、運転支援システムに専用のセンサスイートから)及び/又は外部ソース(例えば、気象レポートサービス、マッピングサービス、又は道路条件レポータ)から来ることができる。
【0048】
データ208は、例200の1又は複数の状況に提供することができる。データ208は、コンポーネント210に提供することができる。いくつかの実装において、コンポーネント210は、データ208内のコンテキストを検出するとともに、その検出に従ってデータをタグ付けする役割を担うことができる。例えば、コンポーネント210は、その動作中に、機械学習アルゴリズムの1又は複数の状況を適用することができる。データ208は、クラウド206に提供することができる。
【0049】
コンポーネント204は、出力212を生成することができる。いくつかの実装において、出力212は、車両の運転者による挙動又は操作を反映する。出力212は、好適なフォーマットで提供することができ、データベース214に記憶することができる。
【0050】
コンポーネント210は、出力216を生成することができる。いくつかの実装において、出力216は、(例えば、車両の運転者による挙動又は操作に関連する)出力212の定性的又は定量的コンテキストを反映する。出力216は、好適なフォーマットで提供することができ、データベース214に記憶することができる。
【0051】
データベース214は、一定間隔で又はランダムな時間に新たな情報で更新することができる。いくつかの実装において、データベース214は、コンポーネント204及び/又は210が新たな出力を生成した場合に更新される。例えば、この結果、データベース214の更新が互いから1分又は数分離れて発生することができる。データがデータベース214に蓄積すると、ソフトウェアアルゴリズムは、1又は複数の運転エンベロープを更新し、その境界の正確度又は精度を高めることができる。
【0052】
図3は、運転エンベロープの定義の一例300のフローチャートを示している。例300は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。例300及び/又はそのコンポーネントのうちの1又は複数は、例えば
図10を参照しながら下に記載するように、コンピュータ可読媒体に記憶された命令を実行する少なくとも1つのプロセッサによって動作することできる。いくつかの実装において、例300は、人物による運転支援システムからの引き継ぎが成功する可能性を増加させるように運転エンベロープを定義するように構成することができる。
【0053】
例300において、データベース214は、情報を、その情報に基づいて1又は複数の推論を実行するように構成されたコンポーネント302に提供する。いくつかの実装において、コンポーネント302は、データが収集及び処理(例えば、タグ付け)された運転者に関する運転者スキル、運転者プレファレンス、及び/又は運転者プラクティスを推論することができる。コンポーネント302は、1又は複数の運転エンベロープ304を出力することができる。いくつかの実装において、運転エンベロープ304は、運転支援システムの1又は複数の制御可能な状況を定義することができる。例えば、運転エンベロープ304は、さらに又は代わりに、可制御性エンベロープとして特徴付けることができる。例300は、運転エンベロープ304を構成マネージャ306に提供することができる。いくつかの実装において、構成マネージャ306は、運転者による安全な引き継ぎ及び運転者にとって楽しめる乗り心地のために有利に働くように、運転支援システムに適用されることになる構成を制御する。例えば、構成マネージャ306は、1又は複数のデータベースを含むことができる。
【0054】
構成マネージャ306のデータベースは、一定間隔で又はランダムな時間に新たな情報で更新することができる。いくつかの実装において、データベースは、コンポーネント302が新たな出力を生成した場合に更新される。例えば、この結果、データベースの更新が互いから1日又は数日離れて発生することができる。いくつかの実装において、運転エンベロープ304のバッチ更新が、或る期間にわたってセンサによって生成された追加のセンサデータに基づいて実行される。
【0055】
図4は、車両の運転支援システムによって使用されている運転エンベロープの一例400のフローチャートを示している。例400は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。例400及び/又はそのコンポーネントのうちの1又は複数は、例えば
図10を参照しながら下に記載するように、コンピュータ可読媒体に記憶された命令を実行する少なくとも1つのプロセッサによって動作することできる。いくつかの実装において、例400は、人物による運転支援システムからの引き継ぎが成功する可能性を増加させる運転エンベロープを提供するように構成することができる。
【0056】
ここで、運転支援システム402は、状況404によって現在表現されているコンテキストにおいてアクションを取るか否かを決定している。単に一例として、運転支援システム402は、車線変更操作を起こすか否かを決定するところであり得る。運転支援システム402は、構成マネージャ306に対するクエリ406を作成することができる。いくつかの実装において、クエリ406は、企図された操作を示す。運転支援システム402は、意図された挙動及び操作が運転者にとって快適であるか又はその能力があるエンベロープ内にあることを確実にする努力として、構成マネージャ306にクエリを行うことができる。これにより、運転者が必要な場合に車両の制御を行うことができることを確実にするよう試みることができる。例えば、これには、車両がより速く進まない、他の車両により接近して配置されない、及び/又は運転者が自身で車両を操作するよりも鋭角にターンしないことを確実にすることを含むことができる。このクエリは、操作中に運転者が安全かつ快適に感じることを確実にするよう試みることができる。例えば、これによって、運転支援システム402への信頼及び車両及び体験に対する運転者の総合的な満足感を高めることができる。
【0057】
クエリ406への応答は、構成マネージャ306が1又は複数のデータベースにアクセスすることを含むことができる。構成マネージャ306は、クエリ406に応答して運転エンベロープ408を生成することができるか、又は、運転エンベロープ408は、クエリ406に応答して提供される予め定められた運転エンベロープ(例えば、ラージデータセット)とすることができる。いくつかの実装において、運転エンベロープ408は、運転支援システム402によって企図されているアクションの適用又は実施に対する1又は複数の制限を含む。例えば、運転エンベロープ408は、速度制限を含むことができる。別の例として、運転エンベロープ408は、前後方向及び/又は横方向加速度に対する制限を含むことができる。いくつかの実装において、制限の組み合わせを使用することができる。運転エンベロープ408を適用した結果は、隣接車線における間隔(すなわち、車両間の隔たり)が少なくともxフィート(xセンチ)であり、運転支援システム402がアクションを完了するためにy秒又はそれを超える秒数を自由に使える場合にのみ、運転支援システム402が車線変更を開始することとすることができる。
【0058】
運転支援システム402が上記アクションを開始することを決定すると仮定して、運転支援システム402は、1又は複数の出力を生成することができる。いくつかの実装において、運転支援システム402は、軌道410に対応する情報を出力する。運転エンベロープ408は、軌道410の指定又は調節された1又は複数の状況を有し得る。軌道410は、車両に、特定のロケーション、速度、加速度、及び加速度の変化率(「ジャーク」と呼ばれることがある)を取らせることに対応することができる。例えば、軌道410は、車輪の操舵角及び推進モータのトルク出力を設定することによって実現することができる。ここで、実行412は、軌道410に基づいて上記アクションを実行する際に運転エンベロープ408が使用されていることを概念的に表している。運転者414は人間であり、ここでは円を用いて模式的に示されている。運転者414は、運転支援システム402によって計画及び実行されるアクションの実行412を受ける。
【0059】
いくつかの実装において、運転支援システム402は、実施される全てのアクションについて構成マネージャ306にクエリを行う必要がない場合がある。1又は複数の特定のアクションに関して、運転エンベロープ408は、少なくとも1つの数字から本質的になることができ、これは、運転支援システム402がクエリを行わずにアクセス可能なローカルストレージに維持することができる。例えば、運転者414が横方向加速度に敏感であることが分かっている場合、運転支援システム402は、毎回構成マネージャ306にクエリを行う必要なく、横方向加速度を特定の値を超えて増加させる操作が計画されないことを確実にすることができる。すなわち、運転者414のために、そのようなチューニングパラメータを常に有効にしてよい。
【0060】
構成マネージャ306及び/又は運転支援システム402は、リアルタイムデータプロバイダ416の入力から利益を受け得る。リアルタイムデータプロバイダ416は、運転エンベロープ408を生成する際に考慮される1又は複数の情報を提供することができる。いくつかの実装において、イベント(例えば、車線変更)についての快適性プレファレンスは、目前の状況に依存し得、これは、リアルタイムデータプロバイダ416からの入力によって反映することができる。例えば、交通密度又は自車両の速度。より低い速度では、運転者414の快適性レベルは重要なファクタではない場合があるが、より高い速度では、快適性は重要なファクタになる場合がある。クエリ無しアクション実行についての上記の例を続けると、運転支援システム402には、可視条件下で適用されるパラメータ値を本質的に記述する情報を提供することができる。気象が変化する場合、これは、クエリ406を出すよう運転支援システム402をトリガすることができる。すなわち、車両に導入された運転支援システム402は、アクションを取る前に構成マネージャにクエリを提供するか否かを決定する際に、車両についてのリアルタイムデータを考慮することができる。
【0061】
運転者414は、少なくとも構成マネージャ306の利益のためにフィードバック418を提供することができる。フィードバック418は、ヒューマンマシンインタフェース(HMI)420によって提供することができる。運転者414は、ほんの数例を挙げると、車両に対するアクションを取ることによって(例えば、ADシステム402から制御を少なくとも部分的に引き継ぐことによって)フィードバック418を示すか、又は、フィードバック418をグラフィカルユーザインタフェースに入力するか、又は、フィードバック418をオーディオインタフェースに話して入力することができる。いくつかの実装において、ADシステム402が運転エンベロープ408に従って運転タスクを実行している時に、運転者414が車両の制御を引き継ぐことを、ユーザフィードバック418として検出することができる。例えば、ユーザフィードバック418は、運転エンベロープ408の少なくとも1つの状況を調整、排除、及び/又は追加するよう構成マネージャ306をトリガすることができる。いくつかの実装において、例400は、運転者414にフィードバック418を促すことができ、この促しに応答して、フィードバック418をHMI420によって受信することができる。いくつかの実装において、運転者414は、例400がフィードバックを促すように構成されているか否かにかかわらず、また何らかの促しが発生したか否かにかかわらず、フィードバック418を提供することができる。
【0062】
フィードバックを促すために、HMI420は、問題のアクション(例えば、「今しがた実行された車線変更」)を運転者414に対して特定することができるか、又はさもなければ、不明確さを回避するために、促しをそのアクションに時間的に近接させて提示することができる。例えば、運転者414によって選択されるように、「高評価(like)」ボタン及び/又は「低評価(dislike)」ボタンを利用可能にすることができる。HMI420は、フィードバック418を構成マネージャ306に提供することができる。いくつかの実装において、フィードバック418は、運転エンベロープ408のさらなる調整(又は排除)のために使用することができる。例えば、実行されたアクションは、運転者414によって好まれているもの又は好まれていないものとして実質的にリアルタイムでタグ付けされるか、及び/又は、フィードバック418に基づいて構成パラメータの値が更新される。
【0063】
いくつかの実装において、ここで運転支援システム402によって実行されたアクションを受ける運転者414は、運転エンベロープ408を定義する際に構成マネージャ306が使用したデータがその運転から取得された人物と同じ人物であり得る。例えば、これにより、運転体験が、運転者414である特定の個人に綿密に合わせて調整されるという利点を提供することができる。
【0064】
いくつかの実装において、運転エンベロープ408は、運転者414のうちの2人又はそれよりも多数からの運転データに基づいて生成することができる。別の例として、運転エンベロープ408は、運転者414として異なる人物を含む複数のそれぞれの運転状況に適用することができる。いわゆるライドシェア活動を含むシナリオにおいて、2人又はそれよりも多数の異なる個人が、異なる時間に同じ車両の運転者414としての役割を果たす。このような事業において、2人又はそれよりも多数のライドシェア運転者からフィードバック418を収集し、運転者414になることが予想される個人の集団に合理的にフィットするように運転エンベロープ408を調整することに使用することができる。
【0065】
図5A~
図5Bは、車両504のための運転エンベロープの作成、及び車両に対するアクションの実行におけるその使用の例500及び502を示している。例500又は502は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。車両504は、現在、2つの隣接車線のいずれかにおいて進行する一方通行の車道506上で運転されている。ここで、車両508もまた、車道506上に示されている。特に、車両504は、現在右車線に位置しており、車両508A~508Bは、現在左車線に位置している。ここで、右及び左という用語は、車両504の運転者の観点から使用されている。
【0066】
車両504の運転者は、運転者Aと称される。運転者Aが車線変更を行って右車線から左車線内に移動することを望んでいると仮定する。この例において、現在、車道506に沿って車両508A~508B間に距離510がある。運転者Aは、距離510を、車線変更を行うのに十分なものとみなし、したがってこの操作を完了する。車両504をモニタするデータ収集システムは、関連データをトラッキングし、それをタグ付けする。例えば、処理されたデータは、車道506の現在の条件(例えば、交通密度、道路の質、気象)及び車両504の現在の条件(例えば、速度、乗車率)下で、現在の長さの距離510で車線変更(このアクションによって、車両504はいくらかの前後方向及び横方向加速度を受け得る)を完了することが運転者Aにとって快適であることを示すことができる。運転者Aのための運転エンベロープの生成において、(例えば、他の観察された操作と一緒に)上記事項を考慮することができる。
【0067】
運転者Aのための運転エンベロープが生成されたとき、それは、車両504に導入された運転支援システムに適用することができる。ここで、運転支援システムがアクティブである間に、
図5Aに示すものと同様の状況が発生したと仮定する。すなわち、運転支援システムは、車線変更を行い、右車線から左車線に移動することを企図する。運転支援システムは、構成マネージャにクエリを行い、関連パラメータを発見することができる。例えば、構成マネージャは、車両508A~508B間の距離が、少なくとも距離510に等しく、他の条件が、運転者データがタグ付けされたときのそれらに相当する限り、それが車線変更を実行可能であることを運転支援システムに通知し得る。この例では、運転支援システムは、次に上記アクションを実行する。これは、運転者Aにとって快適な体験となる。また、運転者Aが上記アクション中に車両504の制御を引き継ぐ必要があるような状況が生じた場合、引き継ぎが成功する可能性が高いことが予想され得る。
【0068】
ここで
図5Bを参照すると、車両504'の運転者は、運転者Bと称される。この例において、車道506に沿って車両508A~508Bの間に距離510'が現在存在し、距離510'は、
図5Aにおける距離510よりも大きい。運転者Bが車線変更を行い、右車線から左車線内に移動することを望んでいると仮定する。運転者Bは、距離510'を、車線変更を行うのに十分なものとみなし、したがってこの操作を完了する。車両504'をモニタするデータ収集システムは、関連データをトラッキングし、それをタグ付けする。例えば、処理されたデータは、車道506の現在の条件(例えば、交通密度、道路の質、気象)及び車両504'の現在の条件(例えば、速度、乗車率)下で、現在の値の距離510'で車線変更(このアクションによって、車両504'はいくらかの前後方向及び横方向加速度を受け得る)を完了することが運転者Bにとって快適であることを示すことができる。運転者Bのための運転エンベロープの生成において、(例えば、他の観察された操作と一緒に)上記事項を考慮することができる。
【0069】
運転者Bのための運転エンベロープが生成されたとき、それは、車両504'に導入された運転支援システムに適用することができる。ここで、運転支援システムがアクティブである間に、
図5Bに示すものと同様の状況が発生したと仮定する。すなわち、運転支援システムは、車線変更を行い、右車線から左車線に移動することを企図する。運転支援システムは、構成マネージャにクエリを行い、関連パラメータを発見することができる。例えば、構成マネージャは、車両508A~508B間の距離が、少なくとも距離510'に等しく、他の条件が、運転者データがタグ付けされたときのそれらに相当する限り、それが車線変更を実行可能であることを運転支援システムに通知し得る。この例では、運転支援システムは、次に上記アクションを実行する。これは、運転者Bにとって快適な体験となる。また、運転者Bが上記アクション中に車両504'の制御を引き継ぐ必要があるような状況が生じた場合、引き継ぎが成功する可能性が高いことが予想され得る。
【0070】
対照的に、運転者Aのための運転エンベロープを、運転者Bを輸送している車両504'に適用することは、上記2つの例と等しく成功した結果をもたらさない場合がある。車両508A~508B間の距離が距離510に略等しいものでしかないときに、車両504'が車線変更操作を受ける場合、これは、運転者Bの運転支援システムに対する信頼を失わせる可能性がある。例えば、運転者Bは、そのアクションを主観的に危険又は不快とみなし得る。また、そのシナリオにおいて運転者Bが車両504'の制御を引き継ぐ必要があるような状況が生じた場合、その引き継ぎは、成功する可能性が比較的低い可能性がある。
【0071】
同様に、運転者Bのための運転エンベロープを、運転者Aを輸送している車両504に適用することは、運転者Aの運転エンベロープが運転者Aに適用されたときと等しく成功した結果をもたらさない可能性がある。車両508A~508B間の距離が距離510に略等しいものでしかないときに、車両504が車線変更操作を企図する場合、距離510が距離510'よりも短いので、運転支援システムはこのアクションを破棄し得る。運転者Aは、不快になり、運転支援システムによってネガティブな体験をする可能性がある。
【0072】
図6は、車両602に対するアクションの実行における運転エンベロープの使用の別の例600を示している。例600は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。この例は、アダプティブクルーズコントロールに関する。車両602が同じ車線内の車両604の後方で走行している場合、運転支援システムは、車両602及び604間の少なくとも距離606をおよそ維持する。車両604が加速する場合、運転支援システムは、それに応答して車両602を(任意選択で所定の最大速度まで)加速させてよい。車両604が減速する場合、運転支援システムは、それに応答して車両602を制動して、それらの間の少なくとも距離606を維持してよい。距離606は、運転エンベロープの対象とすることができる。
【0073】
いくつかの実装において、運転者Cは、距離606が運転者Dに好まれるものよりも比較的短いことを好む場合がある。例えば、運転者Cが車両602に乗車している場合、距離606が比較的短い長さであることで、運転支援システムが車両602をより頻繁に制動する場合がある。しかしながら、運転者Cは、距離606が比較的短いことで、車両602及び604間で車線に割り込む車両が比較的少数であることを好む場合がある。
【0074】
対照的に、運転者Dが車両602に乗車している場合、運転者Dの運転エンベロープに関連付けられている距離606が比較的長い長さである結果として、車両602及び604間で車線により多くの車両が割り込む場合がある。しかしながら、運転者Dは、距離606が比較的長いことで、運転支援システムが車両602をより低い頻度で制動することを評価し得る。
【0075】
図7は、車両702に対するアクションの実行における運転エンベロープの使用の別の例700を示している。例700は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。車両702は、現在、速度706でカーブ704を通って進行しており、これは速度ベクトルで模式的に示されている。カーブ704に起因して車両702がターンすることは、車両702(及び運転者)が横方向加速度708を受けることに対応し、これは、力ベクトルとして模式的に示されている。横方向加速度708は、カーブ704がどの程度鋭角であるか(例えば、全ての点におけるその曲率半径)及び速度706に依存する。運転者Eは、カーブに関して速度706の最小の減速のみ(又は減速無し)を好む場合があり、カーブ704を通って進む場合に横方向加速度708の比較的に高いインスタンスを気にしない場合がある。運転者Eのための運転エンベロープの生成において、(例えば、他の観察された操作と一緒に)上記事項を考慮することができる。
【0076】
他方、運転者Fは、カーブに関して速度706のはっきりと分かる減速を好み得、カーブ704を通って進む場合に横方向加速度708の比較的高いインスタンスを快適に感じない可能性がある。運転者Fのための運転エンベロープの生成において、(例えば、他の観察された操作と一緒に)上記事項を考慮することができる。
【0077】
図8A~
図8Bは、車両804に対するアクションの実行における運転エンベロープの使用の他の例800及び802を示している。例800及び802は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。例800において、車両804は、現在、車道810上で車両808から距離806だけ後方で停止されており、車両808も同様に静止している。すなわち、渋滞又は交通信号灯等に起因して、車道810上に見えている車両は現在いずれも動いていない。運転者Gは、車両804を制御して、運転者Gのプレファレンス又は通例のプラクティスとして、車両808から距離806を置いて停止させる。運転者Gのための運転エンベロープの生成において、(例えば、他の観察された操作と一緒に)上記事項を考慮することができる。
【0078】
例802において、車両804は、運転者Hによって制御されており、現在、車道810上で、前方に移動し始めた車両808の距離812だけ後方で停止されている。すなわち、車道810上に見えている車両は、渋滞又は交通信号灯等に起因して最近停止した可能性があり、車両804が静止したままである間に車両808が移動することによって、距離812は現在増加している。運転者Hは、車両808からの距離812が、車両804及び808が静止していたときの距離に比較して特定の長さまで増加すると、車両804の前方移動を開始する。運転者Hは、プレファレンス又は通例のプラクティスとして、これを行う。運転者Hのための運転エンベロープの生成において、(例えば、他の観察された操作と一緒に)上記事項を考慮することができる。
【0079】
図9は、車両に対するアクションの実行における運転エンベロープの使用の別の例900を示している。例900は、本明細書の他の場所に記載されている1又は複数の他の例とともに使用することができる。車両902は、現在、2つの隣接車線のいずれかにおいて進行する一方通行の車道904上で運転されている。ここで、大型車両906(例えば、1又は複数のセミトレーラを備えるトラクタ、又はバス)もまた、車道904上に存在している。大型車両906及び車両902は、車道904上で現在互いに並んでいる。例えば、大型車両906及び車両902は、同じ速度で進んでいてもよく、又は、大型車両906又は車両902のいずれかが、現在他方を追い越しているところであってよい。車両902は、現在右車線に位置しており、大型車両906は、現在左車線に位置している。ここで、右及び左という用語は、車両902の運転者の観点から使用されている。運転者Iは、車両902を制御して、運転者Iのプレファレンス又は通例のプラクティスとして大型車両906から距離908を作り出す。例えば、距離908は、車線バイアスと称され得る。
【0080】
いくつかの実装において、運転者Iは、車両902の運転支援システムから制御を少なくとも部分的に引き継ぐことの一環として、距離908を作り出すことができる。例えば、運転者Iは、運転支援システムが大型車両906に対して過度に少なく(又は過度に多く)車線バイアスを用いていると感じる場合があり、したがって、車線バイアスを増加(又は減少)させるために制御を引き継ぐことを好む場合がある。それに応じて、運転支援システムは、それ以降(例えば、距離908に対応する)異なる車線バイアスを適用するように、運転者Iによる引き継ぎを車線バイアスについてのユーザフィードバックとして解釈することができる。
【0081】
運転者Iのための運転エンベロープの生成において、(例えば、他の観察された操作と一緒に)上記事項を考慮することができる。
【0082】
図10は、本明細書に記載したシステム、装置、及び/又は技法、又は様々な可能な実施形態において利用され得る任意の他のシステム、装置、及び/又は技法のいずれかを含む、本開示の態様を実施するために使用することができるコンピューティングデバイス1000の例示的なアーキテクチャを示している。
【0083】
図10に示すコンピューティングデバイスは、本明細書に記載したオペレーティングシステム、アプリケーションプログラム及び/又はソフトウェアモジュール(ソフトウェアエンジンを含む)を実行するために使用することができる。
【0084】
コンピューティングデバイス1000は、いくつかの実施形態において、中央処理装置(CPU)等の、少なくとも1つの処理デバイス1002(例えば、プロセッサ)を備える。様々な製造業者、例えば、Intel又はAdvanced Micro Devicesから、様々な処理デバイスが入手可能である。この例において、コンピューティングデバイス1000は、システムメモリ1004、及びシステムメモリ1004を含む様々なシステムコンポーネントを処理デバイス1002に結合するシステムバス1006も備える。システムバス1006は、限定されるものではないが、メモリバス、又はメモリコントローラ、ペリフェラルバス、及び様々なバスアーキテクチャのいずれかを使用するローカルバスを含む、使用可能な任意の数のタイプのバス構造のうちの1つである。
【0085】
コンピューティングデバイス1000を使用して実施することができるコンピューティングデバイスの例は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルコンピューティングデバイス(スマートフォン、タッチパッドモバイルデジタルデバイス、又は他のモバイルデバイス等)、又はデジタル命令を処理するように構成された他のデバイスを含む。
【0086】
システムメモリ1004は、リードオンリメモリ1008及びランダムアクセスメモリ1010を含む。スタートアップ時等に、コンピューティングデバイス1000内に情報を転送するように作用する基本ルーチンを含む基本入力/出力システム1012を、リードオンリメモリ1008に記憶することができる。
【0087】
コンピューティングデバイス1000は、いくつかの実施形態において、デジタルデータを記憶するための、ハードディスクドライブ等の、二次ストレージデバイス1014も備える。二次ストレージデバイス1014は、二次ストレージインタフェース1016によってシステムバス1006に接続されている。二次ストレージデバイス1014及びその関連付けられたコンピュータ可読媒体は、コンピュータ可読命令(アプリケーションプログラム及びプログラムモジュールを含む)、データ構造体、及びコンピューティングデバイス1000のための他のデータの不揮発性及び非一時的ストレージを提供する。
【0088】
本明細書に記載した例の環境は、ハードディスクドライブを二次ストレージデバイスとして使用しているが、他の実施形態においては、他のタイプのコンピュータ可読記憶媒体が使用される。これらの他のタイプのコンピュータ可読記憶媒体の例は、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、コンパクトディスクリードオンリメモリ、デジタル多用途ディスクリードオンリメモリ、ランダムアクセスメモリ、又はリードオンリメモリを含む。いくつかの実施形態は、非一時的媒体を含む。例えば、コンピュータプログラム製品は、非一時的記憶媒体において有形に具現化することができる。さらに、そのようなコンピュータ可読記憶媒体は、ローカルストレージ又はクラウドベースのストレージを含むことができる。
【0089】
オペレーティングシステム1018、1又は複数のアプリケーションプログラム1020、他のプログラムモジュール1022(本明細書に記載したソフトウェアエンジン等)、及びプログラムデータ1024を含む、複数のプログラムモジュールを、二次ストレージデバイス1014及び/又はシステムメモリ1004に記憶することができる。コンピューティングデバイス1000は、Microsoft(登録商標) Windows(登録商標)、Google Chrome(登録商標)OS、Apple(登録商標) OS、Unix(登録商標)、又はLinux(登録商標)及び変形、及びコンピューティングデバイスに好適な任意の他のオペレーティングシステム等の、任意の好適なオペレーティングシステムを使用することができる。他の例は、Microsoft、Google、又はAppleオペレーティングシステム、又はタブレットコンピューティングデバイスにおいて使用される任意の他の好適なオペレーティングシステムを含むことができる。
【0090】
いくつかの実施形態において、ユーザは、1又は複数の入力デバイス1026を通してコンピューティングデバイス1000に入力を提供する。入力デバイス1026の例は、キーボード1028、マウス1030、(例えば、音声及び/又は他のオーディオ入力のための)マイク1032、タッチセンサ1034(タッチパッド又はタッチ感応ディスプレイ等)及び(例えば、ジェスチャ入力のための)ジェスチャセンサ1035を含む。いくつかの実装において、入力デバイス1026は、存在、近接、及び/又はモーションに基づいて検出を提供する。いくつかの実装において、ユーザは、自身の家に歩いて入ることがあり、これは、処理デバイスへの入力をトリガし得る。例えば、この場合、入力デバイス1026は、ユーザのための自動化体験を促進し得る。他の実施形態は、他の入力デバイス1026を含む。入力デバイスは、システムバス1006に結合された入出力インタフェース1036を通して処理デバイス1002に接続することができる。これらの入力デバイス1026は、パラレルポート、シリアルポート、ゲームポート、又はユニバーサルシリアルバス等の任意の数の入出力インタフェースによって接続することができる。入力デバイス1026及び入出力インタフェース1036間の無線通信も可能であり、ほんの数例を挙げると、いくつかの可能な実施形態において、赤外線、BLUETOOTH(登録商標)無線技術、802.11a/b/g/n、セルラ、超広帯域(UWB)、ZigBee(登録商標)、又は他の無線周波数通信システムを含む。
【0091】
この例の実施形態において、モニタ、液晶ディスプレイデバイス、発光ダイオードディスプレイデバイス、プロジェクタ、又はタッチ感応ディスプレイデバイス等のディスプレイデバイス1038もまた、ビデオアダプタ1040等のインタフェースを介してシステムバス1006に接続されている。ディスプレイデバイス1038に加えて、コンピューティングデバイス1000は、スピーカ又はプリンタ等の様々な他の周辺デバイス(図示せず)を含むことができる。
【0092】
コンピューティングデバイス1000は、ネットワークインタフェース1042を通して1又は複数のネットワークに接続することができる。ネットワークインタフェース1042は、有線及び/又は無線通信を提供することができる。いくつかの実装において、ネットワークインタフェース1042は、無線信号を送信及び/又は受信するための1又は複数のアンテナを含むことができる。ローカルエリアネットワーキング環境又はワイドエリアネットワーキング環境(インターネット等)において使用される場合、ネットワークインタフェース1042は、イーサネット(登録商標)インタフェースを含むことができる。他の可能な実施形態は、他の通信デバイスを使用する。例えば、コンピューティングデバイス1000のいくつかの実施形態は、ネットワークを通じて通信するためのモデムを含む。
【0093】
コンピューティングデバイス1000は、少なくとも何らかの形態のコンピュータ可読媒体を含むことができる。コンピュータ可読媒体は、コンピューティングデバイス1000によってアクセスすることができる任意の利用可能な媒体を含む。例として、コンピュータ可読媒体は、コンピュータ可読記憶媒体及びコンピュータ可読通信媒体を含む。
【0094】
コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール又は他のデータ等の情報を記憶するように構成された、任意のデバイス内に実装される、揮発性及び不揮発性、リムーバブル及びノンリムーバブル媒体を含む。コンピュータ可読記憶媒体は、限定されるものではないが、ランダムアクセスメモリ、リードオンリメモリ、電子的消去可能プログラマブルリードオンリメモリ、フラッシュメモリ又は他のメモリ技術、コンパクトディスクリードオンリメモリ、デジタル多用途ディスク又は他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイス、又は、所望の情報を記憶するために使用することができ、かつコンピューティングデバイス1000によってアクセスすることができる任意の他の媒体を含む。
【0095】
コンピュータ可読通信媒体は、典型的には、コンピュータ可読命令、データ構造体、プログラムモジュール、又は他のデータを搬送波等の変調データ信号又は他の伝送メカニズムにおいて具現化するものであり、任意の情報配信媒体を含む。「変調データ信号」という用語は、情報を信号にエンコードするように、その特性のうちの1又は複数が設定又は変更された信号を指す。例として、コンピュータ可読通信媒体は、有線ネットワーク又は直接有線接続等の有線媒体、及び、音響、無線周波数、赤外線、及び他の無線媒体等の無線媒体を含む。上記のいずれかの組み合わせもまた、コンピュータ可読媒体の範囲内に含まれる。
【0096】
図10に示されているコンピューティングデバイスは、1又は複数のそのようなコンピューティングデバイスを含み得るプログラマブルエレクトロニクスの一例でもあり、複数のコンピューティングデバイスが含まれる場合、そのようなコンピューティングデバイスは、本明細書に開示されている様々な機能、方法、又は動作を集合的に実行するように、好適なデータ通信ネットワークと一緒に結合することができる。
【0097】
本明細書全体を通して使用されている「実質的に」及び「約」という用語は、処理におけるばらつき等に起因して、少しの変動を記述及び考慮するために使用されている。例えば、それらは、±5%未満又はそれに等しい、例えば±2%未満又はそれに等しい、例えば±1%未満又はそれに等しい、例えば±0.5%未満又はそれに等し、例えば±0.2%未満又はそれに等し、例えば±0.1%未満又はそれに等しい、例えば±0.05%未満又はそれに等しいことを指すことができる。また、本明細書で使用されるとき、「a」又は「an」等の不定冠詞は、「少なくとも1つ」を意味する。
【0098】
上記の複数のコンセプト、及び以下でより詳細に説明される追加の複数のコンセプトの全ての組み合わせ(そのような複数のコンセプトが相互に矛盾しない限り)が、本明細書に開示した本発明の主題の一部であると想定されることを理解されたい。特に、本開示の最後に現れる特許請求される主題の全ての組み合わせが、本明細書に開示されている本発明の主題の一部であると想定されている。
【0099】
複数の実装が記載された。しかしながら、本明細書の趣旨及び範囲から逸脱することなく、種々の修正が加えられ得ることを理解されたい。
【0100】
さらに、図に示した論理フローは、望ましい結果を実現するために、示されている特定の順序又は順番を必要とするものではない。さらに、他の複数の処理が提供されてもよく、又は記載したフローから複数の処理が排除されてもよく、他の複数のコンポーネントが記載したシステムに追加されるか又はそこから除去されてもよい。したがって、他の実装は以下の特許請求の範囲の範囲内である。
【0101】
記載した実装の特定の特徴が本明細書に記載したように例示したが、多くの修正、置換、変更、及び均等物がここで当業者に想起されるであろう。したがって、添付の特許請求の範囲は、上記実装の範囲内に入る全てのそのような修正及び変更を包含することを意図していることが理解される。それらは限定ではなく単に例として提示されており、形態及び詳細に様々な変更が加えられ得ることが理解されるべきである。本明細書に記載した装置及び/又は方法の任意の部分を、相互に排他的な組み合わせを除き、任意の組み合わせで組み合わせてよい。本明細書に記載した実装は、記載した異なる実装の機能、コンポーネント及び/又は特徴の様々な組み合わせ及び/又は部分的組み合わせを含むことができる。
【国際調査報告】