特許第6543373号(P6543373)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ バイドゥ ユーエスエイ エルエルシーの特許一覧

特許6543373自動運転車両に用いられる制御型の計画と制御システム
<>
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000002
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000003
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000004
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000005
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000006
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000007
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000008
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000009
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000010
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000011
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000012
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000013
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000014
  • 特許6543373-自動運転車両に用いられる制御型の計画と制御システム 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6543373
(24)【登録日】2019年6月21日
(45)【発行日】2019年7月10日
(54)【発明の名称】自動運転車両に用いられる制御型の計画と制御システム
(51)【国際特許分類】
   B60W 30/00 20060101AFI20190628BHJP
   G08G 1/0968 20060101ALI20190628BHJP
   G08G 1/16 20060101ALI20190628BHJP
   G01C 21/34 20060101ALI20190628BHJP
【FI】
   B60W30/00
   G08G1/0968 A
   G08G1/16 C
   G01C21/34
【請求項の数】18
【外国語出願】
【全頁数】23
(21)【出願番号】特願2018-53428(P2018-53428)
(22)【出願日】2018年3月20日
(65)【公開番号】特開2018-158719(P2018-158719A)
(43)【公開日】2018年10月11日
【審査請求日】2018年3月27日
(31)【優先権主張番号】15/465,168
(32)【優先日】2017年3月21日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】516357421
【氏名又は名称】バイドゥ ユーエスエイ エルエルシー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ズー、ファン
【審査官】 鶴江 陽介
(56)【参考文献】
【文献】 特開2015−16799(JP,A)
【文献】 特開2009−120116(JP,A)
【文献】 特開2011−131838(JP,A)
【文献】 独国特許出願公開第102013225057(DE,A1)
【文献】 米国特許出願公開第2006/0085131(US,A1)
【文献】 米国特許第8930060(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00−10/30
B60W 30/00−50/16
G08G 1/00−99/00
(57)【特許請求の範囲】
【請求項1】
自動運転車両を動作させるためのコンピュータ実施方法であって、
自動運転車両(ADV)の目標位置に応答し、前記自動運転車両の現在速度と現在位置とに応じて前記目標位置に基づいて制御指令を推定するステップと、
推定された制御指令に応答し、前記自動運転車両が到達可能な、前記目標位置に関する信頼位置の範囲を決定するステップと、
前記信頼位置の範囲が安全領域内にあるか否かを判断するステップであって、前記安全領域は、ある時点で前記自動運転車両の周囲の運転環境が感知された感知データに基づいて決定されるステップと、
前記信頼位置の範囲が前記安全領域内にあると判断されたことに応答し、前記制御指令を前記自動運転車両に与えるステップと、を含
前記目標位置に基づいて制御指令を推定するステップは、
前記自動運転車両の現在位置と現在速度とに基づいて、前記目標位置に達するのに必要な加速度を算出し、指令推定テーブルにおいて前記現在速度と前記加速度とに基づいて検索処理を実行してマッチングされたエントリーを特定し、マッチングされたエントリーから速度制御指令を推定制御指令として取得すること、及び/又は
前記自動運転車両の現在位置と現在速度とに基づいて、前記目標位置に達するのに必要なステアリング角の変化を算出し、指令推定テーブルにおいて前記現在速度と必要なステアリング角の変化とに基づいてエントリーをマッチングするように検索処理を実行し、マッチングされたエントリーからステアリング制御指令を推定制御指令として取得すること、を含む、
ことを特徴とする方法。
【請求項2】
前記信頼位置の範囲が前記安全領域外にあると判断されたことに応答して、推定された制御指令を調整するステップと、
信頼位置の範囲を決定するステップ及び前記信頼位置の範囲が安全領域内にあるか否かを判断するステップを繰り返して実行するステップと、を更に含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記信頼位置の範囲が前記安全領域内に入るか、又は繰り返し実行される処理の回数が予め設置された閾値に達するまで、前記繰り返して実行されるステップを実行する、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記指令推定テーブルは複数のエントリーを含み、各エントリーでは推定制御指令が加速度にマッピングされる、
ことを特徴とする請求項に記載の方法。
【請求項5】
前記指令推定テーブルの各エントリーは、前記加速度にマッピングされた推定制御指令が更に信頼位置の範囲にマッピングされる、
ことを特徴とする請求項に記載の方法。
【請求項6】
前記指令推定テーブルは複数のエントリーを含み、
各エントリーは、ステアリング角の変化、推定制御指令と、指令推定テーブルにおいて前記現在速度と必要なステアリング角の変化とに基づいて検索処理を実行することでマッチングされたエントリーから取得された信頼位置の範囲とにマッピングされる、
ことを特徴とする請求項に記載の方法。
【請求項7】
コマンドが記憶されており、前記コマンドがプロセッサにより実行されると、前記プロセッサに以下の処理を実行させる、不揮発性の機械可読媒体であって、
前記処理は、
自動運転車両の目標位置に応答し、前記自動運転車両の現在速度と現在位置とに応じて前記目標位置に基づいて制御指令を推定することと、
推定された制御指令に応答し、前記自動運転車両が到達可能な、前記目標位置に関する信頼位置の範囲を決定することと、
前記信頼位置の範囲が安全領域内にあるか否かを判断するステップであって、前記安全領域は、ある時点で前記自動運転車両の周囲の運転環境が感知された感知データに基づいて決定されることと、
前記信頼位置の範囲が前記安全領域内にあると判断されたことに応答し、前記制御指令を前記自動運転車両に与えることと、を含
前記目標位置に基づいて制御指令を推定するステップは、
前記自動運転車両の現在位置と現在速度とに基づいて、前記目標位置に達するのに必要な加速度を算出し、指令推定テーブルにおいて前記現在速度と前記加速度とに基づいて検索処理を実行してマッチングされたエントリーを特定し、マッチングされたエントリーから速度制御指令を推定制御指令として取得すること、及び/又は
前記自動運転車両の現在位置と現在速度とに基づいて、前記目標位置に達するのに必要なステアリング角の変化を算出し、指令推定テーブルにおいて前記現在速度と必要なステアリング角の変化とに基づいてエントリーをマッチングするように検索処理を実行し、マッチングされたエントリーからステアリング制御指令を推定制御指令として取得すること、を含む、
ことを含むことを特徴とする機械可読媒体。
【請求項8】
前記処理は、
前記信頼位置の範囲が前記安全領域外にあると判断されたことに応答して、推定された制御指令を調整し、
信頼位置の範囲を決定するステップ及び前記信頼位置の範囲が安全領域内にあるか否かを判断するステップを繰り返して実行する、ことを更に含む、
ことを特徴とする請求項に記載の機械可読媒体。
【請求項9】
前記信頼位置の範囲が前記安全領域内に入るか、又は繰り返し実行される処理の回数が予め設置された閾値に達するまで、前記繰り返して実行されるステップを実行する、
ことを特徴とする請求項に記載の機械可読媒体。
【請求項10】
前記指令推定テーブルは複数のエントリーを含み、各エントリーでは推定制御指令が加速度にマッピングされる、
ことを特徴とする請求項に記載の機械可読媒体。
【請求項11】
前記指令推定テーブルの各エントリーは、前記加速度にマッピングされた推定制御指令が更に信頼位置の範囲にマッピングされる、
ことを特徴とする請求項10に記載の機械可読媒体。
【請求項12】
前記指令推定テーブルは複数のエントリーを含み、各エントリーは、ステアリング角の変化、推定制御指令と、指令推定テーブルにおいて前記現在速度と必要なステアリング角の変化とに基づいて検索処理を実行することでマッチングされたエントリーから取得された信頼位置の範囲とにマッピングされる、
ことを特徴とする請求項に記載の機械可読媒体。
【請求項13】
プロセッサと、
前記プロセッサに接続されてコマンドを記憶するメモリと、を含み、
前記メモリがプロセッサにより実行されると、前記プロセッサに以下の処理を実行させる、データ処理システムであって、
前記処理は、
自動運転車両の目標位置に応答し、前記自動運転車両の現在速度と現在位置とに応じて前記目標位置に基づいて制御指令を推定することと、
推定された制御指令に応答し、前記自動運転車両が到達可能な、前記目標位置に関する信頼位置の範囲を決定することと、
前記信頼位置の範囲が安全領域内にあるか否かを判断するステップであって、前記安全領域は、ある時点で前記自動運転車両の周囲の運転環境が感知された感知データに基づいて決定されることと、
前記信頼位置の範囲が前記安全領域内にあると判断されたことに応答し、前記制御指令を前記自動運転車両に与えることと、を含
前記目標位置に基づいて制御指令を推定するステップは、
前記自動運転車両の現在位置と現在速度とに基づいて、前記目標位置に達するのに必要な加速度を算出し、指令推定テーブルにおいて前記現在速度と前記加速度とに基づいて検索処理を実行してマッチングされたエントリーを特定し、マッチングされたエントリーから速度制御指令を推定制御指令として取得すること、及び/又は
前記自動運転車両の現在位置と現在速度とに基づいて、前記目標位置に達するのに必要なステアリング角の変化を算出し、指令推定テーブルにおいて前記現在速度と必要なステアリング角の変化とに基づいてエントリーをマッチングするように検索処理を実行し、マッチングされたエントリーからステアリング制御指令を推定制御指令として取得すること、を含む、
ことを特徴とするシステム。
【請求項14】
前記処理は、
前記信頼位置の範囲が前記安全領域外にあると判断されたことに応答して、推定された制御指令を調整し、
信頼位置の範囲を決定するステップ及び前記信頼位置の範囲が安全領域内にあるか否かを判断するステップを繰り返して実行する、ことを更に含む、
ことを特徴とする請求項13に記載のシステム。
【請求項15】
前記信頼位置の範囲が前記安全領域内に入るか、又は繰り返し実行される処理の回数が予め設置された閾値に達するまで、前記繰り返して実行されるステップを実行する、
ことを特徴とする請求項14に記載のシステム。
【請求項16】
前記指令推定テーブルは複数のエントリーを含み、各エントリーでは推定制御指令が加速度にマッピングされる、
ことを特徴とする請求項13に記載のシステム。
【請求項17】
前記指令推定テーブルの各エントリーは、前記加速度にマッピングされた推定制御指令が更に信頼位置の範囲にマッピングされる、
ことを特徴とする請求項16に記載のシステム。
【請求項18】
前記指令推定テーブルは複数のエントリーを含み、各エントリーは、ステアリング角の変化、推定制御指令と、指令推定テーブルにおいて前記現在速度と必要なステアリング角の変化とに基づいて検索処理を実行することでマッチングされたエントリーから取得された信頼位置の範囲とにマッピングされる、
ことを特徴とする請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は主に自動運転車両のに関する。具体的に、本発明の実施形態は自動運転車両に用いられる制御的な計画と制御システムに関する。
【背景技術】
【0002】
車両が自動運転モード(例えば、無人運転)で走行している場合、乗員、特に運転手を運転に関連するいくつかの責任から解放することができる。自動運転モードで走行している場合、当該車両が車載センサを利用して様々な場所へ案内されることができ、それによりヒューマン・インタラクションの最も少ない場合、または乗客なしの場合に走行することを可能にする。
【発明の概要】
【発明が解決しようとする課題】
【0003】
自動運転において、運動計画及び制御は重要である。通常の計画及び制御システムにおいて、従来の自動運転技術は計画型(planning dominated)であり、計画段階で経路と速度を決定し、制御段階で当該決定の実行だけを行うことを意味する。図1Aは、例えば計画モジュールにより計画された自動運転車両に用いられる計画速度を示した。ところが、図1Bに示されるように、このような設計は制御において避けられない振動を招き、乗客に不快を与える恐れがある。図1Bに示されるように、図1Aに示される計画速度のスロットル指令は平滑でなく、或いは非線形であるので、乗客に不快を与えるおそれがある。
【課題を解決するための手段】
【0004】
本願の一態様は、自動運転車両を動作させるためのコンピュータ実施方法を提供し、この方法は、自動運転車両の目標位置に応答し、前記自動運転車両の現在速度と現在位置とに応じて前記目標位置に基づいて制御指令を推定するステップと、推定された制御指令に応答し、前記自動運転車両が到達可能な、前記目標位置に関する信頼位置の範囲を決定するステップと、前記信頼位置の範囲が安全領域内にあるか否かを判断するステップであって、前記安全領域は、ある時点で前記自動運転車両の周囲の運転環境が感知された感知データに基づいて決定されるステップと、前記信頼位置の範囲が前記安全領域内にあると判断されたことに応答し、前記制御指令を前記自動運転車両に与えるステップと、を含む。
【0005】
本願の他の態様は、コマンドが記憶されており、前記コマンドがプロセッサにより実行されると、前記プロセッサに以下の処理を実行させる、不発揮性の機械可読媒体を提供し、この処理は、自動運転車両の目標位置に応答し、前記自動運転車両の現在速度と現在位置とに応じて前記目標位置に基づいて制御指令を推定することと、推定された制御指令に応答し、前記自動運転車両が到達可能な、前記目標位置に関する信頼位置の範囲を決定することと、前記信頼位置の範囲が安全領域内にあるか否かを判断するステップであって、前記安全領域は、ある時点で前記自動運転車両の周囲の運転環境が感知された感知データに基づいて決定されることと、前記信頼位置の範囲が前記安全領域内にあると判断されたことに応答し、前記制御指令を前記自動運転車両に与えることと、を含む。
【0006】
本願の他の態様は、プロセッサと、前記プロセッサに連結されてコマンドを記憶するメモリと、を含み、前記メモリがプロセッサにより実行されると、前記プロセッサに以下の処理を実行させる、データ処理システムを提供し、この処理は、自動運転車両の目標位置に応答し、前記自動運転車両の現在速度と現在位置とに応じて前記目標位置に基づいて制御指令を推定することと、推定された制御指令に応答し、前記自動運転車両が到達可能な、前記目標位置に関する信頼位置の範囲を決定することと、前記信頼位置の範囲が安全領域内にあるか否かを判断するステップであって、前記安全領域は、ある時点で前記自動運転車両の周囲の運転環境が感知された感知データに基づいて決定されることと、前記信頼位置の範囲が前記安全領域内にあると判断されたことに応答し、前記制御指令を前記自動運転車両に与えることと、を含む。
【図面の簡単な説明】
【0007】
本発明の実施形態は図面の各図において限定的ではなく例示的な形態で示され、図面における同じ図面符号が類似した素子を示す。
【0008】
図1A】速度制御指令と車両からの応答を示す図である。
図1B】速度制御指令と車両からの応答を示す図である。
【0009】
図2】本発明にかかる一実施形態のネットワークシステムを示すブロック図である。
図3】本発明にかかる一実施形態の自動運転車両の例を示すブロック図である。
図4】本発明にかかる一実施形態の自動運転車両と共に使用される感知及び計画システムの例を示すブロック図である。
【0010】
図5A】本発明にかかる幾つかの実施形態の速度制御指令と車両応答を示す図である。
図5B】本発明にかかる幾つかの実施形態の速度制御指令と車両応答を示す図である。
【0011】
図6A】本発明にかかる幾つかの実施形態のステアリング制御指令と車両応答を示す図である。
図6B】本発明にかかる幾つかの実施形態のステアリング制御指令と車両応答を示す図である。
【0012】
図7】本発明にかかる一実施形態の計画モジュールと制御モジュールとの間の通信を示す処理フローチャートである。
【0013】
図8A】本発明にかかる幾つかの実施形態の指令推定データ構造を示した。
図8B】本発明にかかる幾つかの実施形態の指令推定データ構造を示した。
【0014】
図9】本発明にかかる一実施形態の自動運転車両の手順を示すフローチャートである。
図10】一実施形態にかかるデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【0015】
以下、説明の詳細を参照しながら、本出願の様々な実施形態及び方法を説明し、図面は、前記様々な実施形態を示す。以下の説明及び図面は、本出願を説明するためのものであり、本出願を限定するものではない。本出願の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。なお、いくつかの例では、本出願の実施形態に対する簡単な説明を提供するために、周知または従来技術の詳細について説明していない。
【0016】
本明細書では「一実施形態」または「実施形態」とは、当該実施形態について組み合わせて説明された特定特徴、構造または特性が、本出願の少なくとも一実施形態に含まれてもよい。語句「一実施形態では」は、本明細書全体において同一の実施形態を指すとは限らない。
【0017】
幾つかの実施形態によれば、制御型(control dominated)のシステムは、乗客の快適さを最大化するように配置される。自動運転車両(ADV)の経路又は位置の精度に妥協することにより(ADV周囲の運転環境を考慮した前提であれば、このような折衷案はADVを不安全の状態にさせることがない)、システムはADVに着席する乗客の快適性に注目する。システムは、類似の状況において人間の運転者がどのように行動するかをシミュレーションする。通常的に、人間の運転者は、アクセルペダル又はブレーキペダルを踏み込んで制御指令を与え、その後に車両の移動が速すぎるか、遅すぎるか又は障害物(例えば、歩行者、他の車両、建築のような実際の目標)に近接しすぎるかを判断する。このようになれば、運転者は、アクセルペダル又はブレーキペダルに付与される圧力を調整したりハンドルの旋回を調整したりすることで、ADVに所望の位置に到達させる。
【0018】
一実施形態では、ADVの目標位置に応答し、ADVの現在速度と現在位置とに応じて、目標位置に基づいて制御指令(例えば、速度制御指令、ステアリング制御指令)を推定する。推定された制御指令に基づいて、ADVの到達可能な信頼(confidence)位置の範囲を決定する。信頼位置の範囲をチェックして信頼位置の範囲が安全領域内にあるか否かを判断する。安全領域は、ある時点でADV周囲の運転環境が感知された感知データに基づいて決定されたものである。推定された制御指令に応答してADVの到達可能な位置が安全領域内にあると判断された場合、推定された制御指令がADVに与えられる。信頼位置の範囲が安全領域外にあると判断された場合、前に推定された制御指令に基づいて他の制御指令を推定(例えば、調整)し、信頼位置の範囲が安全領域内に入るまで前記過程が繰り返して実行される。
【0019】
一実施形態では、システムはADVの目標位置、現在位置と現在速度から導出される情報に基づいて、指令推定テーブルに検索を実行する。指令推定テーブルは、複数のエントリーを含む。各エントリーは、複数の推定された制御指令のうちの一つに対応し、且つ各推定された制御指令は信頼位置の範囲に関連付けられる。このような信頼位置の範囲は、データ解析システムにより多くの運転統計(例えば、複数の人間の運転者により複数種の車両を使用する)に基づいてオフラインで決定されたり、訓練されたりすることができる。
【0020】
一実施形態では、制御モジュールは制御指令を推定して且つADVの到達可能な信頼位置の範囲を決定すると、信頼位置に関する情報が計画モジュールにフィードバックされる。計画モジュールは、信頼位置の範囲が安全領域内に入るか否かを判断する。なお、当該安全領域は、計画モジュールによりADV周囲の運転環境を感知する感知モジュールに提供される感知データに基づいて生成されるものである。計画モジュールと制御モジュールの間の通信は、適切な制御指令が発見されるまで繰り返して実行される。複数回に繰り返された後に適切な制御指令が存在しなければ、制御モジュールは通常のモードに戻して計画モジュールから受信される目標に基づいて制御指令を決定し、且つできるだけ計画モジュールにより提供される経路に沿ってADVを運転しようと試みる。
【0021】
図2は本発明にかかる一実施形態にかかる自動運転車両のネットワーク配置を示すブロック図である。図2を参照して、ネットワーク配置100はネットワーク102によって1つ以上のサーバ103〜104に通信可能に接続することができる自動運転車両101を含む。1つの自動運転車両が示されているが、ネットワーク102によって複数の自動運転車両は互いに接続され、及び/またはサーバ103〜104に接続されることができる。ネットワーク102は、任意のタイプのネットワーク、例えば有線または無線のローカルエリアネットワーク(LAN)、例えばインターネットのような広域ネットワーク(WAN)、セルラーネットワーク、衛星ネットワークまたはその組み合わせであってもよい。サーバ103〜104は任意のタイプのサーバまたはサーバクラスタ、例えばWebサーバまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはその組み合わせであってもよい。サーバ103〜104は、データ分析サーバ、内容サーバ、交通情報サーバ、地図(マップ)及び興味のあるポイント(MPOI)サーバまたは位置サーバ等であってもよい。
【0022】
自動運転車両とは、運転手からの入力が非常に少ないまたはない場合に案内して環境を通過する自動運転モードに設置される車両である。このような自動運転車両は、車両が走行している環境にかかる情報を検出するように配置される1つまたは複数のセンサを含むセンサシステムを備える。車両及びその関連しているコントローラが、検出された情報で案内して環境を通過する。自動運転車両101が手動モード、完全自動運転モードまたは部分自動運転モードで運転されることができる。
【0023】
一実施形態では、自動運転車両101は、感知及び計画システム110と、車両制御システム111と、無線通信システム112と、ユーザインターフェースシステム113と、センサシステム115とを含むが、これらに制限されない。自動運転車両101は、通常の車両に含まれるある一般的な構成要素(部材)、例えばエンジン、車輪、ハンドル、変速器等をさらに含んでもよく、前記構成要素は、車両制御システム111及び/または感知及び計画システム110により多種の通信信号及び/またはコマンド(例えば加速信号またはコマンド、減速信号またはコマンド、ステアリング信号またはコマンド、ブレーキ信号またはコマンド等)を使用して制御されることができる。
【0024】
構成要素110〜115は、インターコネクト、バス、ネットワークまたはそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラローカルエリアネットワーク(CAN)バスを介して互いに通信可能に接続することができる。CANバスは、マイクロコントローラ及び装置がホストコンピューターのない応用において互いに通信することを許可するような車両バス標準として設計される。それは、最初に自動車内における多重(multiplex)電線のために設計されたメッセージに基づくプロトコルであるが、他のたくさんの環境(状況)にも用いられる。
【0025】
ここで、図3を参照して、一実施形態では、センサシステム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は、スチルカメラ及び/またはビデオカメラであってもよい。カメラは、例えば回転及び/または傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
【0026】
センサシステム115は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ(例えばマイクロフォン)をさらに含んでもよい。オーディオセンサは、自動運転車両周辺の環境から音をキャプチャするように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪またはその組み合わせのステアリング角を感知するように配置されることができる。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。いくつかの場合、スロットルセンサ及びブレーキセンサは、集積型スロットル/ブレーキセンサに一体化されてもよい。
【0027】
一実施形態では、車両制御システム111は、ステアリングユニット201と、スロットルユニット202(加速ユニットとも呼ばれる)と、ブレーキユニット203とを含むが、これらに制限されない。ステアリングユニット201は、車両の方向または走行方向を調整することに用いられる。スロットルユニット202は、モーターまたはエンジンの速度を制御して、さらに車両の速度及び加速度を制御することに用いられる。ブレーキユニット203は、摩擦を提供することによって車両の車輪またはタイヤをスローダウンして車両を減速させることに用いられる。注意すべきなのは、図2に示すような構成要素はハードウェア、ソフトウェアまたはその組み合わせで実現されることができる。
【0028】
図2を再び参照して、無線通信システム112は、自動運転車両101と、例えば装置、センサ、その他の車両等の外部システムとの間に通信することを可能にする。例えば、無線通信システム112は、1つ以上の装置に直接にまたは通信ネットワークを介して無線通信し、例えばネットワーク102によってサーバ103〜104に通信することができる。無線通信システム112は、任意のセルラー通信ネットワークまたは無線ローカルエリアネットワーク(WLAN)(例えばWiFi(登録商標))を使用して他の構成要素やシステムに通信することができる。無線通信システム112は、例えば赤外線リンク、ブルートゥース(登録商標)等を使用して装置(例えば、乗客の移動装置、表示装置、車両101内のスピーカー)に直接に通信することができる。ユーザインターフェースシステム113は、車両101内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む。
【0029】
自動運転車両101の一部または全ての機能は、特に自動運転モードで処理される場合、感知及び計画システム110により制御されたり管理されたりすることができる。感知及び計画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)、及びソフトウェア(例えば、オペレーティングシステム、計画及びルーティングプログラム)を含み、センサシステム115、車両制御システム111、無線通信システム112、及び/またはユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地から目的地までのルートや経路を計画し、そして計画及び制御情報に基づいて車両101を運転させる。あるいは、感知及び計画システム110と車両制御システム111とは一体化されてもよい。
【0030】
例えば、乗客とするユーザは、例えばユーザインターフェースによって旅程の出発位置及び目的位置を指定することができる。感知及び計画システム110は旅程関連データを取得する。例えば、感知及び計画システム110は、MPOIサーバから位置及びルート情報を取得することができ、前記MPOIサーバはサーバ103〜104の一部であってもよい。位置サーバは、位置サービスを提供し、かつMPOIサーバはマップサービス及びある位置のPOIを提供する。あるいは、このような位置及びMPOI情報は、感知及び計画システム110の不揮発性記憶装置にローカルにキャッシュされることができる。
【0031】
自動運転車両101がルートに沿って走行する期間に、感知及び計画システム110は、さらに交通情報システムやサーバ(TIS)からリアルタイム交通情報を取得できる。注意すべきなのは、サーバ103〜104は、第三者エンティティにより動作されることができる。あるいは、サーバ103〜104の機能は、感知及び計画システム110と一体化されてもよい。リアルタイム交通情報、MPOI情報、位置情報、及びセンサシステム115が検出または感知したリアルタイムなローカル環境データ(例えば、障害物、対象、付近車両)に基づいて、感知及び計画システム110は、安全で効果的に指定した目的地に到達するように、最適なルートを計画し、かつ計画したルートにより例えば車両制御システム111を介して車両101を運転することができる。
【0032】
サーバ103は、様々のクライアントにデータ分析サービスを提供するデータ分析システムであってもよい。一実施形態では、データ分析システム103は、データ収集部121と、機器学習エンジン122とを含む。データ収集部121は、様々の車両(自動運転車両または人間運転手が運転する一般車両)からの運転統計情報123を収集する。運転統計情報123は、発行された運転情報(例えば、スロットル、ブレーキ及び転向コマンド)、及び、異なる時点で車両のセンサにより取得された車両のレスポンス(例えば、速度、加速度、減速度、方向)を表す情報を含む。運転統計情報123は、異なる時点での環境記述情報、例えば、ルート(出発地及び目的地の位置)、MPOIs、道路条件、天気条件等を更に含む。
【0033】
運転統計123に基いて、機器学習エンジン122は、複数種の目的について規則、アルゴリズム及び/又は予測モデル124のセットを実行したり訓練したりする。一実施形態では、規則124は、制御指令を推定するための指令推定テーブル又はデータ構造、及びそれらと関連する信頼位置の範囲を含む。指令推定テーブルは、運転統計123に基いて生成されてもよい。当該運転統計123は、既に複数の人間の運転者又は自動運転システムにより運転された複数種の車両から採集されてもよい。指令推定テーブルは、各タイプの車両について生成し配置されてもよい。そして、指令推定テーブルは、対応のADVにロードされて制御指令を推定するようにリアルタイムで用いられる。
【0034】
図4は、本発明の一つの実施例にかかる自動車両とともに使用される感知及び計画システムの例を示すブロック図である。システム300は、図2における自動運転車両101の一部として実現されることができるが、感知及び計画システム110、車両制御システム111、及びセンサシステム115に限定されない。図4を参照し、感知及び計画システム110は、位置決めモジュール301と、感知モジュール302と、決定モジュール303と、計画モジュール304と、制御モジュール305とを含むが、それらに限定されない。
【0035】
モジュール301〜305の一部またはすべては、ソフトウェア、ハードウェア、またはそれらの組み合わせによって実現されてもよい。例えば、これらのモジュールが不揮発性の記憶装置352にインストールされ、メモリ351にロードされて1つまたは複数のプロセッサ(図示せず)によって実行されてもよい。一部またはすべてのモジュールは、図3に示す車両制御システム111における一部またはすべてのモジュールに通信可能に連結されたり、統合されたりしてもよい。また、モジュール301〜305の一部、1つの集積モジュールとして一体化されてもよい。
【0036】
位置決めモジュール301は、自動運転車両300(例えば、GPSユニット212を利用する)の現在の位置を決定し、ユーザの旅程またはルートに関する何れのデータを管理する。位置決めモジュール301(地図及びルーティングモジュールとも言われる)は、ユーザの旅程またはルートに関連する任意のデータを管理する。ユーザは、例えばユーザインターフェースを介してログインするとともに旅程の出発位置及び目的位置を指定してもい。位置決めモジュール301は、旅程に関連するデータを取得するように、自動運転車両300(システム)のその他の構成要素(例えば地図及びルート情報311)と通信する。例えば、位置決めモジュール301は、位置サーバと、地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、かつMPOIサーバは、地図サービスとある位置のPOIとを提供し、地図及びルート情報311の一部としてキャッシュされてもよい。自動運転車両300がルートに沿って走行する期間に、位置決めモジュール301は、さらに交通情報システムやサーバからリアルタイム交通情報を取得することができる。
【0037】
センサシステム115により提供されたセンサデータ、及び位置決めモジュール301により得られた位置決め情報に基づいて、感知モジュール302は周辺環境に対する感知を決定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの(状況)を示すことができる。感知情報は、例えば対象形式で現される車線配置(例えば、直線またはカーブ)、トラフィック信号、他の車両の相対位置、歩行者、建築物、横断歩道またはその他の交通関連標識(例えば、停止標識、譲り標識)などを含んでもよい。
【0038】
感知モジュール302は、コンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含んでもよく、自動運転車両環境における対象及び/または特徴を認識するように、1つ以上のカメラによりキャプチャされた画像を処理及び分析することに用いられる。前記対象は交通信号、車道の境界線、他の車両、歩行者及び/または障害物等を含んでもよい。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境の地図を描き、対象を追跡し、かつ対象の速度を推定することなどができる。感知モジュール302は、その他のセンサ(例えばレーダー及び/またはLIDAR)により提供されたその他のセンサデータに基づいて対象を検出することもできる。
【0039】
それぞれの対象に対して、決定モジュール303は、如何に対象を処理するか決定をする。例えば、特定な対象(例えば、交差ルートにおける他の車両)及び対象を記述するメタデータ(例えば、速度、方向、ステアリング角)に対して、決定モジュール303は、遇う対象に如何に対応する(例えば、追い越し、道譲り、停止、通過)ことを決定する。決定モジュール303は、不揮発性の記憶装置352に記憶されてもよい1セットのルール(例えば交通ルールまたは運転ルール312)に基づいてこのような決定をすることができる。
【0040】
感知されたそれぞれの対象に対する決定に基づいて、計画モジュール304は、自動運転車両のためにルートまたは経路及び運転パラメータ(例えば、距離、速度及び/またはステアリング角)を計画する。すなわち、所定対象に対して、決定モジュール303は前記対象に対して如何に対応するかを決定し、計画モジュール304は如何に実行するかを決定する。例えば、所定対象に対して、決定モジュール303は、前記対象を追い越すことを決定することができ、計画モジュール304は、前記対象の左側に追い越すか、右側に追い越すかを決定することができる。計画モジュール304は、計画及び制御データを生成し、車両300が次の移動周期(例えば、次のルート/経路セグメント)に如何に移動するかを記述する情報を含む。例えば、計画及び制御データは車両300が30マイル/時間(mph)の速度で10メートル移動し、次に25mphの速度で右車線に変更するように指示することができる。
【0041】
計画及び制御データに基づいて、制御モジュール305は計画及び制御データにより定義されたルートまたは経路に基づいて、車両制御システム111へ適切なコマンドまたは信号を送信することによって自動運転車両を制御及び運転する。前記ルートまたは経路に沿って違う時点で適ときに適切な車両設置または運転パラメータ(例えば、スロットル、ブレーキ及びステアリングコマンド)を使用して車両を第1点から第2点まで運転するように、計画及び制御データは十分な情報を含む。
【0042】
注意すべきなのは、決定モジュール303及び計画モジュール304は、集積モジュールに一体化されてもよい。決定モジュール303/計画モジュール304は、自動運転車両の運転経路を決定するために、ナビゲーションシステムまたはナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自動運転車両が以下の経路に沿って移動することを実現するための一連の速度及び進行方向を決定することができ、前記経路は、最終目的地に至る道路に基づく経路に沿って自動運転車両を大体前進するとともに、感知された障害物を大体避けることができる。目的地はユーザインターフェースシステム113により実現されたユーザ入力に基づいて設定されることができる。ナビゲーションシステムは、自動運転車両が走行していると同ときに走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両用の走行経路を決定するように、GPSシステム及び1つ以上の地図からのデータを合併することができる。
【0043】
決定モジュール303/計画モジュール304は、自動運転車両環境における潜在障害物を、認識・評価・回避またはその他の方式で迂回するために、衝突回避システムまたは衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、以下の方式によって自動運転車両のナビゲーションにおける変更を実現することができ、制御システム111の中の1つ以上のサブシステムを動作してターン操縦、ステアリング操縦、ブレーキ操縦等を採る。衝突回避システムは、周辺の交通モード、道路状況等に基づいて障害物を回避可能な操縦を自動的に決定することができる。衝突回避システムは、その他のセンサシステムは、自動運転車両がターンして入ろうとする隣接領域における車両、建築障害物等が検出された際にターン操縦を採らないように配置されることができる。衝突回避システムは、使用可能でありかつ自動運転車両の乗員の安全性を最大化させる操縦を自動的に選択することができる。衝突回避システムは、自動運転車両の乗員室内で最小の加速度を出現させることが予測された回避操縦を選択することができる。
【0044】
一実施形態によれば、制御モジュール305は、速度制御モジュール321とステアリング制御モジュール322とを具備する。速度制御モジュール321は、速度制御指令(例えば、スロットル指令、ブレーキ指令)を生成してADVの速度を制御するように配置される。ステアリングモジュール322は、ステアリング制御指令を生成してADVのステアリングを制御する(例えば、車両の移動方向を変更する)ように配置される。一実施形態では、速度制御モジュール321は、計画モジュール304から受信される目標情報(例えば、目標位置、目標速度、目標ステアリング角度)に応答し、目標情報に基づいて速度制御指令を推定し、且つ推定された速度制御指令が実行される場合にADVの終了可能な信頼位置の範囲を決定する。同様に、ステアリング制御モジュール322は、ステアリング制御指令を推定し、推定されたステアリング制御指令が実行される場合にADVの到達可能な信頼位置の範囲を決定する。
【0045】
図5A図5Bを参照し、図5Aは速度制御モジュール321により推定された速度制御指令を表す曲線を示し、ここで、速度制御指令は、ある時間帯においてスロットルのパーセンテージで表された。人間の運転者がどのようにアクセルペダルへ圧力を与えるかと類似しており、曲線は相対的な線形曲線である。図5Bは、図5Aに示された推定された速度制御指令に応答して車両が到達可能な推定速度を示す。図5Bに示されるように、ADVの速度は曲線501と曲線502との間に変化することができる。曲線501と曲線502の間の領域は、車両の終了可能な信頼速度の範囲を示す。信頼速度の範囲は、予め設置された時間帯におけるADVの現在位置に基づいて目標位置と関連する信頼位置の範囲を決定するように使用可能である。目標位置及び目標位置まで到達する時間帯は、計画モジュール304から受信される目標情報の一部であってもよい。信頼位置の範囲は、ADVが終了可能なことが相対的に信頼できる又は確信する位置の範囲を表す信頼位置の範囲とも呼ばれる。同様に、図6A図6Bを参考し、図6Aはステアリング角のパーセンテージで示されたステアリング制御指令を表す曲線を示し、図6Bは推定された制御指令に応答してADVが到達可能な信頼位置の範囲を表す曲線601と曲線602の間の領域を示した。
【0046】
図4を再び参考し、制御モジュール305は信頼位置情報を計画モジュール304にフィードバックする。一実施形態では、計画モジュール304は、安全領域に基いてADVの到達可能な位置を表す信頼位置の範囲が安全かをチェックする安全検査器モジュール323を更に具備する。安全検査器モジュール323は、ある時点でADV周囲の運転環境が感知された感知データに基いて安全領域を決定することができる。安全領域はその内にADVが安全である位置の範囲を示す。即ち、安全領域において、ADVがなり得る危険な状況(例えば、他の車両、歩行者又は対象と衝突する)でない。安全検査器モジュール323は信頼位置の範囲と安全領域とを比較し、信頼位置が安全領域内にあるか否かを判断する。信頼位置の範囲が安全領域内であれば、推定された制御指令(例えば、アクセル指令、ブレーキ指令又はステアリング指令)がADVに与えられる。さもなければ、推定された制御指令を調整し、且つ上記の過程が繰り返されて、ADVを安全にする適切な制御指令を発見することを試みる。
【0047】
図7は、本発明の一実施形態にかかる計画モジュールと制御モジュールとの間の通信を示した処理フローチャートである。図7を参照し、701において、計画モジュール304は計画及び制御データを計画し且つ計画及び制御データを制御モジュール305に送信する。計画及び制御データは、ADVが達する予定の目標情報を含み、ここで、当該目標情報は、目標位置、目標速度及び/又は目標ステアリング角度などを含んでもよい。代わりに、計画及び制御データは、ある時間帯にADVが到達する目標位置又はある時間内に変更される車線などを示すことができ、且つ制御モジュール305により計画目標まで所要の目標速度又はステアリング角が決定される。702において、制御モジュール305(例えば、速度制御モジュール321及び/又はステアリング制御モジュール322)は目標情報に応答し、目標情報に基づいて制御指令(例えば、速度制御指令、ステアリング制御指令)を推定する。703において、制御モジュール305は推定された制御指令に応答してADVが到達可能な信頼位置の範囲を決定する。
【0048】
上記のように、制御指令は速度制御指令又はステアリング制御指令であってもよい。一実施形態によれば、速度制御指令を推定する際に、速度制御モジュール321は速度指令推定テーブル又はデータ構造に検索を実行する。なお、速度指令推定テーブル又はデータ構造は、ルール124の一部であってもよい。図8Aは、本発明の一実施形態にかかる速度指令推定テーブルの例を示した。ここで、図8Aを参考し、速度指令推定テーブル800は複数のエントリーを含む。各エントリーは、ADVの現在速度801と、目標速度又は目標位置まで必要な加速度802とを速度制御指令803(当該例において、アクセルのパーセンテージで示される)にマッピングする。例えば、ある時間帯(Δt)内に到達しようとする目標位置に応答し、現在位置から目標位置までの距離(S)は、S=目標位置−現在位置のように算出されることができる。そして、目標速度(V)はV=S/Δtのように算出されることができる。加速度(A)は、現在速度(V)、例えばA=(V−V)/2Sに基づいて算出されることができる。そして、現在速度Vと加速度Aに基づいて、推定される制御指令が、指令推定テーブル800に検索することにより決定されることができる。同様に、減速(例えば、加速度802がマイナスである)について、速度制御指令803は、ブレーキのパーセンテージで表されるブレーキ指令である。
【0049】
速度制御指令803は信頼数値804の範囲に関連し、当該信頼数値804の範囲は信頼範囲とも呼ばれ、対応する制御指令の誤差マージンを示す。当該例において、信頼数値804の範囲は加速度802の信頼加速度の範囲を示す。当該例において、加速度802を1m/sとすれば、推定された速度制御指令803に対し、信頼数値804の範囲が+/−0.2m/sである。したがって、25%のアクセルの速度制御指令の可能な加速度は0.8〜1.2m/sの範囲内である。速度制御指令803がADVに与えられると、現在速度801、所要の加速度802及び信頼数値804の範囲に基づいてADVの到達可能な信頼位置の範囲を推定することができる。
【0050】
一実施形態では、指令推定テーブル800は、1)指令推定テーブル、及び2)信頼推定テーブルという二つのテーブルの形式で実現されることができる。当該構成において、指令推定テーブルは列801〜803を含み、信頼推定テーブルは列802〜804を含む。したがって、指令推定テーブルは、具体的な車両速度801と加速度802とを速度制御指令803にマッピングする。速度制御指令が一旦推定されたと、信頼推定テーブルは、加速度802と推定された速度制御指令803とに基づいて信頼範囲804の推定に用いられることができる。
【0051】
同様に、ステアリング指令を推定する際に、図8Bに示されたステアリング指令推定テーブル又はデータ構造を利用することができる。図8Bを参照し、ステアリング指令推定テーブル850は複数のエントリーを含む。各エントリーは、車両851の現在速度と目標ステアリング角まで必要な移動ステアリング角852とをステアリング指令853(例えば、ステアリング角のパーセンテージで表される)にマッピングする。ステアリング制御指令853は誤差マージンを表す信頼範囲854と関連する。当該例において、信頼範囲854は、移動角852の信頼ステアリング角の範囲を表す。ステアリング制御指令853がADVに与えられると、現在速度851、所要の移動角852及び信頼範囲804に基づいてADVの到達可能な信頼位置の範囲を推定することができる。このような信頼数値804と854の範囲は、大量の運転統計(例えば、複数の人間の運転者により複数種の車両を利用する)に基づいてデータ解析システムによりオフラインで決定されたり訓練されたりすることができる。
【0052】
一実施形態では、指令推定テーブル850は、1)指令推定テーブル、及び2)信頼推定テーブルという二つのテーブルの形式で実現されることができる。当該構成において、指令推定テーブルは列851〜853を含み、信頼推定テーブルは列852〜854を含む。したがって、指令推定テーブルは、具体的な車両速度851と移動角852とをステアリング制御指令853にマッピングする。ステアリング制御指令が一旦推定されたと、信頼推定テーブルは、移動角852と推定されたステアリング制御指令853とに基づいて信頼範囲854の推定に用いられることができる。
【0053】
図7を再び参考し、704において、制御モジュール305は信頼位置を計画モジュール304に伝送する。705において、信頼位置に応答し、計画モジュール304は信頼位置の範囲がADVに関連する安全領域内に入るか否かを判断する。代わりに、制御モジュール305は信頼範囲を計画モジュール304に簡単に伝送することができ、且つ計画モジュール304は信頼位置の範囲を決定することができる。一実施形態では、安全領域は、ある時点でADVの周囲の運転環境を感知した感知データに基づいて動的に決定されるものである。言い換えれば、計画モジュール304は、ADVが到達可能な位置の範囲を考慮し、ADVが安全領域外の目標(例えば、他の車両、歩行者、障害物)と潜在的に衝突するか否かを判断する。706において、計画モジュール304は応答又は信号を制御モジュール305に伝送する。当該応答又は信号は、推定された制御指令が安全であるかを示す。信号が推定された指令が安全であると示すと、707において、制御モジュール305は推定された制御指令を車両プラットフォーム710に与える。
【0054】
安全信号に基づいて推定された制御指令が不安全であると判断された場合、制御モジュール305は推定された制御指令を調整し(例えば、差分値を増加したり減少したりする)、及び推定された指令が安全になるか、或いは繰り返しの回数が予め設置された閾値に達するまで、702〜706が調整された推定指令に対して繰り返して実行されることができる。繰り返しの回数が予め設置された閾値に到達し、且つ適切又は安全な推定された制御指令が存在していないと、制御モジュール305は通常の方式、即ち計画型の方式に戻ることができる。計画型の方式において、制御モジュールはルール(例えば地図及び路線情報311及び/又は運転/交通ルール312)のセットに応じて701を介して計画モジュール304から受信される目標情報に基づいて制御指令を生成する。このような方式において、制御モジュール305は、できるだけ計画モジュール304により計画される路線又は経路を合わせるようにADVを制御しようと試みる。
【0055】
図9は、本発明の一実施形態にかかる自動運転車両をするための手順を示すフローチャートである。手順900は、ソフトウェア、ハードウェア又はそれらの組み合わせを含む処理ロジックにより実行されてもよい。例えば、手順900は、計画モジュール304及び/又は制御モジュール305により実行されてもよい。図9を参考し、901において、処理ロジックはADVの目標位置と目標位置まで必要な時間に応答し、ADVの現在速度と現在位置に応じて目標位置に基いて制御指令を推定する。一実施形態では、処理ロジックは現在速度及び速度又はステアリング角の加速度に基いて指令推定テーブルにおいて検索を行うことにより、推定された制御指令(例えば、速度制御指令又はステアリング制御指令)を取得する。
【0056】
902において、処理ロジックは、ADVの到達可能な目標位置に関連する信頼位置の範囲を決定する。信頼位置の範囲は、係わる推定された制御指令に対応するように配置される。903において、処理ロジックは、信頼位置の範囲が目標位置に関する安全領域内にあるか否かを判断する。安全領域は、ある時点でADVの周囲の運転環境を感知した感知データに基いて決定されてもよい。信頼位置の範囲が安全領域内に入ると判断された場合、904において、推定された制御指令がADVに与えられる。さもなければ、905において、推定された制御指令を調整して新たに推定される指令を生成し、且つ信頼位置の範囲が安全領域内に入るか、又は繰り返しの回数が予め設置された閾値に達するまで、前記の手順が繰り返して実行される。
【0057】
注意すべきなのは、前記の示されたとともに記述された一部または全部の構成要素は、ソフトウェア、ハードウェアまたはその組み合わせで実現されることができる。例えば、このような構成要素は、永続記憶装置にインストールされるとともに記憶されたソフトウェアとして実現されてもよく、前記ソフトウェアは、本出願にわたって記載の手順または動作を実施するように、プロセッサ(図示せず)でメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば特定用途向けICまたはASIC)、デジタル信号プロセッサ(DSP)、またはフィールドプログラマブルゲートアレイ(FPGA)にプログラミングされまたは嵌め込みされた専用ハードウェアにおける実行可能なコードとして実現されてもよく、前記実行可能なコードは、対応するドライバープログラム及び/またはオペレーティングシステムによってアプリケーションからアクセスされてもよい。なお、このような構成要素は、プロセッサまたはプロセッサコアにおける特定のハードウェアロジックとして実現されてもよく、ソフトウェア構成要素が一つ以上の特定コマンドによってアクセス可能なコマンドセットの一部とする。
【0058】
図10は、本発明の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム1500は、上記プロセスまたは方法のいずれかを実行する上記任意のデータ処理システム(例えば、図2の感知及び計画システム110、及びサーバ103〜104のいずれか)を示してもよい。システム1500は、多数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、分散型電子装置または回路基板に適用された他のモジュール(例えばコンピュータシステムのマザーボードまたはアドインカード)、または他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることできる。
【0059】
さらに、システム1500は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合もあることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント(PDA)、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータまたはハブ、無線アクセスポイント(AP)またはリピーター、セットトップボックス、またはそれらの組合せを示してもよい。また、単一の機器またはシステムのみを示したが、用語「機器」または「システム」は、さらに、独立または共同で一つ(または複数)のコマンドセットを実行することにより本明細書に説明される任意の1種または複数種の方法を実行する機器またはシステムの任意のセットを含むことを理解すべきである。
【0060】
一実施形態では、システム1500は、バスまたは相互接続部材1510によって接続されたプロセッサ1501、メモリ1503及び装置1505〜1508を備える。プロセッサ1501は、単一のプロセッサコアまたは複数のプロセッサコアを含む単一のプロセッサまたは複数のプロセッサを示してもよい。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)等のような一つまたは複数の汎用プロセッサであってもよい。より具体的には、プロセッサ1501は、複雑コマンドセット計算(CISC)マイクロプロセッサ、縮小コマンドセットコンピュータ(RISC)マイクロプロセッサ、超長コマンド語(VLIW)マイクロプロセッサ、または他のコマンドセットを実現するプロセッサ、またはコマンドセットの組合せを実現するプロセッサであってもよい。プロセッサ1501は、さらに、専用集積回路(ASIC)、セルラまたはベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、グラフィックプロセッサ、ネットワークプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような一つまたは複数の専用プロセッサ、あるいはコマンド処理可能な任意の他のタイプのロジックであってもよい。
【0061】
プロセッサ1501(超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい)は、前記システムの各種構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、コマンドを実行することにより本明細書に説明される動作及びステップを実行するためのコマンドを実行するように構成される。また、システム1500は、選択可能なグラフィックサブシステム1504と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ及び/または表示装置をさらに備えてもよい。
【0062】
プロセッサ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(登録商標)または他のリアルタイムまたは組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【0063】
システム1500は、I/O装置、例えば装置1505〜1508をさらに備えてもよく、ネットワークインターフェース装置1505、選択可能な入力装置1506及び他の選択可能なI/O装置1507を備える。ネットワークインターフェース装置1505は、無線送受信機及び/またはネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、WiFi送受信機、赤外送受信機、ブルートゥース送受信機、WiMax送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)または他の無線周波数(RF)送受信機またはそれらの組合せであってもよい。NICはイーサネット(登録商標)カードであってもよい。
【0064】
入力装置1506は、マウス、タッチパッド、タッチスクリーン(それは表示装置1504と集積されてもよい)、ポインタデバイス(例えばスタイラス)及び/またはキーボード(例えば、物理キーボードまたはタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力装置1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術(容量、抵抗、赤外及び表面音波の技術を含むが、それらに限定されない)のいずれか、及びタッチスクリーンの一つまたは複数の接触点を決定するための他の近接センサアレイまたは他の素子を用いてそのタッチ点及び移動または断続を検出することができる。
【0065】
I/O装置1507は音声装置を備えてもよい。音声装置は、スピーカ及び/またはマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び/または電話機能のような音声サポートの機能を促進する。他のI/O装置1507は、汎用シリアルバス(USB)ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ)またはそれらの組合せをさらに備えてもよい。装置1507は、結像処理サブシステム(例えば、カメラ)をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能(例えば、写真及びビデオ断片の記録)を促進するための電荷カップリング装置(CCD)または相補型金属酸化物半導体(CMOS)光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ(図示せず)によって相互接続部材1510に接続されてもよく、キーボードまたは熱センサのような他の装置は、組み込みコントローラ(図示せず)により制御されてもよく、これはシステム1500の特定配置または設計により決められる。
【0066】
データ、アプリケーション、一つまたは複数のオペレーティングシステム等のような情報の永久記憶を提供するために、大容量記憶装置(図示せず)は、プロセッサ1501に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現し且つシステムの応答能力を向上させるために、このような大容量記憶装置は、ソリッドステート装置(SSD)によって実現されることができる。なお、他の実施形態において、大容量記憶装置は、主にハードディスクドライブ(HDD)で実現されてもよく、容量が小さいSSD記憶装置は、SSDキャッシュとして停電イベント期間にコンテキスト状態及び他のこのような情報の永久記憶を実現し、それによりシステム動作が再開するときに通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース(SPI)によってプロセッサ1501に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのBIOS及び他のファームウェアを備える。
【0067】
記憶装置1508は、任意の1種または複数種の本明細書に記載の方法または機能を体現する一つまたは複数のコマンドセットまたはソフトウェア(例えば、モジュール、ユニット及び/またはロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体またはコンピュータ可読媒体とも呼ばれる)を備えてもよい。モジュール/ユニット/ロジック1528は、計画モジュール304及び/または制御モジュール305のような上記構成要素のいずれかを示してもよい。モジュール/ユニット/ロジック1528は、さらにデータ処理システム1500により実行される期間にメモリ1503内及び/またはプロセッサ1501内に完全または少なくとも部分的に存在してもよく、ここで、メモリ1503及びプロセッサ1501も、機器アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらにネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
【0068】
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶してもよい。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記一つまたは複数のコマンドセットが記憶される単一の媒体または複数の媒体(例えば、集中型または分散型データベース、及び/または関連するキャッシュ及びサーバ)を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらにコマンドセットを記憶またはコーディング可能な任意の媒体を備えることを理解すべきであり、前記コマンドセットは、機器により実行され且つ前記機器に本出願の任意の1種または複数種の方法を実行させる。したがって、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体または任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【0069】
本明細書に記載のモジュール/ユニット/ロジック1528、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、またはハードウェア構成要素(例えばASICS、FPGA、DSPまたは類似装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置内のファームウェアまたは機能回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置及びソフトウェア構成要素の任意の組合せで実現されてもよい。
【0070】
なお、システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素の相互接続のいかなる特定のアーキテクチャーまたは方式を示すものではないことに注意すべきであり、それは、このような詳細が本出願の実施形態に密接な関係がないためである。また、より少ない構成要素またはより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び/または他のデータ処理システムは、本出願の実施形態と共に使用されてもよい。
【0071】
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列(sequence of operations)と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
【0072】
ただし、これらの全て及び類似の用語は、いずれも適切な物理量に関連付けられ、且つただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語(例えば、添付している特許請求の範囲に説明された用語)による説明とは、コンピュータシステムまたは類似の電子計算装置の動作及び処理であり、前記コンピュータシステムまたは電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理(例えば、電子)量としてデータを示し、且つ前記データをコンピュータシステムメモリまたはレジスタまたは他のこのような情報記憶装置、伝送または表示装置内において類似に物理量として示される他のデータに変換する。
【0073】
本出願の実施形態は、さらに本明細書における動作を実行するための装置に関する。このようなコンピュータプログラムは、不揮発性のコンピュータ可読媒体に記憶される。機器可読媒体は、機器(例えば、コンピュータ)可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読(例えば、コンピュータ可読)媒体は、機器(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ)を備える。
【0074】
上記図面に示される手順または方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、不揮発性のコンピュータ可読媒体に具現化される)、または両方の組合せを含む処理ロジックにより実行されてもよい。前記手順または方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
【0075】
本出願の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本出願の実施形態の教示を実現できることを理解すべきである。
【0076】
以上の明細書では、本出願の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本出願のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。したがって、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
図1A
図1B
図2
図3
図4
図5A
図5B
図6A
図6B
図7
図8A
図8B
図9
図10