(57)【要約】ドライブエンベロープの決定が説明される。例にて、車両は、環境を進んでいる間、センサーデータを取り込むことが可能であり、センサーデータをコンピューティングシステム（複数可）に提供することが可能である。センサーデータは、環境中のエージェント（複数可）を示すことが可能であり、コンピューティングシステム（複数可）は、センサーデータに基づいて、エージェント（複数可）に関して環境を通るプランニングされたパスを決定することが可能である。さらに、コンピューティングシステム（複数可）は、エージェント（複数可）からプランニングされたパスまでの横方向の距離（複数可）を決定することも可能である。例にて、コンピューティングシステム（複数可）は、横方向の距離（複数可）とエージェントについての情報とに少なくとも部分的に基づいて、修正された距離（複数可）を決定することが可能である。コンピューティングシステムは、修正された距離（複数可）に基づいてドライブエンベロープを決定することが可能であり、ドライブエンベロープ中の軌道を決定することが可能である。
2021524410.tif 000002
【特許請求の範囲】
【請求項１】
車両であって、
前記車両に配置された１つまたは複数のセンサーと、
１つまたは複数のプロセッサーと、
前記１つまたは複数のプロセッサーによって実行されると、
前記１つまたは複数のセンサーのうちのセンサーからセンサーデータを受信し、前記センサーデータは、前記車両に近接する環境中のオブジェクトについての情報を含み、
前記環境を通る前記車両のプランニングされたパスを決定し、
前記プランニングされたパスと前記オブジェクトとの間の横方向の距離を決定し、
前記オブジェクトの分類を決定し、
前記横方向の距離と前記分類とに少なくとも部分的に基づいて、幅を決定し、
ドライブエンベロープを決定し、前記ドライブエンベロープは、前記車両が進むことが可能である前記プランニングされたパスに沿った前記環境の一部の境界を定義し、前記エンベロープの少なくとも一部は、前記プランニングされたパスから前記オブジェクトに向かって横方向に前記幅を広げる
ように前記車両を構成するプロセッサー実行可能な命令を格納するメモリーと
を備えたことを特徴とする車両。
【請求項２】
前記分類は、動かないオブジェクト、または車両の境界を含み、前記命令は、前記１つまたは複数のプロセッサーによって実行されると、
前記分類に基づいて、前記車両と前記オブジェクトとの間にて維持する最小距離を決定し、前記横方向の距離と前記幅との間の差異は、前記最小距離に少なくとも部分的に基づくように前記車両をさらに構成する
ことを特徴とする請求項１に記載の車両。
【請求項３】
前記分類は、車、自転車、オートバイ、または歩行者を含み、
前記命令は、前記１つまたは複数のプロセッサーによって実行されると、前記オブジェクトの動きに、または前記センサーに関連付けられた不確定性を決定するように前記車両をさらに構成し、
前記幅は、前記不確定性に少なくとも部分的に基づく
ことを特徴とする請求項１に記載の車両。
【請求項４】
前記命令は、前記１つまたは複数のプロセッサーによって実行されると、
前記ドライブエンベロープに少なくとも部分的に基づいて、軌道を決定し、前記軌道は、前記環境中の、および前記ドライブエンベロープ内の前記車両の動きを定義し、
前記軌道に従って前記環境を通って進むように前記車両を制御する
ように前記車両をさらに構成することを特徴とする請求項１に記載の車両。
【請求項５】
環境を通る車両のプランニングされたパスを決定するステップであって、前記プランニングされたパスは、起点にて始まり終点にて終わる、ステップと、
前記車両のセンサーから得られるセンサーデータに少なくとも部分的に基づいて、前記環境中のオブジェクトを検出するステップと、
前記プランニングされたパスに沿った複数の点を決定するステップと、
前記複数の点の各々から前記オブジェクトまでの横方向の距離を決定するステップと、
前記オブジェクトの分類を決定するステップと、
前記横方向の距離と前記分類とに少なくとも部分的に基づいて、１つまたは複数の幅を決定するステップと、
前記１つまたは複数の幅に少なくとも部分的に基づいて、前記環境を通るドライブエンベロープを決定するステップであって、前記ドライブエンベロープは、前記車両が進むことが可能である前記プランニングされたパスに沿った前記環境の一部を含む、ステップと
を備えることを特徴とする方法。
【請求項６】
前記分類に基づいて、前記車両と前記オブジェクトとの間にて維持する最小距離を決定するステップをさらに備え、
前記１つまたは複数の幅を決定するステップは、
前記横方向の距離と前記最小距離との間の差異が、車線の幅以上でないと決定するステップと、
前記差異を前記１つまたは複数の幅として決定するステップと
を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記分類は、車、自転車、オートバイ、または歩行者を含み、前記方法は、
前記環境中の前記オブジェクトの動きに、または前記センサーに関連付けられた複数の不確定性を決定するステップと、
前記複数の点に前記複数の不確定性を関連付けるステップと
をさらに備え、
前記複数の幅は、前記複数の不確定性に少なくとも部分的に基づく
ことを特徴とする請求項５に記載の方法。
【請求項８】
前記複数の不確定性は、前記オブジェクトに関連付けられた確率関数の共分散に少なくとも部分的に基づくことを特徴とする請求項７に記載の方法。
【請求項９】
前記オブジェクトの予測される動きを決定するステップと、
前記予測される動きに関連付けられた確率を決定するステップと
をさらに備え、
前記ドライブエンベロープを前記決定するステップは、前記予測される動きに関連付けられた前記確率に少なくとも部分的に基づく
ことを特徴とする請求項５に記載の方法。
【請求項１０】
前記プランニングされたパスは、第１のプランニングされたパスであり、前記ドライブエンベロープは、第１のドライブエンベロープであり、前記動作は、
前記第１のプランニングされたパスとは異なる第２のプランニングされたパスを決定するステップと、
前記車両が前記オブジェクトに衝突することなしに進むことが可能である前記第２のプランニングされたパスに沿った前記環境の第２の部分を含む第２のドライブエンベロープを決定するステップと、
好ましいドライブエンベロープとして前記第１のドライブエンベロープまたは前記第２のドライブエンベロープのうちの１つを選択するステップと、
前記好ましいドライブエンベロープに少なくとも部分的に基づいて、軌道を決定するステップであって、前記軌道は、前記環境中の、および前記好ましいドライブエンベロープ内の前記車両の離散的な動きを定義する、ステップと、
前記軌道に沿って前記環境を通って進むように前記車両を制御するステップと
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項１１】
前記複数の不確定性は、前記オブジェクトの動きに関連付けられ、
前記複数の不確定性を決定するステップは、間に合うように前記オブジェクトの確率モデルを伝播するステップを含む
ことを特徴とする請求項７に記載の方法。
【請求項１２】
レシーディングホライズンの技法に従って、および前記好ましいドライブエンベロープに少なくとも部分的に基づいて、複数の軌道を決定するステップであって、前記複数の軌道は、複数の信頼レベルに関連付けられる、ステップと、
前記軌道として、最も高い信頼レベルに関連付けられた前記複数の軌道のうちの軌道を選択するステップと
をさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１３】
前記複数の軌道を決定するステップは、コストとして前記好ましいドライブエンベロープにエンコードされた前記情報を使用する非線形最小二乗最適化または微分動的計画法を含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記分類は、車、歩行者、または自転車を含み、前記方法は、
前記分類に基づいて、安全マージンを決定するステップ
をさらに備えることを特徴とする請求項５に記載の方法。
【請求項１５】
前記距離と前記安全マージンとの間の差異を決定するステップと、
前記差異が前記第１の位置に関連付けられた車線の幅以上でないと決定するステップと、
前記差異を前記幅として決定するステップと
をさらに備えることを特徴とする請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ドライブエンベロープに関し、より詳細には、ドライブエンベロープを決定することに関する。
【背景技術】
【０００２】
本ＰＣＴ国際特許出願は、本明細書に参照により完全に組み入れられる開示、２０１８年３月１７日出願の米国特許出願第１５／９８２，６９４号の優先権の利益を主張する。
【０００３】
プランニングシステムは、環境中のエージェントに関連付けられた情報を利用して、エージェントに関する行動を決定する。例えば、いくつかの既存のプランニングシステムは、距離およびエージェントの行動を考慮して、環境を通るドライブパスを決定する。しかしながら、従来のモデルは、しばしば、より分割された進みを生じさせる、個々のエージェントの離散的な考慮に帰着している。例えば、従来のシステムは、環境の中を進む間の作動または反応を決定するときに、複数のエージェントを考慮しないことがあり、それによって、最適な効率および／または乗員の快適さおよび満足が、より少なくなる。
【０００４】
詳細な説明は、添付の図面を参照して説明される。図面において、参照符号の最も左の数字（複数可）は、参照符号が最初に現れる図面を特定する。別の図面における同一の参照符号の使用は、同様のまたはまったく同じのコンポーネントまたは特徴を示す。
【図面の簡単な説明】
【０００５】
【図１】本明細書に説明するような環境中のドライブエンベロープを生成することに関する例示的な実装を例示する概略的な図である。
【図２】本明細書に説明するようなドライブエンベロープを生成するための例示的なコンピューティングシステムを例示するブロック図である。
【図３】本明細書に説明するように環境を通る車両をナビゲートするための例示的な方法を例示するフローチャートである。
【図４】環境中のドライブエンベロープを生成するための例示的な方法を例示するテキストのおよび視覚的なフローチャートを含む。
【発明を実施するための形態】
【０００６】
本明細書に説明される技法は、車両が、環境の中を進むことが可能であるドライブエンベロープを決定することに向けられる。例えば、本明細書に説明される実装にて、ドライブエンベロープは、車両の環境および／または予測されるエージェントの行動において、複数の別々のエージェント（たとえば、限定されないが、歩行者、動物、サイクリスト、トラック、オートバイ、他の車両などを含む環境の動的な障害、限定されないが、道路標識、縁石、路面標示、物理的な車線の境界などを含む環境の静的な障害、および／または既知または未知であり得る他の障害）を考慮することによって構築されることがある。少なくとも一例にて、ドライブエンベロープは、一般に、車両が意図された目的地に効果的に到着するために、エージェントに関して、安全に進むことが可能である範囲内の制約および／または境界を定義する環境中の仮想な表現である。いくつかの例にて、ドライブエンベロープは、自律車両上のコンピューティングデバイス（複数可）によって決定され、コンピューティングデバイス（複数可）によって利用されて、環境において、自律車両をナビゲートことが可能である。すなわち、自律車両（複数可）に搭載されたコンピューティングデバイス（複数可）は、ドライブエンベロープの範囲に基づいて、軌道および／またはドライブパスを決定することが可能である。
【０００７】
非限定的な例として、自律車両のコンピューティングデバイスは、センサーデータを受信し、環境中の１つまたは複数のオブジェクトおよび／または環境中の１つまたは複数のオブジェクトの属性を決定することがある。いくつかの場合、自律車両は、オブジェクト（複数可）および／またはオブジェクト（複数可）の属性を利用して、どのオブジェクト（複数可）が、ドライブエンベロープに含まれるべきかを決定する、ドライブエンベロープの範囲を決定する、および／またはドライブエンベロープにおいて自律車両をナビゲートする軌道を決定することが可能である。
【０００８】
いくつかの実装にて、ドライブエンベロープは、環境中のいくつものエージェントのデータを融合するまたは含むことによって、決定されることがある。例えば、エージェントに関して、環境を通ってナビゲートする予測されるパスが、決定されることがある。パスに沿った離散点（または離散点におけるラインの線分）にて、次に、パスからエージェントまでの横方向の距離が決定されることがある。例えば、レイキャスティング（Ray casting）の技法を使用して、プランニングされたパスに沿った車両の姿勢に横方向の距離を決定することがある。エージェント（複数可）についての今述べた距離および情報に基づいて、次に、調整された距離が決定されることがある。例えば、エージェントについての意味情報を使用して、エージェントを分類し、関連付けられた安全係数（safety factor）または安全レベルを決定することがある。いくつかの場合、エージェントからの車両の最小のオフセット距離、または安全マージンは、各安全レベルに関連付けられることがある。さらに、エージェントについての確率情報を使用して、エージェントに関して、車両の安全レベルおよび／またはオフセット距離を決定することもある。たとえば、確率的なフィルタリングを距離の決定に適用して、たとえば、横方向の距離に関連付けられた不確定性を考慮に入れることがある。例えば、不確定性は、測定値に、たとえば、センサーおよび／またはセンサーコンポーネントのキャリブレーションおよび／またはトレランスに、感知されたエージェントの動き、たとえば、エージェントの可能性のある将来の動き、または動きを特徴付ける予測モデルに関連付けられた不確定性になど、関連付けられることがある。
【０００９】
いくつかの例において、ドライブエンベロープが確立されると、自律車両のコンピューティングデバイスは、ドライブエンベロープ内を進行するために１つまたは複数の軌道を決定することがある。したがって、例えば、ドライブエンベロープは、車両が進み得る領域の境界を定義することがあり、軌道は、車両が進むのに従うドライブエンベロープ内の離散的な線分であることがある。したがって、例えば、ドライブエンベロープが、環境を通るプランニングされたまたは予測されたパスを使用して計算されることがある一方、軌道は、ドライブエンベロープ内において、環境を通ってトラバースするために車両によって実行されるよう意図された、離散的な、より短い線分であることがある。
【００１０】
本明細書に説明される技法は、車両が、たとえば、自律車両などが、環境中のエージェントを迂回しながら、環境を通ってナビゲートするのを可能にするセンサーおよび認知データを活用することに向けられる。本明細書に説明される技法は、意味情報および／または確率情報を利用して、既存のナビゲーション技法より効率的なやり方において、車両がそれらのエージェントに関して進むことが可能である範囲内のドライブエンベロープを決定することが可能である。例えば、本明細書に説明される技法は、効率的な最適化のために、大量の複雑な環境データを単一の表現にエンコードすることがあるので、従来の技術より速いことがある。すなわち、本明細書に説明される技法は、既存の予測またはナビゲーション技術を超えた技術的な改善を提供する。センサーデータを使用して、ドライブエンベロープを決定することが可能である正確度を改善することに加えて、本明細書に説明される技法は、例えば、車両が、意図される目的地に到着するように動作し得る安全な領域を、より正確に決定することによって、よりスムーズな乗り物による移動を提供し、安全の結果を改善することが可能である。
【００１１】
図１〜４は、本明細書に説明される技法に関連付けられた追加の詳細を提供する。
【００１２】
図１は、本明細書に説明するような環境を通って進むためのドライブエンベロープを決定することに関する例示的な実装を例示する概略的な図である。より具体的には、図１は、車両１０２が置かれた例示的な環境１００を例示する。例示された例にて、車両１０２は、環境１００において、運転されているが、他の例にて、車両１０２は、環境１００において、動かないおよび／または駐車されていることがある。さらに、１つまたは複数のオブジェクトまたはエージェントも、環境１００にある。たとえば、図１は、環境１００において、追加の車両１０４ａ、１０４ｂおよび歩行者１０６ａ、１０６ｂを例示する。もちろん、追加としてまたは代替として、エージェントがいくらでもおよび／またはどんなタイプでも、環境１００において、与えられることが可能である。
【００１３】
例示の目的のために、車両１０２は、例えば、運転者（または乗員）がいかなる時点においても車両を制御することが期待されない、全行程にすべてのセーフティクリティカルの機能を実行する性能がある車両を記述する、米国連邦道路交通安全局によって発行されるレベル５分類に応じて、動作するように構成された自律車両であることが可能である。上記の例にて、車両１０２が、すべての駐車機能を含む、スタートからストップまでの全機能を制御するように構成されることが可能であるので、それは、占有されないことが可能である。今述べたことは、単に例であり、本明細書に説明されるシステムおよび方法は、常に運転者によって手動により制御される必要がある車両から、部分的にまたは完全に自律的に制御される車両までに及ぶ車両を含む、陸上輸送の、航空輸送の、または水上輸送のどんな車両にでも組み入れられることが可能である。車両１０２に関連付けられた追加の詳細は、以下に説明される。
【００１４】
図１の例にて、車両１０２は、１つまたは複数のセンサーシステム１０８に関連付けられることが可能である。センサーシステム（複数可）１０８は、車両１０２に関連付けられた車両コンピューティングデバイス（複数可）１１２によって利用されて、１つまたは複数のエージェント、たとえば、車両１０４および歩行者１０６を認識することが可能であるセンサーデータ１１０を生成することが可能である。センサーシステム（複数可）１０８は、限定しないが、ＬＩＤＡＲ（light detection and ranging）センサー、ＲＡＤＡＲ（radio detection and ranging）センサー、超音波トランスデューサー、ＳＯＮＡＲ（sound navigation and ranging）センサー、ロケーションセンサー（たとえば、ＧＰＳ（全地球測位システム）、方位磁針など）、慣性センサー（たとえば、慣性測定ユニット、加速度計、磁力計、ジャイロスコープなど）、カメラ（たとえば、ＲＧＢ、ＩＲ、強度、深度など）、ホイールエンコーダー、マイクロフォン、環境センサー（たとえば、温度センサー、湿度センサー、光センサー、圧力センサーなど）などを含むことが可能である。
【００１５】
少なくとも一例にて、車両コンピューティングデバイス（複数可）１１２は、センサーシステム（複数可）１０８から受信されるセンサーデータ１１０に少なくとも部分的に基づいて、エージェントの検出、分割、および／または分類を行うことが可能である認知システム（perception system）を含むことが可能である。たとえば、認知システムは、センサーシステム（複数可）１０８によって生成されたセンサーデータ１１０に基づいて、環境１００中の車両１０４ａ、１０４ｂ、および／または歩行者１０６ａ、１０６ｂを検出することが可能である。追加として、認知システムは、車両１０４ａ，１０４ｂおよび／または歩行者１０６ａ、１０６ｂの範囲（たとえば、高さ、重さ、長さなど）、車両１０４ａ，１０４ｂおよび／または歩行者１０６ａ、１０６ｂの姿勢（たとえば、ｘ座標、ｙ座標、ｚ座標、ピッチ、ロール、ヨー）などを決定することが可能である。連続的に、センサーシステム（複数可）１０８は、認知システム（および車両コンピューティングデバイス（複数可）１１２の他のシステム）によって利用されることが可能であるセンサーデータ１１０を（たとえば、ほぼリアルタイムにて）生成することが可能である。
【００１６】
さらに、車両コンピューティングデバイス（複数可）１１２は、本明細書にさらに説明するように、ドライブエンベロープ１１６を決定することが可能であるドライブエンベロープ決定システム１１４を含むことも可能である。ドライブエンベロープ１１６は、車両１０２が、たとえば、車両１０４ａ，１０４ｂおよび歩行者１０６ａ、１０６ｂを含むエージェントに関して、環境１００を通って安全に進むことが可能である環境１００の中の仮想領域であることがある。図１に例示し、本明細書にさらに説明するように、ドライブエンベロープ１１６は、仮想境界１１８によって定義されることがある。図１に例示される例示的なドライブエンベロープ１１６にて、ドライブエンベロープ１１６は、可変のエンベロープの幅１２０を、たとえば、車両１０２の幅または横方向に有することがある。（図１は、ドライブエンベロープ１１６の中の他の位置における他の幅と一緒に、まとめて、エンベロープの幅１２０といわれることがある、第１のエンベロープの幅１２０ａおよび第２のエンベロープの幅１２０ｂを例示する。）本明細書に説明するように、エンベロープの幅１２０を含む仮想境界１１８の属性は、センサーデータ１１０、および／または認知システムによってなされる決定に少なくとも部分的に基づいて、決定されることがある。例えば、いくつかの実装において、仮想境界１１８は、意味分類および／または確率モデルについての情報を含み得るエージェント情報１２２に基づいて、決定されることがある。少なくともいくつかの例において、仮想境界１１８は、情報（例えば、最も近いエージェントまでの横方向の距離、最も近いエージェントの意味分類など）によりエンコードされることがある。
【００１７】
さらに図１に例示するように、ドライブエンベロープ１１８が決定すると、さらに、車両コンピューティングデバイス（複数可）１１２は、車両１０２が環境１００を通って進み得るトラベルパス１２４を決定することもある。プランナーシステムは、車両１０２を制御するのに使用するルートおよび／または軌道を、センサーシステム（複数可）１０８から受信されるセンサーデータ１１０に、および／または認知システムによってなされるどんな決定にでも、少なくとも部分的に基づいて決定することが可能である。たとえば、プランニングシステムは、車両１０４ａ，１０４ｂおよび歩行者１０６ａ、１０６ｂに関して、環境を通って安全にナビゲートするルートを決定することが可能である。
【００１８】
より具体的には、図１は、車両１０２が環境１００を通って、一般に矢印１２６の方向に進んでいるシナリオを例示する。車両１０２は、第１の車線１３０および第２の車線１３２を有する道路１２８を進んでいる。車両１０２は、第２の車線１３０にあり、車両１０４ａの後ろであり、例にて、車両１０４ａより相対的に速く進んでいる。例えば、車両１０４ａは、左折するために、道路１２６の左側の公園と平行にするために、道路の左の路肩に乗客またはデリバリーを降ろすためになど、スピードを落としていることがある。本開示の例にて、車両１０２は、たとえば、ドライブエンベロープ決定システム１１４を実行することによって、ドライブエンベロープ１１６を、車両１０２が、スピードを落としている車両１０４ａの周りを安全にナビゲートすることが可能であるかどうかを決定することに対する前駆的なもの（precursor）として、決定することがある。より具体的には、車両コンピューティングデバイス（複数可）１１２は、センサーデータ１１０および／またはオブジェクト情報１２２を使用して、車両１０４ａ，車両１０４ｂ、歩行者１０６ａ、歩行者１０６ｂ、および／または追加のエージェントを含み得る、環境１００におけるエージェントについての情報を決定することがある。例えば、本明細書にさらに説明するように、車両コンピューティングデバイス（複数可）１１２は、ドライブエンベロープ決定システム１１４を使用して、オブジェクト情報１２２を含むエージェントの各々についての情報を融合して、または組み合わせて、ドライブエンベロープ１１６を構成することがある。次に、上記のドライブエンベロープ１１６を使用して、車両１０２が進み得る１つまたは複数の軌道を（たとえば、制約および／または境界を提供することによって）決定することがある。
【００１９】
さらに図１を参照して、ドライブエンベロープ１１６は、変化する幅、たとえば、第１の幅１２０ａおよび第２の幅１２０ｂを有することがあり、今述べた幅は、オブジェクト情報１２２に少なくとも部分的に基づいて決定される。例えば、矢印１２６によって例示される方向の車両１０２のすぐ前の位置において、一般に、幅１２０ａは、道路１２６の全幅に及ぶ。第１の車線１２８および第２の車線１３０の端において、路肩に関して、わずかなオフセットが提供されることがあるが、上記のオフセットは、他の実施態様にて除外されることがある。矢印１２４の方向にさらに道路１２６に沿って、ドライブエンベロープ１１６は、境界１１８が、ドライブエンベロープ１１６が右車線１３０の中に完全に閉じ込められるまで、左の路肩から徐々に離れるように、狭くなり始める。ドライブエンベロープ１１６が狭くなることは、車両１０４ａの存在および／または減速の結果である。さらにその上、車両１０４ａのすぐ近くで、ドライブエンベロープ１１６は、たとえば、車両１０４ａに関して、最小の横方向のオフセットを提供するために、さらに狭くすることがある。同様にして、ドライブエンベロープ１１６の右側のオフセットは、第１の歩行者１０６ａ、および道路１２６の右の路肩に駐車されている車両１０４ｂの最も近くに提供されることがある。いくつかの例において、さらに、上記のドライブエンベロープ１１６は、例えば、歩行者１０６ａなど、エージェントの予測される軌道に基づいて、決定されることもある。図１に描かれる非限定的な例のように、ドライブエンベロープ１１６は、歩行者１０６ａが進み１２６の方向に歩き続けるのを見越して、歩行者１０６ａの近くにわずかにくぼみをつける。上記のくぼみの長さは、例えば、車両１０２および歩行者１０６ａの速度に基づくことがある。
【００２０】
本明細書にさらに説明するように、ドライブエンベロープ１１６の幅１２０は、環境におけるエージェントについての情報の結果として変化する。したがって、例えば、オフセットは、車両１０４ａ、車両１０４ｂ、および歩行者１０６ａの最も近くに提供される。今までに述べたオフセットは、車両１０２がドライブエンベロープ１１６の中を進む際に、オブジェクトからの車両１０２の安全マージンまたは最小距離を提供するのに役立つことがある。いくつかの実装にて、オフセットおよび／または最小距離は、環境１００におけるエージェントの間において異なることがある。例えば、エージェントについての意味情報を使用して、適切なオフセットを決定することがある。したがって、図１にて、歩行者は、第１の分類に関連付けられることがあり、車両は、第２の分類に関連付けられることがある。第１の分類は、第２の分類が対応する最小のオフセットより大きい最小のオフセットに対応することがある。さらにその上、第２の分類内の車両は、車両１０４ｂの場合のように静的として、または車両１０４ａの場合のように動的として、さらに分類されることがある。動いている車両１０４ａに関して、オフセットは、例えば、駐車された車両１０４ｂに関連付けられたオフセットより大きいことがある。さらなる例において、さらに、または代替として、エージェントについての確率情報を使用して、オフセットを決定することもある。例えば、たとえば、歩行者１０６ａ、または車両１０４ａの運転者がコースを変えることがあるので、動いている歩行者１０６ａおよび／または動いている車両１０４ａの行動に関連付けられた不確定性があることがある。さらに、確率情報を使用して、たとえば、センサーシステム（複数可）１０８に関連付けられた、センサーの不正確さを考慮に入れることもある。
【００２１】
ドライブエンベロープ１１６は、従来のナビゲーション技法と比較されるとき、車両１０４ａの周りのより効率的なナビゲーションを可能にすることがある。従来のソリューションにて、例えば、車両１０２は、たとえば、車両１０２と車両１０４ａとの間の最小距離を維持するために、車両１０４ａに近づくにつれてスピードを落とすことがあり、停止する、またはしきい値の速さまでスピードを落とすときのみ、車両１０２は、車両１０４ａの周りの代替ルートを探し始めることがある。代替として、車両１０２は、車両１０４ａが曲がる、駐車する、動く、加速するなどまで、車線１３０においてアイドリングすることがある。しかしながら、本開示の実装において、ドライブエンベロープ１１６は、複数のエージェントを、オブジェクト情報１２２も同様に考慮して、環境１００に関するよりロバストな理解を提供する。今述べた理解は、意思決定を高める、および／または車両１０２が環境１００を通って進むとき、より効果的な効率的な制御を可能にすることがある。特定の図１に関して、上記の高められた意思決定は、車両が、車両１０４ａの後ろでスピードを落とす必要がなく、および／または追加の意思決定を待つことなく、ドライブパス１２４に沿ってトラバースすることができるようにすることがある。さらに、ドライブエンベロープ１１６は、パスの一部分を安全にナビゲートするために採用されることがある広範囲の可能な軌道に対する境界を提供する。上記の広範囲の安全な軌道を提供することによって、車両１０２は、シーンにおける全エージェントについての情報を組み入れる間じゅう、直ちにどんな危険性でも克服できる。
【００２２】
図１は、環境の中をナビゲートするドライブエンベロープを使用することに関する単一の例を例示する。さらに、無数の他の例も予想される。例えば、ドライブエンベロープを、どんな環境においても使用して、エージェントを、より良くナビゲートすることがある。
【００２３】
図２は、本明細書に説明されるようにドライブエンベロープを生成し、利用するための例示的なシステム２００を例示するブロック図である。少なくとも一例にて、システム２００は、図１を参照して上に説明された車両１０２と同一車両であることが可能である車両２０２を含むことが可能である。車両２０２は、１つまたは複数の車両コンピューティングデバイス２０４、１つまたは複数のセンサーシステム２０６、１つまたは複数のエミッター２０８、１つまたは複数の通信接続２１０、少なくとも１つの直接接続２１２、および１つまたは複数のドライブモジュール２１４を含むことが可能である。少なくとも一例にて、センサーシステム（複数可）２０６は、図１を参照して上に説明されたセンサーシステム（複数可）１０８に対応することが可能である。さらに、少なくとも一例にて、車両コンピューティングデバイス（複数可）２０４は、図１を参照して上に説明された車両コンピューティングデバイス（複数可）１１２に対応することが可能である。
【００２４】
車両コンピューティングデバイス（複数可）２０４は、プロセッサー（複数可）２１６と、プロセッサー（複数可）２１６に通信接続されたメモリー２１８とを含むことが可能である。例示された例にて、車両２０２は、自律車両であるが、しかしながら、車両２０２は、どんな他の種類の車両でも可能であろう。例示された例にて、車両コンピューティングデバイス（複数可）２０４のメモリー２１８は、ローカリゼーションシステム２２０、認知システム２２２、予測システム２２４、プランニングシステム２２６、ドライブエンベロープ決定システム２２８、および１つまたは複数のシステムコントローラー２３０を格納する。今述べたシステムおよびコンポーネントが、以下に説明するように、理解を容易にするために別々のコンポーネントとして例示されるが、種々のシステムおよびコントローラーの機能性は、述べられるのと異なっていると考えられることがある。非限定的な例として、認知システム２２４に属する機能性は、ローカリゼーションシステム２２０および／または予測システム２２４によって、実行されることがある。さらにその上、より少ないまたはより多いシステムおよびコンポーネントを利用して、本明細書に説明される種々の機能性を行うことがある。さらにその上、説明的な目的のためにメモリー２１８にあるように図２に描かれるが、追加としてまたは代替として、ローカリゼーションシステム２２０、認知システム２２２、予測システム２２４、プランニングシステム２２６、ドライブエンベロープ決定システム２２８、および／または１つまたは複数のシステムコントローラー２３０は、車両２０２にアクセス可能である（たとえば、車両２０２から遠く離れたメモリーに格納される、またはそうでなければ遠く離れたメモリーによってアクセス可能である）ことが可能であることが予想される。
【００２５】
さらに図２に例示するように、メモリー２１８は、１つまたは複数のマップを格納することがあるマップストレージ２３２、および／またはエージェント情報１２２を格納することがあるエージェント情報ストレージ２３２を含むことが可能である。マップは、例えば、限定しないが、トポロジー（例えば、交差点など）、街路、山脈、道路、地形、および一般に環境など、環境について情報を提供する能力がある２次元または３次元のモデル化されたいくつものデータ構造であることが可能である。本明細書にさらに述べるように、エージェント情報１２２は、限定するものではないが、センサーデータを解釈して、環境中のエージェントを分類する、またはそうでなければ理解するのに有用である情報を含むエージェントについてのどんな情報でもあり得る。
【００２６】
少なくとも一例にて、ローカリゼーションシステム２２０は、データをセンサーシステム（複数可）２０６から受信して、車両２０２の位置および／または向き（たとえば、１つまたは複数のｘ位置、ｙ位置、ｚ位置、ロール、ピッチ、またはヨー）を決定する機能性を含むことが可能である。例えば、ローカリゼーションシステム２２０は、（たとえば、マップストレージ２３２から）環境のマップを含む、および／または要求する／受信することが可能であり、マップ内の自律車両の位置および／または向きを連続的に決定することが可能である。いくつかの場合、ローカリゼーションシステム２２０は、ＳＬＡＭ（simultaneous localization and mapping）、ＣＬＡＭＳ（calibration, localization and mapping, simultaneously）、相対ＳＬＡＭ（relative SLAM）、バンドル調整、非線形最小二乗法最適化（non-linear least squares optimization）、微分動的計画法等を利用して、画像データ、ＬＩＤＡＲデータ、レーダーデータ、ＩＭＵデータ、ＧＰＳデータ、ホイールエンコーダーデータなどを受信して、自律車両のロケーションを正確に決定することが可能である。いくつかの場合、ローカリゼーションシステム２２０は、データを、車両２０２の種々のコンポーネントに提供して、環境の中を進むための候補の軌道を生成するために、自律車両の初期位置を決定することが可能である。
【００２７】
いくつかの場合、認知システム２２２は、オブジェクトの検出、分割、および／または分類を行う機能性を含むことが可能である。いくつかの例にて、認知システム２２２は、車両２０２に最も近いエージェント、例えば、車両１０４ａ、１０４ｂ、および／または歩行者１０６ａ、１０６ｂなどの存在を示す処理されたセンサーデータを提供することが可能である。さらに、認知システムは、エンティティの分類を、エンティティタイプ（たとえば、自動車、歩行者、サイクリスト、動物、建物、木、路面、縁石、歩道、不明など）として含むこともある。たとえば、認知システム２２２は、センサーデータを、エージェント情報データベース２３４のエージェント情報１２０と比較して、分類を決定することがある。追加および／または代替の例において、認知システム２２２は、検出されるエージェントおよび／またはエージェントが置かれる環境に関連付けられた１つまたは複数の特性を示す処理されたセンサーデータを提供することが可能である。いくつかの例において、エージェントに関連付けられた特性は、限定しないが、ｘ位置（グローバルおよび／またはローカルポジション）、ｙ位置（グローバルおよび／またはローカルポジション）、ｚ位置（グローバルおよび／またはローカルポジション）、向き（たとえば、ロール、ピッチ、ヨー）、エージェントタイプ（たとえば、分類）、エージェントの速度、エージェントの加速度、エージェントの範囲（大きさ）などを含むことが可能である。環境に関連付けられた特性は、限定しないが、環境における別のエージェントの存在、環境における別のエージェントの状態、時刻、曜日、季節、気象条件、闇／光のインディケーションなどを含むことが可能である。
【００２８】
予測システム２２４は、センサーシステム（複数可）２０６からのセンサーデータ、マップストレージ２３２からのマップデータ、およびいくつかの例にて、認知システム２２２から出力される認知データ（たとえば、処理されたセンサーデータ）にアクセスすることが可能である。少なくとも一例にて、予測システム２２４は、センサーデータ、マップデータ、および／または認知データに少なくとも部分的に基づいて、エージェントに関連付けられた特徴を決定することが可能である。上に説明したように、特徴は、エージェントの範囲（たとえば、高さ、重さ、長さなど）、エージェントの姿勢（たとえば、ｘ座標、ｙ座標、ｚ座標、ピッチ、ロール、ヨー）、エージェントの速度、エージェントの加速度、およびエージェントの進む方向（たとえば、進路）を含むことが可能である。さらにその上、予測システム２２４は、エージェントと、最も近い車線との距離、現在の車線の幅、横断歩道との近接度、意味特徴（複数可）、インタラクティブ特徴（複数可）などを決定するように構成されることがある。
【００２９】
予測システム２２４は、エージェントの特徴を解析して、エージェントの将来の行動を予測することが可能である。たとえば、予測システム２２４は、車線変更、減速、加速、ターン、方向転換などを予測することが可能である。予測システム２２４は、予測データをドライブエンベロープ決定システム２２８に送ることが可能であり、ドライブエンベロープ決定システム２２８が、予測データを利用して、ドライブエンベロープの境界を（たとえば、位置、速度、加速度に関する、加えてまたは代替としてエージェントの意味分類を有して、１つまたは複数の不確定性に基づいて）決定することが可能である。たとえば、予測データが、路肩に沿って歩く歩行者が不規則に振る舞っていることを示すならば、ドライブエンベロープ決定システム２２８は、歩行者に最も近いドライブエンベロープに関する増加したオフセットを決定することが可能である。車両２０２が自律的ではないいくつかの例にて、予測システム２２４は、進みに影響を及ぼし得る予測される出来事のインディケーション（たとえば、オーディオおよび／またはビジュアルのアラート）を運転者に提供することがある。
【００３０】
一般に、プランニングシステム２２６は、車両２０２が、環境を通ってトラバースするために従うパスを決定することが可能である。例えば、プランニングシステム２２６は、種々のルートおよび軌道および種々の詳細レベルを決定することが可能である。例えば、プランニングシステム２２６は、第１のロケーション（たとえば、現在のロケーション）から第２のロケーション（たとえば、目標のロケーション）まで進むルートを決定することが可能である。本議論の目的のために、ルートは、２つのロケーション間を進むためのウェイポイントのシーケンスであることが可能である。非限定的な例として、ウェイポイントは、街路、交差点、ＧＰＳ（全地球測位システム）座標などを含む。さらに、プランニングシステム２２６は、自律車両を、第１のロケーションから第２のロケーションまでの少なくとも一部分のルートに沿って、導くためのインストラクションを生成することが可能である。少なくとも一例にて、プランニングシステム２２６は、自律車両を、ウェイポイントのシーケンスにおける第１のウェイポイントから、ウェイポイントのシーケンスにおける第２のウェイポイントまで、どのように導くかを決定することが可能である。いくつかの例にて、インストラクションは、軌道、または軌道の一部分であることが可能である。いくつかの例にて、複数の軌道は、レシーディングホライズン（receding horizon）の技法に従って、実質的に同時に（たとえば、技術的な許容範囲内に）生成されることが可能であり、複数の軌道のうちの１つが、ナビゲートする車両２０２に対して選択される。したがって、本明細書に説明される例示的な実装において、プランニングシステム２２６は、車両がナビゲートすることが可能である軌道を、軌道がドライブエンベロープ内に含まれる状態で、生成することがある。
【００３１】
ドライブエンベロープ決定システム２２８は、例えば、ドライブエンベロープ１１６のようなドライブエンベロープを決定するように構成される。いくつかの例および実装にて、メモリー２１８において別々のブロックとして例示するが、ドライブエンベロープ決定システム２２８は、プランニングシステム２２６の一部であり得る。ドライブエンベロープ決定システム２２８は、センサーシステム（複数可）２０６からのセンサーデータ、マップストレージ２３２からのマップデータ、エージェント情報ストア２３４からのエージェント情報、１つまたは複数のローカリゼーションシステム２２０、認知システム２２２、および／または予測システム２２４からの出力（たとえば、処理されたデータ）にアクセスすることが可能である。非限定的な例として、ドライブエンベロープ決定システム２２８は、１つまたは複数のプランニングされたパスにアクセスする（たとえば、検索するまたは受信する）ことがある。プランニングされたパスは、環境をナビゲートする可能性のあるパスを表すことがあり、例えば、マップデータ、エージェント情報、および／または認知データに基づいて決定されることがある。いくつかの例において、プランニングされたパスは、ミッションを実行するために候補のパスとして決定されることがある。たとえば、車両コンピューティングデバイス（複数可）２０４は、目的地への最高レベルのナビゲーション、たとえば、目的地にナビゲートのために一連の道路として、ミッションを定義する、または決定することがある。ミッションが決定されると、次に、高レベルのナビゲーションを実行するために１つまたは複数の作動が、決定されることがある。作動は、どのようにミッションを実行するかに関して、より頻繁な決定を含むことがある。例えば、作動は、「車両を追従する」、「右側にて車両を追い越す」などのようなタスクを含むことがある。いくつかの例において、本明細書に説明されるプロジェクトされたパスは、各作動に対して決定されることがある。
【００３２】
プランニングされたパス（複数可）に対して、ドライブエンベロープ決定システム２２８は、プランニングされたパス（複数可）に沿う離散点において、環境におけるパスからエージェントまでの横方向の距離を決定することがある。例えば、距離は、認知システム２２２によって生成される認知データとして受信されることがあり、ならびに／または例えば、レイキャスティングの技法など、数学的なおよび／もしくはコンピュータービジョンのモデルを使用して、決定されることがある。次に、種々の横方向の距離を調整して、他の要因を考慮に入れることがある。例えば、環境において、車両２０２とエージェントとの間の最小距離を維持することが望ましいことがある。本開示の実装にて、意味分類を含むエージェントについての情報は、今述べた距離の調整を決定するのに使用されることがある。さらにその上、予測システム２２４は、エージェントの予測される移動について予測データを提供することもあり、さらに、距離は、今述べた予測に基づいて調整されることがある。例えば、予測データは、信頼スコアを含むことがあり、横方向の距離は、信頼スコアに基づいて、たとえば、より弱い確信の予測に対して、より多大な調整をし、より強い確信の予測に対して、より少ない調整を行うまたは調整しないことによって、調整されることがある。調整された距離を使用して、ドライブエンベロープ決定システム２２８は、ドライブエンベロープの境界を定義することがある。少なくともいくつかの例にて、境界は、（たとえば、１０ｃｍ、５０ｃｍ、１ｍなど毎に）離散化されることがあり、境界に関する情報（たとえば、最も近いエージェントまでの横方向の距離、最も近いエージェントの意味分類、境界に関連付けられた信頼および／または確率のスコアなど）は、エンコードされることがある。本明細書に説明するように、プランニングシステム２２４によって決定される軌道は、ドライブエンベロープの中に、ドライブエンベロープによっておよび従って、閉じ込められることがある。ドライブエンベロープ決定システム２２８が、プランニングシステム２２６から分離して例示されるが、ドライブエンベロープシステム２２８の１つまたは複数の機能性は、プランニングシステム２２６によって実行されることがある。いくつかの態様にて、ドライブエンベロープ決定システム２２８は、プランニングシステム２２６の一部であり得る。
【００３３】
少なくとも一例にて、ローカリゼーションシステム２２０、認知システム２２２、予測システム２２４、プランニングシステム２２６、および／またはドライブエンベロープ決定システム２２８は、上に説明したように、センサーデータを処理することが可能であり、それぞれの出力を、ネットワーク（複数可）２３６を介して、コンピューティングデバイス（複数可）２３８に送ることが可能である。少なくとも一例にて、ローカリゼーションシステム２２０、認知システム２２２、予測システム２２４、および／またはプランニングシステム２２６は、それらのそれぞれの出力を、特定の周波数において、予め決められた時間が経つと、ほぼリアルタイムにおいてなど、コンピューティングデバイス（複数可）２３８に送ることが可能である。
【００３４】
少なくとも一例にて、車両コンピューティングデバイス（複数可）２０４は、車両２０２の操舵、推進、制動、安全、エミッター、通信、および他のシステムを制御するように構成されることが可能である１つまたは複数のシステムコントローラー２３０を含むことが可能である。今述べたシステムコントローラー（複数可）２３０は、車両２０２のドライブモジュール（複数可）２１４および／または他のコンポーネントの対応するシステムに対して通信するおよび／または制御することが可能である。例えば、システムコントローラー２３０は、車両に、たとえば、ドライブエンベロープ決定システム２２８によって決定されるドライブエンベロープ１１６において、プランニングシステム２２６によって決定されるドライブパスに沿ってトラバースさせることがある。
【００３５】
少なくとも一例にて、センサーシステム（複数可）２０６は、ＬＩＤＡＲセンサー、ＲＡＤＡＲセンサー、超音波トランスデューサー、ＳＯＮＡＲセンサー、ロケーションセンサー（たとえば、ＧＰＳ、方位磁針など）、慣性センサー（たとえば、慣性測定ユニット、加速度計、磁力計、ジャイロスコープなど）、カメラ（たとえば、ＲＧＢ、ＵＶ、ＩＲ、強度、深度など）、マイクロフォン、ホイールエンコーダー、環境センサー（たとえば、温度センサー、湿度センサー、光センサー、圧力センサーなど）などを含むことが可能である。センサーシステム（複数可）３０６は、今述べたまたは他の種類のセンサーの各々に関する複数のインスタンスを含むことが可能である。たとえば、ＬＩＤＡＲセンサーは、車両２０２の角、前面、後面、側面、および／または上面に位置される個々のＬＩＤＡＲセンサーを含むことが可能である。別の例として、カメラセンサーは、車両２０２の外部および／または内部のあちこちに、種々のロケーションに配置された複数のカメラを含むことが可能である。センサーシステム（複数可）２０６は、入力を、車両コンピューティングデバイス（複数可）２０４に提供することが可能である。追加としてまたは代替として、センサーシステム（複数可）３０６は、ネットワーク（複数可）２３６を介して、センサーデータを、特定の周波数において、予め決められた時間が経つと、ほぼリアルタイムにおいてなど、コンピューティングデバイス（複数可）２３８に送ることが可能である。
【００３６】
さらに、車両２０２は、光および／または音を発するための１つまたは複数のエミッター２０８を含むことも可能である。今述べた例におけるエミッター（複数可）２０８は、車両２０２の乗客と通信する内部のオーディオおよびビジュアルのエミッターを含む。例としておよび限定でないものとして、内部のエミッターは、スピーカー、ライト、サイン、ディスプレイスクリーン、タッチスクリーン、触覚に関するエミッター（例えば、振動および／またはフォースフィードバック）、メカニカルアクチュエーター（たとえば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど）などを含むことが可能である。さらに、今述べた例におけるエミッター（複数可）２０８は、外部のエミッターも含む。例としておよび限定でないものとして、今述べた例における外部のエミッターは、歩行者、他の運転者、他の近くの車両などと視覚的に通信するライトエミッター（たとえば、インジケーターライト、サイン、ライトアレイなど）、歩行者、他の運転者、または他の近くの車両などと可聴的に通信する１つまたは複数のオーディオエミッター（たとえば、スピーカー、スピーカーアレイ、ホーンなど）などを含む。少なくとも一例にて、エミッター（複数可）２０８は、車両２０２の外部および／または内部のあちこちに、種々のロケーションに配置されることが可能である。
【００３７】
さらに、車両２０２は、車両２０２と、他のローカルまたはリモートのコンピューティングデバイス（複数可）との間の通信を可能にする通信接続（複数可）２１０を含むことも可能である。たとえば、通信接続（複数可）２１０は、車両２０２上の他のローカルコンピューティングデバイス（複数可）との、および／またはドライブモジュール（複数可）２１４との通信を容易にすることが可能である。更に、通信接続（複数可）３１０は、車両が、他の近くのコンピュータデバイス（複数可）（たとえば、他の近くの車両、交通信号機など）と通信できるようにすることも可能である。さらに、通信接続（複数可）２１０は、車両２０２が、リモート遠隔操作コンピューティングデバイス、または他のリモートサービスと通信するのを可能にもする。
【００３８】
通信接続（複数可）２１０は、車両コンピューティングデバイス（複数可）２０４を、別のコンピューティングデバイスに、または例えば、ネットワーク（複数可）２３２などのネットワークに接続するための物理および／または論理インターフェイスを含むことが可能である。例えば、通信接続（複数可）２１０は、例えば、ＩＥＥＥ８０２．１１規格によって定義された周波数、ＢＬＵＥＴＯＯＴＨ（商標登録）などのようなショートレンジの無線周波数、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイス（複数可）とインターフェイスできるようにするどんな適切な有線または無線の通信プロトコルでも介してなど、Ｗｉ−Ｆｉベースの通信を可能にすることが可能である。
【００３９】
少なくとも一例にて、車両２０２は、ドライブモジュール（複数可）２１４を含むことが可能である。いくつかの例にて、車両２０２は、単一のドライブモジュール２１４を有することが可能である。少なくとも一例にて、車両２０２が複数のドライブモジュール２１４を有するならば、個々のドライブモジュール２１４は、車両２０２の向き合う端部（たとえば、前方および後方など）に置かれることが可能である。少なくとも一例にて、ドライブモジュール（複数可）２１４は、ドライブモジュール（複数可）２１４の状態を、および／または車両２０２の周囲の状態を検出するセンサーシステム（複数可）を含むことが可能である。例としておよび限定でないものとして、センサーシステム（複数可）２０６は、ドライブモジュールの車輪の回転を感知するホイールエンコーダー（複数可）（たとえば、ロータリーエンコーダー）、ドライブモジュールの位置および加速度を測定する慣性センサー（たとえば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など）、カメラまたは他の画像センサー、ドライブモジュールの周囲のオブジェクトを聴覚的に検出する超音波センサー、ＬＩＤＡＲセンサー、ＲＡＤＡＲセンサーなどを含むことが可能である。いくつかのセンサー、例えば、ホイールエンコーダー（複数可）などは、ドライブモジュール（複数可）２１４に一意的であることが可能である。いくつかの場合、ドライブモジュール（複数可）２１４上のセンサーシステム（複数可）は、車両２０２の対応するシステム（たとえば、センサーシステム（複数可）２０６）に対して重ねる、または補うことが可能である。
【００４０】
ドライブモジュール（複数可）２１４は、高電圧バッテリー、車両２０２を推進するモーター、他の車両システムによる使用のためにバッテリーからの直流を交流に変換するインバーター、（電気で動くことが可能である）ステアリングモーターおよびステアリングラックを含むステアリングシステム、油圧または電気アクチュエーターを含むブレーキングシステム、油圧および／または空気圧コンポーネントを含むサスペンションシステム、けん引のロスを軽減し制御を維持するブレーキ力を分配するための安全制御システム、ＨＶＡＣシステム、ライティング（たとえば、車両の外部の周囲を照らすヘッド／テールライトなどのようなライティング）、および１つまたは複数の他のシステム（たとえば、冷却システム、安全システム、オンボード充電システム、例えば、ＤＣ／ＤＣコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどの他の電気コンポーネント）を含む、多くの車両システムを含むことが可能である。追加として、ドライブモジュール（複数可）２１４は、センサーシステム（複数可）からのデータを受信し前処理することが可能であり、種々の車両システムの動作を制御するためのドライブモジュールコントローラーを含むことが可能である。いくつかの例にて、ドライブモジュールコントローラーは、プロセッサー（複数可）と、プロセッサー（複数可）に通信接続されたメモリーとを含むことが可能である。メモリーは、ドライブモジュール（複数可）２１４の種々の機能性を行う１つまたは複数のモジュールを格納することが可能である。さらにその上、ドライブモジュール（複数可）２１４は、それぞれのドライブモジュールによる他のローカルまたはリモートのコンピューティングデバイス（複数可）との通信を可能にする通信接続（複数可）を含むことも可能である。
【００４１】
上に説明したように、車両２０２は、センサーデータを、ネットワーク（複数可）２３６を介してコンピューティングデバイス（複数可）２３８に送ることが可能である。いくつかの例にて、車両２０２は、生のセンサーデータを、コンピューティングデバイス（複数可）２３６に送ることが可能である。他の例にて、車両２０２は、コンピューティングデバイス（複数可）２３８に、処理されたセンサーデータ、および／またはセンサーデータの表現（たとえば、ローカリゼーションシステム２２０、認知システム２２２、予測システム２２４、および／またはプランニングシステム２２６から出力されるデータ）を送ることが可能である。いくつかの例にて、車両２０２は、センサーデータを、特定の周波数において、予め決められた時間が経つと、ほぼリアルタイムにおいてなど、コンピューティングデバイス（複数可）２３８に送ることが可能である。
【００４２】
コンピューティングデバイス（複数可）２３８は、（生のまたは処理された）センサーデータを、車両２０２および／または１つまたは複数の他の車両および／またはデータ収集デバイスから受信することが可能であり、センサーデータおよび他の情報に基づいてドライブエンベロープを決定することが可能である。少なくとも一例にて、コンピューティングデバイス（複数可）２３８は、プロセッサー（複数可）２４０と、プロセッサー（複数可）２４０に通信接続されたメモリー２４２とを含むことが可能である。例示される例にて、コンピューティングデバイス（複数可）２３８のメモリー２４２は、例えば、オブジェクト情報ストレージ２４６を含むことが可能であるドライブエンベロープ決定コンポーネント２４４を格納する。少なくとも一例にて、エージェント情報ストレージ２４６は、エージェント情報ストレージ２３０および／またはエージェント情報ストレージ１２２に対応することが可能である。
【００４３】
ドライブエンベロープ決定コンポーネント２４４は、上に説明されたドライブエンベロープ決定システム２２８に対応することがある。例えば、ドライブエンベロープ決定コンポーネント２４４は、データを処理して、車両から遠く離れたドライブエンベロープを決定することがある。例えば、ドライブエンベロープ（または複数のドライブエンベロープからの好ましいドライブエンベロープ）は、コンピューティングデバイス（複数可）２３８において決定され、たとえば、ネットワーク２３６を介して車両２０２に戻されることがある。さらにその上、ドライブエンベロープ決定コンポーネント２４４は、上に説明されたような１つまたは複数の動作を行い、ローカリゼーションシステム２２０、認知システム２２２、予測システム２２４、および／またはプランニングシステム２２６に属すると考えられることが可能である。少なくとも一例にて、ドライブエンベロープ決定コンポーネント２４４は、環境中のエージェントの属性を決定するセンサーデータを解析して、上記のエージェント（複数可）が、（１）ドライブエンベロープに含まれるべきかどうかを決定し、（２）ドライブエンベロープの境界を構成することが可能である。例えば、ドライブエンベロープ決定コンポーネント２４４は、エージェントについての情報を、たとえば、エージェント情報ストレージ２４６に格納された分類情報と比較して、エージェントが車両によって衝突されるかどうか、エージェント（またはエージェントの予測される動き）が車両に影響を与えるかどうか、および／またはエージェントがドライブエンベロープに影響を与えるはずの範囲を決定することがある。
【００４４】
さらに、または代替として、ドライブエンベロープ決定コンポーネント２４４は、特徴付けられたドライブエンベロープに対して、エージェントの特徴を考慮することもある。特徴は、エージェントの範囲（たとえば、高さ、重さ、長さなど）、エージェントの姿勢（たとえば、ｘ座標、ｙ座標、ｚ座標、ピッチ、ロール、ヨー）、エージェントの速度、エージェントの加速度、エージェントの進む方向（たとえば、進路）、エージェントと、最も近い車線との距離、エージェントの意味分類（車、歩行者、自転車運転者など）、現在の車線の幅、横断歩道との近接度、意味特徴（複数可）、インタラクティブ特徴（複数可）などを含むことが可能である。いくつかの例にて、少なくともいくつかの特徴（たとえば、範囲、姿勢など）は、センサーデータ源（たとえば、車両２０２および／または他の車両（複数可）および／またはデータ収集デバイス（複数可））に搭載された認知システムによって決定されることが可能であり、他の特徴は、上記の特徴、および／または他のセンサーデータ、および／または環境のマップに関連付けられたマップデータに基づいて決定されることが可能である。いくつかの例にて、サンプルは、１つまたは複数のより短い時間に割られることが可能であり、特徴は、より短い時間の各々に対して、決定されることが可能である。サンプルに対する特徴は、より短い時間の各々からの特徴の全体に基づいて決定されることが可能である。
【００４５】
車両２０２のプロセッサー（複数可）２１６およびコンピューティングデバイス（複数可）２３６のプロセッサー（複数可）２４０は、本明細書に説明されるように、データを処理し、動作を行う命令を実行する性能があるどんな適切なプロセッサーでもあることが可能である。例としておよび限定でないものとして、プロセッサー（複数可）２１６および２３６は、１つまたは複数のＣＰＵ（中央処理装置）、ＧＰＵ（Graphics Processing Unit）、または電子データを処理して、その電子データを、レジスターおよび／もしくはメモリーに格納されることが可能である他の電子データに変換するどんな他のデバイスもしくはデバイスの部分でも含むことが可能である。いくつかの例において、さらに、集積回路（たとえば、ＡＳＩＣなど）、ゲートアレイ（たとえば、ＦＰＧＡなど）、および他のハードウェアデバイスは、エンコードされた命令を実装するように構成される限り、考慮されるプロセッサーであることも可能である。
【００４６】
メモリー２１８および２４２は、非一時的なコンピューター読み取り可能な媒体の例である。メモリー２１８および２４２は、本明細書に説明される方法と、種々のシステムに帰する機能とを実装するためのオペレーティングシステムおよび１つまたは複数のソフトウェアアプリケーション、命令、プログラム、および／またはデータを格納することが可能である。種々の実装において、メモリーは、どんな適切なメモリー技術でも、例えば、ＳＲＡＭ（スタティックＲＡＭ）、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）、不揮発性／フラッシュ型メモリー、または情報を格納する性能があるどんな他のタイプのメモリーでも使用して、実装されることが可能である。本明細書に説明されるアーキテクチャー、システム、および個々の要素は、多くの他の論理的な、プログラム的な、および物理的なコンポーネントを含むことが可能であり、添付の図面に示されるそれらは、本明細書の議論に関係する単なる例である。
【００４７】
図２が分散システムとして例示される一方、代替の例において、車両２０２のコンポーネントは、コンピューティングデバイス（複数可）２３６に関連付けられることが可能であり、および／またはコンピューティングデバイス（複数可）２３６のコンポーネントは、車両２０２に関連付けられることが可能であることに注意すべきである。すなわち、車両２０２は、コンピューティングデバイス（複数可）２３６に関連付けられた１つまたは複数の機能を行い、逆もまた同様であることが可能である。さらにその上、種々のシステムおよびコンポーネントが離散的なシステムであるとして例示されるが、例示は、例にしか過ぎず、より多いまたはより少ない離散的なシステムが、本明細書に説明される種々の機能を行うことがある。
【００４８】
図３および４は、本明細書に説明されるようなドライブエンベロープの決定を含む例示的な方法を示すフローチャートである。具体的には、図３は、環境中のオブジェクトを使用して、ドライブエンベロープを作成し、ドライブエンベロープを使用して、環境を通る軌道を決定し、たとえば、車両が、軌道に沿って環境を通って進むことが可能である方法３００を例示する。図４は、より詳細に、ドライブエンベロープの決定を説明し例示する方法４００を例示する。図３および４に例示される方法は、便利なように、および理解を容易にするために、図１および２に示される車両１０２および／または２０２を参照して、説明される。しかしながら、図３および４に例示される方法は、車両１０２、２０２を使用して行われることに限定されず、本出願に説明されるその他の車両のどれでも、本明細書に説明される以外の車両も同様に、実装されることが可能である。さらにその上、本明細書に説明される車両１０２、２０２は、図３および４に例示される方法を行うことに限定されない。
【００４９】
方法３００、４００は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実装されることが可能である動作のシーケンスを表す、ロジカルフローグラフにおけるブロックの集まりとして例示される。ソフトウェアの文脈において、ブロックは、プロセッサー（複数可）によって実行されると、引用される動作を行う、１つまたは複数のコンピューター読み取り可能な記録媒体に格納されたコンピューター実行可能な命令を表す。一般に、コンピューター実行可能な命令は、特定の機能を実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図せず、プロセスを実装するために、説明されるブロックをいくつでも、どんな順序でもおよび／または並列に組み合わされることが可能である。いくつかの態様にて、プロセスの１つまたは複数のブロックは、完全に省略されることが可能である。さらにその上、方法３００、４００は、全体的にまたは部分的に、互いとまたは他の方法と組み合わされることが可能である。
【００５０】
図３は、本明細書に説明するように、ドライブエンベロープを使用して環境の中を進むための例示的な方法３００を例示するフローチャートである。
【００５１】
ブロック３０２は、環境に関連付けられたセンサーデータを受信することを例示する。上に説明したように、車両２０２は、センサーシステム（複数可）２０６を含むことが可能である。少なくとも一例にて、センサーシステム（複数可）２０６は、ＬＩＤＡＲセンサー、ＲＡＤＡＲセンサー、超音波トランスデューサー、ＳＯＮＡＲセンサー、ロケーションセンサー（たとえば、ＧＰＳ、方位磁針など）、慣性センサー（たとえば、慣性測定ユニット、加速度計、磁力計、ジャイロスコープなど）、カメラ（たとえば、ＲＧＢ、ＩＲ、強度、深度など）、マイクロフォン、ホイールエンコーダー、環境センサー（たとえば、温度センサー、湿度センサー、光センサー、圧力センサーなど）などを含むことが可能である。センサーシステム（複数可）２０６は、入力を、車両コンピューティングデバイス（複数可）２０４に提供することが可能であり、車両コンピューティングデバイス（複数可）２０４の１つまたは複数のシステムは、入力を利用することが可能である。たとえば、少なくとも一例にて、車両コンピューティングデバイス（複数可）２０４は、ローカリゼーションシステム２２０、認知システム２２２、予測システム２２４、プランニングシステム２２６、および／またはドライブエンベロープ決定システム２２８によって処理するために、入力を受信することが可能である。
【００５２】
上に説明したように、少なくとも一例にて、車両２０２は、センサーデータを、ネットワーク（複数可）２３６を介してコンピューティングデバイス（複数可）２３８に送ることが可能である。いくつかの例にて、車両２０２は、生のセンサーデータを、コンピューティングデバイス（複数可）２３８に送ることが可能である。他の例にて、車両２０２は、コンピューティングデバイス（複数可）２３８に、処理されたセンサーデータ、および／またはセンサーデータの表現（たとえば、ローカリゼーションシステム２２０、認知システム２２２、予測システム２２４、および／またはプランニングシステム２２６から出力されるデータ）を送ることが可能である。いくつかの例にて、車両２０２は、センサーデータを、特定の周波数において、予め決められた時間が経つと、ほぼリアルタイムにおいてなど、コンピューティングデバイス（複数可）２３８に送ることが可能である。時間にわたって収集されるセンサーデータは、ログデータに対応することが可能である。
【００５３】
ブロック３０４は、環境における複数のオブジェクトを決定することを例示する。例えば、上に説明されたように、いくつものエージェントが、自律車両が進んでいる環境の中に存在することがある。図１において、エージェントは、車両１０４ａ、１０４ｂ、および歩行者１０６ａ、１０６ｂを含むことがある。ブロック３０２において受信されたセンサーデータに基づいて、車両コンピューティングデバイス２０４は、たとえば、画像処理、視覚検出、分類および／または分割、ＬＩＤＡＲ検出、分割、および／または分類、および／または他のプロセスを介して、エージェントを認識することがある。本明細書に述べられる例示的なエージェントに加えて、さらに、ブロック３０４は、環境についての追加の詳細、および／または環境中の追加の特徴を決定することもある。
【００５４】
ブロック３０６は、オブジェクトの各々についての情報を決定することを例示する。例えば、オブジェクトの各々についての情報は、上に説明したように、限定されないがオブジェクトの範囲（たとえば、高さ、重量、長さなど）を含む、オブジェクトに関連付けられた物理的な特徴、オブジェクトの姿勢（たとえば、ｘ座標、ｙ座標、ｚ座標、ピッチ、ロール、ヨー）、オブジェクトの速度、オブジェクトの加速度、オブジェクトの進む方向（たとえば、進路）、意味分類などを含むことがある。追加としてまたは代替として、上記の特徴は、センサーに関する向き（たとえば、どの方向が歩行者の方に向いているか）、マップ特徴までの距離（たとえば、横断歩道の始まり、横断歩道の終わり、横断歩道の端、交差地点の始まり、交差地点の終わり、交差地点の端など）、意味特徴（たとえば、横断歩道の標識、信号機など）、目的を行う実現可能性（たとえば、横断歩道の横断能力など）などを含むことが可能である。いくつかの例にて、ローカリゼーションシステム、プランナーシステム、予測システム、および／または認知システムのうちの１つまたは複数からのデータを、ブロック３０６において使用して、特徴を決定することがある。さらに、特徴は、予測されるエージェント（複数可）の軌道および／または作動のコースを含むこともある。少なくとも一例にて、車両は、センサーデータおよび／またはマップデータを解析して、エージェントに関連付けられた出来事（たとえば、割り込みの出来事、横断歩道の出来事など）を決定することがある。
【００５５】
ブロック３０８は、ドライブエンベロープを決定することを例示する。例えば、本明細書に説明するように、ドライブエンベロープは、車両がオブジェクトに比して進み得る環境の仮想的な部分を表すことがある。図４は、ドライブエンベロープを決定するための例示的な作動を例示し、以下に、より詳細に説明される。
【００５６】
さらに、ブロック３１０、２１２、および３１４は、ブロック３０８においてドライブエンベロープを決定するために実行される作動の実例であることもある。より具体的には、ブロック３１０は、オブジェクトの各々を、ドライブエンベロープに含むかどうかを決定することを例示する。例えば、オブジェクトの情報に基づいて、車両は、あるオブジェクトが、車両に影響がなさそうであると決定することがあり、したがって、ブロック３１０において、ドライブエンベロープから除外されることがある。例えば、エージェントは、車両２０２に比したエージェントの位置に基づいて、車両の速度に比したエージェントの速度に基づいて、除外されることがある。図１の特定の例にて、ブロック３０８は、歩行者１０６ｂが、車両１０２ｂに比した歩行者１０６ｂの位置および／または速さのために、ドライブエンベロープの決定から除外されるべきであると決定することがある。追加の例にて、進む方向の車両の前にあるエージェントは、例えば、しきい値距離を越えている、および／または比較的、より高い速度であると決定されるならば、考慮から除外されることがある。
【００５７】
他の例にて、エージェントの予測される動きを使用して、エージェントが含まれるべきか除外されるべきかどうかを決定することがある。非限定的な例として、隣接した車線のエージェントが、車両の前に割り込みそうであると決定されるとき、エージェントは、たとえば、行動が、車両の動作に影響を与える、および／またはもしかすると邪魔をするので、追加の処理により考慮されることがある。上記の例示的な実装にて、より高い次数の計算および処理を使用することを含んで、個々にエージェントを考慮することが望ましいことがある。同様にして、制御される車両の操縦は、エージェントをドライブエンベロープの決定に含むかどうかを決定するとき、考慮されることがある。例えば、ある操縦は、エージェントによる作動が必要である、たとえば、エージェントは、車両が操縦できるようにするために、コースまたは速さを変える必要があり得ると決定されるとき、エージェントは、ドライブエンベロープの決定から除外されることがある。上記の操縦の一例は、エージェントが減速して、車両のために場所を開けなければならないことがある車線変更であり得る。操縦は、エージェント側の作動が必要であるので、車両コンピューティングデバイスは、ドライブエンベロープを介してエージェントを単に考慮するよりもむしろ、より綿密にエージェントを監視することがある。
【００５８】
ブロック３１０にてエージェントが含まれないと決定されるならば、ブロック３１２は、上記のエージェントが除外されることを例示する。代替として、ブロック３１４は、ブロック３１０にて含まれると決定された各エージェントの情報を使用して、ドライブエンベロープを決定することを例示する。本明細書に説明するように、ドライブエンベロープは、車両が進むことが可能である環境の中の仮想的な空間として決定されることがある。ドライブエンベロープは、エージェント（複数可）の意味特性、確率モデル（エージェントの動きのモデル、センサー測定などを含む）、または他の情報に基づいて決定されことがある、エージェントからのオフセットを提供する境界を含むことがある。少なくともいくつかの例にて、ドライブエンベロープの境界に沿った離散的な部分（たとえば、１０ｃｍ、５０ｃｍ、１ｍなど）は、追加の情報、例えば、限定されないが、最も近いエージェントまでの距離、最も近いエージェントの意味分類、不確定性、信頼度などによりエンコードされることがある。さらにその上、いくつかの実装にて、２つ以上のドライブエンベロープが、決定されることがある。例えば、むしろ、現実世界の運転者は、エージェントを避けるために複数のオプションがある、たとえば、三車線の道路の右を通る、または左を通ることがあり、複数のドライブエンベロープは、２つ以上の可能性のあるプランニングされたパスに対して決定されることがある。今までに述べた例にて、１つのドライブエンベロープが、実装に対して選択される。例えば、ドライブエンベロープは、より広い面積を有するので、交通法令をより守る（たとえば、右側ではなく左側にて車両を追い越す）ので、最も多くのエージェントを避けるので、または１つもしくは複数の追加の理由のために、好ましいことがある。ドライブエンベロープを決定する例は、以下に、図４に関連してさらに説明される。
【００５９】
正しく理解されるように、車両が環境を通って進むので、環境中のエージェントは、絶えず変わっていく。従って、方法３００（および方法４００）は、反復して実行されることがある。例えば、新しいドライブエンベロープは、ほぼリアルタイムにおいて、たとえば、約．５秒から約３秒までの間隔において、決定されることがある。さらにその上、エージェントが、車両に比して、位置、速度、構えなどを変えるので、ドライブエンベロープの決定から以前に除外されたエージェントは、含まれることがあり、以前に含まれたエージェントは、除外されることがある。さらにその上、各ドライブエンベロープは、たとえば、車両の、および／またはエージェント（複数可）の予測される動きの伝播（propagation）に基づくことがある。したがって、例えば、横方向の距離が決定されるパスに沿った位置は、車両が位置にあるときにエージェントがどこにあるかの近似を含むことがある。
【００６０】
ブロック３１６は、ドライブエンベロープにおける１つまたは複数のドライブの軌道を決定することを例示する。例えば、プランニングシステム２２６は、ドライブエンベロープの境界を、および／またはどんなエンコードされた情報でも、制約として使用しながら、ドライブエンベロープ内において車両２０２をナビゲートするための１つまたは複数の軌道を（たとえば、軌道に関して、パスプランニング（たとえば、Ａ*、ＲＲＴ*、ダイグストラのアルゴリズム）、加えておよび／または代替として非線形最小二乗法最適化などを行うことによって）決定することが可能である。たとえば、図１の例におけるように、予測データは、車両２０２の前のエージェントが、スピードを落としていることを示すことがある。応えて、プランニングシステム２２６は、車両２０２に、スピードを落としている車両に応えて車線を変えさせるドライブエンベロープ中の軌道を決定することが可能である。今述べたやり方にて、車両２０２は、車両が現在の車線をクリアするのを待つことを避けることが可能である。他の軌道が本明細書に予想され、今までに述べた例は、限定することを意図されない。
【００６１】
ブロック３１８は、軌道を実行することを例示する。上に説明したように、車両コンピューティングデバイス（複数可）２０４は、車両２０２の操舵、推進、制動、安全、エミッター、通信、および他のシステムを制御するように構成されることが可能である１つまたは複数のシステムコントローラー２３０を含むことが可能である。今述べたシステムコントローラー（複数可）２３０は、車両２０２のドライブモジュール（複数可）２１４および／または他のコンポーネントの対応するシステムに対して通信するおよび／または制御することが可能である。少なくとも一例にて、システムコントローラー（複数可）２２８は、軌道を受信することが可能であり、車両２０２のドライブモジュール（複数可）２１４および／または他のコンポーネントの対応するシステムに対して、車両２０２に、ドライブエンベロープ中の軌道に沿ってナビゲートさせるように、通信するおよび／または制御することが可能である。
【００６２】
図４は、本明細書に説明するように、ドライブエンベロープを決定するための例示的な方法４００を例示するフローチャートである。例えば、一般に、方法４００は、図３のブロック３０８および／またはブロック３１４に対応することがあるが、ブロック３０８および／またはブロック３１４は、例示的な方法４００に限定されず、方法４００は、方法３００に含まれることに限定されない。
【００６３】
ブロック４０２は、環境を通るプランニングされたパスを決定することを例示する。例えば、シーン４０４は、図１から環境１００を例示するためにブロック４０２の最も近くに提供される（明瞭のために、ほとんどの参照符号が図４から省略される）。単に、シーン４０４は、本明細書に説明される技法の例示的な実装として提供される。他の状況は、環境、環境中のエージェント、今述べたエージェントの予測される作動などに従って、変化するだろう。シーン４０４にて、２台の車両１０４ａ、１０４ｂ、および２人の歩行者１０６ａ、１０６ｂは、環境の中であると決定される。相対的な位置、相対的な動き、および／または他の情報に基づいて、プランニングシステム２２６は、車両１０２がトラバースすることが可能であると予測されるプランニングされたパス４０６を決定することが可能である。例えば、プランニングされたパス４０６は、環境中のエージェント（たとえば、方法３００の３０８のドライブエンベロープの計算にて含まれると決定されたエージェント）に関して最小距離にオフセットされる、道路の車線に関して中央に置かれる、路面標示に関してオフセットされる、他の特徴、たとえば、交通ルール、道路標識などに基づいて決定されるパスであり得る。いくつかの例にて、プランニングされたパス４０６は、車両が進むように意図されるパスではないが、環境を通る実際のドライブパスを決定する多くの同じシステム、たとえば、プランニングシステム２２６、予測システム２２４などを使用して、決定されることがある。単一のプランニングされたパス４０６のみが、シーン４０４に例示されるが、プランニングされたパス４０６は、複数のプランニングされたパスから選択されることがある。例えば、複数のプランニングされたパスは、プランニングされたパス４０６が複数のパスから選択されている状態で、プランニングシステム２２６によって決定されることがある。実装にて、プランニングされたパス４０６は、エージェントとの近接度に基づいて選択されることがあり、たとえば、より多くのエージェントに近づくパスは、より少ないエージェントに近づく進むパスに比して、嫌われることがある。他の実装にて、より短いパスは、より長いパスよりも好まれることがある。さらにまたは代替として、他の基準を使用して、最後の決定をすることもある。
【００６４】
ブロック４０８は、環境における複数のオブジェクトの各々に関連付けられた１つまたは複数の属性を決定することを例示する。例えば、本明細書に説明するように、属性が関連付けられる複数のオブジェクトは、たとえば、図３の方法のブロック３０８にて、ドライブエンベロープに含まれると決定されるオブジェクトであり得る。属性は、ドライブエンベロープの決定にてオブジェクトを含めるかどうかを決定するために、方法３０８にて使用される情報を含む、および／または重なることがある。例えば、エージェントの現在の属性は、１つまたは複数の属性に関連付けられた不確定性に加えて、エージェントの意味分類、姿勢、（たとえば、ローカルまたはグローバルの座標系における、および／または車両に比した）位置、範囲、進路、速度、および／または加速度を含むことがある。例えば、属性は、オブジェクトについてのセンサーデータに基づいて、および／または１つまたは複数のプランナーシステム、予測システムを使用してなど、決定されることがある。
【００６５】
例示的な実装にて、属性は、エージェント（複数可）に関連付けられた意味情報を含むことがある。たとえば、センサーデータに基づいて、車両コンピューティングデバイス（複数可）２０４、たとえば、ローカリゼーションシステム２２０および／または認知システム２２２は、各々のオブジェクトを、たとえば、車両、人、特定の動物、交通標識などとして分類することがある。さらにその上、意味情報は、さらなる下位分類を含むこともある。例えば、車両は、動いている車両または駐車された車両として分類されることがある。さらに、エージェント情報は、エージェントに関連付けられた確率情報および／または不確定性情報を（たとえば、位置、速度、加速度、意味分類などに関して）を含むこともある。いくつかの実装にて、予測システム２２８は、エージェントによる作動の方針に関する予測される尤度を決定することがある。例えば、シーン４０４において、車両１０４ｂがその位置から動く尤度は、例えば、車両１０４ｂに運転者がいないならば、零に近づくことがある。同様にして、歩行者１０６ｂが、道路の路肩の軌道上を、道路にほぼ平行に歩き続ける尤度は、エージェントデータベース２３２にエージェント情報として格納された経験的なデータに基づいて決定されることがある。
【００６６】
ブロック４１０は、プランニングされたパス上の複数の位置の各々に対して、それぞれの位置と、１つまたは複数のオブジェクトとの間の、位置に対して横方向の第１の距離を決定することを例示する。シーン４１２は、シーン４０４の一部分であり、ブロック４１０の処理を例示する。具体的には、距離４１４は、プランニングされたパス４０６と、歩行者１０６ａとの間の距離として示され、距離４１６は、プランニングされたパスと、動いている車両１０４ａとの間の距離として示され、距離４１８は、プランニングされたパスと、動かない車両１０４ｂとの間の距離として示される。歩行者１０６ｂまでの横方向の距離は、歩行者１０６ｂがドライブエンベロープの計算に含まれることがないので、決定されない。例えば、車両１０２の相対速度のために、歩行者１０６ｂは、たとえ、例えば、道路へと走り出すなどの思い切った操縦をしても、車両１０２に影響を与えないだろう。横方向の距離４１４、４１６、４１８は、各位置に最も近いプランニングされたパス４０６の線分と直角をなすことがある。したがって、例示されないが、パス４０６に沿った横方向の距離は、パスが車線間にて横断しているとき、進む方向に関して斜めであるだろう。違う述べ方をすると、横方向の距離の各々は、車両がプランニングされたパス４０６に沿って進む間に有する複数の離散的な姿勢において、車両の横軸に沿って測定されることがある。さらにその上、離散的な姿勢の各々に関する考慮は、環境中のエージェントの伝播を含むことができる。したがって、例えば、さらに、プランニングされたパスに沿って５メートル進んだ位置を考慮することは、車両が５メートル進んだとき、エージェントの各々がどこにあるのかに関する予想を含むこともある。実装にて、横方向の広がりは、レイキャスティングを含む、画像処理の技法を使用して、決定されることがある。
【００６７】
ブロック４１０の一部として、横方向の広がりは、プロジェクトされたパスに沿ったどんな数の位置に対しても、決定されることがある。例えば、横方向の広がりは、プランニングされたパスに沿って、１０ｃｍから１００ｃｍごとに離散点に対して決定されることがある。次に、今述べた離散点からの情報を補間して、ドライブエンベロープを作成することがある。さらにその上、離散点は、均等に間隔をあけられることがあるが、他の実装形態にて、離散化が、適応できることがある。例えば、相対的に（横方向に）より近いエージェントに対して、考慮される点の頻度は、増加されることがある（たとえば、単位距離ごとにより多くの点が考慮されることがある）。さらにその上、点は、エージェントの特徴に基づいて決定されることがある。例えば、エージェントの角、前縁、および／または後縁にある点を使用して、本開示の実装に従ってドライブエンベロープを決定することがある。さらに例示するように、横方向に配置されるエージェントがない、プランニングされたパス４０６の部分がある。今までに述べた実装にて、横方向の距離は、限定されないが、道路標識、路面標示、縁石などを含む、他の物理的なオブジェクトに対して測定されることがある。いくつかの実装にて、さらに、マップデータを使用して、たとえば、その方向に検出されるオブジェクトがないときに路面の横方向の範囲を決定するために、センサーデータを増大させることもある。追加としてまたは代替として、上記のオブジェクトは、オブジェクト（エージェント）の将来の特徴（位置、速度、不確定性、意味分類、および対応する不確定性）が、ドライブエンベロープにも組み入れられるように、間に合うように（たとえば、確率モデルに従って）伝播されることがある。
【００６８】
ブロック４２０は、ブロック４０８にて決定された属性と、ブロック４１０にて決定された第１の距離とに基づいて、各々の位置に対する第２の距離を決定することを例示する。例えば、距離４１４より小さい距離４２２は、歩行者１０６ａに対して決定されることがあり、距離４１６より小さい距離４２４は、動いている車両１０４ａに対して決定されることがあり、距離４１８より小さい距離４２６は、動かない車両１０４ｂに対して決定されることがある。本開示の例にて、距離４２２、４２４、４２６は、意味情報に基づくことがある。例えば、オブジェクトの異なる分類は、異なる関連した安全係数を有することがあり、最小オフセットは、今述べた安全係数に関連付けられることがある。非限定的な例として、歩行者は、関連付けられた第１の安全係数を有することがあり、車両が維持すべき最小距離は、相対的に大きい距離、たとえば、約．５から約．８メートルのオーダーであり得る。追加の安全係数は、他のエージェントに関連付けられることがある。例えば、．１ｍ以下の最小距離は、動かない、無生物のオブジェクト、例えば、駐車された車、建設コーン（construction cone）、または道路標識などに関連付けられることがある。さらにその上、オブジェクトの分類内において、異なる安全係数が、適用可能であり得る。他の実装にて、今までに述べた「最小」距離は、車両が、今までに述べた最小距離未満を行くことに関連付けられたコストを決定することができる状態で、好ましい距離であり得る。
【００６９】
さらに、距離４２２、４２４、４２６は、確率情報に基づいて決定されることもある。例えば、横方向の距離４１４、４１６、４１８が、数学的な技法を使用して決定される限り、計算された距離にいくつかの不確定性があるだろう。さらにその上、センサーデータを提供するセンサーに、および予測モデルに関連付けられた不確定性は、距離４２２、４２４、４２６を決定するとき、考慮されることもある。１つの例示的な実装にて、例えば、距離４１４、４１６、４１８の各々は、ガウス分布に基づいて決定されることがある。さらにその上、分布の共分散は、調整された距離４２２、４２４、４２６のさらなる決定を可能にするフィルタリングを提供することがある。種々の例にて、横方向の距離、意味分類、オブジェクトの特徴、およびドライブエンベロープに沿った離散的な長さに関連付けられた対応する不確定性は、軌道の生成および最適化において使用するために（たとえば、詳細に上に説明されたようなパスプランニングに対するコストまたは制約として）、境界にエンコードされることがある。
【００７０】
ブロック４２８は、各位置における第２の距離に等しい横方向の距離を有するドライブエンベロープを決定することを例示する。例えば、各々の位置に対して決定された第２の距離４２２、４２４、４２６は、車両が環境を通って進むことが可能である単一のドライブエンベロープ４３０に、一緒に融合される。正しく理解されるように、ドライブエンベロープは、異なるエージェントに対して収容できるように、横方向の範囲を変化させるであろう。例示するように、ドライブエンベロープは、動いている車両１０４ａか、動かない車両１０４ｂかのいずれかに対してよりも、歩行者１０６ｂに対して相対的により大きいオフセットを決定することがある。同様にして、動いている車両１０４ａに関する横方向のオフセットは、動かない車両１０４ｂに対するよりも、より大きいことがある。横方向に配置されたエージェントがないプロジェクトされたパスに沿った点に対して、第２の距離は、標準的なオフセット、たとえば、０．１メートルとして、車線のマーキングおよび／または環境中の他の静的な特徴から計算されることがある。
【００７１】
本明細書に説明される種々の技法は、コンピューター読み取り可能なストレージに格納され、例えば、図に例示されるような１つまたは複数のコンピューターまたは他のデバイスのプロセッサー（複数可）によって実行されるコンピューター実行可能な命令またはソフトウェア、例えば、プログラムモジュールなどの文脈において実装されることが可能である。一般に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、および特定のタスクを行うための動作ロジックを定義するまたは特定の抽象データ型を実装する。
【００７２】
他のアーキテクチャーは、説明される機能性を実装するのに使用されることが可能であり、本開示の範囲内にあることが意図される。さらにその上、責任の特定の配分が、議論の目的のために上に定義されるが、種々の機能および責任は、状況に従って、異なるやり方において配分され分割されることがあるだろう。
【００７３】
同様にして、ソフトウェアは、種々のやり方においておよび異なる手段を使用して、格納され配分されることが可能であり、上に説明された特定のソフトウェアの格納および実行の構成は、多くの異なるやり方において様々であることが可能である。したがって、上に説明された技法を実装するソフトウェアは、具体的に説明されるメモリーのかたちに限定されない、種々のタイプのコンピューター読み取り可能な媒体に配分されることが可能である。
【００７４】
例示的な箇条
Ａ．例の車両は、車両に配置された１つまたは複数のセンサーと、１つまたは複数のプロセッサーと、１つまたは複数のプロセッサーによって実行されると、１つまたは複数のセンサーのうちのセンサーからセンサーデータを受信し、センサーデータが、車両に近接する環境中のオブジェクトについての情報を含み、環境を通る車両のプランニングされたパスを決定し、プランニングされたパスとオブジェクトとの間の横方向の距離を決定し、オブジェクトの分類を決定し、横方向の距離および分類に少なくとも部分的に基づいて、幅を決定し、ドライブエンベロープを決定し、ドライブエンベロープが、車両が進むことが可能であるプランニングされたパスに沿って環境の一部の境界を定義し、エンベロープの少なくとも一部が、プランニングされたパスからオブジェクトに向かって横方向に幅を広げるように車両を構成するプロセッサー実行可能な命令を格納するメモリーと、を含む。
【００７５】
Ｂ．例Ａの車両は、分類が、静的なオブジェクトまたは車線の境界を含み、命令が、１つまたは複数のプロセッサーによって実行されると、分類に基づいて、車両とオブジェクトとの間にて維持する最小距離を決定し、横方向の距離と幅との間の差異が、最小距離に少なくとも部分的に基づくように車両をさらに構成する。
【００７６】
Ｃ．例Ａまたは例Ｂの車両は、分類が、車、自転車、オートバイ、または歩行者を含み、命令が、１つまたは複数のプロセッサーによって実行されると、オブジェクトの動きまたはセンサーに関連付けられた不確定性を決定し、幅が、不確定性に少なくとも部分的に基づくように車両をさらに構成する。
【００７７】
Ｄ．例Ａから例Ｃのいずれか１つの車両は、命令が、１つまたは複数のプロセッサーによって実行されると、ドライブエンベロープに少なくとも部分的に基づいて、軌道を決定し、軌道が、環境中のおよびドライブエンベロープ内の車両の動きを定義し、軌道に従って環境を通って進むように車両を制御するように車両をさらに構成する。
【００７８】
Ｅ．例の方法は、環境を通る車両のプランニングされたパスを決定し、プランニングされたパスが、起点にて始まり終点にて終わり、車両のセンサーから得られたセンサーデータに少なくとも部分的に基づいて、環境中のオブジェクトを検出し、プランニングされたパスに沿った複数の点を決定し、複数の点の各々からオブジェクトまでの横方向の距離を決定し、オブジェクトの分類を決定し、横方向の距離と分類とに少なくとも部分的に基づいて、１つまたは複数の幅を決定し、１つまたは複数の幅に少なくとも部分的に基づいて、環境を通るドライブエンベロープを決定し、ドライブエンベロープが、車両が進むことが可能であるプランニングされたパスに沿った環境の一部を含むことを含む。
【００７９】
Ｆ．例Ｅの方法は、分類に基づいて、車両とオブジェクトとの間にて維持する最小距離を決定することをさらに含み、１つまたは複数の幅を決定することが、横方向の距離と最小距離との間の差異が、車線の幅以上でないと決定し、差異を１つまたは複数の幅として決定することを含む。
【００８０】
Ｇ．例Ｅまたは例Ｆの方法は、分類が、車、自転車、オートバイ、または歩行者を含み、方法が、環境中のオブジェクトの動きまたはセンサーに関連付けられた複数の不確定性を決定し、複数の点に複数の不確定性を関連付け、複数の幅が、複数の不確定性に少なくとも部分的に基づくことをさらに含む。
【００８１】
Ｈ．例Ｅから例Ｇのいずれか１つの方法は、複数の不確定性が、オブジェクトに関連付けられた確率関数の共分散に少なくとも部分的に基づく。
【００８２】
Ｉ．例Ｅから例Ｈのいずれか１つの方法は、オブジェクトの予測される動きを決定し、予測される動きに関連付けられた確率を決定することをさらに含み、ドライブエンベロープを決定することが、予測される動きに関連付けられた確率に少なくとも部分的に基づく。
【００８３】
Ｊ．例Ｅから例Ｉのいずれか１つの方法は、複数の点が、分類、オブジェクトまでの複数の距離、または複数の不確定性に関連付けられる。
【００８４】
Ｋ．例Ｅから例Ｊのいずれか１つの方法は、複数の不確定性が、オブジェクトの動きに関連付けられ、複数の不確定性を決定することが、間に合うようにオブジェクトの確率モデルに伝播される。
【００８５】
Ｌ．例Ｅから例Ｋのいずれか１つの方法は、レシーディングホライズンの技法に従って、およびドライブエンベロープに少なくとも部分的に基づいて、複数の軌道を決定し、複数の軌道が、複数の信頼レベルに関連付けられ、好ましい軌道として、最も高い信頼レベルに関連付けられた複数の軌道のうちの軌道を選択し、好ましい軌道に沿って環境を通って、およびドライブエンベロープ内を進むように車両を制御することをさらに含む。
【００８６】
Ｍ．例Ｅから例Ｌのいずれか１つの方法は、複数の軌道を決定することが、コストとしてドライブエンベロープにエンコードされた情報を使用する非線形最小二乗最適化または微分動的計画法を含む。
【００８７】
Ｎ．例の非一時的なコンピューター読み取り可能な媒体は、実行されると、１つまたは複数のプロセッサーに、センサーからセンサーデータを受信し、センサーデータが、車両に関する環境におけるオブジェクトについての情報を含み、環境を通る車両のプランニングされたパスを決定し、プランニングされたパスが、源から目的地までトラバースする車両に対するパスを含み、センサーデータに少なくとも部分的に基づいて、プランニングされたパス上の第１の位置とオブジェクトとの間の距離を決定し、距離が、第１の位置にてプランニングされたパスと直角をなす方向に測定され、オブジェクトの分類を決定し、距離および分類に少なくとも部分的に基づいて、幅を決定し、環境中のドライブエンベロープを決定し、ドライブエンベロープが、車両がオブジェクトに衝突することなしに進むことが可能であるプランニングされたパスに沿った環境の面を含み、エンベロープの一部が、第１の位置にてプランニングされたパスから第１のオブジェクトに向かって横方向に幅を広げることを含む動作を行わせる命令のセットを有する。
【００８８】
Ｏ．例Ｎの非一時的なコンピューター読み取り可能な媒体は、動作が、オブジェクトの位置、オブジェクトの速度、またはオブジェクトの加速度に関連付けられた不確定性を決定し、幅および不確定性に少なくとも基づいて、軌道を決定し、軌道に沿って環境を通って進むように車両を制御することをさらに含む。
【００８９】
Ｐ．例Ｎまたは例Ｏの非一時的なコンピューター読み取り可能な媒体は、プランニングされたパスが、第１のプランニングされたパスであり、ドライブエンベロープが、第１のドライブエンベロープであり、動作が、第１のプランニングされたパスとは異なる第２のプランニングされたパスを決定し、車両がオブジェクトに衝突することなしに進むことが可能である第２のプランニングされたパスに沿った環境の第２の面を含む第２のドライブエンベロープを決定し、好ましいドライブエンベロープとして第１のドライブエンベロープまたは第２のドライブエンベロープのうちの１つを選択し、好ましいドライブエンベロープに少なくとも部分的に基づいて、軌道を決定し、軌道が、環境中のおよび好ましいドライブエンベロープ内の車両の離散的な動きを定義し、軌道に沿って環境を通って進むように車両を制御することをさらに含む。
【００９０】
Ｑ．例Ｎから例Ｐのいずれか１つの非一時的なコンピューター読み取り可能な媒体は、分類が、車、歩行者、または自転車を含み、方法は、分類に基づいて、安全マージンを決定することをさらに含む。
【００９１】
Ｒ．例Ｎから例Ｑのいずれか１つの非一時的なコンピューター読み取り可能な媒体は、動作が、距離と安全マージンとの間の差異を決定し、差異が第１の位置に関連付けられた車両の幅以上でないと決定し、差異を幅として決定することをさらに含む。
【００９２】
Ｓ．例Ｎから例Ｒのいずれか１つの非一時的なコンピューター読み取り可能な媒体は、動作が、オブジェクトの動きに関連付けられた情報を決定し、情報が、オブジェクトの予測される将来の位置と予測される将来の位置に関連付けられた不確定性とを含むことを含み、幅を決定することが、オブジェクトの予測される将来の位置および不確定性に基づく。
【００９３】
Ｔ．例Ｎから例Ｓのいずれか１つの非一時的なコンピューター読み取り可能な媒体は、ドライブエンベロープを決定することが、プランニングされたパスに沿って追加される位置に対して、ドライブエンベロープに追加される幅を決定し、追加される幅が、オブジェクトの動きまたは動きに関連付けられた確率に基づくことを含む。
【００９４】
終結
本明細書に説明される技法に関する１つまたは複数の例が説明されたが、種々の代替、追加、置換および均等は、本明細書に説明される技法の範囲内に含まれる。
【００９５】
例の説明において、参照は、主張される主題の例示的な特定の例として示す、一部を形成する添付の図面に対してされる。他の例を使用することが可能であり、変更または代替を、例えば、構造的な変更をすることが可能であることは、理解されることである。上記の例、変更、または代替は、意図され主張される主題に関して、必ずしも範囲からの逸脱でない。本明細書におけるステップを、ある順において提示することが可能であるが、いくつかの場合において、順は、ある入力が、説明されるシステムおよび方法の機能を変更することなしに異なる時間に、または別個の順に提供されるように、変更されることが可能である。さらに、開示されるプロシージャは、異なる順において実行されることも可能であろう。追加として、本明細書に説明される種々の計算は、開示された順において行われる必要がなく、計算に関し代替の順にすることを使用する他の例は、難なく実装されることが可能であろう。並べ替えられることに加えて、いくつかの場合、さらに、計算は、同一の結果を有する部分計算に分解されることも可能であろう。
【図１】
2021524410.tif 000003
【図２】
2021524410.tif 000004
【図３】
2021524410.tif 000005
【図４】
2021524410.tif 000006
【国際調査報告】
2021524410.tif 000007
2021524410.tif 000008
2021524410.tif 000009