(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-10
(45)【発行日】2023-02-20
(54)【発明の名称】自動運転車の障害物回避に関する軌跡計画
(51)【国際特許分類】
B60W 30/10 20060101AFI20230213BHJP
B60W 60/00 20200101ALI20230213BHJP
G08G 1/16 20060101ALI20230213BHJP
【FI】
B60W30/10
B60W60/00
G08G1/16 C
(21)【出願番号】P 2020557246
(86)(22)【出願日】2020-02-26
(86)【国際出願番号】 CN2020076818
(87)【国際公開番号】W WO2021168699
(87)【国際公開日】2021-09-02
【審査請求日】2021-01-15
(73)【特許権者】
【識別番号】517323290
【氏名又は名称】バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッド
【氏名又は名称原語表記】Baidu.com Times Technology (Beijing) Co., Ltd.
【住所又は居所原語表記】2/F A2 Zhongguancun Software Park 17th building, No.8, Dongbeiwang West Road, Haidian District, Beijing 100080, China
(73)【特許権者】
【識別番号】516357421
【氏名又は名称】バイドゥ ユーエスエイ エルエルシー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】ユー ニン
(72)【発明者】
【氏名】ヂュー ファン
(72)【発明者】
【氏名】シュエ ジンジン
【審査官】竹村 秀康
(56)【参考文献】
【文献】特開2017-204151(JP,A)
【文献】特開2019-214273(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
B60W 30/00-60/00
G08G 1/00-99/00
(57)【特許請求の範囲】
【請求項1】
自動運転車両の被影響領域を決定するステップを含む、前記自動運転車両に取り付けられた複数のセンサから得られたセンサデータに基づいて前記自動運転車両の周囲の運転環境を感知するステップと、
前記自動運転車両が自動的に運転されて前記被影響領域の少なくとも一部を通過するように、前記運転環境に基づいて第一軌跡を計画するステップと、
前記被影響領域内の障害物が検出されることに応じて、前記障害物が前記被影響領域に滞留すると予想される時間を示す前記障害物の予想滞留時間を決定するステップと、
前記被影響領域に滞留する前記障害物を考慮して第二軌跡を計画するか、それとも前記自動運転車両を前記第一軌跡に基づいて制御するために、前記障害物が前記被影響領域を離れるのを一定時間待機するかを前記予想滞留時間に基づいて決定するステップとを含
み、
前記障害物の予想滞留時間を決定するステップは、確率密度関数を使用して前記被影響領域内の前記障害物の滞留時間の確率を計算し、前記滞留時間の確率に基づいて、前記被影響領域内の前記障害物の前記予想滞留時間を決定するステップを含む、
自動運転車両を操作するためのコンピュータ実装方法。
【請求項2】
前記障害物が前記第一軌跡の少なくとも一部を妨げるか否かを決定し、前記障害物が前記被影響領域内の前記第一軌跡の少なくとも一部を妨げる場合、前記予想滞留時間を決定するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記予想滞留時間が所定の閾値よりも大きいとの決定に応じて、前記第二軌跡を計画して前記第一軌跡を置き換えるステップをさらに含む、請求項1に記載の方法。
【請求項4】
前記確率密度関数は、以下のように定義されており、
f(x)=λe
-λx
ここで、xは障害物が被影響領域に滞留すると予想される時間を示し、λは運転環境に基づいて決定される、
請求項
1に記載の方法。
【請求項5】
前記滞留時間の確率は、特定の滞留時間候補が与えられた場合に前記確率密度関数の積分を計算することによって決定される、請求項
4に記載の方法。
【請求項6】
さらに前記予想滞留時間を考慮して、前記第一軌跡の第一軌跡長、および前記第一軌跡に関連付けられた前記自動運転車両の平均速度に基づいて、第一推定到着時間を決定するステップと、
前記第二軌跡の第二軌跡長、および前記第二軌跡に関連付けられた前記自動運転車両の平均速度に基づいて、第二推定到着時間を決定し、前記第一推定到着時間および前記第二推定到着時間に基づいて、前記第一軌跡と前記第二軌跡のどちらに沿って前記自動運転車両を運転するかを決定するステップとをさらに含む、
請求項
1に記載の方法。
【請求項7】
前記第二推定到着時間が前記第一推定到着時間よりも短い場合、前記第二軌跡に沿って前記自動運転車両を運転するが、そうでない場合、前記自動運転車両を待機させてから前記第一軌跡に沿って運転する、請求項
6に記載の方法。
【請求項8】
プロセッサによって実行されたときに前記プロセッサに自動運転車両を操作するための操作を実行させるコマンドが記憶された非一時的な機械可読媒体であって、前記操作は、 前記自動運転車両の被影響領域を決定するステップを含む、前記自動運転車両に取り付けられた複数のセンサから得られたセンサデータに基づいて前記自動運転車両の周囲の運転環境を感知するステップと、
前記自動運転車両が自動的に運転されて前記被影響領域の少なくとも一部を通過するように、前記運転環境に基づいて第一軌跡を計画するステップと、
前記被影響領域内の障害物が検出されることに応じて、前記障害物が前記被影響領域に滞留すると予想される時間を示す前記障害物の予想滞留時間を決定するステップと、
前記被影響領域に滞留する前記障害物を考慮して第二軌跡を計画するか、それとも前記自動運転車両を前記第一軌跡に基づいて制御するために、前記障害物が前記被影響領域を離れるのを一定時間待機するかを前記予想滞留時間に基づいて決定するステップとを含
み、
前記障害物の予想滞留時間を決定するステップは、確率密度関数を使用して前記被影響領域内の前記障害物の滞留時間の確率を計算し、前記滞留時間の確率に基づいて、前記被影響領域内の前記障害物の前記予想滞留時間を決定するステップを含む、
コマンドが記憶された非一時的な機械可読媒体。
【請求項9】
前記操作は、前記障害物が前記第一軌跡の少なくとも一部を妨げるか否かを決定し、前記障害物が前記被影響領域内の前記第一軌跡の少なくとも一部を妨げる場合、前記予想滞留時間を決定するステップをさらに含む、請求項
8に記載の機械可読媒体。
【請求項10】
前記操作は、前記予想滞留時間が所定の閾値よりも大きいとの決定に応じて、前記第二軌跡を計画して前記第一軌跡を置き換えるステップをさらに含む、請求項
8に記載の機械可読媒体。
【請求項11】
前記確率密度関数は、以下のように定義されており、
f(x)=λe
-λx
ここで、xは障害物が被影響領域に滞留すると予想される時間を示し、λは運転環境に基づいて決定される、
請求項
8に記載の機械可読媒体。
【請求項12】
前記滞留時間の確率は、特定の滞留時間候補が与えられた場合に前記確率密度関数の積分を計算することによって決定される、請求項1
1に記載の機械可読媒体。
【請求項13】
前記操作は、
さらに前記予想滞留時間を考慮して、前記第一軌跡の第一軌跡長、および前記第一軌跡に関連付けられた前記自動運転車両の平均速度に基づいて、第一推定到着時間を決定するステップと、
前記第二軌跡の第二軌跡長、および前記第二軌跡に関連付けられた前記自動運転車両の平均速度に基づいて、第二推定到着時間を決定し、前記第一推定到着時間および前記第二推定到着時間に基づいて、前記第一軌跡と前記第二軌跡のどちらに沿って前記自動運転車両を運転するかを決定するステップとをさらに含む、
請求項
8に記載の機械可読媒体。
【請求項14】
前記第二推定到着時間が前記第一推定到着時間よりも短い場合、前記第二軌跡に沿って前記自動運転車両を運転するが、そうでない場合、前記自動運転車両を待機させてから前記第一軌跡に沿って運転する、請求項1
3に記載の機械可読媒体。
【請求項15】
プロセッサと、
前記プロセッサに接続して、前記プロセッサによって実行されたときに前記プロセッサに自動運転車両を操作するための操作を実行させるコマンドを記憶するメモリとを含み、前記操作は、
前記自動運転車両の被影響領域を決定するステップを含む、前記自動運転車両に取り付けられた複数のセンサから得られたセンサデータに基づいて前記自動運転車両の周囲の運転環境を感知するステップと、
前記自動運転車両が自動的に運転されて前記被影響領域の少なくとも一部を通過するように、前記運転環境に基づいて第一軌跡を計画するステップと、
前記被影響領域内の障害物が検出されることに応じて、前記障害物が前記被影響領域に滞留すると予想される時間を示す前記障害物の予想滞留時間を決定するステップと、
前記被影響領域に滞留する前記障害物を考慮して第二軌跡を計画するか、それとも前記自動運転車両を前記第一軌跡に基づいて制御するために、前記障害物が前記被影響領域を離れるのを一定時間待機するかを前記予想滞留時間に基づいて決定するステップとを含
み、
前記障害物の予想滞留時間を決定するステップは、確率密度関数を使用して前記被影響領域内の前記障害物の滞留時間の確率を計算し、前記滞留時間の確率に基づいて、前記被影響領域内の前記障害物の前記予想滞留時間を決定するステップを含む、
データ処理システム。
【請求項16】
前記操作は、前記障害物が前記第一軌跡の少なくとも一部を妨げるか否かを決定し、前記障害物が前記被影響領域内の前記第一軌跡の少なくとも一部を妨げる場合、前記予想滞留時間を決定するステップをさらに含む、請求項1
5に記載のシステム。
【請求項17】
前記操作は、前記予想滞留時間が所定の閾値よりも大きいとの決定に応じて、前記第二軌跡を計画して前記第一軌跡を置き換えるステップをさらに含む、請求項1
5に記載のシステム。
【請求項18】
コンピュータプログラムであって、プロセッサに実行されると、請求項1~
7のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、一般に、自動運転車両を操作することに関する。より具体的には、本開示の実施形態は、自動運転車両(ADV)のための軌跡計画方法に関する。
【背景技術】
【0002】
自動運転モード(例えば、無人運転)で運転している車両は、乗員、特に運転者をいくつかの運転関連の責任から解放することができる。自動運転モードで運転している場合、車両が車載センサを使用して様々な場所にナビゲートできるため、車両は、最小限のヒューマンコンピュータインタラクションで、または場合によっては乗客なしで運転することができる。
【0003】
動作計画および制御は、自動運転における重要な操作である。ADVは、車線境界のある道路運転シナリオと車線境界のないフリースペース運転シナリオの両方で運転する必要がある場合がある。道路運転シナリオのための従来の動作計画方法では、トポロジマップと特定の道路境界が必要とされる場合がある。従って、道路運転シナリオのための従来の動作計画方法は、前進と後退の軌跡の組み合わせを有する駐車、スリーポイントターン、障害物回避などの複雑なシナリオを処理することは困難である。従来のフリースペース経路計画方法は、軌跡をリアルタイムで生成する速度が遅く、障害物回避性能が低下する可能性がある。
【発明の概要】
【0004】
本開示の一態様によれば、自動運転車両を操作するためのコンピュータ実装方法が提供されており、前記方法は、
前記自動運転車両の被影響領域を決定するステップを含む、前記自動運転車両に取り付けられた複数のセンサから得られたセンサデータに基づいて前記自動運転車両の周囲の運転環境を感知するステップと、
前記自動運転車両が自動的に運転されて前記被影響領域の少なくとも一部を通過するように、前記運転環境に基づいて第一軌跡を計画するステップと、
前記被影響領域内の障害物が検出されることに応じて、前記障害物が前記被影響領域に滞留すると予想される時間を示す前記障害物の予想滞留時間を決定するステップと、
前記被影響領域に滞留する前記障害物を考慮して第二軌跡を計画するか、それとも前記自動運転車両を前記第一軌跡に基づいて制御するために、前記障害物が前記被影響領域を離れるのを一定時間待機するかを前記予想滞留時間に基づいて決定するステップとを含む。
【0005】
本開示の別の態様によれば、プロセッサによって実行されたときに前記プロセッサに自動運転車両を操作するための操作を実行させるコマンドが記憶された非一時的な機械可読媒体が提供されており、前記操作は、
前記自動運転車両の被影響領域を決定するステップを含む、前記自動運転車両に取り付けられた複数のセンサから得られたセンサデータに基づいて前記自動運転車両の周囲の運転環境を感知するステップと、
前記自動運転車両が自動的に運転されて前記被影響領域の少なくとも一部を通過するように、前記運転環境に基づいて第一軌跡を計画するステップと、
前記被影響領域内の障害物が検出されることに応じて、前記障害物が前記被影響領域に滞留すると予想される時間を示す前記障害物の予想滞留時間を決定するステップと、
前記被影響領域に滞留する前記障害物を考慮して第二軌跡を計画するか、それとも前記自動運転車両を前記第一軌跡に基づいて制御するために、前記障害物が前記被影響領域を離れるのを一定時間待機するかを前記予想滞留時間に基づいて決定するステップとを含む。
【0006】
本開示の別の態様によれば、データ処理システムが提供されており、このデータ処理システムは、
プロセッサと、
前記プロセッサに接続して、前記プロセッサによって実行されたときに前記プロセッサに自動運転車両を操作するための操作を実行させるコマンドを記憶するメモリとを含み、前記操作は、
前記自動運転車両の被影響領域を決定するステップを含む、前記自動運転車両に取り付けられた複数のセンサから得られたセンサデータに基づいて前記自動運転車両の周囲の運転環境を感知するステップと、
前記自動運転車両が自動的に運転されて前記被影響領域の少なくとも一部を通過するように、前記運転環境に基づいて第一軌跡を計画するステップと、
前記被影響領域内の障害物が検出されることに応じて、前記障害物が前記被影響領域に滞留すると予想される時間を示す前記障害物の予想滞留時間を決定するステップと、
前記被影響領域に滞留する前記障害物を考慮して第二軌跡を計画するか、それとも前記自動運転車両を前記第一軌跡に基づいて制御するために、前記障害物が前記被影響領域を離れるのを一定時間待機するかを前記予想滞留時間に基づいて決定するステップとを含む。
【0007】
本開示の別の態様によれば、コンピュータプログラムが提供されており、当該コンピュータプログラムがプロセッサに実行されると、本開示のいずれかの実施形態に記載の方法を実現させる。
【図面の簡単な説明】
【0008】
本開示の実施形態は、同じ参照符号が同様の要素を示す図面の各図において、限定的ではなく例示的な形態で示される。
【
図1】一実施形態に係るネットワークシステムを示すブロック図である。
【
図2】一実施形態に係る自動運転車両の例を示すブロック図である。
【
図3A】一実施形態に係る、自動運転車両と共に使用される感知・計画システムの例を示すブロック図である。
【
図3B】一実施形態に係る、自動運転車両と共に使用される感知・計画システムの例を示すブロック図である。
【
図4】一実施形態に係るルーティングモジュールおよび計画モジュールの例を示すブロック図である。
【
図5A】一実施形態に係る、オンレーンモードで操作する例を示す処理フローチャートである。
【
図5B】一実施形態に係る、オープンスペースモードで操作する例を示す処理フローチャートである。
【
図6】一実施形態に係る、ルーティングモジュールの例、および障害物回避モジュールを含む計画モジュールの例を示すブロック図である。
【
図7】一実施形態に係る障害物回避の例を示す処理フローチャートである。
【
図8A】ADVが車線境界のある第一運転領域で運転される例、および/または車線境界のないオープンスペースとしての第二運転領域で運転される例を示す図である。
【
図8B】ADVが車線境界のある第一運転領域で運転される例、および/または車線境界のないオープンスペースとしての第二運転領域で運転される例を示す図である。
【
図8C】ADVが車線境界のある第一運転領域で運転される例、および/または車線境界のないオープンスペースとしての第二運転領域で運転される例を示す図である。
【
図8D】ADVが車線境界のある第一運転領域で運転される例、および/または車線境界のないオープンスペースとしての第二運転領域で運転される例を示す図である。
【
図9A】一実施形態に係る、オープンスペースモードで操作する詳細な操作を示す図である。
【
図9B】一実施形態に係る、オープンスペースモードで操作する詳細な操作を示す図である。
【
図10】ADVがADVの移動を妨げる障害物に遭遇する例を示す図である。
【
図11】被影響領域における動的障害物の滞留時間の確率密度関数を示す図である。
【
図12】一実施形態に係る、ADVをオンレーンモードまたはオープンスペースモードのうちの1つで操作するプロセスの例を示すフローチャートである。
【
図13】一実施形態に係る、ADVをオープンスペースモードで操作するプロセスの例を示すフローチャートである。
【
図14】一実施形態に係る、ADVに障害物を回避させるプロセスの例を示すフローチャートである。
【発明を実施するための形態】
【0009】
本開示の様々な実施形態および態様は、以下で説明される詳細を参照して説明され、添付の図面は、様々な実施形態を示す。以下の説明および図面は、本開示の例示であり、本開示を限定するものとして解釈されるべきではない。本開示の様々な実施形態の包括的な理解を提供するために、多くの特定の詳細が説明される。しかし、特定の例では、本開示の実施形態の簡潔な説明を提供するために、周知または従来の詳細は説明されていない。
【0010】
本明細書における「一実施形態」または「実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれ得ることを意味する。本明細書の様々な場所での「一実施形態では」という句の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。
【0011】
いくつかの実施形態によれば、新しい障害物回避方法が開示される。この方法は、ADVの被影響領域における障害物(例えば、車両、歩行者、動物など)の滞留時間の確率を決定し、被影響領域におけるこの障害物の予想滞留時間(Tw)を計算し、ADVがADVの移動を妨げる障害物に遭遇したときに、ADVが待機すべきか、それとも再計画すべきかを決定するステップを含む。
【0012】
一実施形態によれば、ADVを操作するためのコンピュータ実装方法が開示される。ADVに取り付けられた複数のセンサから得られたセンサデータに基づいて、ADVの被影響領域内の障害物を検出し、同時に第一軌跡に沿って自動的に運転するようにADVを制御する。被影響領域内の障害物の予想滞留時間を決定する。被影響領域内の障害物の予想滞留時間に基づいて、第二軌跡を計画するか、それとも障害物が被影響領域を離れるのを待機するかを決定する。第一軌跡を計画するか、それとも障害物が被影響領域を離れるのを待機するかを決定することに基づいて、ADVが運転される第二軌跡を計画し、第二軌跡に沿って自動的に運転するようにADVを制御するか、または、障害物が被影響領域を離れるのを待機してから第一軌跡に沿って自動的に運転するようにADVを制御する。
【0013】
一実施形態では、この方法は、車線境界のないオープンスペースとしての運転領域で、オープンスペースモードで操作するステップをさらに含む。一実施形態では、被影響領域内の障害物の予想滞留時間を決定するステップは、確率密度関数を使用して被影響領域内の障害物の滞留時間の確率を計算し、滞留時間の確率に基づいて、被影響領域内の障害物の予想滞留時間を決定するステップを含む。
【0014】
一実施形態では、この方法は、被影響領域内の障害物の予想滞留時間に基づいて、障害物が被影響領域を離れるのをADVが待機してから第一軌跡に沿って自動的に運転される第一推定到着時間を決定するステップと、ADVが第二軌跡に沿って自動的に運転される第二推定到着時間を決定するステップと、第一推定到着時間と第二推定到着時間との比率を決定し、第一推定到着時間と第二推定到着時間との比率に基づいて、第二軌跡を計画するか、それとも障害物が被影響領域を離れるのを待機するかを決定するステップとをさらに含む。
【0015】
一実施形態では、この方法は、第一推定到着時間と第二推定到着時間との比率が1よりも大きい場合、第二軌跡を計画するステップをさらに含む。
【0016】
一実施形態では、ADVの第一軌跡または第二軌跡を計画するステップは、検索アルゴリズムに基づいて第一ルートまたは第二ルートを検索するステップと、第一ルートまたは第二ルートに基づいて第一基準線または第二基準線を生成するステップと、第一基準線または第二基準線に基づいて第一候補軌跡群または第二候補軌跡群を決定するステップと、第一候補軌跡群または第二候補軌跡群から第一軌跡または第二軌跡を選択して、第一軌跡または第二軌跡を計画するステップとを含む。
【0017】
一実施形態では、検索アルゴリズムは、改良されたAスター検索アルゴリズムを含む。一実施形態では、この方法は、ADVの幅および第一基準線または第二基準線に基づいて、第一仮想道路境界または第二仮想道路境界を生成するステップと、第一仮想道路境界内または第二仮想道路境界内に第一グリッドまたは第二グリッドを生成し、第一グリッドまたは第二グリッドに基づいて第一候補軌跡群または第二候補軌跡群を決定するステップとをさらに含む。
【0018】
図1は、本開示の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。
図1を参照すると、ネットワーク構成100は、ネットワーク102を介して1つまたは複数のサーバ103~104に通信可能に結合され得る自動運転車両101を含む。1つの自動運転車両が示されているが、複数の自動運転車両は、ネットワーク102を介して、互いに結合され、および/またはサーバ103~104に結合され得る。ネットワーク102は、有線または無線のローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、またはそれらの組み合わせなどの任意のタイプのネットワークであり得る。サーバ103~104は、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、またはそれらの組み合わせなどの任意のタイプのサーバまたはサーバクラスタであり得る。サーバ103~104は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図・ポイントオブインタレスト(MPOI)サーバ、または位置サーバなどであり得る。
【0019】
自動運転車両とは、運転者からの入力がほとんどまたはまったくない場合に車両が環境を介してナビゲートする自動運転モードになるように構成され得る車両を指す。そのような自動運転車両は、車両の動作環境に関連する情報を検出するように構成される1つまたは複数のセンサを有するセンサシステムを含み得る。前記車両およびそれに関連付けられたコントローラは、検出された情報を使用して、前記環境を介してナビゲートする。自動運転車両101は、手動モード、完全自動運転モード、または部分自動運転モードで操作することができる。
【0020】
一実施形態では、自動運転車両101は、感知・計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113、およびセンサシステム115を含むが、これらに限定されない。自動運転車両101は、加速信号またはコマンド、減速信号またはコマンド、ステアリング信号またはコマンド、ブレーキ信号またはコマンドなどの様々な通信信号および/またはコマンドを使用して車両制御システム111および/または感知・計画システム110によって制御され得る、エンジン、ホイール、ステアリングホイール、トランスミッションなど、一般的な車両に含まれるいくつかの共通のコンポーネントをさらに含み得る。
【0021】
コンポーネント110~115は、インターコネクト、バス、ネットワーク、またはそれらの組み合わせを介して互いに通信可能に結合され得る。例えば、コンポーネント110~115は、コントローラエリアネットワーク(CAN)バスを介して互いに通信可能に結合され得る。CANバスは、マイクロコントローラおよび装置がホストなしのアプリケーション内で互いに通信できるように設計された車両バス規格である。これは、最初に自動車内の多重電気配線のために設計されるが、他の多くの環境でも使用されるメッセージベースのプロトコルである。
【0022】
図2を参照すると、一実施形態では、センサシステム115は、1つまたは複数のカメラ211、全地球測位システム(GPS)ユニット212、慣性測定ユニット(IMU)213、レーダーユニット214、および光検出・測距(LIDAR)ユニット215を含むが、これらに限定されない。GPSユニット212は、自動運転車両の位置に関する情報を提供するように動作可能な送受信機を含み得る。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置および向きの変化を感知することができる。レーダーユニット214は、無線信号を使用して自動運転車両のローカル環境内のオブジェクトを感知するシステムを示すことができる。いくつかの実施形態では、オブジェクトを感知することに加えて、レーダーユニット214は、オブジェクトの速度および/または進行方向をさらに感知することができる。LIDARユニット215は、レーザーを使用して、自動運転車両が配置されている環境内のオブジェクトを感知することができる。他のシステムコンポーネントに加えて、LIDARユニット215は、1つまたは複数のレーザー源、レーザースキャナ、および1つまたは複数の検出器をさらに含み得る。カメラ211は、自動運転車両の周囲環境の画像を収集するための1つまたは複数の装置を含み得る。カメラ211は、スチルカメラおよび/またはビデオカメラであり得る。カメラは、例えば、回転および/または傾斜プラットフォームにカメラを取り付けることにより、機械的に移動可能であり得る。
【0023】
センサシステム115は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、およびオーディオセンサ(例えば、マイクロフォン)などの他のセンサをさらに含み得る。オーディオセンサは、自動運転車両の周囲環境から音声を収集するように構成され得る。ステアリングセンサは、ステアリングホイール、車両のホイール、またはそれらの組み合わせのステアリング角度を感知するように構成され得る。スロットルセンサおよびブレーキセンサは、それぞれ車両のスロットル位置およびブレーキ位置を感知する。いくつかの場合では、スロットルセンサおよびブレーキセンサは、統合型スロットル/ブレーキセンサとして統合され得る。
【0024】
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットとも呼ばれる)、およびブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は、車両の方向または前進方向を調整するために使用される。スロットルユニット202は、モータまたはエンジンの速度を制御して、車両の速度および加速を制御するために使用される。ブレーキユニット203は、摩擦を与えて車両のホイールまたはタイヤを減速させることにより、車両を減速させるために使用される。なお、
図2に示すコンポーネントは、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装され得る。
【0025】
図1に戻って参照すると、無線通信システム112は、自動運転車両101と、装置、センサ、他の車両などの外部システムとの間の通信を可能にするものである。例えば、無線通信システム112は、1つまたは複数の装置と直接無線通信するか、またはネットワーク102を介してサーバ103~104と通信するなど、通信ネットワークを介して無線通信を実行することができる。無線通信システム112は、WiFiなどの任意のセルラー通信ネットワークまたは無線ローカルエリアネットワーク(WLAN)を介して、別のコンポーネントまたはシステムと通信することができる。無線通信システム112は、例えば、赤外線リンク、ブルートゥース(登録商標)などを介して、装置(例えば、乗客の携帯装置、表示装置、および車両101内のスピーカ)と直接通信することができる。ユーザインターフェースシステム113は、例えば、キーボード、タッチスクリーン表示装置、マイクロフォン、およびスピーカなどを含む、車両101内に実装された周辺装置の一部であり得る。
【0026】
自動運転車両101の機能の一部またはすべては、特に自動運転モードで操作している場合、感知・計画システム110によって制御または管理され得る。感知・計画システム110は、センサシステム115、制御システム111、無線通信システム112、および/またはユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地から目的地までのルートまたは経路を計画し、計画および制御情報に基づいて車両101を運転するために必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)およびソフトウェア(例えば、オペレーティングシステム、計画・ルーティングプログラム)を含む。あるいは、感知・計画システム110は、車両制御システム111と統合され得る。
【0027】
例えば、乗客としてのユーザは、例えばユーザインターフェースを介して、行程の出発地および目的地を指定することができる。感知・計画システム110は、行程関連データを取得する。例えば、感知・計画システム110は、サーバ103~104の一部であり得るMPOIサーバから位置およびルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスおよび特定の位置のPOIを提供する。あるいは、そのような位置およびMPOI情報は、感知・計画システム110の永久記憶装置にローカルにキャッシュされ得る。
【0028】
自動運転車両101がルートに沿って移動しているとき、感知・計画システム110は、交通情報システムまたはサーバ(TIS)からリアルタイムの交通情報を取得することもできる。なお、サーバ103~104は、サードパーティエンティティによって操作され得る。あるいは、サーバ103~104の機能は、感知・計画システム110と統合され得る。リアルタイムの交通情報、MPOI情報、および位置情報、ならびにセンサシステム115によって検出または感知されたリアルタイムのローカル環境データ(例えば、障害物、オブジェクト、近くの車両)に基づいて、感知・計画システム110は、最適なルートを計画し、計画されたルートに従って、例えば制御システム111を介して、車両101を運転して、指定された目的地に安全かつ効率的に到着することができる。
【0029】
サーバ103は、様々なクライアントのためのデータ分析サービスを実行するためのデータ分析システムであり得る。一実施形態では、データ分析システム103は、データ収集装置121および機械学習エンジン122を含む。データ収集装置121は、様々な車両(自動運転車両、または人間の運転者によって運転される従来の車両)から運転統計データ123を収集する。運転統計データ123は、発行された運転コマンド(例えば、スロットル、ブレーキ、ステアリングコマンド)と、異なる時点で車両のセンサによって取得された車両の応答(例えば、速度、加速、減速、方向)とを示す情報を含む。運転統計データ123は、ルート(出発地および目的地を含む)、MPOI、道路状況、気象条件など、異なる時点での運転環境を説明する情報をさらに含み得る。
【0030】
運転統計データ123に基づいて、機械学習エンジン122は、様々な目的のために、一連のルール、アルゴリズム、および/または予測モデル124を生成または訓練する。一実施形態では、アルゴリズム124は、ADVが運転されるルートの始点および終点を決定するために使用されるアルゴリズムまたはモデルと、始点および終点のそれぞれが、車線境界のある第一運転領域にあるか、それとも車線境界のないオープンスペースとしての第二運転領域にあるかを決定するために使用されるアルゴリズムと、始点および終点のそれぞれが、第一運転領域にあるか、それとも第二運転領域にあるかを決定することに基づいて、ルートを第一ルートセグメントおよび第二ルートセグメントに分割するために使用されるアルゴリズムと、始点または終点が第一運転領域にあるか、それとも第二運転領域にあるかを決定することに基づいて、オンレーンモードまたはオープンスペースモードのいずれかで操作して第一ルートセグメントの第一軌跡を計画し、オンレーンモードまたはオープンスペースモードのいずれかで操作して第二ルートセグメントの第二軌跡を計画するために使用されるアルゴリズムとを含む。次に、アルゴリズム124は、自動運転中にリアルタイムで使用されるためにADV(例えば、
図3Aのモデル313)にアップロードされ得る。
【0031】
図3Aおよび
図3Bは、一実施形態に係る、自動運転車両と共に使用される感知・計画システムの例を示すブロック図である。システム300は、感知・計画システム110、制御システム111、およびセンサシステム115を含むがこれらに限定されない、
図1の自動運転車両101の一部として実装され得る。
図3Aから
図3Bを参照すると、感知・計画システム110は、位置決めモジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、およびルーティングモジュール307を含むが、これらに限定されない。ルーティングモジュール307は、オンレーンモードモジュールI308aおよびオープンスペースモードモジュールI309aを含み得る。計画モジュール305は、オンレーンモードモジュールII308bおよびオープンスペースモードモジュールII309bを含み得る。
【0032】
モジュール301~309IIの一部またはすべては、ソフトウェア、ハードウェア、またはそれらの組み合わせで実装され得る。例えば、これらのモジュールは、永久記憶装置352にインストールされ、メモリ351にロードされ、1つまたは複数のプロセッサ(図示せず)によって実行され得る。なお、これらのモジュールの一部またはすべては、
図2の車両制御システム111のモジュールの一部またはすべてに通信可能に結合され得るか、またはこれらと統合され得る。モジュール301~309IIの一部は、統合モジュールとして一緒に統合され得る。
【0033】
位置決めモジュール301は、(例えば、GPSユニット212を使用して)自動運転車両300の現在位置を決定し、ユーザの行程またはルートに関連するすべてのデータを管理する。位置決めモジュール301(地図/ルートモジュールとも呼ばれる)は、ユーザの行程またはルートに関連するすべてのデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインし、行程の出発地および目的地を指定することができる。位置決めモジュール301は、地図/ルート情報311などの自動運転車両300の他のコンポーネントと通信して、行程関連データを取得する。例えば、位置決めモジュール301は、位置サーバおよび地図・POI(MPOI)サーバから位置およびルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスおよび特定の位置のPOIを提供し、これらは、地図/ルート情報311の一部としてキャッシュされ得る。自動運転車両300がルートに沿って移動しているとき、位置決めモジュール301は、交通情報システムまたはサーバからリアルタイムの交通情報を取得することもできる。
【0034】
センサシステム115によって提供されるセンサデータ、および位置決めモジュール301によって取得される位置決め情報に基づいて、感知モジュール302は、周囲環境の感知を決定する。感知情報は、運転者が運転している車両の周囲で一般的な運転者が感知するものを示すことができる。感知情報は、例えばオブジェクト形態の車線構成、交通信号灯信号、別の車両の相対位置、歩行者、建物、横断歩道、または他の交通関連標識(例えば、止まれの標識、譲れの標識)などを含み得る。車線構成は、例えば車線の形状(例えば、直線または曲線)、車線の幅、道路上の車線の数、一方向または双方向の車線、合流または分岐された車線、出口車線など、1つまたは複数の車線を説明する情報を含む。
【0035】
感知モジュール302は、1つまたは複数のカメラによって収集された画像を処理および分析して自動運転車両の環境内のオブジェクトおよび/または特徴を認識するコンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含み得る。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者、および/または障害物などを含み得る。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオ追跡、および他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を作成し、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール302は、レーダーおよび/またはLIDARなどの他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【0036】
オブジェクトのそれぞれについて、予測モジュール303は、オブジェクトがこの状況でどのように動作するかを予測する。予測は、一連の地図/ルート情報311および交通規則312が考慮される時点で運転環境を感知することによって得られる感知データに基づいて実行される。例えば、オブジェクトが逆方向の車両であり、現在の運転環境が交差点を含む場合、予測モジュール303は、車両が直進するか、それともステアリングするかを予測する。交差点に交通信号灯がないことを感知データが示す場合、予測モジュール303は、車両が交差点に入る前に完全に停止しなければならない可能性があると予測することができる。車両が現在、左折専用車線または右折専用車線にあることを感知データが示す場合、予測モジュール303は、車両がそれぞれ左折または右折する可能性が高いと予測することができる。
【0037】
オブジェクトのそれぞれについて、決定モジュール304は、オブジェクトをどのように処理するかを決定する。例えば、特定のオブジェクト(例えば、横断ルートにおける別の車両)、およびオブジェクトを説明するメタデータ(例えば、速度、方向、ステアリング角度)について、決定モジュール304は、どのように(例えば、追い越し、譲れ、停止、超過)前記オブジェクトに遭遇するかを決定する。決定モジュール304は、永久記憶装置352に記憶され得る交通規則または運転規則312などの一連の規則に基づいてそのような決定を実行することができる。
【0038】
ルーティングモジュール307は、出発点から目的点までの1つまたは複数のルートまたは経路を提供するように構成される。出発地から目的地までの所与の行程、例えば、ユーザから受信された所与の行程について、ルーティングモジュール307は、地図/ルート情報311を取得し、出発地から目的地までのすべての可能なルートまたは経路を決定する。一実施形態では、ルーティングモジュール307は、出発地から目的地までの各ルートを決定する地形図形態の基準線を生成することができる。基準線とは、他の車両、障害物、または交通状況などからの干渉を受けない理想的なルートまたは経路を指す。即ち、道路上に他の車両、歩行者、または障害物がない場合、ADVは、基準線に正確にまたは厳密に追従しなければならない。次に、地形図は、決定モジュール304および/または計画モジュール305に提供される。決定モジュール304および/または計画モジュール305は、位置決めモジュール301からの交通状況、感知モジュール302によって感知された運転環境、および予測モジュール303によって予測された交通状況など、他のモジュールによって提供される他のデータに基づいて最適なルートの1つを選択して変更するために、すべての可能なルートを検査する。ある時点での特定の運転環境によれば、ADVを制御するための実際の経路またはルートは、ルーティングモジュール307によって提供される基準線に近いか、または異なる場合がある。
【0039】
感知されたオブジェクトのそれぞれの決定に基づいて、計画モジュール305は、ルーティングモジュール307からの基準線を使用して、自動運転車両の経路またはルートおよび運転パラメータ(例えば、距離、速度、および/またはステアリング角度)を計画する。一実施形態では、計画モジュール305は、ルーティングモジュール307によって提供される基準線を基礎として使用することができる。即ち、所与のオブジェクトについて、決定モジュール304はこのオブジェクトに対して何を処理するかを決定するが、計画モジュール305はどのように処理するかを決定する。例えば、所与のオブジェクトについて、決定モジュール304は前記オブジェクトを追い越すことを決定することができるが、計画モジュール305は前記オブジェクトの左側から追い越すか、それとも右側を追い越すかを決定することができる。計画および制御データは、計画モジュール305によって生成され、車両300が次の移動サイクル(例えば、次のルート/経路セグメント)でどのように移動するかを説明する情報を含む。例えば、計画および制御データは、毎時間30マイル(mph)の速度で10メートル移動してから25mphの速度で右側車線に変更するように車両300に指示することができる。一実施形態では、計画モジュール305は、ルーティングモジュール307によって提供されるルートに基づいて基準線を生成することができる。
【0040】
計画および制御データに基づいて、制御モジュール306は、計画および制御データによって定義されたルートまたは経路に従って、適切なコマンドまたは信号を車両制御システム111に送信することにより、自動運転車両を制御して運転する。前記計画および制御データは、経路またはルートに沿って異なる時点で適切な車両構成または運転パラメータ(例えば、スロットル、ブレーキ、ステアリングコマンド)を使用して、車両をルートまたは経路の第一ポイントから第二ポイントまで運転するのに十分な情報を含む。
【0041】
一実施形態では、計画段階は、複数の計画サイクル(運転サイクルとも呼ばれる)で実行され、例えば、時間間隔が100ミリ秒(ms)であるサイクルで実行される。計画サイクルまたは運転サイクルごとに、計画および制御データに基づいて1つまたは複数の制御コマンドが発行される。即ち、100msごとに、計画モジュール305は、例えば、目標位置と、ADVが目標位置に到着するのに必要な時間とを含む、次のルートセグメントまたは経路セグメントを計画する。あるいは、計画モジュール305は、特定の速度、方向、および/またはステアリング角度などをさらに指定することができる。一実施形態では、計画モジュール305は、次の所定サイクル(例えば、5秒)のルートセグメントまたは経路セグメントを計画する。各計画サイクルについて、計画モジュール305は、前のサイクルで計画された目標位置に基づいて、現在のサイクル(例えば、次の5秒)の目標位置を計画する。次に、制御モジュール306は、現在のサイクルの計画および制御データに基づいて、1つまたは複数の制御コマンド(例えば、スロットル、ブレーキ、ステアリング制御コマンド)を生成する。
【0042】
なお、決定モジュール304および計画モジュール305は、統合モジュールとして統合され得る。決定モジュール304/計画モジュール305は、自動運転車両の運転経路を決定するナビゲーションシステムまたはナビゲーションシステムの機能を含み得る。例えば、ナビゲーションシステムは、最終目的地に至る、車線に基づく経路に沿って自動運転車両が前進しながら、感知された障害物を実質的に回避することを可能にする経路に沿った自動運転車両の移動に影響を与えるために使用される一連の速度および進行方向を決定することができる。目的地は、ユーザインターフェースシステム113を介したユーザ入力に従って設定され得る。ナビゲーションシステムは、自動運転車両の運転中に運転経路を動的に更新することができる。ナビゲーションシステムは、GPSシステムおよび1つまたは複数の地図からのデータを統合して、自動運転車両の運転経路を決定することができる。
【0043】
図4は、一実施形態に係るルーティングモジュール307および計画モジュール305の例を示すブロック図である。
図5Aは、一実施形態に係る、オンレーンモードで動作する例を示す処理フローチャートである。
図5Bは、一実施形態に係る、オープンスペースモードで操作する例を示す処理フローチャートである。
図4、
図5Aおよび
図5Bを参照すると、一実施形態によれば、ルーティングモジュール307は、決定モジュール401と、第一検索モジュール402を含むオンレーンモードモジュールI308aと、第二検索モジュール403を含むオープンスペースモードモジュールI309aとを含むが、これらに限定されない。決定モジュール401は、ADVが運転されるルートの始点および終点を決定するように構成される。決定モジュール401は、始点および終点のそれぞれが、車線境界のある第一タイプの第一運転領域にあるか、それとも車線境界のないオープンスペースとしての第二タイプの第二運転領域にあるかを決定するようにさらに構成される。決定モジュール401は、始点および終点のそれぞれが、第一運転領域にあるか、それとも第二運転領域にあるかを決定することに基づいて、ルートを第一ルートセグメントおよび第二ルートセグメントに分割するようにさらに構成される。ルーティングモジュール307および/または計画モジュール305は、始点または終点が、第一運転領域にあるか、それとも第二運転領域にあるかを決定することに基づいて、オンレーンモードまたはオープンスペースモードのいずれかで操作して第一ルートセグメントの第一軌跡を計画し、オンレーンモードまたはオープンスペースモードのいずれかで操作して第二ルートセグメントの第二軌跡を計画する。
【0044】
図4および
図5Aを参照すると、一実施形態では、第一検索モジュール402は、Aスター検索アルゴリズムに基づいて第一ルートセグメントまたは第二ルートセグメントを検索するように構成される。基準線モジュール405は、第一ルートセグメントまたは第二ルートセグメントに基づいて基準線を生成するように構成される。グリッドモジュール406は、基準線に基づいてグリッドを生成するように構成される。軌跡モジュール407は、グリッドに基づいて候補軌跡群を決定し、この候補軌跡群から軌跡を選択して、この軌跡に従って自動的に運転するようにADVを制御するように構成される。
【0045】
図4および
図5Bを参照すると、一実施形態では、第二検索モジュール403は、改良されたAスター検索アルゴリズムに基づいて第一ルートセグメントまたは第二ルートセグメントを検索するように構成される。基準線モジュール408は、第一ルートセグメントまたは第二ルートセグメントに基づいて基準線を生成するように構成される。仮想境界線モジュール409は、ADVの幅および基準線に基づいて仮想道路境界を生成するように構成される。グリッドモジュール410は、仮想道路境界内の基準線に基づいてグリッドを生成するように構成される。軌跡モジュール411は、グリッドに基づいて候補軌跡群を決定し、この候補軌跡群から軌跡を選択して、この軌跡に従って自動的に運転するようにADVを制御するように構成される。
【0046】
図6は、一実施形態に係る、障害物回避モジュールを含む計画モジュール305の例を示すブロック
図600である。
図7は、一実施形態に係る障害物回避の例を示す処理フローチャートである。
図6および
図7を参照すると、一実施形態によれば、計画モジュール305は、障害物回避モジュール601を含み得る。障害物回避モジュール601は、滞留時間モジュール602、推定到着時間(ETA)モジュール603、および決定モジュール604を含み得る。
【0047】
感知モジュール302は、ADVに取り付けられた複数のセンサから得られたセンサデータに基づいて、ADVの被影響領域内の障害物を検出するように構成され得る。滞留時間モジュール602は、被影響領域内の障害物の予想滞留時間を決定するように構成される。ETAモジュール603は、障害物が被影響領域を離れるのをADVが待機してから第一軌跡に沿って自動的に運転される第一推定到着時間を決定し、ADVが第二軌跡に沿って自動的に運転される第二推定到着時間を決定するように構成される。決定モジュール604は、被影響領域内の障害物の予想滞留時間に基づいて、第二軌跡を計画するか、それとも障害物が被影響領域を離れるのを待機するかを決定するように構成される。決定モジュール604は、第一軌跡を計画するか、それとも障害物が被影響領域を離れるのを待機するかを決定することに基づいて、ADVが運転される第二軌跡を計画し、第二軌跡に沿って自動的に運転するようにADVを制御するか、または、障害物が被影響領域を離れるのを待機してから第一軌跡に沿って自動的に運転するようにADVを制御するようにさらに構成される。
【0048】
一実施形態では、ADVは、車線境界のないオープンスペースとしての運転領域で、オープンスペースモードで操作するように構成される。一実施形態では、第一領域内の障害物の滞留時間の確率を決定し、滞留時間の確率に基づいて、被影響領域内の障害物の予想滞留時間を決定する。一実施形態では、第一推定到着時間と第二推定到着時間との比率を決定し、第一推定到着時間と第二推定到着時間との比率に基づいて、第二軌跡を計画するか、それとも障害物が被影響領域を離れるのを待機するかを決定する。
【0049】
一実施形態では、第一推定到着時間と第二推定到着時間との比率が1よりも大きい場合、決定モジュール604は、第二軌跡を計画することを決定するように構成される。一実施形態では、第二軌跡を計画するために、第二検索モジュール403は、改良されたAスター検索アルゴリズムに基づいて別の第一ルートセグメントまたは別の第二ルートセグメントを検索するように構成される。基準線モジュール408は、別の第一ルートセグメントまたは別の第二ルートセグメントに基づいて別の基準線を生成するように構成される。仮想境界線モジュール409は、ADVの幅および別の基準線に基づいて別の仮想道路境界を生成するように構成される。グリッドモジュール410は、別の仮想道路境界内の別の基準線に基づいて別のグリッドを生成するように構成される。軌跡モジュール411は、別のグリッドに基づいて別の候補軌跡群を決定し、別の候補軌跡群から第二軌跡を選択して、この第二軌跡に従って自動的に運転するようにADVを制御するように構成される。
【0050】
図8A~
図8Dは、ADV810が車線境界のある第一運転領域で運転される例、および/または車線境界のないオープンスペースとしての第二運転領域802で運転される例を示す図である。ADV810は、車線境界のある道路運転シナリオと車線境界のないフリースペースとしての運転シナリオの両方で運転する必要がある場合がある。ADV810は、道路運転シナリオでの自動運転(例えば、指定された車線境界のある運転領域での運転)の機能、フリースペースシナリオでの自動運転(例えば、車線境界のないオープンフリースペースとしての運転シナリオでの運転)の機能、およびこれら2つの異なる運転領域の間でインテリジェントに切り替える機能を持つことが重要である。道路運転シナリオのための従来の動作計画方法では、トポロジマップと特定の車線境界が必要とされる場合がある。従って、道路運転シナリオのための従来の動作計画方法は、前進と後退の軌跡の組み合わせを有する駐車、スリーポイントターン、障害物回避などの複雑なシナリオを処理することは困難である。従来のフリースペース経路計画方法は、軌跡をリアルタイムで生成する速度が遅く、障害物回避性能が低下する可能性がある。道路運転シナリオでは、DPおよびQPが軌跡計画に使用される。しかし、自動運転車両は、車線境界のない指定されたフリースペース領域でのみ、始点から終点まで運転しなければならない場合がある。フリースペースシナリオの場合、ハイブリッドAスター検索アルゴリズムと組み合わせたReeds-Shepp経路は、予想軌跡を生成するための経路計画に使用される。残念ながら、このフリースペース経路計画方法では、軌跡をリアルタイムで生成する速度が遅すぎ、障害物回避性能が低下する可能性がある。
【0051】
現在、Aスター検索アルゴリズムを使用して始点から終点までのナビゲーション経路を見つけ、次に、このナビゲーション経路に基づいて基準線を生成し、DPおよび/またはQPを使用してリアルタイムの経路計画を実行する。しかし、この検索アルゴリズムは、トポロジマップと特定の道路境界がある道路シナリオでのみ適切に機能する場合がある。この検索アルゴリズムは、前進と後退の軌跡の組み合わせを有する駐車、スリーポイントターン、障害物回避などの複雑なシナリオを処理することは困難である。経路検索時間を低減するために、この検索アルゴリズムのノードのサイズを増やす努力がなされている。しかし、この方法では、望ましくない結果が生じる場合があり、例えば、すべてのノードを検索しても、予想経路が見つからない場合がある。現在の経路計画では、軌跡がスムーズにならず、大まかな軌跡が直接使用されるため、車両はこの軌跡に追跡することが困難である。
【0052】
現在の方法では、指定された始点および終点について、軌跡の経路計画は、各サイクルを計画する代わりに1回だけ実行されるため、リアルタイムの経路計画に多くの時間がかかるという問題を回避することができる。しかし、現在の方法は、ADVが障害物との衝突を回避するために軌跡を変更することはないため、障害物を回避するには不十分である。
【0053】
いくつかの実施形態によれば、本明細書には、指定された道路境界を有する都市道路およびフリースペース領域の両方に適した軌跡計画のための新しい方法が開示される。この方法は、A*検索アルゴリズムとハイブリッドA*検索アルゴリズムを組み合わせて、異なるタイプの運転シナリオに応じてナビゲーション経路を検索する。都市道路の場合、ナビゲーション経路を取得するためにA*検索アルゴリズムを使用することができるが、オープンフリースペースの場合、ハイブリッドA*検索アルゴリズムを使用することができる。DPまたはQPアルゴリズムに基づくリアルタイムの軌跡計画のための基準線を生成するために、Aスター検索アルゴリズムおよび/またはハイブリッドAスター検索アルゴリズムを有するナビゲーション経路を使用することができる。この軌跡計画方法は、都市道路からフリースペース領域への運転またはフリースペース領域から都市道路への運転など、複雑な運転タスクを処理するために使用され得る。この方法は、障害物回避において優れた性能をさらに発揮することができる。
【0054】
図8A~
図8Dに示すように、ADV810の始点Psおよび終点Peのそれぞれが、車線境界のある第一運転領域801にあるか、それとも車線境界のないオープンスペースとしての第二運転領域802にあるかに応じて、4つの場合がある。
図8Aは、始点Ps803aが第一運転領域801にあり、終点Pe804aが第二運転領域802にある一番目の場合を示す
図800aである。
図8Bは、始点Ps803bが第二運転領域802にあり、終点Pe804bが第一運転領域801にある二番目の場合を示す
図800bである。
図8Cは、始点Ps803cが第一運転領域801にあり、終点Pe804cが第一運転領域801にある三番目の場合を示す
図800cである。
図8Dは、始点Ps803dが第二運転領域802にあり、終点Pe804dが第二運転領域802にある四番目の場合を示す
図800dである。
【0055】
軌跡計画方法は、これら4つの場合に対処するために提供される。この方法では、第一プロセスおよび第二プロセスという2つのプロセスがある。第一プロセスでは、ADV810は、オンレーンモードで操作するように構成される。第二プロセスでは、ADV810はオープンスペースモードで操作するように構成される。
【0056】
図8Aに示すように、一番目の場合では、始点Ps803aは道路シナリオ(例えば、第一運転領域801)にあり、終点Pe804aはフリースペース(例えば、第二運転領域802)にある。始点Ps803aおよび終点Pe804aを有するルートは、中間点によって第一ルートセグメントおよび第二ルートセグメントに分割され得る。一実施形態では、道路シナリオ(例えば、第一運転領域801)における終点Peへの至近点Pe’805a(Xe’、Ye’、Phie’)が決定され得る。至近点Pe’805aは、ルートを2つのルートセグメントに分割する中間点であってもよい。始点Ps803aから至近点Pe’805aまでの第一ルートセグメントの軌跡計画は、プロセス1によって実行され、至近点Pe’(Ps’)805aから終点Pe804aまでの第二ルートセグメントの軌跡計画は、プロセス2によって実行され得る。一番目の場合では、ADV810は、オンレーンモードで操作して第一ルートセグメントの第一軌跡を計画し、オープンスペースモードで操作して第二ルートセグメントの第二軌跡を計画するように構成される。
【0057】
図8Bに示すように、二番目の場合では、始点Ps803bはフリーオープンスペース(例えば、第二運転領域802)にあり、終点Pe804bは道路シナリオ(例えば、第一運転領域801)にある。始点Ps803bおよび終点Pe804bを有するルートは、中間点によって第一ルートセグメントおよび第二ルートセグメントに分割され得る。一実施形態では、道路シナリオ(例えば、第一運転領域801)における始点Psへの至近点PS’805b(Xe’、Ye’、Phie’)が決定され得る。至近点PS’805bは、ルートを2つのルートセグメントに分割する中間点であってもよい。始点Ps803bから至近点Ps’(Pe’)805bまでの第一ルートセグメントの軌跡計画は、プロセス2によって実行され、至近点Ps’805bから終点Pe804bまでの第二ルートセグメントの軌跡計画は、プロセス1によって実行され得る。二番目の場合では、ADV810は、オープンスペースモードで操作して第一ルートセグメントの第一軌跡を計画し、オンレーンモードで操作して第二ルートセグメントの第二軌跡を計画するように構成される。
【0058】
図8Cに示すように、三番目の場合では、始点Ps803cは道路シナリオ(例えば、第一運転領域801)にあり、終点Pe804cは道路シナリオ(例えば、第一運転領域801)にある。この場合、始点Ps803cから終点Pe804cまでのルートを分割する必要はない。一実施形態では、始点Ps803cから終点Pe804cまでの軌跡計画は、プロセス1によって実行され得る。一実施形態では、始点Ps803cおよび終点Pe804cを有するルートは、任意の中間点によって第一ルートセグメントおよび第二ルートセグメントに分割され得る。ADV810は、オンレーンモードで操作して第一ルートセグメントの第一軌跡を計画し、オンレーンモードで操作して第二ルートセグメントの第二軌跡を計画するように構成される。
【0059】
図8Dに示すように、四番目の場合では、始点Ps803dはフリーオープンスペース(例えば、第二運転領域802)にあり、終点Pe804dはフリーオープンスペース(例えば、第二運転領域802)にある。この場合、始点Ps803dから終点Pe804dまでのルートを分割する必要はない。一実施形態では、始点Ps803dから終点Pe804dまでの軌跡計画は、プロセス2によって実行され得る。一実施形態では、始点Ps803dおよび終点Pe804dを有するルートは、任意の中間点によって第一ルートセグメントおよび第二ルートセグメントに分割され得る。ADV810は、オープンスペースモードで操作して第一ルートセグメントの第一軌跡を計画し、オープンスペースモードで操作して第二ルートセグメントの第二軌跡を計画するように構成される。
【0060】
図5Aおよび
図8A~
図8Dを参照すると、第一プロセスでは、ADV810はオンレーンモードで操作するように構成される。一実施形態では、第一検索モジュール402は、Aスター検索アルゴリズムに基づいて第一ルートセグメントまたは第二ルートセグメントのルートを検索するように構成される。このルートは、始点から終点までのナビゲーションルートである。Aスター(A*)検索アルゴリズムは、情報検索アルゴリズムである。Aスターは、図面の開始ノードから始めて、最小コスト(最短進行距離、最短時間など)で宛先ノードへのルートまたは経路を見つけることを目的とする。Aスター検索は、開始ノードから始まる経路ツリーを維持し、終了基準が満たされるまで一度にこれらの経路の一辺を拡張することにより、この目的を達成する。Aスターは、そのメインループの各反復で、経路のコスト、および経路を目標ノードまで拡張するために必要なコスト見積もりに基づいて、どのルートを拡張するかを決定する。具体的には、Aスターは、以下を最小化する経路を選択する。
【0061】
f(n)=g(n)+h(n)
【0062】
ここで、nは経路上の次のノード、g(n)は開始ノードからn番目のノードまでの経路のコスト、h(n)はnから目標ノードまでの最短経路のコストを推定するヒューリスティック関数である。Aスター検索は、拡張することを選択した経路が開始ノードから目標ノードまでの経路である場合、または拡張に適した経路がない場合に終了する。ヒューリスティック関数は特定の問題のためのものである。
【0063】
第一プロセスでは、例えば、第一検索モジュール402を介して、Aスター検索アルゴリズムを使用して、第一ルートセグメントまたは第二ルートセグメントのルートを検索する。このルートは、ルート1と呼ばれてもよい。基準線は、例えばルート1に基づいて基準線モジュール405によって生成されてもよく、この基準線は、基準線1と呼ばれてもよい。次に、グリッドは、基準線1に基づいて、グリッドモジュール406によって生成され得る。多項式曲線に基づく一連の候補軌跡は、軌跡モジュール407によって作成され得る。次に、軌跡モジュール407は、動的計画アルゴリズムを使用して候補軌跡から予想軌跡を取得するようにさらに構成され得る。次に、制御モジュール306は、生成された軌跡に沿って、終点Pe(例えば、804a、804b、804c、804d)に移動するようにADV810を制御するように構成され得る。
【0064】
図5Bおよび
図8A~
図8Dを参照すると、第二プロセスでは、ADV810は、オープンスペースモードで操作するように構成される。一実施形態では、第二検索モジュール403は、改良されたAスターまたはハイブリッドAスター検索アルゴリズムに基づいて、第一ルートセグメントまたは第二ルートセグメントのルートを検索するように構成される。改良されたAスターまたはハイブリッドAスター検索アルゴリズムは、ADVの3D運動学的状態空間に適用されるAスター検索アルゴリズムの変形であるが、Aスターの離散検索ノードで連続状態データを取得する改良された状態更新ルールを有する。Aスター検索アルゴリズムの場合と同様に、検索スペース(x、y、θ)は離散化されるが、セルセンターへのアクセスのみを可能にする従来のAスターとは異なり、改良状態またはハイブリッド状態のAスター検索アルゴリズムは、各グリッドセルを車両の連続3D状態に関連付ける。改良状態またはハイブリッド状態のAスター検索アルゴリズムは、ADVの運動学モデルを使用する。例えば、最大左折、最大右折、および前進を含む3つの角度は、改良状態またはハイブリッド状態のAスター検索アルゴリズムでシミュレートされ得る。別の例では、ADVのサイズ(長さ、幅、または高さ)は、改良状態またはハイブリッド状態のAスター検索アルゴリズムで考慮され得る。改良状態またはハイブリッド状態のAスター検索アルゴリズムから得られるルートまたは経路は、Aスター検索アルゴリズムの場合のように区分的に線形ではなく、運転可能である。
【0065】
第二プロセスでは、ADV810は、オープンスペースモードで操作する。第二プロセスには6つの主要な操作(操作1~操作6)があり、操作7は任意である。各操作について、以下に説明する。
【0066】
操作1:改良されたAスターまたはハイブリッドAスター検索アルゴリズムは、例えば、第一ルートセグメントまたは第二ルートセグメントのルートを検索するために第二検索モジュール403によって使用される。
図9Aに示すように、ハイブリッドAスターまたは改良されたAスターは、関心のあるフリースペース領域と呼ばれてもよい指定されたフリースペース領域802(例えば、第二運転領域)でPs’903からPe904までのルートまたは経路を検索するために使用され得る。このルートは、ルート2と呼ばれてもよい。ルート2は、Ps’903からP1806aまでの前方移動、およびP1806aからPe904までの後方移動を含み得る。フリースペース領域802には2つの障害物(例えば、807、808)があり得る。
【0067】
操作2:基準線は、ルート2に基づいて(例えば、基準線モジュール408によって)生成されてもよく、この基準線は、ルート2に基づいて基準線2と呼ばれてもよい。
【0068】
操作3:仮想道路境界(関心のあるサンプル領域またはROI)は、ADVの幅、および操作2で生成された基準線2に基づいて作成され得る。一実施形態では、仮想境界線モジュール409は、ADVの幅および基準線2に基づいて仮想道路境界を生成するように構成される。例えば、
【0069】
関心のあるサンプル領域 {-(1+C)W/2,(1+C)W/2}。
【0070】
WはADVの幅であり、Cは横方向の拡張比率で、0よりも大きい実数である。
【0071】
図9Aに示すように、オープンスペース802内のADV810のための仮想道路境界901は、仮想境界線モジュール409によって生成され得る。
【0072】
操作4:グリッドは、関心のあるサンプル領域内の基準線2に基づいて、グリッドモジュール410によって生成され得る。
図9Aに示すように、グリッド902は、オープンスペース802でグリッドモジュール410によって生成され得る。各グリッドセルは、ADVに関する相対位置および/または対応するROI内で認識された1つまたは複数の障害物に基づいて、所定のコスト関数を使用して、コストに関連付けられるかまたは割り当てられる。
【0073】
操作5:二次多項式曲線に基づく一連の候補軌跡は、軌跡モジュール411によって作成され得る。軌跡モジュール411は、動的計画アルゴリズムを使用して候補軌跡から予想軌跡を取得するようにさらに構成される。
図9Bに示すように、始点903から終点904までの前方移動および後方移動を含む軌跡908は、オープンスペース802で軌跡モジュール411によって生成され得る。
【0074】
操作6:制御モジュール306は、生成された軌跡908に沿って、終点Pe(例えば、804a、804b、804c、804d、904)に移動するようにADV810を制御するように構成される。
【0075】
操作7:決定モジュール604(
図6および
図7に示すもの)は、ADV810が現在の位置で待機すべきか、それとも操作1~6に戻って軌跡を再計画すべきかを決定するように構成される。この障害物回避操作の詳細については後述する。
【0076】
図10は、ADV810がADVの移動を妨げる障害物807に遭遇する例を示す
図1000である。オープンスペースとしての運転領域(例えば、802)における指定された始点(例えば、Ps’903)および終点(例えば、Pe904)について、軌跡の現在の経路計画は、各サイクルを計画する代わりに1回だけ実行されるため、リアルタイムの経路計画に多くの時間がかかるという問題を回避することができる。しかし、現在の経路計画は、ADV810が障害物(例えば、車両、自転車、歩行者、動物)との衝突を回避するために軌跡を変更することはないため、障害物を回避するには不十分である。本明細書には、新しい障害物回避方法が開示される。一実施形態によれば、このプロセスは、ADVの被影響領域における障害物(例えば、車両、自転車、歩行者または動物)の滞留時間の確率を決定するステップと、被影響領域における動的障害物の予想滞留時間を計算するステップと、ADVがADVの移動を妨げる障害物に遭遇したときに、ADVが待機すべきか、それとも再計画すべきかを決定するステップとを含む。この方法により、障害物回避問題を解決することができる。ADVは、障害物を回避して効率的に終点に到着するための最適な経路を計画することができる。
【0077】
図10を参照すると、ADV810が運転される第一軌跡908は、例えば、上記操作1~5を実行することによって計画され得る。ADV810は、生成された軌跡908に沿って終点Pe904に移動することができる。このルートの間、ADV810は、ADVに取り付けられた複数のセンサから得られたセンサデータに基づいて、ADV810の被影響領域1001内の障害物807を検出することができる。例えば、ADV810の被影響領域1001は、ADV810に取り付けられた複数のセンサによって感知され得る領域であってもよい。例えば、ADV810の被影響領域1001は、ADVが運転される軌跡908に沿ったADV810の移動に影響を与える領域であってもよい。被影響領域1001は、長方形、台形、三角形、円形、または他の任意の形状であってもよい。例えば、被影響領域1001は、5m×10m、10m×20mなどのサイズを有することができる。
【0078】
ADV810が第一ルートを計画するように構成される場合、障害物807は、軌跡908に沿ったADV810の移動を妨げることはない。しかし、障害物807は、車両、歩行者または動物などの動的障害物であってもよい。
図10に示すように、障害物807は、軌跡908に向かって移動し、軌跡908に沿ったADV810の移動を妨げる可能性がある。
【0079】
図11は、被影響領域内の動的障害物の滞留時間の確率密度関数を示す
図1100である。示される確率密度関数(確率密度図または曲線とも呼ばれる)は、特定の運転シナリオ(例えば、駐車場、交差点、および領域の形状および/またはサイズ)、および障害物(例えば、車両、自転車、歩行者)のタイプとその動作などを説明するかまたは表現する1つまたは複数のパラメータのセットに基づいて具体的に構成される。
図11に示すように、X軸は、障害物が被影響領域1001(例えば、関心領域またはROI)に滞留する時間または予測時間を示し、Y軸は、障害物が被影響領域1001に滞留する確率密度を示す。
図11は、被影響領域における障害物の滞留時間とともに変化する障害物の確率密度を示している。確率論では、確率密度関数(PDF)または連続確率変数の密度は、サンプルスペース(確率変数が取る一連の可能な値)における任意の所与のサンプル(またはポイント)での値が、確率変数の値がこのサンプルに等しいという相対的な可能性を提供するものと解釈され得る関数である。より正確には、PDFは、確率変数が特定の値の範囲に含まれる確率を指定するために使用される。この確率は、X軸上のその範囲におけるこの変数のPDFの積分によって与えられる。即ち、それは、密度関数の下にあるが、横軸の上にあり、この範囲内の最小値と最大値との間にある領域(例えば、ある期間(例えば、ゼロから特定の時間まで)に、この曲線とX軸およびY軸との間の領域)に基づいて決定される。確率密度関数はどこでも負ではなく、スペース全体にわたるその積分は1に等しい。
【0080】
図7、
図10、および
図11を参照すると、一実施形態では、被影響領域1001における障害物807の予想滞留時間を決定することができる。ADVの被影響領域における動的障害物の滞留時間は、以下の確率密度関数に従うと仮定することができる。
【0081】
f(x)=λe-λx
【0082】
ここで、λは動的障害物(例えば、移動障害物)に関連付けられた滞留時間確率密度関数のパラメータである。λの値は、ある時点での特定の運転シナリオに応じて決定され得るか、または予め設定された一連のλパラメータから選択され得る実世界の履歴運転データに基づいて推定され得る。同一または同様の運転シナリオにおける中間または平均滞留時間は、1/λとして示すことができる。λパラメータは、同一または同様の状況下で運転している様々な車両から収集された大量の履歴運転統計データに基づいて決定され得る。λパラメータは、確率密度曲線の形状とサイズを決定し、
図11は、特定のλの確率密度を示している。
【0083】
一実施形態によれば、0~Twの範囲内の滞留時間の確率は、開始時間=0から予想滞留時間までの時間範囲にわたって上記確率密度関数を積分することによって計算され得る。滞留時間の確率は、以下の式によって決定され得る。
【0084】
P(0<x<Tw)=1-e-λTw
【0085】
ここで、Twは動的障害物の予想滞留時間である。
【0086】
一実施形態では、例えばP=0.8または80%などの所定の確率閾値よりも大きい滞留時間の確率が受け入れられ得る。被影響領域1001における動的障害物807の予想滞留時間は、滞留時間の確率に基づいて計算され得る。一実施形態では、滞留時間モジュール602は、被影響領域1001における障害物807の予想滞留時間を決定するように構成される。一実施形態では、所定のまたは許容可能な確率(例えば、80%)が使用される場合、ある時点で決定または選択されたλパラメータが与えられると、予想滞留時間Twは、上記の確率密度関数または確率密度曲線によって計算され得る。一実施形態では、λパラメータは、特定の運転シナリオに基づいてADVによって以前に構成および維持された一連のλパラメータに対する検索操作を介して、動的に計算または決定され得る。例えば、λパラメータは、被影響領域またはROI(例えば、駐車場、交差点など)に基づいて決定され得る。さらに、λパラメータは、関心のある障害物のタイプに基づいて決定され得る。障害物が車両、自転車、歩行者、またはペットである場合、λパラメータは異なる場合がある。λパラメータは、障害物の動作に基づいて異なる場合がある。例えば、障害物の動作が高速移動または低速移動、進行方向に向かった移動、過去の移動軌跡または予測軌跡に沿った移動である場合、λパラメータは異なる場合がある。
【0087】
障害物807が、車両、自転車、歩行者、猫または犬など、それ自体が移動できる動的障害物である場合、被影響領域1001における動的障害物807の予想滞留時間は、以下のように計算され得る。
【0088】
【0089】
障害物807が、それ自体が移動できない静的障害物である場合、予想滞留時間は、以下のとおりである。
【0090】
Tw=∞
【0091】
一実施形態では、障害物807が被影響領域1001を離れるのをADV810が待機してから第一軌跡908に沿って自動的に運転される第一推定到着時間T1は、例えば、ETAモジュール603によって決定され得る。ADV810が再計画して第二軌跡1002に沿って自動的に運転される第二推定到着時間T2は、ETAモジュール603によって決定され得る。
【0092】
T1=T1m+T1w=L1/Ve+Tw、
T2=T2m=L2/Ve、
【0093】
ここで、T1およびT2はそれぞれ、現在の軌跡908および再計画された第二軌跡1002の終点に到着または到達する第一推定到着時間および第二推定到着時間である。T1mは、ADV810が待機することなく現在の軌跡908の終点に到着するのにかかる時間を示す。T1wは、現在の軌跡908が障害物807に妨げられる場合、ADV810が現在の軌跡908に沿って移動することを決定すると、ADV810が待機しなければならない待機時間を示す。T2mは、ADV810が第二軌跡1002の終点に到着するのにかかる時間を示す。Veは、各軌跡に沿って移動するときに計画されたADV810の平均速度である。L1およびL2はそれぞれ、軌跡908および軌跡1002の軌跡長を示す。
【0094】
一実施形態では、第一推定到着時間T1と第二推定到着時間T2との比率は、例えば、決定モジュール604によって決定され得る。決定モジュール604は、第一推定到着時間T1と第二推定到着時間T2との比率に基づいて、第二軌跡1002に沿って移動するか、それとも障害物807が被影響領域1001を離れるのを待機してから第一軌跡908に沿って移動するかを決定するように構成され得る。
【0095】
R=T1/T2=(L1/Ve+Tw)/(L2/Ve)
【0096】
一実施形態によれば、比率Rが所定の閾値よりも大きい場合、例えばR>1の場合(例えば、第二推定到着時間T2が第一推定到着時間T1よりも短い場合)、決定モジュール604は、再計画して操作1~7に戻ることを決定することができる。決定モジュール604は、ADV810が運転される第二軌跡1002を計画し、第二軌跡1002に沿って自動的に運転するようにADV810を制御するように構成され得る。
【0097】
Rが所定の閾値以下である場合、例えばR<=1の場合(例えば、第一推定到着時間T1が第二推定到着時間T2よりも短い場合)、決定モジュール604は、障害物807が被影響領域1001を離れるのを待機し続けてから第一軌跡908に沿って自動的に運転することを決定することができる。
【0098】
一実施形態では、第一運転領域(例えば、801)でオンレーンモードで操作するADVは、ADVが第二運転領域(例えば、802)で運転されることを検出したことに応じて、オープンスペースモードに自動的に切り替えるように構成され得る。例えば、
図8Aに戻って参照すると、ADV810がポイント805aに到達すると、感知モジュール302は、ADV810が第二運転領域(例えば、802)で運転されることを検出することができる。それに応じて、ルーティングモジュール307および計画モジュール305は、第一プロセスに続くオンレーンモードでの操作から第二プロセスに続くオープンスペースモードでの操作に自動的に切り替えるように構成され得る。
【0099】
図12は、一実施形態に係る、ADVをオンレーンモードまたはオープンスペースモードのうちの1つで操作するプロセスの例を示すフローチャートである。プロセス1200は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。例えば、プロセス1200は、ルーティングモジュール307および計画モジュール305によって実行され得る。
図12を参照すると、操作1201において、処理ロジックは、ADVが運転されるルートの始点および終点を決定する。操作1202において、処理ロジックは、始点および終点のそれぞれが、車線境界のある第一タイプの第一運転領域にあるか、それとも車線境界のないオープンスペースとしての第二タイプの第二運転領域にあるかを決定する。操作1203において、処理ロジックは、始点および終点のそれぞれが、第一運転領域にあるか、それとも第二運転領域にあるかを決定することに基づいて、ルートを第一ルートセグメントおよび第二ルートセグメントに分割する。操作1204において、処理ロジックは、始点または終点が、第一運転領域にあるか、それとも第二運転領域にあるかを決定することに基づいて、オンレーンモードまたはオープンスペースモードのいずれかで操作して第一ルートセグメントの第一軌跡を計画し、オンレーンモードまたはオープンスペースモードのいずれかで操作して第二ルートセグメントの第二軌跡を計画する。
【0100】
図13は、一実施形態に係る、ADVをオープンスペースモードで操作するプロセスの例を示すフローチャートである。プロセス1300は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。例えば、プロセス1300は、ルーティングモジュール307および計画モジュール305によって実行され得る。
図13を参照すると、操作1301において、処理ロジックは、改良されたAスター検索アルゴリズムに基づいて第一ルートセグメントまたは第二ルートセグメントを検索する。操作1302において、処理ロジックは、第一ルートセグメントまたは第二ルートセグメントに基づいて基準線を生成する。操作1303において、処理ロジックは、ADVの幅および基準線に基づいて仮想道路境界を生成する。操作1304において、処理ロジックは、仮想道路境界内にグリッドを生成する。操作1305において、処理ロジックは、グリッドに基づいて候補軌跡群を決定する。操作1306において、処理ロジックは、この候補軌跡群から軌跡を選択して、この軌跡に従って自動的に運転するようにADVを制御する。
【0101】
図14は、一実施形態に係る、ADVに障害物を回避させるプロセスの例を示すフローチャートである。プロセス1400は、ソフトウェア、ハードウェア、またはそれらの組み合わせを含み得る処理ロジックによって実行され得る。例えば、プロセス1400は、感知モジュール302、ルーティングモジュール307、計画モジュール305、および制御モジュール306によって実行され得る。
図14を参照すると、操作1401において、処理ロジックは、ADVが運転される第一軌跡を計画する。操作1402において、処理ロジックは、第一軌跡に沿って自動的に運転するようにADVを制御する。操作1403において、処理ロジックは、ADVに取り付けられた複数のセンサから得られたセンサデータに基づいて、ADVの被影響領域内の障害物を検出し、同時に第一軌跡に沿って自動的に運転するようにADVを制御する。操作1404において、処理ロジックは、被影響領域内の障害物の予想滞留時間を決定する。操作1405において、処理ロジックは、被影響領域内の障害物の予想滞留時間に基づいて、第二軌跡を計画するか、それとも障害物が被影響領域を離れるのを待機するかを決定する。操作1406において、処理ロジックは、第一軌跡を計画するか、それとも障害物が被影響領域を離れるのを待機するかを決定することに基づいて、ADVが運転される第二軌跡を計画し、第二軌跡に沿って自動的に運転するようにADVを制御するか、または、障害物が被影響領域を離れるのを待機してから第一軌跡に沿って自動的に運転するようにADVを制御する。
【0102】
なお、上記で説明したコンポーネントの一部またはすべては、ソフトウェア、ハードウェア、またはそれらの組み合わせで実装され得る。例えば、このようなコンポーネントは、本出願全体にわたって説明されるプロセスまたは操作を実施するためにプロセッサ(図示せず)によってメモリにロードされ、メモリ内で実行され得る、永久記憶装置にインストールおよび記憶されたソフトウェアとして実装され得る。あるいは、このようなコンポーネントは、アプリケーションからの対応するドライバおよび/またはオペレーティングシステムを介してアクセスされ得る、専用ハードウェア(例えば、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタルシグナルプロセッサ(DSP)、またはフィールド・プログラマブル・ゲート・アレイ(FPGA))にプログラミングされるかまたは埋め込まれる実行可能コードとして実装され得る。また、このようなコンポーネントは、ソフトウェアコンポーネントが1つまたは複数の特定のコマンドを介してアクセスできるコマンドセットの一部として、プロセッサまたはプロセッサコア内の特定のハードウェアロジックとして実装され得る。
【0103】
前記詳細な説明の一部は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現に関して示される。これらのアルゴリズムの説明と表現は、データ処理分野の当業者が自分の作業の本質を他の当業者に最も効果的に伝えるために使用する手段である。本明細書では、アルゴリズムは一般に、所望の結果につながる自己矛盾のない一連の操作であると考えられている。これらの操作とは、物理量の物理的操作を必要とする操作を指す。
【0104】
なお、これらの用語および同様の用語は、すべて適切な物理量に関連付けられ、これらの量に適用される便利なラベルにすぎない。上記説明において特に明記しない限り、明細書全体を通して、用語(例えば、添付の特許請求の範囲に記載の用語)を使用した説明とは、コンピュータシステムのレジスタとメモリ内の物理(電子)量として示されるデータを制御し、前記データをコンピュータシステムのメモリまたはレジスタ、または他の情報記憶装置内、伝送装置内または表示装置内の物理量として同様に示される他のデータに変換する、コンピュータシステムまたは同様の電子計算装置の動作および処理を指すことを理解されたい。
【0105】
本開示の実施形態は、本明細書の操作を実行するためのデバイスにも関する。このコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス)を含む。
【0106】
前記図面に示されるプロセスまたは方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的なコンピュータ可読媒体で具体化されるもの)、または両方の組み合わせを含む処理ロジックによって実行され得る。前記プロセスまたは方法は、いくつかの連続操作に関して上記で説明されているが、前記操作の一部は、異なる順序で実行され得ることを理解されたい。また、いくつかの操作は、順次ではなく並列に実行され得る。
【0107】
本開示の実施形態は、特定のプログラミング言語を参照して説明されていない。本明細書で説明される本開示の実施形態の教示を実施するために、様々なプログラミング言語が使用され得ることを理解されたい。
【0108】
以上の明細書では、本開示の実施形態は、本開示の特定の例示的な実施形態を参照して説明されている。添付の特許請求の範囲に記載の本開示のより広い精神および範囲から逸脱することなく、本発明に様々な変更を加えることができることは明らかであろう。従って、本明細書および図面は、限定的な意味ではなく例示的な意味で理解されるべきである。
【図 】