(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-08
(45)【発行日】2023-09-19
(54)【発明の名称】自律車両のポリライン輪郭表現
(51)【国際特許分類】
B60W 40/02 20060101AFI20230911BHJP
B60W 30/09 20120101ALI20230911BHJP
B60W 60/00 20200101ALI20230911BHJP
G08G 1/16 20060101ALI20230911BHJP
G06T 7/00 20170101ALI20230911BHJP
G06V 20/58 20220101ALI20230911BHJP
【FI】
B60W40/02
B60W30/09
B60W60/00
G08G1/16 C
G06T7/00 650B
G06V20/58
(21)【出願番号】P 2022505657
(86)(22)【出願日】2020-08-18
(86)【国際出願番号】 US2020046787
(87)【国際公開番号】W WO2021034819
(87)【国際公開日】2021-02-25
【審査請求日】2022-03-18
(32)【優先日】2019-08-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-11-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】317015065
【氏名又は名称】ウェイモ エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】リ,ドン
(72)【発明者】
【氏名】スーキャン,ヨアン-アレクサンドル
【審査官】平井 功
(56)【参考文献】
【文献】米国特許出願公開第2018/0059682(US,A1)
【文献】国際公開第2018/061613(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
B60W 30/00-60/00
G08G 1/00-99/00
G06T 7/00
G06V 10/00-20/90
(57)【特許請求の範囲】
【請求項1】
自律運転モードを有する
自律車両を制御する方法であって、
1つ以上のプロセッサによって、前記自律車両の環境で検出された物体の形状および場所を表すポリゴンを受信することと、
前記1つ以上のプロセッサによって、半平面座標系における前記自律車両の輪郭の半分以下を表す前記自律車両のポリライン輪郭表現にアクセスすることであって、前記ポリライン輪郭表現が、複数の頂点および線分を含
むことと、
前記1つ以上のプロセッサによって、前記ポリゴンの座標を前記半平面座標系に変換することと、
前記1つ以上のプロセッサによって、前記変換された座標を使用して、前記ポリライン輪郭表現
と前記ポリゴンとの間の衝突場所を判定することと、
前記1つ以上のプロセッサによって、前記衝突場所に基づいて、前記自律運転モードにおいて前記自律車両を制御して、前記物体との衝突を回避することと、を含む、方法。
【請求項2】
前記ポリライン輪郭表現が、前記自律車両のフロントバンパーから前記自律車両のリアバンパーまでの描かれた車両幅プロファイルとして定義されている、請求項1に記載の方法。
【請求項3】
前記ポリライン輪郭表現が、前記自律車両の最大半値幅である最大y座標を有する多くても2つの連続する点を有する、請求項2に記載の方法。
【請求項4】
前記自律車両の最大半値幅が、前記自律車両のミラー間または横方向センサ間で測定された前記自律車両の幅の半分に対応する、請求項3に記載の方法。
【請求項5】
前記ポリライン輪郭表現上のy座標値は、前記ポリライン輪郭表現が、多くても1つのピークを有するように、
前記最大y座標を有する点まで単調に増加し、次いで、単調に減少する、請求項3に記載の方法。
【請求項6】
前記ポリライン輪郭表現と前記
ポリゴンとの間の前記衝突場所を判定することが、前記自律車両が前方に移動しているときに、フロントフェンディングポリライン輪郭表現を使用することを含み、前記フロントフェンディングポリライン輪郭表現が、前記最大y座標の前にある前記ポリライン輪郭表現の一部分に対応する、請求項5に記載の方法。
【請求項7】
前記ポリライン輪郭表現と前記
ポリゴンとの間の前記衝突場所を判定することが、前記自律車両が後方に移動しているときに、リアフェンディングポリライン輪郭表現を使用することを含み、前記リアフェンディングポリライン輪郭表現が、前記最大y座標の後ろにある前記ポリライン輪郭表現の一部分に対応する、請求項5に記載の方法。
【請求項8】
前記衝突場所を判定することが
、前記ポリゴンの線分について、前記半平面座標系への侵入点(D)を判定することを含む、請求項1に記載の方法。
【請求項9】
前記1つ以上のプロセッサによって、Dと前記ポリライン輪郭表現の線分との間の距離を判定することをさらに含む、請求項8に記載の方法。
【請求項10】
前記1つ以上のプロセッサによって、Dと同じ侵入深さを有する前記ポリライン輪郭表現上の前記線分のうちの1つを見つけることをさらに含む、請求項8に記載の方法。
【請求項11】
前記
ポリゴンと、同じy座標を有する前記ポリライン輪郭表現との間に複数の衝突場所がある場合、前記衝突場所を判定することが、第1の衝突場所に対するx座標を第2の衝突場所に対するx座標と比較することをさらに含む、請求項1に記載の方法。
【請求項12】
前記ポリライン輪郭表現が、前記自律車両の中心線に沿った前記自律車両の幅プロファイルに対応する、請求項1に記載の方法。
【請求項13】
前記半平面座標系の原点が、前記自律車両のフロントバンパー上の最も遠いx座標、および前記自律車両の幅寸法の半分を表す最大y座標に対応する点に位置する、請求項1に記載の方法。
【請求項14】
前記衝突場所が、前記複数の頂点または前記複数の線分のうちの1つに対応する、請求項1に記載の方法。
【請求項15】
前記1つ以上のプロセッサによって、前記ポリライン輪郭表現と前記
ポリゴンとの間の衝突退出場所を判定することをさらに含み、前記自律車両を制御することが、前記衝突退出場所にさらに基づいている、請求項1に記載の方法。
【請求項16】
自律運転モードを有する
自律車両を制御するためのシステムであって、
前記自律車両の環境で検出された物体の形状および場所を表すポリゴンを受信することと、
半平面座標系における前記自律車両の輪郭の半分以下を表す前記自律車両のポリライン輪郭表現にアクセスすることであって、前記ポリライン輪郭表現が、複数の頂点および線分を含
むことと、
前記ポリゴンの座標を前記半平面座標系に変換することと、
前記変換された座標を使用して、前記ポリライン輪郭表現
と前記ポリゴンとの間の衝突場所を判定することと、
前記衝突場所に基づいて、前記自律運転モードにおいて前記自律車両を制御して、前記物体との衝突を回避することと、を行うように構成された1つ以上のプロセッサを備える、システム。
【請求項17】
前記衝突場所を判定することが
、前記ポリゴンの線分について、前記半平面座標系への侵入点(D)を判定することを含む、請求項16に記載のシステム。
【請求項18】
前記自律車両の最大半値幅が、前記自律車両のミラー間または横方向センサ間で測定された前記自律車両の幅の半分に対応する、請求項17に記載のシステム。
【請求項19】
前記ポリライン輪郭表現が、前記自律車両のフロントバンパーから前記自律車両のリアバンパーまでの描かれた車両幅プロファイルとして定義されている、請求項18に記載のシステム。
【請求項20】
前記ポリライン輪郭表現が、前記自律車両の最大半値幅である最大y座標を有する多くても2つの連続する点を有する、請求項19に記載のシステム。
【請求項21】
前記ポリライン輪郭表現上のy座標値は、前記ポリライン輪郭表現が、多くても1つのピークを有するように、
前記最大y座標を有する点まで単調に増加し、次いで、単調に減少する、請求項20に記載のシステム。
【請求項22】
前記自律車両をさらに備える、請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年11月19日に出願された米国特許出願第16/687,974号の継続出願であり、2019年8月21日に出願された米国仮出願第62/889,698号の利益を主張し、2019年11月19日に出願された米国出願第16/688,017号に関連しており、これらはすべて参照により本明細書に組み込まれる。
【背景技術】
【0002】
ある場所から別の場所への乗客または物品の輸送を支援するために、自律運転モードで動作させるとき、人間の運転手を必要としない車両などの自律車両を使用することができる。自律車両の重要な構成要素は、カメラ、レーダー、レーザ、および他の同様のデバイスなどの様々なセンサを使用して自律車両がその周囲を感知し、解釈することを可能にする認知システムである。例えば、自律車両は、センサを使用して、その周囲の環境、例えば、駐車中の乗用車、樹木、建物など、に関する画像およびセンサデータを収集および解釈し得る。認知システムからの情報は、加速、減速、停止、方向転換など、自律車両が動いている間に、多数の判定を下すことによってそれらの周囲に反応するようにこれらの車両によって使用され得る。
【0003】
典型的には、自律車両の輪郭は、その周囲にどのように反応するかを判定するときに、長方形(上から下を見た場合)または3次元の長方形でモデル化されることがよくあり、これは、自律車両のセンサとミラーのすべてを含む自律車両のすべての物理的側面を境界付ける。自律車両の掃引体積は、自律車両の計画された経路または計画された軌道を、それぞれが相互に接続された異なる時間における自律車両の場所を表す一連の接続されたボックスとして近似することによって判定することができる。ただし、このアプローチでは、自律車両自体が完全な長方形ではないため、特に自律車両のコーナーで誤検知の衝突が発生し得る。同時に、より複雑なポリゴンが使用される場合、自律車両の計画された軌道内での他の物体との潜在的な衝突を分析するときに、そのような表現は計算コストが高くなり得る。
【発明の概要】
【0004】
本開示の一態様は、自律運転モードを有する車両を制御する方法を提供する。この方法は、自律車両の環境で検出された物体の形状および場所を表すポリゴンを受信することと、半平面座標系における自律車両の輪郭の半分以下を表す自律車両のポリライン輪郭表現にアクセスすることであって、ポリライン輪郭表現が、複数の頂点および線分を含む、アクセスすることと、物体を表すポリゴンの座標を半平面座標系に変換することと、変換された座標を使用して、ポリライン輪郭表現と物体を表すポリゴンとの間の衝突場所を判定することと、衝突場所に基づいて、自律運転モードにおいて自律車両を制御して、物体との衝突を回避することと、を含む。
【0005】
一実施例では、ポリライン輪郭表現は、自律車両のフロントバンパーから自律車両のリアバンパーまでの描かれた車両幅プロファイルとして定義されている。この実施例では、ポリライン輪郭表現は、自律車両の最大半値幅である最大y座標を有する多くても2つの連続する点を有する。さらに、自律車両の最大半値幅は、自律車両のミラー間または横方向センサ間で測定された自律車両の幅の半分に対応する。さらにまたはあるいは、ポリライン輪郭表現上のy座標値は、ポリライン輪郭表現が、多くても1つのピークを有するように、最大y座標を有する点まで単調に増加し、次いで、単調に減少する。この実施例では、ポリライン輪郭表現と物体の表現との間の衝突場所を判定することは、自律車両が前方に移動しているときに、フロントフェンディングポリライン輪郭表現を使用することを含み、フロントフェンディングポリライン輪郭表現は、最大y座標の前にあるポリライン輪郭表現の一部分に対応する。あるいは、ポリライン輪郭表現と物体の表現との間の衝突場所を判定することは、自律車両が後方に移動しているときに、リアフェンディングポリライン輪郭表現を使用することを含み、リアフェンディングポリライン輪郭表現は、最大y座標の後ろにあるポリライン輪郭表現の一部分に対応する。
【0006】
別の実施例では、衝突場所を判定することは、物体を表すポリゴンの線分について、半平面座標系への侵入点(D)を判定することを含む。この実施例では、この方法はまた、Dとポリライン輪郭表現の線分との間の距離を判定することを含む。さらにまたはあるいは、この方法はまた、Dと同じ侵入深さを有するポリライン輪郭表現上の線分のうちの1つを見つけることを含む。別の実施例では、物体の表現と、同じy座標を有するポリライン輪郭表現との間に複数の衝突場所がある場合、衝突場所を判定することは、第1の衝突場所に対するx座標を第2の衝突場所に対するx座標と比較することをさらに含む。別の実施例では、ポリライン輪郭表現は、自律車両の中心線に沿った自律車両の幅プロファイルに対応する。別の実施例では、半平面座標系の原点が、自律車両のフロントバンパー上の最も遠いx座標、および自律車両の幅寸法の半分を表す最大y座標に対応する点に位置する。別の実施例では、衝突場所は、複数の頂点または複数の線分のうちの1つに対応する。別の実施例では、この方法はまた、ポリライン輪郭表現と物体の表現との間の衝突退出場所を判定することを含み、自律車両を制御することは、衝突退出場所にさらに基づいている。
【0007】
本開示の別の態様は、自律運転モードを有する車両を制御するためのシステムを提供する。このシステムは、自律車両の環境で検出された物体の形状および場所を表すポリゴンを受信することと、半平面座標系における自律車両の輪郭の半分以下を表す自律車両のポリライン輪郭表現にアクセスすることであって、ポリライン輪郭表現が、複数の頂点および線分を含む、アクセスすることと、物体を表すポリゴンの座標を半平面座標系に変換することと、変換された座標を使用して、ポリライン輪郭表現と物体を表すポリゴンとの間の衝突場所を判定することと、衝突場所に基づいて、自律運転モードにおいて自律車両を制御して、物体との衝突を回避することと、を行うように構成された1つ以上のプロセッサを含む。
【0008】
一実施例では、衝突場所を判定することは、物体を表すポリゴンの線分について、半平面座標系への侵入点(D)を判定することを含む。この実施例では、自律車両の最大半値幅は、自律車両のミラー間または横方向センサ間で測定された自律車両の幅の半分に対応する。さらに、ポリライン輪郭表現は、自律車両のフロントバンパーから自律車両のリアバンパーまでの描かれた車両幅プロファイルとして定義される。さらに、ポリライン輪郭表現は、自律車両の最大半値幅である最大y座標を有する多くても2つの連続する点を有する。さらに、ポリライン輪郭表現上のy座標値は、ポリライン輪郭表現が、多くても1つのピークを有するように、最大y座標を有する点まで単調に増加し、次いで、単調に減少する。さらにまたはあるいは、このシステムはまた、自律車両を含む。
【0009】
本開示の別の態様は、自律運転モードを有する車両を制御する方法を提供する。この方法は、1つ以上のプロセッサによって、自律車両の環境で検出された物体の形状および場所を表すポリゴンを受信することと、1つ以上のプロセッサによって、物体の方位および将来の時点での物体の予想される場所に基づいて、物体を表すポリゴンのフロントポリラインを判定することと、1つ以上のプロセッサによって、フロントポリラインの座標を半平面座標系に変換することと、1つ以上のプロセッサによって、自律車両の計画された将来の場所に基づいて、かつ変換された座標を使用して、フロントポリラインと物体を表すポリゴンとの間の進入場所および退出場所を判定することと、1つ以上のプロセッサによって、進入場所および退出場所に基づいて、自律運転モードにおいて自律車両を制御して、物体との衝突を回避することと、を含む。
【0010】
一実施例では、物体の方位および将来の時点での物体の計画された将来の場所に基づいて、物体を表すポリゴンのリアポリラインを判定することと、リアポリラインの座標を半平面座標系に変換することと、将来の自律車両の計画された将来の場所および変換された座標に基づいて、リアポリラインと物体を表すポリゴンとの間の第2の進入場所および第2の退出場所を判定することと、があり、自律車両を制御することが、第2の進入場所および第2の退出場所にさらに基づいている。この実施例では、この方法はまた、進入場所および第2の進入場所のx座標値の最小値をとることによって第1の距離を判定することを含み、自律車両を制御することは、第1の距離にさらに基づいている。さらに、この方法はまた、退出場所および第2の退出場所のx座標値の最大値をとることによって第2の距離を判定することを含み、自律車両を制御することは、第1の距離にさらに基づいている。さらに、この方法はまた、第1の距離および第2の距離を使用して、将来の時点での物体との重なりの確率を判定することを含み、自律車両を制御することは、第1の距離にさらに基づいている。さらに、この方法はまた、物体の予想される将来の場所に関連する不確実性値を受信することを含み、重なりの確率を判定することは、不確実性値にさらに基づいている。さらにまたはあるいは、この方法はまた、物体の予想される将来の場所に関連する不確実性値の標準偏差を受信することと、標準偏差を使用して累積分布関数として重なりの確率を判定することを含む。さらにまたはあるいは、この方法はまた、物体の予想される将来の場所に関連する不確実性値の標準偏差を受信することと、標準偏差で割った第1の距離と標準偏差で割った第2の距離との間の累積分布関数として重なりの確率を判定することと、を含む。別の実施例では、この方法はまた、自律車両のプランニングシステムによって生成された軌道から、将来の時点での自律車両の計画された将来の場所を判定することを含む。別の実施例では、この方法はまた、自律車両の行動モデリングシステムから、将来の時点での物体の予想される場所を判定することを含む。
【0011】
本開示の別の態様は、自律運転モードを有する車両を制御するためのシステムを提供する。システムは、自律車両の環境で検出された物体の形状および場所を表すポリゴンを受信することと、自律車両を表すポリゴンにアクセスすることと、物体の方位および将来の時点での物体の予想される場所に基づいて、物体を表すポリゴンのフロントポリラインを判定することと、フロントポリラインの座標を半平面座標系に変換することと、自律車両の計画された将来の場所に基づいて、フロントポリラインと物体を表すポリゴンとの間の進入場所および退出場所を判定することと、進入場所および退出場所に基づいて、自律運転モードにおいて自律車両を制御して、物体との衝突を回避することと、を行うように構成された1つ以上のプロセッサを含む。
【0012】
一実施例では、1つ以上のプロセッサは、物体の方位および将来の時点での物体の計画された将来の場所に基づいて、物体を表すポリゴンのリアポリラインを判定することと、リアポリラインの座標を半平面座標系に変換することと、将来における自律車両の計画された将来の場所に基づいて、リアポリラインと物体を表すポリゴンとの間の第2の進入場所および第2の退出場所を判定することと、さらに第2の進入場所および第2の退出場所に基づいて、自律車両を制御することと、を行うようにさらに構成されている。さらに、1つ以上のプロセッサは、進入場所および第2の進入場所のx座標値の最小値をとることによって第1の距離を判定することと、さらに第1の距離に基づいて自律車両を制御することと、を行うようにさらに構成されている。さらに、1つ以上のプロセッサが、退出場所および第2の退出場所のx座標値の最大値をとることによって第2の距離を判定することと、さらに第1の距離に基づいて自律車両を制御することと、を行うようにさらに構成されている。さらに、1つ以上のプロセッサが、第1の距離および第2の距離を使用して、将来の時点での物体との重なりの確率を判定することと、さらに第1の距離に基づいて自律車両を制御することと、を行うようにさらに構成されている。さらに、1つ以上のプロセッサは、物体の予想される将来の場所に関連する不確実性値を受信することと、さらに不確実性値に基づいて重なりの確率を判定することと、を行うようにさらに構成されている。さらにまたはあるいは、1つ以上のプロセッサは、物体の予想される将来の場所に関連する不確実性値の標準偏差を受信することと、標準偏差を使用して累積分布関数として重なりの確率を判定することと、を行うようにさらに構成されている。さらにまたはあるいは、1つ以上のプロセッサは、物体の予想される将来の場所に関連する不確実性値の標準偏差を受信することと、標準偏差で割った第1の距離と標準偏差で割った第2の距離との間の累積分布関数として重なりの確率を判定することと、を行うようにさらに構成されている。別の実施例では、1つ以上のプロセッサは、自律車両のプランニングシステムによって生成された軌道から将来の時点での自律車両の計画された将来の場所を判定することと、自律車両の行動モデリングシステムから、将来の時点での物体の予想される場所を判定することと、を行うようにさらに構成されている。別の実施例では、システムはまた、自律車両を含む。
【0013】
本開示の別の態様は、自律運転モードを有する車両を制御する方法を提供する。この方法は、1つ以上のプロセッサによって、第1の物体の形状および場所を表すポリゴンを受信することと、1つ以上のプロセッサによって、第2の物体の形状および場所を表すポリゴンの一部分のポリライン輪郭表現を受信することであって、ポリライン輪郭表現が、半平面座標にあり、かつ複数の頂点および線分を含む、受信することと、1つ以上のプロセッサによって、第1の物体を表すポリゴンの座標を半平面座標系に変換することと、1つ以上のプロセッサによって、変換された座標を使用して、ポリライン輪郭表現と第1の物体を表すポリゴンとの間の衝突場所を判定することと、1つ以上のプロセッサによって、衝突場所に基づいて、自律運転モードにおいて自律車両を制御して、衝突を回避することと、を含む。
【0014】
一実施例では、第1の物体が、自律車両であり、第2の物体が、自律車両の環境内の物体である。別の実施例では、第2の物体が、自律車両であり、第1の物体が、自律車両の環境内の物体である。別の実施例では、衝突場所には、衝突の進入場所が含まれる。別の実施例では、衝突場所には、衝突の退出場所が含まれる。
【0015】
本開示の別の態様は、自律運転モードを有する車両を制御するためのシステムを提供する。システムは、第1の物体の形状および場所を表すポリゴンを受信することと、第2の物体の形状および場所を表すポリゴンの一部分のポリライン輪郭表現を受信することであって、ポリライン輪郭表現が、半平面座標にあり、かつ複数の頂点および線分を含む、受信することと、第1の物体を表すポリゴンの座標を半平面座標系に変換することと、変換された座標を使用して、ポリライン輪郭表現と第1の物体を表すポリゴンとの間の衝突場所を判定することと、衝突場所に基づいて、自律運転モードにおいて自律車両を制御して、衝突を回避することと、を行うように構成された1つ以上のプロセッサを含む。
【0016】
一実施例では、第1の物体が、自律車両であり、第2の物体が、自律車両の環境内の物体である。別の実施例では、第2の物体が、自律車両であり、第1の物体が、自律車両の環境内の物体である。別の実施例では、衝突場所には、衝突の進入場所が含まれる。別の実施例では、衝突場所には、衝突の退出場所が含まれる。別の実施例では、システムはまた、自律車両を含む。
【0017】
本開示の別の態様は、命令が格納されている非一時的な記録媒体であって、命令が、1つ以上のプロセッサによって実行されるとき、1つ以上のプロセッサに、自律運転モードを有する車両を制御する方法を実行させる、非一時的な記録媒体を提供する。この方法は、第1の物体の形状および場所を表すポリゴンを受信することと、第2の物体の形状および場所を表すポリゴンの一部分のポリライン輪郭表現を受信することであって、ポリライン輪郭表現が、半平面座標にあり、かつ複数の頂点および線分を含む、受信することと、第1の物体を表すポリゴンの座標を半平面座標系に変換することと、変換された座標を使用して、ポリライン輪郭表現と第1の物体を表すポリゴンとの間の衝突場所を判定することと、衝突場所に基づいて、自律運転モードにおいて自律車両を制御して、衝突を回避することと、を含む。
【0018】
一実施例では、第1の物体が、自律車両であり、第2の物体が、自律車両の環境内の物体である。別の実施例では、第2の物体が、自律車両であり、第1の物体が、自律車両の環境内の物体である。別の実施例では、衝突場所には、衝突の進入場所が含まれる。別の実施例では、衝突場所には、衝突の退出場所が含まれる。
【図面の簡単な説明】
【0019】
【
図1】例示の実施形態による例示の車両の機能図である。
【
図2】本開示の態様による車両の例示的な外観図である。
【
図3】本開示の態様による車両のポリライン輪郭表現である。
【0020】
【
図4】本開示の態様による車両のポリゴン表現である。
【
図5A-5B】本開示の態様による、フロントフェンディングポリライン輪郭表現およびリアフェンディングポリライン輪郭表現のための、半平面座標への車両のポリライン輪郭表現の変換の例示的な表現である。
【
図6】本開示の態様による、世界座標における物体を表す例示的なポリゴンである。
【
図7】本開示の態様による、半平面座標における物体を表す例示的なポリゴンである。
【
図8】本開示の態様による、半平面座標における、車両および物体を表すポリゴンの例示的な表現である。
【
図9】本開示の態様による、半平面座標における、物体を表すポリゴンに向かって左フロントフェンディングポリライン輪郭表現を移動させる例示的な表現である。
【
図10】本開示の態様による、半平面座標における、左フロントフェンディングポリライン輪郭表現および物体を表すポリゴンの例示的な表現である。
【
図11】本開示の態様による、半平面座標における、左リアフェンディングポリライン輪郭表現および物体を表すポリゴンの例示的な表現である。
【
図12】本開示の態様による、半平面座標における、右フロントフェンディングポリライン輪郭表現および物体を表すポリゴンの例示的な表現である。
【
図13】本開示の態様による、半平面座標における、右リアフェンディングポリライン輪郭表現および物体を表すポリゴンの例示的な表現である。
【
図14】本開示の態様による、半平面座標における、物体を表すポリゴンに向かって左フロントフェンディングポリライン輪郭表現を移動させる例示的な表現である。
【
図15】本開示の態様による、左フロントおよびリアフェンディングポリライン輪郭表現、ならびに異なる時点での物体を表すポリゴンの例示的な表現である。
【
図16A-16B】本開示の態様による、ポリライン輪郭表現および物体を表すポリゴンの例示的な表現である。
【
図17】本開示の態様による例示的なフロー図である。
【
図18】本開示の態様による、車両を表すポリゴンに対する物体を表すポリゴンの横方向の不確実性および自律車両の計画された軌道の例である。
【
図19】本開示の態様による、物体を表すポリゴンの横方向の不確実性の別の例である。
【
図20】本開示の態様による物体を表す例示的なポリゴンである。
【
図21】本開示の態様による物体の例示的なフロントポリライン表現である。
【
図22】本開示の態様による物体の例示的なリアポリライン表現である。
【
図23A】本開示の態様による、半平面座標における物体のフロントポリライン表現の例である。
【
図23B】本開示の態様による、半平面座標における物体のリアポリライン表現の例である。
【
図24】本開示の態様による、進入場所および退出場所を含む衝突場所を判定するための例である。
【
図25】本開示の態様による例示的なフロー図である。
【
図26】は本開示の態様による例示的なフロー図である。
【発明を実施するための形態】
【0021】
概要
この技術は、衝突分析のための物体の表現に関する。他の物体との潜在的な衝突を推定する場合、その目標は、典型的には、安全性を促進するために、そうしている間は控えめであることである。自律車両の輪郭は、多くの場合、長方形(上から下に見た場合)または3次元の長方形でモデル化され、これは、自律車両のすべてのセンサとミラーを含む、自律車両のすべての物理的側面を境界付ける。自律車両の掃引体積は、自律車両の計画された経路または計画された軌道を、それぞれが相互に接続された異なる時間における自律車両の場所を表す一連の接続されたボックスとして近似することによって判定することができる。ただし、このアプローチでは、自律車両自体が完全な長方形ではないため、特に自律車両のコーナーで誤検知の衝突が発生し得る。同時に、より複雑なポリゴンが使用される場合、自律車両の計画された軌道上または軌道内の他の物体との潜在的な衝突を分析するときに、そのような表現は計算コストが高くなり得る。
【0022】
自律車両の輪郭のポリライン輪郭表現は、長方形またはポリゴンを使用するのではなく、車両の幅プロファイルに基づいて判定され得る。ポリライン輪郭表現は、自律車両の中心線によって分割された自律車両の各側に対して定義することができる。ほとんどの車両は中心線に沿って左右対称であるため、ポリライン輪郭表現は、実際には自律車両の片側または半分、例えば、左側または右側を定義するだけで済む。これに関して、自律車両の残りの半分が衝突分析に必要な場合は、ポリライン輪郭表現を単純に反転させればよい。
【0023】
例示的なポリライン輪郭表現は、自律車両のフロントバンパーから自律車両のリアバンパーまでの描かれた車両幅プロファイルとして定義され得る。ポリライン輪郭表現は、自律車両の最大半値幅である最大yを有する1つのまたは多くても2つの連続する点を有する。ポリライン輪郭表現のy座標は、ポリライン輪郭表現が、多くても1つのピークを有するように、最大yを有する点まで単調に増加し、次いで、単調に減少する。ポリライン輪郭表現を使用する場合の衝突分析の精度を上げるまたは下げるために、ポリライン輪郭表現のために選択される点の数は増減され得る。
【0024】
自律車両が前方に移動するとき、物体はピーク前の半分にのみ衝突する可能性があり、自律車両が後方に移動するとき、物体はピーク後の半分にのみ衝突する可能性がある。そのため、衝突分析を行う場合、自律車両が物体に向かって前方に移動しているときは、ピーク前のポリライン輪郭表現の部分のみが必要であり、自律車両が物体から遠ざかっているときは、ピーク後のポリライン輪郭表現の部分のみが必要である。言い換えると、自律車両が前方に走行していて、車両が物体と衝突し始めるときを判定する場合は、ピークの後ろにあるポリライン輪郭表現上の点は無視することができ、自律車両が逆走しているときは、ピークの前にあるポリライン輪郭表現上の点は無視することができる。
【0025】
ポリライン輪郭表現は、ピークの前のおよびピークの後ろのポリライン輪郭表現の各部分の半平面座標に変換され得る。例えば、自律車両は、半平面の右側に置いてもよい。自律車両と物体との重なりを推論する場合、フロントバンパーおよびリアバンパー、またはフェンディングポリライン輪郭表現を半平面に沿って前後にスライドさせ得る。
【0026】
自律車両が走り回る際、その認知システムは、自律車両の環境内の物体の形状および場所を検出および特定し得る。例えば、認知システムは、場所情報と、物体の形状および場所を表すポリゴンとを提供してもよい。物体を表すポリゴンは、任意の座標系、例えば、緯度と経度、または自律車両もしくは認知システムのセンサの座標系にあり得る。
【0027】
衝突分析を実行するとき、物体を表すポリゴンは、場所情報を使用して半平面座標系に変換され得る。これは、例えば、半平面の順方向と垂直方向のポリゴンの極点を見つけることによって行い得る。次に、ポリゴンの4分の1が抽出され、その4分の1のポリゴンの点が半平面座標に変換され得る。
【0028】
その後、物体の表現の衝突場所が判定され得る。衝突場所には、進入場所と退出場所が含まれてもよい。進入場所は、自律車両の現在の計画された軌道が与えられた場合の自律車両と最初に衝突するであろうポリライン輪郭表現の特定の線分に対応し得る。進入場所を判定することに加えて、衝突退出場所も判定され得る。進入場所は、自律車両が物体と衝突する場所を特定し得る一方で、退出場所は、自律車両が衝突から抜け出すことができる方法を特定し得る。これは、車両のコンピューティングデバイスが物体の経路を追い越すことを判定した場合に有用であり得る。進入場所および衝突退出場所が判定されると、自律車両のコンピューティングデバイスはこの情報を使用して、物体を回避するために、自律運転モードにおいて自律車両の速度をより適切に制御する方法(例えば、より高速でまたはより低速で運転する)を判定する。
【0029】
上記の例のように、物体の輪郭は、多くの場合、2次元(2D)もしくは3次元(3D)ポリゴン、または物体を表すポリゴンによってモデル化され、これは、自律車両の認知システムによって検出された物体のすべての点を境界付ける。物体の予測された軌道は、例えば、様々な行動モデリング手法、ならびに物体、他の物体、および自律車両の環境一般の認知システムからのセンサデータを使用して、自律車両の行動モデリングシステムによっても判定され得る。物体の2Dもしくは3D経路または計画された軌道は、予測された軌道に沿って物体を表すポリゴンを移動させることによって判定され得る。衝突のモデリングは、典型的には、自律車両の将来の軌道を使用して自律車両の2Dまたは3D経路を判定し、物体の2Dまたは3D経路と交差するかどうかを判定することによって行われる。
【0030】
ただし、認知システムおよび行動モデリングシステムからの物体の特性の不確実性のために、物体の進行方向に関連する重大な横方向の不確実性が存在し得る。そのため、物体の予測された軌道はかなり不正確になる可能性があり、自律車両の計画された軌道と比較した場合、衝突の判定が不正確になる可能性がある。
【0031】
これらの欠点に対処するために、物体の横方向の不確実性は、行動モデリングシステムによって出力される不確実性からの平均および標準偏差(sd)を持つ正規分布としてモデル化され得る。自律車両の計画された軌道との重なりの確率が判定され得る。例えば、物体と自律車両の計画された軌道との間の距離は、物体と自律車両の計画された軌道との間の進入距離および退出距離を計算することによって判定され得る。重なりの確率は、進入距離および退出距離と標準偏差とを採用する累積分布関数を使用して判定され得る。
【0032】
進入距離および退出距離、というよりもむしろ、自律車両の計画された軌道に進入および退出する可能性がある物体を表すポリゴンの位置を判定するために、物体のポリゴンは、フロントポリラインとリアポリラインに分解され得る。そうするために、物体の軌道に対して左端の点と右端の点を特定し得る。これは、物体の座標系をその特定を単純化するものに変換することを含む場合も含まない場合もある既知の手法を使用して達成され得る。これらの左端の点と右端の点から、ポリゴンはフロントポリラインとリアポリラインに分割され得、これらは、物体のフロント幅プロファイルとリア幅プロファイルを実際に表し得る。次いで、フロントポリラインおよびリアポリラインのそれぞれを半平面座標に変換し得る。
【0033】
衝突場所、というよりもむしろ、フロントポリラインおよびリアポリラインのそれぞれの進入場所および退出場所を判定し得る。各進入場所または各退出場所は、自律車両の現在の軌道が与えられた場合の自律車両と衝突するであろうフロントポリラインまたはリアポリラインの特定の線分に対応し得る。進入場所は、自律車両が物体と衝突する場所を特定し得る一方で、退出場所は、自律車両が物体の軌道との衝突から抜け出すことができる方法を特定し得る。進入場所および/または退出場所は、自律車両の現在のまたは将来の軌道が与えられた場合の自律車両と衝突するであろうポリライン上の点またはポリラインの特定の線分に対応し得る。次いで、進入距離および退出距離は、フロント半平面およびリア半平面について進入場所および退出場所から判定され得る。次いで、これらの値を使用して、自律車両の計画された軌道に沿ったある場所での重なり(例えば、衝突)の確率を判定し得る。
【0034】
前述のアプローチは、自律車両のポリゴンが物体の横方向領域の一部分と重なっている場合にも有用であり得る。これは、車両のコンピューティングデバイスが物体を回避または追い越すと判定した場合に有用であり得る。重なりの確率が判定されると、自律車両のコンピューティングデバイスは、物体を回避するために、この情報を使用して、自律運転モードにおいて自律車両の速度をより適切に制御する方法を判定することができる。場合によっては、自律車両が新しい軌道を生成することさえあり得る。本明細書に記載の機能は、衝突分析のための物体の効率的でありながら現実的な表現を提供し得る。例えば、本明細書に記載の機能は、物体と自律車両の軌道との間の重なり確率を計算するための効率的かつ正確な方法を可能にし得る。さらに、自律車両のポリライン表現の場合、自律車両の表現は、自律車両の実際の寸法よりも大きい粗い2次元の長方形に一般化されないため、これにより、自律車両の掃引体積を大幅に削減することができ、これは、自律車両がより狭い通路を他の物体により近づいて通過することを可能にし得る。上記のように、衝突検出の目標は、最終的には控えめであることであり、起こりうる衝突を検出することである。ただし、ポリライン表現を使用すると、控えめな推定の性質を損なうことなく、自律車両と他の物体との間のより大きな距離の計算を可能にし得る。
【0035】
さらに、ポリライン輪郭表現は車両の半分に対応するだけでよく、衝突分析を実行するときに必要なのはその一部分(ピークの前後)のみであるため、これもメモリおよび処理リソースを大幅に削減することができる。本明細書に記載のように、ポリライン輪郭表現はまた、自律車両の物理的な点に実際に対応する場合もしない場合もある長方形上の単なる点ではなく、自律車両のどの部分が衝突に関与するか(例えば、ミラーまたはバンパーと衝突する)の判定を可能にする。さらに、ポリライン輪郭表現のy座標の単調性により、物体が自律車両の軌道とどの程度重なるかがわかれば、衝突分析にいずれの線分を使用するかをすばやく判定することができる。
【0036】
車両およびリアルタイムの意思決定に加えて、本明細書に記載の機能は、試験状況を含むシミュレーションおよびビデオゲームなどの物体の仮想表現を含む車両以外の物体にも有用になり得る。例えば、本明細書に記載の機能を使用して、シミュレーション自体をより効率的にする仮想物体の進入場所および退出場所を含む衝突場所を判定し得る。
【0037】
実際の車両と組み合わせて使用する場合、ポリライン輪郭表現は、車両または車両環境内の物体を表す長方形のポリゴンであることがより微妙なニュアンスがあるため、本明細書に記載の機能は、自律車両と他の物体との間の計算された距離を効果的に増加させ得、これにより、他の物体との誤検知の衝突の可能性を減らし、別の物体によって誤ってブロックされたために車両が立ち往生する(進むことができない)可能性を減らし、自律車両が物体に近づいたり、物体の周りにゆっくり進んだりすることができ得るので、他の物体によって引き起こされる閉塞を減らすこともできる。これらの利点はすべて、自律車両が物体の周りをよりよく操縦できるようにし、場合によってはより速く運転できるようにし、回避的な(または別様に不快な)操縦の必要性も減らして、乗客の全体的な運転の快適さを向上させることができる。
【0038】
例示的なシステム
図1に示されるように、本開示の一態様による車両100は、様々な構成要素を含む。本開示のいくつかの態様は、特定のタイプの車両に関連して特に有用であるが、自律車両は、自動車、トラック、オートバイ、バス、レクリエーション車両などを含むがこれらに限定されない任意のタイプの車両であってもよい。自律車両は、1つ以上のプロセッサ120、メモリ130、および汎用コンピューティングデバイスに典型的に存在する他の構成要素を含むコンピューティングデバイス110などの1つ以上のコンピューティングデバイスを有し得る。
【0039】
メモリ130は、1つ以上のプロセッサ120によってアクセス可能な情報を記憶し、その情報には、プロセッサ120によって実行または別様に使用され得る命令132およびデータ134が含まれる。メモリ130は、プロセッサによってアクセス可能な情報を記憶することができる任意のタイプのメモリであってもよく、それらには、コンピューティングデバイス可読媒体、またはハードドライブ、メモリカード、ROM、RAM、DVD、もしくは他の光ディスク、ならびに他の書き込み可能および読み取り専用メモリなどの電子デバイスを用いて読み取ることができるデータを記憶する他の媒体が含まれる。システムおよび方法は、上記の異なる組み合わせを含んでもよく、それによって、命令およびデータの様々な部分が、様々なタイプの媒体に記憶される。
【0040】
命令132は、プロセッサによって直接的に(マシンコードなど)または間接的に(スクリプトなど)実行される任意の命令セットであってもよい。例えば、命令は、コンピューティングデバイス可読媒体上にコンピューティングデバイスコードとして記憶されてもよい。その点について、「命令」および「プログラム」という用語は、本明細書では、互換的に使用され得る。命令は、プロセッサによる直接処理のためのオブジェクトコード形式で、または要求に応じて解釈されるか、もしくは予めコンパイルされるスクリプトもしくは独立したソースコードモジュールの集合を含む、任意の他のコンピューティングデバイス言語で記憶されてもよい。命令の機能、方法、およびルーチンについては、以下でさらに詳細に説明される。
【0041】
データ134は、命令132に従って、プロセッサ120によって検索、記憶、または修正され得る。例えば、特許請求の範囲の主題は、いかなる特定のデータ構造にも限定されないが、データは、コンピューティングデバイスレジスタ内、複数の異なるフィールドおよびレコードを有する表としてのリレーショナルデータベース内、XMLドキュメント、またはフラットファイルに記憶されてもよい。データはまた、任意のコンピューティングデバイス可読形式でフォーマットされてもよい。
【0042】
1つ以上のプロセッサ120は、市販されているCPUまたはGPUなどの任意の従来のプロセッサであってもよい。代替的に、1つ以上のプロセッサは、ASICまたは他のハードウェアベースプロセッサなどの専用デバイスであり得る。
図1は、プロセッサ、メモリ、およびコンピューティングデバイス110の他の要素を同じブロック内にあるものとして機能的に示しているが、プロセッサ、コンピューティングデバイス、またはメモリは、実際には、同じ物理的な筐体内に格納されていてもいなくてもよい複数のプロセッサ、コンピューティングデバイス、またはメモリを含むことができることは、当業者により、理解されるであろう。例えば、メモリは、ハードドライブ、またはコンピューティングデバイス110の筐体とは異なる筐体内に位置する他のストレージ媒体であってもよい。したがって、プロセッサまたはコンピューティングデバイスへの言及は、並行に動作してもしなくてもよいプロセッサまたはコンピューティングデバイスまたはメモリの集合体への言及を含むことが理解されよう。
【0043】
一態様では、コンピューティングデバイス110は、自律運転モードにおいて自律車両を制御するために、自律車両の様々な構成要素と通信することができる自律制御システムの一部であってもよい。例えば、
図1に戻ると、コンピューティングデバイス110は、自律運転モードにおいて、メモリ130の命令132に従って、車両100の動き、速度などを制御するために、減速システム160、加速システム162、ステアリングシステム164、ルーティングシステム166、プランニングシステム168、測位システム170、認知システム176、行動モデリングシステム174、およびパワーシステム176などの車両100の様々なシステムと通信してもよい。
【0044】
一例として、コンピューティングデバイス110は、自律車両の速度を制御するために、減速システム160および加速システム162と相互作用してもよい。同様に、ステアリングシステム164は、車両100の方向を制御するために、コンピューティングデバイス110によって使用されてもよい。例えば、車両100が自動車またはトラックのように道路で使用するように構成されている場合、ステアリングシステムは、自律車両の向きを変えるために車輪の角度を制御する構成要素を含んでいてもよい。
【0045】
プランニングシステム168は、ルーティングシステム166によって生成されたある場所までの経路を決定し、これをたどるために、コンピューティングデバイス110によって使用され得る。例えば、ルーティングシステム166は、地図情報を使用して、自律車両の現在の場所から降車の場所までの経路を判定し得る。プランニングシステム168は、目的地への経路(自律車両の現在の経路)をたどるために、定期的に軌道、または将来のある期間にわたって自律車両を制御するための短期計画を生成し得る。これに関して、プランニングシステム168、ルーティングシステム166、および/またはデータ134は、詳細な地図情報、例えば、道路の形状および高度、車線境界線、交差点、横断歩道、速度制限、交通信号、建物、標識、リアルタイム交通情報、植生、または他のそのような物体および情報を識別する高精密地図、を記憶し得る。
【0046】
地図情報は、1つ以上の道路グラフ、または道路、車線、交差点、および道路区分で表され得るこれらの特徴間の接続などの情報のグラフネットワークを含み得る。各特徴は、グラフデータとして記憶され得、地理的場所などの情報と関連付けられ得、他の関連する特徴にリンクされているかどうかにかかわらず、例えば、一時停止標識は、道路および交差点などにリンクされ得る。いくつかの例では、関連付けられたデータは、道路グラフのグリッドベースのインデックスを含んで、特定の道路グラフの特徴の効率的な検索を可能にし得る。
【0047】
測位システム170は、コンピューティングデバイス110により、地図上または地球上の自律車両の相対的または絶対的位置を判定するために使用することができる。例えば、測位システム170は、デバイスの緯度、経度、および/または標高の位置を判定するためのGPS受信機を含むことができる。レーザを利用した位置特定システム、慣性支援GPS、またはカメラを利用した位置特定などの他の位置特定システムも、自律車両の場所を特定するために使用することができる。自律車両の場所には、緯度、経度、高度などの絶対的な地理的場所の他に、すぐ周りの他の車に対する場所などの相対的な場所情報が含まれてもよく、これは、多くの場合、絶対的な地理的場所よりも少ないノイズで判定することができる。
【0048】
測位システム170はまた、自律車両の方向および速度、またはそれらの変化を判定するために加速度計、ジャイロスコープ、または別の方向/速度検出デバイスなど、コンピューティングデバイス110のコンピューティングデバイスと通信する他のデバイスを含んでいてもよい。単なる例として、加速デバイスは、重力の方向、または重力に対して垂直な平面に対する車両の縦揺れ、偏揺れ、または横揺れ(またはそれらの変化)を判定してもよい。このデバイスはまた、速度の増減、およびそのような変化の方向を追跡することもできる。本明細書で記載したようなデバイスの位置および配向データの提供は、コンピューティングデバイス110、他のコンピューティングデバイス、および上記の組み合わせに自動的に提供され得る。
【0049】
認知システム172はまた、他の車両、道路内の障害物、交通信号、標識、樹木などの自律車両の外部にある物体を検出するために1つ以上の構成要素を含む。例えば、認知システム172は、レーザ、ソナー、レーダー、カメラ、および/またはコンピューティングデバイス110のコンピューティングデバイスによって処理され得るデータを記録する任意の他の検出デバイスを含んでもよい。自律車両がミニバンなどの乗客車両である場合には、ミニバンは、屋根または他の都合の良い場所に搭載されるレーザまたは他のセンサを含んでもよい。例えば、
図2は、車両100の例示的な外観図である。この例では、屋上筐体210およびドーム状筐体212は、LIDARセンサ、ならびに様々なカメラおよびレーダーユニットを含み得る。さらに、車両100の前端に位置する筐体220、ならびに自律車両の運転手側および助手席側の筐体230、232は、各々、LIDARセンサを格納し得る。例えば、筐体230は、運転手側のドア260の前部に位置している。車両100はまた、車両100の屋根の上に同様に位置付けられたレーダーユニットおよび/またはカメラのための筐体240、242も含む。追加のレーダーユニットおよびカメラ(図示せず)は、車両100の前端および後端に、ならびに/または屋根もしくは屋上にある筐体210に沿った他の位置に位置付けることができる。
【0050】
コンピューティングデバイス110は、コンピューティングデバイス110のメモリのプライマリ車両制御コードに従って車両100の動きを制御するために、自律車両の様々な構成要素と通信することが可能であり得る。例えば、
図1に戻ると、コンピューティングデバイス110は、メモリ130の命令132に従って、車両100の動き、速度などを制御するために、減速システム160、加速システム162、ステアリングシステム164、ルーティングシステム166、プランニングシステム168、測位システム170、認知システム172、およびパワーシステム176(すなわち、自律車両のエンジンまたはモータ)などの車両100の様々なシステムと通信する様々なコンピューティングデバイスを含んでもよい。
【0051】
自律車両の様々なシステムは、どのように自律車両を制御するかを判定するためおよび制御するために、自律車両制御ソフトウェアを使用して機能し得る。一例として、認知システム172の認知システムソフトウェアモジュールは、カメラ、LIDARセンサ、レーダーユニット、ソナーユニットなどの自律車両の1つ以上のセンサによって生成されたセンサデータを使用して、物体およびその特性を検出および識別することができる。これらの特性には、場所、タイプ、方位、向き、速度、加速度、加速度の変化、サイズ、形状などが含まれ得る。例えば、認知システム172は、物体の形状と寸法を表す、2Dまたは3Dバウンディングボックスなどのポリゴンを提供してもよい。認知システム172はまた、場所、タイプ、方位、向き、速度、加速度、加速度の変化、サイズ、形状などを含む、物体の特性のそれぞれについて不確実性を提供し得る。
【0052】
場合によっては、特性および不確実性が行動モデリングシステム174に入力され得る。例えば、物体を表すポリゴン、および物体の特性の不確実性を、行動モデリングシステム174に入力してもよい。行動モデリングシステム174は、物体タイプに基づく様々な行動モデルを使用して、物体を表すポリゴンおよび物体の特性の不確実性が与えられた場合の検出された物体の予測される将来の行動を出力するソフトウェアモジュールを含み得る。物体の予測される将来の行動は、物体の複数の将来の場所および特性を表す予測される軌道を含み得る。特性の不確実性および行動予測に固有の不確実性のために、行動予測モデルは、時間とともに増加する軌道の不確実性を提供し得る。言い換えると、物体の予測された場所および進行方向に関連する不確実性は、時間とともに増加し得る。
【0053】
他の例では、それらの特性は、既知の交通信号の状態を検出するように構成された信号機検出システムソフトウェアモジュール、自律車両の1つ以上のセンサによって生成されたセンサデータから建設ゾーンを検出するように構成された建設ゾーン検出システムソフトウェアモジュール、ならびに自律車両のセンサによって生成されたセンサデータから緊急車両を検出するように構成された緊急車両検出システムなどの1つ以上の検出システムソフトウェアモジュールに入れることができる。これらの検出システムソフトウェアモジュールの各々は、様々なモデルを使用して、建設ゾーンまたは物体が緊急車両である可能性を出力し得る。
【0054】
検出された物体、予測された将来の行動、検出システムソフトウェアモジュールからの様々な可能性、自律車両の環境を特定する地図情報、自律車両の場所および向きを特定する測位システム170からの位置情報、自律車両の目的地、ならびに自律車両の様々な他のシステムからのフィードバックは、プランニングシステム168のプランニングシステムソフトウェアモジュールに入力され得る。プランニングシステムは、この入力を使用して、ルーティングシステム166のルーティングモジュールによって生成された自律車両の現在の経路に基づいて、将来のある短い期間にわたって自律車両がたどる軌道を生成し得る。コンピューティングデバイス110の制御システムソフトウェアモジュールは、例えば、軌道をたどるために、自律車両の制動、加速、およびステアリングを制御することによって、自律車両の動きを制御するように構成され得る。
【0055】
コンピューティングシステム110は、様々な構成要素を制御することにより、自律運転モードにおいて自律車両を制御し得る。例として、例えば、コンピューティングデバイス110は、詳細な地図情報およびプランニングシステム168からのデータを使用して、自律車両を目的地に完全に自律的にナビゲートし得る。コンピューティングデバイス110は、自律車両の場所を判定するために測位システム170を使用し、その場所に安全に到着するために、必要に応じて、物体を検出し、かつ物体に応答するために認知システム172を使用し得る。繰り返すが、そうするために、コンピューティングデバイス110は、軌道を生成し、(例えば、加速システム162により、エンジンまたはパワーシステム176に燃料または他のエネルギーを供給することによって)自律車両を加速させ、(例えば、エンジンまたはパワーシステム176に供給される燃料を減少させ、ギヤを変更し、および/または減速システム160によりブレーキをかけることによって)減速させ、(例えば、ステアリングシステム164により、車両100の前輪または後輪の向きを変えることによって)方向を変更させ、(例えば、自律車両の方向指示器を点灯することによって)そのような変更を合図させることによって、自律車両にこれらの軌道をたどらせ得る。したがって、加速システム162および減速システム160は、自律車両のエンジンと、自律車両の車輪との間の様々な構成要素を含むドライブトレインの一部であり得る。繰り返すが、これらのシステムを制御することによって、コンピューティングデバイス110はまた、自律車両を自律的に操縦させるために、自律車両のドライブトレインを制御し得る。
【0056】
例示的な方法
上述し、図に示した動作に加えて、様々な動作を、ここで説明する。以下の動作は、以下に説明するとおりの順序で実施される必要がないことを理解されたい。むしろ、様々な工程が、異なる順序で、または同時に処理されてもよく、工程もまた、追加または省略されてもよい。
【0057】
上記のように、典型的には、自律車両の輪郭は、多くの場合、長方形(上から下に見た場合)または3次元の長方形でモデル化され、これは、自律車両のすべてのセンサとミラーを含む、自律車両のすべての物理的側面を境界付ける。自律車両の掃引体積は、経路または軌道を、それぞれが相互に接続された異なる時間における自律車両の場所を表す一連の接続されたボックスとして近似することによって判定することができる。ただし、このアプローチでは、自律車両自体が完全な長方形ではないため、特に自律車両のコーナーで誤検知の衝突が発生し得る。同時に、より複雑なポリゴンが使用される場合、自律車両の軌道上または軌道内の他の物体との潜在的な衝突を分析するときに、そのような表現は計算コストが高くなり得る。
【0058】
車両の輪郭のポリライン輪郭表現(またはポリライン輪郭表現)は、長方形またはポリゴンを使用するのではなく、車両の幅プロファイルまたは幅寸法に基づいて判定され得る。ポリライン輪郭表現は、自律車両の中心線によって分割された自律車両の各側(左/右、運転手/乗客など)に対して定義することができる。ほとんどの車両は中心線に沿って左右対称であるため、ポリライン輪郭表現は、実際には自律車両の片側または半分、例えば、左側または右側を定義するだけで済む。これに関して、自律車両の残りの半分が衝突分析に必要な場合は、ポリライン輪郭表現を単純に反転させればよい。
図3は、自律車両100の輪郭310上にオーバーレイされた例示的なポリライン輪郭表現300である。プランニングシステム168によって生成された軌道に沿って自律車両を表すこのポリライン輪郭表現またはポリゴン(例えば、長方形)を動かすことにより、自律車両100の掃引体積を特定し、自律車両の環境内のどの物体がこの掃引体積と交差する可能性が高いかを特定するために使用され得る。次いで、コンピューティングデバイスは、ポリライン輪郭表現を使用して、潜在的な衝突場所を特定し得る。
【0059】
衝突分析に必要な計算を簡略化するために、自律車両の原点(0,0)の場所は、異なる目的のために様々な場所に位置付けられ得る。例えば、自律車両の幅プロファイルの座標を判定するときに、自律車両のリア車軸を使用するか、他の場所を原点として使用し、自律車両の方位をX軸として使用してもよい。Y軸は、車両の左側(例えば、運転席側)を指す場合がある。例えば、原点320は、自律車両の長さに沿った中心線350上の対称点での自律車両のリア車軸に位置する。衝突分析のためにポリライン輪郭表現を使用する場合、以下でさらに論じるように、計算を簡略化するために必要に応じて原点を位置付けることができる。
【0060】
例示的なポリライン輪郭表現は、自律車両のフロントバンパーから自律車両のリアバンパーまでの描かれた車両幅プロファイルとして定義され得る。ポリライン輪郭表現300は、自律車両の最大半値幅または最大値の半分である最大y座標を有する1つまたは多くても2つの連続する点を有する。言い換えると、ポリライン輪郭表現は、最大y座標を有する必要な最小数(すなわち、2つ以下)の点を使用して生成され得る。典型的な場合、最大y座標は、自律車両のミラー322、324(または横方向センサ)で測定された自律車両の幅の半分、もしくはその距離、というよりもむしろ、自律車両の中心線350に沿った自律車両の最大幅寸法の半分に対応し得る。ポリライン輪郭表現上のy座標は、ポリライン輪郭表現が、多くても1つのピーク(繰り返すが、自律車両のミラーまたは横方向センサの幅に対応する)を有するように、最大y座標を有する点まで単調に増加し、次いで、単調に減少する。
図3に示すように、ポリラインは8つの点を有し、それぞれが円で表されている。ポリライン上の前部または最前方の点と最後部の点は、y座標が0(すなわち、x軸上に位置する)で示されているが、最前部または最後部の点のy座標は、0より大きくなる可能性がある。ポリライン輪郭表現を使用する場合の衝突分析の精度を上げるまたは下げるために、ポリライン輪郭表現のために選択される点の数は増減され得る。例えば、この例では、自律車両の輪郭310とポリライン輪郭表現300の閉鎖部分との間の最大距離、または距離R1は、15cm以下である。もちろん、使用する点の数が多いほど、衝突分析を実行するときに必要な処理能力とリソースの量が多くなる。
【0061】
場合によっては、自律車両の幅プロファイルが長方形の場合、自律車両のポリライン表現は、最大y座標を有する2つの連続する点を有することができる。例えば、自律車両が実際にトラックのトレーラーのように長方形のような形をしている場合、ポリライン輪郭表現には、ポリライン表現の長方形の2つのコーナーを表す点が含まれ得る。言い換えると、ポリライン輪郭表現は、長方形に一般化することができる。
【0062】
図4は、車両100の輪郭310上にオーバーレイされた車両100を表す例示的なポリゴン400である。この例では、ポリゴン400は長方形である。自律車両の輪郭310と自律車両を表すポリゴン400の最も近い部分との間の最大距離、または距離R2は、自律車両100の前部で43cmにもなる。自律車両の後部の距離R3は、36.8cmにもなり得る。ポリライン輪郭表現の最大掃引体積半径がわずか6.534mであることと比較して、自律車両を表すポリゴン400の最大掃引体積半径は6.961mである。したがって、自律車両を表すポリライン輪郭表現300とポリゴン400との間で、全体の掃引体積の横方向の減少は42.7cmである。この違いは、ポリライン輪郭表現と比較して、物体を表すポリゴン400の掃引体積の間にかなり大きな差異を提供し得る。したがって、物体の周囲の運転と衝突回避に関するポリライン輪郭表現の使用は、自律車両を表す長方形ポリゴンよりも大幅に正確となり得る。
【0063】
ポリライン輪郭表現を参照すると、自律車両が前方に移動するとき、物体はピークの前の半分にのみ衝突する可能性があり、自律車両が後方に走行するとき、物体はピークの後の半分にのみ衝突する可能性がある。そのため、衝突分析を行う場合、自律車両が物体に向かって前方に移動しているときは、ピーク前のポリライン輪郭表現の部分のみが必要であり、自律車両が物体から遠ざかって移動しているときは、ピーク後のポリライン輪郭表現の部分のみが必要である。言い換えると、自律車両が前方に走行しているときに、自律車両が物体と衝突するときを判定する場合は、ピークの後ろにあるポリライン輪郭表現上の点は無視することができ、自律車両が逆走しているときは、ポリライン輪郭表現の前にあるポリライン輪郭表現上の点は無視することができる。
【0064】
これに関して、ポリライン輪郭表現は、自律車両の左側でかつピークもしくは最大y座標(以下、フロントフェンディングポリライン輪郭表現510)の前(すなわち、自律車両のフロントバンパーに近い)にある、または自律車両の左側でかつピークもしくは最大y座標(以下、リアフェンディングポリライン輪郭表現520)の後方または後ろ(すなわち、自律車両のリアバンパーに近い)にある、ポリライン輪郭表現の各部分について、半平面座標に変換され得る。半平面は、本質的に、無限の直線の片側にあるすべての点で構成され、かつ反対側にはない平面または平面領域の「半分」である。この線は、例えば、座標系の軸に対応し得る。
図5Aは、左フロントおよびリア左フェンディングポリライン輪郭参照についてこの変換を表している。例えば、自律車両100は、ポリライン輪郭表現300の最大y座標のx座標に対応する半平面530の右側に置かれてもよい。変換後、y座標は幅になり、これは、慣例により、半平面の右側が常に負であるため、半平面座標では負になる。これに関して、ピークの高さはy=0になる。自律車両100と物体との間の重なりを推論する場合、左フロントおよびリアフェンディングポリライン輪郭表現510、520は、半平面に沿って前後に「移動」され得る。したがって、自律車両のバンパーポリライン輪郭表現のx座標は、相対的な数値であり得る。計算の便宜のために、右フロントフェンディングポリライン輪郭表現510では、自律車両のフロントバンパーの最も遠いまたは右端の点をx=0.0に割り当てることができ、リアフェンディングポリライン輪郭表現520では、リアバンパーの最も遠いまたは左端の点をx=0.0に割り当てることができる。左フロントフェンディングポリライン輪郭表現510の半平面上の残りのx座標はすべて、右端の点に対して負の数である。左リアフェンディングポリライン輪郭表現520の半平面上の残りのx座標はすべて、左端の点に対して正の数である。
【0065】
同様に、ポリライン輪郭表現の反転バージョンは、自律車両の右側または最小y座標(以下、右フロントフェンディングポリライン輪郭表現510)の前と最小値の後ろ(以下、右リアフェンディングポリライン輪郭表現520)の両方にあるポリライン輪郭表現の各部分の半平面座標で判定され得る。
図5Bは、右フロントおよびリア左フェンディングポリライン輪郭参照についてこの変換を表している。例えば、自律車両100は、ポリライン輪郭表現300の最小座標のX座標に対応する半平面532の右側に置かれてもよい。変換後、y座標は幅になり、これは、慣例により、半平面の右側が常に負であるため、半平面座標では正になる。これに関して、最小値の高さはy=0になる。自律車両100と物体との間の重なりを推論する場合、左フロントおよびリアフェンディングポリライン輪郭表現550、540は、半平面に沿って前後に「移動」され得る。したがって、自律車両のバンパーポリライン輪郭表現のx座標は、相対的な数値であり得る。計算の便宜のために、右フロントフェンディングポリライン輪郭表現510では、自律車両のフロントバンパーの最も遠いまたは右端の点をx=0.0に割り当てることができ、右リアフェンディングポリライン輪郭表現540では、リアバンパーの最も遠いまたは左端の点をx=0.0に割り当てることができる。右フロントフェンディングポリライン輪郭表現510の半平面上の残りのx座標はすべて、右端の点に対して負の数である。右リアフェンディングポリライン輪郭表現520の半平面上の残りのx座標はすべて、左端の点に対して正の数である。
【0066】
図17は、自律運転モードを有する車両を操縦するために、コンピューティングデバイス110のプロセッサ120など、1つ以上のコンピューティングデバイスの1つ以上のプロセッサによって実行され得る本開示の態様による例示的なフロー
図1700である。例えば、ブロック1710で、自律車両の環境で検出された物体の形状および場所を表すポリゴンを受信する。例えば、自律車両100が走り回る際、認知システム172は、自律車両の環境内の物体の形状および場所を検出および特定し得る。例えば、認知システムは、場所情報、ならびに検出された各物体の形状および場所を表すポリゴンを提供してもよい。物体を表すポリゴンは、任意の座標系、例えば、緯度と経度、または自律車両100もしくは認知システム172のセンサの座標系にあり得る。
【0067】
ブロック1720で、半平面座標系における自律車両の輪郭の半分以下を表す自律車両のポリライン輪郭表現にアクセスする。ポリライン輪郭表現は、アクセスされ、取得され、受信され、またはその他の方法で特定され得る。例えば、フェンディングポリライン輪郭表現510、520、540、550は、例えば、ネットワークを介してリモートコンピューティングデバイスから受信した後、および/またはコンピューティングデバイス110に直接ダウンロードされた後、メモリ130に事前に格納されてもよい。これに関して、ポリライン輪郭表現は、必要に応じてメモリにアクセスし、またはメモリから取得することができる。上で論じたように、ポリライン輪郭表現、またはフェンディングポリライン輪郭表現510、520、540、550のそれぞれは、複数の頂点および線分を含む。
【0068】
ブロック1730で、物体を表すポリゴンの座標を、半平面座標系に変換する。例えば、衝突分析を実行するとき、物体を表すポリゴンは、場所情報を使用して半平面座標系に変換され得る。これは、例えば、半平面の順方向と垂直方向にあるポリゴンの極点を見つけることによって行われ得る。例えば、
図6は、認知システム172のセンサによって検出された物体を表すポリゴン600の図を提供する。この例では、半平面530は、実世界の座標系(経度および経度)に関して示されている。半平面530に関する法線および接線方向(矢印で表される)も示されている。極点610、620は、半平面530に関して、ポリゴン600の最も反接線の点および最も反法線の点を表す。
【0069】
次いで、ポリゴン600の全部または一部分が、物体を表すポリゴンから判定または抽出され得る。例えば、凸ポリゴンの場合、所与の方向でのポリゴンの極点は、O(log(n))時間計算量を使用して判定することができ、nはポリゴンの頂点の数である。この例では、半平面に関してこれらの点のこれらのy座標は、ポリラインの最大y座標値以下であるので、自律車両が半平面方向に沿って(すなわち、その軌道をたどって)走行するときに衝突をチェックする際に、点610、620、630、および640を変換する必要がある。言い換えると、
図6の640と610の間(反時計回りの方向)の点は、点610(半平面方向において最後部の点である)よりも早く自律車両(というよりもむしろ、ポリライン600)と衝突することはできない。これは、ポリゴンのすべてのy座標(半平面座標にある場合)が最大y座標よりも小さい場合にも当てはまる。その部分のポリゴン点は、半平面座標に変換され得る。例えば、
図7および
図8(
図8は、自律車両100の相対的な場所を示している)に示されるように、ポリゴン600は、半平面座標に変換されている。この例では、点610は、極値X座標を表し、点620は、極値(非常に低い)y座標を表す。点の回転および並進を伴うものなど、任意の座標変換アルゴリズムが使用され得る。
【0070】
図17に戻ると、ブロック1740で、変換された座標を使用して、ポリライン輪郭表現と物体を表すポリゴンとの間の衝突場所。これには、自律車両の掃引体積を定義し、かつポリライン輪郭表現が物体の表現と交差する場所を判定するために、1次元で(半平面方向に沿って)ポリライン輪郭表現を数学的に「スライドさせること」または「移動させること」が伴い得る。実際には、これには、ポリライン輪郭表現(および/または物体の表現)が衝突するにはどれだけ移動(または半平面に沿ってスライド)する必要があるかを判定するために、2つの点(1つはポリライン輪郭表現上にあり、1つはポリゴン上にある)の間の位置またはx座標を減算することが伴い得る。衝突場所には、自律車両の現在または将来の軌道(例えば、プランニングシステム168によって生成された)が与えられた場合の自律車両と衝突するであろう物体のポリライン輪郭表現上の点または特定の線分に対応する進入場所が含まれ得る。
【0071】
例えば、
図9を見ると、ポリライン輪郭表現は、自律車両の計画された軌道に沿って物体に向かってスライドまたは移動(前方にまたは後方に)し得る(または、むしろ、x座標を互いに減算し得る)。
図9の例では、フロントフェンディングポリライン輪郭表現510が使用され、自律車両100の計画された軌道の方向に移動される。自律車両が後方に移動しているときは、リアフェンディングポリライン輪郭表現を使用して進入場所を判定することになる。物体を表すポリゴンの各線分(頂点のペアとそれらの間の線分など)の進入場所を判定し得る。ここで、点620と630との間の線分910を、進入場所として特定し得る。
【0072】
例えば、各線分について、その線分の半平面座標系(D)への最も深い侵入点を判定し得る。
図10を見ると、簡単にするために線分910のみを参照すると、線分910の最も深い部分とフロントフェンディングポリライン輪郭表現510との間のこの距離Dを判定し得る。同様に、
図11を見ると、簡単にするために線分910のみを参照すると、線分910の最も深い部分とフロントフェンディングポリライン輪郭表現510との間のこの距離Dを判定し得る。このプロセスは、物体の表現の部分の他の線分に対して繰り返され得る。
【0073】
半平面の反接線方向におけるポリゴンの極点の深さが、フロントフェンディングポリライン輪郭表現510の最小y座標を下回る場合、右フロントフェンディングポリライン輪郭表現が使用され得る。例えば、
図12は、物体を表すポリゴン1200の線分1210の最も深い侵入点からの距離を表している。この例では、右フロントフェンディングポリライン輪郭表現550の反転バージョン1220が使用されている。
【0074】
同様に、半平面の接線方向におけるポリゴンの極点の深さが、リアフェンディングポリライン輪郭表現520の最小y座標を下回る場合、左リアフェンディングポリライン輪郭表現(または、むしろ右側)が使用され得る。
図13は、物体を表すポリゴン1200の線分1320(すなわち、右リア半平面座標系内にある)の最も深い侵入点からの距離を表している。この例では、右リアフェンディングポリライン輪郭表現540が使用されている。
【0075】
Dと同じ侵入深さを有するフロントフェンディングポリライン輪郭表現およびリアフェンディングポリライン輪郭表現のそれぞれ(または逆ポリライン輪郭表現)上のポリライン輪郭表現線分を特定し得る。
図10、
図11、
図12、および
図13の各例において、破線の矢印は、対応するポリライン輪郭表現のそれぞれの線分1040、1140、1240、1340を指している。距離Dを見つけることにより、コンピューティングデバイスは、ポリゴンのどの部分が進入場所の判定に関連するかを判定することが可能になり得る。線分の各頂点について、その頂点は、進入場所を判定するために、同じ深さで自律車両のポリライン輪郭表現に投影され得る。例えば、
図9の線分910の例に戻ると、点620および630は、進入場所を判定するために、対応する深さで自律車両のポリライン輪郭表現に投影され得る。あるいは、車両のポリライン輪郭表現上の各頂点について、その頂点は、対応するポリゴン線分に投影されて、侵入場所を判定し得る。これらの投影は、深さが単にそれぞれの頂点の点のy座標、というよりもむしろ、点620と630のy座標であり得るため、半平面座標で簡単に実行され得る。投影後、右端の位置(ポリライン輪郭表現がスライドしてポリゴンと衝突する可能性がある)というよりもむしろ、進入場所が特定され得る。例えば、このプロセスは、ポリラインおよびポリゴンの頂点を最小深さ(最小y座標)から最大深さ(最高y座標)に向かって分析して、例えば、同じy座標を有する点のx座標を減算することによって、衝突をチェックすることにより、開始され得る。そのため、コンピューティングデバイス110は、y座標の範囲と重なっているポリラインおよびポリゴン線分をチェックするだけでよい。
【0076】
衝突場所の進入場所を判定することに加えて、衝突場所の退出場所も同様の方法で判定され得る。これは、自律車両が前方に移動しているときのリアフェンディングポリライン輪郭表現と、自律車両が後方に移動しているときのフロントフェンディングポリライン輪郭表現を使用して行い得る。これには、左側の半平面座標系の接線方向、または右側の半平面座標系の反接線方向にあるポリゴンの最極点を特定することが伴い得る。(車両が前方に移動しているか後方に移動しているかに応じて)、退出場所を判定するために、ポリラインがこの最極点を超えて移動するときを判定する。
【0077】
例えば、
図14を見ると(そして
図9の同じ例を使用して)、物体を表すポリゴン600の部分は、半平面座標の深さに対して同じ位置に置かれているが、自律車両の前ではなく自律車両100の後方に置かれている。これに関して、例えば、上記のように点620と640との間の線分1410について、左側の半平面座標系の接線方向にポリゴン600の最極点(ここでは点640)が与えられた場合の退出場所を判定するために、リアフェンディングポリライン輪郭表現を自律車両100の軌道の方向に「スライド」または「移動」させるのではなく、リアフェンディングポリライン輪郭表現は、物体(または関連部分および/または線分)を表すポリゴン600に向かって移動される。実際には、これにはまた、リアフェンディングポリライン輪郭表現(および/または物体の表現)が衝突するためにどれだけ移動(または半平面に沿ってスライド)する必要があるかを判定するために、2つの点(1つはポリライン輪郭表現上にあり、1つはポリゴン上にある)の間の位置またはx座標を減算することが伴い得る。上記の例と同様に、最後部の点または最前部の点の距離Dに応じて、リアフェンディングポリライン輪郭表現の反転バージョン(または右側)が使用され得る。
【0078】
実際の進入場所および退出場所を判定するために、複数の衝突場所(すなわち、複数の進入/退出場所のペア)が存在し得る凹ポリゴンなど、より複雑な物体を表すより複雑なポリゴンの場合、自律車両の左側および右側または両方の半平面についての両方のポリライン輪郭表現が使用され得る。言い換えると、左フロントフェンディングポリライン表現の半平面と、右フロントフェンディングポリライン表現の半平面に対応するy座標とで境界付けられた「コリドー」が使用され得る。
図16Aおよび
図16Bは、それぞれ、凹ポリゴン1620および1640によって表される物体に接近する車両100を表している。次いで、コンピューティングデバイス110は、凸ポリゴンとコリドーの境界との間のすべての交点を特定し得る。例えば、
図16Aでは、点1601~1606が特定され、
図16Bでは、点1631~1638が特定される。次いで、コンピューティングデバイスは、交点を分析して、独立した重なりを判定し得る。物体ポリゴンの縁が、コリドーの同じ側に互いに直接隣接してコリドーに進入し、次いで退出することになる2つの近隣のまたは隣接する交差点(例えば、潜在的な衝突場所と潜在的な退出場所を表す)が存在する場合、これらの点は無視してもよい。例えば、
図16Aでは、交点1603と1604は無視され、
図16Bでは、交点はどれも無視されない。
【0079】
残りの点のうち、コンピューティングデバイスは、物体と重なる衝突場所および退出場所を判定するために、進入場所および退出場所を特定し得る。自律車両がポリゴンに進入するであろう進入点の場合、コンピューティングデバイスは、最小x座標値を有する進入点を特定し得る。自律車両がポリゴンを退出するであろう退出場所の場合、コンピューティングデバイスは、最大x座標値を有する退出場所を特定し得る。
【0080】
図16Aの例では、進入場所1614は、交点1601と1602との間の線分上にあり、進入場所のx座標は、左または右のフロントフェンディングポリライン(ここでは左)が点1601と1602の間の線分からのx方向の最小距離を有する場所である。同様に、退出場所1612は、交点1605と1606との間の線分上にあり、退出場所のx座標は、左または右のリアフェンディングポリライン(ここでは右)が1605と1606との間の線分でのx方向の最大距離を有する場所である。
【0081】
図16Bの例では、ポリゴン1640には2つの重なりがある。第1の重なりの進入場所1642は、交点1631と1632との間の線分上にあり、進入場所のx座標は、左または右のフロントフェンディングポリラインが点1631と1632との間の線分からのx方向の最小距離を有する場所である。同様に、第1の重なりの退出場所1644は、交点1633と1634の間の線分上にあり、退出場所のx座標は、左または右のリアフェンディングポリラインが1633と1634との間の線分でのx方向の最大距離を有する場所である。第2の重なりの進入場所1646は、交点1635と1636の間にあり、進入場所のx座標は、左または右のフロントフェンディングポリラインが点1635と1636との間の線分からのx方向の最小距離を有する場所である。同様に、第1の重なりの退出場所1648は、交点1637と1638の間にあり、退出場所のx座標は、左または右のリアフェンディングポリラインが1637と1638の間の線分でのx方向の最大距離を有する場所である。これらの例では、自律車両が
図16Aのスペース1612に安全に入ることができる可能性はないが、交点1634と交点1635との間のx方向の距離が少なくとも自律車両100の長さと同じ長さであれば、自律車両が
図16Bのスペース1652に安全に入ることができる可能性があり得る。
【0082】
ブロック1750で、自律車両は、衝突場所に基づいて、自律運転モードにおいて制御されて、物体との衝突を回避する。例えば、進入場所および衝突退出場所が判定されると、自律車両のコンピューティングデバイスはこの情報を使用して、物体を回避するために、自律運転モードにおいて自律車両の速度をより適切に制御する方法(例えば、より高速でまたはより低速で運転する)を判定することができる。進入場所は、自律車両が物体と衝突する場所を特定し得る一方で、退出場所は、自律車両が衝突から抜け出すことができる方法を特定し得る。これは、車両のコンピューティングデバイスが物体の経路を追い越す(譲るのではなく、前に進む)ことを判定した場合に有用であり得る。例えば、異なる時点でのポリゴン600を示す
図15を参照されたい。異なる時点でのポリゴン600のこの描写は、実際には、時間の経過に伴う物体の経路を表す。
図15はまた、物体の進行方向ならびに車両100の進行方向を示している。時間の経過とともに(右矢印に従って)、物体は画の右下に向かって、自律車両の軌道(というよりもむしろ自律車両の進行方向)を横切って移動すると予想される。自律車両100が、ポリゴン600の影付きバージョンの場所で最初に物体と衝突する可能性があると仮定すると、自律車両100は、速度を落とし、進入場所の前の物体の経路ではなく物体に道を譲ることができる。あるいは、自律車両100は、物体がポリゴンの影付きバージョンの場所に到着する前に、ポリゴン600の退出場所よりも速くそして遠くまで運転することができる。したがって、退出場所は進入場所と同じくらい重要である。
【0083】
上記の例のように、物体の輪郭は、多くの場合、2Dまたは3Dポリゴンでモデル化され、これは、自律車両の認知システムによって検出された物体のすべてのポイントを境界付ける。
図25は、自律運転モードを有する車両を操縦するために、コンピューティングデバイス110のプロセッサ120など、1つ以上のコンピューティングデバイスの1つ以上のプロセッサによって実行され得る本開示の態様による例示的なフロー
図2500である。例えば、ブロック2510で、自律車両の環境で検出された物体の形状および場所を表すポリゴンを受信する。例えば、自律車両100が走り回る際、認知システム172は、自律車両の環境内の物体の形状および場所を検出および特定し得る。例えば、認知システムは、場所情報、ならびに検出された各物体の形状および場所を表すポリゴンを提供してもよい。物体を表すポリゴンは、任意の座標系、例えば、緯度と経度、または自律車両100もしくは認知システム172のセンサの座標系にあり得る。
【0084】
物体の予測された軌道は、例えば、様々な行動モデリング手法、ならびに物体、他の物体、および自律車両の環境一般についての、認知システム172からのセンサデータを使用して、行動モデリングシステム174によっても判定され得る。物体の2Dまたは3D経路は、予測された軌道に沿って物体を表すポリゴンを移動することによって判定され得る。衝突のモデリングは、典型的には、自律車両の将来の軌道を使用して自律車両の2Dまたは3D経路を判定し、物体の2Dまたは3D経路と交差するかどうかを判定することによって行われる。
【0085】
ただし、認知システムおよび行動モデリングシステム174からの物体を表すポリゴンの特性(サイズ、形状、位置、速度、加速度など)の不確実性のために、物体の進行方向に対する重大な横方向の不確実性が存在し得る。そのため、物体の2Dまたは3D経路はかなり不正確になる可能性があり、自律車両の2Dまたは3D経路と比較した場合、衝突の判定が不正確になる可能性がある。
【0086】
図18は、横方向の不確実性が2Dでの衝突分析にどのように関連するかの例を示す。この例では、物体Aを表すポリゴン1820は、3つの異なる時間、すなわち、時間t0、t1、t2で描かれている。ここで、物体Aは、物体Aを表すポリゴン1820-t0の場所に対応する場所で、時間t0で検出され得る。行動モデリングシステム174は、物体がある時点でポリゴン1820-t1および1820-t2の場所にあるように、物体Aが軌道1830をたどるであろうと予測し得る。ポリゴン1840-Lおよび1840-Rは、時間t1での物体Aの場所の横方向の不確実性の限界を表す。これらの限界は、オペレータが設定することができ、横方向の不確実性が不確実性の所定の限界よりも大きい場所(例えば、99.9%または0.99以上もしくは以下)または不確実性の横方向の距離の所定の限界(例えば、2メートル以上または以下)のいずれかに対応し得る。理解を容易にするために、時間t2での物体の場所の不確実性は描写されていない。
【0087】
さらに、車両100は、計画された軌道をたどることができ、あるいは、プランニングシステム168は、自律車両がたどる計画された軌道を生成していることがある。領域1810は、計画された軌道をたどるときの車両100の掃引体積を表し得、車両100を表すポリゴン400または追加の頂点を有するより複雑なポリゴンを使用して判定され得る。見てわかるように、物体の横方向の不確実性は、自律車両がポリゴン1820-t1の場所よりもはるかに広い領域で物体と衝突する可能性があることを意味し得る。したがって、そのような不確実性は、時間t1での物体の場所でのポリゴン1820の衝突場所(進入場所および退出場所を含む)の判定をかなり不正確にすることがある。
【0088】
これらの欠点に対処するために、物体の横方向の不確実性は、行動モデリングシステム174によって出力される不確実性からの平均および標準偏差(sd)を持つ正規分布としてモデル化され得る。例えば、予測された軌道に沿った異なる点での物体の場所(というよりもむしろ物体を表すポリゴンの場所)の不確実性は、行動モデリングシステム174によって提供され得る。ポリゴン1820-t1の場所に対する物体Aの横方向の不確実性を表す
図19を参照すると、横方向の不確実性は、ポリゴン1820-t1の場所から離れてポリゴン1840-Lの場所に向かって移動するにつれて増加し、ポリゴン1840-Lの場所から離れてポリゴン1820-t1の場所に向かって移動するにつれて減少する。同様に、横方向の不確実性は、ポリゴン1820-t1の場所から離れてポリゴン1840-Rの場所に向かって移動するにつれて増加し、ポリゴン1840-Rの場所から離れてポリゴン1820-t1の場所に向かって移動するにつれて減少する。1840-Lと1840-Rの外縁間の距離は、時間t1での物体Aの場所に横方向の不確実性の限界が与えられた場合の横方向の不確実性の「長さ」を定義し得る。曲線1920は、時間t2での物体Aの横方向位置の確率曲線を表す。曲線1920の下の領域は、物体が任意の2つの取り得る場所の間にある確率を提供する。例えば、ポリゴン1840-Lと1940-Lの左側の2つの場所の間は、確率は0.3である。
【0089】
自律車両100の経路との重なりの確率が判定され得る。自律車両の経路が物体と交差する可能性が高い場所を特定するために、コンピューティングデバイス110は、自律車両の計画された軌道を、離散的な時点の場所を表す一連のボックス(例えば、2Dまたは3D経路)に変換し得る。同様に、コンピューティングデバイス110は、物体の予測された軌道を、物体の掃引経路(例えば、2Dまたは3D経路)を表す一連のボックスに変換し得る。次いで、コンピューティングデバイス110は、自律車両の経路に沿って検索して、物体の経路から10メートル以上または以下などの所定の距離内にある物体のボックス(予測された場所を表す)を特定し得る。これに関して、コンピューティングデバイス110は、自律車両の計画された将来の場所、ならびに互いに所定の距離内にある物体の対応する予測された将来の場所(すなわち、特定されたボックスの場所)を特定し得る。
【0090】
物体と自律車両100の計画された軌道との間の距離は、自律車両の特定された計画された将来の場所について、自律車両の計画された軌道上の物体と自律車両のある場所との間の進入距離および退出距離を計算することによって判定され得る。例えば、d1は、物体が自律車両の計画された軌道との重なりに進入するときの距離を表し得、d2は、物体が自律車両の計画された軌道との重なりを退出するときの距離を表し得る。重なりの確率は、d1/sdとd2/sdとの間の累積分布関数から判定され得る。この点で、d1およびd2は、物体を表すポリゴンと自律車両の経路との間の重なり領域の境界に対応する。
【0091】
距離d1および距離d2、というよりもむしろ、自律車両の計画された軌道に進入および退出するであろう物体を表すポリゴンの位置を判定するために、物体のポリゴンは、フロントポリラインおよびリアポリラインに分解され得る。
図25に戻ると、ブロック2520で、物体を表すポリゴンのフロントポリラインは、物体の方位および輪郭に基づいて判定される。物体を表すポリゴンのリアポリラインも、物体の輪郭に基づいて判定され得る。そうするために、物体の方位に対して左端と右端の点を特定し得る。これは、物体の座標系をその特定を単純化するものに変換することを含む場合も含まない場合もある既知の手法を使用して達成され得る。例えば、
図20は、車両の環境で検出された物体Bを表す例示的なポリゴン2000である。
図20はまた、物体Bの予測された軌道に従って物体の方位2010を特定する。その方位から、物体のフロント2020およびリア2022を表すポリゴン、ならびに左端の点2030および右端の点2032が特定され得る。
【0092】
これらの左端と右端の点から、
図21および
図22の例に示すように、ポリゴンは、フロントポリラインとリアポリラインに分割され得る。例えば、フロントポリライン2110は、左端の点2030と右端の点2032との間かつそれら両点を含む物体Bを表すポリゴン2000のフロント2020上のすべての頂点に対応する。さらに、リアポリライン2210は、左端の点2030と右端の点2032との間かつそれら両点を含む物体Bを表すポリゴン2000のリア2022上のすべての頂点に対応する。フロントポリライン2110およびリアポリライン2210のそれぞれは、実際には、物体を表すポリゴンのフロント幅プロファイルおよびリア幅プロファイルを表し得る。
【0093】
図25に戻ると、ブロック2530で、フロントポリラインの座標を半平面座標系に変換する。さらに、リアポリラインの座標を半平面座標系に変換し得る。言い換えると、次いで、フロントポリラインおよびリアポリラインのそれぞれを半平面座標に変換し得る。これは、例えば、物体の方位に対して半平面の順方向(「フロント」)および逆方向(「リア」)にある物体の極点を表すポリゴンを見つけることによって実行され得る。
図21の例では、物体の最前部の点は、点2120であり、
図22では、物体の最後部の点は、点2022である。
図23Aを見ると、フロント半平面2310は、点2120を通過する方位2010に垂直な平面として判定され得る。
図23Bを見ると、リア半平面2320は、点2220を通過する方位2010に垂直な平面として判定され得る。さらに、自律車両の特定された計画された将来の場所はまた、物体の各半平面座標系(フロントおよびリアなど)に変換され得る。言い換えると、自律の特定された計画された将来の場所はそれぞれ、予想される場合の物体ポリゴンのフロント半平面座標系およびリア半平面座標系の座標に変換される。
【0094】
衝突場所、というよりもむしろ、フロントポリラインおよびリアポリラインのそれぞれの進入場所および退出場所を判定し得る。例えば、
図25に戻ると、ブロック2540で、フロントポリラインおよびリアポリラインの変換された座標、および自律車両の特定された計画された将来の場所の変換された座標を使用して、フロントポリラインと物体を表すポリゴンとの間の進入場所および退出場所を判定する。さらに、自律車両の計画された将来の場所の変換された座標に基づいて、およびフロントポリラインとリアポリラインの変換された座標を使用してリアポリラインと物体を表すポリゴンとの間の進入場所および退出場所を判定する。
【0095】
各進入場所または各退出場所は、自律車両の現在の計画された軌道が与えられた場合の自律車両(というよりもむしろ、自律車両の計画された軌道)と衝突するであろうフロントポリラインまたはリアポリラインの特定の線分に対応し得る。進入場所は、自律車両が物体と衝突する場所を特定し得る一方で、退出場所は、自律車両が物体の軌道との衝突から抜け出すことができる方法を特定し得る。進入場所および退出場所を判定することは、フロントポリラインまたはリアポリラインが経路または以下のイメージにおいて示すように自律車両の少なくともある将来の予測された場所と交差する場所を判定するために、半平面方向に沿ってフロントポリラインおよびリアポリラインを数学的に「スライドさせること」または「移動させること」を伴い得る。例えば、上記のように、「掃引」体積または領域ではなく、自律車両の経路は、異なる位置にある自律車両を表す複数の離散的なボックスまたはポリゴンと考えることができる。したがって、場合によっては、物体が所与の軌道で自律車両と交差する可能性が高いかどうかは、経路ではなく自律車両を表すボックスまたはより複雑なポリゴンを使用して判定され得る。
【0096】
実際には、これには、物体を表すポリライン(または物体)が自律車両と衝突するためにどれだけ移動(または半平面に沿ってスライド)する必要があるかを判定するために、2つの点(1つはポリライン上にあり、1つは経路上にある)の間の位置またはx座標を減算することが伴い得る。進入場所は、自律車両の現在のまたは将来の軌道が与えられた場合の自律車両と衝突するであろうポリライン上の点またはポリラインの特定の線分に対応し得る。退出場所は、自律車両の現在のまたは将来の軌道が与えられた場合の自律車両と衝突するであろう最もetreemのx値を有するポリライン上の点または特定の線分に対応し得る。
【0097】
図24の例を見ると、車両100を表すポリゴン400は、変換された座標を使用して、物体Bについてフロント半平面2310およびリア半平面2320の両方に関して、自律車両の計画された軌道に沿った自律車両の特定された計画された将来の場所に描かれている。これに関して、フロント半平面およびリア半平面のそれぞれのX=0値の間の距離、または長さ2410は、上記の例で説明したように、車両が計画された将来の場所にあるときの物体Bの場所の横方向の不確実性に限界が与えられた場合の横方向の不確実性の「長さ」に対応する。繰り返すが、フロントポリラインをフロント半平面およびリア半平面に沿って数学的にスライドさせることにより(フロント半平面およびリア半平面のそれぞれについてX=0から開始する)、進入場所が判定され得る。各進入場所は、物体を表すフロントポリラインまたはリアポリラインが最初に車両を表すポリゴンと接触するであろう、フロント半平面またはリア半平面上の線分または点に対応し得る。
図24の例では、距離Front_Entryは、フロント半平面2310に沿ったX=0と、フロントポリライン2110が最初にポリゴン400と接触するであろうフロントポリライン2110上の線分または点との間の距離を表している。距離Rear_Entryは、リア半平面2310に沿ったX=0と、リアポリライン2210が最初にポリゴン400と接触するであろうリアポリライン2210上の線分または点との間の距離を表している。
【0098】
退出場所を判定するとき、フロントポリラインまたはリアポリラインがポリゴンと接触しなくなる点を使用するのではなく、フロント半平面座標系またはリア半平面座標系での車両の最極点またはx座標がそれぞれ使用される。
図24の例では、距離Front_Exitは、フロント半平面2310に沿ったX=0と、フロントポリライン2110が最後にリア半平面に沿って数学的にスライドした後のフロント半平面座標系のポリゴン400の最極x座標と交差するであろうフロントポリライン2110上の線分または点との間の距離を表している。距離Rear_Exitは、リア半平面2310に沿ったX=0と、リアポリライン2210が最後にリア半平面に沿って数学的にスライドした後のフロント半平面座標系のポリゴン400の最極x座標と交差するであろうリアポリライン2210上の線分または点との間の距離を表している。
【0099】
次いで、距離d1およびd2は、フロント半平面およびリア半平面について進入場所および退出場所から判定され得る。例えば、d1は、フロントポリラインの進入場所の最小x座標値と、フロント半平面に投影されたリアポリラインの退出場所のx座標値とを取得することによって判定され得る。D2は、フロントポリラインの退出場所の最大x座標値と、フロントポリラインに投影されたリアポリラインの進入場所のx座標とを取得することによって判定され得る。別の言い方をすれば、ポリゴンとポリラインの座標は、半平面座標系にあるため、距離d1およびd2は、次の式を使用して判定され得る。{d1=min(Front_Entry,Length-Rear_Entry}、d2=max(Front_Exit,Length-Rear_exit)}、式中、Front_Entryは、フロントポリラインの進入場所に対するx座標または距離を表し、Rear_Entryは、リアポリラインの進入場所に対するx座標または距離を表し、Front_Exitは、フロントポリラインの退出場所に対するx座標または距離を表し、Rear_Exitは、リアポリラインの退出場所のx座標を表し、Lengthは、車両が計画された将来の場所にあるときの物体の場所の横方向の不確実性に限界が与えられた場合の横方向の不確実性の前述の「長さ」を表す。次いで、これらの値d1およびd2を使用して、上記のように所与の場所での重なり(例えば、衝突)の確率を判定し得る。
【0100】
本明細書に記載の例では、物体Bを表すポリゴン400の特定の場所は、自律車両の計画された軌道と物体の予測された軌道とが重なる計画された軌道に従った自律車両100の離散した場所である。そのため、計画された軌道と投影された軌道とが重なる場所が複数ある場合は、衝突場所および重なりの確率の前述の判定を、そのような複数の場所に対して行い得る。
【0101】
図26に戻ると、ブロック2650で、自律車両は、進入場所および退出場所に基づいて、自律運転モードにおいて制御されて、物体との衝突を回避する。繰り返すが、衝突場所は、車両のコンピューティングデバイスが物体を回避するまたは追い越すと判定した場合に有用であり得る。例えば、距離d1およびd2は、上記のように重なりの確率を判定するために使用され得る。重なりの確率が判定されると、自律車両のコンピューティングデバイスは、物体を回避するために、この情報を使用して、自律運転モードにおいて自律車両の速度をより適切に制御する方法(例えば、より高速でまたはより低速で運転する)を判定する。場合によっては、自律車両は新しい軌道を生成することさえあってもよい。
【0102】
本明細書での機能と例は、自律車両の衝突場所の判定に関連しているが、そのような機能は、非自律車両、または手動もしくは半自律運転モードにおいてのみ動作する車両、または完全な自律運転モードにおいて動作しない自律車両にも利用され得る。例えば、半自律運転モードまたは手動運転モードの場合、この方法は、将来の運転軌道の確率論的リスクを評価または予測するのに役立ち得、システムの安全性を高めることもできる。
【0103】
図26は、自律運転モードを有する車両を操縦するために、コンピューティングデバイス110のプロセッサ120など、1つ以上のコンピューティングデバイスの1つ以上のプロセッサによって実行され得る本開示の態様による別の例示的なフロー
図2800である。ブロック2610で、第1の物体の形状および場所を表すポリゴンを受信する。ブロック2620で、第2の物体の形状および場所を表すポリゴンの一部分のポリライン輪郭表現を受信する。ポリライン輪郭表現は、半平面座標にあり、複数の頂点および複数の線分を含む。ブロック2630で、第1の物体を表すポリゴンの座標を、半平面座標系に変換する。ブロック2640で、ポリライン輪郭表現と第1の物体を表すポリゴンとの間の衝突場所を、変換された座標を使用して判定する。次に、ブロック2650で、自律車両を、衝突を回避するために、衝突場所に基づいて、自律運転モードにおいて制御する。この例では、第1の物体は、自律車両であり得、第2の物体は、自律車両の環境内の物体である。あるいは、第2の物体は、自律車両であり得、第1の物体は、自律車両の環境内の物体である。さらに、衝突場所には、衝突の進入場所と衝突の退出場所が含まれ得る。
【0104】
本明細書に記載の機能は、衝突分析のための物体の効率的でありながら現実的な表現を提供し得る。例えば、本明細書に記載の機能は、物体と自律車両の軌道との間の重なり確率を計算するための効率的かつ正確な方法を可能にし得る。さらに、自律車両のポリライン表現の場合、自律車両の表現は、自律車両の実際の寸法よりも大きい2次元の長方形に一般化されないため、これにより、自律車両の掃引体積を大幅に削減することができ、これは、自律車両がより狭い通路を他の物体により近づいて通過することを可能にし得る。上記のように、衝突検出の目標は、最終的には控えめであることであり、起こりうる衝突を検出することである。ただし、ポリライン表現を使用すると、控えめな推定の性質を損なうことなく、自律車両と他の物体との間のより大きな距離の計算を可能にし得る。
【0105】
さらに、ポリライン輪郭表現は車両の半分に対応するだけでよく、衝突分析を実行するときに必要なのはその一部分(ピークの前後)のみであるため、これもメモリおよび処理リソースを大幅に削減することができる。上記のように、ポリライン輪郭表現はまた、自律車両の物理的な点に実際に対応する場合もしない場合もある長方形上の単なる点ではなく、自律車両のどの部分が衝突に関与するか(例えば、ミラーまたはバンパーと衝突する)の判定を可能にする。さらに、ポリライン輪郭表現のy座標の単調性により、物体が自律車両の軌道とどの程度重なるかがわかれば、衝突分析にいずれの線分を使用するかをすばやく判定することができる。車両およびリアルタイムの意思決定に加えて、本明細書に記載の機能は、試験状況を含むシミュレーションおよびビデオゲームなどの物体の仮想表現を含む車両以外の物体にも有用になり得る。例えば、本明細書に記載の機能を使用して、シミュレーション自体をより効率的にする仮想物体の衝突場所および退出場所を判定してもよい。
【0106】
実際の車両と組み合わせて使用する場合、ポリライン輪郭表現は、車両または車両環境内の物体を表す長方形のポリゴンであることがより微妙なニュアンスがあるため、本明細書に記載の機能は、自律車両と他の物体との間の計算された距離を効果的に増加させ得、これにより、他の物体との誤検知の衝突の可能性を減らし、別の物体によって誤ってブロックされたために車両が立ち往生する(進むことができない)可能性を減らし、自律車両が物体に近づいたり、物体の周りをゆっくり進んだりすることができ得るので、他の物体によって引き起こされる閉塞を減らすこともできる。これらの利点はすべて、自律車両が物体の周りをよりよく操縦できるようにし、場合によってはより速く運転できるようにし、回避的な(または別様に不快な)操縦の必要性も減らして、乗客の全体的な運転の快適さを向上させることができる。
【0107】
特段の記述がない限り、前述の代替例は、相互に排他的ではないが、独自の利点を達成するために様々な組み合わせで実施することができる。上述した機能のこれらおよび他の変形および組み合わせは、特許請求の範囲によって定義される主題から逸脱することなく利用することができるので、実施形態の前述の説明は、特許請求の範囲によって定義される主題を限定するものとしてではなく、例示として見なされるべきである。加えて、本明細書に記載の例、ならびに「など」、「含む」などと表現された節の提示は、特許請求の範囲の主題を特定の例に限定するものとして解釈されるべきではなく、むしろ、例は、多くの可能な実施形態のうちの1つだけを例示することが意図される。さらに、異なる図面中の同じ参照番号は、同じまたは類似の要素を特定することができる。