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

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

▶ バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッドの特許一覧 ▶ バイドゥ ユーエスエイ エルエルシーの特許一覧

特許7309613自律走行車中の非回避計画システムにおける障害物フィルタリングの方法
<>
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図1
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図2
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図3A
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図3B
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図4
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図5A
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図5B
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図6
  • 特許-自律走行車中の非回避計画システムにおける障害物フィルタリングの方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-07
(45)【発行日】2023-07-18
(54)【発明の名称】自律走行車中の非回避計画システムにおける障害物フィルタリングの方法
(51)【国際特許分類】
   B60W 30/14 20060101AFI20230710BHJP
   B60W 60/00 20200101ALI20230710BHJP
   B60W 40/04 20060101ALI20230710BHJP
   B60W 30/09 20120101ALI20230710BHJP
   G08G 1/16 20060101ALI20230710BHJP
   B60T 7/12 20060101ALI20230710BHJP
【FI】
B60W30/14
B60W60/00
B60W40/04
B60W30/09
G08G1/16 A
B60T7/12 C
【請求項の数】 23
(21)【出願番号】P 2019555236
(86)(22)【出願日】2018-12-26
(65)【公表番号】
(43)【公表日】2021-08-05
(86)【国際出願番号】 CN2018123888
(87)【国際公開番号】W WO2020132938
(87)【国際公開日】2020-07-02
【審査請求日】2020-10-16
(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)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【氏名又は名称】松島 鉄男
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100170379
【弁理士】
【氏名又は名称】徳本 浩一
(74)【代理人】
【識別番号】100180231
【弁理士】
【氏名又は名称】水島 亜希子
(74)【代理人】
【氏名又は名称】有原 幸一
(72)【発明者】
【氏名】ヂュ,ファン
(72)【発明者】
【氏名】マー,リン
(72)【発明者】
【氏名】シュ,シン
【審査官】▲高▼木 真顕
(56)【参考文献】
【文献】特開2009-294930(JP,A)
【文献】国際公開第2017/022475(WO,A1)
【文献】国際公開第2015/156097(WO,A1)
【文献】特開2007-176483(JP,A)
【文献】特開平08-005388(JP,A)
【文献】特開2017-182569(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00 - 60/00
G08G 1/00 - 99/00
B60T 7/12 - 8/1769
B60T 8/32 - 8/96
B62D 6/00 - 6/10
B60R 21/00 - 21/017
B60K 31/00 - 31/18
(57)【特許請求の範囲】
【請求項1】
自律走行車を操作するためのコンピュータ実施方法であって、
自律走行車(ADV)が走行している第1車線内の障害物の初期セットを感知することを含む前記ADVを取り囲む運転環境を感知するステップと、
所定の基準の第1セットに基づいて、一つまたは複数の障害物の第1セットを前記障害物の初期セットからのサブセットとして認識するステップと、
前記ADVが前記障害物の第1セット中の任意の障害物を回避することを防止するように、前記障害物の第1セット中の各障害物の寸法を前記第1車線の幅まで拡張するステップと、
前記ADVを制御して前記第1車線を走行するようにナビゲートするために、前記初期セット中の残りの障害物を考慮せず、前記障害物の第1セット中の拡張された障害物に基づいて、前記ADVの軌跡を計画するステップとを含み、
前記障害物の第1セットは、予測時間ウィンドウによって前記初期セットから選択されたものである、ことを特徴とするコンピュータ実施方法。
【請求項2】
前記障害物の第1セットは、予測時間ウィンドウの開始位置で前記ADVに最も近い障害物と、前記予測時間ウィンドウの終了位置で前記ADVに最も近い障害物と、前記予測時間ウィンドウ期間で前記第1車線と交差する一つまたは複数の障害物とを含むことを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項3】
前記ADVが前記第1車線から第2車線に切り替えることに応答して、所定の基準の第2セットに基づいて、前記第2車線中の障害物の第2セットを認識するステップと、
前記障害物の第2セット中の各障害物を前記第2車線の幅まで拡張するステップとをさらに含むことを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項4】
前記ADVが前記第2車線に切り替えた後、前記ADVは前記第1車線中の障害物の第1セットの追跡を停止することを特徴とする請求項3に記載のコンピュータ実施方法。
【請求項5】
前記障害物の第1セットと前記障害物の第2セットのそれぞれは、車両、人、自転車、オートバイまたは他の移動オブジェクトのうちの一つであることを特徴とする請求項3に記載のコンピュータ実施方法。
【請求項6】
前記障害物の第1セットと前記障害物の第2セットのそれぞれは、前記ADV多角形として認識されることを特徴とする請求項5に記載のコンピュータ実施方法。
【請求項7】
前記ADVは、少なくとも地図情報に基づく予測結果に基づいて、車線を変更するか否かを決定することを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項8】
前記第1セットは、前記障害物から前記ADVまでの距離と、前記障害物から前記ADVまでの距離に関わらず前記ADVの前面で車線と交差する任意の障害物とに基づいて、前記予測時間ウィンドウ期間に一定数の障害物を認識することにより決定されたものであることを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項9】
指令が記憶された非一時的な機械可読媒体であって、前記指令がプロセッサによって実行されるときに、前記プロセッサに操作を実行させ、前記操作は、
自律走行車(ADV)が走行している第1車線内の障害物の初期セットを感知することを含む前記ADVを取り囲む運転環境を感知するステップと、
所定の基準の第1セットに基づいて、一つまたは複数の障害物の第1セットを前記障害物の初期セットからのサブセットとして認識するステップと、
前記ADVが前記障害物の第1セット中の任意の障害物を回避することを防止するように、前記障害物の第1セット中の各障害物の寸法を前記第1車線の幅まで拡張するステップと、
前記ADVを制御して前記第1車線を走行するようにナビゲートするために、前記初期セット中の残りの障害物を考慮せず、前記障害物の第1セット中の拡張された障害物に基づいて、前記ADVの軌跡を計画するステップとを含み、
前記障害物の第1セットは、予測時間ウィンドウによって前記初期セットから選択されたものであることを特徴とする非一時的な機械可読媒体。
【請求項10】
前記障害物の第1セットは、予測時間ウィンドウの開始位置で前記ADVに最も近い障害物と、前記予測時間ウィンドウの終了位置で前記ADVに最も近い障害物と、前記予測時間ウィンドウ期間で前記第1車線と交差する一つまたは複数の障害物とを含むことを特徴とする請求項9に記載の非一時的な機械可読媒体。
【請求項11】
前記ADVが前記第1車線から第2車線に切り替えることに応答して、所定の基準の第2セットに基づいて、前記第2車線中の障害物の第2セットを認識するステップと、
前記障害物の第2セット中の各障害物を前記第2車線の幅まで拡張するステップとをさらに含むことを特徴とする請求項9に記載の非一時的な機械可読媒体。
【請求項12】
前記ADVが前記第2車線に切り替えた後、前記ADVは前記第1車線中の障害物の第1セットの追跡を停止することを特徴とする請求項11に記載の非一時的な機械可読媒体。
【請求項13】
前記障害物の第1セットと前記障害物の第2セットのそれぞれは、車両、人、自転車、オートバイまたは他の移動オブジェクトのうちの一つであることを特徴とする請求項11に記載の非一時的な機械可読媒体。
【請求項14】
前記障害物の第1セットと前記障害物の第2セットのそれぞれは、前記ADV多角形として認識されることを特徴とする請求項13に記載の非一時的な機械可読媒体。
【請求項15】
前記ADVは、少なくとも地図情報に基づく予測結果に基づいて、車線を変更するか否かを決定することを特徴とする請求項9に記載の非一時的な機械可読媒体。
【請求項16】
前記第1セットは、前記障害物から前記ADVまでの距離と、前記障害物から前記ADVまでの距離に関わらず前記ADVの前面で車線と交差する任意の障害物とに基づいて、前記予測時間ウィンドウ期間に一定数の障害物を認識することにより決定されたものであることを特徴とする請求項9に記載の非一時的な機械可読媒体。
【請求項17】
プロセッサと、
指令を記憶するために、前記プロセッサに結合されるメモリとを含むデータ処理システムであって、
前記指令がプロセッサによって実行されるときに、前記プロセッサに操作を実行させ、前記操作は、
自律走行車(ADV)が走行している第1車線内の障害物の初期セットを感知することを含む前記ADVを取り囲む運転環境を感知するステップと、
所定の基準の第1セットに基づいて、一つまたは複数の障害物の第1セットを前記障害物の初期セットからのサブセットとして認識するステップと、
前記ADVが前記障害物の第1セット中の任意の障害物を回避することを防止するように、前記障害物の第1セット中の各障害物の寸法を前記第1車線の幅まで拡張するステップと、
前記ADVを制御して前記第1車線を走行するようにナビゲートするために、前記初期セット中の残りの障害物を考慮せず、前記障害物の第1セット中の拡張された障害物に基づいて、前記ADVの軌跡を計画するステップとを含み、
前記障害物の第1セットは、予測時間ウィンドウによって前記初期セットから選択されたものであることを特徴とするデータ処理システム。
【請求項18】
前記障害物の第1セットは、予測時間ウィンドウの開始位置で前記ADVに最も近い障害物と、前記予測時間ウィンドウの終了位置で前記ADVに最も近い障害物と、前記予測時間ウィンドウ期間で前記第1車線と交差する一つまたは複数の障害物とを含むことを特徴とする請求項17に記載のデータ処理システム。
【請求項19】
前記ADVが前記第1車線から第2車線に切り替えることに応答して、所定の基準の第2セットに基づいて、前記第2車線中の障害物の第2セットを認識するステップと、
前記障害物の第2セット中の各障害物を前記第2車線の幅まで拡張するステップとをさらに含むことを特徴とする請求項17に記載のデータ処理システム。
【請求項20】
前記ADVが前記第2車線に切り替えた後、前記ADVは前記第1車線中の障害物の第1セットの追跡を停止することを特徴とする請求項19に記載のデータ処理システム。
【請求項21】
前記障害物の第1セットと前記障害物の第2セットのそれぞれは、車両、人、自転車、オートバイまたは他の移動オブジェクトのうちの一つであることを特徴とする請求項19に記載のデータ処理システム。
【請求項22】
前記障害物の第1セットと前記障害物の第2セットのそれぞれは、前記ADV多角形として認識されることを特徴とする請求項21に記載のデータ処理システム。
【請求項23】
前記第1セットは、前記障害物から前記ADVまでの距離と、前記障害物から前記ADVまでの距離に関わらず前記ADVの前面で車線と交差する任意の障害物とに基づいて、前記予測時間ウィンドウ期間に一定数の障害物を認識することにより決定されたものであることを特徴とする請求項17に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、概して、自律走行車の操作に関する。より具体的に、本開示の実施形態は、非回避計画システムにおける障害物をフィルタリングする方法に関する。
【背景技術】
【0002】
自動運転モード(例えば、無人運転)で動作する車両は、運転に関連する義務から乗客(特に運転者)を開放することができる。自動運転モードで動作する場合、車両は、オンボードセンサーと高解像度地図を使用して各位置にナビゲートすることができて、車両が最少のヒューマンインタラクションの状況、または乗客のない状況で運転できるようにする。
【0003】
自律走行車(ADV)は、センサーによって検出されたアルタイムの交通及びローカル環境データに依存して各計画段階中の最適なルートを計画する。ADVの感知領域中の障害物(例えば、オブジェクトと近くの車両)は、ADVの計画に影響を与えることができる。感知領域中の障害物が多いほど、ADVの次の行動を計画する時間が長くなる。従って、ADVの安全性に影響を与えず、ADVの計画効率を向上させるために、いくつの障害物をフィルタリングすることが望まれる。
【発明の概要】
【0004】
本開示の態様において、本開示の実施形態は、ADVが走行している第1車線内の障害物の初期セットを感知することを含む自律走行車(ADV)を取り囲む運転環境を感知するステップと、所定の基準の第1セットに基づいて、一つまたは複数の障害物の第1セットを障害物の初期セットからのサブセットとして認識するステップと、障害物の第1セット中の各障害物の寸法を第1車線の幅まで拡張して、ADVが障害物の第1セット中の任意の障害物を回避することを防止するようにするステップと、及びADVを制御して第1車線を通過するようにナビゲートするために、初期セット中の残りの障害物を考慮せず、障害物の第1セット中の拡張された障害物に基づいて、ADVの軌跡を計画するステップとを含む自律走行車を操作するためのコンピュータ実施方法を提供する。
【0005】
本開示の他の態様において、本開示の実施形態は、指令が記憶された非一時的な機械可読媒体であって、前記指令は、プロセッサによって実行されるときに、プロセッサが操作を実行するようにし、前記操作は、ADVが走行している第1車線内の障害物の初期セットを感知することを含む自律走行車(ADV)を取り囲む運転環境を感知するステップと、所定の基準の第1セットに基づいて、一つまたは複数の障害物の第1セットを障害物の初期セットからのサブセットとして認識するステップと、障害物の第1セット中の各障害物の寸法を第1車線の幅まで拡張して、ADVが障害物の第1セット中の任意の障害物を回避することを防止するようにするステップと、及びADVを制御して第1車線を通過するようにナビゲートするために、初期セット中の残りの障害物を考慮せず、障害物の第1セット中の拡張された障害物に基づいて、ADVの軌跡を計画するステップとを含む指令が記憶された非一時的な機械可読媒体を提供する。
【0006】
本開示の他の態様において、本開示の実施形態は、プロセッサと、及び指令を記憶するために、プロセッサに結合されるメモリとを含み、前記指令は、プロセッサによって実行されるときに、プロセッサが操作を実行するようにし、前記操作は、ADVが走行している第1車線内の障害物の初期セットを感知することを含む自律走行車(ADV)を取り囲む運転環境を感知するステップと、所定の基準の第1セットに基づいて、一つまたは複数の障害物の第1セットを障害物の初期セットからのサブセットとして認識するステップと、障害物の第1セット中の各障害物の寸法を第1車線の幅まで拡張して、ADVが障害物の第1セット中の任意の障害物を回避することを防止するようにするステップと、及びADVを制御して前記第1車線を通過するようにナビゲートするために、初期セット中の残りの障害物を考慮せず、障害物の第1セット中の拡張された障害物に基づいて、ADVの軌跡を計画するステップとを含むデータ処理システムを提供する。
【図面の簡単な説明】
【0007】
図1】一実施形態に係るネットワーク化されたシステムを示すブロック図である。
図2】一実施形態に係る自律走行車の例示を示すブロック図である。
図3A】一実施形態に係る自律走行車と一緒に使用される感知及び計画システムの例示を示すブロック図である。
図3B】一実施形態に係る自律走行車と一緒に使用される感知及び計画システムの例示を示すブロック図である。
図4】実施形態に係るADVによって使用される障害物をフィルタリングする例示的なシステムを示す。
図5A】実施形態に係る非回避シーンにおいて障害物がどのようにフィルタリングされることを示した例示的な図である。
図5B】実施形態に係る非回避シーンにおいて障害物がどのようにフィルタリングされることを示した例示的な図である。
図6】実施形態に係る障害物をフィルタリングする例示的なプロセスを示すフローチャートである。
図7】本開示の一実施形態と一緒に使用することができるデータ処理システムの例示を示すブロック図である。
【発明を実施するための形態】
【0008】
本発明の実施形態は、添付されたそれぞれの図面において限定ではなく、例示として示され、図面において類似の参照符号は、類似の要素を指す。
【0009】
本開示の様々な実施形態及び態様は、以下で議論される詳細を参照して説明され、図面は前記様々な実施形態を示す。以下の説明及び図面は、本開示を説明するものであり、限定するものとして解釈されるべきではない。本開示の様々な実施形態の包括的な理解を提供するために、多くの特定の詳細が記載されている。しかし、場合によっては、本開示の実施形態の簡単な説明を提供するために、周知または通常の詳細は説明されていない。
【0010】
本明細書における「一実施形態」または「実施形態」の列挙は、当該実施形態に結び付いて説明される特定の特徴、構造、または特性が本開示の少なくとも一つの実施形態に含まれ得ることを意味する。「一実施形態において」は、本明細書の各所に記載は、必ずしもすべて同じ実施形態を指していることではない。
【0011】
実施形態において、本明細書は、障害物をフィルタリングして、自律走行車(ADV)が所定の計画段階で処理する障害物の数を減少するシステム及び方法について説明した。ADVは、ADVが走行している第1車線中の基準セットに基づいて障害物の第1セットを認識し、第1車線中の残りの障害物をフィルタリングし、認識された障害物の第1セット中の任意の障害物を回避できないように、ADVの角度から各認識された障害物を第1車線の幅まで拡張する。
【0012】
第1車線から第2車線に切り替えると、ADVは、同じ基準セットを使用して第2車線中の障害物の第2セットを認識することができ、障害物の第2セット中の各障害物を第2車線の幅まで拡張し、同時に認識された障害物の第1セットを追跡し続ける。第2車線中の認識された障害物の第2セット中のそれぞれを拡張することにより、ADVが認識された障害物の第2セットのいずれかを回避することを防止する。車線切り替えが完了すると、ADVは、認識された障害物の第1セットの追跡を停止することができる。
【0013】
本明細書で使用される障害物の回避とは、障害物との衝突を回避する、または障害物に接触されることを回避するための行動を取ることを意味する。回避動作の例は、高速道路で車両を追い越すことである。計画段階は、複数の運転サイクルを含むことができ、計画及び制御データに基づいて一つまたは複数の制御命令がADVによって送信される期間を表すことができる。ウィンドウ予測は、ADVの予測モジュールによって使用されるADVの周辺環境における障害物が地図/ルート情報セットと交通ルールに従って、感知データに基づいてどのように動作するかを予測する期間である。
【0014】
実施形態において、認識された障害物の第1セットは、ウィンドウ予測の開始位置で第1車線中の最も近い障害物、ウィンドウ予測の終了位置で第1車線中の最も近い障害物、及びウィンドウ予測の間に第1車線と交差する一つまたは複数の障害物を含むことができる。同様に、認識された障害物の第2セットは、ウィンドウ予測の開始位置で第2車線中の最も近い障害物、ウィンドウ予測の終了位置で第2車線中の最も近い障害物、及びウィンドウ予測の間に第2車線と交差する一つまたは複数の障害物を含むことができる。
【0015】
実施形態において、障害物の第1セットと障害物の第2セットのそれぞれは、車両、人、自転車、オートバイまたは他の移動オブジェクトのうちの一つであり、ADVに対して多角形として現れることができる。ADVは、少なくとも地図情報に基づいて生成された予測結果に基づいて、車線を変更するか否かを決定する。
【0016】
比較的小さい障害物セットを認識し、比較的小さい障害物セットに基づいて次のルートを計画することにより、ADVは、処理する障害物の数を大幅に削減し、他の周囲オブジェクトを回避しない運転環境中のADVの計画効率を向上させる。上記特徴は、例えば、多くの障害物がADVによって認識される可能性のあるラッシュアワーで非常に有用である。
[自律走行車]
【0017】
図1は、本開示の一実施形態に係る自律走行車ネットワーク構成のブロック図である。図1を参照すると、ネットワーク構成100は、ネットワーク102を介して一つまたは複数のサーバ103乃至104に通信可能に結合され得る自律走行車101を含む。一つの自律走行車を示したが、複数の自律走行車は、ネットワーク102を介してお互いにおよび/またはサーバ103乃至104に結合されることができる。ネットワーク102は、有線または無線ローカルエリアネットワーク(LAN)、セルラーネットワーク、衛星ネットワークまたはそれらの組合せなどのウェブのワイドエリアネットワーク(WAN)のような任意のタイプのネットワークであることができる。サーバ103乃至104は、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはそれらの組合せなどの任意のタイプのサーバまたはサーバのクラスターであることができる。サーバ103乃至104は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図及びポイントオブインタレスト(MPOI)サーバまたはロケーションサーバなどであることができる。
【0018】
自律走行車とは、運転者からの入力がほとんどまたは全くない環境をナビゲートする自動運転モードに設定できる車両を指す。このような自律走行車は、センサーシステムを含むことができ、前記センサーシステムは、車両運転環境に関連する情報を検出するように構成される一つまたは複数のセンサーを備える。前記車両とそれに関連するコントローラーは、検出された情報を使用して環境をナビケートする。自律走行車101は、手動モード、完全自動運転モードまたは部分的自動運転モードで動作する。
【0019】
一実施形態において、自律走行車101は、感知及び計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113、及びセンサーシステム115を含むが、これらに限定されない。自律走行車101は、エンジン、ホイール、ステアリングホイール、変速機などの通常の車両に含まれる特定の共通コンポーネントをさらに含むことができ、前記コンポーネントは、車両制御システム111および/または感知及び計画システム110によって、様々な通信信号および/または命令を使用して制御されることができ、当該様々な通信信号および/または命令は、加速信号または命令、減速信号または命令、ステアリング信号または命令、ブレーキ信号または命令などであることができる。
【0020】
コンポーネント110乃至115は、インターコネクタ、バス、ネットワークまたはそれらの組合せを介してお互いに通信可能に結合されることができる。例えば、コンポーネント110乃至115は、コントローラーローカルエリアネットワーク(CAN)バスを介してお互いに通信可能に結合されることができる。CANバスは、ホストコンピューターなしで、アプリケーションでマイクロコントローラーとデバイスが相互に通信できるように設計された車両バス標準である。これは、最初は自動車内の多重電気配線用に設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
【0021】
図2を参照すると、一実施形態において、センサーシステム115は、一つまたは複数のカメラ211、全地球測位システム(GPS)ユニット212、慣性測定ユニット(IMU)213、レーダーユニット214及び光検出と測距(LIDAR)ユニット215を含むが、これらに限定されない。GPSユニット212は、自律走行車の位置に関連する情報を提供するように操作可能なトランシーバを含む。IMUユニット213は、慣性加速度に基づいて自律走行車の位置及び配向変更を感知することができる。レーダーユニット214は、無線信号を利用して自律走行車のローカル環境内の対象を検知するシステムを表すことができる。いくつかの実施形態において、対象の検知以外に、レーダーユニット214は、対象の速度および/または進行方向をさらに検知することができる。LIDARユニット215は、レーザーを使用して自律走行車が配置されている環境中の対象を検知することができる。他のシステムコンポーネント以外に、LIDARユニット215は、一つまたは複数のレーザー源、レーザースキャナー及び一つまたは複数の検出器をさらに含むことができる。カメラ211は、自律走行車周囲環境の画像を収集するための一つまたは複数のデバイスを含むことができる。カメラ211は、スチルカメラおよび/またはビデオカメラであることができる。カメラは、回転および/または傾斜されたプラットフォームにカメラを取り付けることにより、機械的に移動可能であってもよい。
【0022】
センサーシステム115は、ソナーセンサー、赤外線センサー、ステアリングセンサー、スロットルセンサー、ブレーキセンサー、及び音声センサー(例えば、マイク)などの他のセンサーをさらに含むことができる。オーディオセンサーは、自律走行車を取り巻く環境からの音をキャプチャするように構成できる。ステアリングセンサーは、ステアリングホイール、車両のホイールまたはそれらの組合せのステアリング角度を感知するように構成されることができる。アクセルセンサーとブレーキセンサーは、車両のアクセル位置とブレーキ位置をそれぞれ感知する。場合によって、アクセルセンサーとブレーキセンサーは、アクセル/ブレーキセンサーとして統合されることができる。
【0023】
一実施形態において、車両制御システム111は、ステアリングユニット201、アクセルユニット202(加速ユニットとも呼ばれる)とブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は、車両の方向または進行方向を調整するために使用される。アクセルユニット202は、モーターまたはエンジンの速度を制御するために使用され、モーターまたはエンジンの速度は、さらに車両の速度と加速度を制御する。ブレーキユニット203は、摩擦を提供することにより車両のホイールまたはタイヤを減速させて、車両を減速させる。注意すべきのは、図2に示されたコンポーネントは、ハードウェア、ソフトウェアまたはそれらの組合せで実装することができる。
【0024】
図1に戻ると、無線通信システム112は、自律走行車101とデバイス、センサー、他の車両などのような外部システムとの間の通信を可能にするものである。例えば、無線通信システム112は、一つまたは複数のデバイスと直接に無線通信することができ、または通信ネットワークを介して無線通信することができ、例えば、ネットワーク102とサーバ103乃至104を介して通信する。無線通信システム112は、他のコンポーネントまたはシステムと通信するために、WiFiのような任意のセルラーネットワークまたは無線ローカルエリアネットワーク(WLAN)を使用することができる。無線通信システム112は、例えば赤外線リンク、ブルートゥース(登録商標)などを使用して、デバイス(例えば、乗客のモバイルデバイス、ディスプレイデバイス、車両101内のスピーカー)と直接通信することができる。ユーザインターフェースシステム113は、例えば、キーボード、タッチスクリーンディスプレイデバイス、マイクロフォン、およびスピーカーなどを含む車両101内で実装される周辺デバイスの一部であることができる。
【0025】
自律走行車101の機能中の一部または全部は、特に、自動運転モードで操作する場合、感知及び計画システム110によって制御または管理することができる。感知及び計画システム110は、センサーシステム115、制御システム111、無線通信システム112および/またはユーザインターフェースシステム113から情報を受信し、受信した情報を処理し、出発地点から目的地点までの経路または経路を計画し、その後、計画及び制御情報に基づいて車両101を運転するために、必要なハードウェア(例えば、プロセッサ、メモリ、ストレージ)とソフトウェア(例えば、操作システム、計画及びルーティングプログラム)を含む。代替的に、感知及び計画システム110は、車両制御システム111と統合されることができる。
【0026】
例えば、乗客としてのユーザーは、例えばユーザーインターフェースを介して、旅程の開始位置と目的地を指定することができる。感知及び計画システム110は、旅程に関連するデータを獲得する。例えば、感知及び計画システム110は、MPOIサーバから位置とルート情報を獲得することができ、前記MPOIサーバは、サーバ103乃至104の一部であることができる。ロケーションサーバは、ロケーションサービスを提供し、MPOIサーバは地図サービスと特定の位置のPOIを提供する。代替的に、このような位置及びMPOI情報は、感知及び計画システム110の永続性記憶装置にローカルにキャッシュされてもよい。
【0027】
自律走行車101がルートを沿って移動する場合、感知及び計画システム110は、交通情報システムまたはサーバ(TIS)からリアルタイム交通情報を獲得することもできる。注意すべきは、サーバ103乃至104は、サードパーティのエンティティによって操作されることができる。代替的に、サーバ103乃至104の機能は、感知及び計画システム110と統合されることができる。リアルタイム交通情報、MPOI情報と位置情報及びセンサーシステム115によって検出または感知されたリアルタイムローカル環境データ(例えば、障害物、オブジェクト、近くの車両)に基づいて、感知及び計画システム110は、最適なルートを計画することができ、計画されたルートは、指定された目的地に安全かつ効率的に到達するために、例えば制御システム111を介して車両101を運転することができる。
【0028】
サーバ103は、様々なクライアントのためのデータ分析サービスを実行するためのデータ分析システムであることができる。一実施形態において、データ分析システム103は、データ収集器121及び機械学習エンジン122を含む。データ収集器121は、様々な車両(自律走行車または人間運転者によって運転される通常の車両)から運転統計テータ123を収集する。運転統計テータ123は、異なるタイミングで送信された運転命令(例えば、アクセル命令、ブレーキ命令、ステアリング命令)及び車両のセンサーによって捕捉された車両の応答(例えば、速度、加速、減速、方向)を表す情報を含む。運転統計テータ123は、例えばルート(開始位置と目的地位置を含む)、MPOI、道路状況、天気状況などの異なるタイミングでの運転環境を説明する情報をさらに含むことができる。
【0029】
運転統計テータ123に基づいて、機械学習エンジン122は、さまざまな目的のために、例えば、回避するために使用されるアルゴリズムを含む規則、アルゴリズム、および/または予測モデル124のセットを生成または訓練する。そして、アルゴリズム124をADVにアップロードして、自動運転中にリアルタイムで使用することができる。
【0030】
図3A図3Bは、一実施形態による自律走行車と一緒に使用される感知及び計画システムの例示を示すブロック図である。システム300は、図1の自律走行車101の一部として実装されることができ、感知及び計画システム110、制御システム111及びセンサーシステム115を含むが、これらに限定されない。図3A乃至図3Bを参照すると、感知及び計画システム110は、ローカリゼーションモジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、ルーティングモジュール307及び障害物フィルタリングモジュール309を含むが、これらに限定されない。
【0031】
一部または全部モジュール301乃至309は、ソフトウェア、ハードウェアまたはそれらの組合せで実装されることができる。例えば、これらのモジュールは、永続性記憶装置352にインストールされ、メモリ351にロードされ、一つまたは複数のプロセッサ(図示せず)によって実行されることができる。注意すべきは、これらの一部または全部モジュールは、図2の車両制御システム111の一部または全部モジュールに通信可能に結合または統合される。一部のモジュール301乃至309は、統合モジュールとして統合されることができる。
【0032】
ローカリゼーションモジュール301は、自律走行車300の現在の位置(例えば、GPSユニット212を利用する)を決定し、ユーザーの旅程またはルートに関連する任意のデータを管理する。ローカリゼーションモジュール301(地図とルートモジュールとも呼ばれる)は、ユーザーの旅程またはルートに関連する任意のデータを管理する。ユーザーは、例えば、ユーザーインターフェースにログインして、旅程の開始位置と目的地を指定することができる。ローカリゼーションモジュール301は、自律走行車300の地図とルート情報311などの他のコンポーネントと通信して、旅程に関連するデータを獲得する。例えば、ローカリゼーションモジュール301は、ロケーションサーバと地図及びPOI(MPOI)サーバから位置とルート情報を獲得することができる。ロケーションサーバは、ロケーションサービスを提供し、MPOIサーバは地図サービスと特定の位置のPOIを提供して、地図とルート情報311の一部としてキャッシュされることができる。自律走行車300がルートを沿って移動する場合、ローカリゼーションモジュール301は、交通情報システムまたはサーバからリアルタイム交通情報を獲得することもできる。
【0033】
センサーシステム115によって提供されたセンサーデータとローカリゼーションモジュール301によって獲得されたローカリゼーション情報に基づいて、感知モジュール302は、周囲環境に対する感知を決定する。感知情報は、通常の運転者が運転中の車両の周囲で感知するものを表すことができる。感知は、例えば、オブジェクトの形式を使用した車線構成、信号機、別の車両の相対位置、歩行者、建物、横断歩道、またはその他の交通関連標識(例えば、一時停止標識、譲れの標識)などを含むことができる。車線配置は、例えば、車線の形状(例えば、直線または曲率)、車線の幅、道路内の車線の数、片道または双方向車線、合流車線または迂回車線、出口車線などの一つまたは複数の車線を説明する情報を含む。
【0034】
感知モジュール302は、自律走行車環境中のオブジェクトおよび/または特徴を認識するために、一つまたは複数のカメラによってキャプチャされた画像を処理及び分析するコンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者、および/または障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオ追跡、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境をマッピングし、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール302は、レーダーおよび/またはLIDARなどの他のセンサーによって提供される他のセンサーデータに基づいてオブジェクトを検出することもできる。
【0035】
それぞれのオブジェクトについて、予測モジュール303は、前記状況で前記オブジェクトがどのような動作をするかを予測する。特定のタイミングで感知した運転環境の感知データに基づいて、地図/ルート情報311及び交通ルール312のセットに従って前記予測を実行する。例えば、オブジェクトが反対方向の車両であり、現在の運転環境が交差点を含む場合、予測モジュール303は、当該車両が前に直進するか、曲がるかを予測する。感知データが交差点に信号機がないと示す場合、予測モジュール303は、当該車両が交差点に入る前に完全に停止することを予測することができる。感知データが当該車両が現在左折専用車線または右折専用車線にあることを示す場合、予測モジュール303は、当該車両が左折する可能性が高いか、右折する可能性が高いかをそれぞれ予測することができる。
【0036】
それぞれのオブジェクトについて、決定モジュール304は、オブジェクトをどのように扱うかを決定する。例えば、特定のオブジェクト(例えば、交差ルートでの他の車両)及びオブジェクトを説明するメタデータ(例えば、速度、方向、回転角度)について、決定モジュール304は、前記オブジェクトとどのように遭遇する(例えば、追い越し、譲れ、停止、経過)かを決定する。決定モジュール304は、永続性記憶装置352に記憶されることができる交通ルールまたは運転ルール312のルールのセットに従って、このような決定を行うことができる。
【0037】
ルーティングモジュール307は、出発点から目的地までの一つまたは複数のルートまたは経路を提供するように構成される。例えば、ユーザーから受信した開始位置から目的地位置までの所定の旅程について、ルーティングモジュール307は、地図とルート情報311を獲得し、開始位置から目的地位置に到達するすべての可能なルートまたは経路を決定する。ルーティングモジュール307は、地形図の形態でそれで決定される出発点から目的地までのルート中のそれぞれの基準線を生成することができる。基準線は、例えば、他の車両、障害物または交通状況の他の干渉のない理想的なルートまたは理想的な経路を表す。即ち、道路に他の車両、歩行者または障害物がない場合、ADVは、正確にまたは厳密に基準線を従う必要がある。その後、決定モジュール304および/または計画モジュール305に地形図を提供することができる。他のモジュールによって提供される他のデータ(例えば、ローカリゼーションモジュール301からの交通情報、感知モジュール302によって感知された運転環境と予測モジュール303によって予測された交通状況)に従って、決定モジュール304および/または計画モジュール305は、考えられるすべてのルートを検査して、最適なルート中の一つを選択及び修正する。ADVを制御するための実際の経路またはルートは、ルーティングモジュール307によって提供される基準線に近いか、または異なるかは、その時点での特定の運転環境に依存する。
【0038】
感知されたオブジェクトのそれぞれの決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供された基準線路をベースとして使用し、自律走行車のために経路またはルート及び運転パラメータ(例えば、距離、速度および/または回転角度)を計画する。即ち、所与のオブジェクトについて、決定モジュール304は、当該オブジェクトに何をするかを決定し、計画モジュール305は、どのようにするかを決定する。例えば、所与のオブジェクトについて、決定モジュール304は、前記オブジェクトを追い越すことを決定することができ、計画モジュール305は、前記オブジェクトの左側を通過するか右側を通過するかを決定することができる。計画及び制御データは、計画モジュール305によって生成され、車両300が次の移動サイクルの(例えば、次のルート/経路セグメント)でどのように移動するかを説明する情報を含む。例えば、計画及び制御データは、車両300が30マイルの時速(mph)の速度で10メートルを移動し、25mphの速度で右側の車線に変更することを指示することができる。
【0039】
計画及び制御データに基づいて、制御モジュール306は、計画及び制御データによって定義されたルートまたは経路に従って、適切な命令または信号を車両制御システム111に送信して、自律走行車を制御及び運転する。前記計画及び制御データは、十分な情報を含み、経路またはルートに沿って異なるタイミングで適切な車両の設置または運転パラメータ(例えば、アクセル、ブレーキ及びステアリング命令)を使用して、車両をルートまたは経路の第1点から第2点に運転する。
【0040】
一実施形態において、計画段階は、複数の計画サイクル(運転サイクルとも呼ばれる)で実行され、例えば、100ミリ秒(ms)の時間間隔ごとなどで実行される。それぞれの計画サイクルまたは運転サイクルは、計画及び制御データに基づいて一つまたは複数の制御命令を送信する。即ち、100msごとに、計画モジュール305が次のルートセグメントまたは経路セグメントを計画し、例えば、目標位置とADVが当該目標位置に到達するのに必要な時間を含む。代替的に、計画モジュール305は、具体的な速度、方向および/またはステアリング角度などを指定することもできる。一実施形態において、計画モジュール305は、次の所定の期間(例えば、5秒)でルートセグメントまたは経路セグメントを計画する。それぞれの計画サイクルについて、計画モジュール305は、前のサイクルで計画した目標位置に基づいて現在のサイクル(例えば、次の5秒)のために目標位置を計画する。その後、制御モジュール306は、その後現在のサイクルの計画及び制御データに基づいて一つまたは複数の制御命令(例えば、アクセル制御命令、ブレーキ制御命令、ステアリング制御命令)を生成する。
【0041】
注意すべきは、決定モジュール304と計画モジュール305は、統合モジュールに統合されることができる。決定モジュール304/計画モジュール305は、自律走行車の運転経路を決定するためのナビゲーションシステムまたはナビゲーションシステム機能を含むことができる。例えば、ナビゲーションシステムは、自律走行車が以下の経路に沿って移動する一連のことを実現するための速度と進行方向を決定する:前記経路は、自律走行車を最終目的地に至る車線の経路に沿って前進すると同時に、基本的に感知された障害物を回避する。目的地は、ユーザインターフェースシステム113を介して行われるユーザーの入力によって設定されることができる。ナビゲーションシステムは、自律走行車が動作すると同時に、動的に運転経路を更新することができる。ナビゲーションシステムは、自律走行車の運転経路を決定するために、GPSシステム及び一つまたは複数の地図からのデータを組み込むことができる。
【0042】
障害物フィルタリングモジュール309は、ADVの感知領域中の障害物セットを認識し、感知領域中の残りの障害物をフィルタリングするために使用することができる。認識された障害物セット中の各障害物は、ADVが移動している車線の幅まで拡張することができるため、ADVは認識された障害物のいずれも回避できなくなる。障害物フィルタリングモジュール309は、ADVが所定の数を超える障害物を感知すると自動的に呼び出され、感知された障害物が所定の数を下回ると、ADVの計画関数を計画モジュール305に自動的に伝送することができる。
【0043】
注意すべきは、上記で示して説明したコンポーネントの一部または全部は、ソフトウェア、ハードウェアまたはそれらの組合せで実装されることができる。例えば、このようなコンポーネントは、永続性記憶装置にインストールされ且つ記憶されるソフトウェアとして実装されることができ、前記ソフトウェアは、プロセッサ(図示せず)を介してメモリにロードされ、メモリで実行されて、本発明の全文で説明されたプロセスまたは操作を実装することができる。代替的に、このようなコンポーネントは、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタルシグナルプロセッサ(DSP)またはフィールドプログラマブルゲートアレイ(FPGA)などの専用ハードウェアにプログラムまたは埋め込まれた実行可能なコードとして実装されることができ、前記実行可能なコードは、アプリケーションから対応するドライバーおよび/または操作システムを介してアクセスすることができる。なお、このようなコンポーネントは、一つまたは複数の特定の指令を介してソフトウェアコンポーネントからアクセス可能な指令セットの一部として、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして実装されることができる。
【0044】
[障害物フィルタリング]
図4は、実施形態に係るADVによって使用される、障害物をフィルタリングするための例示的なシステムを示す。実施形態において、障害物フィルタリングモジュール309は、代替モジュールとしてADVの軌跡を計画するように計画モジュール305に提供されることができる。ADVの軌跡を計画する場合、障害物フィルタリングモジュール309は、まず、地図情報と感知された交通状況および/またはADVの予測モジュールから生成された予測結果に基づいて、車線を変更するか否かを決定することができる。車線変更が必要ない場合、障害物フィルタリングモジュール309は、同じ車線障害物フィルタ401を呼び出して、ADVが走行している現在の車線中の一つまたは複数の障害物を認識し、他の障害物をフィルタリングすることができる。
【0045】
実施形態において、ADVの所定の計画段階の間に、ADVは、フィルタリングされた障害物を処理しない。一つまたは複数の認識された障害物中のそれぞれは、現在の車線を完全にブロックしたように見えるようにADVによって拡張され、ADVが認識された障害物のいずれかを回避(例えば、通過)することを防止する。
【0046】
異なるプロセスを使用してADVの追跡する一つまたは複数の障害物を認識することができる。一つの例示において、予測時間ウィンドウ(例えば、8秒)の開始位置でADVに最も近い障害物と、ウィンドウ予測の終了位置でADVに最も近い障害物と、及びウィンドウ予測期間で現在の車線と交差する一つまたは複数の障害物とを選択するプロセスによって、ADVの障害物セットを認識することができる。つまり、ウィンドウ予測期間で現れまたは現在の車線の少なくとも一部を占有すると予測される任意の障害物は、回避の目的である考慮される。言い換えれば、ウィンドウ予測期間で障害物のいずれの部分(例えば、物理的寸法)が現在の車線内にあると、当該障害物が考慮される。現在の車線に位置され、ウィンドウ予測の外側に位置される任意の他の障害物(例えば、障害物513)は無視またはフィルタリングされ、認識された障害物セットのみを残して、ADVによって次の最適な経路を計画する際に処理されるようにする。従って、計画プロセス期間で時間とリソースの消費を削減することができる。
【0047】
代替的に、ADVは、障害物からADVまでの距離と、ADVまでの距離に関わらずADVの前面で車線と交差する任意の障害物とに基づいて、ウィンドウ予測期間に一定数の障害物(例えば、三つの障害物)を認識することができる。
【0048】
ADVは、車線変更が必要であると判断された場合、交差車線障害物フィルタ403を呼び出すことができる。このような場合において、ADVは、ADVが切り替える新しい車線中の一つまたは複数の障害物を認識することができる。新しい車線中の一つまたは複数の障害物は、追跡のために、ADVによって認識された現在の車線中の障害物セットと類似に認識されることができる。
【0049】
実施形態において、新しい車線または現在の車線中の各認識された障害物は、それらのそれぞれの車線の幅まで拡張されて、ADVが車線変更プロセスの間に任意の認識された障害物を回避できないようにする。車線変更が完了すると、ADVは、前の車線(即ち、車線変更を完了する前の現在の車線)中の障害物セットの追跡を停止することができる。
【0050】
図5A乃至図5Bは、実施形態に係る非回避シーンにおいて障害物がどのようにフィルタリングされることを示す例示的な図である。図5Aは、三車線道路の車線B514で走行しているマスターADV501を示し、三車線道路は、車線A512と車線C516をさらに含む。三車線道路は複数の車線境界505乃至511を含む。
【0051】
マスターADV501は、障害物のセットを認識することができ、マスターADV501が任意の障害物を回避できないように、当該障害物は拡張される。当該例示において、障害物B515、障害物C517及び障害物D519は、拡張される障害物として認識される。障害物C517は、ウィンドウ予測の開始時にマスターADV501に最も近い障害物であることができる。障害物B515は、ウィンドウ予測の終了時にマスターADV501に最も近い障害物であることができる。障害物D519は、車線A512から車線C516までのウィンドウ予測期間に車線B514と交差する障害物であることができる。
【0052】
図に示すように、障害物B515、障害物C517、及び障害物D519は、車線B514の幅まで拡張されて、各拡張された障害物が車線全体をブロックし、マスターADV501が任意の拡張された障害物を回避することを許可しない。
【0053】
図5Bは、マスターADV501の車線変更のシナリオを示す。このような場合、マスターADV501は、車線B514から車線A512に切り替える。現在のウィンドウ予測期間において、マスターADVは、車線B514の幅まで拡張された認識された障害物のセットを追跡し続けることができる。マスターADVは、車線B514中の障害物セットを認識するための基準と同じ基準を使用して、車線A512中の障害物の他のセットをさらに認識することができる。
【0054】
例えば、車線A512中の障害物G522、障害F521及び障害物H525は認識され、車線A512の幅まで拡張されることができる。障害物G522は、ウィンドウ予測の開始時にマスターADV501に最も近い障害物であることができる。障害物F521は、ウィンドウ予測の終了時にマスターADV501に最も近い障害物であることができる。障害物H525は、車線境界A505を横断して車線B512に進入した道路上の障害物であることができる。
【0055】
実施形態において、マスターADV501は、車線変更の期間に車線A512と車線B514中の認識された障害物の二つのセットを追跡することができる。車線変更が完了すると、マスターADV501は、車線B514中の認識された障害物セットの追跡を停止することができる。
【0056】
図6は、実施形態に係る自障害物をフィルタリングする例示的なプロセスを示すフローチャートである。プロセス600は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、プロセッサ、処理デバイス、中央処理装置(CPU)、システムオンチップ(SoC)など)、ソフトウェア(例えば、処理デバイスで実行(running)/実行(executing)する指令)、ファームウェア(例えば、マイクロコードなど)、またはそれらの組み合わせを含み得る処理ロジックによって実行される。いくつかの実施形態において、プロセス600は、図3A図3Bに示された感知モジュール302、計画モジュール305、ルーティングモジュール307、及び障害物フィルタリングモジュール309中の一つまたは複数によって実行される。
【0057】
図6を参照すると、処理601において、ADVが走行している第1車線内の障害物の初期セットを感知することを含むADV周囲の運転環境を感知する。処理602において、計画段階期間に追跡するために、処理ロジックは、一つまたは複数の障害物の第1セットを初期セットのサブセットとして認識する。当該障害物のセットは、第1車線で認識され、ADVのウィンドウ予測の開始位置でADVに最も近い障害物と、ADVのウィンドウ予測の終了位置でADVに最も近い障害物と、及びウィンドウ予測期間で第1車線と交差する一つまたは複数の障害物とを含むことができる。このようなプロセスは、実際にADVの次の計画サイクルに直接に関連する任意の障害物をフィルタリングする。つまり、計画段階期間において、ADVは、第1車線で認識された障害物以外の残りの障害物をフィルタリングする。残りの障害物をフィルタリングすることにより、ADVは、次のルートを計画する際に、これらのオブジェクトがどのように動作するかを考慮せず、認識された障害物のセットのみに集中する。
【0058】
処理603にいて、ADVは、認識された各障害物の寸法を第1車線の幅まで拡張して、拡張された障害物がADVをブロックして、ADVが任意の拡張された障害物を回避することを防止するようにする。処理604において、ADVを制御して車線を通過するようにナビゲートするために、処理ロジックは、初期セット中の残りの障害物を考慮せず、拡張された障害物に従って軌跡を計画する。大量の障害物をフィルタリングすることにより、ADVは、ADVの計画に不可欠な少数の障害物のセットのみを処理するため、ADVの計画効率を向上させる。ラッシュアワーの高速道路などの混雑した道路セグメントでは、ここで説明する方法により、ADVの計画性能を大幅に向上させることができる。
【0059】
注意すべきは、上記で示して説明したコンポーネントの一部または全部は、ソフトウェア、ハードウェアまたはそれらの組合せで実装されることができる。例えば、このようなコンポーネントは、永続性記憶装置にインストールされ且つ記憶されるソフトウェアとして実装されることができ、前記ソフトウェアは、プロセッサ(図示せず)を介してメモリにロードされ、メモリで実行されて、本発明の全文で説明されたプロセスまたは操作を実装することができる。代替的に、このようなコンポーネントは、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタルシグナルプロセッサ(DSP)またはフィールドプログラマブルゲートアレイ(FPGA)などの専用ハードウェアにプログラムまたは埋め込まれた実行可能なコードとして実装されることができ、前記実行可能なコードは、アプリケーションから対応するドライバーおよび/または操作システムを介してアクセスすることができる。なお、このようなコンポーネントは、一つまたは複数の特定の指令を介してソフトウェアコンポーネントからアクセス可能な指令セットの一部として、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして実装されることができる。
【0060】
図7は、本発明の一実施形態と一緒に使用され得るデータ処理システムの例を示すブロック図である。例えば、システム1500は、図1の障害物フィルタリングモジュール309のような上記のプロセスまたは方法中のいずれかを実行する任意のデータ処理システムを表すことができる。システム1500は、複数の異なるコンポーネントを含むことができる。これらのコンポーネントは、集積回路(IC)、集積回路の一部、ディスクリート電子デバイスまたはコンピューターシステムのマザーボードまたはアドインカードなどの回路基板に適した他のモジュールとして実装され、または他の方法でコンピューターシステムのシャーシ内に組み込まれるコンポーネントとして実装されることができる。
【0061】
さらに注意すべきは、システム1500は、コンピューターシステムを示す複数のコンポーネントの高レベルビューを示す。しかし、特定の実施形態では追加のコンポーネントが存在する可能性があり、なお、他の実施形態では示されたコンポーネントの異なる配置がある可能性があることを理解されたい。システム1500は、デスクトップ、ラップトップ、タブレット、サーバ、携帯電話、メディアプレーヤー、携帯情報端末(PDA)、スマートウォッチ、パーソナルコミュニケーター、ゲームデバイス、ネットワークルーターまたはハブ、ワイヤレスアクセスポイント(AP)またはリピーター、セットトップボックス、またはそれらの組み合わせを表すことができる。なお、単一の機器またはシステムのみを示したが、「機器」または「システム」という用語は、一つ(または複数)の指令を個別にまたは共同で実行して本明細書で議論されたいずれかの一つまたは複数の方法の機器またはシステムの任意のセットを含むものとみなされる。
【0062】
一実施形態において、システム1500は、バスまたはインターコネクタ1510を介して接続されるプロセッサ1501、メモリ1503及びデバイス1505乃至1508を含む。プロセッサ1501は、単一のプロセッサコアまたは複数のプロセッサコアを含む単一のプロセッサまたは複数のプロセッサを表すことができる。プロセッサ1501は、マイクロプロセッサ、中央処理ユニット(CPU)などの一つまたは複数の汎用プロセッサを表すことができる。さらに具体的に、プロセッサ1501は、複雑な指令セットコンピューティング(CISC)マイクロプロセッサ、縮小指令セットコンピューティング(RISC)マイクロプロセッサ、超長指令ワード(VLIW)マイクロプロセッサ、または他の指令セットを実装するプロセッサ、または指令セットの組合せを実装するプロセッサであることができる。プロセッサ1501は、特定用途向け集積回路(ASIC)、セルラーまたはベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、グラフィックスプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組み込みプロセッサ、または指令を処理できる任意の他のタイプのロジックのような一つまたは複数の専用プロセッサであることができる。
【0063】
プロセッサ1501は、超低電圧プロセッサなどの低電力マルチコアプロセッサソケットであってもよく、前記システムの様々なコンポーネントと通信するためのメイン処理ユニット及び中央ハブとして機能してもよい。このようなプロセッサは、システムオンチップ(SoC)として実装されることができる。プロセッサ1501は、本明細書で議論される操作及びステップを実行するための指令を実行するように構成される。システム1500は、ディスプレイコントローラ、グラフィックプロセッサ、および/またはディスプレイデバイスを含むことができる選択可能なグラフィックサブシステム1504と通信するグラフィックインターフェースをさらに含むことができる。
【0064】
プロセッサ1501は、メモリ1503と通信することができ、メモリ1503は、一実施形態において、所与の量のシステムメモリを提供するために、複数のメモリデバイスを介して実装されることができる。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、または他のタイプの記憶装置などの一つまたは複数の揮発性ストレージ(またはメモリ)デバイスを含むことができる。メモリ1503は、プロセッサ1501または他のデバイスによって実行される指令のシーケンスを含む情報を記憶することができる。例えば、様々な操作システム、デバイスドライバ、ファームウェア(例えば、入出力基本システムまたはBIOS)および/またはアプリケーションの実行可能なコードおよび/またはデータをメモリ1503にロードし、プロセッサ1501によって実行する。操作システムは、任意のタイプの操作システム、例えば、ロボット操作システム(ROS)、Microsoft(登録商標)社からのWindows(登録商標)操作システム、アップル社からのMac OS(登録商標)/iOS(登録商標)、Google(登録商標)社からのAndroid(登録商標)、LINUX、UNIX(登録商標)、または他のリアルタイムまたは組み込み操作システムであることができる。
【0065】
システム1500は、ネットワークインターフェースデバイス1505、選択可能な入力デバイス1506、及び他の選択可能なIOデバイス1507等のIOデバイスをさらに含むことができる。ネットワークインターフェースデバイス1505は、ワイヤレストランシーバおよび/またはネットワークインターフェイスカード(NIC)を含むことができる。前記ワイヤレストランシーバは、WiFiトランシーバ、赤外線トランシーバ、ブルートゥーストランシーバ、WiMaxトランシーバ、ワイヤレスセルラーテレフォニートランシーバ、衛星トランシーバ(例えば、全地球測位システム(GPS)トランシーバ)または他の無線周波数(RF)トランシーバまたはそれらの組合せであることができる。NICは、イーサネットカードであることができる。
【0066】
入力デバイス1506は、マウス、タッチパッド、タッチセンシティブスクリーン(ディスプレイデバイス1504と統合されることができる)、スタイラスなどのポインタデバイス、および/またはキーボード(例えば、物理キーボードまたはタッチセンシティブ画面の一部として表示される仮想キーボード)を含むことができる。例えば、入力デバイス1506は、タッチスクリーンに結合されたタッチスクリーンコントローラを含むことができる。タッチスクリーンとタッチスクリーンコントローラーは、例えば、容量性、抵抗性、赤外線、および表面音響波技術を含むがこれらに限定されない複数のタッチセンシティブ技術のいずれか、及び他の近接センサーアレイまたはタッチスクリーンとの一つまたは複数の接触点を決定するためのその他の要素を使用して、その接触及び移動または破損を検出することができる。
【0067】
IOデバイス1507は、オーディオデバイスを含むことができる。オーディオデバイスは、音声認識、音声複製、デジタル記録、および/または電話機能などの音声対応機能を容易にするために、スピーカーおよび/またはマイクを含むことができる。他のIOデバイス1507は、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCI-PCIブリッジ)、センサー(例えば、加速度計、ジャイロスコープ、磁力計、光センサー、コンパス、近接センサーなどのモーションセンサー)、またはそれらの組み合わせをさらに含むことができる。デバイス1507は、カメラ機能を促進するために利用される電荷結合素子(CCD)または相補型金属酸化物半導体(CMOS)光学センサなどの光学センサを含むことができる撮像処理サブシステム(例えばカメラ)をさらに含むことができる。特定のセンサーは、センサーハブ(図示せず)を介してインターコネクタ1510に結合されることができるが、キーボードまたは熱センサーなどの他のデバイスは、システム1500の具体的な構成または設計に応じて、組み込みコントローラー(図示せず)によって制御されることができる。
【0068】
データ、アプリケーション、一つまたは複数の操作システムなどの情報の永続性なストレージを提供するために、大容量ストレージ(図示せず)もプロセッサ1501に結合することができる。様々な実施形態において、より薄くて軽いシステム設計を実現し、システムの応答性を改善するために、この大容量ストレージは、ソリッドステートデバイス(SSD)を介して実装されることができる。しかし、他の実施形態において、大容量ストレージは主に、パワーダウンイベント中にコンテキスト状態やその他の情報の不揮発性ストレージを有効にするSSDキャッシュとして機能するSSDストレージの少ないハードディスクドライブ(HDD)を使用して実装され、そのため、システムアクティビティの再起動時に高速電源投入を実現することができる。また、フラッシュデバイスは、例えば、シリアル周辺インターフェース(SPI)を介してプロセッサ1501に結合されることができる。このフラッシュデバイスは、前記システムのBIOS及び他のファームウェアを含むシステムソフトウェアの不揮発性ストレージを提供することができる。
【0069】
記憶装置1508は、一つまたは複数の命令セットまたはソフトウェア(例えば、モジュール、ユニット、および/またはロジック1528)が記憶されるコンピュータ可読記憶媒体1509(機械可読記憶媒体またはコンピュータ可読媒体としても知られる)を含むことができる。処理モジュール/ユニット/ロジック1528は、例えば、計画モジュール305、制御モジュール306、または障害物フィルタリングモジュール309などの上記のコンポーネントのいずれかを表すことができる。処理モジュール/ユニット/ロジック1528はさらに、データ処理システム1500、メモリ1503及びプロセッサ1501によって実行される期間にメモリ1503内および/またはプロセッサ1501内に完全にまたは少なくとも部分的に留まることができ、データ処理システム1500、メモリ1503及びプロセッサ1501は、機械アクセス可能記憶媒体も構成する。処理モジュール/ユニット/ロジック1528はさらに、ネットワークを介してネットワークインターフェースデバイス1505によって送信または受信することができる。
【0070】
コンピュータ可読記憶媒体1509はまた、上記のいくつかのソフトウェア機能を永続性に記憶するために使用されることができる。例示的な実施形態では、コンピュータ可読記憶媒体1509が単一の媒体であるように示されたが、用語「コンピュータ可読記憶媒体」は、単一の媒体または複数の媒体(例えば、集中型または分散型データベース、および/または関連するキャッシュとサーバ)が一つまたは複数の命令セットを記憶するとみなされるべきである。用語「コンピューター可読記憶媒体」は、機械による実行のための命令セットを記憶またはエンコードすることができ、機械が本発明で開示されたいずれかの一つまたは複数の方法を実行させる任意の媒体も含むものとみなされるべきである。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ、光学及び磁気媒体、またはその他の非一時的な機械可読媒体を含むと解釈されるが、これらに限定されない。
【0071】
本明細書で説明する処理モジュール/ユニット/ロジック1528、コンポーネント、及びその他の特徴は、個別のハードウェアコンポーネントとして実装されるか、ASIC、FPGA、DSP、または類似のデバイスなどのハードウェアコンポーネントの機能に統合されることができる。なお、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイス内のファームウェアまたは機能回路として実装されることができる。なお、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイスとソフトウェアコンポーネントの任意の組み合わせで実装されることができる。
【0072】
システム1500は、データ処理システムの様々なコンポーネントを有すると示されたが、コンポーネントを相互接続する特定のアーキテクチャまたは方法を表すことを意図していないことに留意されたい。このような詳細は、本開示の実施形態と密接な関係がないためである。より少ないコンポーネントまたはより多くのコンポーネントを有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、および/または他のデータ処理システムも本開示の実施形態と一緒に使用できることも認識されるべきである。
【0073】
前述の詳細な説明の一部は、コンピューターメモリ内のデータビットに対する操作のアルゴリズム及び記号表現によって提示されている。これらのアルゴリズムの説明と表現は、データ処理の分野の当業者が自分の仕事の内容を他の当業者に最も効果的に伝えるために使用する方法である。本明細書において、アルゴリズムは、一般的に望ましい結果を導く一貫した操作のシーケンスであると考えられる。これらの操作は、物理量を物理的に操作するための操作を指す。
【0074】
しかし、これらの用語及び類似の用語はすべて、適切な物理量に関連するものであり、これらの量に適用される単なる便利なラベルであることに留意されたい。上記の議論で他の方法で明確に指定されていない限り、全体明細書において、以下の特許請求の範囲に記載されている用語などの用語を使用する議論は、コンピューターシステムまたは同様の電子コンピューティングデバイスのアクション及びプロセスを指し、前記コンピューターシステムまたは電子計算デバイスは、コンピューターシステムのレジスター及びメモリー内の物理(電子)量として表されるデータを制御し、前記データをコンピューターシステムメモリまたはレジスターまたは他のこのタイプの情報ストレージに変換し、デバイス内の物理量として類似的に表される他のデータを伝送または表示すことを理解すべきである。
【0075】
本開示の実施形態は、本明細書の操作を実行するための装置にも関する。このようなコンピュータープログラムは、非一時的なコンピューター可読媒体に記憶される。機械可読媒体は、機械(例えば、コンピューター)によって読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピューター可読)媒体は、機械(例えば、コンピューター)可読記憶媒体(例えば、読み取り専用メモリー(「ROM」)、ランダムアクセスメモリー(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスを含む。
【0076】
上記の図に示されたプロセスまたは方法は、ハードウェア(たとえば、回路、専用ロジックなど)、ソフトウェア(たとえば、非一時的なコンピューター可読媒体上で実装される)、またはそれらの組み合わせを含む処理ロジックによって実行されることができる。前記プロセスまたは方法は、いくつかのシーケンシャル操作に応じて上で説明したが、前記操作のいくつかは異なる順序で実行されてもよいことを理解すべきである。なお、一部の操作は、順序にではなく並行して実行されることができる。
【0077】
本開示の実施形態は、特定のプログラミング言語を参照して説明されていない。本明細書で説明する本開示の実施形態の教示を実装するために、様々なプログラミング言語を使用できることを理解すべきである。
【0078】
上記の明細書において、本開示の実施形態は、具体的な例示的実施形態を参照して説明された。添付の特許請求の範囲に記載される本開示のより広い精神及び範囲から逸脱することなく、本開示に様々な修正を加えることができることは明らかであろう。従って、本明細書及び図面は、制限的な意味ではなく、例示的な意味で見なされるべきである。
図1
図2
図3A
図3B
図4
図5A
図5B
図6
図7