(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-24
(45)【発行日】2022-02-01
(54)【発明の名称】自律運転車両、および、その操作方法
(51)【国際特許分類】
G08G 1/16 20060101AFI20220125BHJP
B60W 50/06 20060101ALI20220125BHJP
B60W 60/00 20200101ALI20220125BHJP
【FI】
G08G1/16 C
B60W50/06
B60W60/00
(21)【出願番号】P 2020114413
(22)【出願日】2020-07-01
【審査請求日】2020-07-01
(32)【優先日】2019-07-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500164385
【氏名又は名称】デンソー インターナショナル アメリカ インコーポレーテッド
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100106149
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】プラサナー クーマー シーバークーマー
【審査官】田中 将一
(56)【参考文献】
【文献】国際公開第2013/051083(WO,A1)
【文献】特開2019-026103(JP,A)
【文献】特開2019-106049(JP,A)
【文献】特開2005-258598(JP,A)
【文献】国際公開第2018/083672(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00 - 99/00
B60W 10/00 - 10/30
B60W 30/00 - 60/00
(57)【特許請求の範囲】
【請求項1】
ひとつ以上のプロセッサと、
ひとつ以上の前記プロセッサと通信するメモリとを備えており、
前記メモリは、入力状態配列生成モジュールと、アクション値配列生成モジュールと、指示モジュールとを格納しており、
前記入力状態配列生成モジュールは、ひとつ以上の前記プロセッサによって実行されるとき、ひとつ以上の前記プロセッサに、(1)タイムスタンプをもつセンサデータであって、車両のひとつ以上のセンサから前記センサデータを受け取り、(2)前記センサデータの前記タイムスタンプの間における比較に基づいて前記センサデータを同期化することにより、前記センサデータを同期化させて同期化された前記センサデータを生成し、(3)前記センサデータを共通のデータ形式をもつ変換された前記センサデータに変換することにより、同期化された前記センサデータを前処理し、および、(4)入力状態配列であるK次元配列であって、前記K次元配列に、変換された前記センサデータを連結するように機能させ、
前記アクション値配列生成モジュールは、ひとつ以上の前記プロセッサによって実行されるとき、ひとつ以上の前記プロセッサに、複数のセルを含むアクション値配列を推定するために、ナビゲーションポリシーを前記入力状態配列に適用するように機能させ、前記ナビゲーションポリシーは、所望のナビゲーションアクションを提供するために事前に定義されたナビゲーション制約を考慮するように強化学習によって訓練されており、前記アクション値配列は車両の前方の平面を表す配列であって、前記アクション値配列の複数の前記セルは、対応する前記セルに向かって前記車両を運転することによる長期的な報酬の期待値を含み、前記アクション値配列の複数の前記セルの値は、前記車両と前記車両が到達しようとしている目標との間の距離と、前記車両と前記車両が回避しようとするひとつ以上の物体との距離とを表しているものであり、
前記指示モジュールは、ひとつ以上の前記プロセッサによって実行されるとき、ひとつ以上の前記プロセッサに、最高の報酬値を有する前記アクション値配列内のセルを表す場所に前記車両を誘導するように車両制御システムに指示するように機能させる
ものであり、
ひとつ以上の前記プロセッサと通信する前記メモリは、人工知能ポテンシャルフィールド撮像モジュールと、入力状態配列生成モジュールとを格納しており、
前記人工知能ポテンシャルフィールド撮像モジュールは、ひとつ以上の前記プロセッサにより実行されるとき、ひとつ以上の前記プロセッサに、(1)現在の位置を表す起点値と目標位置を表す到達点値とを受け取り、(2)現在位置周辺の複数のセルを有するN次元空間を離散化し、(3)目標位置からの現在位置の近接度の関数として、複数の前記セルにおける前記セルのポテンシャル値を計算し、および、(4)タイムスタンプを与えられているN次元ポテンシャルフィールド配列であって、N次元空間から対応するセルの前記ポテンシャル値に基づいているN次元ポテンシャルフィールド配列の前記セルの値であるN次元ポテンシャルフィールド配列を計算するように機能させ、
前記入力状態配列生成モジュールは、ひとつ以上の前記プロセッサにより実行されるとき、ひとつ以上の前記プロセッサに、(1)前記センサデータと前記N次元ポテンシャルフィールド配列とは、前記センサデータと前記N次元ポテンシャルフィールド配列との間のタイムスタンプの比較に基づいて同期化することにより、前記センサデータと前記N次元ポテンシャルフィールド配列とを同期化させ、(2)前記センサデータと前記N次元ポテンシャルフィールド配列を共通のデータ形式に変換することにより、同期化された前記センサデータと前記N次元ポテンシャルフィールド配列を前処理し、(3)入力状態配列であるK次元配列であって、前記K次元配列に、変換された前記センサデータと前記N次元ポテンシャルフィールド配列とを連結するように機能させる自律運転車両。
【請求項2】
前記起点値、および、前記到達点値が全地球航法衛星システムからの座標として表されている
請求項1に記載の自律運転車両。
【請求項3】
前記起点値は車両の現在の車両位置を表し、前記到達点値は前記車両の意図された車両到達位置を表している
請求項1に記載の自律運転車両。
【請求項4】
前記アクション値配列は、ディープニューラルネットワークを使用して推定されている
請求項1から請求項3のいずれかひとつに記載の自律運転車両。
【請求項5】
前記目標は、最終目標と、ひとつ以上の中間目標とを含み、前記中間目標は前記最終目標と前記車両の間に配置されている
請求項1から請求項4のいずれかひとつに記載の自律運転車両。
【請求項6】
ひとつ以上の前記センサは、単眼カメラ、ステレオカメラ、レーダーシステム、超音波レーダーシステム、および、LiDARシステムのうちの少なくともひとつを含む
請求項1から請求項5のいずれかひとつに記載の自律運転車両。
【請求項7】
タイムスタンプを有するセンサデータであって、自律運転車両のひとつ以上のセンサから前記センサデータを受信し、
前記センサデータの前記タイムスタンプ間の比較に基づいて前記センサデータを同期化することによって、前記センサデータを同期化し、
前記センサデータを共通のデータフォーマットを有する変換された前記センサデータに変換することにより、同期化された前記センサデータを前処理し、
入力状態配列であるK次元配列であって、変換された前記センサデータを前記K次元配列に連結し、
望ましいナビゲーションアクションを提供するために事前定義されたナビゲーション制約を考慮する強化学習を通じて訓練されたナビゲーションポリシーであって、前記ナビゲーションポリシーを前記入力状態配列に適用することにより複数のセルを含むアクション値配列を推定し、
前記アクション値配列は、車両の前方の平面を表す配列であって、前記アクション値配列の複数の前記セルは、対応するセルに向かって車両を運転することによる長期的な報酬の期待値を含み、前記アクション値配列の複数の前記セルの値は、車両と車両が到達しようとする目標との間の距離、および、車両と車両が回避しようとするひとつ以上の物体との間の距離を表すものであり、
最高の報酬値を持つアクション値配列の前記セルを表す場所に自律運転車両を誘導するように車両制御システムに指示する
ものであり、
現在位置を表す起点値と目標位置を表す到達点値とを受け取り、
現在位置の周りに複数のセルを有するN次元空間を離散化し、
複数の前記セルにおけるそれぞれの前記セルのポテンシャル値を、前記目標位置からの前記現在位置の近接度の関数として計算し、
タイムスタンプから提供されるN次元ポテンシャルフィールド配列であって、前記N次元ポテンシャルフィールド配列のセルの値は、前記N次元空間からの対応するセルのポテンシャル値に基づいている、前記N次元ポテンシャルフィールド配列を計算し、
センサデータと前記N次元ポテンシャルフィールド配列のタイムスタンプ間の比較に基づいて、前記センサデータと前記N次元ポテンシャルフィールド配列とを同期化することにより、前記センサデータと前記N次元ポテンシャルフィールド配列とを同期化させ、
前記センサデータと前記N次元ポテンシャルフィールド配列とを共通のデータ形式に変換することにより、同期化された前記センサデータと前記N次元ポテンシャルフィールド配列とを前処理し、
K次元配列は入力状態配列であって、前記K次元配列に、変換された前記センサデータと前記N次元ポテンシャルフィールド配列とを連結する自律運転車両の操作方法。
【請求項8】
前記起点値、および、前記到達点値が全地球航法衛星システムからの座標として表されている
請求項7に記載の自律運転車両の操作方法。
【請求項9】
前記起点値は車両の現在の車両位置を表し、前記到達点値は前記車両の意図された車両到達位置を表している
請求項7に記載の自律運転車両の操作方法。
【請求項10】
ディープニューラルネットワークを使用して前記アクション値配列を推定するステップをさらに含む
請求項7から請求項9のいずれかひとつに記載の自律運転車両の操作方法。
【請求項11】
前記目標は、最終目標と、ひとつ以上の中間目標とを含み、前記中間目標は前記最終目標と前記車両の間に配置されている
請求項7から請求項10のいずれかひとつに記載の自律運転車両の操作方法。
【請求項12】
ひとつ以上の前記センサは、単眼カメラ、ステレオカメラ、レーダーシステム、超音波レーダーシステム、および、LiDARシステムのうちの少なくともひとつを含む
請求項7から請求項11のいずれかひとつに記載の自律運転車両の操作方法。
【発明の詳細な説明】
【技術分野】
【0001】
この明細書で説明する主題は、一般に人工知能システム(AIシステム)を用いた方法および装置に関し、より詳細には、自律運転車両、その操作方法、および、目標指向型の人工知能システムに関する。
【背景技術】
【0002】
提供された背景技術の説明は、開示のおおよその概要を示している。この背景技術の項で説明される範囲における発明者の活動、および、出願時において先行技術と見なされない説明の側面は、この技術に対する先行技術として、明示的にも、または、黙示的にも、自認されたものではない。
【0003】
AIとも呼ばれる人工知能は、電子処理能力のアプローチにおける大幅な進歩を示している。たとえば、環境またはデータの側面を認識し、そこから知的な決定を行うコンピューティングシステムの機能は、多くの異なるアプリケーションにおいて潜在的に強力なツールである。これらのアプリケーションの一部は、自律運転制御車両または半自律運転制御車両における車両ナビゲーション、ゲームプレイ、ロボット工学、および、金融取引が含まれる。
【0004】
車両ナビゲーションに関して、現在のいくつかの車両ナビゲーションシステムは、対象物の検出、対象物の追跡、および、空き空間の検出などの予め設定された処理を実行する個別のサブシステムに分割されている。次に、サブシステムによって生成された結果はナビゲーションシステムに提供される。ナビゲーションシステムは、すべてのサブシステムの結果を、車両の動きを制御する車両コントローラサブシステムへの入力として結びつける。このタイプのシステムの問題は、サブシステムのひとつに障害が発生した場合、最終的な出力が誤ったものとなることである。より多くの場合、各サブシステムは他のサブシステムとは独立して開発されており、全体的に目標(以下の説明においてターゲットとも呼ばれる)に到達するというゴールを目指していない。また、そのようなシステムは、道路上の2台の車両間の距離とその特性について仮定を立て、一連のルールを使用する傾向がある。これは、高い誤り率につながる可能性がある。
【0005】
他のタイプのナビゲーションシステムは、機械学習モデルを使用して、センサ情報から直接にひとつ以上の操作指令(加速、ステアリング角度、ブレーキ)を予測しようとする。これらのタイプのシステムは、一般にエンドツーエンド(End-To-End)のナビゲーションシステム、または、自律運転システムと呼ばれる。これらのシステムは問題を複数のサブシステムに分解しないが、特に複雑な自律運転環境では、実際の値を予測するときに機械学習モデルが十分に正確ではないために、システムの出力は依然として誤っている可能性がある。また、これらの機械学習モデルが監視された方法でトレーニングされている場合、ナビゲーションは非常に確定的である可能性があり、それは、突然の風の吹き出し、滑りやすい道路など、道路上の突然の予期しない変化にモデルが適応しないことを意味する。
【発明の概要】
【0006】
このセクションは一般的に開示を要約したものであり、その全範囲またはそのすべての機能を包括的に説明するものではない。
自律運転車両は、ひとつ以上のプロセッサと、
ひとつ以上のプロセッサと通信するメモリとを備えており、
メモリは、入力状態配列生成モジュールと、アクション値配列生成モジュールと、指示モジュールとを格納しており、
入力状態配列生成モジュールは、ひとつ以上のプロセッサによって実行されるとき、ひとつ以上のプロセッサに、(1)タイムスタンプをもつセンサデータであって、車両のひとつ以上のセンサからセンサデータを受け取り、(2)センサデータのタイムスタンプの間における比較に基づいてセンサデータを同期化することにより、センサデータを同期化させて同期化されたセンサデータを生成し、(3)センサデータを共通のデータ形式をもつ変換されたセンサデータに変換することにより、同期化されたセンサデータを前処理し、および、(4)入力状態配列であるK次元配列であって、K次元配列に、変換されたセンサデータを連結するように機能させ、
アクション値配列生成モジュールは、ひとつ以上のプロセッサによって実行されるとき、ひとつ以上のプロセッサに、複数のセルを含むアクション値配列を推定するために、ナビゲーションポリシーを入力状態配列に適用するように機能させ、ナビゲーションポリシーは、所望のナビゲーションアクションを提供するために事前に定義されたナビゲーション制約を考慮するように強化学習によって訓練されており、アクション値配列は車両の前方の平面を表す配列であって、アクション値配列の複数のセルは、対応するセルに向かって車両を運転することによる長期的な報酬の期待値を含み、アクション値配列の複数のセルの値は、車両と車両が到達しようとしている目標との間の距離と、車両と車両が回避しようとするひとつ以上の物体との距離とを表しているものであり、
指示モジュールは、ひとつ以上のプロセッサによって実行されるとき、ひとつ以上のプロセッサに、最高の報酬値を有するアクション値配列内のセルを表す場所に車両を誘導するように車両制御システムに指示するように機能させるものであり、
ひとつ以上のプロセッサと通信するメモリは、人工知能ポテンシャルフィールド撮像モジュールと、入力状態配列生成モジュールとを格納しており、
人工知能ポテンシャルフィールド撮像モジュールは、ひとつ以上のプロセッサにより実行されるとき、ひとつ以上のプロセッサに、(1)現在の位置を表す起点値と目標位置を表す到達点値とを受け取り、(2)現在位置周辺の複数のセルを有するN次元空間を離散化し、(3)目標位置からの現在位置の近接度の関数として、複数のセルにおけるセルのポテンシャル値を計算し、および、(4)タイムスタンプを与えられているN次元ポテンシャルフィールド配列であって、N次元空間から対応するセルのポテンシャル値に基づいているN次元ポテンシャルフィールド配列のセルの値であるN次元ポテンシャルフィールド配列を計算するように機能させ、
入力状態配列生成モジュールは、ひとつ以上のプロセッサにより実行されるとき、ひとつ以上のプロセッサに、(1)センサデータとN次元ポテンシャルフィールド配列とは、センサデータとN次元ポテンシャルフィールド配列との間のタイムスタンプの比較に基づいて同期化することにより、センサデータとN次元ポテンシャルフィールド配列とを同期化させ、(2)センサデータとN次元ポテンシャルフィールド配列を共通のデータ形式に変換することにより、同期化されたセンサデータとN次元ポテンシャルフィールド配列を前処理し、(3)入力状態配列であるK次元配列であって、K次元配列に、変換されたセンサデータとN次元ポテンシャルフィールド配列とを連結するように機能させる。
自律運転車両の操作方法は、タイムスタンプを有するセンサデータであって、自律運転車両のひとつ以上のセンサからセンサデータを受信し、
センサデータのタイムスタンプ間の比較に基づいてセンサデータを同期化することによって、センサデータを同期化し、
センサデータを共通のデータフォーマットを有する変換されたセンサデータに変換することにより、同期化されたセンサデータを前処理し、
入力状態配列であるK次元配列であって、変換されたセンサデータをK次元配列に連結し、
望ましいナビゲーションアクションを提供するために事前定義されたナビゲーション制約を考慮する強化学習を通じて訓練されたナビゲーションポリシーであって、ナビゲーションポリシーを入力状態配列に適用することにより複数のセルを含むアクション値配列を推定し、
アクション値配列は、車両の前方の平面を表す配列であって、アクション値配列の複数のセルは、対応するセルに向かって車両を運転することによる長期的な報酬の期待値を含み、アクション値配列の複数のセルの値は、車両と車両が到達しようとする目標との間の距離、および、車両と車両が回避しようとするひとつ以上の物体との間の距離を表すものであり、
最高の報酬値を持つアクション値配列のセルを表す場所に自律運転車両を誘導するように車両制御システムに指示するものであり、
現在位置を表す起点値と目標位置を表す到達点値とを受け取り、
現在位置の周りに複数のセルを有するN次元空間を離散化し、
複数のセルにおけるそれぞれのセルのポテンシャル値を、目標位置からの現在位置の近接度の関数として計算し、
タイムスタンプから提供されるN次元ポテンシャルフィールド配列であって、N次元ポテンシャルフィールド配列のセルの値は、N次元空間からの対応するセルのポテンシャル値に基づいている、N次元ポテンシャルフィールド配列を計算し、
センサデータとN次元ポテンシャルフィールド配列のタイムスタンプ間の比較に基づいて、センサデータとN次元ポテンシャルフィールド配列とを同期化することにより、センサデータとN次元ポテンシャルフィールド配列とを同期化させ、
センサデータとN次元ポテンシャルフィールド配列とを共通のデータ形式に変換することにより、同期化されたセンサデータとN次元ポテンシャルフィールド配列とを前処理し、
K次元配列は入力状態配列であって、K次元配列に、変換されたセンサデータとN次元ポテンシャルフィールド配列とを連結する。
【0007】
ひとつの実施形態では、自律運転車両の人工知能システムは、ひとつ以上のプロセッサと、ひとつ以上のプロセッサと通信するメモリとを含む。メモリは、入力状態配列生成モジュール、アクション値配列生成モジュール、および、指示モジュールを格納する。入力状態配列生成モジュールは、ひとつ以上のプロセッサによって実行されるとき、ひとつ以上のプロセッサに、(1)タイムスタンプをもつセンサデータであって、車両のひとつ以上のセンサからセンサデータを受け取り、(2)センサデータのタイムスタンプの間における比較に基づいてセンサデータを同期化することにより、センサデータを同期化させて同期されたセンサデータを生成し、(3)センサデータを共通のデータ形式をもつ変換されたセンサデータに変換することにより、同期されたセンサデータを前処理し、および、(4)入力状態配列であるK次元配列であって、K次元配列に、変換されたセンサデータを連結するように機能させる。
【0008】
アクション値配列生成モジュールは、ひとつ以上のプロセッサによって実行されるとき、ひとつ以上のプロセッサに、ナビゲーションポリシーを入力状態配列に適用することにより複数のセルを有するアクション値配列を推定するように機能させる。ナビゲーションポリシーは、所望のナビゲーションアクションを提供するために、事前定義されたナビゲーション制約を説明する強化学習を通じて訓練されてもよい。アクション値配列は、車両の前方の平面を表す配列であってもよく、アクション値配列の複数のセルは、対応するセルに向かって車両を運転することによる長期的な報酬の期待値を含み、アクション値配列の複数のセルの値は、車両と車両が到達しようとする目標との間の距離、および車両と車両が回避しようとするひとつ以上の物体との間の距離を表すものである。
【0009】
指示モジュールは、ひとつ以上のプロセッサによって実行されるとき、ひとつ以上のプロセッサに、最高の報酬値を有するアクション値配列内のセルを表す場所に車両を誘導するように車両制御システムに指示するように機能させる。
【0010】
別の実施形態では、自律運転車両を操作するための方法は、車両のひとつ以上のセンサからタイムスタンプを有するセンサデータを受信するステップと、センサデータのタイムスタンプ間の比較に基づいてセンサデータを同期化するステップと、センサデータを共通のデータフォーマットに変換することによって同期化されたセンサデータを前処理するステップと、変換されたセンサデータを入力状態配列に連結し、入力状態配列にナビゲーションポリシーを適用してアクション値配列を推定し、最も望ましい報酬値を有するアクション値配列のセルを代表する位置に車両を誘導するように車両制御システムに指示する。
【0011】
ナビゲーションポリシーは、所望のナビゲーションアクションを提供するために、事前定義されたナビゲーション制約を説明する強化学習を通じて訓練されてもよい。アクション値配列は、車両の前方の平面を表す場合がある。アクション値配列のセルには、対応するセルに向かって車両を運転することで予想される長期的な報酬値が含まれている。アクション値配列の値は、車両と車両が到達しようとしている目標との間の距離、および、車両と車両が回避したいひとつ以上の物体との間の距離を表す。
【0012】
別の実施形態では、目標指向型人工知能システムは、ひとつ以上のプロセッサと、ひとつ以上のプロセッサと通信するメモリとを有する。メモリは、人工知能ポテンシャルフィールド撮像モジュールを格納している。人工知能ポテンシャルフィールド撮像モジュールは、ひとつ以上のプロセッサにより実行されるとき、ひとつ以上のプロセッサに、(1)現在位置を表す起点値と目標位置を表す到達点値とを受け取り、(2)現在位置周辺の複数のセルを有するN次元ポテンシャルフィールド配列を離散化し、(3)目標位置からの現在位置の近接度の関数として、N次元ポテンシャルフィールド配列の複数のセルにおけるセルのポテンシャル値を計算し、および、(4)N次元ポテンシャルフィールド配列のセルに対応するピクセルを有するN次元ポテンシャルフィールド画像であって、N次元ポテンシャルフィールド配列に基づいて、N次元ポテンシャルフィールド画像を生成するように機能させる。
【0013】
適用可能なさらなる領域、および、開示される技術を拡張するさまざまな方法が、提供されている説明から明らかにされる。この概要における説明および特定の実施形態は、図示のためだけを意図されており、この開示の範囲を限定するものではない。
【0014】
この明細書に組み込まれ、その一部を構成する添付図面は、この開示の様々なシステム、方法、および他の実施形態を示している。図中の図示された要素境界(例えば、ボックス、ボックスのグループ、または他の形状)は、境界の一実施形態を表すものとして理解されるべきである。いくつかの実施形態では、ひとつの要素が複数の要素として設計されてもよく、または複数の要素がひとつの要素として設計されてもよい。いくつかの実施形態では、別の要素の内部コンポーネントとして示される要素は、外部コンポーネントとして実装されてもよく、その逆もあり得る。さらに、要素は縮尺どおりに描画されない場合がある。
【図面の簡単な説明】
【0015】
【
図1】
図1は、車両を制御するための人工知能システムを有する車両を示す多面的な外観図である。
【
図2】
図2は、
図1の車両を制御するための人工知能システムのより詳細なブロック図である。
【
図3】
図3は、ポテンシャルフィールド画像を生成する方法を示すフローチャートである。
【
図4】
図4は、目標に近づくポテンシャルフィールド画像を例示する斜視図である。
【
図5】
図5は、車両が目標に近づくポテンシャルフィールド画像を例示する平面図である。
【
図6A】
図6Aは、得点を利用するビデオゲームの画面を例示する平面図である。
【
図6B】
図6Bは、目標としてハイスコアを利用するゲームのためのポテンシャルフィールド画像を示す3次元透視斜視図である。
【
図6C】
図6Cは、目標としてハイスコアを利用するゲームのためのポテンシャルフィールド画像を示す3次元透視斜視図である。
【
図7A】
図7Aは、目標としてゴールによる得点を利用するスポーツ型のビデオゲームの画面を例示する平面図である。
【
図7B】
図7Bは、目標としてゴールによる得点を利用するスポーツ型のビデオゲームにおけるポテンシャルフィールド画像を示す2次元平面図である。
【
図8A】
図8Aは、目標として予算を利用する金融システムにおけるポテンシャルフィールド画像を示す3次元透視斜視図である。
【
図8B】
図8Bは、目標として予算を利用する金融システムにおけるポテンシャルフィールド画像を示す3次元透視斜視図である。
【
図9】
図9は、ポテンシャルフィールド画像を利用する自律運転車両のAIシステムのフローチャートである。
【
図10】
図10は、入力状態配列を利用するAIシステムのフローチャートである。
【
図11A】
図11Aは、強化学習を用いる
図9の自律運転車両のためのAIシステムのナビゲーションポリシーを訓練するためのシステムを示すブロック図である。
【
図11B】
図11Bは、環境における自車と、物体と、目標位置とを示す平面図である。
【
図12A】
図12Aは、目標に到達するための方法と、目標へ到達するためのAIシステムを利用する自律運転車両とを示す一例であって、入力状態配列(St)とナビゲーションポリシー172とアクション値配列(Qt)176とを示すブロック図である。
【
図12B】
図12Bは、アクション値配列(Qt)176の処理を示すフローチャートである。
【
図12C】
図12Cは、車両180の前方におけるアクション値配列176の一例を示す斜視図である。
【
図13A】
図13Aは、ひとつ以上の中間目標を利用することによって最終的な目標に到達するためのAIシステム、および、方法を利用する自律運転車両の一例であって、複数の中間目標と、最終的な目標とを示す平面図である。
【
図13B】
図13Bは、複数の中間目標を利用するシステムのフローチャートである。
【発明を実施するための形態】
【0016】
複数の実施形態が、図面を参照しながら説明される。複数の実施形態において、機能的におよび/または構造的に対応する部分および/または関連付けられる部分には同一の参照符号、または百以上の位が異なる参照符号が付される場合がある。対応する部分および/または関連付けられる部分については、他の実施形態の説明を参照することができる。
【0017】
この明細書の開示は、人工ポテンシャルフィールドを生成するためのシステム、および、方法、および、目標指向型の人工知能ナビゲーションシステムを含む。人工ポテンシャルフィールドの生成に関して、人工ポテンシャルフィールドは、目標を囲むフィールドの画像である場合がある。目標(ターゲット)は、車両の目標到達地点、ビデオゲームのハイスコア、ビジネスの予算要件、または、任意のタイプの目標に設定することができる。人工ポテンシャルフィールドは、目標にどれだけ近いかを視覚化したものである。目標に近づくと、おそらくより強い色で表される人工ポテンシャルフィールドの値が増加する可能性がある。
【0018】
目標指向型の人工知能ナビゲーションシステムに関して、このタイプのナビゲーションシステムは、被制御車両を目標に向けて操縦する制御車両内に組み込むことができる。被制御車両は、制御車両と同一である場合がある。車両を目標まで操縦するために、システムは、車両の前方の平面を表すアクション値配列を生成することができる。入力状態配列のセルには、報酬関数に基づく値が含まれている。値が高い(場合によっては低い)ほど、そのセルに向かって車を操縦することがより望ましい。セルの値は、望ましいナビゲーションアクションを提供するために、事前定義されたナビゲーション制約を考慮した強化学習を通じて訓練することができるナビゲーションによって生成される。
【0019】
図1および
図2において、自律運転車両12を制御するためのシステム10が示されている。ここでは、自律運転車両12は自動車として示されている。しかしながら、自律運転車両12は、人または物をある場所から別の場所に輸送することができる任意のタイプの車両であってよい。したがって、自律運転車両12は、図示のように自動車であり得るが、トラック、大型トラック、トラクタートレーラー、トラクター、鉱山車両、軍用車両、建設車両などであってもよい。さらに、自律運転車両12は、必ずしも陸上の車両である必要はなく、航空機、または、航海船であってもよい。さらに、自律運転車両12は、半自律モードで動作することもでき、車両12の運転者は、車両12の動作をある程度制御することができる。したがって、自律運転車両という用語は、自律モードでのみ動作できる車両であることを必ずしも意味するのではなく、他のモードでも動作する車両も含む。自律運転車両12は、ひとつ以上のカメラ14A~14G(
図2に要素14として示されている)を備える場合がある。一例では、カメラ14A~14Gは、単一の光学カメラ(単眼カメラ)であってよい。しかしながら、任意のタイプの視覚システムが利用されてもよいことが理解されるべきである。例えば、単一の光学カメラ14A、および、14Bは、車両12の前方端16の近くに配置されて、車両12の前方の画像を取り込むことができる。単一の光学カメラ14C、および、単一の光学カメラ14Dは、それぞれ車両12の左側、および、右側からの画像を取り込むことができるように、車両12の反対側に配置されてもよい。さらに、単一の光学カメラ14E~14Gは、車両12の後方端部18に配置されて、車両12の後方の画像を取り込むことができる。
【0020】
自律運転車両12は、また、前方に指向された立体カメラ20を備えることができる。しかしながら、任意のタイプの視覚システムが利用されてもよいことが理解されるべきである。前方立体カメラ20は、車両12の前方の画像を取り込むことができる。カメラ20の立体視能力は、人間の両眼視をシミュレートし、したがって、立体視カメラ20は、適切な処理で3次元画像を取り込むことができる。
【0021】
自律運転車両12は、また、車両12の外部の物体の存在、および/または、動きを検出することができる他のセンサを備えていてもよい。例えば、複数のセンサは、ソナーセンサ22、レーダーセンサ24、および/または、光検出、および、LIDERシステム26を含む場合がある。LiDARシステムは、Light Detection And Ranging systemと呼ばれるレーザー光などを使ったセンサである。もちろん、これらは、車両12によって利用され得る異なるタイプのセンサの単なる例である。車両12は、考えられる任意の構成において、いくつかの異なるタイプのセンサのうちの任意のひとつを含み得る。
【0022】
車両12は、全地球的航法衛星システム(GNSS)システム28を備えることもできる。GNSSシステム28は、GPS、GLONASS、ガリレオ、および/または、ベイドゥーを含むいくつかの異なるシステムのうちのいずれかひとつであり得る。よく知られているように、GNSSシステム28は、ひとつ以上のGNSS衛星34A~34Dからひとつ以上の信号32A~32Dを受信することができるアンテナ30を含む。GNSSシステム28は、ひとつ以上のGNSS衛星34A~34Dからのひとつ以上の信号32A~32Dを解釈して、経緯度形式の座標系の形で車両12の位置を提供することができる。この経緯度形式の座標系は、車両12の緯度、経度、および、高度に関する情報を含み得る。
【0023】
車両12は、ひとつ以上(ひとつ、または、複数)のプロセッサ40を備える場合がある。ひとつ以上のプロセッサ40は、メモリデバイス42と通信することができる。メモリデバイス42は、この開示で言及される方法のいずれかを実行するための命令を含む。メモリデバイス42は、ひとつ以上のプロセッサ40から分離されていてもよく、あるいは、ひとつ以上のプロセッサ40内に組み込まれてもよい。
【0024】
ひとつ以上のプロセッサ40は、いくつかのアクチュエータを使用して車両12を制御することができる。これらのアクチュエータは、スロットルアクチュエータ44、ステアリング角度アクチュエータ46、および/または、ブレーキアクチュエータ48を含む場合がある。スロットルアクチュエータ44は、車両12の前方、および/または、後方への動きを制御する。ステアリング角アクチュエータ46は、車両12の操舵角を制御する。ブレーキアクチュエータ48は、車両12のブレーキを制御する。ひとつ以上のプロセッサ40は、アクチュエータ44、46、および/または、48の挙動を変調することによって、車両12の動きを制御することができる。
【0025】
この実施形態では、スロットルアクチュエータ44、ステアリング角アクチュエータ46、および、ブレーキアクチュエータ48を含む3つのタイプのアクチュエータについて説明したが、車両の推進駆動方式(例えば、完全な電気駆動、エンジンと電気とのハイブリッド駆動、エンジンのみ、水素燃料駆動など)に応じて、異なるタイプのアクチュエータが必要な場合や、取り除かれる場合があることが理解されるべきである。したがって、車両12を制御するために使用されるアクチュエータの数、および、異なるタイプのアクチュエータは単なる例であり、車両12の要件に応じて変化する可能性がある。
【0026】
以下の段落で説明するように、メモリデバイス42は、ポテンシャルフィールド撮像モジュール50Aを格納している。ひとつ以上のプロセッサ40によって実行されるとき、ひとつ以上のプロセッサ40は、人工的なポテンシャルフィールド画像を生成することができる。人工ポテンシャルフィールド画像(ポテンシャルフィールド画像とも呼ばれる)は、「目標状態」によって放出される仮想のポテンシャルフィールドである。目標状態は、システムが到達しようとしている目標である。たとえば、自律運転ナビゲーションの場合、目標は、車両が到達しようとしている目的地である場合がある。ポテンシャルフィールド画像は、物体が電位源に近いほど、物体がより強く電位の影響を受けるという点で、電位場と概念が似ている。ポテンシャルフィールド画像の場合、システムが目標状態に近づくほど、システムによってポテンシャルが強くなる。直感的に、システムにより実験的に経験されるポテンシャルは、システムが目標の場所に図的にどれだけ近いかを表す。
【0027】
システムが目標にどれだけ近いかを画像的に表現することは、特に計算能力の向上に関連して、いくつかの利点がある。画像プロセッシングユニット(GPU)の最近の進歩により、GPUは一定時間内に大量の画像データを処理できる。この大量のデータを処理できるフレームワークとAIライブラリとのその後の開発により、驚くほど正確な結果を得ることができる。このように、この開示は、コンピュータ技術の革新、つまり、システムがゴール位置にどれだけ近いかを示す画像的な形式のデジタル画像処理を可能とし、この場合、コンピュータの機能の改善と、目標指向型のナビゲーションの技術の改善との両方が反映される。
【0028】
図3において、システム10のひとつ以上のプロセッサ40によって実行することができる方法70が示されている。方法70は、ポテンシャルフィールド画像を生成するだけでなく、ポテンシャルフィールド画像を利用して目標状態に移動するステップも含む。ポテンシャルフィールド画像を利用して目標状態に移動するステップを説明する前に、この説明では、最初に、ポテンシャルフィールド画像を生成するために必要なステップについて説明される。前述のように、ポテンシャルフィールド撮像モジュール50Aは、システム10のメモリデバイス42に格納されてもよい。ひとつ以上のプロセッサ40によって実行されるとき、ポテンシャルフィールド撮像モジュール50Aは、N次元ポテンシャルフィールド画像とも呼ばれるポテンシャルフィールド画像を生成するようにプロセッサを構成する。
【0029】
ポテンシャルフィールド画像を生成するために、ポテンシャルフィールド撮像モジュール50Aは、ステップ52を開始する。ステップ52において、ひとつ以上のプロセッサ40は、現在の位置を表す起点値、および、目標位置を表す到達点値を受け取る。起点値は、
図1の車両12の現在位置を表すGNSSシステム28によって生成された値である場合がある。到達点値は、車両12が移動したいと望む位置である場合がある。これは、目標位置とも呼ばれる。
【0030】
起点値、および/または、到達点値は、数値で表すことができる。起点値、および/または、到達点値の数値表現は、座標系の形式にすることができる。この座標系は、現在位置、および/または、目標位置を表す緯度、経度、および、高度を含む場合がある。
【0031】
ステップ54に進むと、このステップでは、ひとつ以上のプロセッサ40は、現在の位置の周りに複数のセルを有するN次元ポテンシャルフィールド配列を離散化することができる。また、現在位置周辺のN次元空間をN次元ポテンシャルフィールド配列に離散化する。一例として、起点値が、43.72356(度)、-82.16958(度)、239.5(m)である場合を考える。(m)は、以下の説明においてメートルを意味する。現在の位置の周りのN次元ポテンシャルフィールド配列は、緯度が0.1度(20の離散値)ずつ増加して42.72356から44.72356に広がる範囲(スパン)、経度が0.1度(20の離散値)ずつ増加して-81.16958から-83.16958に広がる範囲、および、高度が0.5(m)(20の離散値)ずつ増加して234.5(m)から244.5(m)にわたる範囲である。そのため、現在の状態の周囲の3D空間には、20×20×20=8000セルが存在する。
【0032】
ステップ56において、ひとつ以上のプロセッサ40は、N次元ポテンシャルフィールド配列の複数のセルにおける、セルのポテンシャル値を、目標位置からの現在位置の近接度の関数として計算することができる。さらに、現在の位置の周りのN次元ポテンシャルフィールド配列内のセルについて、ひとつ以上のプロセッサ40は、目標状態に関するセルの数値(Vc)を計算する。関数(f)は事前定義されており、現在位置と目標位置とを入力として受け取り、各セルの数値を計算する。この関数fは、アプリケーションによって異なる場合がある。一例では、セルの数値(Vc)は、目的地の場所までのセルの場所の緯度、経度、高度(Sc)で表される距離である場合がある。関数fは距離計算関数として、Vc=f(Sc、St)として定義できる。
【0033】
一例では、ひとつ以上のプロセッサ40は、N次元ポテンシャルフィールド行列の複数のセルのそれぞれにおける、目標位置に関する複数の数値を計算する。N次元ポテンシャルフィールド行列は、行インデックス番号i、および、列インデックス番号jによって表される。計算は、現在位置の周囲のK×K(m2)の領域を、軸に沿って、セルの数と同じ格子に分割することによって与えられている。(m2)は、以下の説明において平方メートルを意味する。セルの寸法は、k×k(m2)である。よって、k=K/Mである。ここで、現在位置に対するセルの距離は、dELijとして下記(1)式により表わされる。
【0034】
【0035】
ここで、座標に基づく目標位置と現在位置の間の距離dTE、セルと目標位置との間の目標位置dTLijに関する複数のセルにおけるセルの数値は下記(2)式により表わされる。
【0036】
【0037】
ここで、θは、現在位置と目標位置とを結ぶ線と、現在位置と対象のセルとを結ぶ線とがなす角である。
【0038】
N次元ポテンシャルフィールド行列の複数のセルにおけるセルのポテンシャル値(φij)は、予め定められた標準偏差値σを用いて、下記(3)式により表される。
【0039】
【0040】
ステップ58において、ひとつ以上のプロセッサ40は、N次元ポテンシャルフィールド配列のセルのポテンシャルフィールド値を計算することができる。現在位置の周りのN次元ポテンシャルフィールド配列の各セルについて、ひとつ以上のプロセッサ40は、例えば、N(Vc|0,σ)によって与えられる0平均、正規分布を使用して、セルによって経験されるポテンシャル値(φc)を計算する。ここで、σはポテンシャルフィールド画像の標準偏差である。標準偏差(σ)は、ポテンシャルフィールド画像の半径(r)を決定するスケーリング係数である。一例では、それは、それ自体が所定の定数値であるか、または、ポテンシャルフィールド画像の所定の半径から逆算されてもよい。たとえば、σ=r/3;r=3*σである。一例では、目的地のポテンシャルフィールド画像の所定の半径が30mである場合、σは10である。
【0041】
ステップ60において、ひとつ以上のプロセッサ40は、N次元ポテンシャルフィールド配列に基づいてN次元ポテンシャルフィールド画像を計算し、および、生成することができる。N次元ポテンシャルフィールド画像は、N次元ポテンシャルフィールド配列の複数のセルに対応する複数の画素(ピクセル)を有することができる。これは、N次元ポテンシャルフィールド画像の画素に色強度値を割り当てることによって達成することができる。色強度値は、N次元ポテンシャルフィールド配列、および、参照用テーブルの対応する値に基づくことができる。
【0042】
一例では、ひとつ以上のプロセッサ40は、グリッドサイズと同じ解像度を有する空白の画像であるN次元画像を作成することができる。ひとつ以上のプロセッサ40は、ポテンシャル値を色強度にマッピングする事前定義されたマッピング関数Mを使用して、対応するセルのポテンシャル値(φc)を使用して色値(gc)を計算することができる。カラーマップは、ポテンシャル値が0~255の値にマッピングされるグレースケールであるか、または、ポテンシャル値が3つの異なる強度にマッピングされるRGB(赤、緑、青)、または、HSV(色相、彩度、値)であるかの場合がある。
【0043】
引き続き
図3において、現在位置から目標位置に移動する方法70を詳細に示す
図3の他のステップを説明する。方法70はステップ72で始まる。ステップ74において、目標状態が達成されたかどうかの決定がひとつ以上のプロセッサ40によって行われる。現在位置と目標位置が一致すると目標状態が達成される。この決定は、ひとつ以上のセンサ76からの情報、および、メモリ78からの格納された目標位置を利用することによって行うことができる。センサ76は、
図2におけるセンサ14、20、22、24、および/または、26を含むことができ、さらに、および/または、
図2のGNSSシステム28を含むことができる。メモリ78は、
図2のメモリデバイス42であってもよい。
【0044】
目標状態が達成された場合、ステップ80に示されるように、方法は終了する。そうでない場合、方法は、ポテンシャルフィールド撮像モジュール50Aを継続し、ステップ52、54、56、58、および60は、前の段落で以前に説明されたように実行される。これらのステップが実行されると、方法はステップ82へと続き、そこで、新しい状態に移動するための決定がひとつ以上のプロセッサ40によって行われる。新しい状態に移動するかどうかの決定は、N次元ポテンシャルフィールド画像のより高い、または、より価値のあるカラー値を持っていることによって表わされた場所に移動することに基づいている。ステップ82が実行された後、方法はステップ74に戻る。
【0045】
「より高い」、「より大きい」、「より望ましい」、「より価値のある」などの用語について簡単に述べる。この開示全体を通して、これらの用語は、例えば、「N次元ポテンシャルフィールド画像のより高い、または、より価値のある値を有する場所」などの比較用語として利用することができる。値に関して「より高い」、または、「より大きい」、または、「より強い」、および、類似の用語は、より好ましい値を意味する場合がある。場合によっては、値が高いほど、より好ましい値を示すことがある。他の例では、より低い値はより好ましい値を示している場合がある。「より大きい」、または、「より激しい」などの場合も同様である。
【0046】
図2の方法70のより良い視覚的効果を提供するために、
図4が参照される。これらの図は、N次元ポテンシャルフィールド画像84の例を示す。N次元ポテンシャルフィールド画像84は、また、現在位置値86、および、到達位置値88を示す。
図4における例FIG.4A-FIG.4Dに見られるように、N次元ポテンシャルフィールド画像84の色の強度は、到達位置値88に近づくにつれて変化する。
【0047】
例えば、例FIG.4Aにおいて、現在位置値86は、到達位置値88から比較的離れている。対象物(オブジェクト)が到達地点に近づくと、FIG.4A、FIG.4B、FIG.4C、FIG.4Dの順で例示されるように、現在位置値86は、N次元ポテンシャルフィールド画像84におけるより強い色の範囲に進入し、配置される。したがって、方法70は、より強い色を有するN次元ポテンシャルフィールド画像84上の位置に移動することがより望ましいと考える。
【0048】
図5に例示される他の例において、現在位置を示す車両90は、目標92に行きたいと望んでいる。例FIG.5A(0秒)、例FIG.5B(5秒後)、例FIG.5C(10秒後)、および、例FIG.5D(15秒後)の順で車両の進行、および、時刻t(秒)の進行が示されている。各例の上段は時刻tを示し、中段は道路を示し、下段はN次元ポテンシャルフィールド画像94を示す。各例におけるN次元ポテンシャルフィールド画像94は、車両90が目標92に近づく経過における色強度を示している。車両90は、
図2のシステム10と同様のシステムを装備することができる。システム10は、N次元ポテンシャルフィールド画像94を決定し、N次元ポテンシャルフィールド画像94を利用することにより、車両90が目標92に向けて運転されるように車両90を制御するように構成されている。システムは、車両90を操縦することにより、車両90がN次元ポテンシャルフィールド画像94に示されるより強い色に移動することを求める。最終的に、このより強い色への車両92の動きは、最終的に、例FIG.5Dに最もよく示されるように、車両がその目標92に到達することになる。
【0049】
N次元ポテンシャルフィールドの生成と使用は、前の段落において自律車両のナビゲートに適用可能であると説明されている。ただし、N次元ポテンシャルフィールドの生成と使用は、他のターゲット指向型システムでも利用可能であると理解されるべきである。なお、ターゲットは、到達点である必要はなく、考えられる結果でもよい。
【0050】
例えば、
図6A、
図6B、
図6Cにおいて、N次元ポテンシャルフィールドは、ビデオゲームにおいて高得点を達成しようとするAIシステムによって使用される。
図6Aは、ゲームの例として、パックマンと呼ばれるビデオゲームの画面を示している。パックマンにおいては、画像要素98で示されているペレット(PELLET)の大きさや、ゴーストの取得や移動に基づいて、ハイスコア(HIGH SCORE)画像96で示されているポイントが付与される。
図6Bは、大きいペレット(Big Pellets)、小さいペレット(Small Pellets)、および、ゴースト(Ghosts)を消去することにより付与されるポイントを示す3次元ポテンシャルフィールド画像を示している。
図6Cは、大きいペレット、および、小さいペレットを消去することに対して付与されるポイントを示す2次元ポテンシャルフィールド画像を示している。このタイプのポテンシャルフィールド画像は、AIシステムを利用することにより、最高のスコアを目標として達成するパックマンゲームをプレイすることを可能とする。
【0051】
別の例として、
図7Aは、目標100が画面102上の特定の位置であるサッカービデオゲームを示す。現在の位置はサッカーボール104によって表される。
図7Bは、目標100に向かってボールをキックすることに関して、サッカーボールのキック力(Power of Kick)、および、キック方向の角度(Angle)を考慮した2次元ポテンシャルフィールド106を示す。 AIシステムは、このポテンシャルフィールド画像を利用して、最高の色強度値を有するキック力、および、角度でサッカーボール104を蹴る。
【0052】
前述のように、ポテンシャルフィールド画像の使用は、さまざまなアプリケーションで使用することができる。これらのアプリケーションは、自律運転車両の制御や、ビデオゲームのプレイに限定されることなく、財務目標にも適用することができる。例えば、
図8Aは、アマゾンウェブサービス(Amazon Web Services)などのクラウドコンピューティングサービスプロバイダーにおける利用例を示す。ここでは、目標は、1か月の予算に設定することができる。ポテンシャルフィールド画像において利用される指標は、記憶領域(storage)、計算要件(computational requirements)、エラスティックIPアドレス(elastic IP addresses)に関連するコストになる場合がある。図示の例では、3次元ポテンシャルフィールド画像は、記憶容量(Storage on S3(GB))、時間(Complete Hours on EC2)、および、アドレス数(Elastic IPs)によって示されている。
図8Aのポテンシャルフィールド画像の色強度は、3つの変数すべてを考慮して、最適な組み合わせを明らかにする。
図8Bは、必要なエラスティックIPの数を3つに固定したときの異なる結果110を示す。どちらの方法においても、AIシステムはAFPイメージを利用して、リソースを最大限に活用し、目標予算を満たすことができる。この例、または、その他の場合において、ポテンシャルフィールド画像は、視覚化の理由で使用することができ、必ずしも人工知能エンジンに提供する必要はないことが理解されるべきである。
【0053】
図9は、ポテンシャルフィールド画像を利用することができる自律運転車両のための人工知能システム120のフローチャートを示している。人工知能システム120、および、任意の関連する方法は、
図2の目標指向型のナビゲーションシステムモジュール51としてメモリデバイス42に格納される場合がある。人工知能システム120、および/または、方法は、ポテンシャルフィールド画像を使用せずに動作することができる。ここで、人工知能システム120は、画像データの形で、ひとつ以上の撮像センサからデータ122を受け取ることができる。撮像センサは、
図2に示され説明されているセンサ14、20、22、24、および/または、26を含む場合がある。人工知能システム120は、また、ポテンシャルフィールド撮像システムからデータ124を受け取ることができる。ポテンシャルフィールド撮像システムは、上記の段落で説明したように、ポテンシャルフィールド画像を生成するように構成されている。前述のように、人工知能システム120は、撮像センサからのデータ122のみを使用することができ、ポテンシャルフィールド撮像システムからのデータ124を使用しない場合がある。ステップ126、128、および/または、130は、
図2におけるひとつ以上のプロセッサによって実行される入力状態配列生成モジュール50Bとしての命令として格納される場合がある。
【0054】
ブロック126において、撮像センサからのデータ122、および/または、ポテンシャルフィールド撮像システムからのデータ124が同期化される。データ122、および/または、データ124は、タイムスタンプ情報を含む。データは、データ122のタイムスタンプと、データ124のタイムスタンプとの間の比較に基づいて同期化される。データが撮像された時刻に基づいてデータを編成するために、データ122、および/または、124は、タイムスタンプ情報に基づいて結合および同期化される。例えば、異なる撮像センサは異なる速度で生画像を生成し、ポテンシャルフィールド撮像システムは異なる速度でポテンシャルフィールド画像を生成する。同期化は、ポテンシャルフィールド画像が作成されるタイムスタンプに対して行われる。これにより、それぞれの撮像センサから、最新のポテンシャルフィールド画像に最も近い作成された画像のみが保持され、残りは破棄される。この手順により、N回の同期化画像が生成される。
【0055】
ブロック128において、画像の集合である場合がある同期化されたデータは、共通のデータフォーマットに前処理される。さらに、異なるソースによって生成された同期化されたN個の画像は、異なるサイズであり、異なる数のカラーチャネルを持つ場合がある。このステップの間に、同期化されたN個の画像は、幅×高さ(W×H)の共通の画像解像度に再形成され、Cチャネルを生成する共通の色空間に変換される。W、H、Cは任意のハイパーパラメータであり、必要に応じて変更できる。このステップにより、W×H×Cの共通画像次元をもつN回同期化画像が生成される。
【0056】
ブロック130において、前処理されたデータは、データをK次元配列に連結され、ここで、K次元配列は入力状態配列(St)132である。N個の同期化画像および前処理された画像は、次元(N*C)×W×Hの入力状態配列(St)132に連結される。この連結された入力状態配列(St)132は、ナビゲーションポリシー(π)(この明細書で後述する)が、副目標点(sub-target point)(tt’)を計算するために使用することになる。入力状態配列132は、Shape:(N*C)×W×Hとして図示されている。
【0057】
図10を参照すると、入力状態配列(St)132を利用する方法134が示されている。方法134は、
図2の目標指向型ナビゲーションシステムモジュール51の一部としてメモリデバイス42に格納されてもよい。この方法はステップ136で始まる。この方法134は、情報にアクセスする。この情報は、
図2のメモリ装置42であってもよいメモリ138からの情報とともに、センサ14、20、22、24、および/または、26であってもよい位置センサ140からの情報、および/または、同じく
図2のGNSSシステム28からの情報を含む。
【0058】
ステップ142において、目標が達成されたかどうかの決定が行われる。この決定は、メモリ138からの目標位置を、位置センサ140からの車両位置と比較することによって行うことができる。目標位置は、座標系に基づいて特定される。目標位置は、例えば、Tlat、Tlongによって表される。車両位置は、座標系に基づいて特定される。車両位置は、例えは、時々刻々と変化する新しい新車両位置として与えられ、Etlat、Etlongによって表される。目標位置と車両位置が類似している場合、ステップ143に示されているように、目標に到達したと判定され、方法が終了する。
【0059】
目標にまだ達していない場合、方法はステップ148に進む。ステップ148は、上記の段落で以前に説明され、
図9に示された入力状態配列(St)を生成する。前述のように、入力状態配列(St)は、前述のようにセンサ14、20、22、24、および/または、26を含むポテンシャルフィールド撮像システム144、および/または、撮像センサ146からの情報を利用して生成できる。
【0060】
入力状態配列(St)が一旦生成されると、ステップ150に示されるように、ナビゲーションポリシー(π)が入力状態配列(St)に適用される。後でさらに詳しく説明するように、ナビゲーションポリシー(π)は、入力状態配列(St)を利用して、車両の前方の平面を表すアクション値配列(qt)を生成する。アクション値配列(qt)のセルには、対応するセルに向かって車両を運転することで予想される長期的な報酬値が含まれている。アクション値配列(qt)の値は、車両と車両が到達しようとしている目標との間の距離、および車両と車両が衝突したくないひとつ以上の物体との間の距離を表す。
【0061】
ステップ152において、入力状態配列(St)に応答するナビゲーションポリシーの出力に基づいて、方法134は、直後の目標位置(tt’)を計算する。直後の目標位置は、ときに副目標点(sub-target point)と呼ばれる。直後の目標位置(tt’)は、車両が近い将来に移動することを希望する位置の代表である。ナビゲーションポリシー(π)は、事前に訓練されたナビゲーションポリシー(π)を使用して、車両の前方の入力状態配列(St)を直後の目標位置(tt’)にマップする。
【0062】
π: st→tt’
【0063】
副目標点の計算を推進するナビゲーションポリシー(π)は、強化学習(RL)と呼ばれる機械学習アプローチを使用して生成される。
【0064】
ステップ154において、車両が移動したい場所に基づいて車両運動制御装置への指令が生成され、ステップ156において、アクチュエータシステムが車両を所望の場所に向けて操縦する。アクチュエータシステムは、
図2のアクチュエータ44、46、および/または、48を含むことができる。
【0065】
モジュール(しばしば「エージェント」と呼ばれる)の訓練中のRLフレームワークの目的は、環境(ξ)での現在の観測(St)を、実行可能な最善のアクション(at)にマッピングすることである。アクションは、個別の選択(例:1:「左に移動」または2:「右に移動」)、または、連続的な値(例:加速度とステアリング角度)のいずれかである。状態からアクションへのマッピングは、ナビゲーションポリシー(π)に基づいて行われる。アクション(at)を実行するために、モジュールは、実数値の報酬信号(rt∈R)を受け取る。報酬信号は、モジュールの目的に基づいて設計できる。たとえば、報酬信号は、目標位置までの距離に基づいて設計できる。たとえば、アクションが車両を目標位置に近づけると報酬が増加する。実行されたアクションに基づいて、環境は新しい状態St+1に移行し、次のマルコフシーケンスを生成する。
【0066】
St=0,at=0,rt=0,St=1,at=1,…St=n
【0067】
訓練シーケンスは、目的の目標が達成されたとき、または、アクションが終了(たとえば、範囲外に追い出された場合)したときに終了し、その時点で学習は新しい開始状態St=0から再開される。このような最初から最後までのひとつのシーケンスは、「エピソード」と呼ばれることがある。
【0068】
状態に対するアクションの選択は、値関数(Vπ)によって通知される。値関数は、ナビゲーションポリシーπを用いて、状態Stにおけるアクションatを実行するための「有限長期割引報酬(Rt)」の「期待値(E)」を表している。
【0069】
Vπ=E[Rt|St,at,π]
Rt=Σt’=0→h(γt’*rt+h),γ-割引係数&h-有限範囲
at=maxa’∈AVπ(St,a’)
【0070】
RLのモジュールのゴールは、Stからatへの最も正確なマッピングを考え出すこと、すなわち、最大値を持つアクションを実行し、その結果として高い報酬を受け取ることができるように、すべての可能なアクションの値を正確に予測することである。これは、常に更新されるナビゲーションポリシー(πt→πt+1)によって実現される。複数のエピソードにわたって訓練することにより、最適なナビゲーションポリシー(π*)が達成される。このフレームワーク内でモジュールを訓練するために使用できるRLアルゴリズムがいくつかある。
【0071】
図11Aにおいて、車両ナビゲーションモジュールのためのRLの一般的な枠組みに関する一例が示されている。ここで、この図は、入力状態配列(St)が、ひとつ以上の撮像源162を使用することによって、および、状態形成ブロック164によって生成されることを示している。ひとつ以上の撮像源162は、
図2に示されているひとつ以上のセンサ14、20、22、24、および/または、26とすることができる。画像源162は、環境160から画像を取り込むことができる。そこから、前述のように、現在の観測値(St)が状態形成ブロック164で生成される。
【0072】
次に、現在の観測値(St)は、ナビゲーションポリシー(π)を含むナビゲーションシステム165に提供される。そこから、ブロック166によって示されるように、車両運動コントローラは、ナビゲーションシステム165から受信された出力に基づいて作動させられる。その後、車両は指示されたように環境160内を移動する。
【0073】
図11Bに最もよく示されているように、ブロック168の報酬関数は、目標位置までの距離(dg)と、自車両163を取り巻く物体167、169、171までの距離(do1、do2、do3)との組み合わせによって定義することができる。これにより、報酬が高くなるほど、目標位置173に近づき、近くの物体から遠ざかる。
【0074】
rt=f(dt,do)
【0075】
上述のフレームワークを使用して、あらゆるタイプのRLアルゴリズム(通常のRL変数と、Deep RL変数との両方)を使用して、最適なナビゲーションポリシーを訓練することができる。
【0076】
一実施形態では、モデルベースの強化アルゴリズムを使用して、ナビゲーションポリシー(π)を訓練することができる。安定的な機械的構造をもち、事前に計画された整備された道路上で動作する特定の自律運転車両(AD車両)においては、車両と、運動力学とに関して両方を学習することが容易であるため、アクションを実行するための遷移確率を研究することができる。そのような場合、モデルベースの値拡張法(MBVE:Model-Based Value Expansion)などのモデルベースのRLアルゴリズムを使用できる。
【0077】
事前に計画されていないルートで動作する自律運転車両など、確定性の低い他の一般的なケースでは、現在の戦略に準拠した実装(on-policy)と、現在の戦略に関係ない(準拠していない)実装(off-policy)とをもつモデルフリーRLアルゴリズムを使用できる。さらに、アクション値(Vπ)予測は、値の反復法とポリシーの反復法の両方で訓練することができる。このようなアルゴリズムの例は、Qラーニング、PPO、A3C、および、DDPGである。この例は、モデルフリー、現戦略に準拠していない(off-policy)、値反復によって訓練されたDeep RLアルゴリズムを使用している。このアルゴリズムは、Deep Q Networks(DQN)と呼ばれる。
【0078】
この例のDQNの実装は、完全畳み込みディープニューラルネットワーク(FC-DNN)を使用して、状態Stを行動空間Aにマッピングする。FC-DNNは、多くのエピソードにわたって訓練することにより、車両の前方Kメートル(m)におけるM×M格子内のすべてのセルの正確なQ値を予測するように訓練されている。Q値は、以前はVπと呼ばれていた。すべての反復においてQ値が最も高い格子が目標格子(lt)であり、副目標点(Tt’)は事前計算された変換行列を使用して計算される。
【0079】
ナビゲーションポリシー(π)は、できるだけ近い形で現実をエミュレートする仮想シミュレーションの世界において完全にトレーニングでき、または、シミュレーションと実際のデータとの組み合わせによって完全にトレーニングできる。DQNで使用されるディープニューラルネットワーク(DNN)のアーキテクチャは任意である。単純なDNN、または、たたみ込みニューラルネットワーク(CNN)は、このモデルで使用されるFC-DNNを置き換えることができる。特定の実施形態では、よりスムーズなナビゲーションを得るために、前のタイムステップの格子選択が現在のタイムステップの入力としてフィードバックされるような、FCDNN-LSTMの組み合わせを使用することができる。別の実施形態では、現在の時間ステップを訓練するためのアクションの代わりに、貴重な状態を実現するTemporal CNN(tCNNN)を使用することができる。
【0080】
また、DNNの入力層と出力層の形状は、状態のサイズ((N*C)×W×Hと、格子M×M)に依存する。この例では、(2*3)×224×224を入力形状とし、41×41を格子形状とする。
【0081】
図12Aにおいて、ナビゲーションポリシー(π)172の入力機能、および、出力機能の一般的な概要170が示されている。これらの関数は、
図2におけるアクション値配列生成モジュール50Cの一部を形成することができる。これは、ひとつ以上のプロセッサ40によって実行されて、ひとつ以上のプロセッサ40に説明されたアクションを実行させる。
【0082】
前の段落で説明したように、ナビゲーションポリシー(π)172は、強化学習を通じて、事前定義されたナビゲーション制約を考慮して、望ましいナビゲーションアクションを提供するように訓練することができる。ナビゲーションポリシー(π)172への入力は、入力状態配列(St)174である。前に述べたように、入力状態配列(St)174は、連結され、変換されたセンサデータから構成されている場合がある。追加的に、または、代替的に、入力状態配列(St)174は、この詳細な説明のセクションで前述したポテンシャルフィールド画像を含む場合がある。
【0083】
ナビゲーションポリシー(π)172は、前の段落で説明したように、いくつかの深層学習アルゴリズムを入力状態配列(St)174に適用する。出力は、アクション値配列(qt)176の形式である。
【0084】
図12Bおよび12Cに最もよく示されているように、アクション値配列(qt)176は、車両180の前方の2次元平面である場合がある。アクション値配列(qt)176のセルには、対応するセルに向かって車両180を運転することで予想される長期的な報酬値が含まれている。アクション値配列(qt)176の値は、車両180と車両が到達しようとしている目標との間の距離、および、車両と車両が回避したいひとつ以上の物体との間の距離を表す。
【0085】
図12Bによく示されるように、ブロック181において、
図2のひとつ以上のプロセッサ40は、アクション値配列(qt)176内のどのセルが、より好ましい報酬関数を表すより望ましい値を有するかを決定する。場合によっては、値が高いほど、より好ましい値を示すことがある。他の例では、より低い値はより好ましい値を示している場合がある。
【0086】
ブロック182において、
図2のひとつ以上のプロセッサ40は、車両が移動したいアクション値配列(qt)176のセルを、車両180のすぐに前方の途中点である3次元ポイントtt’に変換することができる。そこから、
図2のひとつ以上のプロセッサ40は、3次元ポイントに向けて車両を操縦するように、適切な車両アクチュエータ44、46、および/または、48に、指示することができる。これらのステップ181および182は、
図2の指示モジュール50Dの一部を形成することができ、ひとつ以上のプロセッサ40によって実行されることによって、ひとつ以上のプロセッサ40に、説明されたアクションを実行させることができる。
【0087】
図13Aおよび13Bを参照すると、最終目標204に到達するために人工知能システムを組み込んだ車両202、および、関連する方法220の一例が示されている。これらの機能は、
図2の目標指向型のナビゲーションシステムモジュール51の一部を形成することができ、ひとつ以上のプロセッサ40によって実行することができる。
【0088】
一般的な概要として、車両202は、最終的な目標204に到達するために道路206を走行することを望んでいる。道路206には、他の車両の形態のひとつ以上の物体208が存在する。最終的に、車両202は、道路206上にある物体208と衝突することなく、最終目標204に到達することを望む。最終目標204に到達するために、車両202は、車両202が最終目標204に到達する前に最初に到達しなければならない一連の中間目標203A~203Eに向けられる。
【0089】
中間目標203A~203Eによって最終目標204に到達するための方法論は、方法220に示されている。これらの方法220は、
図2の目標指向型ナビゲーションシステムモジュール51の一部を形成することができ、ひとつ以上のプロセッサ40によって実行することができる。
【0090】
方法220は、ブロック222で始まる。ステップ224において、車両202が最終目標204に接近したかどうかの判定が行われる。ステップ224での決定は、車両202のメモリ226内の情報を検討することによって行われる。このメモリは、車両202の現在の位置に関する情報を格納している。車両202の現在位置が最終目標204と一致する場合、最終目標に到達しており、方法はステップ228に示すように終了する。
【0091】
しかしながら、最終目標に到達していない場合、方法220は、ステップ230に示されるように次の目標を計算する。次の目標は、
図2で前述した車両ナビゲーションシステム上にある地図データベース232を使用することによって計算することができる。ブロック233において、方法220は、次の中間目標の情報を取得する。そこから、中間目標に到達したかどうかがステップ234で決定される。中間目標に到達した場合、方法220はステップ224に戻り、最終目標に到達したかどうかが判定される。
【0092】
中間目標に達していない場合、方法220は、ステップ236に示されるように、ポテンシャルフィールド撮像システムからポテンシャルフィールド画像を受け取ることができる。ステップ238において、ナビゲーションシステムは、ステップ242に示されるように、どの車両運動制御装置が作動されるべきかを決定するために、撮像センサ240、および/または、ステップ236からのポテンシャルフィールド画像システムからの情報を利用することができる。ステップ244において、アクチュエータシステムは、適切な車両コントローラを作動させることによって、車両を中間目標に向かって移動させる。
【0093】
次に、方法はステップ234に戻り、中間目標に達したかどうかの判定が行われる。到達している場合、方法220は次にステップ224に進み、最終目標に到達したかどうかの判定が行われる。この例では、最終目標204に到達する前に到達すべき5つの中間目標があるため、方法論は、方法220のステップ224を満たすように最終目標として考慮される中間目標に最後に到達する前に、車両が5つの個別の中間目標に到達したかどうかを判断する必要がある。
【0094】
この明細書で説明されるシステムのいずれも、別個の集積回路、および/または、チップを用いて様々な構成によって構成できることが理解されるべきである。回路は接続パスを介して接続され、個別の回路間で信号を通信する。もちろん、別個の集積回路が論じられているが、様々な実施形態では、回路は、共通の集積回路基板に統合されてもよい。さらに、集積回路は、より少ない集積回路に組み合わせるか、またはより多くの集積回路に分割することができる。
【0095】
別の実施形態では、説明された方法、および/または、それらの等価物は、コンピュータ実行可能命令で実装されてもよい。したがって、一実施形態では、非遷移的コンピュータ可読媒体は、格納されたコンピュータ実行可能命令とともに構成されている。格納されたコンピュータ実行可能命令は、機械(例えば、プロセッサ、コンピュータなど)によって実行されると、機械、および/または、関連するコンポーネントに方法を実行させる。
【0096】
説明を簡単にするために、図に示されている方法論は一連のブロックとして示され説明されているが、いくつかのブロックは異なる順序で実行されることがあり、および/または、図示および説明から他のブロックと同時に実行されることがあり、方法論はブロックの順序によって制限されないことが理解されるべきである。さらに、例示されたブロックのすべてが、例示的な方法論を実装するために使用されてもよい。ブロックは、複数のコンポーネントに結合、または、分離されることがある。さらに、追加の、および/または、代替の方法論は、図示されていない追加のブロックを使用することができる。
【0097】
この明細書では詳細な実施形態が開示されている。しかしながら、開示された実施形態は、例としてのみ意図されていることが理解されるべきである。したがって、この明細書に開示される特定の構造的および機能的詳細は、限定事項として解釈されるべきではなく、単に請求項の基礎として、および、実質的に任意の適切な詳細な構造でこの明細書の態様をさまざまに使用することを当業者に教示するための代表的な基礎としてのみ解釈されるべきである。さらに、この明細書で使用される用語および語句は、限定することを意図するものではなく、可能な実装の理解可能な説明を提供することを意図している。
【0098】
図中のフローチャート、および、ブロック図は、様々な実施形態による、システム、方法、および、コンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および、動作を示している。これに関して、フローチャート、または、ブロック図の各ブロックは、指定された論理機能を実装するためのひとつ以上の実行可能な命令を含むコードのモジュール、セグメント、または、部分を表すことができる。また、一部の代替実装では、ブロックに記載されている機能が、図に記載されている順序とは異なる順序で発生する場合があることにも注意されるべきである。例えば、連続して示されたふたつのブロックは、実際には実質的に同時実行されてもよいし、関係する機能に応じて、ブロックが逆の順序で実行されることもある。
【0099】
上記のシステム、コンポーネント、および/または、プロセスは、ハードウェア、または、ハードウェアとソフトウェアの組み合わせで実現でき、ひとつの処理システムで集中方式によって、または、複数の相互接続された処理システムに異なる要素が分散している分散方式によって実現することができる。この明細書に記載の方法を実行するように適合されたあらゆる種類の処理システム、または、別の装置が適している。ハードウェアとソフトウェアの組み合わせは、コンピュータで使用可能なプログラムコードを備えた処理システムであり、読み込まれて実行されると、ここで説明する方法を実行するように処理システムを制御する。システム、コンポーネント、および/または、処理は、例えば、機械によって読み取り可能であって、ここに記述された処理、および、方法を実行するために機械によって実行可能な指令のプログラムに実体的に実装された、コンピュータプログラム製品の記憶装置、または、他のデータプログラムの記憶装置として、コンピュータによって読み取り可能な記憶装置に埋め込むことができる。これらの要素は、この明細書に記載の方法の実施を可能にし、処理システムにロードされたときにこれらの方法を実行できるすべての機能を含むアプリケーション製品に組み込むこともできる。
【0100】
さらに、この明細書で説明された構成は、たとえば記憶された、たとえば格納されたコンピュータ読み取り可能プログラムコードを有するひとつ以上のコンピュータ読み取り可能媒体で実施されるコンピュータプログラム製品の形をとることができる。ひとつ以上のコンピュータ読み取り可能媒体の任意の組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能な信号媒体、または、コンピュータ読み取り可能な格納媒体である場合がある。コンピュータ読み取り可能な媒体という語句は、非遷移的な記憶媒体を意味する。コンピュータ読み取り可能な媒体は、不揮発性媒体、および、揮発性媒体を含むが、これらに限定されない形態をとることができる。不揮発性媒体は、例えば、光ディスク、磁気ディスクなどを含み得る。揮発性媒体は、例えば、半導体メモリ、動的メモリなどを含み得る。そのようなコンピュータ読み取り可能な媒体の限定的ではない例には、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、および、その他の磁気媒体、または、ASIC、または、グラフィックスプロセッシングユニット(GPU)、または、CD、および、その他の光学媒体、または、RAM、または、ROM、または、メモリチップ、または、メモリカード、または、メモリスティック、または、他の媒体を含むことができ、これらは、コンピュータ、プロセッサ、または、他の電子デバイスが読み取り可能である。この文書の文脈において、コンピュータ読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって、または、それに関連して使用するためのプログラムを含むか、または、記憶することができる任意の有形の媒体であり得る。
【0101】
以下の説明は、この明細書で使用される選択された用語の定義を含んでいる。定義には、用語の範囲に含まれ、さまざまな実装に使用できるコンポーネントのさまざまな例や形式が含まれている。例は、制限することを意図したものではない。用語の単数形と複数形の両方が定義内にある場合がある。
【0102】
「ひとつの実施形態」、「一実施形態」、「ひとつの例」、「一例」などへの言及は、そのように説明された実施形態、または、例が、特定の特徴、構造、特性、内部特性、要素、または、制限を含み得ることを示すが、それらの実施形態、または、例が、必須のものとして、特定の特徴、構造、特性、内部特性、要素、または、制限を含むことを示すものではない。さらに、「一実施形態では」という語句の繰り返しの使用は、同じ実施形態を指す場合があるが、必ずしもそうであるとは限らない。
【0103】
この明細書で使用される「モジュール」は、コンピュータ、または、電気ハードウェアコンポーネント、ファームウェア、命令を格納する非遷移的なコンピュータ可読媒体、および/または、これらのコンポーネントの組み合わせを含み、これらは、機能、または、アクションを実行するか、および/または、別のロジック、方法、および/または、システムに、機能、または、アクションを発揮させるように構成されている。モジュールは、アルゴリズムによって制御されるマイクロプロセッサ、多数の電気素子を含む論理回路(例えば、ASIC)、アナログ回路、デジタル回路、プログラムされた論理デバイス、実行時にアルゴリズムを実行する命令を含むメモリデバイスなどを含むことができる。モジュールは、ひとつ以上の実施形態では、ひとつ以上のCMOSゲート、ゲートの組み合わせ、または他の回路構成要素を含む。複数のモジュールが説明される場合、ひとつ以上の実施形態は、複数のモジュールをひとつの物理モジュール構成要素に組み込むことを含む。同様に、単一のモジュールが説明される場合、ひとつ以上の実施形態は、複数の物理的構成要素に、単一のモジュールを分配することを含む。
【0104】
さらに、この明細書で使用されるモジュールには、タスクを実行したりデータ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらなる態様では、メモリは一般に、言及されたモジュールを格納する。モジュールに関連付けられたメモリは、プロセッサ、RAM、ROM、フラッシュメモリ、または、別の適切な電子記憶媒体内に埋め込まれたバッファ、または、キャッシュである場合がある。さらに別の態様では、この開示によって想定されるモジュールは、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)のハードウェアコンポーネント、プログラマブルロジックアレイ(PLA)、グラフィックス処理装置(GPU)、または開示された機能を実行するための定義された構成セット(例えば、命令)が組み込まれた別の適切なハードウェアコンポーネントとして実装される。
【0105】
ひとつ以上の構成では、この明細書で説明されるひとつ以上のモジュールは、人工知能要素、または、計算知能要素、例えば、ニューラルネットワーク、ファジーロジック、または、他の機械学習アルゴリズムを含むことができる。さらに、ひとつ以上の構成では、ひとつ以上のモジュールを、この明細書で説明する複数のモジュール間で分散させることができる。ひとつ以上の構成では、この明細書で説明されているふたつ以上のモジュールを組み合わせて単一のモジュールにすることができる。
【0106】
コンピュータ読み取り可能な媒体上で実施されるプログラムコードは、無線、有線、光ファイバ、ケーブル、RFなど、または、前述要素の任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して送信することができる。この構成の態様の動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語、および、Cプログラミング言語、同様のプログラミング言語などを含む従来の手続き型プログラミング言語を含むひとつ以上のプログラミング言語の任意の組み合わせで書くことができる。プログラムコードは、完全にユーザのコンピュータにおいて、一部はユーザのコンピュータにおいて、スタンドアロンソフトウェアパッケージとして、一部はユーザのコンピュータにおいて、残る一部はリモートコンピュータにおいて、または、完全にリモートコンピュータ、または、サーバーで実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または接続は、外部コンピュータ(例えば、インターネットサービスプロバイダを使用してインターネットを介して)に接続されてもよい。
【0107】
この明細書で使用される要素の数は、ひとつ、または、ふたつ以上として定義される。この明細書で使用される「複数」という用語は、ふたつ、または、ふたつ以上として定義される。この明細書で使用される「別の」という用語は、少なくとも第2、または、それ以上として定義される。この明細書で使用される「含む」、および/または、「有する」という用語は、「備える」を意味し、すなわち、他の要素の存在を許容する用語として定義される。「・・・と・・・との少なくともひとつ」という表現は、関連付けて列挙された項目のひとつ、または、複数のありとあらゆる可能な組み合わせを指し、それらを包含するものとして解釈されるべきである。一例として、「A、B、および、Cのうちの少なくともひとつ」という語句は、Aのみ、Bのみ、Cのみ、またはそれらの任意の組み合わせ(例えば、AB、AC、BC、または、ABC)を含む。
【0108】
この明細書の態様は、その精神、または、本質的な属性から逸脱することなく、他の形態で具体化することができる。したがって、この明細書の範囲を示すために、前述の明細書ではなく、以下の特許請求の範囲を参照する必要がある。
【0109】
この明細書には、上記実施形態によって、以下に列挙する複数の技術的思想が開示されていることが当業者に理解される。<技術的思想1>ひとつ以上のプロセッサと、ひとつ以上の前記プロセッサと通信するメモリとを備えており、前記メモリは、入力状態配列生成モジュールと、アクション値配列生成モジュールと、指示モジュールとを格納しており、前記入力状態配列生成モジュールは、ひとつ以上の前記プロセッサによって実行されるとき、ひとつ以上の前記プロセッサに、(1)タイムスタンプをもつセンサデータであって、車両のひとつ以上のセンサから前記センサデータを受け取り、(2)前記センサデータの前記タイムスタンプの間における比較に基づいて前記センサデータを同期化することにより、前記センサデータを同期化させて同期化された前記センサデータを生成し、(3)前記センサデータを共通のデータ形式をもつ変換された前記センサデータに変換することにより、同期化された前記センサデータを前処理し、および、(4)入力状態配列であるK次元配列であって、前記K次元配列に、変換された前記センサデータを連結するように機能させ、前記アクション値配列生成モジュールは、ひとつ以上の前記プロセッサによって実行されるとき、ひとつ以上の前記プロセッサに、複数のセルを含むアクション値配列を推定するために、ナビゲーションポリシーを前記入力状態配列に適用するように機能させ、前記ナビゲーションポリシーは、所望のナビゲーションアクションを提供するために事前に定義されたナビゲーション制約を考慮するように強化学習によって訓練されており、前記アクション値配列は車両の前方の平面を表す配列であって、前記アクション値配列の複数の前記セルは、対応する前記セルに向かって前記車両を運転することによる長期的な報酬の期待値を含み、前記アクション値配列の複数の前記セルの値は、前記車両と前記車両が到達しようとしている目標との間の距離と、前記車両と前記車両が回避しようとするひとつ以上の物体との距離とを表しているものであり、前記指示モジュールは、ひとつ以上の前記プロセッサによって実行されるとき、ひとつ以上の前記プロセッサに、最高の報酬値を有する前記アクション値配列内のセルを表す場所に前記車両を誘導するように車両制御システムに指示するように機能させる自律運転車両。
【0110】
<技術的思想2>前記アクション値配列は、ディープニューラルネットワークを使用して推定されている技術的思想1に記載の自律運転車両。<技術的思想3>前記目標は、最終目標と、ひとつ以上の中間目標とを含み、前記中間目標は前記最終目標と前記車両の間に配置されている技術的思想1に記載の自律運転車両。<技術的思想4>ひとつ以上の前記センサは、単眼カメラ、ステレオカメラ、レーダーシステム、超音波レーダーシステム、および、LiDARシステムのうちの少なくともひとつを含む技術的思想1に記載の自律運転車両。
【0111】
<技術的思想5>ひとつ以上の前記プロセッサと通信する前記メモリは、人工知能ポテンシャルフィールド撮像モジュールと、入力状態配列生成モジュールとを格納しており、前記人工知能ポテンシャルフィールド撮像モジュールは、ひとつ以上の前記プロセッサにより実行されるとき、ひとつ以上の前記プロセッサに、(1)現在の位置を表す起点値と目標位置を表す到達点値とを受け取り、(2)現在位置周辺の複数のセルを有するN次元空間を離散化し、(3)目標位置からの現在位置の近接度の関数として、複数の前記セルにおける前記セルのポテンシャル値を計算し、および、(4)タイムスタンプを与えられているN次元ポテンシャルフィールド配列であって、N次元空間から対応するセルの前記ポテンシャル値に基づいているN次元ポテンシャルフィールド配列の前記セルの値であるN次元ポテンシャルフィールド配列を計算するように機能させ、前記入力状態配列生成モジュールは、ひとつ以上の前記プロセッサにより実行されるとき、ひとつ以上の前記プロセッサに、(1)前記センサデータと前記N次元ポテンシャルフィールド配列とは、前記センサデータと前記N次元ポテンシャルフィールド配列との間のタイムスタンプの比較に基づいて同期化することにより、前記センサデータと前記N次元ポテンシャルフィールド配列とを同期化させ、(2)前記センサデータと前記N次元ポテンシャルフィールド配列を共通のデータ形式に変換することにより、同期化された前記センサデータと前記N次元ポテンシャルフィールド配列を前処理し、(3)入力状態配列であるK次元配列であって、前記K次元配列に、変換された前記センサデータと前記N次元ポテンシャルフィールド配列とを連結するように機能させる技術的思想1に記載の自律運転車両。
【0112】
<技術的思想6>前記起点値、および、前記到達点値が全地球航法衛星システムからの座標として表されている技術的思想5に記載の自律運転車両。<技術的思想7> 前記起点値は車両の現在の車両位置を表し、前記到達点値は前記車両の意図された車両到達位置を表している技術的思想5に記載の自律運転車両。
【0113】
<技術的思想8>タイムスタンプを有するセンサデータであって、自律運転車両のひとつ以上のセンサから前記センサデータを受信し、前記センサデータの前記タイムスタンプ間の比較に基づいて前記センサデータを同期化することによって、前記センサデータを同期化し、前記センサデータを共通のデータフォーマットを有する変換された前記センサデータに変換することにより、同期化された前記センサデータを前処理し、入力状態配列であるK次元配列であって、変換された前記センサデータを前記K次元配列に連結し、望ましいナビゲーションアクションを提供するために事前定義されたナビゲーション制約を考慮する強化学習を通じて訓練されたナビゲーションポリシーであって、前記ナビゲーションポリシーを前記入力状態配列に適用することにより複数のセルを含むアクション値配列を推定し、前記アクション値配列は、車両の前方の平面を表す配列であって、前記アクション値配列の複数の前記セルは、対応するセルに向かって車両を運転することによる長期的な報酬の期待値を含み、前記アクション値配列の複数の前記セルの値は、車両と車両が到達しようとする目標との間の距離、および、車両と車両が回避しようとするひとつ以上の物体との間の距離を表すものであり、最高の報酬値を持つアクション値配列の前記セルを表す場所に自律運転車両を誘導するように車両制御システムに指示する自律運転車両の操作方法。
【0114】
<技術的思想9>ディープニューラルネットワークを使用して前記アクション値配列を推定するステップをさらに含む技術的思想8に記載の自律運転車両の操作方法。<技術的思想10>前記目標は、最終目標と、ひとつ以上の中間目標とを含み、前記中間目標は前記最終目標と前記車両の間に配置されている技術的思想8に記載の自律運転車両の操作方法。<技術的思想11>ひとつ以上の前記センサは、単眼カメラ、ステレオカメラ、レーダーシステム、超音波レーダーシステム、および、LiDARシステムのうちの少なくともひとつを含む技術的思想8に記載の自律運転車両の操作方法。
【0115】
<技術的思想12>現在位置を表す起点値と目標位置を表す到達点値とを受け取り、現在位置の周りに複数のセルを有するN次元空間を離散化し、複数の前記セルにおけるそれぞれの前記セルのポテンシャル値を、前記目標位置からの前記現在位置の近接度の関数として計算し、タイムスタンプから提供されるN次元ポテンシャルフィールド配列であって、前記N次元ポテンシャルフィールド配列のセルの値は、前記N次元空間からの対応するセルのポテンシャル値に基づいている、前記N次元ポテンシャルフィールド配列を計算し、センサデータと前記N次元ポテンシャルフィールド配列のタイムスタンプ間の比較に基づいて、前記センサデータと前記N次元ポテンシャルフィールド配列とを同期化することにより、前記センサデータと前記N次元ポテンシャルフィールド配列とを同期化させ、前記センサデータと前記N次元ポテンシャルフィールド配列とを共通のデータ形式に変換することにより、同期化された前記センサデータと前記N次元ポテンシャルフィールド配列とを前処理し、K次元配列は入力状態配列であって、前記K次元配列に、変換された前記センサデータと前記N次元ポテンシャルフィールド配列とを連結する技術的思想8に記載の自律運転車両の操作方法。<技術的思想13>前記起点値、および、前記到達点値が全地球航法衛星システムからの座標として表されている技術的思想12に記載の自律運転車両の操作方法。<技術的思想14>前記起点値は車両の現在の車両位置を表し、前記到達点値は前記車両の意図された車両到達位置を表している技術的思想12に記載の自律運転車両の操作方法。
【0116】
<技術的思想15>ひとつ以上のプロセッサと、ひとつ以上の前記プロセッサと通信し、人工知能ポテンシャルフィールド撮像モジュールを格納しているメモリとを備え、前記人工知能ポテンシャルフィールド撮像モジュールは、ひとつ以上の前記プロセッサにより実行されるとき、ひとつ以上の前記プロセッサに、(1)現在位置を表す起点値と目標位置を表す到達点値とを受け取り、(2)現在位置周辺の複数のセルを有するN次元ポテンシャルフィールド配列を離散化し、(3)目標位置からの現在位置の近接度の関数として、前記N次元ポテンシャルフィールド配列の複数のセルにおけるセルのポテンシャル値を計算し、および、(4)N次元ポテンシャルフィールド配列の前記セルに対応するピクセルを有するN次元ポテンシャルフィールド画像であって、前記N次元ポテンシャルフィールド配列に基づいて、前記N次元ポテンシャルフィールド画像を生成するように機能させる目標指向型の人工知能システム。<技術的思想16>前記人工知能ポテンシャルフィールド撮像モジュールは、ひとつ以上の前記プロセッサによって実行されるとき、ひとつ以上の前記プロセッサに、前記N次元ポテンシャルフィールド配列と参照テーブルとに基づいている色強度値であって、前記N次元ポテンシャルフィールド画像の前記ピクセルに前記色強度値を割り当てるように機能させる技術的思想15に記載の目標指向型の人工知能システム。<技術的思想17>前記起点値は車両の現在の車両位置を表し、前記到達点値は前記車両の意図された車両到達位置を表している技術的思想15に記載の目標指向型の人工知能システム。
【0117】
<技術的思想18>前記人工知能ポテンシャルフィールド撮像モジュールは、ひとつ以上の前記プロセッサによって実行されるとき、ひとつ以上の前記プロセッサに、前記目標位置に関する複数の前記セルにおける、行インデックス番号iおよび列インデックス番号jによって表される前記セルの数値を計算するように機能させ、現在の位置の周りのK×K(m2)の領域を、軸に沿って同じ数の前記セル(M)の格子に分割し、ひとつのセルの寸法をk×k(m2)、k=K/Mとして、現在の位置と複数の前記セルとの距離(dELij)は、上記(1)式により表わされ、ここで、座標に基づく目標位置と現在位置の間の距離dTE、セルと目標位置との間の目標位置dTLijに関する複数のセルにおけるセルの数値は上記(2)式により表わされ、ここで、θは、現在位置と目標位置とを結ぶ線と、現在位置と対象のセルとを結ぶ線とがなす角である技術的思想15に記載の目標指向型の人工知能システム。<技術的思想19>複数の前記セルにおける前記セルの前記ポテンシャル値は、上記(3)式により表され、ここで、σは事前定義された標準偏差値である技術的思想18に記載の目標指向型の人工知能システム。<技術的思想20>前記起点値、および、前記到達点値が全地球航法衛星システムからの座標として表されている技術的思想15に記載の目標指向型の人工知能システム。