IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ズークス インコーポレイテッドの特許一覧

<>
  • 特許-譲歩挙動のモデリングおよび予測 図1
  • 特許-譲歩挙動のモデリングおよび予測 図2
  • 特許-譲歩挙動のモデリングおよび予測 図3
  • 特許-譲歩挙動のモデリングおよび予測 図4
  • 特許-譲歩挙動のモデリングおよび予測 図5
  • 特許-譲歩挙動のモデリングおよび予測 図6
  • 特許-譲歩挙動のモデリングおよび予測 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-19
(45)【発行日】2024-12-27
(54)【発明の名称】譲歩挙動のモデリングおよび予測
(51)【国際特許分類】
   B60W 30/095 20120101AFI20241220BHJP
   B60W 40/04 20060101ALI20241220BHJP
   B60W 60/00 20200101ALI20241220BHJP
   G08G 1/16 20060101ALI20241220BHJP
【FI】
B60W30/095
B60W40/04
B60W60/00
G08G1/16 A
【請求項の数】 15
(21)【出願番号】P 2022512376
(86)(22)【出願日】2020-08-19
(65)【公表番号】
(43)【公表日】2022-10-20
(86)【国際出願番号】 US2020047017
(87)【国際公開番号】W WO2021041121
(87)【国際公開日】2021-03-04
【審査請求日】2023-08-21
(31)【優先権主張番号】16/549,704
(32)【優先日】2019-08-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】アビシェク クリシュナ アケラ
(72)【発明者】
【氏名】ヴァシリー カラセフ
(72)【発明者】
【氏名】カイ ジェンユー ワン
(72)【発明者】
【氏名】リック ジャン
【審査官】吉村 俊厚
(56)【参考文献】
【文献】国際公開第2018/147874(WO,A1)
【文献】特開2017-217969(JP,A)
【文献】特開2018-160173(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00 - 60/00
G08G 1/00 - 99/00
G01C 21/00 - 21/36
(57)【特許請求の範囲】
【請求項1】
車両のセンサーから、環境のセンサーデータを受信するステップと、
記センサーデータに少なくとも部分的に基づいて、前記環境におけるオブジェクトの存在を判定するステップと、
前記センサーデータに少なくとも部分的に基づいて
前記車両に関連付けられる第1の速度データと、
前記オブジェクトに関連付けられる第2の速度データと、
前記車両および前記オブジェクトの間の距離と
を含む、属性データを決定するステップと、
前記属性データを機械学習モデル入力するステップと、
前記機械学習モデルから、前記オブジェクトに関連付けられる譲歩アクションの確率を示す譲歩スコアを受信するステップと、
前記譲歩スコアと、候補モーションに関連付けられた候補譲歩スコアとの比較に少なくとも部分的に基づいて、前記オブジェクトの予測軌道としてモーションプロファイルを決定するステップと、
予測軌道少なくとも部分的に基づいて、前記車両を制御するステップと
を備える、方法。
【請求項2】
前記属性データは、第1の時間に関連付けられる第1の属性データであり、前記距離は、第1の距離であり、前記方法は、
第2の時間に関連付けられる第2の属性データを決定するステップであって、前記第2の属性データは、
前記車両に関連付けられる第3の速度データと、
前記オブジェクトに関連付けられる第4の速度データと、
前記車両および前記オブジェクトの間の第2の距離と
を含む、ステップと、
前記第2の属性データを前記機械学習モデル入力するステップと
さらに備える、請求項1に記載の方法。
【請求項3】
記車両を制御して、車線変更の表示を実行するステップ
をさらに備え、
前記属性データを決定するステップは、前記車線変更の表示に少なくとも部分的にさらに基づ
求項2に記載の方法。
【請求項4】
前記譲歩スコアが譲歩スコアの閾値を満たすか、または上回るかを決定するステップであって、前記車両を制御するステップは、前記譲歩スコアの閾値を満たすか、または上回る前記譲歩スコアに少なくとも部分的にさらに基づステップ、または
前記譲歩スコアが前記譲歩スコアの閾値を下回ると決定するステップであって、前記車両を制御するステップは、前記譲歩スコアが前記譲歩スコアの閾値を下回ることに少なくとも部分的に基づいて、前記車両が車線変更のアクションを実行することを控えるステップ
のうちの少なくとも1つをさらに備える、請求項3に記載の方法。
【請求項5】
記譲歩スコアに少なくとも部分的に基づいて前記オブジェクトの予測されるモーションを示す予測モーションプロファイルを決定するステップ
をさらに備え、
前記車両を制御するステップは、前記予測モーションプロファイルに少なくとも部分的にさらに基づ
請求項1ないし4のいずれか一項に記載の方法。
【請求項6】
記予測モーションプロファイルに少なくとも部分的に基づいて、車線変更のアクションを決定するステップ
さらに備え、
前記車両を制御するステップは、前記車両を制御して、前記車線変更のアクションを実行するステップを含み、
前記オブジェクトは、前記車線変更のアクションの対象車線に配置される
請求項5に記載の方法。
【請求項7】
記譲歩スコアに少なくとも部分的に基づいて、前記車線変更のアクションに関連付けられるコストを決定するステップ
をさらに備え、
前記車両を制御するステップは、前記コストに少なくとも部分的にさらに基づ
請求項6に記載の方法。
【請求項8】
前記機械学習モデルは、訓練の属性データおよび車線変更の成功を示すグラウンドトゥルースの属性データに少なくとも部分的に基づいて訓練される、請求項1ないし7のいずれか一項に記載の方法。
【請求項9】
コンピュータで実行される、請求項1ないし8のいずれか一項に記載の方法を実装する符号化された命令を含む、コンピュータープログラム。
【請求項10】
1つまたは複数のプロセッサと、
命令を格納する1つまたは複数の非一時的コンピュータ可読媒体であって、実行される前記1つまたは複数のプロセッサに、
車両のセンサーから、環境のセンサーデータを受信することと、
記センサーデータに少なくとも部分的に基づいて、前記環境におけるオブジェクトの存在を決定することと、
記センサーデータに少なくとも部分的に基づいて、属性データを決定することと、
前記属性データを機械学習モデル入力することと、
前記機械学習モデルから、前記オブジェクトに関連付けられる譲歩アクションの確率を示す譲歩スコアを受信することと、
前記譲歩スコアと、候補モーションに関連付けられた候補譲歩スコアとの比較に少なくとも部分的に基づいて、前記オブジェクトの予測軌道としてモーションプロファイルを決定することと、
予測軌道少なくとも部分的に基づいて、前記車両を制御して、前記環境を通過することと
を含む作を実行させる、1つまたは複数の非一時的コンピュータ可読媒体と
備えるシステム。
【請求項11】
前記センサーデータは、シミュレーションされるセンサーデータを含み、前記環境は、シミュレーションされる環境であり、前記車両は、シミュレーションされる車両である、請求項10に記載のシステム。
【請求項12】
前記属性データは、第1の時間に関連付けられる第1の属性データであり、前記作は、
2の時間に関連付けられる第2の属性データを決定することと、
記第2の属性データを前記機械学習モデル入力することと
さらに含む請求項10または11に記載のシステム。
【請求項13】
前記操作は、車線変更の表示を実行するように前記車両を制御することであって、前記車線変更の表示は、
方向指示器を有効にすること、
前記車両の速度を低下させること、
前記車両の速度を増加させること、または
前記車両を制御して、前記車両および対象車線の間の距離を減少させること
のうちの少なくとも一つを含む、こと
をさらに備える、
請求項10ないし12のいずれか一項に記載のシステム。
【請求項14】
前記操作は、
前記譲歩スコアが譲歩スコアの閾値を満たすか、または上回るを決定することと、
記譲歩スコアが前記譲歩スコアの閾値を満たすか、または上回るを決定することに少なくとも部分的に基づいて、車線変更のアクションを決定することと
をさらに備え、
前記車両を制御することは、前記車両を制御して、前記車線変更のアクションを実行することを含む、
請求項10ないし13のいずれか一項に記載のシステム。
【請求項15】
記譲歩スコアに少なくとも部分的に基づいて前記オブジェクトの予測されるモーションを示す予測モーションプロファイルを決定すること
をさらに備え、
前記車両を制御することは、前記予測モーションプロファイルに少なくとも部分的にさらに基づ
請求項10ないし14のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、譲歩挙動のモデリングおよび予測に関する。
【背景技術】
【0002】
本特許出願は、2019年8月23日に出願された米国特許出願第16/549,704号の優先権を主張する。出願番号第16/549,704号は、参照により本明細書に完全に組み込まれる。
【0003】
自律車両は、さまざまな方法、装置、およびシステムを用いることが可能であり、環境を通して自律車両を誘導する。例えば、自律車両は、プラニング方法、装置、およびシステムを用いることが可能であり、動的なオブジェクト(例えば、車両、歩行者、動物など)および静的オブジェクト(例えば、建物、標識、立ち往生した車両など)を含む環境を通して走行経路を決定して、自律車両を誘導する。ある例示において、動的オブジェクトは、環境を横断するときに自律車両のアクションに影響を与えることが可能である。
【図面の簡単な説明】
【0004】
詳細な説明は、添付の図面を参照して説明される。図面において、参照番号の左端の数字は、その参照番号が最初に出現する図面を識別する。異なる図面における同一の参照番号の使用は、類似または同一の構成要素または特徴を示す。
【0005】
図1】本開示の例示に従って、軌道を生成し、環境におけるオブジェクトに関連付けられる譲歩スコアを決定して、車両アクションを実行するための例示的なシステムを示す図である。
図2】本開示の例示に従って、第1の属性データを決定し、および/または第1の時間での車線変更を示して、第2の時間での第2の属性データを決定するための図解フロー図である。
図3】本開示の例示に従って、交差点でのオブジェクトに関連付けられる譲歩スコアを決定する車両の例示的な環境を示す図である。
図4】本開示の例示に従って、譲歩スコアおよび/またはモーションプロファイルデータを決定するための技術のブロック図である。
図5】本明細書で説明される技術を実装するための例示的なシステムのブロック図である。
図6】本開示の例示に従って、譲歩スコアを決定して、少なくとも部分的に譲歩スコアに基づいて車両を制御するための例示的なプロセスのフロー図である。
図7】本開示の例示に従って、少なくとも部分的に、キャプチャ/生成されたセンサーデータおよびグラウンドトゥルースデータに基づいて、譲歩スコアを決定する機械学習モデルを訓練するための例示的なプロセスのフロー図である。
【発明を実施するための形態】
【0006】
車両に近接するオブジェクトのアクションを予測するための技術が本明細書で説明される。例えば、車両が環境を横断するとき、車両は、このような横断の一部として、現在の車線から対象車線に車線変更することを計画することが可能である。さらに、車両は、車両に近接するオブジェクトのセンサーデータをキャプチャすることが可能であり、これは、車両および環境における他のオブジェクトの相対的な位置、速度、加速度などを示すことが可能である。ある例示において、このようなセンサーデータ(またはセンサーデータに基づくデータ)は、機械学習モデルに入力されることが可能であり、これは、車両に近接するオブジェクト(例えば、車線変更のアクションのための対象車線でのオブジェクト)が車両に譲歩し得るか、またはそうでなければ、車両が車線変更の操作を安全に実行することが可能であることを示すことが可能である挙動を提示し得るかの表示(例えば、尤度または確率)を提供することが可能である。車両が、オブジェクトが譲歩し得るという決定をする場合に(または譲歩の尤度または確率が閾値を満たすか、または上回る場合に)、車両は、そうでなければ可能となり得るよりも早く車線変更のアクションを安全に実行することが可能である。したがって、本明細書で説明される技術は、車両(自律車両など)が環境を安全に横断することを可能とし得る環境において、他の車両またはオブジェクトの予測または表示を提供することが可能である。
【0007】
ある例示において、自律車両のコンピューティングデバイスは、センサーデータ(例えば、飛行時間データ、ライダーデータ、レーダーデータ、ソナーデータなど)を受信することが可能であり、軌道をたどるように車両を決定および/または制御し、これは、現在の車線から対象車線へと車線変更のアクションを含んでよい。センサーデータを用いて、コンピューティングデバイスは、オブジェクトを検出することが可能であり、これは、環境のセンサーデータに表現される動的オブジェクトであってよい。ある例示において、オブジェクトは、対象車線または運転可能な領域の異なる部分に沿って横断している別の車両、または車両の周りの環境において動いている任意の他のオブジェクトであってよい。
【0008】
ある例示において、コンピューティングデバイスは、オブジェクト、自律車両、および/または環境に関連付けられることが可能である属性データを決定することが可能である。属性データは、速度データ、加速度データ、および/またはオブジェクトおよび/または自律車両に関連付けられる距離データ(例えば、オブジェクトと自律車両との間の距離を示す)を含んでよい。速度、加速度、および距離データは、車両の参照フレーム、環境の参照フレーム、および/または任意の他の適切なフレームに対して示されてよい。追加的または代替的に、属性データは、オブジェクトの範囲(例えば、長さ、幅、高さ)、車両の状態データ(例えば、診断情報、ヘッドライトおよび/または方向指示器の状態、スピーカーの状態など)、および/またはオブジェクトの状態データ(例えば、ヘッドライトおよび/または方向指示器の状態、オブジェクトのオペレーターのジェスチャーなど)を含んでよい。追加的または代替的に、属性データは、交通信号の状態、鉄道の踏切の状態、道路の状態、天候の状態などのような環境の状態データを含んでよい。
【0009】
上記のように、コンピューティングデバイスは、機械学習モデルへとセンサーデータおよび/または属性データを入力することが可能であり、機械学習モデルから対象車線でのオブジェクトが自律車両に譲歩する(または自律車両に対して譲歩アクションを実行する)こととなるということの表示(例えば、尤度または確率)を受信することが可能である。例示の目的であり、限定することなく、自律車両は、環境を横断している間に、自律車両の右側の方向指示器を作動させることが可能であり、および/または対象車線が自律車両の右側に向かう対象車線に向かって「近づく」ことが可能である。ある例示において、対象車線へと近づくことは、対象車線に向かう現在の車線内の自律車両の横方向の位置の変更を含んでよい。ある例示において、オブジェクトが譲歩することとなる確率(例えば、オブジェクトが観測されるデータ(例えば、センサーデータ)が真であることを考慮して譲歩しているという仮説の尤度または事後確率)は、オブジェクトに関連付けられる譲歩スコアとして表現されることが可能である。例示の目的であり、限定することなく、譲歩スコアは、0と1との間の数値であってよく、ここで、0に近い譲歩スコアは、オブジェクトが自律車両に譲歩する低い確率を示してよく、ここで、1に近い譲歩スコアは、オブジェクトが自律車両に譲歩する高い確率を示してよい。少なくともある例示において、このような確率は、譲歩スコア(例えば、譲歩スコアは、このような確率または尤度の関数である)を決定することに用いられてよい。
【0010】
上記の例示のいずれにおいても、譲歩スコアは、車両が取るべきアクションを決定すべく、他のスコアと組み合わされ(例えば、合計され)てよい。非限定的な例示として、譲歩スコアは、高くてよい(例えば、さらなる車両の譲歩を示す)が、合計スコアに寄与する他の因子(例えば、安全性、他のオブジェクトの存在、道路のルール(例えば、交差点で車線変更をしない)など)は、車両が車線変更のアクションを実行することを不可能にしてよい。このような例示において、譲歩スコアは、合計スコアを決定するための任意の他のスコアに対して効果的に重み付けされることができる。
【0011】
ある例示において、コンピューティングデバイスは、さらなる属性データをキャプチャおよび/または決定することが可能であり、オブジェクトが譲歩することとなる確率を決定する。例えば、方向指示器を作動させた後で、時間期間が経過している間および/または経過した後で、自律車両は、さらなる属性データをキャプチャおよび/または決定することが可能である。例示の目的であり、限定することなく、自律車両は、実質的に同時である第2の属性データの前に、第1の属性データを決定することが可能であり、および/または自律車両の右側の方向指示器を作動させた後で、第3の属性データを決定することが可能である。ある例示において、コンピューティングデバイスは、属性データログとして、時間ウィンドウ(例えば、500ミリ秒、1秒、3秒、5秒など)にわたって属性データをコンパイルしてよい。
【0012】
機械学習モデルの訓練は、少なくとも部分的にログデータに基づいてよい。例えば、車両または複数の車両は、環境を横断することが可能であり、車両の動作に関連付けられるログデータを生成することが可能である。ログデータは、車両の1つまたは複数のセンサーによってキャプチャされるセンサーデータ、車両に搭載される1つまたは複数のシステムによって識別される(または後処理段階の間に生成される)オブジェクトを示す知覚データ、推定されるオブジェクトの将来の位置、速度、および/または加速度を示す予測データ(記録の間に生成されるか、またはその後で生成されたか)、および/または診断情報、軌道情報、ヘッドライトおよび/または方向指示器の作動、および/または車両によって生成される他の情報を示す状態データを含んでよい。ログデータに含まれ得る車両によって生成されるデータの例示は、例えば、「Scenario Editor and Simulator」と題され、2019年4月23日に出願された米国特許出願第16/392,094号に見出すことが可能であり、その全体が参照によって組み込まれる。
【0013】
ある例示において、ログデータは、車線変更データのような車両アクションデータを含んでよい。車線変更データは、車線変更のアクションおよび/または試みられる車線変更のアクションを示してよく、車両が車線変更のアクションを正常に完了した場合、および車両が車線変更のアクションを完了することが可能ではなかった場合も含んでよい。さらに、ログデータは、車両および/またはオブジェクトに関連付けられる属性データ(例えば、速度、姿勢、相対距離など)を示してよい。ログデータの少なくとも一部は、機械学習モデルを訓練するためのグラウンドトゥルースデータ(グラウンドトゥルース属性データとも称される)として用いられてよい。
【0014】
ある例示において、ログデータは、追加的または代替的に、シミュレーションされるログデータを含んでよい。例えば、ログデータは、環境のセンサーデータをキャプチャする車両を用いることなく生成される合成ログデータ(またはシミュレーションされるセンサーデータ)であってよい。合成ログデータは、シミュレーションされる状況を生成することに用いられてよく、シミュレーターは、シミュレーションされる状況を実行することが可能であり、シミュレーションされる状況内で動作する自律車両コントローラー(またはシミュレーションされる車両)をシミュレーションする。シミュレートされる状況を実行することによって、シミュレーターは、機械学習モデルを訓練するためにも用いられ得るシミュレーションデータを生成することが可能である。
【0015】
機械学習モデルが訓練された後で、機械学習モデルは、譲歩スコアを出力することが可能である。ある例示において、コンピューティングデバイスは、譲歩スコアの閾値を用いることが可能であり、譲歩スコアが譲歩スコアの閾値を満たすか、または上回るかを決定する。譲歩スコアが譲歩スコアの閾値を満たすか、または上回る場合、コンピューティングデバイスは、車線変更のアクションを実行するように車両を制御することが可能である。譲歩スコアが譲歩スコアの閾値を満たさない、または上回らない場合、コンピューティングデバイスは、車線変更のアクションを実行することを控えることが可能である(または、さらなるシグナル伝達、近づくことなどのさらなるアクションを実行することができる)。車線変更のアクションを含む生成されている軌道の例示は、例えば、「Cost Scaling in Trajectory Generation」と題され、2018年11月2日に出願された米国特許出願第16/179,711号に見出すことが可能であり、これは、その全体が参照によって本明細書に組み込まれる。
【0016】
上記のように、車両が自律車両である場合において、コンピューティングデバイスは、車両を制御することが可能であり、譲歩スコアに基づき得る軌道をたどる。上記のように、譲歩スコアは、オブジェクトが車両に譲歩する、または車両に譲歩しない確率を示すことが可能である。オブジェクトが譲歩しないこととすることを予測することによって、車両は、オブジェクトに関連付けられる予測される軌道を回避する対象軌道を決定することが可能であり、これは衝突の尤度を減少させることが可能である。さらに、オブジェクトが譲歩することとなるということを予測することによって、車両は、車両とオブジェクトとの間の安全な距離を含む対象軌道を決定することが可能である。それ故に、譲歩スコアを用いて、軌道は、車両に対して譲歩するオブジェクトを考慮することによって、譲歩スコアを用いない対象軌道よりも安全であり、および/またはより快適な軌道であってよい。
【0017】
本明細書で説明される技術は、車両を制御するための安全且つ効率的な軌道を決定すべく、オブジェクトの譲歩すること、または譲歩しないことの潜在的な結果を決定するためのコンピューティングデバイスを新たに装備することによって、コンピューティングデバイスの機能を改善することが可能である。本明細書で説明されるような状況を譲歩することにおいて、本明細書に開示される技術に従って車両に対する適切な軌道を決定することは、車両の動作の安全性および効率を改善することが可能である。本明細書で説明される技術に従って決定される軌道は、オブジェクトの挙動に対する人間の反応よりもほぼ近似的であってよく、またはよりよく実行されてもよく、したがって、負の安全結果の確率を減少させてよく、車両が環境をナビゲートする効率を増加させてよい。
【0018】
さらに、本明細書で説明される技術は、要求される算定リソースの量を低減させることが可能である。例えば、車両に関連付けられるコンピューティングデバイスは、環境を横断しながら車線変更のアクションを含む1つまたは複数の軌道を決定することが可能である。コンピューティングデバイスは、同様のシミュレーションされる環境における同様の軌道に基づいて訓練された機械学習モデルを用いてよく、環境におけるオブジェクトに関連付けられる譲歩スコアを出力して、軌道に関連付けられる参照コストを有してよい。本明細書で説明される技術は、少なくとも部分的に譲歩スコアに基づいて難しい譲歩決定の状況おける適切な軌道を決定するためのコンピューティングデバイスを装備することが可能であり、このような状況における適切な軌道を決定するために要求される算定リソース(例えば、処理能力、ネットワーク利用率など)の量を低減することが可能である。
【0019】
本明細書で説明される技術は、複数の方法で実装されることが可能である。例示的な実装は、以下の図面を参照することで以下に提供される。自律車両のコンテキストにおいて説明されているが、本明細書で説明される技術は、オブジェクトの決定および検出を要求するさまざまなシステムに適用されることが可能であり、自律車両に限定されない。ある例示において、同様の技術は、このようなシステムがさまざまな操作を実行することが安全であるか表示を提供し得る運転者制御車両で利用されてよい。別の例示において、システム、方法、および装置は、航空および/または航海のコンテキストで用いられてよい。さらに、本明細書で説明される技術は、(例えば、センサーを用いてキャプチャされる)キャプチャされるデータ、(例えば、シミュレーターによって生成される)シミュレーションされるデータ、またはこの2つの任意の組合せで用いられてよい。
【0020】
図1は、軌道を生成し、環境におけるオブジェクトに関連付けられる譲歩スコアを決定して、車両アクションを実行するための例示的なシステムを図示する。より具体的には、図1は、車両102が環境100において走行している例示的な環境100図示するが、他の例示において、車両102は、静止していてよく、および/または環境100において駐車していてもよい。1つまたは複数のオブジェクト、またはエージェントは、また、環境100の中にある。例えば、図1は、環境100におけるさらなる車両104(オブジェクトとも称される)を図示する。言うまでもなく、任意の数および/またはオブジェクトのタイプが追加的または代替的に環境100において存在してよい。例えば、歩行者、自転車/自転車運転者、バイク/バイク運転者、バス、路面電車、トラック、動物などのオブジェクトは、環境100において存在してよい。
【0021】
例示の目的で、車両102は、米国国家幹線道路交通安全局によって発行されたレベル5分類に従って動作するように構成される自律車両であってよく、これは、運転者(または乗員)による常時車両制御を期待することなく全行程に対するすべてのセーフティクリティカルな機能を実行することが可能である車両を説明する。このような例示において、車両102は、すべての駐車機能を含む開始から停止までのすべての機能を制御するように構成されてよいため、搭乗者なしであってよい。これは、例示に過ぎず、本明細書で説明されるシステムおよび方法は、運転者によって常時、手動で制御される必要がある車両から、部分的に、または完全に自律的に制御される車両までに及ぶ車両を含め、任意の陸路車両、空路車両、または水路車両へと組み込まれてよい。車両102に関連付けられるさらなる詳細は、以下で説明される。
【0022】
図1の例示において、車両102は、センサーシステム106に関連付けられてよい。センサーシステム106は、センサーデータ108を生成することが可能であり、これは、車両102に関連付けられる車両コンピューティングデバイス110によって用いられることが可能であり、1つまたは複数のオブジェクト、例えば、オブジェクト104を認識する。センサーシステム106は、光検出および測距(LIDAR)センサー、無線検出および測距(RADAR)センサー、飛行時間センサー(time-of-flight sensors)超音波トランスデューサー、音波航法および測距(SONAR)センサー、位置センサー(例えば、全地球測位システム(GPS)、コンパスなど)、慣性センサー(例えば、慣性測定ユニット、加速度計、磁気計、ジャイロスコープなど)、カメラ(例えば、RGB、赤外線(IR)、強度、深度など)、ホイールエンコーダー、マイク、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)などを含んでよいが、これ/これらに限定されない。
【0023】
少なくとも1つの例示において、車両コンピューティングデバイス110は、知覚システム112を含んでよく、これは、少なくとも部分的に、センサーシステム106から受信したセンサーデータ108に基づいて、オブジェクトの検出、セグメンテーション、および/または分類を実行してよい。例えば、知覚システム112は、センサーシステム106によって生成されるセンサーデータ108に基づいて、環境100のおけるオブジェクト104を検出することが可能である。さらに、知覚システム112は、オブジェクト104の範囲(例えば、高さ、重さ、長さなど)、姿勢(例えば、x座標、y座標、z座標、ピッチ、ロール、ヨー)などを決定することが可能である。センサーシステム106は、センサーデータ108を(例えば、ほぼリアルタイムで)継続して生成することが可能であり、これは、知覚システム(および車両コンピューティングデバイス110の他のシステム)によって用いられることが可能である。
【0024】
車両コンピューティングデバイス110は、また、軌道生成コンポーネント114、属性コンポーネント116、および機械学習モデル118を含んでよい。軌道生成コンポーネント114は、本明細書で説明される実施形態に従って、車両軌道120を生成する機能を含んでよく、これは、走行可能な領域122内の参照軌道または対象軌道であってよい。属性コンポーネント116は、少なくとも部分的にセンサーデータ108に基づいてオブジェクト104のようなオブジェクトに関連付けられる属性データを決定する機能を含んでよい。属性データは、オブジェクトの範囲、オブジェクトの分類、オブジェクトの姿勢、オブジェクトの軌道、および/またはオブジェクトの速度、オブジェクト104のインジケーター(例えば、ヘッドライト、他の信号)の状態、オブジェクト104のオペレーターのジェスチャーなどの属性を含んでよい。機械学習モデル118は、入力として属性データを受信して、譲歩スコア124を出力する機能を含んでよい。上記のように、譲歩スコア124は、オブジェクトが車両に譲歩する確率を示し得る数値であってよい。
【0025】
図1に図示すように、車両軌道120は、例えば、現在の車線126から対象車線128への車線変更のアクションを含んでよい。ある例示において、車線変更のアクションは、近づきつつあるアクションに基づいてよい。例示の目的であり、限定することなく、車両102は、近づきつつある交差点での右折を含む車両軌道120をたどることが可能である。右折に備えるために、車両102は、対象車線128への車線変更のアクションを実行することが可能である。ある例示において、車線変更のアクションは、車線変更のアクションが車両102を交通および/または環境100を通してより効率的および/またはより安全に横断することを可能とし得る走行可能な領域122における交通条件および/または障害物に基づいてよい。
【0026】
上記のように、車両102は、静止していてよく、および/または環境100において駐車していてよい。例示の目的であり、限定することなく、車両102は、現在の車線126が駐車車線であってよく、車両軌道120が車両102を交通車線であり得る対象車線128に入ることを可能とする。
【0027】
ある例示において、対象車線128は、図1に図示されるように、現在の車線126に隣接する車線であってよい。ある例示において、対象車線128は、走行可能な領域122の一部によって分離される車線であってよい。例示の目的であり、限定することなく、自転車車線は、対象車線128に入るべく、車線変更のアクションを実行する対象車線128から現在の車線126を分離することが可能であり、車両102を自転車車線に横断させることとなる。ある例示において、バス車線は、対象車線128から現在の車線126を分離することが可能であるが、他の車線のタイプおよび/または走行可能な領域が企図される。自転車車線、バス車線などの任意の中間車線は、車両102によって決定されてよく、本明細書で説明される技術は、追加的にまたは代替的に中間車線に適用されてよい。例えば、車両コンピューティングデバイス110は、対象車線128に関連付けられる第1の譲歩スコアおよび中間車線に関連付けられる第2の譲歩スコアを決定してよい。車両コンピューティングデバイス110は、少なくとも部分的に、第1の譲歩スコアおよび/または第2の譲歩スコアに基づいて車線変更のアクションを実行するかを決定してよい。
【0028】
車両102は、センサーデータ108をキャプチャすることが可能であり、オブジェクト104がセンサーデータ108に表現されて、対象車線128での環境100を横断しているということを決定することが可能である。センサーデータ108に基づいて、属性コンポーネント116は、オブジェクト104および/または車両102に関連付けられる属性データを決定することが可能である。センサーデータ108に基づいて、属性コンポーネント116は、オブジェクト104および/または車両102に関連付けられる属性データを決定することが可能である。上記のように、属性データは、速度データ、加速度データ、および/またはオブジェクト104および/または車両102に関連付けられる距離データ、および/またはオブジェクト104に関連付けられる任意の他のパラメーター(例えば、照明の状態、サイズ、相対速度など)を含んでよい。
【0029】
属性データは、譲歩スコア124を出力する決定をし得る入力として、機械学習モデル118に提供されてよい。少なくともある例示において、時間期間にわたる複数のこのような属性は、このようなモデル(例えば、任意の数の観測が企図されているが、1s、2s、8sなどの期間にわたって)へと入力されてよい。上記のように、譲歩スコア124は、0と1との間の数値であってよく、ここで、0に近い譲歩スコア124は、オブジェクト104が車両102に譲歩することとなる低い確率または低い尤度を示してよく、ここで、1に近い譲歩スコア124は、オブジェクト104が車両102に譲歩することとなる高い確率または高い尤度を示してよい。
【0030】
ある例示において、機械学習モデル118は、譲歩スコア124に基づいて推定されるオブジェクト軌道130を決定することが可能であり、これは、モーションプロファイル(予測されるモーションプロファイルとも称される)を含んでよく、および/またはそれに関連付けられてよい。モーションプロファイルは、オブジェクトの予測されるモーションを提供することが可能であり、オブジェクト104がオブジェクト104の速度をどのように変更させるか、および/またはオブジェクト104が車両102に譲歩することとなるかまたは否かを示すことが可能である。機械学習モデル118は、例えば、譲歩スコア124、オブジェクト104の速度、オブジェクト104の加速度、オブジェクト104の車輪に関連付けられる姿勢、オブジェクト104の方向指示器の状態などを考慮することによって、推定されるオブジェクト軌道130(および/またはモーションプロファイル)を決定することが可能である。
【0031】
例示の目的であり、限定することなく、属性データは、車両102が毎秒15メートルの速度で走行していることを示すことが可能であり、オブジェクト104が対象車線128で毎秒16メートルの速度で車両102の後ろを走行していることを示すことが可能である。さらに、属性データは、車両102とオブジェクト104との間の距離が40メートルであることを示すことが可能である。時間期間(例えば、2秒)が経過した後で、コンピューティングデバイスは、車両102が毎秒16メートルの速度で走行していること、オブジェクト104が毎秒13メートルの速度で走行していること、および自律車両と動的オブジェクトとの間の距離が42メートルであることを示すさらなる属性データを収集することが可能である。コンピューティングデバイスは、属性データおよびさらなる属性データに基づいて、推定されるオブジェクト軌道130を決定することが可能である機械学習モデル118への入力として、属性データおよびさらなる属性データを提供することが可能である。
【0032】
オブジェクト104がその速度を毎秒16メートルから毎秒13メートルに減少させること、車両102とオブジェクト104との間の距離の増加、および候補オブジェクトの軌道間の比較に基づいて、機械学習モデル118は、0.95の譲歩スコア124を決定することが可能である。譲歩スコア124に基づいて、車両コンピューティングデバイス110は、車線変更のアクションを実行することが安全であるということを決定することが可能であり、車両102を対象車線128へと移行させるように制御するための車両軌道120を決定することが可能である。
【0033】
車両軌道120は、対象軌道であってよく、1つまたは複数のコストを評価することによって参照軌道に対して生成されてよい。参照軌道は、車両102がたどるための初期経路または軌道を表現してよく、車両コンピューティングデバイス110によって生成または受信されてよい。ある例示において、参照軌道は、道路セグメント(例えば、現在の車線126)の中心線に対応することが可能であるとはいえ、参照軌道は、環境100における任意の経路を表現することが可能である。譲歩スコア124に基づいて、対象軌道は、車線変更のアクションを含んでよく、および/または車両102が車線変更のアクションを実行することを控えてよく、参照軌道のポイントに関連付けられる1つまたは複数のコストを評価することによって参照軌道に対して生成されてよい。一般に、1つまたは複数のコストは、参照コスト、障害物コスト、横方向のコスト、長手方向のコストなどを含んでよいが、これらに限定されない。例えば、コストは、少なくとも部分的に、走行可能な領域122の境界に基づいてよく、車両102は、コストに基づいて対象軌道を変更してよい。
【0034】
対象軌道は、車両によって走行可能な領域122内の環境100を横断するために実行されるように(例えば、後退する地平線にわたって)意図される別個の制御セグメントに関連して決定されてよい。走行可能な領域内の軌道を決定するための技術の例示は、例えば、「Drive Envelope Determination」と題され、2018年5月17日に出願された米国特許出願第15/982,694号に見出すことが可能であり、これは、その全体が参照により本明細書に組み込まれる。ある例示において、車両102は、上記のように、対象車線128への車線変更のアクションのような車両アクションを含み得る対象軌道をたどることが可能である。
【0035】
上記のコストに関して、参照コストは、参照軌道のポイント(参照ポイントとも称される)と対象軌道の対応するポイント(ポイントまたは対象ポイントとも称される)との間の差に関連付けられるコストを含んでよく、これによって、差は、ヨー、横方向のオフセット、速度、加速度、曲率、曲率レートなどの1つまたは複数の差を表現する。ある例示において、参照コストに関連付けられる重み付けを減少させることは、参照軌道から離れた距離に配置されている対象軌道に関連付けられるペナルティを低減することが可能であり、これは、より安全および/またはより快適な車両動作につながるよりスムーズな移行を提供することが可能である。
【0036】
ある例示において、障害物コストは、参照軌道または対象軌道のポイントと環境における障害物に関連付けられるポイントとの間の距離に関連付けられるコストを含んでよい。例示として、障害物に関連付けられるポイントは、走行可能な領域の境界のポイントに対応することが可能であり、または環境における障害物に関連付けられるポイントに対応することが可能である。ある例示において、環境における障害物は、静的オブジェクト(例えば、建物、縁石、歩道、車線区分線、道標、信号、木など)または動的オブジェクト(例えば、車両、自転車運転者、歩行者、動物など)を含んでよいが、これらに限定されない。ある例示において、動的オブジェクトは、また、エージェントと称されてよい。ある例示において、静的オブジェクトまたは動的オブジェクトは、一般的にオブジェクトまたは障害物と称されてよい。
【0037】
ある例示において、横方向のコストは、車両の速度に対する最大のステアリング入力のような車両へのステアリング入力に関連付けられるコストを参照してよい。ある例示において、長手方向のコストは、車両の速度および/または加速度(例えば、最大ブレーキおよび/または加速度)に関連付けられるコストを参照してよい。このようなコストは、乗員が輸送されるための実行可能な限度内および/または快適性の限度内で車両が動作しているということを確実にするために用いられてよい。ある例示において、プラニングシステムは、現在の車線126での走行可能な領域122に関連付けられる軌道に対する第1のコストを決定してよく、これは、車線変更のアクションに関連付けられる第2のコストよりも高くてよい。それ故に、アクションは、それぞれのアクションに関連付けられるコストに基づいて選択または決定されてよい。アクションに関連付けられるコストを決定する例示は、例えば、「Trajectory Generation Using Curvature Segments」と題され、2018年12月14日に出願された米国特許出願第15/843,512号に見出すことが可能であり、これは、その全体が参照により本明細書に組み込まれる。
【0038】
ある例示において、第1の対象車線に関連付けられる第1のコストは、第2の対象車線に関連付けられる第2のコストよりも低くてよい。例示の目的であり、限定することなく、車両102は、中央車線に関連付けられる障害物を用いて中央車線での環境を横断していることが可能である。車両102は、第1の対象車線での第1のオブジェクトに関連付けられる第1の譲歩スコアおよび第2の対象車線での第2のオブジェクトに関連付けられる第2の譲歩スコアを決定することが可能である。第1の譲歩スコアは、第2の譲歩スコアよりも高くてよく、続いて、第2の車線に関連付けられる障害物コストと比較する場合に、第1の車線に関連付けられる障害物コストを減少させてよい。したがって、少なくとも部分的に譲歩スコアに基づいて、第1の対象車線に関連付けられる第1のコストは、第2の対象車線に関連付けられる第2のコストよりも低くてよい。
【0039】
ある例示において、推定されるオブジェクト軌道130は、さらに、対象車線128に関連付けられる障害物コストを決定することに用いられることが可能である。例えば、譲歩スコア124は、低い譲歩スコアであってよく、推定されるオブジェクト軌道130は、オブジェクト104がその速度を増加させることとなることを示してよい。オブジェクト104の速度の増加は、車両102との衝突の尤度を増加させることが可能であり、対象車線128に関連付けられる障害物コストを増加させることが可能である。このような状況において、車両102は、車線変更のアクションを中止することが可能であり、オブジェクト104が車両102へと衝突する可能性を回避する。
【0040】
ある例示において、車両コンピューティングデバイス110は、譲歩スコアの閾値を用いることが可能であり、車線変更のアクションを実行することが安全であるということを決定する。例示の目的であり、限定することなく、譲歩スコアの閾値は0.9であってよく、譲歩スコア124は、0.95であってよく、この場合において、車両コンピューティングデバイス110は、車両102を対象車線128へと移行させる車両軌道120を実行することを決定してよい。譲歩スコアが譲歩スコアの閾値を満たさない、または上回らない場合、車両コンピューティングデバイス110は、車両102を、前の軌道を維持させることが可能であり、ならびに/または現在の車線126および/もしくは対象車線128に関連付けられる新しい候補軌道を生成させることが可能である。ある例示において、車両コンピューティングデバイス110は、対象車線128に関連付けられる新しい候補軌道を生成することができ、時間および/または距離が通過した後で(例えば、3秒後、5秒後、10メートル後ろで)、および/またはオブジェクト104が車両102を通過したということを検出した後で、譲歩スコアの決定を再実行することができる。
【0041】
図1は、環境における軌道を決定するための譲歩スコアを用いる1つの例示を図示する。他の例示は、また、企図される。例えば、属性コンポーネント116は、環境における多様なオブジェクトに対する属性データを決定することが可能である。
【0042】
図2は、車線変更のアクションを含む車両軌道208を車両102がたどる環境202および環境204を通る例示的なプロセス200の図解フロー図を図示する。図2は、さらに、環境202および環境204におけるオブジェクト104を図示する。
【0043】
例示的なプロセス200の動作206で、車両102は、現在の車線126で横断しながら車両軌道208をたどることが可能である。ある例示において、車両軌道208は、図1の車両軌道120に対応することが可能であるが、車両軌道208は、環境202における任意の経路または軌道を表現することが可能である。さらに、車両102は、第1の時間で、第1の属性データを決定することが可能であり、および/または車線変更のアクションを示すことが可能である。第1の属性データは、車両102および/またはオブジェクト104に関連付けられる速度データ、車両102および/またはオブジェクト104に関連付けられる加速度データ、および/またはオブジェクト104と車両102との間の距離210を示す距離データを含んでよい。ある例示において、車両102は、車線変更のアクションを示すことが可能である。例示の目的であり、限定することなく、車両102は、車両102の右側の方向指示器を作動させることが可能であり、および/または対象車線が車両102の右側に向かう対象車線128に向かって「近づく」ことが可能である。上記のように、ある例示において、対象車線128へと近づくことは、対象車線128に向かう現在の車線126内の車両102の横方向の位置の変更を含んでよい。
【0044】
例示的なプロセス200の動作212で、車両102は、現在の車線126で横断しながら車両軌道214をたどることが可能である。さらに、車両102は、第2の時間で、第2の属性データを決定することが可能である。第2の時間(例えば、車両102が方向指示器、ある他の信号エミッター作動させる、および/またはオブジェクト104に関連付けられる属性データを変更させる、間におよび/または後で)に関連付けられる第2の属性データは、車両102および/またはオブジェクト104に関連付けられる速度データ、車両102および/またはオブジェクト104に関連付けられる加速度データ、および/またはオブジェクトと自律車両との間の距離216を示す距離データを含んでよい。ある例示において、オブジェクト102は、車線変更のアクションを示す車両102に反応することが可能である。例示の目的であり、限定することなく、オブジェクト104は、車両102が方向指示器を作動させることが可能であり、および/または対象車線128に向かって「近づく」ことを観察することが可能である。続いて、オブジェクト104は、オブジェクト104の速度を維持または変更することが可能である。
【0045】
例えば、オブジェクト104が減速しているか、または速度を維持していることを示す属性データは、機械学習モデルへと入力されることが可能であり、オブジェクト104が譲歩しているということを示し得る譲歩スコアを生成する。ある例示において、オブジェクト104がオブジェクト104の速度を増加させることを示す属性データを機械学習モデルへと入力されることが可能であり、オブジェクト104が譲歩していないことを示す譲歩スコアを生成する。
【0046】
ある例示において、第2の属性データは、車両が車線変更のアクションの指示を提供することなく、第1の属性データを決定した後に決定されることが可能である。それ故に、第1の属性データおよび第2の属性データの決定は、継続的および/または周期的原則で実行されることが可能である。さらに、属性データは、継続的および/または周期的原則でオブジェクト104に関連付けられる譲歩スコアを生成し得る機械学習モデルへと入力されることが可能である。例示の目的であり、限定することなく、車両102は、0.5秒ごとなどの周期的原則で車両102および/またはオブジェクト104に関連付けられる属性データを決定することが可能であり、車両102および/またはオブジェクト104に関連付けられる一組の属性データを決定することが可能である。次に、車両102は、一組の属性データを機械学習モデルへと入力することが可能であり、オブジェクト104に関連付けられる譲歩スコアを決定する。
【0047】
上記のように、譲歩スコアは、推定されるオブジェクト軌道218を決定することに用いられることが可能であり、これは、ある例示において、図1の推定されるオブジェクト軌道130に対応することが可能であるが、推定されるオブジェクト軌道218は、環境202における任意の経路または軌道を表現することが可能である。例示の目的であり、限定することなく、推定されるオブジェクト軌道218は、オブジェクト104の速度をどのように変更させることとなるか、または変更させないかを示すことが可能であり、オブジェクト104が車両102に譲歩するか、または車両102に譲歩しない。
【0048】
図3は、交差点でのオブジェクト104に関連付けられる譲歩スコアを決定する車両102の例示的な環境300を図示する。
【0049】
上記のように、車両102は、現在の車線304から対象車線306への右折を含む車両軌道302を決定することが可能である。ある例示において、車両102は、交差点に向かって車両102の接近の間に方向指示器を有効にすることが可能である。
【0050】
車両102が環境300を横断するとき、車両102は、環境300の一部のセンサーデータをキャプチャすることが可能である。センサーデータを用いて、車両102のコンピューティングデバイスは、オブジェクト104を検出することが可能であり、これは、環境300のセンサーデータに表現される動的オブジェクトであってよい。図3に図示されるように、オブジェクト104は、対向する方向から交差点に接近している別の車両であってよい。ある例示において、オブジェクト104は、交差点で静止していてよい。ある例示において、オブジェクト104は、異なる方向(例えば、交差点の車両102に対して左側)から交差点に接近してよい。交差点は、制御されていない交差点であってよい。例えば、交差点は、交通信号および/または交通標識(例えば、停止標識、譲歩標識など)によって制御されない交差点であってよい。
【0051】
上記のように、車両102は、車両102が交差点に接近するにつれて、オブジェクトおよび/または車両102に関連付けられる属性データを決定することが可能である。ある例示において、交差点は、交差点の少なくとも一部が交通信号および/または交通標識に関連付けられる制御される交差点であってよい。ある例示において、属性データは、交差点が制御されるか、または制御されていないか、交通信号の状態などを示し得るセンサーデータを含んでよい。機械学習モデルは、オブジェクト104が交通信号および/または交通標識に一致することとなるかを決定するために訓練されることが可能であり、譲歩スコアを決定する。例示の目的であり、限定することなく、車両102は、少なくとも部分的にセンサーデータに基づいて、車両102が制御されていない交差点に接近するときに車両102を制御するための車両軌道302を決定する。示される例示において、車両軌道302は、制御されていない交差点で、現在の車線304から対象車線306への右折を含む。属性データは、オブジェクト104が左の方向指示器が有効になっている状態で交差点で静止していることを示すことが可能である。属性データに基づいて、車両102は、オブジェクト104が対象車線306へと左折することを意図していることを示す推定されるオブジェクト軌道308を決定することが可能である。属性データに基づいて、車両102は、オブジェクト104が対象車線306へと左折することを意図することを示す推定されるオブジェクト軌道308を決定することが可能である。
【0052】
車両102のコンピューティングデバイスは、オブジェクト104に関連付けられる譲歩スコアを出力することが可能である機械学習モデルへの入力として属性データを提供することが可能である。機械学習モデルによって決定される譲歩スコアの閾値および/またはモーションプロファイルを満たすか、または上回る譲歩スコアに基づいて、車両102は、オブジェクト104が車両102に譲歩し得ることとなるということを決定することが可能であり、車両軌道302を実行することが可能である。
【0053】
例示の目的であり、限定することなく、属性データは、オブジェクト104が制御されていない交差点に接近していることを示すことが可能であり、車両が右の方向指示器を有効にした後で、オブジェクト104がオブジェクト104の速度を低下させることを示すことが可能である。ある例示において、属性データは、到着時間(例えば、交差点に関連付けられる領域または位置に対して)、交差点への距離などを示すことが可能である。属性データは、機械学習モデルへと入力されることが可能であり、オブジェクト104が車両102に譲歩することとなることを示し得る譲歩スコアを出力する。ある例示において、譲歩スコアは、速度の低下にもかかわらず、オブジェクト104が車両102に譲歩しないこととなることを示すことが可能である。機械学習モデルは、進路変更に備えて速度を低下させるオブジェクトを譲歩に備えて速度を低下させるオブジェクトとは異なるものとして区別するように訓練されてよい。上記のように、機械学習モデルは、キャプチャされたログデータおよび/または合成ログデータに基づいて訓練されてよく、これらの状況に対してグラウンドトゥルースデータとして機能する。
【0054】
図4は、少なくとも部分的に譲歩スコアに基づいてモーションプロファイルを決定するための技術のブロック図400を図示する。上記のように、機械学習モデル402は、入力として、センサーデータおよび/または属性データ404を受信することが可能であり、環境におけるオブジェクトに関連付けられる譲歩スコア406を決定する。ある例示において、機械学習モデル402は、図1の機械学習モデル118に対応してよい。センサーデータおよび/または属性データ404を受信した後で、機械学習モデル402は、環境におけるオブジェクトに関連付けられる譲歩スコア406を決定することが可能である。
【0055】
上記のように、譲歩スコア406は、対象車線におけるオブジェクトが車両に譲歩することとなること(例えば、尤度または確率)を示してよい。例示の目的であり、限定することなく、譲歩スコア406は、0と1との間の数値であってよく、ここで、0に近い譲歩スコアは、オブジェクトが自律車両に譲歩する低い確率を示してよく、ここで、1に近い譲歩スコアは、オブジェクトが自律車両に譲歩する高い確率を示してよい。ある例示において、このようなスコアは、用いられる具体的なの形成に基づいて(上記の逆数のように)異なることがある。
【0056】
譲歩スコア406を用いて、モーションプロファイルコンポーネント408は、モーションプロファイル410を決定することが可能であり、オブジェクトが時間期間にわたってどのように挙動し得ることとなるかを示すことが可能である。ある例示において、モーションプロファイルコンポーネント408は、ログデータに表現される他のオブジェクトに関連付けられる一組の候補モーションプロファイルを含み得る候補モーションプロファイルデータ412を受信することが可能である。上記のように、ログデータは、車両の1つまたは複数のセンサーによってキャプチャされるセンサーデータ、車両に搭載される1つまたは複数のシステムによって識別される(または後処理段階の間に生成される)オブジェクトを示す知覚データ、推定されるオブジェクトの将来の位置、速度、および/または加速度を示す予測データ(記録の間に生成されるか、またはその後で生成されたか)、および/または診断情報、軌道情報、ヘッドライトおよび/または方向指示器の作動、および/または車両によって生成される他の情報を示す状態データを含んでよい。ログデータからのモーションプロファイルは、候補モーションプロファイルデータ412としてデータベースに格納されてよい。さらに、候補モーションプロファイルデータ412は、車線変更のアクションが車両によって試みられた前、間、および/または後でどのようにオブジェクトに挙動したか、および車線変更のアクションが成功したかを示すことが可能である。
【0057】
ある例示において、モーションプロファイルコンポーネント408は、モーションプロファイル機械学習モデルを含んでよく、モーションプロファイル410を生成する。例えば、モーションプロファイル機械学習モデルは、機械学習モデル402によって生成される譲歩スコアおよびオブジェクトの動きを示すグラウンドトゥルースデータに基づいて訓練されることが可能であり、譲歩スコアに基づいてオブジェクトのモーションプロファイルを決定する。次に、モーションプロファイルコンポーネント408は、譲歩スコア406を受信することが可能であり、モーションプロファイル410を生成することが可能である。
【0058】
したがって、機械学習モデル402は、センサーデータおよび/または属性データ404および/または属性データを用いることが可能であり、譲歩スコア406を決定し、次に、モーションプロファイルコンポーネント408は、譲歩スコア406を用いることが可能であり、候補モーションプロファイルデータ412の一組の候補モーションプロファイルに関連付けられる候補譲歩スコアと比較する。比較に基づいて、モーションプロファイルコンポーネント408は、候補モーションプロファイルに基づき得るモーションプロファイル410を決定することが可能であり、オブジェクトが時間期間にわたってどのように挙動し得ることとなるかを示す。ある例示において、モーションプロファイルコンポーネント408は、譲歩スコア406に加えてセンサーデータおよび/または属性データ404を用いることが可能であり、センサーデータおよび/または属性データ404および譲歩スコア406を候補モーションプロファイルデータ412に格納されるデータと比較して、モーションプロファイル410を決定する。
【0059】
図4に図示されるように、モーションプロファイル410は、x軸に沿った速度およびy軸に沿った時間を有するグラフとして表現されてよい。例示の目的であり、限定することなく、モーションプロファイル410は、モーションプロファイル410に関連付けられるオブジェクトが速度を維持して、時間期間(例えば、反応時間414)後で、その速度を低下させることを示すことが可能である。反応時間414は、車両が車線変更のアクションを開始する場合と、車両が車線変更のアクションを開始することに応答してオブジェクトがその速度を変更する場合との間の時間量を示すことが可能である。ある例示において、モーションプロファイルコンポーネント408は、反応時間414を含むモーションプロファイル410を決定することが可能である。ある例示において、モーションプロファイルコンポーネント408は、オブジェクトが既に車両に譲歩し始めているという決定をする場合、反応時間414を除外するモーションプロファイル410を決定することが可能である。上記のように、モーションプロファイル410は、用いられることが可能であり、車線変更のアクションおよび/または対象車線に関連付けられる障害物コストを決定する。
【0060】
図5は、本明細書で説明される技術を実装するための例示的なシステム500のブロック図を図示する。少なくとも1つの例示において、システム500は、車両502を含んでよい。
【0061】
車両502は、車両コンピューティングデバイス504、センサーシステム506、エミッター508、通信接続510、少なくとも1つの直接接続512、および駆動システム514を含んでよい。
【0062】
車両コンピューティングデバイス504は、プロセッサ516およびプロセッサ516と通信可能に結合されるメモリ518を含んでよい。図示される例示において、車両502は、自律車両であるが、車両502は、任意の他のタイプの車両であってよい。図示される例示において、車両コンピューティングデバイス504のメモリ518は、ローカリゼーションコンポーネント520、知覚コンポーネント522、マップ524、システムコントローラー526、および軌道生成コンポーネント114、表示コンポーネント530、属性コンポーネント116、機械学習モデル118、モーションプロファイルコンポーネント408、および比較コンポーネント532を含むプラニング/予測コンポーネント528を格納する。例示的な目的のために、メモリ518に存在するものとして図5で図示されるが、ローカリゼーションコンポーネント520、知覚コンポーネント522、マップ524、システムコントローラー526、プラニング/予測コンポーネント528、軌道生成コンポーネント114、表示コンポーネント530、属性コンポーネント116、機械学習モデル118、モーションプロファイルコンポーネント408、および比較コンポーネント532は、追加的、または代替的に、(例えば、リモートで格納される)車両502にアクセス可能であってよいことが企図される。
【0063】
少なくとも1つの例示において、ローカリゼーションコンポーネント520は、センサーシステム506からのデータを受信する機能を含んでよく、車両502の位置および/または方向(例えば、x位置、y位置、z位置、ロール、ピッチ、またはヨーのうちの1つまたは複数)を決定する。例えば、ローカリゼーションコンポーネント520は、環境のマップを含んでよく、および/または環境のマップを要求/受信してよく、マップ内で自律車両の位置および/または方向を継続的に決定してよい。ある例示において、ローカリゼーションコンポーネント520は、自律車両の位置を正確に決定するために画像データ、ライダーデータ、レーダーデータ、IMUデータ、GPSデータ、ホイールエンコーダーデータなどを受信するためのSLAM(同時ローカリゼーションおよびマッピング)、CLAMS(同時に、較正、ローカリゼーション、およびマッピング)、相対SLAM、バンドル調整、非線形最小二乗最適化などを利用してよい。ある例示において、本明細書で説明されるように、ローカリゼーションコンポーネント520は、車両502のさまざまなコンポーネントにデータを提供することが可能であり、軌道を生成することに対して、および/またはマップデータを生成することに対して自律車両の初期位置を決定する。
【0064】
ある例示において、知覚コンポーネント522は、オブジェクトの検出、セグメンテーション、および/または分類を実行する機能を含んでよい。ある例示において、知覚コンポーネント522は、車両502に近接するエンティティの存在および/またはエンティティのタイプ(例えば、自動車、歩行者、自転車運転者、建物、木、路面、縁石、歩道、不明など)としてのエンティティの分類を示す処理されたセンサーデータを提供することが可能である。追加的または代替的な例示において、知覚コンポーネント522は、検出されたエンティティ(例えば、追跡されるオブジェクト)に関連付けられる1つまたは複数の特徴(属性とも称される)および/またはエンティティが配置されている環境を示す処理されたセンサーデータを提供することが可能である。ある例において、エンティティに関連付けられる特徴は、x位置(グローバル位置および/またはローカル位置)、y位置(グローバル位置および/またはローカル位置)、z位置(グローバル位置および/またはローカル位置)、方向(例えば、ロール、ピッチ、ヨー)、エンティティのタイプ(例えば、分類)、エンティティの速度、エンティティの加速度、エンティティの範囲(サイズ)などを含んでよいが、これらに限定されない。環境に関連付けられる特徴は、環境における別のエンティティの存在、環境における別のエンティティの状態、時刻、曜日、季節、気象条件、暗さ/明るさの表示などを含んでよいが、これらに限定されない。
【0065】
メモリ518は、環境内をナビゲートするために車両502によって用いられ得るマップ524をさらに含んでよい。この説明の目的のために、マップは、例えば、(交差点のような)トポロジー、車道、山脈、道路、地形、および一般的な環境のような環境についての情報を提供することが可能である2次元、3次元、またはN次元でモデル化される任意の数のデータ構造であってよいが、これらに限定されない。ある例において、マップは、テクスチャー情報(例えば、色情報(例えば、RGB色情報、Lab色情報、HSV/HSL色情報)など)、強度情報(例えば、ライダー情報、レーダー情報など)、空間情報(例えば、メッシュへ投影された画像データ、個々の「サーフェル」(例えば、個々の色および/または強度に関連付けられる多角形))、反射率情報(例えば、鏡面性情報、再帰反射性情報、BRDF情報、BSSRDF情報など)を含んでよいが、これらに限定されない。1つの例示において、マップは、環境の3次元メッシュを含んでよい。ある例示において、本明細書で説明されるように、マップは、タイル形式で格納されることが可能であることによって、マップの個々のタイルが環境の別個の部分を表現して、必要に応じて作業メモリへとロードされることが可能である。少なくとも1つの例示において、マップ524は、少なくとも1つのマップ(例えば、画像および/またはメッシュ)を含んでよい。ある例示において、車両502は、少なくとも部分的にマップ524に基づいて制御されてよい。つまり、マップ524は、軌道生成コンポーネント114、ローカリゼーションコンポーネント520、知覚コンポーネント522、および/またはプラニング/予測コンポーネント528に関連して用いられてよく、車両502の位置を決定し、環境におけるオブジェクトを識別し、および/または環境内をナビゲートするためのルートおよび/または軌道を生成する。
【0066】
ある例示において、マップ524は、ネットワーク534を介してアクセス可能であるリモートコンピューティングデバイス(コンピューティングデバイス536など)に格納されてよい。ある例において、多様なマップ524は、例えば、特徴(例えば、エンティティのタイプ、時刻、曜日、その年の季節など)に基づいて格納されてよい。多様なマップ524を格納することは、同様のメモリ要件を有してよいが、マップにおけるデータがアクセスされ得る速度を増加させる。
【0067】
少なくとも1つの例示において、車両コンピューティングデバイス504は、システムコントローラー526を含んでよく、これは、ステアリング、推進、制動、安全性、エミッター、通信、および車両502の他のシステムを制御するように構成されてよい。これらのシステムコントローラー526は、駆動システム514および/または車両502の他のコンポーネントに対応するシステムと通信および/または制御することが可能である。
【0068】
一般に、プランニング/予測コンポーネント528は、環境を横断する車両502がたどる経路を決定することが可能である。例えば、プランニング/予測コンポーネント528は、さまざまなルートおよび軌道、ならびにさまざまな詳細のレベルを決定することが可能である。例えば、プランニング/予測コンポーネント528は、第1の位置(例えば、現在位置)から第2の位置(例えば、対象位置)まで移動するルートを決定することが可能である。この説明の目的のために、ルートの一部は、現在の車線から対象車線への車線変更のアクションを含んでよい。さらに、プラニング/予測コンポーネント528は、現在の車線から対象車線へのルートの少なくとも一部に沿って自律車両を誘導するための命令を生成することが可能である。ある例示において、命令は、軌道、または軌道の一部であってよい。ある例示において、多様な軌道(例えば、多様な対象車線に関連付けられる多様な車線変更のアクション)は、後退水平技法(receding horizon technique)に従って実質的に同時に(例えば、技術的許容範囲内で)生成されてよく、ここで、多様な軌道のうちの1つは、車両502がナビゲートするために選択される。
【0069】
ある例示において、プラニング/予測コンポーネント528は、環境におけるオブジェクトの予測される軌道(モーションプロファイルとも称される)を生成する機能を含んでよい。例えば、プラニング/予測コンポーネント528は、車両502からの閾値距離内の車両、歩行者、動物などに対して、1つまたは複数の予測される軌道を生成することが可能である。ある例示において、プラニング/予測コンポーネント528は、オブジェクトのトラックを測定することが可能であり、観察および予測される挙動に基づいてオブジェクトに対する軌道を生成することが可能である。予測される軌道を生成する例示は、2018年10月4日に出願された米国特許出願番号第16/151,607号および2018年5月17日に出願された15/982,658号に記載されている。出願番号16/151,607号および15/982,658号は、その全体が参照により本明細書に組み込まれる。
【0070】
ある例示において、軌道生成コンポーネント114は、走行可能な領域内に参照軌道および/または対象軌道を生成するための機能を含んでよい。例えば、走行可能な領域コンポーネント114は、センサーシステム506からセンサーデータを受信することが可能であり、および/または知覚コンポーネント522から環境のおける障害物および/またはオブジェクトについての情報を受信することが可能である。少なくとも部分的に、センサーデータおよび/またはオブジェクトに関連付けられる情報(例えば、位置、姿勢、範囲、分類、速度、予測される軌道など)に基づいて、軌道生成コンポーネント114は、走行可能な領域を決定することが可能である。ある例示において、軌道生成コンポーネント114は、領域に近接するオブジェクトに関連付けられる分類タイプに基づいて、および/または車両502の速度に基づいて、領域の範囲を決定することが可能である。
【0071】
軌道を生成するために、軌道生成コンポーネント114は、参照軌道を受信または決定することが可能であり、これは、環境を通る道路セグメントまたは他の経路の中心線に対応することが可能である。ある例示において、軌道生成コンポーネント114は、2017年12月15日に出願された米国特許出願番号第15/843,596号で説明される技術に従って生成されるモーションプリミティブに対応し得るセグメントを生成することが可能である。出願番号第15/843,596号は、その全体が参照により本明細書に組み込まれる。上記のように、軌道生成コンポーネント114によって生成される軌道は、現在の車線から対象車線への車線変更のアクションを含んでよい。
【0072】
ある例示において、軌道生成コンポーネント114は、参照軌道に対して対象軌道を生成するための1つまたは複数のコストを評価する機能を含んでよい。上記のように、1つまたは複数のコストは、参照コスト、障害物コスト、横方向のコスト、および長手方向のコストなどを含んでよいが、これに限定されない。ある例示において、1つまたは複数のコストは、2018年9月28日に出願された米国特許出願番号第16/147,492号で説明される技術に従って評価することが可能であり、これは参照によりその全体が本明細書に組み込まれる。
【0073】
ある例示において、表示コンポーネント530は、車線変更の表示を実行する機能を含んでよい。例えば、表示コンポーネント530は、車線変更のアクションが軌道生成コンポーネント114によって生成される軌道に関連付けられるということを決定することが可能である。次に、表示コンポーネント530は、例えば、方向指示器(例えば、エミッター508のうちの1つであり、これは、例えば、スピーカーおよび/またはライトを含んでよい)を作動させること、および/または対象車線に向かって「近づく」ことを含み得る車線変更の表示を実行することが可能である。
【0074】
ある例示において、属性コンポーネント116は、少なくとも部分的に、センサーシステム506によって生成されるセンサーデータに基づいて、属性データを決定する機能を含んでよい。属性データは、オブジェクトに関連付けられる速度データ、自律車両に関連付けられる速度データ、オブジェクトに関連付けられる加速度データ、自律車両に関連付けられる加速度データ、および/またはオブジェクトと自律車両との間の距離を示す距離データを含んでよいが、オブジェクトの範囲(例えば、長さ、幅、高さ)、車両の状態データ(例えば、診断情報、ヘッドライトおよび/または方向指示器の状態、スピーカーの状態など)、および/またはオブジェクトの状態データ(例えば、ヘッドライトおよび/または方向指示器の状態、オブジェクトのオペレーターのジェスチャーなど)などの他のタイプのデータが企図される。
【0075】
ある例示において、機械学習モデル118は、入力としてセンサーデータおよび/または属性データを受信して、環境におけるオブジェクトに関連付けられる譲歩スコアを出力する機能を含んでよい。機械学習モデル118は、ニューラルネットワークとして実装されてよい。ある例示において、機械学習モデル118は、属性データに基づいて、例えば、オブジェクトが時間期間にわたってどのように挙動することとなるかを示し得るモーションプロファイルを決定ことが可能である。機械学習モデル118は、例えば、オブジェクトに関連付けられる譲歩スコア、オブジェクトの速度、オブジェクトの加速度、オブジェクトの車輪に関連付けられる姿勢、オブジェクトの方向指示器の状態などを考慮することによって、モーションプロファイルを決定することが可能である。
【0076】
上記のように、モーションプロファイルコンポーネント408は、モーションプロファイルのデータベースを格納および/またはアクセスすることが可能である。機械学習モデル118がオブジェクトに関連付けられる譲歩スコアを決定するとき、モーションプロファイルコンポーネント408は、センサーデータ/属性データおよび譲歩スコアを用いることが可能であり、モーションプロファイルデータのモーションプロファイルと比較する。比較に基づいて、モーションプロファイルコンポーネント408は、オブジェクトが時間期間にわたってどのように挙動し得ることとなるかを示し得る環境におけるオブジェクトに関連付けられるモーションプロファイルを決定することが可能である。
【0077】
比較コンポーネント532は、機械学習モデル118によって出力される譲歩スコアを譲歩スコアの閾値と比較する機能を含んでよい。譲歩スコアの閾値を満たすか、または上回る譲歩スコアは、譲歩スコアに関連付けられるオブジェクトが譲歩しないことよりも起こり易く、譲歩スコアの閾値を満たさないか、または上回らない譲歩スコアは、オブジェクトが譲歩しないことよりも起こり易いことを示すことが可能である。譲歩スコアを譲歩スコアの閾値と比較することによって、車両コンピューティングデバイス504は、譲歩スコアが譲歩スコアの閾値を満たすか、または上回るということを決定することが可能であり、車線変更のアクションを実行することが安全であるということを決定する。
【0078】
ある例示において、譲歩スコアは、譲歩スコアの範囲の中央値であってよい。例示の目的であり、限定することなく、譲歩スコアは、0と1との間の数値であってよく、譲歩スコアの閾値は、0.5であってよい。ある例示において、譲歩スコアの閾値は、機械学習モデル118によって決定されてよい。例えば、機械学習モデル118は、訓練属性データ、センサーデータ、および/またはグラウンドトゥルースデータを含み得る訓練データに基づいて訓練されることが可能であり、譲歩スコアの閾値を決定することによって、入力センサーデータおよび/または属性データに基づいて生成される譲歩スコアは、それぞれ、センサーデータおよび/または属性データがオブジェクトを譲歩することとなるか、または譲歩しないこととなるかを示す場合、譲歩スコアの閾値を満たすこととなるか、または上回ることとなるか、または譲歩スコアの閾値を下回ることとなる。
【0079】
本明細書で説明される機械学習モデル118は、ニューラルネットワークを含んでよく、これは、入力データが一連の接続されるレイヤーを通過して出力を生成する生物学的に着想を得たアルゴリズムである。ニューラルネットワークにおけるそれぞれのレイヤーは、また、別のニューラルネットワークを含んでよく、または任意の数のレイヤーを(畳み込みであるか、否か)含んでよい。本開示の脈絡で理解されることが可能であるように、ニューラルネットワークは、機械学習を利用することが可能であり、これは、出力が学習されたパラメーターに基づいて生成されるこのような幅広いクラスのアルゴリズムを参照することが可能である。例えば、ニューラルネットワークは、ResNet 50、ResNet 101、ResNet 152、VGG、DenseNet、PointNetなどの1つまたは複数のニューラルネットワークを含んでよい。
【0080】
ニューラルネットワークの脈絡で説明されるものの、任意のタイプの機械学習が本開示と整合するように用いられてよい。例えば、機械学習アルゴリズムは、回帰アルゴリズム(例えば、通常最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン(MARS)、局所的に推定される散布図の平滑化(LOESS)、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対値縮小選択演算子(LASSO)、弾性ネット、最小角回帰(LARS)、決定木アルゴリズム(例えば、分類回帰木(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定切り株、条件付き決定木)、ベイジアンアルゴリズム(例えば、ナイーブベイズ、ガウスナイーブベイズ、多項式ナイーブベイズ、平均1依存性推定器(AODE)、ベイジアン信頼度ネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均法、kメジアン法、期待値最大化(EM)、階層的クラスタリング)、関連規則学習アルゴリズム(例えば、パーセプトロン、誤差逆伝播法、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN))、深層学習アルゴリズム(例えば、深層ボルツマンマシン(DBM)、深層信頼ネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、積層型オートエンコーダ)、次元削減アルゴリズム(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元スケーリング(MDS)、射影追跡法、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(例えば、ブースティング、ブートストラップ集約(バギング)、エイダブースト、階層型一般化(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースト回帰木(GBRT)、ランダムフォレスト)、SVM(サポートベクトルマシン)、教師付き学習、教師なし学習、半教師付き学習などを含んでよいが、これらに限定されない。
【0081】
少なくとも1つの例示において、センサーシステム506は、ライダーセンサー、レーダーセンサー、超音波トランスデューサー、ソナーセンサー、位置センサー(例えば、GPS、コンパスなど)、慣性センサー(例えば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えば、RGB、IR、強度、深度など)、飛行時間センサー(time of flight sensors)、マイク、ホイールエンコーダー、環境センサー(例えば、温度センサー、湿度センサー、光センサー、圧力センサーなど)などを含んでよい。センサーシステム506は、センサーのこれらまたは他のタイプのそれぞれの多様な例示を含んでよい。例えば、ライダーセンサーは、車両502の角部、前部、後部、側面、および/または上部に配置されている個々のライダーセンサーを含んでよい。別の例示として、カメラセンサーは、車両502の外部および/または内部のさまざまな位置に配置されている多様なカメラを含んでよい。センサーシステム506は、車両コンピューティングデバイス504に入力を提供することが可能である。追加的および/または代替的に、センサーシステム506は、リアルタイムに近い時間などで、所定の時間期間が経過した後で、センサーデータを1つまたは複数のネットワーク534を介して、具体的な頻度で1つまたは複数のコンピューティングデバイス536に送信することが可能である。
【0082】
車両502は、また、上記のように、光および/または音を発するための1つまたは複数のエミッター508を含んでよい。この例示のエミッター508は、車両502の乗員と通信するための内部オーディオおよび視覚エミッターを含んでよい。例示の目的であり、限定ではなく、内部エミッターは、スピーカー、ライト、標識、ディスプレイ画面、タッチスクリーン、触覚エミッター(例えば、振動および/または力フィードバック)、機械的アクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含んでよい。この例示におけるエミッター508は、また外部エミッターを含む。例示の目的であり、限定ではなく、この例示における外部エミッターは、移動の方向の信号を送る照明、もしくは車両のアクションの他のインジケーター(例えば、インジケーター照明、標識、照明アレイなど)、ならびに歩行者、または音響ビームステアリング技術を含む1つまたは複数の近隣の他の車両と音響で通信する1つまたは複数のオーディオエミッター(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含む。
【0083】
車両502は、また、車両502と他のローカルまたはリモートコンピューティングデバイスとの間の通信を可能にする通信接続510を含んでよい。例えば、通信接続510は、車両502および/または駆動システム514に対する他のローカルコンピューティングデバイスとの通信を容易にすることが可能である。また、通信接続510は、車両が他の近隣のコンピューティングデバイス(例えば、他の近隣の車両、交通信号など)と通信することを可能とすることが可能である。通信接続510は、また、車両502が遠隔操作コンピューティングデバイスまたは他のリモートサービスと通信することを可能にする。
【0084】
通信接続510は、車両コンピューティングデバイス504を別のコンピューティングデバイスまたはネットワーク534などのネットワークに接続するための物理的および/または論理的インターフェースを含んでよい。例えば、通信接続510は、IEEE802.11規格によって定義された周波数、ブルートゥースなどの短距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5Gなど)、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースで接続することを可能にする任意の適切な有線または無線通信プロトコルを介するようなWi-Fiベースの通信を可能にすることが可能である。
【0085】
少なくとも1つの例示において、車両502は、駆動システム514を含んでよい。ある例示において、車両502は、1つの駆動システム514を有してよい。少なくとも1つの例示において、車両502が多様な駆動システム514を有する場合、個々の駆動システム514は、車両502の両端部(例えば前部および後部など)に配置されてよい。少なくとも1つの例示において、駆動システム514は、駆動システム514および/または車両502の周囲の条件を検出するための1つまたは複数のセンサーシステムを含んでよい。例示の目的であり、限定ではなく、センサーシステムは、駆動システムのホイールの回転を感知するための1つまたは複数のホイールエンコーダー(例えば、ロータリーエンコーダー)、駆動システムの方向および加速度を測定するための慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたは他の画像センサー、駆動システムの周囲の状態におけるオブジェクトを音響的に検出するための超音波センサー、ライダーセンサー、レーダーセンサーなどを含んでよい。ホイールエンコーダーのようなあるセンサーは、駆動システム514に一意であってよい。ある例示において、駆動システム514に対するセンサーシステムは、車両502の対応するシステム(例えばセンサーシステム506)と重複または補完することが可能である。
【0086】
駆動システム514は、高電圧バッテリー、車両を推進させるためのモーター、他の車両システムによる使用のためにバッテリーからの直流を交流に変換するためのインバーター、ステアリングモーターとステアリングラックとを含むステアリングシステム(これは電動式であってよい)、油圧アクチュエータまたは電気アクチュエータを含むブレーキシステム、油圧コンポーネントおよび/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を緩和し、制御を維持するために制動力を分配するための安定性制御システム、HVACシステム、照明(例えば、車両の外周を照明するためのヘッドライド/テールライトなどの照明)、および1つまたは複数の他のシステム(例えば、冷却システム、安全システム、車載充電システム、DC/DCコンバーターなどの他の電気コンポーネント、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなど)を含めて、車両システムの多くを含んでよい。また、駆動システム514は、センサーシステムからデータを受信して、前処理をし得るさまざまな車両システムの動作を制御するための駆動システムコントローラーを含んでよい。ある例示において、駆動システムコントローラーは、1つまたは複数のプロセッサと通信可能に結合されるプロセッサおよびメモリを含んでよい。メモリは、駆動システム514のさまざまな機能性を実行するための1つまたは複数のコンポーネントを格納することが可能である。さらに、駆動システム514は、また、それぞれの駆動システムによる1つまたは複数の他のローカルコンピューティングデバイスまたはリモートコンピューティングデバイスとの通信を可能にする1つまたは複数の通信接続を含んでよい。
【0087】
少なくとも1つの例において、直接接続512は、1つまたは複数の駆動システム514を車両502の本体と結合するための物理的なインターフェースを提供することが可能である。例えば、直接接続512は、駆動システム514と車両との間でエネルギー、流体、空気、データなどを伝達することを可能とすることが可能である。ある例示において、直接接続512は、さらに、駆動システム514を車両502の本体に着脱可能に固定することが可能である。
【0088】
ある例示において、車両502は、ネットワーク534を介して1つまたは複数のコンピューティングデバイス536にセンサーデータを送信することが可能である。ある例示において、車両502は、生のセンサーデータをコンピューティングデバイス536に送信することが可能である。他の例示において、車両502は、処理されたセンサーデータおよび/またはセンサーデータの表現をコンピューティングデバイス536に送信することが可能である。ある例示において、車両502は、所定の期間が経過した後、ほぼリアルタイムで、具体的な頻度でセンサーデータをコンピューティングデバイス536に送信することが可能である。ある場合において、車両502は、センサーデータ(生または処理された)を1つまたは複数のログファイルとしてコンピューティングデバイス536に送信することが可能である。
【0089】
コンピューティングデバイス536は、プロセッサ538およびプラニング/予測コンポーネント542を格納するメモリ540を含んでよい。
【0090】
ある例示において、プラニング/予測コンポーネント542は、プラニング/予測コンポーネント528に実質的に対応することが可能であり、環境における車両502に対する軌道を生成する機能を含んでよい。ある例示において、メモリ540は、軌道生成コンポーネント114、属性コンポーネント116、機械学習モデル118、モーションプロファイルコンポーネント408、表示コンポーネント530、および/または比較コンポーネント532のうちのいずれかを追加的または代替的に格納してよい。例えば、コンピューティングデバイス536は、モーションプロファイルコンポーネント408によって、少なくとも部分的に、1つまたは複数の車両から受信したログデータに基づいてモーションプロファイルを決定してよく、モーションプロファイルをモーションプロファイルコンポーネント408に関連してストレージのために1つまたは複数の車両に伝送してよい。
【0091】
車両502のプロセッサ516およびコンピューティングデバイス536のプロセッサ538は、本明細書で説明されるようなデータを処理して、動作を実行するための命令を実行することが可能である任意の適切なプロセッサであってよい。例示の目的であり、限定ではなく、プロセッサ516および538は、1つまたは複数の中央処理装置(CPU)、Graphics Processing Units(GPU)、または電子データを処理して電子データをレジスタまたはメモリに格納し得る他の電子データへと変換する他の任意のデバイスまたはデバイスの一部を含んでよい。ある例示において、集積回路(例えば、ASICなど)ゲートアレイ(例えば、FPGAなど)、および他のハードウェアデバイスは、また、それらがエンコードされた命令を実装するように構成される限り、プロセッサとみなされてよい。
【0092】
メモリ518および540は、非一時的なコンピューター可読媒体の例示である。メモリ518および540は、オペレーティングシステム、ならびに本明細書において説明される方法、およびさまざまなシステムに割り当てられた機能を実装する1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納することが可能である。さまざまな実装において、メモリは、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または、情報を格納することが可能な任意の他のタイプのメモリなどの任意の適切なメモリ技術を用いて、実装されてよい。本明細書で説明されるアーキテクチャ、システム、および個々の要素は、多くの他の論理、プログラマティック、および物理的なコンポーネントを含んでよく、その中で、添付の図面に示されるものは、本明細書での説明に関連する例示に過ぎない。
【0093】
ある場合において、メモリ518および540は、少なくとも作業メモリおよびストレージメモリを含んでよい。例えば、作業メモリは、プロセッサ516および538によって操作されるデータを格納するために用いられる制限された容量の高速メモリ(例えば、キャッシュメモリ)であってよい。ある例示において、メモリ518および540は、データの長期ストレージに用いられる比較的大容量の低速メモリであり得るストレージメモリを含んでよい。ある場合において、プロセッサ516および538は、ストレージメモリに格納されるデータを直接操作することが可能ではなく、本明細書で説明されるように、データに基づいて動作を実行するためにデータを作業メモリへとロードする必要があることがある。
【0094】
図5は分散システムとして図示されているが、代替の例示において、車両502のコンポーネントをコンピューティングデバイス536に関連付けられてよく、および/またはコンピューティングデバイス536のコンポーネントを車両502に関連付けられてよいということに留意されたい。つまり、車両502は、コンピューティングデバイス536に関連付けられる機能のうちの1つまたは複数を実行することが可能であり、逆もまた同様である。
【0095】
図5および図6は、本開示の実施形態に従って、例示的なプロセスを図示する。これらのプロセスは、論理フローグラフとして図示され、それぞれの動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実装され得る一連の動作を表現する。ソフトウェアのコンテキストにおいて、動作は、1つまたは複数のプロセッサによって実行された場合に、列挙した動作を実行する1つまたは複数のコンピューター可読媒体に格納されたコンピューター実行可能な命令を表現する。一般に、コンピューター実行可能な命令は、具体的な機能を実行するか、または具体的な抽象データ型を実装するルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることが意図されるわけではなく、任意の数の説明される動作が、プロセスを実装する任意の順序で、および/または並行して組み合わされてよい。
【0096】
図6は、本開示の実施形態に従って、譲歩スコアを決定して、制御するために、少なくとも部分的に譲歩スコアに基づいて、車両が車線変更のアクションを実行する例示的なプロセス600を図示する。例えば、プロセス600の一部またはすべては、本明細書で説明されるように、図1または図5での1つまたは複数のコンポーネントによって実行されることが可能できる。例えば、プロセス600の一部またはすべては、車両コンピューティングデバイス110、車両コンピューティングデバイス504、および/またはコンピューティングデバイス536によって実行されることが可能である。
【0097】
例示的なプロセス600の動作602で、プロセス600は、車両のセンサーから、環境の少なくとも一部を表現するセンサーデータを受信することを含んでよい。ある例示において、車両は、静止していてよく、および/または環境において駐車していてよい。ある例示において、車両は、センサーからセンサーデータを受信しながら環境を横断していてよい。
【0098】
例示的なプロセス600の動作604で、プロセス600は、車両が環境において実行する車線変更のアクションを決定することを含んでよい。ある例示において、車線変更のアクションを決定することは、少なくとも部分的に、車線変更のアクションを含む軌道に基づいてよい。例えば、車両のコンピューティングデバイスは、少なくとも部分的に、車線変更のアクションが車両を交通および/または環境をより効率的および/またはより安全に横断することを可能とする環境における交通条件および/または障害物に基づいて、軌道の一部として車線変更のアクションを決定することが可能である。ある例示において、車線変更のアクションは、少なくとも部分的に近づきつつあるアクションに基づいてよい。例示の目的であり、限定することなく、車両は、近づきつつある交差点での右折を含む軌道をたどることが可能である。右折に備えるために、車両は、対象車線への車線変更のアクションを実行することが可能である。ある例示において、車線変更のアクションは、保護されていない進路変更および/または保護されている交差点での進路変更を含んでよい。車線変更のアクションは、対象車線および/または中間車線(例えば、自転車車線、バス車線)に関連付けられてよい。本明細書での説明は、主に対象車線に関するが、本明細書で説明される技術は、追加的または代替的に、中間車線に適用され得ることが理解される。
【0099】
例示的なプロセス600の動作606で、プロセス600は、対象車線に関連付けられているセンサーデータに表現されるオブジェクトよりも決定することを含んでよい。上記のように、車両は、少なくとも部分的に、センサーから受信したセンサーデータに基づいてオブジェクトの検出、セグメンテーション、および/または分類を実行することが可能であり、センサーデータがオブジェクトを表現して、オブジェクトが対象車線に関連付けられているということを決定する。
【0100】
例示的なプロセス600の動作608で、プロセス600は、少なくとも部分的にセンサーデータに基づいて、属性データを決定することを含んでよい。ある例示において、属性データは、オブジェクトの光の状態、オブジェクトのオペレーターのジェスチャーなどの他の属性が企図されるが、オブジェクトの範囲、オブジェクトの分類、オブジェクトの姿勢、オブジェクトの軌道、オブジェクトの加速度、オブジェクトの状態、車両からのオブジェクトの距離、および/またはオブジェクトの速度などの属性を含んでよい。属性データは、追加的または代替的に、車両に対応する同様のデータを含んでよく、および/または属性データは、車両に関連付けられる属性データを参照して表示されてよい(例えば、オブジェクトの速度は、車両の位置および/または速度を参照して表示されてよい)。少なくともある例示において、このような属性データは、現在の時間(例えば、1s、2s、4s、8sなど)に先行して、および現在の時間まで、および/または現在の時間を含む時間期間にわたって決定される属性を含んでよい。
【0101】
例示的なプロセス600の動作610で、プロセス600は、譲歩スコアを出力するように訓練される機械学習モデルへの入力として属性データを提供することを含んでよい。
【0102】
例示的なプロセス600の動作612で、プロセス600は、機械学習モデルから、オブジェクトが車両に譲歩している確率を示す譲歩スコアを受信することを含んでよい。譲歩スコアは、オブジェクトが車両に譲歩する確率を示し得る数値であってよい。機械学習モデルは、ログデータからの同様のシミュレーションされる環境で表現される同様の軌道に基づいて訓練されてよい。
【0103】
例示的なプロセス600の動作614で、プロセス600は、譲歩スコアが譲歩スコアの閾値を満たすか、または上回るかを決定することを含んでよい。譲歩スコアが譲歩スコアの閾値を満たさないか、または上回らない場合、プロセス600は、動作608に戻ることが可能である。譲歩スコアが譲歩スコアの閾値を満たすか、または上回る場合、プロセス600は、動作616に進むことが可能である。ある例示において、譲歩スコアは、コストに関連付けられてよい。例えば、より低い譲歩スコアは、オブジェクトが譲歩することとなるより低い確率に関連付けられてよく、次に、車線変更のアクションを実行するより高いコストに関連付けられてよい。同様に、より高い譲歩スコアは、オブジェクトが譲歩することとなるより高い確率に関連付けられてよく、次に、車線変更のアクションを実行するより低いコストに関連付けられてよい。ある例示において、動作614は、コストがコストの閾値を満たすか、または上回るかを決定することを含んでよい。
【0104】
例示的なプロセス600の動作616で、プロセス600は、少なくとも部分的に譲歩スコアに基づいて、車両を制御することを含んでよく、車線変更のアクションを実行する。例えば、車両は、少なくとも部分的に、譲歩スコアが譲歩スコアの閾値を満たさないか、または上回らないという決定をすることに基づいて車線変更のアクションを中止する決定をしてよく、または車両は、少なくとも部分的に、譲歩スコアが譲歩スコアの閾値を満たすか、または上回るという決定をすることに基づいて車線変更のアクションを完了させてもよい。ある例示において、譲歩スコアの閾値を下回る譲歩スコアは、車線変更のアクション、対象車線、および/または対象軌道に関連付けられる障害物コストを増加させることが可能である。コストの増加に応答して、車両は、車線変更のアクションを中止することを決定することが可能である。
【0105】
図7は、譲歩スコアを生成するために機械学習モデルを訓練するための例示的なプロセス700を図示する。
【0106】
例示的なプロセス700の動作702で、プロセス700は、センサーデータをキャプチャすることが可能であり、および/または生成することが可能であり、そこから属性データを決定することが可能であり、ここで、属性データは、車両のメモリに格納されるデータベースにおけるオブジェクトに関連付けられてよい。ある例示において、センサーデータは、環境を横断している間に1つまたは複数の車両によってキャプチャされることが可能である。ある例示において、センサーデータは、シミュレーション環境で生成される合成センサーデータであってよい。
【0107】
例示的なプロセス700の動作704で、プロセス700は、車線変更の成功または失敗の表示をグラウンドトゥルースデータとして生成することを含んでよい。グラウンドトゥルースデータは、センサーデータ、属性データ、および/またはモーションプロファイルに基づいて、車両が車線変更の操作を実行しようと試みたか、成功したか、および/または失敗したかを示すことが可能である。ある例示において、グラウンドトゥルースデータは、車線変更の試みおよび/または共に関連付けられる属性データに関連して用いられるモーションプロファイル(および/または最高の譲歩スコアに関連付けられるモーションプロファイル)を示すことが可能である。
【0108】
例示的なプロセス700の動作706で、センサーデータは、機械学習モデルへと入力することが可能であり、譲歩スコアを生成する。機械学習モデルは、少なくとも部分的に、センサーデータおよびグラウンドトゥルースデータに基づいて譲歩スコアを生成するように訓練されることが可能である。例えば、センサーデータは、周知の結果(例えば、周知の車線変更の成功、車線変更の失敗、正しいモーションプロファイルを示すグラウンドトゥルースデータ)が用いられてよく、誤差を最小限に抑えるために機械学習モデルの重み付けおよび/またはパラメーターを調整することに用いられ得る機械学習モデルに入力されてよい。ある例示において、グラウンドトゥルースデータは、センサーデータおよび/または属性データにラベル付けされてよい。ある例示において、グラウンドトゥルースデータは、合成センサーデータであってよい。上記のように、機械学習モデルは、誤差を最小限に抑えるために損失関数(例えば、L1、L2、softmaxなど)を用いることが可能である。このようなモデルは、線形またはロジスティック回帰のうちの1つまたは複数であってよく、またはそうでないこともある。
【0109】
本明細書で説明されるさまざまな技術は、コンピューター可読ストレージに格納されて、図面に図示されているような1つまたは複数のコンピューターまたは他のデバイスのプロセッサによって実行される、コンピューター実行可能な命令またはプログラムモジュールのようなソフトウェアのコンテキストにおいて実装されてよい。一般に、プログラムモジュールは、ルーティン、プログラム、オブジェクト、コンポーネント、およびデータ構造など含み、具体的なタスクを実行するために動作ロジックを定義するか、または具体的な抽象データ型を実装する。
【0110】
他のアーキテクチャは、説明される機能を実装することに用いられてよく、本開示の範囲内にあることが意図されている。さらに、責任の具体的な分配は、説明の目的のために上記に画定されているが、さまざまな機能および責任は、状況に応じて異なる方法で、分配および分割されてよい。同様に、ソフトウェアは、さまざまな方法および異なる手段を用いて、格納および分配されることが可能であり、上記で説明される具体的なソフトウェアストレージおよび実行形態は、多くの異なる方法で変更されることが可能である。それ故に、上記で説明される技術を実装するソフトウェアは、さまざまなタイプのコンピューター可読媒体に分配されることが可能であり、具体的に説明されるメモリの形態に限定されない。
【0111】
(例示的な条項)
A:システムは、1つまたは複数のプロセッサ、および実行される場合に、1つまたは複数のプロセッサに、自律車両のセンサーから、少なくとも部分的に環境を表現するセンサーデータを受信すること、環境において実行する自律車両に対する車線変更のアクションを決定すること、車線変更のアクションに関連付けられる対象車線に関連付けられるセンサーデータに表現されるオブジェクトを決定するということ、少なくとも部分的にセンサーデータに基づいて、環境におけるオブジェクトの存在を決定すること、少なくとも部分的にセンサーデータに基づいて、自律車両に関連付けられる第1のデータ、オブジェクトに関連付けられる第2のデータ、および自律車両とオブジェクトとの間の距離を含む属性データを決定すること、属性データを機械学習モデルへと入力すること、機械学習モデルから、オブジェクトが自律車両に譲歩する確率を示す譲歩スコアを受信すること、および少なくとも部分的に譲歩スコアに基づいて、自律車両に車線変更のアクションを実行させるように制御することを含む動作を実行させる、コンピューター実行可能な命令を格納する1つまたは複数の非一時的なコンピューター可読媒体を備える。
【0112】
B:段落Aに記載のシステムであって、属性データは、第1の時間に関連付けられる第1の属性データであり、距離は、第1の距離であり、動作は、第2の時間に関連付けられる第2の属性データを決定すること、第2の属性データは、自律車両に関連付けられる第3の速度データ、オブジェクトに関連付けられる第4の速度データ、および第2の時間で、自律車両とオブジェクトとの間の第2の距離を含み、および第2の属性データを機械学習モデルへと入力することをさらに含む。
【0113】
C:段落Bに記載のシステムであって、第2の属性データは、さらに、少なくとも部分的に車線変更の表示に基づいている。
【0114】
D:段落Aに記載のシステムであって、動作は、少なくとも部分的に譲歩スコアに基づいて、車線変更のアクションに関連付けられるコストを決定することをさらに含み、自律走行車を制御することは、少なくとも部分的にコストにさらに基づいている。
【0115】
E:段落Aに記載のシステムであって、オブジェクトは、さらなる車両、自転車運転者、バイク、またはトラックのうちの少なくとも1つに関連付けられる。
【0116】
F:方法は、車両のセンサーから、環境のセンサーデータを受信すること、少なくとも部分的にセンサーデータに基づいて、環境におけるオブジェクトの存在を決定すること、少なくとも部分的にセンサーデータに基づいて、属性データは、車両に関連付けられる第1の速度データ、オブジェクトに関連付けられる第2の速度データ、および車両とオブジェクトとの間の距離を含み、属性データを機械学習モデルへと入力すること、機械学習モデルから、オブジェクトに関連付けられる譲歩アクションの確率を示す譲歩スコアを受信すること、および少なくとも部分的に譲歩スコアに基づいて、車両を制御することを備える。
【0117】
G:段落Fに記載の方法であって、属性データは、第1の時間に関連付けられる第1の属性データであり、距離は、第1の距離であり、方法は、第2の時間に関連付けられる第2の属性データを決定すること、第2の属性データは、車両に関連付けられる第3の速度データ、オブジェクトに関連付けられる第4の速度データ、および車両とオブジェクトとの間の第2の距離を含み、および第2の属性データを機械学習モデルへと入力することをさらに備える。
【0118】
H:段落Gに記載の方法であって、車線変更の表示を実行するように車両を制御することをさらに備え、属性データを決定することは、少なくとも部分的に車線変更の表示に基づいている。
【0119】
I:段落Hに記載の方法であって、譲歩スコアは、譲歩スコアの閾値を満たすか、または上回るという決定をすることをさらに備え、車両を制御することは、少なくとも部分的に、譲歩スコアの閾値を満たすか、または上回る譲歩スコアに基づいている。
【0120】
J:段落Fに記載の方法であって、少なくとも部分的に譲歩スコアに基づいて、オブジェクトの予測されるモーションを示す予測されるモーションプロファイルを決定することをさらに備え、車両を制御することは、少なくとも部分的に、予測されるモーションプロファイルに基づいている。
【0121】
K:段落Jに記載の方法であって、少なくとも部分的に、予測されるモーションプロファイルに基づいて、車線変更のアクションを決定することをさらに含み、車両を制御することは、車線変更のアクションを実行するように車両を制御することを含み、オブジェクトは、車線変更のアクションの対象車線に配置されている。
【0122】
L:段落Fに記載の方法であって、譲歩スコアが譲歩スコアの閾値を下回っているという決定をすることであって、車両を制御することは、少なくとも部分的に、譲歩スコアが譲歩スコアの閾値を下回っていることに基づいて、車両が車線変更のアクションを実行することを控えることである。
【0123】
M:段落Fに記載の方法であって、機械学習モデルは、少なくとも部分的に、車線変更の成功を示す訓練の属性データおよびグラウンドトゥルースの属性データに基づいて訓練される。
【0124】
N: プロセッサによって実行可能である命令を格納する非一時的なコンピューター可読媒体であって、命令は、実行される場合に、プロセッサに、車両のセンサーから、環境のセンサーデータを受信すること、少なくとも部分的にセンサーデータに基づいて、環境におけるオブジェクトの存在を決定すること、少なくとも部分的にセンサーデータに基づいて、属性データを決定すること、属性データを機械学習モデルへと入力すること、機械学習モデルから、オブジェクトに関連付けられる譲歩アクションの確率を示す譲歩スコアを受信すること、および少なくとも部分的に譲歩スコアに基づいて、車両が環境を横断するように制御することを含む動作を実行させる。
【0125】
O:段落Nに記載の非一時的なコンピューター可読媒体であって、センサーデータは、シミュレーションされるセンサーデータを含み、環境がシミュレーションされる環境であり、車両がシミュレーションされる車両である。
【0126】
P:段落Nに記載の非一時的なコンピューター可読媒体であって、動作は、第2の時間に関連付けられる第2の属性データを決定すること、および第2の属性データを機械学習モデルへと入力することをさらに含む。
【0127】
Q:段落Pに記載の非一時的なコンピューター可読媒体であって、動作は、方向指示器を有効にすること、車両の速度を低下させること、車両の速度を増加させること、または車両と対象車線との間の距離を減少させるように車両を制御することのうちの少なくとも一つを含む車線変更の表示を実行するように車両を制御することをさらに含む。
【0128】
R:段落Nに記載の非一時的なコンピューター可読媒体であって、動作は、譲歩スコアが譲歩スコアの閾値を満たすか、または上回るという決定をすること、および少なくとも部分的に、譲歩スコアが譲歩スコアの閾値を満たすか、または上回るという決定をすることに基づいて、車線変更のアクションを決定することをさらに備え、車両を制御することは、車線変更のアクションを実行するように車両を制御することを含む。
【0129】
S:段落Nに記載の非一時的なコンピューター可読媒体であって、機械学習モデルは、少なくとも部分的に、グラウンドトゥルースデータに基づいて訓練されて、グラウンドトゥルースデータは、グラウンドトゥルースの属性データおよび車線変更の成功を示すグラウンドトゥルースの属性データに関連付けられるデータを含む。
【0130】
T:段落Nに記載の非一時的なコンピューター可読媒体であって、動作は、少なくとも部分的に譲歩スコアに基づいてオブジェクトの予測されるモーションを示す予測されるモーションプロファイルを決定することをさらに含み、車両を制御することは、少なくとも部分的に、予測されるモーションプロファイルにさらに基づいている。
【0131】
上記で説明される例示的な条項は、1つの具体的な実装に関して説明される一方で、本明細書の文脈において、例示的な条項の内容は、また、方法、デバイス、システム、コンピューター可読媒体、および/または別の実装を介して実施されることが可能であることを理解されたい。さらに、例示A~Tのいずれかは、単独で、または他の1つもしくは複数の例示A~Tと組み合わせて実装されてよい。
【0132】
(結論)
本明細書で説明される技術の1つまたは複数の例示が説明されてきた一方で、それらの例示の様々な変更形態、追加形態、置換形態、および均等形態が、本明細書で説明される技術範囲内に含まれる。
【0133】
例示の説明において、主張される特許の主題の具体的な例示を示す、本願の一部を形成する添付図面に対する参照が行われる。他の例示が用いられることが可能であること、および構造上の変更などの変更または変形が行われることが可能であることを理解されたい。このような例示、変更、または変形は、必ずしも、意図されて主張される主題の範囲からの逸脱ではない。本明細書で説明されるステップは、特定の順序で提示されることが可能である一方で、ある場合において、順序は、変更されることが可能であることにより、説明されるシステムおよび方法の機能を変更することなく、特定の入力が異なる時間で、または異なる順序で提供される。また、開示される手続きは、異なる順序で実行されることも可能である。さらに、本明細書におけるさまざまな算定は、開示される順序で実行される必要はなく、算定の代替の順序を用いる他の例示が容易に実装されることが可能である。順序変更されることに加えて、算定は、また、同一の結果を伴って部分的計算に分解されることが可能である。
図1
図2
図3
図4
図5
図6
図7