(57)【要約】一実施形態において、本明細書は、障害物をフィルタリングして、自律走行車（ＡＤＶ）が所定の計画段階で処理する障害物の数を減少するシステム及び方法について説明した。ＡＤＶは、ＡＤＶが走行している第１車線中の基準セットに基づいて障害物の第１セットを認識し、第１車線中の残りの障害物をフィルタリングし、認識された障害物の第１セット中の任意の障害物を回避できないように、ＡＤＶの角度から各認識された障害物を第１車線の幅まで拡張する。第１車線から第２車線に切り替える時、ＡＤＶは、同じ基準セットを使用して第２車線中の障害物の第２セットを認識することができ、障害物の第２セット中の各障害物を第２車線の幅まで拡張し、同時に認識された障害物の第１セットを追跡し続ける。車線切り替えが完了すると、ＡＤＶは、認識された障害物の第１セットの追跡を停止することができる。【選択図】図６
2021518822.tif 000002
【特許請求の範囲】
【請求項１】
自律走行車を操作するためのコンピュータ実施方法であって、
自律走行車（ＡＤＶ）が走行している第１車線内の障害物の初期セットを感知することを含む前記ＡＤＶを取り囲む運転環境を感知するステップと、
所定の基準の第１セットに基づいて、一つまたは複数の障害物の第１セットを前記障害物の初期セットからのサブセットとして認識するステップと、
前記ＡＤＶが前記障害物の第１セット中の任意の障害物を回避することを防止するように、前記障害物の第１セット中の各障害物の寸法を前記第１車線の幅まで拡張するステップと、
前記ＡＤＶを制御して前記第１車線を通過するようにナビゲートするために、前記初期セット中の残りの障害物を考慮せず、前記障害物の第１セット中の拡張された障害物に基づいて、前記ＡＤＶの軌跡を計画するステップとを含むことを特徴とするコンピュータ実施方法。
【請求項２】
前記障害物の第１セットは、ウィンドウ予測の開始位置で前記ＡＤＶに最も近い障害物と、前記ウィンドウ予測の終了位置で前記ＡＤＶに最も近い障害物と、前記ウィンドウ予測期間で前記第１車線と交差する一つまたは複数の障害物とを含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項３】
前記ＡＤＶが前記第１車線から第２車線に切り替えることに応答して、所定の基準の第２セットに基づいて、前記第２車線中の障害物の第２セットを認識するステップと、
前記障害物の第２セット中の各障害物を前記第２車線の幅まで拡張するステップとをさらに含むことを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項４】
前記ＡＤＶが前記第２車線に切り替えた後、前記ＡＤＶは前記第１車線中の障害物の第１セットの追跡を停止することを特徴とする請求項３に記載のコンピュータ実施方法。
【請求項５】
前記障害物の第１セットと前記障害物の第２セットのそれぞれは、車両、人、自転車、オートバイまたは他の移動オブジェクトのうちの一つであることを特徴とする請求項３に記載のコンピュータ実施方法。
【請求項６】
前記障害物の第１セットと前記障害物の第２セットのそれぞれは、前記ＡＤＶに対して多角形として現れることを特徴とする請求項５に記載のコンピュータ実施方法。
【請求項７】
前記ＡＤＶは、少なくとも地図情報に基づく予測結果に基づいて、車線を変更するか否かを決定することを特徴とする請求項１に記載のコンピュータ実施方法。
【請求項８】
指令が記憶された非一時的な機械可読媒体であって、前記指令がプロセッサによって実行されるときに、前記プロセッサに操作を実行させ、前記操作は、
自律走行車（ＡＤＶ）が走行している第１車線内の障害物の初期セットを感知することを含む前記ＡＤＶを取り囲む運転環境を感知するステップと、
所定の基準の第１セットに基づいて、一つまたは複数の障害物の第１セットを前記障害物の初期セットからのサブセットとして認識するステップと、
前記ＡＤＶが前記障害物の第１セット中の任意の障害物を回避するように、前記障害物の第１セット中の各障害物の寸法を前記第１車線の幅まで拡張するステップと、
前記ＡＤＶを制御して前記第１車線を通過するようにナビゲートするために、前記初期セット中の残りの障害物を考慮せず、前記障害物の第１セット中の拡張された障害物に基づいて、前記ＡＤＶの軌跡を計画するステップとを含むことを特徴とする非一時的な機械可読媒体。
【請求項９】
前記障害物の第１セットは、ウィンドウ予測の開始位置で前記ＡＤＶに最も近い障害物と、前記ウィンドウ予測の終了位置で前記ＡＤＶに最も近い障害物と、前記ウィンドウ予測期間で前記第１車線と交差する一つまたは複数の障害物とを含むことを特徴とする請求項８に記載の非一時的な機械可読媒体。
【請求項１０】
前記ＡＤＶが前記第１車線から第２車線に切り替えることに応答して、所定の基準の第２セットに基づいて、前記第２車線中の障害物の第２セットを認識するステップと、
前記障害物の第２セット中の各障害物を前記第２車線の幅まで拡張するステップとをさらに含むことを特徴とする請求項８に記載の非一時的な機械可読媒体。
【請求項１１】
前記ＡＤＶが前記第２車線に切り替えた後、前記ＡＤＶは前記第１車線中の障害物の第１セットの追跡を停止することを特徴とする請求項１０に記載の非一時的な機械可読媒体。
【請求項１２】
前記障害物の第１セットと前記障害物の第２セットのそれぞれは、車両、人、自転車、オートバイまたは他の移動オブジェクトのうちの一つであることを特徴とする請求項１０に記載の非一時的な機械可読媒体。
【請求項１３】
前記障害物の第１セットと前記障害物の第２セットのそれぞれは、前記ＡＤＶに対して多角形として現れることを特徴とする請求項１２に記載の非一時的な機械可読媒体。
【請求項１４】
前記ＡＤＶは、少なくとも地図情報に基づく予測結果に基づいて、車線を変更するか否かを決定することを特徴とする請求項８に記載の非一時的な機械可読媒体。
【請求項１５】
プロセッサと、
指令を記憶するために、前記プロセッサに結合されるメモリとを含むデータ処理システムであって、
前記指令がプロセッサによって実行されるときに、前記プロセッサに操作を実行させ、前記操作は、
自律走行車（ＡＤＶ）が走行している第１車線内の障害物の初期セットを感知することを含む前記ＡＤＶを取り囲む運転環境を感知するステップと、
所定の基準の第１セットに基づいて、一つまたは複数の障害物の第１セットを前記障害物の初期セットからのサブセットとして認識するステップと、
前記ＡＤＶが前記障害物の第１セット中の任意の障害物を回避するように、前記障害物の第１セット中の各障害物の寸法を前記第１車線の幅まで拡張するステップと、
前記ＡＤＶを制御して前記第１車線を通過するようにナビゲートするために、前記初期セット中の残りの障害物を考慮せず、前記障害物の第１セット中の拡張された障害物に基づいて、前記ＡＤＶの軌跡を計画するステップとを含むことを特徴とするデータ処理システム。
【請求項１６】
前記障害物の第１セットは、ウィンドウ予測の開始位置で前記ＡＤＶに最も近い障害物と、前記ウィンドウ予測の終了位置で前記ＡＤＶに最も近い障害物と、前記ウィンドウ予測期間で前記第１車線と交差する一つまたは複数の障害物とを含むことを特徴とする請求項１５に記載のデータ処理システム。
【請求項１７】
前記ＡＤＶが前記第１車線から第２車線に切り替えることに応答して、所定の基準の第２セットに基づいて、前記第２車線中の障害物の第２セットを認識するステップと、
前記障害物の第２セット中の各障害物を前記第２車線の幅まで拡張するステップとをさらに含むことを特徴とする請求項１５に記載のデータ処理システム。
【請求項１８】
前記ＡＤＶが前記第２車線に切り替えた後、前記ＡＤＶは前記第１車線中の障害物の第１セットの追跡を停止することを特徴とする請求項１７に記載のデータ処理システム。
【請求項１９】
前記障害物の第１セットと前記障害物の第２セットのそれぞれは、車両、人、自転車、オートバイまたは他の移動オブジェクトのうちの一つであることを特徴とする請求項１７に記載のデータ処理システム。
【請求項２０】
前記障害物の第１セットと前記障害物の第２セットのそれぞれは、前記ＡＤＶに対して多角形として現れることを特徴とする請求項１９に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、概して、自律走行車の操作に関する。より具体的に、本開示の実施形態は、非回避計画システムにおける障害物をフィルタリングする方法に関する。
【背景技術】
【０００２】
自動運転モード（例えば、無人運転）で動作する車両は、運転に関連する義務から乗客（特に運転者）を開放することができる。自動運転モードで動作する場合、車両は、オンボードセンサーと高解像度地図を使用して各位置にナビゲートすることができて、車両が最少のヒューマンインタラクションの状況、または乗客のない状況で運転できるようにする。
【０００３】
自律走行車（ＡＤＶ）は、センサーによって検出されたアルタイムの交通及びローカル環境データに依存して各計画段階中の最適なルートを計画する。ＡＤＶの感知領域中の障害物（例えば、オブジェクトと近くの車両）は、ＡＤＶの計画に影響を与えることができる。感知領域中の障害物が多いほど、ＡＤＶの次の行動を計画する時間が長くなる。従って、ＡＤＶの安全性に影響を与えず、ＡＤＶの計画効率を向上させるために、いくつの障害物をフィルタリングすることが望まれる。
【発明の概要】
【０００４】
本開示の態様において、本開示の実施形態は、ＡＤＶが走行している第１車線内の障害物の初期セットを感知することを含む自律走行車（ＡＤＶ）を取り囲む運転環境を感知するステップと、所定の基準の第１セットに基づいて、一つまたは複数の障害物の第１セットを障害物の初期セットからのサブセットとして認識するステップと、障害物の第１セット中の各障害物の寸法を第１車線の幅まで拡張して、ＡＤＶが障害物の第１セット中の任意の障害物を回避することを防止するようにするステップと、及びＡＤＶを制御して第１車線を通過するようにナビゲートするために、初期セット中の残りの障害物を考慮せず、障害物の第１セット中の拡張された障害物に基づいて、ＡＤＶの軌跡を計画するステップとを含む自律走行車を操作するためのコンピュータ実施方法を提供する。
【０００５】
本開示の他の態様において、本開示の実施形態は、指令が記憶された非一時的な機械可読媒体であって、前記指令は、プロセッサによって実行されるときに、プロセッサが操作を実行するようにし、前記操作は、ＡＤＶが走行している第１車線内の障害物の初期セットを感知することを含む自律走行車（ＡＤＶ）を取り囲む運転環境を感知するステップと、所定の基準の第１セットに基づいて、一つまたは複数の障害物の第１セットを障害物の初期セットからのサブセットとして認識するステップと、障害物の第１セット中の各障害物の寸法を第１車線の幅まで拡張して、ＡＤＶが障害物の第１セット中の任意の障害物を回避するようにするステップと、及びＡＤＶを制御して第１車線を通過するようにナビゲートするために、初期セット中の残りの障害物を考慮せず、障害物の第１セット中の拡張された障害物に基づいて、ＡＤＶの軌跡を計画するステップとを含む指令が記憶された非一時的な機械可読媒体を提供する。
【０００６】
本開示の他の態様において、本開示の実施形態は、プロセッサと、及び指令を記憶するために、プロセッサに結合されるメモリとを含み、前記指令は、プロセッサによって実行されるときに、プロセッサが操作を実行するようにし、前記操作は、ＡＤＶが走行している第１車線内の障害物の初期セットを感知することを含む自律走行車（ＡＤＶ）を取り囲む運転環境を感知するステップと、所定の基準の第１セットに基づいて、一つまたは複数の障害物の第１セットを障害物の初期セットからのサブセットとして認識するステップと、障害物の第１セット中の各障害物の寸法を第１車線の幅まで拡張して、ＡＤＶが障害物の第１セット中の任意の障害物を回避するようにするステップと、及びＡＤＶを制御して前記第１車線を通過するようにナビゲートするために、初期セット中の残りの障害物を考慮せず、障害物の第１セット中の拡張された障害物に基づいて、ＡＤＶの軌跡を計画するステップとを含むデータ処理システムを提供する。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係るネットワーク化されたシステムを示すブロック図である。
【図２】一実施形態に係る自律走行車の例示を示すブロック図である。
【図３Ａ】一実施形態に係る自律走行車と一緒に使用される感知及び計画システムの例示を示すブロック図である。
【図３Ｂ】一実施形態に係る自律走行車と一緒に使用される感知及び計画システムの例示を示すブロック図である。
【図４】実施形態に係るＡＤＶによって使用される障害物をフィルタリングする例示的なシステムを示す。
【図５Ａ】実施形態に係る非回避シーンにおいて障害物がどのようにフィルタリングされることを示した例示的な図である。
【図５Ｂ】実施形態に係る非回避シーンにおいて障害物がどのようにフィルタリングされることを示した例示的な図である。
【図６】実施形態に係る障害物をフィルタリングする例示的なプロセスを示すフローチャートである。
【図７】本開示の一実施形態と一緒に使用することができるデータ処理システムの例示を示すブロック図である。
【発明を実施するための形態】
【０００８】
本発明の実施形態は、添付されたそれぞれの図面において限定ではなく、例示として示され、図面において類似の参照符号は、類似の要素を指す。
【０００９】
本開示の様々な実施形態及び態様は、以下で議論される詳細を参照して説明され、図面は前記様々な実施形態を示す。以下の説明及び図面は、本開示を説明するものであり、限定するものとして解釈されるべきではない。本開示の様々な実施形態の包括的な理解を提供するために、多くの特定の詳細が記載されている。しかし、場合によっては、本開示の実施形態の簡単な説明を提供するために、周知または通常の詳細は説明されていない。
【００１０】
本明細書における「一実施形態」または「実施形態」の列挙は、当該実施形態に結び付いて説明される特定の特徴、構造、または特性が本開示の少なくとも一つの実施形態に含まれ得ることを意味する。「一実施形態において」は、本明細書の各所に記載は、必ずしもすべて同じ実施形態を指していることではない。
【００１１】
実施形態において、本明細書は、障害物をフィルタリングして、自律走行車（ＡＤＶ）が所定の計画段階で処理する障害物の数を減少するシステム及び方法について説明した。ＡＤＶは、ＡＤＶが走行している第１車線中の基準セットに基づいて障害物の第１セットを認識し、第１車線中の残りの障害物をフィルタリングし、認識された障害物の第１セット中の任意の障害物を回避できないように、ＡＤＶの角度から各認識された障害物を第１車線の幅まで拡張する。
【００１２】
第１車線から第２車線に切り替えると、ＡＤＶは、同じ基準セットを使用して第２車線中の障害物の第２セットを認識することができ、障害物の第２セット中の各障害物を第２車線の幅まで拡張し、同時に認識された障害物の第１セットを追跡し続ける。第２車線中の認識された障害物の第２セット中のそれぞれを拡張することにより、ＡＤＶが認識された障害物の第２セットのいずれかを回避することを防止する。車線切り替えが完了すると、ＡＤＶは、認識された障害物の第１セットの追跡を停止することができる。
【００１３】
本明細書で使用される障害物の回避とは、障害物との衝突を回避する、または障害物に接触されることを回避するための行動を取ることを意味する。回避動作の例は、高速道路で車両を追い越すことである。計画段階は、複数の運転サイクルを含むことができ、計画及び制御データに基づいて一つまたは複数の制御命令がＡＤＶによって送信される期間を表すことができる。ウィンドウ予測は、ＡＤＶの予測モジュールによって使用されるＡＤＶの周辺環境における障害物が地図／ルート情報セットと交通ルールに従って、感知データに基づいてどのように動作するかを予測する期間である。
【００１４】
実施形態において、認識された障害物の第１セットは、ウィンドウ予測の開始位置で第１車線中の最も近い障害物、ウィンドウ予測の終了位置で第１車線中の最も近い障害物、及びウィンドウ予測の間に第１車線と交差する一つまたは複数の障害物を含むことができる。同様に、認識された障害物の第２セットは、ウィンドウ予測の開始位置で第２車線中の最も近い障害物、ウィンドウ予測の終了位置で第２車線中の最も近い障害物、及びウィンドウ予測の間に第２車線と交差する一つまたは複数の障害物を含むことができる。
【００１５】
実施形態において、障害物の第１セットと障害物の第２セットのそれぞれは、車両、人、自転車、オートバイまたは他の移動オブジェクトのうちの一つであり、ＡＤＶに対して多角形として現れることができる。ＡＤＶは、少なくとも地図情報に基づいて生成された予測結果に基づいて、車線を変更するか否かを決定する。
【００１６】
比較的小さい障害物セットを認識し、比較的小さい障害物セットに基づいて次のルートを計画することにより、ＡＤＶは、処理する障害物の数を大幅に削減し、他の周囲オブジェクトを回避しない運転環境中のＡＤＶの計画効率を向上させる。上記特徴は、例えば、多くの障害物がＡＤＶによって認識される可能性のあるラッシュアワーで非常に有用である。
［自律走行車］
【００１７】
図１は、本開示の一実施形態に係る自律走行車ネットワーク構成のブロック図である。図１を参照すると、ネットワーク構成１００は、ネットワーク１０２を介して一つまたは複数のサーバ１０３乃至１０４に通信可能に結合され得る自律走行車１０１を含む。一つの自律走行車を示したが、複数の自律走行車は、ネットワーク１０２を介してお互いにおよび／またはサーバ１０３乃至１０４に結合されることができる。ネットワーク１０２は、有線または無線ローカルエリアネットワーク（ＬＡＮ）、セルラーネットワーク、衛星ネットワークまたはそれらの組合せなどのウェブのワイドエリアネットワーク（ＷＡＮ）のような任意のタイプのネットワークであることができる。サーバ１０３乃至１０４は、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはそれらの組合せなどの任意のタイプのサーバまたはサーバのクラスターであることができる。サーバ１０３乃至１０４は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図及びポイントオブインタレスト（ＭＰＯＩ）サーバまたはロケーションサーバなどであることができる。
【００１８】
自律走行車とは、運転者からの入力がほとんどまたは全くない環境をナビゲートする自動運転モードに設定できる車両を指す。このような自律走行車は、センサーシステムを含むことができ、前記センサーシステムは、車両運転環境に関連する情報を検出するように構成される一つまたは複数のセンサーを備える。前記車両とそれに関連するコントローラーは、検出された情報を使用して環境をナビケートする。自律走行車１０１は、手動モード、完全自動運転モードまたは部分的自動運転モードで動作する。
【００１９】
一実施形態において、自律走行車１０１は、感知及び計画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインターフェースシステム１１３、及びセンサーシステム１１５を含むが、これらに限定されない。自律走行車１０１は、エンジン、ホイール、ステアリングホイール、変速機などの通常の車両に含まれる特定の共通コンポーネントをさらに含むことができ、前記コンポーネントは、車両制御システム１１１および／または感知及び計画システム１１０によって、様々な通信信号および／または命令を使用して制御されることができ、当該様々な通信信号および／または命令は、加速信号または命令、減速信号または命令、ステアリング信号または命令、ブレーキ信号または命令などであることができる。
【００２０】
コンポーネント１１０乃至１１５は、インターコネクタ、バス、ネットワークまたはそれらの組合せを介してお互いに通信可能に結合されることができる。例えば、コンポーネント１１０乃至１１５は、コントローラーローカルエリアネットワーク（ＣＡＮ）バスを介してお互いに通信可能に結合されることができる。ＣＡＮバスは、ホストコンピューターなしで、アプリケーションでマイクロコントローラーとデバイスが相互に通信できるように設計された車両バス標準である。これは、最初は自動車内の多重電気配線用に設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
【００２１】
図２を参照すると、一実施形態において、センサーシステム１１５は、一つまたは複数のカメラ２１１、全地球測位システム（ＧＰＳ）ユニット２１２、慣性測定ユニット（ＩＭＵ）２１３、レーダーユニット２１４及び光検出と測距（ＬＩＤＡＲ）ユニット２１５を含むが、これらに限定されない。ＧＰＳユニット２１２は、自律走行車の位置に関連する情報を提供するように操作可能なトランシーバを含む。ＩＭＵユニット２１３は、慣性加速度に基づいて自律走行車の位置及び配向変更を感知することができる。レーダーユニット２１４は、無線信号を利用して自律走行車のローカル環境内の対象を検知するシステムを表すことができる。いくつかの実施形態において、対象の検知以外に、レーダーユニット２１４は、対象の速度および／または進行方向をさらに検知することができる。ＬＩＤＡＲユニット２１５は、レーザーを使用して自律走行車が配置されている環境中の対象を検知することができる。他のシステムコンポーネント以外に、ＬＩＤＡＲユニット２１５は、一つまたは複数のレーザー源、レーザースキャナー及び一つまたは複数の検出器をさらに含むことができる。カメラ２１１は、自律走行車周囲環境の画像を収集するための一つまたは複数のデバイスを含むことができる。カメラ２１１は、スチルカメラおよび／またはビデオカメラであることができる。カメラは、回転および／または傾斜されたプラットフォームにカメラを取り付けることにより、機械的に移動可能であってもよい。
【００２２】
センサーシステム１１５は、ソナーセンサー、赤外線センサー、ステアリングセンサー、スロットルセンサー、ブレーキセンサー、及び音声センサー（例えば、マイク）などの他のセンサーをさらに含むことができる。オーディオセンサーは、自律走行車を取り巻く環境からの音をキャプチャするように構成できる。ステアリングセンサーは、ステアリングホイール、車両のホイールまたはそれらの組合せのステアリング角度を感知するように構成されることができる。アクセルセンサーとブレーキセンサーは、車両のアクセル位置とブレーキ位置をそれぞれ感知する。場合によって、アクセルセンサーとブレーキセンサーは、アクセル／ブレーキセンサーとして統合されることができる。
【００２３】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１、アクセルユニット２０２（加速ユニットとも呼ばれる）とブレーキユニット２０３を含むが、これらに限定されない。ステアリングユニット２０１は、車両の方向または進行方向を調整するために使用される。アクセルユニット２０２は、モーターまたはエンジンの速度を制御するために使用され、モーターまたはエンジンの速度は、さらに車両の速度と加速度を制御する。ブレーキユニット２０３は、摩擦を提供することにより車両のホイールまたはタイヤを減速させて、車両を減速させる。注意すべきのは、図２に示されたコンポーネントは、ハードウェア、ソフトウェアまたはそれらの組合せで実装することができる。
【００２４】
図１に戻ると、無線通信システム１１２は、自律走行車１０１とデバイス、センサー、他の車両などのような外部システムとの間の通信を可能にするものである。例えば、無線通信システム１１２は、一つまたは複数のデバイスと直接に無線通信することができ、または通信ネットワークを介して無線通信することができ、例えば、ネットワーク１０２とサーバ１０３乃至１０４を介して通信する。無線通信システム１１２は、他のコンポーネントまたはシステムと通信するために、ＷｉＦｉのような任意のセルラーネットワークまたは無線ローカルエリアネットワーク（ＷＬＡＮ）を使用することができる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）などを使用して、デバイス（例えば、乗客のモバイルデバイス、ディスプレイデバイス、車両１０１内のスピーカー）と直接通信することができる。ユーザインターフェースシステム１１３は、例えば、キーボード、タッチスクリーンディスプレイデバイス、マイクロフォン、およびスピーカーなどを含む車両１０１内で実装される周辺デバイスの一部であることができる。
【００２５】
自律走行車１０１の機能中の一部または全部は、特に、自動運転モードで操作する場合、感知及び計画システム１１０によって制御または管理することができる。感知及び計画システム１１０は、センサーシステム１１５、制御システム１１１、無線通信システム１１２および／またはユーザインターフェースシステム１１３から情報を受信し、受信した情報を処理し、出発地点から目的地点までの経路または経路を計画し、その後、計画及び制御情報に基づいて車両１０１を運転するために、必要なハードウェア（例えば、プロセッサ、メモリ、ストレージ）とソフトウェア（例えば、操作システム、計画及びルーティングプログラム）を含む。代替的に、感知及び計画システム１１０は、車両制御システム１１１と統合されることができる。
【００２６】
例えば、乗客としてのユーザーは、例えばユーザーインターフェースを介して、旅程の開始位置と目的地を指定することができる。感知及び計画システム１１０は、旅程に関連するデータを獲得する。例えば、感知及び計画システム１１０は、ＭＰＯＩサーバから位置とルート情報を獲得することができ、前記ＭＰＯＩサーバは、サーバ１０３乃至１０４の一部であることができる。ロケーションサーバは、ロケーションサービスを提供し、ＭＰＯＩサーバは地図サービスと特定の位置のＰＯＩを提供する。代替的に、このような位置及びＭＰＯＩ情報は、感知及び計画システム１１０の永続性記憶装置にローカルにキャッシュされてもよい。
【００２７】
自律走行車１０１がルートを沿って移動する場合、感知及び計画システム１１０は、交通情報システムまたはサーバ（ＴＩＳ）からリアルタイム交通情報を獲得することもできる。注意すべきは、サーバ１０３乃至１０４は、サードパーティのエンティティによって操作されることができる。代替的に、サーバ１０３乃至１０４の機能は、感知及び計画システム１１０と統合されることができる。リアルタイム交通情報、ＭＰＯＩ情報と位置情報及びセンサーシステム１１５によって検出または感知されたリアルタイムローカル環境データ（例えば、障害物、オブジェクト、近くの車両）に基づいて、感知及び計画システム１１０は、最適なルートを計画することができ、計画されたルートは、指定された目的地に安全かつ効率的に到達するために、例えば制御システム１１１を介して車両１０１を運転することができる。
【００２８】
サーバ１０３は、様々なクライアントのためのデータ分析サービスを実行するためのデータ分析システムであることができる。一実施形態において、データ分析システム１０３は、データ収集器１２１及び機械学習エンジン１２２を含む。データ収集器１２１は、様々な車両（自律走行車または人間運転者によって運転される通常の車両）から運転統計テータ１２３を収集する。運転統計テータ１２３は、異なるタイミングで送信された運転命令（例えば、アクセル命令、ブレーキ命令、ステアリング命令）及び車両のセンサーによって捕捉された車両の応答（例えば、速度、加速、減速、方向）を表す情報を含む。運転統計テータ１２３は、例えばルート（開始位置と目的地位置を含む）、ＭＰＯＩ、道路状況、天気状況などの異なるタイミングでの運転環境を説明する情報をさらに含むことができる。
【００２９】
運転統計テータ１２３に基づいて、機械学習エンジン１２２は、さまざまな目的のために、例えば、回避するために使用されるアルゴリズムを含む規則、アルゴリズム、および／または予測モデル１２４のセットを生成または訓練する。そして、アルゴリズム１２４をＡＤＶにアップロードして、自動運転中にリアルタイムで使用することができる。
【００３０】
図３Ａと図３Ｂは、一実施形態による自律走行車と一緒に使用される感知及び計画システムの例示を示すブロック図である。システム３００は、図１の自律走行車１０１の一部として実装されることができ、感知及び計画システム１１０、制御システム１１１及びセンサーシステム１１５を含むが、これらに限定されない。図３Ａ乃至図３Ｂを参照すると、感知及び計画システム１１０は、ローカリゼーションモジュール３０１、感知モジュール３０２、予測モジュール３０３、決定モジュール３０４、計画モジュール３０５、制御モジュール３０６、ルーティングモジュール３０７及び障害物フィルタリングモジュール３０９を含むが、これらに限定されない。
【００３１】
一部または全部モジュール３０１乃至３０９は、ソフトウェア、ハードウェアまたはそれらの組合せで実装されることができる。例えば、これらのモジュールは、永続性記憶装置３５２にインストールされ、メモリ３５１にロードされ、一つまたは複数のプロセッサ（図示せず）によって実行されることができる。注意すべきは、これらの一部または全部モジュールは、図２の車両制御システム１１１の一部または全部モジュールに通信可能に結合または統合される。一部のモジュール３０１乃至３０９は、統合モジュールとして統合されることができる。
【００３２】
ローカリゼーションモジュール３０１は、自律走行車３００の現在の位置（例えば、ＧＰＳユニット２１２を利用する）を決定し、ユーザーの旅程またはルートに関連する任意のデータを管理する。ローカリゼーションモジュール３０１（地図とルートモジュールとも呼ばれる）は、ユーザーの旅程またはルートに関連する任意のデータを管理する。ユーザーは、例えば、ユーザーインターフェースにログインして、旅程の開始位置と目的地を指定することができる。ローカリゼーションモジュール３０１は、自律走行車３００の地図とルート情報３１１などの他のコンポーネントと通信して、旅程に関連するデータを獲得する。例えば、ローカリゼーションモジュール３０１は、ロケーションサーバと地図及びＰＯＩ（ＭＰＯＩ）サーバから位置とルート情報を獲得することができる。ロケーションサーバは、ロケーションサービスを提供し、ＭＰＯＩサーバは地図サービスと特定の位置のＰＯＩを提供して、地図とルート情報３１１の一部としてキャッシュされることができる。自律走行車３００がルートを沿って移動する場合、ローカリゼーションモジュール３０１は、交通情報システムまたはサーバからリアルタイム交通情報を獲得することもできる。
【００３３】
センサーシステム１１５によって提供されたセンサーデータとローカリゼーションモジュール３０１によって獲得されたローカリゼーション情報に基づいて、感知モジュール３０２は、周囲環境に対する感知を決定する。感知情報は、通常の運転者が運転中の車両の周囲で感知するものを表すことができる。感知は、例えば、オブジェクトの形式を使用した車線構成、信号機、別の車両の相対位置、歩行者、建物、横断歩道、またはその他の交通関連標識（例えば、一時停止標識、譲れの標識）などを含むことができる。車線配置は、例えば、車線の形状（例えば、直線または曲率）、車線の幅、道路内の車線の数、片道または双方向車線、合流車線または迂回車線、出口車線などの一つまたは複数の車線を説明する情報を含む。
【００３４】
感知モジュール３０２は、自律走行車環境中のオブジェクトおよび／または特徴を認識するために、一つまたは複数のカメラによってキャプチャされた画像を処理及び分析するコンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者、および／または障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオ追跡、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境をマッピングし、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール３０２は、レーダーおよび／またはＬＩＤＡＲなどの他のセンサーによって提供される他のセンサーデータに基づいてオブジェクトを検出することもできる。
【００３５】
それぞれのオブジェクトについて、予測モジュール３０３は、前記状況で前記オブジェクトがどのような動作をするかを予測する。特定のタイミングで感知した運転環境の感知データに基づいて、地図／ルート情報３１１及び交通ルール３１２のセットに従って前記予測を実行する。例えば、オブジェクトが反対方向の車両であり、現在の運転環境が交差点を含む場合、予測モジュール３０３は、当該車両が前に直進するか、曲がるかを予測する。感知データが交差点に信号機がないと示す場合、予測モジュール３０３は、当該車両が交差点に入る前に完全に停止することを予測することができる。感知データが当該車両が現在左折専用車線または右折専用車線にあることを示す場合、予測モジュール３０３は、当該車両が左折する可能性が高いか、右折する可能性が高いかをそれぞれ予測することができる。
【００３６】
それぞれのオブジェクトについて、決定モジュール３０４は、オブジェクトをどのように扱うかを決定する。例えば、特定のオブジェクト（例えば、交差ルートでの他の車両）及びオブジェクトを説明するメタデータ（例えば、速度、方向、回転角度）について、決定モジュール３０４は、前記オブジェクトとどのように遭遇する（例えば、追い越し、譲れ、停止、経過）かを決定する。決定モジュール３０４は、永続性記憶装置３５２に記憶されることができる交通ルールまたは運転ルール３１２のルールのセットに従って、このような決定を行うことができる。
【００３７】
ルーティングモジュール３０７は、出発点から目的地までの一つまたは複数のルートまたは経路を提供するように構成される。例えば、ユーザーから受信した開始位置から目的地位置までの所定の旅程について、ルーティングモジュール３０７は、地図とルート情報３１１を獲得し、開始位置から目的地位置に到達するすべての可能なルートまたは経路を決定する。ルーティングモジュール３０７は、地形図の形態でそれで決定される出発点から目的地までのルート中のそれぞれの基準線を生成することができる。基準線は、例えば、他の車両、障害物または交通状況の他の干渉のない理想的なルートまたは理想的な経路を表す。即ち、道路に他の車両、歩行者または障害物がない場合、ＡＤＶは、正確にまたは厳密に基準線を従う必要がある。その後、決定モジュール３０４および／または計画モジュール３０５に地形図を提供することができる。他のモジュールによって提供される他のデータ（例えば、ローカリゼーションモジュール３０１からの交通情報、感知モジュール３０２によって感知された運転環境と予測モジュール３０３によって予測された交通状況）に従って、決定モジュール３０４および／または計画モジュール３０５は、考えられるすべてのルートを検査して、最適なルート中の一つを選択及び修正する。ＡＤＶを制御するための実際の経路またはルートは、ルーティングモジュール３０７によって提供される基準線に近いか、または異なるかは、その時点での特定の運転環境に依存する。
【００３８】
感知されたオブジェクトのそれぞれの決定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７によって提供された基準線路をベースとして使用し、自律走行車のために経路またはルート及び運転パラメータ（例えば、距離、速度および／または回転角度）を計画する。即ち、所与のオブジェクトについて、決定モジュール３０４は、当該オブジェクトに何をするかを決定し、計画モジュール３０５は、どのようにするかを決定する。例えば、所与のオブジェクトについて、決定モジュール３０４は、前記オブジェクトを追い越すことを決定することができ、計画モジュール３０５は、前記オブジェクトの左側を通過するか右側を通過するかを決定することができる。計画及び制御データは、計画モジュール３０５によって生成され、車両３００が次の移動サイクルの（例えば、次のルート／経路セグメント）でどのように移動するかを説明する情報を含む。例えば、計画及び制御データは、車両３００が３０マイルの時速（ｍｐｈ）の速度で１０メートルを移動し、２５ｍｐｈの速度で右側の車線に変更することを指示することができる。
【００３９】
計画及び制御データに基づいて、制御モジュール３０６は、計画及び制御データによって定義されたルートまたは経路に従って、適切な命令または信号を車両制御システム１１１に送信して、自律走行車を制御及び運転する。前記計画及び制御データは、十分な情報を含み、経路またはルートに沿って異なるタイミングで適切な車両の設置または運転パラメータ（例えば、アクセル、ブレーキ及びステアリング命令）を使用して、車両をルートまたは経路の第１点から第２点に運転する。
【００４０】
一実施形態において、計画段階は、複数の計画サイクル（運転サイクルとも呼ばれる）で実行され、例えば、１００ミリ秒（ｍｓ）の時間間隔ごとなどで実行される。それぞれの計画サイクルまたは運転サイクルは、計画及び制御データに基づいて一つまたは複数の制御命令を送信する。即ち、１００ｍｓごとに、計画モジュール３０５が次のルートセグメントまたは経路セグメントを計画し、例えば、目標位置とＡＤＶが当該目標位置に到達するのに必要な時間を含む。代替的に、計画モジュール３０５は、具体的な速度、方向および／またはステアリング角度などを指定することもできる。一実施形態において、計画モジュール３０５は、次の所定の期間（例えば、５秒）でルートセグメントまたは経路セグメントを計画する。それぞれの計画サイクルについて、計画モジュール３０５は、前のサイクルで計画した目標位置に基づいて現在のサイクル（例えば、次の５秒）のために目標位置を計画する。その後、制御モジュール３０６は、その後現在のサイクルの計画及び制御データに基づいて一つまたは複数の制御命令（例えば、アクセル制御命令、ブレーキ制御命令、ステアリング制御命令）を生成する。
【００４１】
注意すべきは、決定モジュール３０４と計画モジュール３０５は、統合モジュールに統合されることができる。決定モジュール３０４／計画モジュール３０５は、自律走行車の運転経路を決定するためのナビゲーションシステムまたはナビゲーションシステム機能を含むことができる。例えば、ナビゲーションシステムは、自律走行車が以下の経路に沿って移動する一連のことを実現するための速度と進行方向を決定する：前記経路は、自律走行車を最終目的地に至る車線の経路に沿って前進すると同時に、基本的に感知された障害物を回避する。目的地は、ユーザインターフェースシステム１１３を介して行われるユーザーの入力によって設定されることができる。ナビゲーションシステムは、自律走行車が動作すると同時に、動的に運転経路を更新することができる。ナビゲーションシステムは、自律走行車の運転経路を決定するために、ＧＰＳシステム及び一つまたは複数の地図からのデータを組み込むことができる。
【００４２】
障害物フィルタリングモジュール３０９は、ＡＤＶの感知領域中の障害物セットを認識し、感知領域中の残りの障害物をフィルタリングするために使用することができる。認識された障害物セット中の各障害物は、ＡＤＶが移動している車線の幅まで拡張することができるため、ＡＤＶは認識された障害物のいずれも回避できなくなる。障害物フィルタリングモジュール３０９は、ＡＤＶが所定の数を超える障害物を感知すると自動的に呼び出され、感知された障害物が所定の数を下回ると、ＡＤＶの計画関数を計画モジュール３０５に自動的に伝送することができる。
【００４３】
注意すべきは、上記で示して説明したコンポーネントの一部または全部は、ソフトウェア、ハードウェアまたはそれらの組合せで実装されることができる。例えば、このようなコンポーネントは、永続性記憶装置にインストールされ且つ記憶されるソフトウェアとして実装されることができ、前記ソフトウェアは、プロセッサ（図示せず）を介してメモリにロードされ、メモリで実行されて、本発明の全文で説明されたプロセスまたは操作を実装することができる。代替的に、このようなコンポーネントは、集積回路（例えば、特定用途向け集積回路またはＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの専用ハードウェアにプログラムまたは埋め込まれた実行可能なコードとして実装されることができ、前記実行可能なコードは、アプリケーションから対応するドライバーおよび／または操作システムを介してアクセスすることができる。なお、このようなコンポーネントは、一つまたは複数の特定の指令を介してソフトウェアコンポーネントからアクセス可能な指令セットの一部として、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして実装されることができる。
【００４４】
［障害物フィルタリング］
図４は、実施形態に係るＡＤＶによって使用される、障害物をフィルタリングするための例示的なシステムを示す。実施形態において、障害物フィルタリングモジュール３０９は、代替モジュールとしてＡＤＶの軌跡を計画するように計画モジュール３０５に提供されることができる。ＡＤＶの軌跡を計画する場合、障害物フィルタリングモジュール３０９は、まず、地図情報と感知された交通状況および／またはＡＤＶの予測モジュールから生成された予測結果に基づいて、車線を変更するか否かを決定することができる。車線変更が必要ない場合、障害物フィルタリングモジュール３０９は、同じ車線障害物フィルタ４０１を呼び出して、ＡＤＶが走行している現在の車線中の一つまたは複数の障害物を認識し、他の障害物をフィルタリングすることができる。
【００４５】
実施形態において、ＡＤＶの所定の計画段階の間に、ＡＤＶは、フィルタリングされた障害物を処理しない。一つまたは複数の認識された障害物中のそれぞれは、現在の車線を完全にブロックしたように見えるようにＡＤＶによって拡張され、ＡＤＶが認識された障害物のいずれかを回避（例えば、通過）することを防止する。
【００４６】
異なるプロセスを使用してＡＤＶの追跡する一つまたは複数の障害物を認識することができる。一つの例示において、予測時間ウィンドウ（例えば、８秒）の開始位置でＡＤＶに最も近い障害物と、ウィンドウ予測の終了位置でＡＤＶに最も近い障害物と、及びウィンドウ予測期間で現在の車線と交差する一つまたは複数の障害物とを選択するプロセスによって、ＡＤＶの障害物セットを認識することができる。つまり、ウィンドウ予測期間で現れまたは現在の車線の少なくとも一部を占有すると予測される任意の障害物は、回避の目的である考慮される。言い換えれば、ウィンドウ予測期間で障害物のいずれの部分（例えば、物理的寸法）が現在の車線内にあると、当該障害物が考慮される。現在の車線に位置され、ウィンドウ予測の外側に位置される任意の他の障害物（例えば、障害物５１３）は無視またはフィルタリングされ、認識された障害物セットのみを残して、ＡＤＶによって次の最適な経路を計画する際に処理されるようにする。従って、計画プロセス期間で時間とリソースの消費を削減することができる。
【００４７】
代替的に、ＡＤＶは、障害物からＡＤＶまでの距離と、ＡＤＶまでの距離に関わらずＡＤＶの前面で車線と交差する任意の障害物とに基づいて、ウィンドウ予測期間に一定数の障害物（例えば、三つの障害物）を認識することができる。
【００４８】
ＡＤＶは、車線変更が必要であると判断された場合、交差車線障害物フィルタ４０３を呼び出すことができる。このような場合において、ＡＤＶは、ＡＤＶが切り替える新しい車線中の一つまたは複数の障害物を認識することができる。新しい車線中の一つまたは複数の障害物は、追跡のために、ＡＤＶによって認識された現在の車線中の障害物セットと類似に認識されることができる。
【００４９】
実施形態において、新しい車線または現在の車線中の各認識された障害物は、それらのそれぞれの車線の幅まで拡張されて、ＡＤＶが車線変更プロセスの間に任意の認識された障害物を回避できないようにする。車線変更が完了すると、ＡＤＶは、前の車線（即ち、車線変更を完了する前の現在の車線）中の障害物セットの追跡を停止することができる。
【００５０】
図５Ａ乃至図５Ｂは、実施形態に係る非回避シーンにおいて障害物がどのようにフィルタリングされることを示す例示的な図である。図５Ａは、三車線道路の車線Ｂ５１４で走行しているマスターＡＤＶ５０１を示し、三車線道路は、車線Ａ５１２と車線Ｃ５１６をさらに含む。三車線道路は複数の車線境界５０５乃至５１１を含む。
【００５１】
マスターＡＤＶ５０１は、障害物のセットを認識することができ、マスターＡＤＶ５０１が任意の障害物を回避できないように、当該障害物は拡張される。当該例示において、障害物Ｂ５１５、障害物Ｃ５１７及び障害物Ｄ５１９は、拡張される障害物として認識される。障害物Ｃ５１７は、ウィンドウ予測の開始時にマスターＡＤＶ５０１に最も近い障害物であることができる。障害物Ｂ５１５は、ウィンドウ予測の終了時にマスターＡＤＶ５０１に最も近い障害物であることができる。障害物Ｄ５１９は、車線Ａ５１２から車線Ｃ５１６までのウィンドウ予測期間に車線Ｂ５１４と交差する障害物であることができる。
【００５２】
図に示すように、障害物Ｂ５１５、障害物Ｃ５１７、及び障害物Ｄ５１９は、車線Ｂ５１４の幅まで拡張されて、各拡張された障害物が車線全体をブロックし、マスターＡＤＶ５０１が任意の拡張された障害物を回避することを許可しない。
【００５３】
図５Ｂは、マスターＡＤＶ５０１の車線変更のシナリオを示す。このような場合、マスターＡＤＶ５０１は、車線Ｂ５１４から車線Ａ５１２に切り替える。現在のウィンドウ予測期間において、マスターＡＤＶは、車線Ｂ５１４の幅まで拡張された認識された障害物のセットを追跡し続けることができる。マスターＡＤＶは、車線Ｂ５１４中の障害物セットを認識するための基準と同じ基準を使用して、車線Ａ５１２中の障害物の他のセットをさらに認識することができる。
【００５４】
例えば、車線Ａ５１２中の障害物Ｇ５２２、障害Ｆ５２１及び障害物Ｈ５２５は認識され、車線Ａ５１２の幅まで拡張されることができる。障害物Ｇ５２２は、ウィンドウ予測の開始時にマスターＡＤＶ５０１に最も近い障害物であることができる。障害物Ｆ５２１は、ウィンドウ予測の終了時にマスターＡＤＶ５０１に最も近い障害物であることができる。障害物Ｈ５２５は、車線境界Ａ５０５を横断して車線Ｂ５１２に進入した道路上の障害物であることができる。
【００５５】
実施形態において、マスターＡＤＶ５０１は、車線変更の期間に車線Ａ５１２と車線Ｂ５１４中の認識された障害物の二つのセットを追跡することができる。車線変更が完了すると、マスターＡＤＶ５０１は、車線Ｂ５１４中の認識された障害物セットの追跡を停止することができる。
【００５６】
図６は、実施形態に係る自障害物をフィルタリングする例示的なプロセスを示すフローチャートである。プロセス６００は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、プロセッサ、処理デバイス、中央処理装置（ＣＰＵ）、システムオンチップ（ＳｏＣ）など）、ソフトウェア（例えば、処理デバイスで実行（ｒｕｎｎｉｎｇ）／実行（ｅｘｅｃｕｔｉｎｇ）する指令）、ファームウェア（例えば、マイクロコードなど）、またはそれらの組み合わせを含み得る処理ロジックによって実行される。いくつかの実施形態において、プロセス６００は、図３Ａと図３Ｂに示された感知モジュール３０２、計画モジュール３０５、ルーティングモジュール３０７、及び障害物フィルタリングモジュール３０９中の一つまたは複数によって実行される。
【００５７】
図６を参照すると、処理６０１において、ＡＤＶが走行している第１車線内の障害物の初期セットを感知することを含むＡＤＶ周囲の運転環境を感知する。処理６０２において、計画段階期間に追跡するために、処理ロジックは、一つまたは複数の障害物の第１セットを初期セットのサブセットとして認識する。当該障害物のセットは、第１車線で認識され、ＡＤＶのウィンドウ予測の開始位置でＡＤＶに最も近い障害物と、ＡＤＶのウィンドウ予測の終了位置でＡＤＶに最も近い障害物と、及びウィンドウ予測期間で第１車線と交差する一つまたは複数の障害物とを含むことができる。このようなプロセスは、実際にＡＤＶの次の計画サイクルに直接に関連する任意の障害物をフィルタリングする。つまり、計画段階期間において、ＡＤＶは、第１車線で認識された障害物以外の残りの障害物をフィルタリングする。残りの障害物をフィルタリングすることにより、ＡＤＶは、次のルートを計画する際に、これらのオブジェクトがどのように動作するかを考慮せず、認識された障害物のセットのみに集中する。
【００５８】
処理６０３にいて、ＡＤＶは、認識された各障害物の寸法を第１車線の幅まで拡張して、拡張された障害物がＡＤＶをブロックして、ＡＤＶが任意の拡張された障害物を回避することを防止するようにする。処理６０４において、ＡＤＶを制御して車線を通過するようにナビゲートするために、処理ロジックは、初期セット中の残りの障害物を考慮せず、拡張された障害物に従って軌跡を計画する。大量の障害物をフィルタリングすることにより、ＡＤＶは、ＡＤＶの計画に不可欠な少数の障害物のセットのみを処理するため、ＡＤＶの計画効率を向上させる。ラッシュアワーの高速道路などの混雑した道路セグメントでは、ここで説明する方法により、ＡＤＶの計画性能を大幅に向上させることができる。
【００５９】
注意すべきは、上記で示して説明したコンポーネントの一部または全部は、ソフトウェア、ハードウェアまたはそれらの組合せで実装されることができる。例えば、このようなコンポーネントは、永続性記憶装置にインストールされ且つ記憶されるソフトウェアとして実装されることができ、前記ソフトウェアは、プロセッサ（図示せず）を介してメモリにロードされ、メモリで実行されて、本発明の全文で説明されたプロセスまたは操作を実装することができる。代替的に、このようなコンポーネントは、集積回路（例えば、特定用途向け集積回路またはＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの専用ハードウェアにプログラムまたは埋め込まれた実行可能なコードとして実装されることができ、前記実行可能なコードは、アプリケーションから対応するドライバーおよび／または操作システムを介してアクセスすることができる。なお、このようなコンポーネントは、一つまたは複数の特定の指令を介してソフトウェアコンポーネントからアクセス可能な指令セットの一部として、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして実装されることができる。
【００６０】
図７は、本発明の一実施形態と一緒に使用され得るデータ処理システムの例を示すブロック図である。例えば、システム１５００は、図１の障害物フィルタリングモジュール３０９のような上記のプロセスまたは方法中のいずれかを実行する任意のデータ処理システムを表すことができる。システム１５００は、複数の異なるコンポーネントを含むことができる。これらのコンポーネントは、集積回路（ＩＣ）、集積回路の一部、ディスクリート電子デバイスまたはコンピューターシステムのマザーボードまたはアドインカードなどの回路基板に適した他のモジュールとして実装され、または他の方法でコンピューターシステムのシャーシ内に組み込まれるコンポーネントとして実装されることができる。
【００６１】
さらに注意すべきは、システム１５００は、コンピューターシステムを示す複数のコンポーネントの高レベルビューを示す。しかし、特定の実施形態では追加のコンポーネントが存在する可能性があり、なお、他の実施形態では示されたコンポーネントの異なる配置がある可能性があることを理解されたい。システム１５００は、デスクトップ、ラップトップ、タブレット、サーバ、携帯電話、メディアプレーヤー、携帯情報端末（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケーター、ゲームデバイス、ネットワークルーターまたはハブ、ワイヤレスアクセスポイント（ＡＰ）またはリピーター、セットトップボックス、またはそれらの組み合わせを表すことができる。なお、単一の機器またはシステムのみを示したが、「機器」または「システム」という用語は、一つ（または複数）の指令を個別にまたは共同で実行して本明細書で議論されたいずれかの一つまたは複数の方法の機器またはシステムの任意のセットを含むものとみなされる。
【００６２】
一実施形態において、システム１５００は、バスまたはインターコネクタ１５１０を介して接続されるプロセッサ１５０１、メモリ１５０３及びデバイス１５０５乃至１５０８を含む。プロセッサ１５０１は、単一のプロセッサコアまたは複数のプロセッサコアを含む単一のプロセッサまたは複数のプロセッサを表すことができる。プロセッサ１５０１は、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）などの一つまたは複数の汎用プロセッサを表すことができる。さらに具体的に、プロセッサ１５０１は、複雑な指令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小指令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長指令ワード（ＶＬＩＷ）マイクロプロセッサ、または他の指令セットを実装するプロセッサ、または指令セットの組合せを実装するプロセッサであることができる。プロセッサ１５０１は、特定用途向け集積回路（ＡＳＩＣ）、セルラーまたはベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックスプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組み込みプロセッサ、または指令を処理できる任意の他のタイプのロジックのような一つまたは複数の専用プロセッサであることができる。
【００６３】
プロセッサ１５０１は、超低電圧プロセッサなどの低電力マルチコアプロセッサソケットであってもよく、前記システムの様々なコンポーネントと通信するためのメイン処理ユニット及び中央ハブとして機能してもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実装されることができる。プロセッサ１５０１は、本明細書で議論される操作及びステップを実行するための指令を実行するように構成される。システム１５００は、ディスプレイコントローラ、グラフィックプロセッサ、および／またはディスプレイデバイスを含むことができる選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含むことができる。
【００６４】
プロセッサ１５０１は、メモリ１５０３と通信することができ、メモリ１５０３は、一実施形態において、所与の量のシステムメモリを提供するために、複数のメモリデバイスを介して実装されることができる。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、または他のタイプの記憶装置などの一つまたは複数の揮発性ストレージ（またはメモリ）デバイスを含むことができる。メモリ１５０３は、プロセッサ１５０１または他のデバイスによって実行される指令のシーケンスを含む情報を記憶することができる。例えば、様々な操作システム、デバイスドライバ、ファームウェア（例えば、入出力基本システムまたはＢＩＯＳ）および／またはアプリケーションの実行可能なコードおよび／またはデータをメモリ１５０３にロードし、プロセッサ１５０１によって実行する。操作システムは、任意のタイプの操作システム、例えば、ロボット操作システム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社からのＷｉｎｄｏｗｓ（登録商標）操作システム、アップル社からのＭａｃ  ＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社からのＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ、ＵＮＩＸ（登録商標）、または他のリアルタイムまたは組み込み操作システムであることができる。
【００６５】
システム１５００は、ネットワークインターフェースデバイス１５０５、選択可能な入力デバイス１５０６、及び他の選択可能なＩＯデバイス１５０７等のＩＯデバイスをさらに含むことができる。ネットワークインターフェースデバイス１５０５は、ワイヤレストランシーバおよび／またはネットワークインターフェイスカード（ＮＩＣ）を含むことができる。前記ワイヤレストランシーバは、ＷｉＦｉトランシーバ、赤外線トランシーバ、ブルートゥーストランシーバ、ＷｉＭａｘトランシーバ、ワイヤレスセルラーテレフォニートランシーバ、衛星トランシーバ（例えば、全地球測位システム（ＧＰＳ）トランシーバ）または他の無線周波数（ＲＦ）トランシーバまたはそれらの組合せであることができる。ＮＩＣは、イーサネットカードであることができる。
【００６６】
入力デバイス１５０６は、マウス、タッチパッド、タッチセンシティブスクリーン（ディスプレイデバイス１５０４と統合されることができる）、スタイラスなどのポインタデバイス、および／またはキーボード（例えば、物理キーボードまたはタッチセンシティブ画面の一部として表示される仮想キーボード）を含むことができる。例えば、入力デバイス１５０６は、タッチスクリーンに結合されたタッチスクリーンコントローラを含むことができる。タッチスクリーンとタッチスクリーンコントローラーは、例えば、容量性、抵抗性、赤外線、および表面音響波技術を含むがこれらに限定されない複数のタッチセンシティブ技術のいずれか、及び他の近接センサーアレイまたはタッチスクリーンとの一つまたは複数の接触点を決定するためのその他の要素を使用して、その接触及び移動または破損を検出することができる。
【００６７】
ＩＯデバイス１５０７は、オーディオデバイスを含むことができる。オーディオデバイスは、音声認識、音声複製、デジタル記録、および／または電話機能などの音声対応機能を容易にするために、スピーカーおよび／またはマイクを含むことができる。他のＩＯデバイス１５０７は、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサー（例えば、加速度計、ジャイロスコープ、磁力計、光センサー、コンパス、近接センサーなどのモーションセンサー）、またはそれらの組み合わせをさらに含むことができる。デバイス１５０７は、カメラ機能を促進するために利用される電荷結合素子（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光学センサなどの光学センサを含むことができる撮像処理サブシステム（例えばカメラ）をさらに含むことができる。特定のセンサーは、センサーハブ（図示せず）を介してインターコネクタ１５１０に結合されることができるが、キーボードまたは熱センサーなどの他のデバイスは、システム１５００の具体的な構成または設計に応じて、組み込みコントローラー（図示せず）によって制御されることができる。
【００６８】
データ、アプリケーション、一つまたは複数の操作システムなどの情報の永続性なストレージを提供するために、大容量ストレージ（図示せず）もプロセッサ１５０１に結合することができる。様々な実施形態において、より薄くて軽いシステム設計を実現し、システムの応答性を改善するために、この大容量ストレージは、ソリッドステートデバイス（ＳＳＤ）を介して実装されることができる。しかし、他の実施形態において、大容量ストレージは主に、パワーダウンイベント中にコンテキスト状態やその他の情報の不揮発性ストレージを有効にするＳＳＤキャッシュとして機能するＳＳＤストレージの少ないハードディスクドライブ（ＨＤＤ）を使用して実装され、そのため、システムアクティビティの再起動時に高速電源投入を実現することができる。また、フラッシュデバイスは、例えば、シリアル周辺インターフェース（ＳＰＩ）を介してプロセッサ１５０１に結合されることができる。このフラッシュデバイスは、前記システムのＢＩＯＳ及び他のファームウェアを含むシステムソフトウェアの不揮発性ストレージを提供することができる。
【００６９】
記憶装置１５０８は、一つまたは複数の命令セットまたはソフトウェア（例えば、モジュール、ユニット、および／またはロジック１５２８）が記憶されるコンピュータ可読記憶媒体１５０９（機械可読記憶媒体またはコンピュータ可読媒体としても知られる）を含むことができる。処理モジュール／ユニット／ロジック１５２８は、例えば、計画モジュール３０５、制御モジュール３０６、または障害物フィルタリングモジュール３０９などの上記のコンポーネントのいずれかを表すことができる。処理モジュール／ユニット／ロジック１５２８はさらに、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１によって実行される期間にメモリ１５０３内および／またはプロセッサ１５０１内に完全にまたは少なくとも部分的に留まることができ、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１は、機械アクセス可能記憶媒体も構成する。処理モジュール／ユニット／ロジック１５２８はさらに、ネットワークを介してネットワークインターフェースデバイス１５０５によって送信または受信することができる。
【００７０】
コンピュータ可読記憶媒体１５０９はまた、上記のいくつかのソフトウェア機能を永続性に記憶するために使用されることができる。例示的な実施形態では、コンピュータ可読記憶媒体１５０９が単一の媒体であるように示されたが、用語「コンピュータ可読記憶媒体」は、単一の媒体または複数の媒体（例えば、集中型または分散型データベース、および／または関連するキャッシュとサーバ）が一つまたは複数の命令セットを記憶するとみなされるべきである。用語「コンピューター可読記憶媒体」は、機械による実行のための命令セットを記憶またはエンコードすることができ、機械が本発明で開示されたいずれかの一つまたは複数の方法を実行させる任意の媒体も含むものとみなされるべきである。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ、光学及び磁気媒体、またはその他の非一時的な機械可読媒体を含むと解釈されるが、これらに限定されない。
【００７１】
本明細書で説明する処理モジュール／ユニット／ロジック１５２８、コンポーネント、及びその他の特徴は、個別のハードウェアコンポーネントとして実装されるか、ＡＳＩＣ、ＦＰＧＡ、ＤＳＰ、または類似のデバイスなどのハードウェアコンポーネントの機能に統合されることができる。なお、処理モジュール／ユニット／ロジック１５２８は、ハードウェアデバイス内のファームウェアまたは機能回路として実装されることができる。なお、処理モジュール／ユニット／ロジック１５２８は、ハードウェアデバイスとソフトウェアコンポーネントの任意の組み合わせで実装されることができる。
【００７２】
システム１５００は、データ処理システムの様々なコンポーネントを有すると示されたが、コンポーネントを相互接続する特定のアーキテクチャまたは方法を表すことを意図していないことに留意されたい。このような詳細は、本開示の実施形態と密接な関係がないためである。より少ないコンポーネントまたはより多くのコンポーネントを有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、および／または他のデータ処理システムも本開示の実施形態と一緒に使用できることも認識されるべきである。
【００７３】
前述の詳細な説明の一部は、コンピューターメモリ内のデータビットに対する操作のアルゴリズム及び記号表現によって提示されている。これらのアルゴリズムの説明と表現は、データ処理の分野の当業者が自分の仕事の内容を他の当業者に最も効果的に伝えるために使用する方法である。本明細書において、アルゴリズムは、一般的に望ましい結果を導く一貫した操作のシーケンスであると考えられる。これらの操作は、物理量を物理的に操作するための操作を指す。
【００７４】
しかし、これらの用語及び類似の用語はすべて、適切な物理量に関連するものであり、これらの量に適用される単なる便利なラベルであることに留意されたい。上記の議論で他の方法で明確に指定されていない限り、全体明細書において、以下の特許請求の範囲に記載されている用語などの用語を使用する議論は、コンピューターシステムまたは同様の電子コンピューティングデバイスのアクション及びプロセスを指し、前記コンピューターシステムまたは電子計算デバイスは、コンピューターシステムのレジスター及びメモリー内の物理（電子）量として表されるデータを制御し、前記データをコンピューターシステムメモリまたはレジスターまたは他のこのタイプの情報ストレージに変換し、デバイス内の物理量として類似的に表される他のデータを伝送または表示すことを理解すべきである。
【００７５】
本開示の実施形態は、本明細書の操作を実行するための装置にも関する。このようなコンピュータープログラムは、非一時的なコンピューター可読媒体に記憶される。機械可読媒体は、機械（例えば、コンピューター）によって読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読（例えば、コンピューター可読）媒体は、機械（例えば、コンピューター）可読記憶媒体（例えば、読み取り専用メモリー（「ＲＯＭ」）、ランダムアクセスメモリー（「ＲＡＭ」）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイスを含む。
【００７６】
上記の図に示されたプロセスまたは方法は、ハードウェア（たとえば、回路、専用ロジックなど）、ソフトウェア（たとえば、非一時的なコンピューター可読媒体上で実装される）、またはそれらの組み合わせを含む処理ロジックによって実行されることができる。前記プロセスまたは方法は、いくつかのシーケンシャル操作に応じて上で説明したが、前記操作のいくつかは異なる順序で実行されてもよいことを理解すべきである。なお、一部の操作は、順序にではなく並行して実行されることができる。
【００７７】
本開示の実施形態は、特定のプログラミング言語を参照して説明されていない。本明細書で説明する本開示の実施形態の教示を実装するために、様々なプログラミング言語を使用できることを理解すべきである。
【００７８】
上記の明細書において、本開示の実施形態は、具体的な例示的実施形態を参照して説明された。添付の特許請求の範囲に記載される本開示のより広い精神及び範囲から逸脱することなく、本開示に様々な修正を加えることができることは明らかであろう。従って、本明細書及び図面は、制限的な意味ではなく、例示的な意味で見なされるべきである。
【図１】
2021518822.tif 000003
【図２】
2021518822.tif 000004
【図３Ａ】
2021518822.tif 000005
【図３Ｂ】
2021518822.tif 000006
【図４】
2021518822.tif 000007
【図５Ａ】
2021518822.tif 000008
【図５Ｂ】
2021518822.tif 000009
【図６】
2021518822.tif 000010
【図７】
2021518822.tif 000011
【国際調査報告】
2021518822.tif 000012
2021518822.tif 000013