本明細書のいくつかの実施態様は、車両が出発地位置から目的地位置まで移動するための最適に安全で燃料効率の良い経路を選択するための技術および構成に関する。例えば、候補経路の中から最適経路を選択するときに、車両で使用される車載センサのタイプおよび性能を考慮に入れることができる。最適経路を選択するとき、本明細書のシステムは、各候補経路上の潜在的な道路特徴、各候補経路をナビゲートするために必要な視野(FOV)、車両の特徴および性能、各候補経路に沿った外部条件、ならびに各候補経路の予測燃料消費をさらに考慮に入れることができる。いくつかの例では、車両は、接続されたデータ分析プラットフォームにアクセスして、車両で利用可能な車載センサ、出発地位置、目的地位置、車両構成情報などに関する情報をデータ分析プラットフォームに提供することができる。さらに、車両は、データ分析プラットフォームから、目的地位置に到達するためにデータ分析プラットフォームによって選択された1つまたは複数の最適経路に関する情報を受信することができ、データ分析プラットフォームによって実行される最適化は、安全かつ燃費が良いと決定された経路の選択に少なくとも部分的に基づく。
本明細書のいくつかの例は、特定の車両で利用可能な搭載センサ、異なる候補経路の道路特徴、特定の車両の車両ダイナミクスなどを考慮して、特定の車両に最適に安全な経路を選択するデータ分析プラットフォームを含む。さらに、データ分析プラットフォームは、特定の車両の経路を選択するときに燃費も考慮することによって経路選択を実行するように構成されてもよい。上述したように、車両は、1つまたは複数のネットワークを介してなど、データ分析プラットフォームと接続することができ、車両の車載センサに関する情報および他の車両情報を共有することができる。さらに、車両は、データ分析プラットフォームに出発地位置および目的地位置を提供することができる。いくつかの例では、目的地位置が指定されていない場合、データ分析プラットフォームは、データベースに格納された車両に関連する以前の運転履歴またはデータ分析プラットフォームによって維持される他のデータ構造に基づくなどして、目的地位置を予測することができる。
一例として、(受信したユーザ入力または目的地の予測のいずれかに基づいて)目的地位置が決定された後、データ分析プラットフォームは、センサのタイプに少なくとも部分的に応じて、センサ位置、センサ範囲、センサ解像度、感知方向といった、車両に搭載されたセンサ(例えば、カメラ、レーダ、ライダー、超音波など)の性能を考慮しながら、出発地位置と目的地位置との間の複数の候補経路を分析することができる。個々の候補経路は、複数の道路区間に分割することができ、データ分析プラットフォームは、それぞれの候補経路に沿った各道路区間の必要視野(FOV)を推定することができる。例えば、必要FOVは、対応する道路区間のナビゲーション中に車両の安全な動作を保証するために人間の運転者または車両センサによって監視される必要があると予測される、車両の外部領域であってもよい。
さらに、データ分析プラットフォームは、人間の運転者によって行われる決定の数を減らすために自動運転時間を最大化するなどのために、車両の搭載センサによってカバーすることができる各道路区間の必要FOVの割合を決定することができる。したがって、データ分析プラットフォームは、自動運転時間量を最大化し、人間の運転者による車両操作への依存性を低減するために経路選択を実行することができる。最適経路オプションは、例えば、センサ性能および必要FOVに基づいて決定される、自動運転時間の総量に少なくとも部分的に基づくことができる。いくつかの例では、安全性に関して最高ランクの経路オプションが決定された後、データ分析プラットフォームは、車両ダイナミクス、経路構成、経路状況などを考慮することなどによって、これらの経路のうちのどれが最大燃料効率を提供するかを決定することができる。結果として得られる最適経路は、特定の車両にとって最適に安全で効率的な経路として選択することができる。
本明細書のシステムは、接続された完全自律型および半自律型車両に大きな利点を提供することができる。接続されたデータ分析プラットフォームおよび車両上で実行されるコネクティッドアプリケーションは、車両およびその乗員に改善された安全性および効率を提供する。データ分析プラットフォームおよびコネクティッドアプリケーションは、車両とデータ分析プラットフォームとの間のリアルタイムのデータおよび分析交換を可能にする。さらに、本明細書で開示されるアルゴリズムの少なくともいくつかは、データ分析プラットフォームをホストするリモートコンピューティングデバイスで実行される代わりに、またはそれに加えて、車両上のコンピューティングデバイスによって実行されてもよい。
さらに、本明細書の車両は、いかなる特定のセンサ構成にも限定されない。いくつかの例で使用され得る異なるタイプのセンサの例には、モノカメラ、ステレオカメラ、赤外線カメラ、レーダ、ライダー、GPS(全地球測位システム)受信機、超音波センサなどが含まれる。したがって、本明細書のセンサは、異なるソースおよびタイプの情報を捕捉および統合するために使用することができる。これらのセンサによって捕捉された車両の周囲の環境情報は、衝突を防止し、燃料消費を低減し、車両乗員の利便性および安全性を高めるなどのために、車両をインテリジェントに制御するように構成することができる車両コントローラへの入力情報として使用することができる。
いくつかの例では、データ分析プラットフォームは、コネクティッド車両の安全性および効率を改善するためにリアルタイム動作を実行することができる。例えば、データ分析プラットフォームは、場合によっては機械学習または他の人工知能アルゴリズムを使用して、安全性、効率、および快適性を向上させるなどのために車両に情報を提供することができる複数の相互接続されたモジュールを含むことができる。さらに、車両コンピューティングデバイスで実行されるコネクティッドアプリケーションは、車両構成および車両センサ構成を考慮して最も安全で最も効率的な経路を決定する際に車両を支援することができる。
本明細書の実施態様は、コネクティッドデータを使用して完全/部分的自律型車両の性能を大幅に改善することができる。コネクティッド車両は、データ分析プラットフォームとデータを共有することができ、データ分析プラットフォームは、クラウドデータベースおよびクラウドコンピューティング能力、ウェブベースの情報ソースへのアクセスを提供し、ならびに他の車両によって提供される情報へのアクセスを提供する。さらに、場合によっては、コネクティッド車両は、専用狭域通信(DSRC)、セルラ通信などを含む様々な通信プロトコルのいずれかを介してなど、データ分析プラットフォームに接続された他の車両と直接通信することができる。したがって、本明細書のコネクティッド車両は、改善された車両制御、安全性、快適性、効率などを実現するために他のソースからデータを受信することができる。同様に、本明細書のコネクティッド車両は、他のデータソースまたはユーザにデータを送信することができ、このデータは、例えば、交通渋滞、道路特徴、車両性能の決定、道路データベースの作成などのために使用することができる。
説明の目的のために、いくつかの例示的な実装形態は、センサ性能、ならびに車両性能、ローカル状況、予測燃料消費量などの他の考慮事項に基づいて、車両の経路(走行経路)を選択しナビゲートする環境で説明される。しかしながら、本明細書の実施態様は、提供される特定の例に限定されず、本明細書の開示に照らして当業者には明らかなように、他のタイプの感知装置、他のタイプの車両、他のタイプの通信、他のタイプのデータベース、他のタイプのコンピューティングプラットフォームおよびアーキテクチャなどに拡張されてもよい。
図1は、いくつかの実装形態による、例示的な経路選択および車両ナビゲーションシステムを示す。システム100は、1つまたは複数のネットワーク106を介して1つまたは複数のサービスコンピューティングデバイス108と通信することができる1つまたは複数の車両コンピューティングデバイス104を有する車両102を含む。車両102は、CANバス(コントローラエリアネットワークバス)(図1には示さず)などを介して車両コンピューティングデバイス104と通信する1つまたは複数のセンサ112および1つまたは複数の車両システム114をさらに含むことができる。
各車両コンピューティングデバイス104は、1つまたは複数のプロセッサ116、1つまたは複数のコンピュータ可読媒体118、1つまたは複数の通信インターフェース(I/F)120、および1つまたは複数の車両ヒューマンマシンインターフェース(HMI)122を含むことができる。いくつかの例では、車両コンピューティングデバイス104は、1つまたは複数のECU(電子制御ユニット)または様々な他のタイプのコンピューティングデバイスのいずれかを含むことができる。例えば、コンピューティングデバイス104は、ナビゲーション、ブレーキ、ステアリング、加速、減速などのADASおよび/またはADタスクを実行するなどのために、車両システム114の少なくともいくつかを制御するための1つまたは複数のADAS/AD ECUを含むことができる。コンピューティングデバイス104はまた、車両システム114の他のシステムを制御するなどのための、1つまたは複数の他のECUを含むことができる。
「ECU」は、車両内のシステム、サブシステム、または構成要素のうちの1つまたは複数を制御する任意の組み込み処理システムの総称である。車両制御プログラム124および経路選択プログラム126などのソフトウェアは、1つまたは複数のECUによって実行されてもよく、ECUが組み込みシステムとして動作することを可能にするために、それぞれのECUに関連するコンピュータ可読媒体118(例えば、以下で説明するように、プログラムROM、ソリッドステートストレージなど)の一部に格納されてもよい。ECUは、通常、車両バスプロトコルに従って、上述のCANバスなどの車両バスを介して互いに通信することができる。一例として、CANバスプロトコルは、ECUおよび車両システム114がホストコンピュータなしで互いに通信することを可能にする車両バスプロトコルである。CANバスは、少なくとも2つの異なるタイプを含むことができる。例えば、高速CANは、バスが環境の一端から他端まで延びるアプリケーションで使用され得るが、フォールトトレラントCANは、ノードのグループが一緒に接続される場合にしばしば使用される。
各ECUまたは他の車両コンピューティングデバイス104は、中央処理装置(CPU)、グラフィック処理装置(GPU)、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、ステートマシン、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスのうちの1つまたは複数を含むことができる、1つまたは複数のプロセッサ116を含むことができる。一例として、プロセッサ116は、本明細書に記載のアルゴリズムおよび他のプロセスを実行するように特にプログラムまたは構成された任意の適切なタイプの1つまたは複数のハードウェアプロセッサおよび/または論理回路を含むことができる。プロセッサ116は、コンピュータ可読媒体118に格納されたコンピュータ可読命令をフェッチおよび実行するように構成することができ、コンピュータ可読命令は、本明細書に記載の機能を実行するようにプロセッサ116をプログラムすることができる。
コンピュータ可読媒体118は、コンピュータ可読命令、データ構造、プログラム、プログラムモジュール、および他のコードまたはデータなどの情報を格納するための任意のタイプの技術で実装された揮発性および不揮発性メモリならびに/またはリムーバブルおよび非リムーバブル媒体を含むことができる。例えば、コンピュータ可読媒体118は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、光学記憶装置、固体記憶装置、磁気ディスク、ネットワーク接続記憶装置、クラウド記憶装置、または所望の情報を格納するために使用することができ、かつコンピューティングデバイスによってアクセスすることができる任意の他の媒体を含むことができるが、これらに限定されない。車両コンピューティングデバイス104の構成に応じて、コンピュータ可読媒体118は、言及される場合、非一時的コンピュータ可読媒体がエネルギー、搬送波信号、電磁波、および/または信号自体などの媒体を除外する限り、有形の非一時的媒体であってもよい。場合によっては、コンピュータ可読媒体118は車両コンピューティングデバイス104と同じ場所にあってもよいが、他の例では、コンピュータ可読媒体118の一部は車両コンピューティングデバイス104から離れていてもよい。
コンピュータ可読媒体118は、プロセッサ116によって実行可能な任意の数の機能構成要素を格納するために使用することができる。多くの実装形態では、これらの機能構成要素は、プロセッサ116によって実行可能であり、かつ実行されると、本明細書では車両コンピューティングデバイス104に起因する動作を実行するようにプロセッサ116を特にプログラムする命令またはプログラムを含む。コンピュータ可読媒体118に格納された機能構成要素は、車両制御プログラム124および経路選択プログラム126を含むことができ、それらの各々は、1つまたは複数のコンピュータプログラム、アプリケーション、実行可能コード、またはそれらの一部を含むことができる。さらに、この例ではこれらのプログラムが一緒に示されているが、使用中、これらのプログラムの一部またはすべては、別個の車両コンピューティングデバイス104上で実行されてもよい。あるいは、いくつかの例では、これらのプログラム124および126の各々は、単一のプログラムの一部であってもよい。
さらに、コンピュータ可読媒体118は、データ、データ構造、機械学習モデル、および本明細書に記載の機能およびサービスを実行するために使用される他の情報を格納することができる。例えば、コンピュータ可読媒体118は、車両に搭載されたセンサのセンサタイプ、視野、解像度、範囲および他の性能、現在の状態および操作性などに関する情報を含むセンサ構成情報128を格納することができる。さらに、コンピュータ可読媒体118は、パワートレイン情報、サスペンション情報、タイヤ情報、ならびに車両のブランド、モデル、年式、トリムレベルなどの車両に関する情報を含む車両構成情報130を格納することができる。さらに、コンピュータ可読媒体118は、車載センサ112から受信したセンサデータ132を少なくとも一時的に格納することができ、これは、旅行中に検出されたランドマークに関する情報、車両位置情報などを含むことができる。
さらに、この例では機能構成要素、データ、およびデータ構造が一緒に示されているが、使用中、これらの要素の一部またはすべては、別のコンピューティングデバイス104に、または別のコンピューティングデバイス104によって格納されてもよい。コンピューティングデバイス104はまた、プログラム、ドライバなどを含むことができる他の機能構成要素およびデータ、ならびに他の機能構成要素によって使用または生成されるデータを含むかまたは維持することができる。さらに、コンピューティングデバイス104は、多くの他の論理的、プログラム的、および物理的構成要素を含むことができ、そのうちの上述したものは、本明細書の説明に関連する例にすぎない。
1つまたは複数の通信インターフェース120は、CANバスおよび/または1つまたは複数のネットワーク106を介してなど、様々な他のデバイスとの通信を可能にするための1つまたは複数のソフトウェアおよびハードウェア構成要素を含むことができる。例えば、通信インターフェース120は、本明細書の他の箇所にさらに列挙されているように、LAN、インターネット、ケーブルネットワーク、セルラネットワーク、無線ネットワーク(例えば、Wi-Fi)および有線ネットワーク(例えば、CAN、ファイバチャネル、光ファイバ、イーサネット)、直接接続、ならびにBLUETOOTH(登録商標)などの近距離通信のうちの1つまたは複数を介した通信を可能にすることができる。
一つ以上のネットワーク106は、セルラネットワークなどの無線ネットワーク、インターネットなどの広域ネットワーク、イントラネットなどのローカルエリアネットワーク、Wi-Fiなどのローカル無線ネットワーク、BLUETOOTH(登録商標)またはDSRCなどの近距離無線通信、光ファイバおよびイーサネットを含む有線ネットワーク、上記の任意の組み合わせ、または任意の他の適切な通信ネットワークを含む任意の適切なネットワークを含んでもよいそのような通信技術のために使用される構成要素は、ネットワークのタイプ、選択された環境、またはその両方に少なくとも部分的に依存しうる。そのようなネットワークを介して通信するためのプロトコルは周知であり、ここでは詳細に説明しない。
センサデータ132は、車載センサ112から受信したセンサデータを含むことができる。例えば、車載センサ112は、カメラシステム、レーダ、LIDAR、超音波、全地球航法衛星システム(GNSS)受信機(以下、一般使用名「GPS」によって参照され、任意の他の衛星航法システムも含むことが意図される)、加速度計、コンパスなどの複数の異なるタイプのセンサのいずれかを含み得る。加えて、車両制御プログラム124によって使用されるセンサデータ132は、サスペンションシステムに関連するサスペンションコントローラ、ステアリングシステムに関連するステアリングコントローラ、ブレーキおよび加速システムに関連する車速コントローラなど(図1には示さず)からなど、様々な車両システム114から受信される、またはそれに関連する情報を含むことができる。
例えば、車両制御プログラム124は、ルールベースおよび/または人工知能ベースの制御アルゴリズムを使用して、車両制御のためのパラメータを決定することができる。例えば、車両制御プログラム124は、ブレーキ、ステアリング、加速などの適切な動作を決定することができ、決定された動作に基づいて、1つまたは複数の制御信号を1つまたは複数の車両システム114に送信することができる。例えば、車両制御プログラム124は、いくつかのアプリケーションで車両を制御または部分的に制御するために、サスペンションコントローラ、ステアリングコントローラ、および/または車速コントローラに制御信号を送信することができる。
ヒューマンマシンインターフェース122は、ボタン、ノブ、ジョイスティック、タッチスクリーン、スピーカ、マイクロフォン、音声認識および人工音声技術、アイモニタリングカメラ、バイタルサインモニタなどの機内センサなどの任意の適切なタイプの入出力装置を含むことができる。一例として、車両乗員は、音声コマンドまたはタッチスクリーン入力などを介して目的地位置を示すためにヒューマンマシンインターフェース122を使用することができる。本明細書における実装形態は、いかなる特定のタイプのヒューマンマシンインターフェース122にも限定されない。
サービスコンピューティングデバイス108は、任意の数の方法で具現化することができる、1つまたは複数のサーバまたは他のタイプのコンピューティングデバイスを含むことができる。例えば、サーバの場合、プログラム、他の機能構成要素、およびデータは、単一のサーバ、サーバのクラスタ、サーバファームまたはデータセンタ、クラウドホストコンピューティングサービスなどに実装されてもよいが、他のコンピュータアーキテクチャが追加的または代替的に使用されてもよい。
さらに、図は、サービスコンピューティングデバイス108の機能構成要素およびデータを単一の場所に存在するものとして示しているが、これらの構成要素およびデータは、代替的に、任意の方法で異なるコンピューティングデバイスおよび異なる場所に分散されてもよい。その結果、機能は、1つまたは複数のサービスコンピューティングデバイスによって実装されてもよく、本明細書に記載の様々な機能は、様々なコンピューティングデバイスにわたって様々な方法で分散される。複数のサービスコンピューティングデバイス108は、一緒にまたは別々に配置され、例えば、仮想サーバ、サーババンク、および/またはサーバファームとして編成されてもよい。記載された機能は、単一のエンティティまたは企業のサーバによって提供されてもよく、または複数の異なるエンティティまたは企業のサーバおよび/またはサービスによって提供されてもよい。
図示の例では、各サービスコンピューティングデバイス108は、1つまたは複数のプロセッサ140、1つまたは複数のコンピュータ可読媒体142、および1つまたは複数の通信インターフェース144を含むことができる。各プロセッサ140は、単一のプロセッシングユニットまたはいくつかのプロセッシングユニットであってもよく、単一もしくは複数のコンピューティングユニットまたは複数のプロセッシングコアを含んでもよい。プロセッサ140は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、ステートマシン、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実装することができる。例えば、プロセッサ140は、本明細書に記載のアルゴリズムおよびプロセスを実行するように特にプログラムまたは構成された任意の適切なタイプの1つまたは複数のハードウェアプロセッサおよび/または論理回路であってもよい。プロセッサ140は、コンピュータ可読媒体142に格納されたコンピュータ可読命令をフェッチおよび実行するように構成することができ、コンピュータ可読命令は、本明細書に記載の機能を実行するようにプロセッサ140をプログラムすることができる。
コンピュータ可読媒体142は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意のタイプの技術で実装された揮発性および不揮発性メモリならびに/またはリムーバブルおよび非リムーバブル媒体を含むことができる。そのようなコンピュータ可読媒体142は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、光記憶装置、固体記憶装置、磁気テープ、磁気ディスク記憶装置、記憶装置アレイ、ネットワーク接続記憶装置、記憶装置エリアネットワーク、クラウド記憶装置、または所望の情報を格納するために使用することができ、かつコンピューティングデバイスによってアクセスすることができる任意の他の媒体を含むことができるが、これらに限定されない。サービスコンピューティングデバイス108の構成に応じて、コンピュータ可読媒体142は、本明細書で言及される場合、非一時的コンピュータ可読媒体がエネルギー、搬送波信号、電磁波、および信号自体などの媒体を除外する限り、一種のコンピュータ可読記憶媒体であってもよく、および/または有形の非一時的媒体であってもよい。
コンピュータ可読媒体142は、プロセッサ140によって実行可能な任意の数の機能構成要素を格納するために使用することができる。多くの実装形態では、これらの機能構成要素は、プロセッサ140によって実行可能であり、実行されると、サービスコンピューティングデバイス108に起因する上述した動作を実行するように1つまたは複数のプロセッサ140を特に構成する命令またはプログラムを含む。コンピュータ可読媒体142に記憶された機能構成要素は、経路指定情報などのナビゲーション情報を決定して車両コンピューティングデバイス104に送信するようにサービスコンピューティングデバイス108を構成するために実行することができるナビゲーション情報プログラム146を含むことができる。例えば、ナビゲーション情報プログラム146は、車両の最適経路を決定するために、ならびに他の機能を実行するために実行することができる、1つまたは複数の記述分析モジュール148、1つまたは複数の予測分析モジュール150、および1つまたは複数の規範分析モジュール152を含むことができる。
記述分析モジュール148の例は、通信、暗号化/復号、データフィルタリング、データ融合、および候補経路予測および監視を実行するモジュールを含むことができる。予測分析モジュール150の例は、目的地予測、候補経路予測および監視、速度プロファイル決定、ならびに異常予測を含むことができる。規範分析モジュール152の例は、車両および/または車両乗員の安全性、効率、快適性などを管理するためのモジュールを含むことができる。例えば、規範分析モジュール152は、道路異常、運転者の挙動を管理するためのモジュール、走行展望を決定するためのモジュール、効率的なアダプティブクルーズコントロール(ACC)動作を決定するためのモジュール、サスペンション制御を決定するためのモジュール、乗員ストレスレベルを決定するためのモジュールなどを含み得る。
さらに、コンピュータ可読媒体142は、本明細書に記載の動作を実行するために使用されるデータを格納またはアクセスすることができる。さらに、いくつかの例では、データは、1つまたは複数のデータベース154などの任意の適切なタイプのデータ構造に格納することができる。データベース154の例は、地図データデータベース156、時系列データデータベース158、画像データデータベース160、および車両データデータベース162を含むことができる。例えば、地図データデータベース156は、選択された道路区間の必要FOV、道路プロファイル、高精細地図、および様々な地理的地域の標準地図に関する情報を含むことができる。さらに、時系列データデータベース158は、トラフィックデータ、気象データ、車両通信データ、車両CANデータ、センサデータなどの情報を含むことができる。さらに、画像データデータベース160は、インフラストラクチャカメラ、携帯電話カメラ、車載カメラなどから受信することができるような、道路、ランドマーク、交差点などの画像を維持することができる。さらに、車両データデータベース162は、システム100を使用する各車両に関する情報を含むことができ、これは、車両と通信するために使用する車両識別情報、センサ構成情報128、車両構成情報130、車両または車両乗員の過去の目的地、乗員情報および好みを含む乗員プロファイルなど、車両に関連する所有者または他の乗員に関する情報などを含むことができる。
さらに、サービスコンピューティングデバイス108はまた、プログラム、ドライバなどを含むことができる、図1に具体的に示されていない他の機能構成要素およびデータ、ならびに機能構成要素によって使用または生成されるデータを含むかまたは保持することができる。さらに、サービスコンピューティングデバイス108は、多くの他の論理的、プログラム的、および物理的構成要素を含むことができ、そのうちの上述したものは、本明細書の説明に関連する例にすぎない。AIベースのアルゴリズムおよびモデルなどのために、本明細書のモジュール148、150および/または152のいくつかの例で使用することができる機械学習モデル(MLM)の例は、予測モデル、決定ツリー、分類器、線形回帰モデルなどの回帰モデル、サポートベクターマシン、マルコフモデルおよび隠れマルコフモデルなどの確率モデル、ならびに自己組織化ニューラルネットワーク、リカレントニューラルネットワーク、畳み込みニューラルネットワーク、モジュラーニューラルネットワーク、ディープラーニングニューラルネットワークなどの人工ニューラルネットワークを含むことができる。
通信インターフェース144は、ネットワーク106を介してなど、様々な他のデバイスとの通信を可能にするための1つまたは複数のインターフェースおよびハードウェア構成要素を含むことができる。例えば、通信インターフェース144は、本明細書の他の箇所にさらに列挙されるように、インターネット、ケーブルネットワーク、セルラネットワーク、無線ネットワーク(例えば、Wi-Fi)および有線ネットワーク(例えば、光ファイバおよびイーサネット)、ならびにBLUETOOTH(登録商標)、BLUETOOTH(登録商標)低エネルギー、DSRCなどの近距離通信のうちの1つまたは複数を介した通信を可能にすることができる。
加えて、サービスコンピューティングデバイス108、場合によっては車両コンピューティングデバイス104は、ウェブサーバ、サービスプロバイダコンピューティングデバイス、パブリックデータベース、プライベートデータベースなどの1つまたは複数の情報ソースコンピューティングデバイスと、1つまたは複数のネットワーク106を介して通信することができる。これに示されている情報ソースコンピューティングデバイスは、サービスコンピューティングデバイス108および/または車両コンピューティングデバイス104に地図データ166を提供することができる1つまたは複数の地図プロバイダコンピューティングデバイス164を含む。さらに、1つまたは複数のOEM(相手先商標製造)コンピューティングデバイスは、それらが製造する車両に関するOEM情報170を提供することができ、および/またはそれらの車両に関する情報をサービスコンピューティングデバイス108から受信することができる。さらに、1つまたは複数の政府コンピューティングデバイス172は、道路情報、自動車情報の部門、工事情報などの政府データ174を提供することができる。
情報ソースコンピューティングデバイス164、168および172は、上述したサービスコンピューティングデバイス108と同様のハードウェアおよびソフトウェア構成を含むことができるが、それらには異なる機能構成要素およびデータが格納されるか、または関連付けられる。さらに、いくつかのタイプの情報ソースコンピューティングデバイスが本明細書に記載されているが、多数の他のタイプの情報ソースコンピューティングデバイスが、サービスコンピューティングデバイス108および/または車両コンピューティングデバイス104に情報を提供することができる。例えば、情報ソースコンピューティングデバイスは、気象条件、トラフィック、道路閉鎖、特別イベントなどに関して、指定された道路区間の現在の状態を示すためのローカル状況データをサービスコンピューティングデバイス108に提供することができる。
さらに、ユーザコンピューティングデバイス180は、情報および/または命令をサービスコンピューティングデバイス108に提供するために、1つまたは複数のユーザアプリケーション182を実行することができる。例えば、ユーザコンピューティングデバイスは、1つまたは複数のネットワーク106を介してサービスコンピューティングデバイス108と直接通信するために使用され得る、携帯電話、スマートフォン、タブレット、ウェアラブルデバイスなどのモバイルデバイスであってもよい。一例として、ユーザアプリケーション182はブラウザを含むことができ、ユーザはブラウザを使用して、好みを設定する、車両102に関する情報を提供する、ユーザに関する情報を提供するなどのために、ウェブアプリケーション、ウェブサイト、または他の適切なユーザインターフェースを介してサービスコンピューティングデバイス108と対話することができる。
一例として、車両コンピューティングデバイス104は、サービスコンピューティングデバイス108に、旅行のための出発地および目的地情報184を提供することができる。例えば、経路選択プログラム126は、車両コンピューティングデバイス104によって実行されて、所望の移動のための出発地位置および目的地位置をサービスコンピューティングデバイス108に送信することができる。加えて、サービスコンピューティングデバイス108が車両データデータベース162内にセンサ構成情報128および/または車両構成情報130をまだ所有していない場合、車両コンピューティングデバイス104は、この情報をサービスコンピューティングデバイス108に提供することができる。あるいは、他の例では、車両コンピューティングデバイス104は、単に出発地位置情報をサービスコンピューティングデバイス108に提供し、サービスコンピューティングデバイス108に経路を要求することができる。それに応答して、サービスコンピューティングデバイスは、現在時刻および現在位置、ならびに車両102によって行われた過去の旅行の分析などに基づいて目的地位置を予測することができる。さらに別の例として、サービスコンピューティングデバイス108は、ヒューマンマシンインターフェース122に、目的地位置に関して車両乗員に問い合わせるように通信を送信することができる。
以下でさらに詳細に説明するように、サービスコンピューティングデバイス108は、ナビゲーション情報プログラム146を実行して、出発地位置から目的地位置までの車両102の最適経路を決定することができる。例えば、サービスコンピューティングデバイスは、記述分析モジュール148、予測分析モジュール150、および規範分析モジュール152を実行して、最適経路を決定することができる。最適経路を決定すると、サービスコンピューティングデバイス108は、選択された最適経路186を車両コンピューティングデバイス104に送信することができる。車両制御プログラム124は、車両コンピューティングデバイス104によって実行されて、最適経路186に従って車両をナビゲートすることができる。最適経路186の決定および選択の詳細は、図2~図19に関して以下でさらに説明される。
部分的/完全自律型車両のためのコネクティッド車両技術の利点を実現するために、コネクティッドデータ分析プラットフォーム145は、上述したように、車両102、インフラストラクチャカメラおよび他のセンサ、携帯電話、他の交通データサービスなどの異なるソースから様々な異なるタイプのデータを受信することができる。データ分析プラットフォーム145は、記述分析モジュール148、予測分析モジュール150、および規範分析モジュール152などの分析層に分類された様々な異なるモジュールを使用することによって、受信したデータを処理してエンドユーザに対する価値を導出することができる。記述分析モジュール148は、データ処理、認証、データフィルタリング、データ融合などに使用される複数のモジュールを含むことができる。予測分析モジュール150は、AIアルゴリズム、シミュレーションプログラムなどを使用することなどによって、車両速度、経路、異常予測などの車両制御に予想される異なる特徴を予測するために使用することができる。規範分析モジュール152は、安全性、効率、快適性などのそれぞれの要件に基づいて様々なエンドユーザに価値を提供するAIモジュールを含むことができる。したがって、データ分析プラットフォーム145は、ユーザ入力および/または予測に基づいて価値を提供することができる。さらに、図1の例では3つの異なるタイプのモジュールが説明されているが、本明細書のシステムの他の例では、より少ないまたはより多いタイプのモジュールが使用されてもよい。
さらに、経路計画に加えて、またはその代わりに、様々な異なるタイプのサービスを提供するために、異なるコネクティッドアプリケーションをエンドユーザに提供することができる。例えば、データ分析プラットフォーム145は、車両乗員の安全に関する分析および決定を行うための道路異常および運転者挙動情報を提供することができる。さらに、走行展望は、利用可能なデータ道路プロファイル、トラフィック、車両パワートレイン、他の車両構成データなどに基づいて、燃料節約を達成するための特定の経路の最適な車両走行速度を提案することなどによって効率を決定するために、データ分析プラットフォームによって使用され得る。さらに、データ分析プラットフォーム145は、複数の車両からの集約車両データをOEMなどの他のサードパーティエンティティと共有することができ、地図プロバイダ、気象情報プロバイダなどのサードパーティエンティティからデータを取り込むことを可能にすることもできる。
システム100では、経路選択プログラム126は、データ分析プラットフォーム145に接続するための通信機能を含む。さらに、経路選択プログラム126は、GPS受信機などを介して、車載センサ112から現在の車両位置を決定することができる。したがって、経路選択プログラム126を実行して、現在の車両位置に関する情報、車載センサ構成情報128、およびパワートレイン、トリムレベルなどの車両構成情報130をデータ分析プラットフォーム145に送信することができる。データ分析プラットフォーム145は、ナビゲーション情報プログラム146を実行して車両情報を処理し、目的地位置が車両コンピューティングデバイス104から受信されている場合、記述分析モジュール148を使用して、出発地位置から目的地位置までの候補経路を決定することができる。一方、車両コンピューティングデバイス104から受信した情報から目的地位置を決定することができない場合、予測分析モジュール150を実行して、車両データデータベース162内に格納された車両履歴などに基づいて、車両乗員の所望の目的地を予測することができる。受信した入力から、または予測に基づいて目的地位置が決定された後、候補経路を、例えば図5に関して以下でさらに説明するように決定することができる。
図2は、いくつかの実装形態による、車両102の車載センサカバレッジ200の例を示す。車両102は、車両の走行経路に沿った道路、障害物、標識、ランドマークなどを検出および認識し、部分的または完全自律である間、ナビゲートおよびあらゆる衝突の回避のために、広範囲のセンサを装備することができる。例えば、自動車技術会(SAE)によって定義されているように、レベル0からレベル5まで6レベルの運転自動化がある。特に、「レベル0」(運転自動化なし)では、運転者は、ステアリング、ブレーキ、加速などのすべての操作タスクを実行する。「レベル1」(運転者支援)では、車両はいくつかの機能(例えば、クルーズコントロール)で支援することができるが、運転者は依然として加速、ブレーキ、および周囲環境の監視のすべてを処理する。「レベル2」(部分運転自動化)では、車両は、ステアリングまたは加速機能を支援し、運転者がタスクの一部から離れることを可能にすることができる。アダプティブクルーズコントロール(ACC)は、レベル2の自律性の一例である。
自動運転の概念は、主に「レベル3」(条件付き運転自動化)から始まり、このレベルでは、車両自体が周囲を監視し、車両に対して何らかの制御を及ぼすことができる(例えば、自律駐車)。レベル3では、運転者が引き継ぐことができなければならない。「レベル4」(高度な運転自動化)では、車両はほとんどの場合独立して運転することができるが、すべての条件が満たされない限り動作しない。「レベル5」(完全な運転自動化)では、車両はあらゆる条件でどこでも運転することができる。自律型車両システムはすべての重要なタスクを制御し、周囲を監視し、渋滞、障害物、道路閉鎖などの固有の運転状態を識別するので、ペダルまたはステアリングホイールは必要ない。
より高いレベルの自動化(すなわち、レベル3~レベル5)のために、車両102は、障害物を回避し、安全にナビゲートするために、車両102の周囲360度を連続的に監視することができる。車両102に使用され得る様々な異なるタイプのセンサおよび感知技術がある。一般的に使用されるセンサは、モノカメラ、ステレオカメラ、赤外線カメラ、レーダ、ライダー、レーザ、超音波センサ、GPS受信機などを含むことができる。任意の特定の運転者支援システムアプリケーションまたは任意の特定のレベルの運転自動化のために、センサは、検出範囲、検出能力のタイプ、電力要件、コスト、生成されるデータ量などを含むことができる、センサタイプの利点および欠点に基づいて選択することができる。各センサタイプは、利点および欠点を有する可能性があり、したがって、様々な気象または他のタイプの条件における精度を改善するために、車両102上での使用において異なるタイプのセンサを組み合わせることができる。例えば、単一のセンサタイプは、特定の気象条件における認識精度または範囲要件を満たすことができない可能性がある。
一例として、カメラ(モノ/ステレオ)は、暗闇や悪天候の中ではうまく機能せず、検出範囲は、同様の価格のレーダセンサと比較して比較的低くなり得る。しかしながら、レーダセンサは、車道内の人を検出できず、レーンマーカの検出が困難な場合がある。一方、レーダセンサは、他のセンサタイプと比較して、他の車両の長距離検出のための良好な候補であり得る。別の例として、赤外線カメラは、夜間条件下で良好に機能することができるが、遠距離検出能力が低いという問題もあり得る。さらに、ライダーセンサは、夜間および昼間の条件下で良好に動作することができるが、コストがかかる可能性があり、リアルタイムでデータを処理するために大容量プロセッサを必要とし得る大量のデータを生成する可能性がある。また、超音波センサは、他のタイプのセンサに比べて低コストであるが、検出範囲は10メートル以下であり、有用性が制限される場合がある。上記を考慮して、ADAS/AD車両が車両の周囲を継続的に監視するために、複数の異なるセンサタイプが通常使用される。
図2の例では、車両102は、車両周囲の360度監視のための複数の異なるセンサを装備している。この例では、車両102は、4つのサラウンドモノカメラまたは超音波(UTZ)センサを装備することができ、それぞれは、図2に示すようにそれぞれのおおよその検出領域202(前方、後方、左側、右側)を有する。例えば、モノカメラは、最大10mの検知範囲を有することができ、駐車支援、近接障害物の検出、および/または歩行者の検出に有用であり得る。
車両102はまた、車両102の前方におおよその検出領域204を有する前方広角モノまたはステレオカメラを装備することができる。さらに、車両102は、車両102の前方におおよその検出領域206を有する前方ステレオカメラを装備することができる。ステレオカメラベースの視覚感知システムは、視差マップなどを使用することなどによって、異なる障害物、ランドマーク、歩行者、道路標識、道路特徴、信号機などを識別および追跡するためなどの、短距離/中距離から長距離の認識アプリケーションに使用することができる。カメラベースの感知は、雪、雨、日光、暗闇などの環境条件によって大きく影響される可能性がある。
さらに、車両102は、車両102を囲むそれぞれのおおよその検出領域208を有する4つの中距離レーダセンサを装備することができる。さらに、車両102は、車両102の前方におおよその検出領域210を有する長距離レーダセンサを装備することができる。本明細書のレーダセンサは、ミリ波検出および測距を使用することができ、したがって気象条件に対して堅牢であり、250mまでの比較的長い範囲を有することができる。しかしながら、レーダベースの測定は、障害物の形状およびサイズなどの詳細な幾何学的情報を欠く場合がある。いくつかの例では、中距離レーダセンサは、死角支援および緊急ブレーキADAS機能などのアプリケーションに有用であり得る。
場合によっては、上述したセンサのステレオカメラ、長距離レーダ、または他のセンサのうちの1つまたは複数の代わりに、またはそれに加えて、ライダーセンサを使用することができる。さらに、図2に関していくつかの例示的なセンサ構成が説明されているが、本明細書の開示の恩恵を受ける当業者には、他の多くのセンサタイプ、センサ位置、およびセンサ構成が明らかであろう。したがって、本明細書の実施態様は、いかなる特定のセンサタイプ、位置、または構成にも限定されない。
さらに、本明細書の車載センサでは、車両102は、他の車両、インフラストラクチャ、道路端部コンピューティングモジュール、クラウドデータ交換、分析プラットフォーム145などとデータを共有するためのコネクティッドデバイスを装備することができる。一般に、他の車両およびシステムとデータを共有する完全および部分的自律型車両は、コネクティッド自律型車両と呼ばれることがある。コネクティッド自律型車両は、上述したように他のソースからデータを受信することができ、受信したデータを処理して、安全性、快適性、効率、走行時間の短縮などを実現することができる。さらに、コネクティッド車両は、トラフィック密度、道路使用量などを実現し、他の車両に異なる価値を提供するために、他の車両とデータを共有することができる。
図3は、いくつかの実装形態による、車線維持支援(LKA)システムのための例示的なセンサ使用構成300を示す。例えば、LKAおよびアダプティブクルーズコントロール(ACC)などの横方向および縦方向の運転者支援システムのためのADASアプリケーションは、量産車両で利用可能な比較的成熟した技術である。これらのシステムは、通常、安全で堅牢な性能を確保するために、1つまたは複数のセンサを使用する。車両に使用されるセンサのタイプおよび数は、ADASアプリケーションのタイプに基づいて変化し得る。
図3の例では、車線逸脱警告や横方向の衝突回避にLKAシステムを採用してもよい。例えば、LKAシステムは、運転者が車両102を自身の車線内に安全に維持するのを支援することができる。したがって、この例では、センサ使用構成は、検出領域206を提供するステレオカメラと、検出領域210を提供する長距離レーダとを含む。例えば、長距離カメラの検出領域210は、道路曲率を測定し、その車線302内で車両102の位置を特定することができるFOVを提供する。いくつかの例では、LKAシステムは、運転席、ステアリングホイールなどへの振動によって運転者に触覚フィードバックを提供するアクチュエータ(図3には示さず)を含むことができる。したがって、LKAシステムは、車線逸脱の警告を提供することによって運転者を支援することができ、運転者はその後、車両102の制御を行い、さらなる車線逸脱を回避する責任を負うことができる。
さらに、本明細書のいくつかの例では、車線逸脱が発生したときの運転者の応答に依存するのではなく、LKAシステムは、長距離カメラおよび長距離レーダからのセンサ融合を使用して運転者に警告し、さらにステアリングアクチュエータを作動させることができる。したがって、ステアリングアクチュエータは、車両をその適切な車線に戻すために自動的に作動され得る。センサ融合アルゴリズムは、厳しい性能および安全要件を満たすために必要とされ得る。
図4は、いくつかの実装形態による、アダプティブクルーズコントロール(ACC)のための例示的なセンサ使用構成400を示す。アダプティブクルーズコントロール(ACC)は、LKAシステムよりも広範な縦方向制御機能を有し、前方衝突回避、ストップアンドゴーシナリオでの交通渋滞支援、ならびに高速道路走行中に他の車両の後方で適切な車間距離を維持するために使用することができる。ACCシステムは、車両の速度および先行車両からの車間距離を自動的に調整することができる。ACCシステムが作動しているとき、ACCシステムは、安全な車間距離および追従速度を確保して、運転者が過度の速度または短すぎる車間距離に関連する事故を回避するのを支援することができる。本明細書の例では、ACCシステムのセンサ構成400は、長距離FOVを有するカバレッジ領域210を有する長距離レーダと、広いFOVを有する障害物検出のための前方および側方カバレッジ領域208を有する2つの中距離レーダと、車線検出および道路検出のために選択されたFOVを有するカバレッジ領域206を有する長距離カメラとを含むことができる。したがって、この例では、カバレッジ領域206、208および210は共に、前方向の車両センサFOV402を表すことができる。
図5は、いくつかの実装形態による、出発地位置と目的地位置との間の候補経路を決定する例500を示す。この例では、マップ502に示すように、例えば、上述し以下でさらに説明するように、出発地位置504および目的地位置506を最初に決定することができる。例えば、出発地位置504および目的地位置506が設定された後、複数の実行可能な候補経路508を決定することができる。この例では、2つの実行可能な候補経路508、すなわち第1の経路510および第2の経路512が示されている。他の例では、より多くのまたはより少ない候補経路が決定されてもよい。また、実行可能な候補経路が非常に多い場合には、各経路に沿った推定走行距離、各経路の推定走行時間などの各種閾値を使用して候補経路の数を絞り込んでもよい。場合によっては、絞込基準は、ユーザの好みに少なくとも部分的に基づいてもよい。
各経路510および512は、ノード514と、2つのノード514間の距離である介在道路区間516とに基づいて分割することができる。ノード514の位置および各道路区間516の長さは、走行する道路のタイプに部分的に依存し得る。例えば、道路区間は、数メートルから数百メートルまで変化し得る。場合によっては、ノードは交差点に対応することがあるが、より短い道路区間に分割され得る長い道路範囲の場合などで、必ずしもそうとは限らない。
図示の例では、第1の経路510は、ノード514(A1)、514(A2)、514(A3)、および514(A4)と、道路区間516(A1)、516(A2)、516(A3)、および516(A4)とを含む4つの道路区間に分割されている。また、第2の経路512は、ノード514(B1)、514(B2)、および514(B3)と、道路区間515(B1)、516(B2)、および516(B3)とを含む3つの道路区間に分割されている。上述したように、他の例では、経路510、512の各々に対して異なる数の道路区間が使用されてもよい。さらに、説明の目的でマップ502が図5に示されているが、動作中、サービスコンピューティングデバイス108が、選択された経路および道路区間の識別および分析を実行するための視覚的マップを生成する必要はない場合がある。
データ分析プラットフォーム145は、地理的領域内のすべての経路または少なくとも最も実行可能な経路について、各ノード514および/または道路区間516のデータを事前に格納することができる。例えば、データ分析プラットフォーム145は、各マップに含まれる道路上の経路ならびに可能なノードおよび道路区間を決定するために、地理的領域の地図を事前に分析することができる。この情報は、車両から経路案内の要求を受信する前に、図1に関して上述した地図データデータベース156に格納されてもよい。
さらに、各地図において識別された決定された道路区間516について、データ分析プラットフォーム148は、それぞれの道路区間516について必要視野(FOV)情報を決定し格納することができる。必要FOVは、上述のそれぞれの道路区間516上をナビゲートするときに人間の運転者または車両センサによって監視されるべき2次元および/または3次元ゾーンを含むことができる。例えば、自律型車両は、それぞれの道路区間で自律的に安全に運転するために必要FOV領域を監視することが期待され得る。上述した道路区間と同様に、各道路区間の必要FOVは、事前に決定され、地図データデータベース156に予め格納されてもよい。
この経路指定の例では、以下でさらに説明するように、第1の経路510および第2の経路512について、データ分析プラットフォーム145は、規範分析層内の経路FOVカバレッジモジュールを実行して、各経路510、512について、車両センサのFOV、すなわち、図4に関して上述した車両センサFOV402などの特定の車両用の車両センサFOVによってカバーされ得る必要FOVの割合を決定することができる。車両センサFOVは、車両102についてデータ分析プラットフォーム145によって受信された車載センサ構成情報128を使用して、車両センサFOVモジュールによって計算することができる。道路区間の必要FOVを決定し、車両FOVカバレッジを必要FOVカバレッジと比較する例は、図6~図11に関して以下でさらに説明される。
さらに、各候補経路のFOVカバレッジを決定することに加えて、データ分析プラットフォーム145は、車両パワートレインモデルおよび他の車両情報、道路勾配、気象、トラフィックなどを考慮することによって候補経路のエネルギー効率を識別することができる、各候補経路の走行展望をさらに決定することができる。さらに、データ分析プラットフォーム145は、各経路の予測車両ダイナミクスを決定することもできる。例えば、車両ダイナミクスは、車両ジャーク、ロール、ピッチ、ヨー、衝突安全性、自動運転継続時間などを決定することなどによって、車両が各経路を走行する間に車両乗員に加えられ得る動的な力の予測量を示すことができる。経路FOVカバレッジ結果、走行展望結果、および車両ダイナミクス結果は、AIベースの最適経路選択モジュールによって処理されて、特定の車両の最適経路を選択することができる。
図6は、いくつかの実装形態による、車両606の運転者604の視点から見た道路区間の必要FOV602の例600を示す。この例では、画像608は、車両606のフロントガラスから真っ直ぐ前方を見たときの全体的な運転者FOV610を表すことができる。さらに、画像608内の白色領域は、車両606が現在走行している道路区間の必要FOV602を表す。したがって、この例では、運転者FOV610は、現在、必要FOV602を包含する。
図7Aおよび図7Bは、いくつかの実装形態による、特定の交差点の必要FOVを決定する例を示す。図7Aは、右側から交差点706に接近し、大通り708から横道710に右折する車両704の必要FOV702を決定する例700を示す。この例では、車両704が接近している方向の交差点706には、信号機や一時停止の標識がない。したがって、交差点706で右折するために、必要FOV702の2D表現は、限定はしないが、車両の前方の大通り708の部分、および車両704が旋回していく横道710の部分を含む領域712をカバーする。さらに、必要FOV702は、歩行者または他の車両が交差点を横断していないことを確実にするために確認することができる左車線の領域714を含む。
図7Bは、右側から交差点706に接近し、大通り708に沿って交差点706を通過する車両704の必要FOV722を決定する例720を示す。また、この例では、車両704が接近している方向の交差点706には、信号機や一時停止の標識がない。その結果、交差点706を通過するために、必要FOV722の2D表現は、限定はしないが、大通り708の車両の前の部分と、車両または歩行者が横道710から交差点に入らないことを確実にするために、横道710の小さな部分とを含む領域724をカバーする。さらに、必要FOV722は、歩行者または他の車両が交差点706を横断していないことを確実にするために確認することができる左車線内の領域726を含むことができる。
図8A~図8Bおよび図9A~図9Bは、いくつかの実装形態による、交差点での右折のナビゲーション中に車両センサFOVを必要FOVと比較する例を示す。図8Aは、信号機806のある交差点804に接近する車両802をシミュレートする例800を示す。この例では、車両802の車両センサFOV402は、上述した図4の車両センサFOV402に対応することができる。車両経路に沿った複数のXは、車両センサFOV402を、特定のノード514に対して決定された必要FOV810と比較することができるノード514を表す。この例では、必要FOV810は、上述した図7Aの例と同様に、第1の領域812および第2の領域814を含む。また、この交差点804には信号機806があるので、必要FOV810は、右折に進む前に信号機の状態を確認するための領域816を含む。
データ分析プラットフォーム145は、車両センサFOV402のカバレッジをシミュレートし、車両センサFOV402のカバレッジを必要FOV810と比較して、各候補車両経路に沿った各ノード514におけるカバレッジ割合を決定することができる。さらに、カバレッジはここでは2Dシナリオで示されているが、本明細書の他の例では、カバレッジ割合は、この例に示されている2D領域に加えて、車両802上の車載センサの車両センサFOVカバレッジの高さを含む3次元で決定されてもよい。FOV重複率は、各候補経路(例えば、図5に関して上述した候補経路510および512)のFOVカバレッジを決定するために、候補経路のすべての道路区間について各ノード514において評価することができる。
図8Bは、図8Aに関して上述したように、交差点804にあり、右折する準備をしている車両802の例820を示す。この例では、必要FOV810は、図8Aと本質的に同じである。車両センサFOV402のカバレッジは、車両802が位置する特定のノード514について、カバレッジの割合を決定するために必要FOV810と比較することができる。
図9Aは、図8Aおよび図8Bに関して上述したように、交差点804にあり、右折している車両802の例900を示す。この例では、必要FOV810は幾分変化しており、領域812および816のサイズが図8Aおよび図8Bと比較して縮小している。車両センサFOV402のカバレッジは、車両802が位置する特定のノード514について、カバレッジの割合を決定するために必要FOV810と比較することができる。
図9Bは、図8A、図8B、および図9Aに関して上述した、交差点804にあり、右折を完了する車両802の例910を示す。この例では、必要FOV810は、図8A、図8B、および図9Aのものから完全に変化しており、領域812、814および816は、除去されるか、または更新された必要FOV810として新しい領域912に変換される。車両センサFOV402のカバレッジは、車両802が位置する特定のノード514について、カバレッジの割合を決定するために必要FOV810と比較することができる。車両センサFOV402と各ノード514における必要FOVとのカバレッジ比較は、経路全体の必要FOVに対して車両センサFOV402の最良のカバレッジを提供する最高ランクの経路を決定するために、出発地位置と目的地位置との間の各候補経路に沿って各ノード514について実行され得る。
図10は、いくつかの実装形態による、左折を実行するための一連のイベントの例示的なデータ構造1000を示す。データ構造1000は、ノード1002、左折のための一連のイベント1004、必要FOV1006、ならびに障害物および/またはランドマーク1008の識別(ID)を含む情報を含む。各ノード1002についてのイベントの各シーケンスの詳細は、図11に関して以下に説明される。
図11は、いくつかの実装形態による、車線変更から左折を行うための一連のイベントおよび必要な視野の例を示す。この例における一連のイベントおよびノード514(1)~514(10)は、図10に関して上述したデータ構造1000に対応する。例えば、この例は、選択された経路を走行するときに各ノード514(1)~514(10)において車両102によって実行され得る一連のイベントと、選択された経路に沿った車両102の安全なナビゲーションのために各ノード514(1)~514(10)において関連するランドマークまたは障害物を識別するための必要FOVとを説明する。
ノード514(1)において、車両102は右車線1102を走行している可能性があり、必要FOVは、潜在的な障害物およびレーンマーカを検出するために車両102の前方、後方、および両側であり得る。ノード514(2)において、車両102は、交差点1104までの距離を確認することができる。この状況における必要FOVは、距離を決定するための地図ベースであってもよく、車両は、交差点1104の位置を示す交通標識または他のランドマークを識別しようと試みることができる。ノード514(3)において、車両102は、車線変更を行う前に左車線1106を確認することができる。必要FOVは、障害物およびレーンマーカを確認するために、車両102の前方、後方、および左側を含むことができる。ノード514(4)において、車両102は、左車線1106内の車または他の障害物を回避しながら、左車線1106に変更することができる。必要FOVは、障害物およびレーンマーカを確認するために、車両102の前方、後方、および左側を含み続けることができる。514(5)において、車両102は、左折車線1108に入る前に左折車線1108を確認することができる。必要FOVは、障害物およびレーンマーカを確認するために、車両102の前方、後方、および左側を含み続けることができる。514(6)において、車両102は、左折車線1108内の車または他の障害物を回避しながら、左折車線1108に変更することができる。514(7)において、車両は、信号機および横断歩道ゾーン1110までの距離を確認することができる。必要FOVは、障害物、レーンマーカ、および横断歩道ゾーン1110の地図ベースの確認であってもよい。514(8)において、車両102は、横断歩道ゾーン1110内の歩行者を確認することができる。必要FOVは、歩行者、障害物、レーンマーカ、および横断歩道ゾーン1110を確認するために前方広角を含むことができる。514(9)において、車両102は、信号機ゾーン1111内の信号機の状態を確認することができる。必要FOVは、信号機の状態および交通標識ランドマークを確認するために車両102の前方を含むことができる。514(10)において、車両102は、対向トラフィック1112および潜在的な交通違反者1114を確認することができる。必要FOVは、車、他の障害物、およびレーンマーカを確認するために、車両102の前方および車両102の左右を含むことができる。
図12~図19は、いくつかの実装形態による例示的なプロセスを示すフロー図を含む。プロセスは、一連の動作を表す論理フロー図のブロックの集合として示されており、その一部またはすべては、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装することができる。ソフトウェアの文脈では、ブロックは、1つまたは複数のプロセッサによって実行されると、列挙された動作を実行するようにプロセッサをプログラムする、1つまたは複数のコンピュータ可読媒体に記憶されたコンピュータ実行可能命令を表すことができる。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定のデータタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。ブロックが説明される順序は、限定として解釈されるべきではない。任意の数の記載されたブロックを任意の順序でおよび/または並列に組み合わせてプロセスまたは代替プロセスを実施することができ、すべてのブロックを実行する必要はない。説明のために、プロセスは、本明細書の例に記載された環境、システム、およびデバイスを参照して説明されるが、プロセスは、多種多様な他の環境、システム、およびデバイスで実施されてもよい。
図12は、いくつかの実装形態による、車両の最適経路を選択するための例示的なアーキテクチャおよびプロセス1200を示す統合したフロー図およびブロック図である。例えば、図12の例は、車両の車載センサ構成、車両パワートレイン、および他の車両構成情報を考慮することによって、コネクティッド車両の安全かつ効率的な経路を識別するために使用することができる詳細なシステムアーキテクチャおよびデータフローを含む。場合によっては、図12のアーキテクチャは、図1に関して上述したシステム100に対応することができる。したがって、図12の例は、図1に関して上述したデータ分析プラットフォーム145を使用する。いくつかの例では、記載されたプロセスの一部は、車両コンピューティングデバイス104によって実行されてもよく、プロセスの別の部分は、サービスコンピューティングデバイス108によって実行されてもよい。さらに、この例では、特定の機能がそれぞれコンピューティングデバイス104または108の一方または他方によって実行されるものとして示されているが、機能のいくつかがコンピューティングデバイス104または108のいずれによって実行されてもよいことは、本明細書の開示の恩恵を受ける当業者には容易に明らかであろう。
データ分析プラットフォーム145をホストするサービスコンピューティングデバイス108は、様々な異なるソースから様々なタイプの情報を受信することができ、ソースのうちの1つまたは複数にデータを提供することもできる。例には、インフラストラクチャ情報1202、ユーザコンピューティングデバイス命令1204、CAVセンサデータ1206、旅行需要情報1208、地図プロバイダ情報1210、OEM情報1212、および政府エンティティ情報1214が含まれる。上述したように、インフラストラクチャ情報1202は、インフラストラクチャカメラ画像、およびインフラストラクチャ、道路状況、建設プロジェクトなどに関する他の情報を含むことができる。さらに、ユーザコンピューティングデバイス命令1204は、ウェブサイトまたはウェブアプリケーションインターフェースなどを介してユーザコンピューティングデバイスを介して受信されたユーザの好み、ユーザ情報、車両情報などを含むことができる。さらに、CAVセンサデータ1206は、車両102からサービスコンピューティングデバイス108にデータを自動的に送信するコネクティッドセンサなどの車両センサから直接受信されたデータを含むことができる。旅行需要情報1208は、現在および予想される需要に基づいて、道路混雑の可能性の指示を提供することができ、これは、一部には、スケジュールされた休日、航空旅行および鉄道旅行のチケット販売、スポーツイベントおよび他のタイプのイベント販売などに基づくことができる。地図プロバイダ情報1210は、高精細地図および低精細地図、ならびにトラフィックデータなどの他の情報を含むことができる。OEM情報1212は、パワートレイン情報、燃費など、特定のOEMによって製造された車両に関する様々な情報を提供することができる。政府エンティティ情報1214は、政府提供の安全情報、交通標識情報、道路工事情報、道路閉鎖情報などを示すことができる。いくつかの例では、1つまたは複数のデータ交換アプリケーションプログラミングインターフェース(API)を、上述のエンティティからデータを受信するため、または上述のエンティティにデータを送信するためなど、上述のエンティティとデータを交換するために使用することができる。さらに、上記のエンティティは、情報を交換することができる、または情報を受信することができるエンティティの例にすぎず、本明細書の開示の利益を有する当業者には他の多くの情報エンティティが明らかであろう。
さらに、車両102は、車載センサ構成情報128に関する暗号化情報、ならびにECU情報、パワートレインおよびシャーシ仕様などの車両構成情報130をサービスコンピューティングデバイス108に送信することができる。いくつかの例では、車両102は、MQTT、UDPなどのブロードキャストプロトコルを使用してこの情報をサービスコンピューティングデバイス108に送信することができる。さらに、場合によっては、車両102は、出発地位置情報および目的地位置情報をサービスコンピューティングデバイス108に送信することができる。
1216において、データ分析プラットフォーム145において、記述分析モジュール148は、MD5、SHA-1、SHA256、または他の復号技術などの暗号化ハッシュアルゴリズムを使用することなどによって、受信した車両データを復号することができる。復号に続いて、記述分析モジュール148は、車両および乗員の身元を認証または判定することができ、車両データデータベース162にアクセスして、そこに保持されている車両または乗員に関する任意の情報を取得することができる。取得され得る情報の例は、車両について以前に受信された可能性がある車両センサ構成情報128および/または車両構成情報130、ならびに車両の所有者または車両の他の乗員についてのユーザの好み、経路指定優先設定などを含むことができる。
1218において、記述分析モジュール148は、車両センサ構成情報128から車両FOVを決定することができる。いくつかの例では、センサ構成情報128を車両102から受信することができ、他の例では、センサ構成情報128を車両データデータベース162から受信することができる。例えば、センサ構成情報128は、実質的に経時的に変化する可能性は低く、したがって、以前に受信されて車両データデータベース162に格納されているものは、経路が決定されるたびに車両102によって送信される必要はない。
1220において、記述分析モジュール148は、受信および復号された車両データにおいて目的地位置が指定されているかどうかを決定することができる。復号された車両データ内で車両目的地が利用可能である場合、プロセスは1222に進み、経路指定および監視を実行する。一方、車両目的地が受信情報に含まれていない場合、プロセスは1226に進み、目的地位置の予測を伴う経路指定および監視を実行する。
1222において、記述分析モジュール148は、車両の出発地位置、目的地位置、地図、トラフィックおよび気象データの入力を受け入れ、目的地位置に到達するための車両の候補経路を決定する経路指定および監視アルゴリズムを実行することができる。経路指定および監視アルゴリズムは、記述分析モジュール148と予測分析モジュール150の両方によって実行されてもよく、これは、目的地位置が車両情報に提供されたか、または予測される必要があるかに基づいて二者択一的に呼び出されてもよい。記述分析モジュール148が目的地位置を利用できない場合、経路指定および監視アルゴリズムは、車両乗員の履歴、時刻、車両位置などを考慮することなどによって、AIベースのモデルを使用して目的地位置を予測した後に、記述分析モジュール148によって呼び出され得る。目的地位置が予測され、任意選択的に車両乗員によって確認された後、経路指定および監視アルゴリズムは、1226に関して以下でさらに説明するように、予測された目的地までの候補経路を生成するために実行されてもよい。
1224において、記述分析モジュール148は、様々な外部ソース1202~1214からデータをさらに受信することができ、受信したデータの認証、フィルタリング、および/または融合を実行することができる。例えば、データ分析プラットフォーム145は、データフィルタリングおよびデータ融合を使用して、交通インフラストラクチャ、ユーザスマートフォン、サードパーティなどから取得された様々なタイプの時系列および画像データを取り込むことができる。データを取り込み、データベース154などに格納することができる。いくつかの非限定的な例として、データ分析プラットフォーム145の優れたリアルタイム性能を達成するために、SQL(構造化照会言語)と非SQLデータベースとの組み合わせを使用してデータを管理することができる。
1226において、車両102から受信した受信情報に目的地位置が含まれていない場合、予測分析モジュール150は、モデル学習モデル、ルールベースのモデルなどを使用し、車両乗員プロファイル、過去の旅行データ、時刻、および/または車両データデータベース162に格納された他の情報に基づいて、目的地位置を予測することができる。予測された目的地は、サービスコンピューティングデバイス108によって、車両コンピューティングデバイス104の音声アシスタントまたは他のヒューマンマシンインターフェースに送信されてもよい。一例として、予測された目的地の確認を取得するために、対話型音声要求が車両乗員に送信されてもよい。予測分析モジュール150は、予測された目的地位置の確認または代替の目的地位置を示す入力を受信することができる。目的地位置の決定に続いて、予測分析モジュール150は、経路指定および監視を実行して、出発地位置と目的地位置との間の候補経路を決定することができる。候補経路を決定する例は、例えば図5に関して上述されている。
1228において、サービスコンピューティングデバイスは、候補経路の各々の速度プロファイルを決定することができる。速度プロファイルアルゴリズムは、各候補経路の車両速度を予測することができ、したがって、予測分析モジュール150によって実行することができる。速度プロファイルアルゴリズムは、予測または記述分析層の経路指定および監視アルゴリズムから、最新の車両経路を受信することができる。経路のすべての道路区間について、機械学習モデル、統計モデル、またはルールベースのモデルのうちの1つまたは複数を含むことができる速度予測モデルを使用して車速を予測することができる。速度予測モデルへの追加の入力は、現在の道路区間のリアルタイムのトラフィックおよび旅行履歴を含むことができる。リアルタイムのトラフィック速度は、地図データプロバイダなどのサードパーティデータプロバイダから取得することができる。候補経路の速度プロファイルは、それぞれの候補経路内の道路区間ごとの予測速度を格納することによって取得することができる。また、この処理は、全ての候補経路について実行されてもよい。速度プロファイルを決定するための例示的なアルゴリズムは、図14に関して以下でさらに説明される。
目的地が予測によってまたは車両乗員によって指定されて決定された後、および出発地位置と目的地位置との間で候補経路が決定された後、候補経路は、規範分析モジュール152に送信され得る。規範分析モジュール152は、経路FOVカバレッジ(経路の安全性に対応する)、走行展望(車両効率に対応する)、および車両ダイナミクス(乗員の快適性に対応する)を決定するためのいくつかの異なるアルゴリズムを実行することができ、次いで、これらのアルゴリズムからの出力を使用して最適経路を決定することができる。
1230において、各候補経路の経路FOVカバレッジを決定するために、規範分析モジュール152は、地図データデータベース156から候補経路の必要FOVを入力として受信する。例えば、図5~図11に関して上述したように、必要FOVは、候補経路に沿った各ノードについて、人間の運転者または車両センサによって監視されるべきゾーン(2Dまたは3D)を含むことができる。上述したように、地理的領域内の各道路区間の必要FOVを決定し、地図データデータベース156に予め格納することができる。一例として、地図データデータベース156は、リレーショナルSQLデータベース、または任意の他の適切なタイプのデータ構造であってもよい。地図データデータベース156はまた、自動化車両によって採用され得る高精細地図、道路プロファイル、ランドマーク情報などの他のタイプの地図データをホストすることもできる。したがって、地図データデータベース156に保持された情報を使用し、車両センサ構成情報128から決定された車両FOVに基づいて、サービスコンピューティングデバイス108は、経路FOVカバレッジアルゴリズムを実行して、各候補経路について必要FOVと車両FOVとを比較することに基づいてFOVカバレッジの割合を決定することができる。このプロセスの例は、例えば図8A~図9Bに関して上述されており、アルゴリズムの例は、例えば図15および図16に関して以下にさらに説明される。例えば、経路FOVカバレッジアルゴリズムは、対応するノードにおける各道路区間の必要FOVを決定し、特定の車両の計算された車両センサFOVに基づいて、必要FOVのうちのどれだけが車両の車載センサによってカバーされ得るかを決定する。FOVカバレッジの割合は、例えば、図8A~図9Bに関して上述したように、経路に沿った各道路区間(すなわち、車両が位置する第1のノードと車両が移動する第2のノードとの間の道路区間)において、必要FOVと車両センサFOVとの間の2Dまたは3Dグリッドベースの幾何学的交差を使用することによって決定することができる。経路FOVカバレッジアルゴリズムは、各候補経路の経路全体のすべての道路区間の合計割合を集約または他の様態で決定し、車両センサによる必要FOVカバレッジの割合が最も高くランク付けされた1つまたは複数を選択することができる。したがって、FOVカバレッジアルゴリズムは、FOVカバレッジの全体的な割合が最も高い経路を出力することができる。
1232において、規範分析モジュール152は、候補経路に基づいて走行展望を決定することができる。例えば、車両パワートレイン仕様に基づいて、走行展望アルゴリズムは、高速実行データ駆動および物理ベースのパワートレインシミュレーションモデルを使用して、候補経路にわたる特定の車両のエネルギー使用量を計算することができる。一例として、パワートレインモデルは、入力として、道路プロファイル、予測速度プロファイル、気象などを受信することができ、各候補経路における車両パワートレインモデルの燃料消費性能をシミュレートすることができる。走行展望アルゴリズムは、燃料/電力消費効率が最もよい経路を出力することができる。走行展望アルゴリズムの一例は、図17に関して以下に記載される。
1234において、規範分析モジュール152は、例えば、車両ジャーク、ロール、ピッチ、ヨー、衝突安全性、自動運転継続時間などを決定するために、特定の車両の車両ダイナミクス性能をシミュレートする車両ダイナミクスアルゴリズムを実行することができる。車両ダイナミクスアルゴリズムは、各候補経路について、速度プロファイル、制限速度、道路形状、道路曲率などを入力として受信することができる。車両ダイナミクスアルゴリズムは、衝突確率が低く、過剰な車両ジャーク、ロール、ピッチ、ヨーなどを回避する最高ランクの経路を出力することができる。車両ダイナミクスアルゴリズムの一例を、図18に関して以下に説明する。
1236において、規範分析モジュール152は、出発地位置から目的地位置までの車両の最適経路を決定するために、FOVカバレッジアルゴリズム、走行展望アルゴリズム、および車両ダイナミクスアルゴリズムからの出力を受信する最適化アルゴリズムを実行することができる。いくつかの例では、最適化アルゴリズムは、機械学習とルールベースの最適化技術の両方を使用して、安全性、効率、快適性、旅行時間および自動運転継続時間を考慮して、部分的/完全自立型車両のための最良の経路を出力することができる。いくつかの例では、最適化アルゴリズムの結果は、所定の間隔などで定期的に、あるいは現在のトラフィック最新情報または気象、道路閉鎖などの他の外部条件への変化に基づくなど、イベントの発生などで更新されてもよい。最適化アルゴリズムの一例は、図19に関して以下でさらに説明される。
1238において、サービスコンピューティングデバイス108は、選択された最適経路を車両コンピューティングデバイス104に送信することができる。車両コンピューティングデバイス104は、目的地位置へのナビゲーションに使用するために、選択された経路を車両制御プログラム124に提供することができる。
図13は、いくつかの実装形態による、車両の最適経路を決定するための例示的なプロセス1300を示すフロー図である。いくつかの例では、プロセス1300は、上述したシステム100によって実行されてもよい。例えば、プロセス1300は、いくつかの例では、ナビゲーション情報プログラム146を実行することにより、サービスコンピューティングデバイス108によって実行されてもよい。
1302において、サービスコンピューティングデバイス108は、車両コンピューティングデバイスから出発地位置を含む車両情報を受信することができる。例えば、サービスコンピューティングデバイス108によって受信された車両情報は、出発地位置、目的地位置、センサ構成(ADAS/ADおよび他のセンサ詳細)を含むことができ、例えば、電子制御ユニット、パワートレイン、シャーシ、車両乗員プロファイルなどに関する車両構成情報は、車両からサービスコンピューティングデバイス108に送信することができる。サービスコンピューティングデバイス108は、例えば、図12に関して上述したように、サードパーティデータをさらに受信することができる。例えば、インフラストラクチャカメラ、コネクティッドおよび自動化車両、サードパーティデータプロバイダなどの外部データストリームからのデータは、データフィルタリングおよびデータ融合アルゴリズムに送信する前に認証されてもよい。データフィルタリングおよびデータ融合アルゴリズムの出力は、旅行履歴、気象、交通、V2Xデータ、高精細(HD)マップなどを含むことができる。
1304において、サービスコンピューティングデバイス108は、受信した情報を復号し、車両および/または車両乗員を識別および認証することができる。一例として、サービスコンピューティングデバイスは、コネクティッド車両および/または車両乗員を確認するために最初に認証を実行することができる。認証が成功した後、出発地位置、目的地位置など、車両から取得された他の情報が確認され、車両構成情報およびセンサ情報が受信されたかどうかなどが確認される。
1306において、サービスコンピューティングデバイス108は、センサ構成情報および車両構成情報を所得または受信することができる。例えば、車両構成情報およびセンサ構成情報が受信された場合、この情報は車両データデータベース162に格納され、経路決定に使用されてもよい。一方、情報は、以前に受信されていてもよく、車両の認証後に車両データデータベース162から取得されてもよい。車両乗員の経路指定優先設定を含む車両乗員プロファイルも同様に受信し、車両データデータベース162に格納することができる。
1308において、サービスコンピューティングデバイス108は、車両センサ構成情報から車両センサFOVを決定することができる。例えば、図2~図4に関して上述したように、サービスコンピューティングデバイスは、車両のセンサ構成の記述に基づいて車両センサFOVを決定することができる。
1310において、サービスコンピューティングデバイス108は、目的地が示されているかどうかを決定することができる。目的地位置が受信情報に含まれている場合、プロセスは1314に進むことができる。そうでない場合、プロセスは1312に進む。
1312において、サービスコンピューティングデバイス108は、目的地を予測し、車両乗員に確認を要求することができる。例えば、車両から受信した車両情報に目的地位置が指定されていない(例えば、目的地が車両乗員(ユーザ)によって定義されていない)場合、サービスコンピューティングデバイス108は、車両データデータベースをチェックして、車両乗員のプロファイルが利用可能かどうかを決定することができる。車両乗員のプロファイルが位置特定されている場合、経路指定および監視アルゴリズム(予測層で実行される)は、AIベースのモデルまたは他の適切なアルゴリズムを使用することなどによって、車両乗員の目的地位置を予測することができる。予測された目的地は、予測された目的地を確認するために車両の乗員に提示するための対話型音声要求として車両に送信されてもよい。あるいは、他の例では、予測された目的地は、ディスプレイ上のテキスト、地図上の位置などとして車両乗員に提示されてもよい。車両乗員が予測された目的地を確認した場合、確認された目的地は、予測分析層の経路指定および監視アルゴリズムに送り返され得る。
1314において、サービスコンピューティングデバイス108は、出発地位置と目的地位置との間の候補経路を決定することができる。目的地位置が車両から受信した情報に定義されている場合、目的地位置は、記述分析層で実行される経路指定および監視アルゴリズムに渡される。この経路指定および監視アルゴリズムは、規範分析層に渡される候補経路を生成する。この経路指定および監視アルゴリズムは、出発地位置から目的地位置への候補経路を決定するために、リアルタイムのトラフィックの入力および確認された目的地入力を取得する。リアルタイムのトラフィック情報は、一定の時間間隔で実行される時間ループを定期的に使用して、または様々な他の更新技術のいずれかによって更新することができる。サービスコンピューティングデバイス108は、サードパーティウェブサーバなどからトラフィックデータを取得することができる。トラフィック情報は、1328に関して以下でさらに説明するように、定期的にデータベースに取り込まれ、経路指定および監視アルゴリズムに送信されてもよい。
1316において、サービスコンピューティングデバイス108は、地図情報、トラフィック情報、および過去の旅行情報に基づいて、候補経路の速度プロファイルを決定することができる。図14は、速度プロファイルアルゴリズムのさらなる詳細を説明する。予測分析層または記述分析層のいずれかにおける経路指定および監視アルゴリズムの実行から決定された候補経路は、速度プロファイルアルゴリズムに送信される。速度プロファイルアルゴリズムは、データ分析プラットフォームデータベース154からのリアルタイムトラフィック、旅行履歴、および標準精細度(SD)マップ入力と共に、受信された経路を使用する。速度プロファイルアルゴリズムは、候補経路ごとに予測車速を出力する。
1318において、サービスコンピューティングデバイス108は、各候補経路の経路FOVカバレッジを決定することができる。図15は、経路FOVカバレッジアルゴリズムのさらなる詳細を説明する。地理的領域内の道路の必要FOVは、事前に決定され、地図データデータベース156に格納されてもよい。規範的、予測的、および記述的分析レイヤは、互いに情報を共有することができる。例えば、予測層または記述層は、経路指定および監視アルゴリズムによって決定された候補経路を、記述層内の経路FOVカバレッジアルゴリズム、走行展望アルゴリズム、および車両ダイナミクスアルゴリズムに送信することができる。経路FOVカバレッジアルゴリズムは、候補経路、ならびに記述層によって決定された車両FOV、および地図データデータベース156から取得された候補経路の必要FOVを受信することができる。経路FOVカバレッジアルゴリズムは、FOVカバレッジの割合が最も高い複数の経路を出力することができ、センサカバレッジに基づく最も安全な経路に対応する、これらの最も高くランク付けされた経路を、最適化アルゴリズムに送信することができる。
1320において、サービスコンピューティングデバイス108は、各候補経路の走行展望を決定することができる。図17は、走行展望アルゴリズムのさらなる詳細を説明する。走行展望アルゴリズムは、候補経路、速度プロファイルアルゴリズムからの候補経路の予測速度プロファイル、地図データデータベース156からの道路プロファイル、時系列データデータベース158からの気象の入力を受信する。走行展望アルゴリズムの出力は、各候補経路について予測された燃料効率またはエネルギー効率を含むことができる。最高の車両効率に対応する複数の最高ランクの候補経路は、最適化アルゴリズムに送信され得る。
1322において、サービスコンピューティングデバイス108は、各候補経路の車両ダイナミクスを決定することができる。図18は、車両ダイナミクスアルゴリズムのさらなる詳細を説明する。例えば、車両ダイナミクスアルゴリズムは、入力として、候補経路、地図データデータベース156データベースからの道路形状、および車両データデータベース162からの、または受信した車両情報からの車両シャーシ仕様を受信することができる。車両ダイナミクスアルゴリズムの出力は、最適化アルゴリズムに送信され、かつ経路に対する予測された乗員快適性に基づく複数の最高ランクの経路であってもよい。
1324において、サービスコンピューティングデバイス108は、経路FOVカバレッジアルゴリズム、走行展望アルゴリズム、および車両ダイナミクスアルゴリズムによって選択された、選択された候補経路についてのこれら3つのそれぞれのアルゴリズムの出力に基づいて、最適経路を決定することができる。図19は、最も安全で、最もエネルギー効率がよく、最も快適な経路として選択された経路を出力として提供することができる最適経路指定アルゴリズムの追加の詳細を説明する。
1326において、サービスコンピューティングデバイス108は、選択された最適経路を車両に送信することができる。例えば、車両は、選択された最適経路を受信し、選択された経路に沿って進むことができる。
1328において、サービスコンピューティングデバイス108は、更新されたローカル状況情報を受信することができる。リアルタイムトラフィック情報などの更新されたローカル状況情報は、定期的に、要求に応じて、または重大なイベントの発生時に受信され得る。トラフィック最新情報、気象最新情報などの更新されたローカル状況情報は、車両の最適経路を更新するために使用され得る。一例として、リアルタイムのトラフィック情報は、一定の時間間隔で実行される時間ループを使用して、または様々な他の更新技術のいずれかを介して定期的に更新することができる。サービスコンピューティングデバイス108は、サードパーティウェブサーバなどから更新されたトラフィックデータを取得することができる。トラフィック情報は、時系列データデータベース158に取り込まれ、定期的に経路指定および監視アルゴリズムに提供されてもよい。
1330において、サービスコンピューティングデバイス108は、現在の車両位置を決定することができる。現在の車両位置および更新されたローカル状況情報に基づいて、サービスコンピューティングデバイスは、車両の更新された最適経路を決定することができ、車両に更新された最適経路を送信することができる。
図14は、いくつかの実装形態による、候補経路に沿った予測速度を決定するためのプロセスとしての例示的な速度プロファイルアルゴリズム1400を示すフロー図である。いくつかの例では、プロセス1400は、上述したシステム100によって実行されてもよい。例えば、プロセス1400は、速度プロファイルアルゴリズムを実行するサービスコンピューティングデバイス108によって実行されてもよい。場合によっては、プロセス1400は、上述した図13のプロセス1300のブロック1316に部分的に対応することができる。
1402において、サービスコンピューティングデバイス108は、候補経路を入力として受信することができる。例えば、上述したように、速度プロファイルアルゴリズムは、例えば図13のブロック1314に関して上述したように、記述分析層または予測分析層のいずれかで実行された経路指定および監視アルゴリズムから複数の候補経路を受信することができる。
1404において、サービスコンピューティングデバイス108は、例えば候補経路の合計数を表す第1の変数N=経路数を設定し、例えば処理のために現在選択されている候補経路を表すカウンタとして第2の変数RN=1と設定することによって、第1のループを初期化することができる。
1406において、サービスコンピューティングデバイス108は、RNの値がNの値以上であるかどうかを決定することができる。N以上でない場合、プロセスはブロック1408に進む。N以上である場合、プロセスは図13のブロック1320および1322に進む。
1408において、サービスコンピューティングデバイス108は、第3の変数M=RNの区間数を設定し、例えば、処理のために現在選択されている区間を表すカウンタとして第4の変数SM=1と設定することによって、ネストされた第2のループを初期化することができる。
1410において、サービスコンピューティングデバイス108は、SMがM以上であるかどうかを決定することができる。M以上でない場合、プロセスはブロック1412に進む。M以上である場合、プロセスはブロック1420に進み、RNをインクリメントする。
1412において、サービスコンピューティングデバイス108は、選択された候補経路の選択された区間の地図、トラフィック情報、および旅行履歴を受信することができる。
1414において、サービスコンピューティングデバイス108は、選択された道路区間の車両構成情報ならびにトラフィックおよび旅行履歴情報に基づいて、機械学習モデル、統計モデル、またはルールベースのモデルのうちの少なくとも1つを含む速度予測モデルを使用して、選択された区間SMの予測速度を決定することができる。速度予測モデルの出力は、選択された候補経路の選択された区間の予測速度プロファイルであってもよい。
1416において、サービスコンピューティングデバイス108は、選択された区間SMの予測速度を、それぞれの候補経路のすべての区間の予測速度と共に格納することができる。
1418において、サービスコンピューティングデバイス108は、変数SMを値1だけインクリメントし、ブロック1410に戻ることができる。例えば、ブロック1410~1418のプロセスは、選択された候補経路内のすべての区間が処理されるまで繰り返されてもよい。
1420において、SM=Mであり、候補経路内のすべての区間が処理されている場合、サービスコンピューティングデバイス108は、変数RNを値1だけインクリメントすることができる。次いで、プロセスはブロック1406に戻り、すべての候補経路が処理されたかどうか、すなわちRN=Nであるか決定することができる。すべての候補経路が処理された場合、プロセスは図13のブロック1318に戻る。速度プロファイルアルゴリズムの出力は、少なくとも走行展望アルゴリズムに渡されてもよい。
図15および図16は、いくつかの実装形態による、候補経路の必要FOVのFOVカバレッジを決定するためのプロセスとしての経路FOVカバレッジアルゴリズム1500の例を示すフロー図を提供する。いくつかの例では、プロセス1500は、上述したシステム100によって実行されてもよい。例えば、プロセス1500は、経路FOVカバレッジアルゴリズムを実行するサービスコンピューティングデバイス108によって実行されてもよい。場合によっては、プロセス1500は、上述した図13のプロセス1300のブロック1318に部分的に対応することができる。
経路FOVカバレッジアルゴリズム1500は、車両センサFOVによって提供されるFOVカバレッジの経路固有の割合を計算する。この計算は、車両センサFOVと、経路指定および監視アルゴリズムから取得された候補経路の道路区間ごとの、地図データデータベース156から取得された必要FOVとの間の重複を見いだすことによって行われる。
1502において、サービスコンピューティングデバイス108は、車両センサFOVの2Dまたは3Dグリッドを生成することができる。車両センサFOVの例は、例えば図2~図11に関して上述されている。
1504において、サービスコンピューティングデバイス108は、候補経路を入力として受信することができる。例えば、上述したように、速度プロファイルアルゴリズムは、例えば図13のブロック1314に関して上述したように、記述分析層または予測分析層のいずれかで実行された経路指定および監視アルゴリズムから複数の候補経路を受信することができる。
1506において、サービスコンピューティングデバイス108は、例えば候補経路の合計数を表す第1の変数N=経路数を設定し、例えば処理のために現在選択されている候補経路を表すカウンタとして第2の変数RN=1と設定することによって、第1のループを初期化することができる。
1508において、サービスコンピューティングデバイス108は、RNの値がNの値以上であるかどうかを決定することができる。N以上でない場合、プロセスはブロック1510に進む。N以上である場合、プロセスは図13のブロック1318に戻る。
1510において、サービスコンピューティングデバイス108は、第3の変数M=RNの区間数を設定し、例えば、処理のために現在選択されている区間を表すカウンタとして第4の変数SM=1と設定することによって、ネストされた第2のループを初期化することができる。
1512において、サービスコンピューティングデバイス108は、SMがM以上であるかどうかを決定することができる。M以上でない場合、プロセスはブロック1516に進む。M以上である場合、プロセスはブロック1514に進み、RNをインクリメントする。
1514において、SM=Mであり、候補経路内のすべての区間が処理されている場合、サービスコンピューティングデバイス108は、変数RNを値1だけインクリメントすることができる。次いで、プロセスはブロック1508に戻り、すべての候補経路が処理されたかどうか、すなわちRN=Nであるか決定することができる。
1516において、サービスコンピューティングデバイス108は、区間を、X単位だけ互いに離間した複数の等間隔のWPなどのL個のウェイポイント(WP)に分割することができる。WPは、いくつかの例で上述したノード514に対応することができる。
1518において、サービスコンピューティングデバイス108は、第3のネストされたループを初期化するために、現在処理されているウェイポイントを表すカウンタとしてWP=1と設定する。
1520において、サービスコンピューティングデバイス108は、選択されたWPにおける道路区間の必要FOVの2Dまたは3Dグリッドを生成することができる。例えば、選択されたWP(ノード)で必要FOVに対して2Dまたは3Dグリッドを生成することができ、「Required FOVwp」などの配列変数に格納することができる。
1522において、サービスコンピューティングデバイス108は、各WPにおける必要FOVと車両FOVとの間の重複に基づいて、各WPのFOV重複を決定することができる。例えば、アルゴリズムは、2D/3Dグリッド幾何学的交点を使用して、必要FOVと車両センサFOVとの間の重複を計算することができる。現在のノードWPにおける重複値は、配列変数「FOVOverlapwp」に格納されてもよい。「FOVOverlap」配列は、現在の道路区間SMの各ノードWPにおけるFOV重複値を格納するために、第3のネストされたループにおいてインクリメントされ得る。
1524において、サービスコンピューティングデバイス108は、WPがL以上であるかどうかを決定することができる。L以上である場合、すべてのWPが処理されており、アルゴリズムは1528に進む。L以上でない場合、プロセスは1526に進む。
1526において、サービスコンピューティングデバイス108は、WPを1の値だけインクリメントして、次のWPを処理することができる。
1528において、サービスコンピューティングデバイス108は、選択された経路のFOVオーバーラップの累積合計を決定することができ(例えば、FOVOverlapRN=Sum(FOVOverlapWP))、選択された経路の必要FOVの累積合計(例えば、ReqFOVRN=Sum(ReqFOVWP))をさらに決定することができる。次いで、プロセスは1530に進み、選択された経路の区間カウンタをインクリメントし、さらに図16のブロック1602に進むことができる。
1530において、サービスコンピューティングデバイス108は、区間カウンタSMを値1だけインクリメントして1512に進み、すべての区間が処理されたかどうかを決定する。例えば、第2および第3のループは、すべての道路区間に対して実行され、したがって、経路全体(RN)に対して「FOVOverlapWP」および「Required FOVWP」を入力する。第2のループカウンタSMが経路RN上の全道路区間M以上になった後、「FOVOverlapWP」および「Required FOVWP」の累積合計が計算される。
図16でアルゴリズム1500を続けると、1602において、サービスコンピューティングデバイス108は、選択された経路RNのFOVカバレッジの割合を決定することができ、すなわち、RN(FOVRN)は、選択された経路RNの累積合計FOVカバレッジを、RNの累積合計必要FOVで割ったものに等しい。例えば、アルゴリズムは、2つの累積合計の比を決定して、経路RNについて車両センサによってカバーされ、ベクトル変数「FOVRN」に格納されたFOVの割合を計算することができ、この変数は、第1のループがすべての経路に対して実行されるときにインクリメントされ得る。
1604において、サービスコンピューティングデバイス108は、すべての経路のFOVカバレッジの周期差Delta FOVN(%)=FOVRN-FOVRN-1を決定することができる。
1604この決定に続いて、アルゴリズムは、図15のブロック1508に進み、すべての経路が処理されたかどうかを決定し、さらにブロック1616に進むことができる。
図15のブロック1512から続く1606において、サービスコンピューティングデバイス108は、区間の走行時間を決定することができる。例えば、アルゴリズムは、地図データデータベース156から各道路区間の走行時間を決定することができ、この情報をベクトル変数TTSMに格納することができ、第2のループが経路RNのすべての道路区間の走行時間を取り込んだ後、経路RNの総走行時間「TT」を見いだすために「TTSM」の累積和がとられる。
1608において、サービスコンピューティングデバイス108は、経路RNの総走行時間(例えば、TT=Sum(SMの走行時間(TTSM)))を決定することができる。
1610において、サービスコンピューティングデバイス108は、すべての経路の合計時間の周期差(例えば、DeltaTimeN(min.)=TTN-TTN-1)を決定することができる。例えば、候補経路どうしを比較して、走行時間が極端に長い経路を排除し、FOVのカバレッジが極端に低い経路を回避するために、変数「DeltaFOVN」および「DeltaTimeN」に格納された経路ペアごとに、「FOVRN」および「TT」の周期差を計算してもよい。
1612において、サービスコンピューティングデバイス108は、DeltaTimeNが第1の閾値以上であるかどうかを決定することができる。閾値以上である場合、プロセスは1616に進む。閾値以上でない場合、プロセスは1614に進み、終了する。例えば、アルゴリズムは、「DeltaTimeN」を第1の時間閾値と比較することによって、ユーザ定義の第1の閾値を超える走行時間差を有する候補経路を排除することができる。
1614において、サービスコンピューティングデバイス108は、時間が第1の閾値以上であり、FOVカバレッジの割合が第2の閾値未満であるとき、考慮すべきものから経路を削除することができる。
1616において、サービスコンピューティングデバイス108は、DeltaFOVNが第2の閾値以下であるかどうかを決定することができる。閾値以下でない場合、プロセスはブロック1614に進み、選択された経路について終了する。閾値以下である場合、プロセスはブロック1618に進む。
1618において、サービスコンピューティングデバイス108は、第1のおよび第2の閾値を満たす経路のセットを選択することができる。プロセスは、図13のブロック1324に戻ることができる。例えば、残りの候補経路から、すなわち、FOVカバレッジ閾値「閾値2」のユーザ定義の割合を満たす経路が選択され、最適化アルゴリズムに送信される。
図17は、いくつかの実装形態による、経路効率を決定するためのプロセスとしての例示的な走行展望アルゴリズム1700を示すフロー図である。例えば、走行展望アルゴリズムは、リアルタイム気象、道路プロファイル、および予測速度プロファイルなどの入力を使用して、候補経路に対する車両パワートレインのエネルギー効率を推定することができる。いくつかの例では、プロセス1700は、上述したシステム100によって実行されてもよい。例えば、プロセス1700は、速度プロファイルアルゴリズムを実行するサービスコンピューティングデバイス108によって実行されてもよい。場合によっては、プロセス1700は、上述した図13のプロセス1300のブロック1320に対応することができる。
1702において、サービスコンピューティングデバイス108は、候補経路を入力として受信することができる。例えば、上述したように、速度プロファイルアルゴリズムは、例えば図13のブロック1314に関して上述したように、記述分析層または予測分析層のいずれかで実行された経路指定および監視アルゴリズムから複数の候補経路を受信することができる。
1704において、サービスコンピューティングデバイス108は、例えば候補経路の合計数を表す第1の変数N=経路数を設定し、例えば処理のために現在選択されている候補経路を表すカウンタとして第2の変数RN=1と設定することによって、第1のループを初期化することができる。
1706において、サービスコンピューティングデバイス108は、RNの値がNの値以上であるかどうかを決定することができる。N以上でない場合、プロセスはブロック1708に進む。N以上である場合、すべての候補経路が処理されているため、プロセスはブロック1728に進む。
1708において、サービスコンピューティングデバイス108は、第3の変数M=RNの区間数を設定し、例えば、処理のために現在選択されている区間を表すカウンタとして第4の変数SM=1と設定することによって、ネストされた第2のループを初期化することができる。
1710において、サービスコンピューティングデバイス108は、SMがM以上であるかどうかを決定することができる。M以上でない場合、プロセスはブロック1714および1718に進む。M以上である場合、プロセスはブロック1712に進み、RNをインクリメントする。
1712において、サービスコンピューティングデバイス108は、経路カウンタRNを値1だけインクリメントして1706に進み、すべての経路が処理されたかどうかを決定することができる。
1714において、サービスコンピューティングデバイス108は、速度プロファイル情報を受信することができる。例えば、走行展望アルゴリズムは、選択された区間について、図14に関して上述した速度プロファイルアルゴリズムの出力を受信することができる。
1716において、サービスコンピューティングデバイス108は、選択された候補経路の選択された区間の速度プロファイルに基づいて、選択された区間SMの予測速度を決定することができる。
1718において、サービスコンピューティングデバイス108は、パワートレイン情報、リアルタイム気象および道路プロファイル情報を受信することができる。
1720において、サービスコンピューティングデバイス108は、パワートレイン負荷を推定することができる。例えば、アルゴリズムは、道路プロファイルおよびリアルタイム気象に基づいてパワートレイン負荷を推定することができる。したがって、すべての道路区間について、パワートレイン負荷は、地図データデータベース156から取得することができる気象および道路プロファイルなどの、コネクティッドサードパーティデータから推定することができる。
1722において、サービスコンピューティングデバイス108は、パワートレインモデルを使用して、区間SMの予測燃料またはエネルギー使用量を決定することができる。例えば、推定負荷および予測速度プロファイルは、選択された道路区間の車両効率を予測するためのパワートレインモデル(例えば、データ駆動/物理学ベースのモデル)への入力として使用することができる。したがって、パワートレインモデルは、図14に関して上述した速度プロファイルアルゴリズムからの出力として、道路区間SMの入力推定速度プロファイルを受信する。車両効率計算のためのこの手順は、各候補経路のすべての道路区間に対して繰り返されてもよい。
1724において、サービスコンピューティングデバイス108は、それぞれの候補経路RNのすべての区間の予測エネルギー効率を格納することができる。各候補経路の総効率は、続いて計算され、最適化アルゴリズムへの入力として与えられ得る。
1726において、サービスコンピューティングデバイス108は、区間カウンタSMを値1だけインクリメントしてブロック1710に戻り、すべての区間が処理されたかどうかを決定することができる。
1728において、候補経路のすべてが処理されている場合、サービスコンピューティングデバイス108は、各候補経路RNの平均効率を決定することができる。この情報は、以下でさらに説明するように、続いて最適化アルゴリズムに提供されてもよい。プロセスは、図13のブロック1324に戻ることができる。
図18は、いくつかの実施態様による、車両ダイナミクスを決定するためのプロセスとしての車両ダイナミクスアルゴリズム1800の例を示すフロー図である。例えば、車両ダイナミクスアルゴリズムは、各候補経路の制限速度および道路形状の入力を使用して、例えば、車両ジャーク、ロール、ピッチ、ヨー、衝突安全性、自動運転継続時間などの、完全/半自律型車両の車両ダイナミクス性能をシミュレートすることができる。車両ダイナミクスアルゴリズムは、高い衝突確率、過剰な車両ジャーク、ロール、ピッチ、ヨーなどを回避する経路を選択することができる。いくつかの例では、プロセス1800は、上述したシステム100によって実行されてもよい。例えば、プロセス1800は、速度プロファイルアルゴリズムを実行するサービスコンピューティングデバイス108によって実行されてもよい。場合によっては、プロセス1800は、上述した図13のプロセス1300のブロック1322に対応することができる。
1802において、サービスコンピューティングデバイス108は、候補経路を入力として受信することができる。例えば、上述したように、速度プロファイルアルゴリズムは、例えば図13のブロック1314に関して上述したように、記述分析層または予測分析層のいずれかで実行された経路指定および監視アルゴリズムから複数の候補経路を受信することができる。
1804において、サービスコンピューティングデバイス108は、例えば候補経路の合計数を表す第1の変数N=経路数を設定し、例えば処理のために現在選択されている候補経路を表すカウンタとして第2の変数RN=1と設定することによって、第1のループを初期化することができる。
1806において、サービスコンピューティングデバイス108は、RNの値がNの値以上であるかどうかを決定することができる。N以上でない場合、プロセスはブロック1808に進む。N以上である場合、すべての候補経路が処理されているため、プロセスはブロック1828に進む。
1808において、サービスコンピューティングデバイス108は、第3の変数M=RNの区間数を設定し、例えば、処理のために現在選択されている区間を表すカウンタとして第4の変数SM=1と設定することによって、ネストされた第2のループを初期化することができる。
1810において、サービスコンピューティングデバイス108は、SMがM以上であるかどうかを決定することができる。M以上でない場合、プロセスはブロック1814および1818に進む。M以上である場合、プロセスはブロック1812に進み、RNをインクリメントする。
1812において、サービスコンピューティングデバイス108は、経路カウンタRNを値1だけインクリメントして1806に進み、すべての経路が処理されたかどうかを決定することができる。
1814において、サービスコンピューティングデバイス108は、速度プロファイル情報を受信することができる。例えば、アルゴリズムは、選択された区間について、図14に関して上述した速度プロファイルアルゴリズムの出力を受信することができる。
1816において、サービスコンピューティングデバイス108は、区間SMの速度を予測することができる。
1818において、サービスコンピューティングデバイス108は、リアルタイムの気象および道路形状情報を受信することができる。
1820において、サービスコンピューティングデバイス108は、道路状況を推定することができる。例えば、道路区間SMの場合、道路状況は、地図データデータベース156からの道路形状(HDマップ)およびサードパーティからのリアルタイム気象からの入力を用いて推定される。
1822において、サービスコンピューティングデバイス108は、車両ダイナミクスモデルを使用して、シャーシ仕様、道路状況、および予測速度に基づいて車両挙動を決定することができる。例えば、推定された道路状況は、車両ダイナミクスモデル(物理ベースモデルとAIモデルとの組み合わせを使用して構築される)に渡される。車両ダイナミクスモデルはまた、速度プロファイルアルゴリズムから受信した道路区間SMの推定速度プロファイルを入力として受信する。
1824において、サービスコンピューティングデバイス108は、区間SMのトラフィックシミュレーションを実行することができる。例えば、車両ダイナミクスモデルの出力は、トラフィックモデルと協調シミュレーションすることができる。この協調シミュレーションの出力は、道路区間SM用の車両のロール、ピッチ、ヨー、ジャーク、道路曲率/出口での旋回速度、車両フットプリントおよび道路寸法違反などの車両挙動パラメータを提供する。
1826において、サービスコンピューティングデバイス108は、それぞれの候補経路RNのすべての区間の予測エネルギー効率を格納することができる。例えば、第2のループは、すべての道路区間の効率値を格納することができる。
1828において、サービスコンピューティングデバイス108は、区間カウンタSMを値1だけインクリメントしてブロック1710に戻り、すべての区間が処理されたかどうかを決定することができる。
1830において、サービスコンピューティングデバイス108は、各候補経路RNの平均車両挙動パラメータを決定することができる。例えば、各候補経路について、車両ダイナミクスアルゴリズムは、個々の道路区間車両挙動パラメータと共に、各候補経路の車両挙動パラメータの平均値を出力することができる。この情報は、以下でさらに説明するように、続いて最適化アルゴリズムに提供されてもよい。プロセスは、図13のブロック1324に戻ることができる。
図19は、いくつかの実装形態による、経路最適化のためのプロセスとして例示的な最適化アルゴリズム1900を示すフロー図である。例えば、上述のアルゴリズムからの出力は、最適化アルゴリズム1900に供給される。ここでの経路指定最適化は、組み合わせ問題と考えることができる。したがって、正確な最適解は、典型的には、パラメータの小さなセットのみの問題に対して達成され得る。この問題に対処するために、本明細書の実装形態は、AIベースの最適化を使用して、大きな最適化パラメータ空間を有する経路指定のためのグローバル/ローカルな最適条件を達成し、ルールベースのヒューリスティクスを使用して実現可能な結果を保証する。いくつかの例では、プロセス1900は、上述したシステム100によって実行されてもよい。例えば、プロセス1900は、いくつかの例では、ナビゲーション情報プログラム146または他のアルゴリズムを実行することにより、サービスコンピューティングデバイス108によって実行されてもよい。さらに、場合によっては、プロセス1900は、上述した図13のプロセス1300のブロック1324に部分的に対応することができる。
1902において、サービスコンピューティングデバイス108は、入力として、経路FOVアルゴリズム、走行展望アルゴリズム、および車両ダイナミクスアルゴリズムから候補経路を受信することができる。例えば、最適化アルゴリズムは、図15~図18に関して上述したように、経路FOVアルゴリズム、走行展望アルゴリズム、および車両ダイナミクスアルゴリズムの出力を受信することができる。
1904において、サービスコンピューティングデバイス108は、経路探索要求を開始することができる。例えば、詳細な経路情報を受信した後、最適化アルゴリズムは、最適化を初期化する経路探索要求機能を開始することができる。
1906において、サービスコンピューティングデバイス108は、道路区間ネットワークトポロジ、およびすべての経路上の各道路区間に関する情報、すなわち、FOVカバレッジの割合、効率、快適性、衝突確率、走行時間、トラフィック、計画展望などを収集することができる。例えば、道路ネットワークトポロジに関する情報、および最適化モジュールに渡されたすべての選択された経路上の各道路区間に関する情報を収集することができる。最適化反復ループを開始して、カスタマイズ可能な(ユーザ定義の)収束基準が満たされているかどうかを確認することができる。満たされていない場合、選択されたすべての経路に対して最適化を実行することができる。
1908において、サービスコンピューティングデバイス108は、アルゴリズムが収束したかどうかを決定することができる。収束した場合、プロセスは1924に進む。収束していない場合、プロセスは1912に進む。
1910において、サービスコンピューティングデバイス108は、安全閾値、効率閾値、および/または快適性閾値などのカスタマイズ可能な収束基準を受信することができる。
1912において、サービスコンピューティングデバイス108は、すべての経路が評価されたかどうかを決定することができる。評価された場合、プロセスは1914に進む。評価されていない場合、プロセスは1916に進む。
1914において、サービスコンピューティングデバイス108は、プロセスを終了することができる。
1916において、サービスコンピューティングデバイス108は、AIベースの最適化経路指定シミュレータを実行することができる。
1918において、サービスコンピューティングデバイス108は、目的関数、例えば、J=w1*TT+w2*%FOVcoverage+w3*efficiency+w4*comfort+w5*ADDuration...を受信することができ、w1~w5は重み値である。目的関数はカスタマイズ可能であってもよい。
1920において、サービスコンピューティングデバイス108はまた、交通渋滞、到着予想時刻、車両センサFOV、車両ダイナミクス、パワートレインダイナミクスなどの定義された制約を受信することができる。
1922において、サービスコンピューティングデバイス108は、ルールベースのヒューリスティクスをAIベースの最適化経路指定シミュレータに適用することができる。例えば、AIベースの最適化シミュレータは、収集された道路区間および道路ネットワーク情報と共に、入力として提供され得るカスタマイズ可能な、例えばユーザ定義の目的関数およびユーザ定義の制約を受信することができる。AIベースの最適化経路指定シミュレータは、定義された目的関数と入力データに対する制約とを評価するために実行されてもよい。AIベースの最適化経路指定シミュレータの出力は、ルールベースのヒューリスティクスに渡されてもよい。ヒューリスティクス関数の出力は、実現可能で高速な収束を可能にするために、AIベースの最適化経路指定シミュレータへのフィードバックとして提供されてもよい。
1924において、サービスコンピューティングデバイス108は、最良の(最適な)経路を選択することができる。例えば、最適化AIベースの最適化経路指定シミュレータが収束した後、最良の経路を選択して車両に送信することができる。
1926において、サービスコンピューティングデバイス108は、トラフィック情報、気象情報などの受信した更新されたローカル状況情報に基づいて、選択された経路を更新することができる。更新は、定期的に行われてもよいし、新たなローカル状況情報の受信などのイベントに応じて行われてもよい。例えば、更新は、現在のトラフィック情報に基づくなどのイベントに基づいてトリガされてもよく、例えば、交通渋滞イベントは、代替経路を見つけるために更新をトリガする。
本明細書に記載の例示的なプロセスは、説明の目的で提供されるプロセスの例にすぎない。本明細書の開示に照らして、多数の他の変形形態が当業者には明らかであろう。さらに、本明細書の開示は、プロセスを実行するための適切なフレームワーク、アーキテクチャ、および環境のいくつかの例を記載しているが、本明細書の実装形態は、図示および説明された特定の例に限定されない。さらに、本開示は、説明され、図面に示されるように、様々な例示的な実装形態を提供する。しかしながら、本開示は、本明細書に記載および図示された実装形態に限定されず、当業者に知られているように、または当業者に知られることになるように、他の実装形態に拡張することができる。
本明細書に記載の様々な命令、プロセス、および技術は、コンピュータ可読媒体に格納され、かつ本明細書のプロセッサによって実行されるコンピュータプログラムおよびアプリケーションなどのコンピュータ実行可能命令の一般的な文脈で考慮され得る。一般に、プログラムおよびアプリケーションという用語は互換的に使用することができ、特定のタスクを実行するため、または特定のデータタイプを実装するための命令、ルーチン、モジュール、オブジェクト、構成要素、データ構造、実行可能コードなどを含むことができる。これらのプログラム、アプリケーションなどは、ネイティブコードとして実行されてもよいし、仮想マシンまたは他のジャストインタイムコンパイル実行環境などでダウンロードおよび実行されてもよい。典型的には、プログラムおよびアプリケーションの機能は、様々な実装形態において所望に応じて組み合わされまたは分散されてもよい。これらのプログラム、アプリケーション、および技術の実装は、コンピュータ記憶媒体に格納されてもよく、または何らかの形態の通信媒体を介して送信されてもよい。
主題は、構造的特徴および/または方法論的行為に特有の言語で記載されているが、添付の特許請求の範囲で定義される主題は、記載された特定の特徴または行為に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、特許請求の範囲を実施する例示的な形態として開示されている。