(58)【調査した分野】(Int.Cl.,DB名)
前記取得モジュールは、前記位置データを収集するための命令を含み、該命令は、前記報告ビークルが前記道路セグメント上を移動して前記取得モジュールを含むリモート装置に前記位置データを伝達するのに伴って、前記位置データを前記電子データストア内において集計するための命令を含み、
前記取得モジュールは、前記位置データを収集するための命令を含み、該命令は、前記報告ビークルの個々のものの前記位置データ及び場所の個々の部分を含む複数の通信として、前記位置データを前記リモート装置内において受け取るための命令を含む、
請求項1に記載のレーン妨害物システム。
前記妨害物モジュールは、前記位置データを分析するための命令を含み、該命令は、前記位置データ内に表された異なるビークルに跨る相関であって、異なるタイプのレーン妨害物を示す妨害物パターンとの相関を識別するための命令を含み、
前記位置データは、前記周囲のビークルの前記報告ビークルに対する前記道路セグメント内の位置、前記報告ビークルのGPS場所、並びに、前記周囲のビークル及び前記報告ビークルの速度のうちの1つ又は複数を含む、
請求項1に記載のレーン妨害物システム。
前記妨害物モジュールは、前記位置データが前記レーン妨害物を示していると判定するための命令を含み、該命令は、閾値数のビークルの経路に対応する前記位置データ内の妨害物パターンを識別するための命令を含む、請求項1に記載のレーン妨害物システム。
前記妨害物パターンは、1つのレーンを遮断する妨害物、複数のレーンを遮断する妨害物、レーンの一部分を遮断する妨害物、及びレーン内のビークルによる制動をもたらす妨害物を表す複数の妨害物パターンのうちの1つである、請求項1に記載のレーン妨害物システム。
レーン妨害物を識別するための非一時的コンピュータ可読媒体であって、命令を含み、前記命令は、1つ又は複数のプロセッサによって実行された際に、前記1つ又は複数のプロセッサが、
報告ビークルによって提供されるセンサデータから、前記報告ビークルによって観察された周囲のビークルに関する位置を示す位置データを生成し、
電子データストア内において、道路セグメント上を移動する前記報告ビークルによって観察された前記周囲のビークルに関する前記位置データを収集し、
前記周囲のビークルの観察された位置が、前記道路セグメントの少なくとも1つのレーン内のレーン妨害物を示す妨害物パターンと相関しているかどうかを識別するべく、前記位置データを分析し、
前記位置データが前記レーン妨害物を示しているという判定に応答して、前記レーン妨害物を識別する信号を前記道路セグメントの対向ビークルに提供する、
ようにする、非一時的コンピュータ可読媒体。
前記妨害物パターンは、1つのレーンを遮断する妨害物、複数のレーンを遮断する妨害物、レーンの一部分を遮断する妨害物、及びレーン内のビークルによる制動をもたらす妨害物を表す複数の妨害物パターンのうちの1つである、請求項9に記載の非一時的コンピュータ可読媒体。
前記位置データを収集することは、前記報告ビークルが前記道路セグメント上を移動して前記電子データストアを含むリモート装置に前記位置データを伝達するのに伴って、前記位置データを前記電子データストア内において集計することを含み、
前記位置データを収集することは、前記報告ビークルの個々のものの前記位置データ及び場所の個々の部分を含む複数の通信として、前記位置データを前記リモート装置内において受け取ることを含む、
請求項14に記載の方法。
前記位置データを分析することは、前記位置データ内に表された異なるビークルに跨る相関であって、異なるタイプのレーン妨害物を示す妨害物パターンとの相関を識別することを含み、
前記位置データは、前記周囲のビークルの前記報告ビークルに対する前記道路セグメント内の位置、前記報告ビークルのGPS場所、並びに、前記周囲のビークル及び前記報告ビークルの速度のうちの1つ又は複数を含む、
請求項14に記載の方法。
【発明を実施するための形態】
【0021】
詳細な説明
道路セグメントに沿った報告ビークルを取り囲むビークルの観察の集計を通じたレーン妨害物の識別の改善と関連するシステム、方法、及びその他の実施形態が開示されている。レーン妨害物の直接的な観察及び手動的な報告は、一般に、交通フローを妨げうる危険の十分な識別を提供することに失敗していることから、この開示されているレーン妨害物システムは、レーン妨害物検出を全体的に改善するべく、検出プロセスにおいて取得及び使用される情報において拡張されている。従って、一実施形態において、開示されているシステムは、道路セグメントに沿った交通運動に関する情報を収集するべく、報告ビークルのネットワークを活用している。例えば、本開示において提供されている、報告ビークルは、報告ビークルの場所及び運動のみならず、報告ビークルによって識別された周囲のビークルに関する位置データ(例えば、相対的な場所及び運動)に関する情報をも提供している。
【0022】
即ち、一方式において、報告ビークルが道路セグメントに沿って移動するのに伴って、報告ビークルは、一般に、例えば、GPS又はその他の場所判定センサ/方式(例えば、特徴に基づいた位置特定)によって識別されるように、道路セグメント上の場所を認識している。報告ビークルは、例えば、周囲のビークルを識別するべく、且つ、周囲のビークルの位置を観察するべく、オンボードシステム(例えば、自律型又は半自律型システム)を更に活用している。この結果、報告ビークルは、報告ビークル自体に関する単独の情報のみを提供する代わりに、道路セグメント内の複数の別個のビークルの場所について報告している。従って、報告ビークルは、道路セグメント上の交通パターンの相対的に十分な観点を提供するべく、且つ、レーン妨害物を識別するべく試みる際の交通に関する知識を改善するべく、周囲のビークルに関する位置データと共に、報告ビークルに関する位置データを提供している。
【0023】
この結果、報告ビークルが道路セグメントに沿って移動するのに伴って、報告ビークルは、ビークルに関する位置データをクラウドコンピューティングシステムなどの集計場所(例えば、レーン妨害物システム)に伝達している。次いで、記述されているシステムは、その内部において実施されたパターンであって1つ又は複数のレーン内の妨害物について示すパターンを識別するべく、集計された情報を分析している。即ち、ビークルは、一般に、減速し、方向転換し、且つ、その他の方法でレーン妨害物を回避するような方式によって運転していることから、このような妨害物は、一般に、時間に伴ってビークル位置において、且つ、特に、同一の道路セグメントに沿って類似の経路を示す別個のビークルの間において、観察可能である。
【0024】
従って、道路セグメント上の報告ビークル及び関連する周囲のビークルのサンプリングにおける位置データを分析することにより、システムがレーン妨害物の存在に関する正確な推測を導出する、所定量の情報が得られる。この識別情報から、レーン妨害物システムは、一態様において、警告を対向ビークルに伝達し、これにより、レーン妨害物から結果的にもたらされる潜在的な危険及び不規則な交通フローに関する対向ビークルの認識を改善している。この結果、開示されているレーン妨害物システムは、レーン内の妨害物の存在を推定するべく、且つ、これにより、レーン妨害物の検出を改善するべく、多くの異なるビークルからの、且つ、これらに関する、観察を活用している。このレーン妨害物を検出するための改善された能力は、危険の回避と、危険の周りの交通フローと、を改善することにより、ビークル自体の機能における二次的な改善を提供している。
【0025】
図1を参照すれば、ビークル100の一例が示されている。本開示において使用されている「ビークル」は、動力を有する搬送手段の任意の形態である。1つ又は複数の実装形態において、ビークル100は、自動車である。本開示においては、構成が、自動車との関係において記述されているが、実施形態は、自動車に限定されるものではないことを理解されたい。いくつかの実装形態において、ビークル100は、例えば、周囲の環境の外観を知覚するためのセンサを含む、且つ、従って、レーン妨害物の識別に対する本開示において記述されている機能から利益を得る、任意のロボット装置又は動力を有する搬送手段の形態であってよい。更なる留意点として、本開示は、一般に、ビークル100自体と類似の方式において解釈されるように意図された、周囲のビークルと共に道路上を移動するものとして、ビークル100を説明している。即ち、周囲のビークルは、ビークル100が道路上において遭遇しうる任意のビークルを含みうる。
【0026】
これに加えて、開示は、複数のレーンを含む道路上を移動するものとして、ビークル100を更に説明している。但し、本方式は、様々な構成(例えば、単一方向に移動する2つ、3つ、4つ、又はこれ以上の数のレーン)の道路に適用することもできる。一般に、本開示において提供されている方式は、道路に沿って同一の方向に移動する周囲のビークルを観察する報告ビークル(例えば、ビークル100)を特徴としている。いくつかの例において、レーン妨害物システム170は、ビークル100と共に道路セグメント(例えば、平行なサービス道路など)に沿って移動してはいないビークルの観察と関連するレーン妨害物に関する推測を提供しうるが、このような構成は、一般に、開示されているシステム及び方法の変形に含まれるものと理解されており、且つ、従って、本開示における詳細な説明は省略される。
【0027】
又、ビークル100は、様々な要素を含む。様々な実施形態において、ビークル100が
図1に示されている要素のすべてを有することは、必要とされえないことを理解されたい。ビークル100は、
図1に示されている様々な要素の任意の組合せを有することができる。更には、ビークル100は、
図1に示されているものに加えて、更なる要素を有することができる。いくつかの構成において、ビークル100は、
図1に示されている要素のうちの1つ又は複数を有することなしに、実装することができる。様々な要素が、
図1のビークル内において配置されるものとして示されているが、これらの要素のうちの1つ又は複数は、ビークル100の外に配置されうることを理解されたい。更には、図示の要素は、大きな距離だけ、物理的に離隔することもできる。例えば、記述されているように、開示されているシステムの1つ又は複数のコンポーネントが、ビークル内において実装される一方で、システムの更なるコンポーネントは、クラウドコンピューティング環境内において実装されている。
【0028】
図1には、ビークル100の可能な要素のうちのいくつかが示されており、後続の図と共に、これらについて説明することとする。但し、
図1の要素のうちの多くのものの説明は、この説明の簡潔性を目的として、
図2〜
図8を説明した後に、提供することとする。これに加えて、図示の簡潔性及び明瞭性を目的として、適宜、対応する又は類似した要素を示すべく、参照符号が異なる図の間において反復されていることをも理解されたい。これに加えて、本説明は、本開示において記述されている実施形態の十分な理解を提供するべく、多数の具体的な詳細を概説している。但し、当業者は、本開示において記述されている実施形態が、これらの要素の様々な組合せを使用することにより、実施されうることを理解するであろう。いずれのケースにおいても、ビークル100は、レーン妨害物検出の改善に関係する本開示において開示されている方法及びその他の機能を実行するべく実装されたレーン妨害物システム170を含む。以下において更に詳細に記述するように、レーン妨害物システム170は、いくつかの実施形態において、ビークル100内において、且つ、クラウドに基づいたサービスとして、部分的に実装されている。例えば、1つの方式においては、レーン妨害物システム170の少なくとも1つのモジュールと関連する機能が、ビークル100内において実装されている一方で、更なる機能は、クラウドに基づいたコンピューティングシステム内において実装されている。
【0029】
図2を参照すれば、
図1の妨害物システム170の一実施形態が更に示されている。妨害物システム170は、
図1のビークル100からのプロセッサ110を含むものとして示される。従って、プロセッサ110は、レーン妨害物システム170の一部分であってもよく、レーン妨害物システム170は、ビークル100のプロセッサ110とは別個のプロセッサを含んでいてもよく、或いは、レーン妨害物システム170は、データバス又は別の通信経路を通じてプロセッサ110にアクセスすることもできる。一実施形態において、妨害物システム170は、取得モジュール220及び妨害物モジュール230を保存するメモリ210を含む。メモリ210は、ランダムアクセスメモリ(RAM:Random−Access Memory)、読み出し専用メモリ(ROM:Read−Only Memory)、ハードディスクドライブ、フラッシュメモリ、又は、モジュール220及び230を保存するその他の適切なメモリである。モジュール220及び230は、例えば、プロセッサ110によって実行された際に、プロセッサ110が、本開示において開示されている様々な機能を実行するようにするコンピュータ可読命令である。
【0030】
図2に示されているレーン妨害物システム170は、一般に、ビークル100及びクラウドコンピューティング環境の間において実装されうる、レーン妨害物システム170の抽象化された形態である。
図3は、レーン妨害物システム170と共に実装されうるクラウドコンピューティング環境300の一例を示している。
図3に示されているように、レーン妨害物システム170は、部分的に、クラウドコンピューティング環境300内において、且つ、個々のビークル310、320、及び330内においても、実施されている。即ち、ビークル310、320、及び330が、それぞれ、取得モジュール220又は少なくともその一部分を含んでいる一方で、クラウドコンピューティング環境300は、取得モジュール220及び妨害物モジュール230又はこれらの少なくとも関係する部分を含んでいる。従って、取得モジュール220は、観察を含む電子データの処理を提供するべく、一般に、システム170の両方の態様内において実装されている。
【0031】
更には、ビークル310、320、及び330は、一般に、周囲のビークルの観察を実行するためのセンサを装備した報告ビークルをも表している。即ち、ビークル310、320、及び330は、例えば、周囲のビークルの相対的な場所がセンサデータから生成されうるように、周囲の環境内のその他のビークルを知覚する能力を有するセンサを含む、ビークルの、自律的な、半自律的な、又は別の、構成である。これに加えて、3つのビークルが示されているが、一般的な事項として、ビークルの数は、制限されておらず、その代わりに、記述されている方式で装備された、且つ、場所及び周囲のビークルに関するレポートを提供する、任意の数のビークルを含むことを理解されたい。
【0032】
図2を参照すれば、取得モジュール220は、一般に、ビークル100の1つ又は複数のセンサからデータ入力を受け取るべく、プロセッサ110を制御するように機能する命令を含む。入力は、一実施形態においては、ビークル100の近傍の環境内の1つ又は複数の物体及び/又は周囲に関するその他の態様の観察である。本開示において提供されているように、取得モジュール220は、一実施形態において、少なくともカメラ画像を含むセンサデータ250を取得している。更なる構成において、取得モジュール220は、ビークル及びビークルの場所を識別するべく適しうるように、レーダー123、LiDAR124、及びその他のセンサなどの、更なるセンサからセンサデータ250を取得している。
【0033】
従って、取得モジュール220は、一実施形態において、センサデータ250の形態においてデータ入力を提供するべく、個々のセンサを制御している。これに加えて、取得モジュール220は、センサデータ250を提供するべく様々なセンサを制御するものとして説明されている一方で、1つ又は複数の実施形態において、取得モジュール220は、能動的又は受動的である、センサデータ250を取得するためのその他の技法を利用することもできる。例えば、取得モジュール220は、ビークル100内の更なるコンポーネントへの、様々なセンサによって提供された電子情報のストリームからのセンサデータ250を受動的に傍受することができる。更には、取得モジュール220は、センサデータ250及び/又は周囲のビークルの1つ又は複数から無線通信リンク(例えば、v2v)上において取得されたセンサデータを提供する際に、複数のセンサデータからのデータを融合するべく、様々な方式を実施することができる。従って、センサデータ250は、一実施形態において、複数のセンサから取得された計測の組合せを表している。
【0034】
周囲のビークルの場所に加えて、センサデータ250は、例えば、レーンマーキングなどに関する情報を含むこともできる。更には、取得モジュール220は、一実施形態において、周囲の環境の広範な評価を提供するべく、ビークル100の周りの360度を包含するエリアに関するセンサデータ250を取得するようにセンサを制御している。当然のことながら、代替実施形態において、取得モジュール220は、例えば、ビークル100が、ビークルに関する更なる領域を含むべく更なるセンサを装備しておらず、且つ/又は、更なる領域が、その他の理由から、スキャニングされない(例えば、既知の現時点の状態に起因して不要である)、際には、前方方向に関するセンサデータのみを取得することができる。
【0035】
更には、一実施形態において、レーン妨害物システム170は、データベース240を含む。データベース240は、一実施形態において、メモリ210又は別のデータストア内において保存された、且つ、保存されたデータの分析、保存されたデータの提供、保存されたデータの組織化、などを実行するべくプロセッサ110によって実行されうる、ルーチンを有するように構成された電子データ構造である。従って、一実施形態において、データベース240は、様々な機能を実行する際にモジュール220及び230によって使用されるデータを保存している。一実施形態において、デーベース240は、例えば、センサデータ250の様々な態様を特徴付けるメタデータと共に、センサデータ250を含んでいる。例えば、メタデータは、別個のセンサデータ250が生成された際などからの、場所座標(例えば、緯度及び経度)、相対マップ座標、又はタイル識別子、時刻/日付スランプを含みうる。一実施形態において、データベース240は、取得モジュール220によって生成された位置データ260を更に含む。データベース240が、クラウドコンピューティング環境の一部分として実装されている、実施形態においては、位置データ260は、複数の別個の報告ビークルから集計されたデータを含む。
【0036】
更なる説明として、センサデータ250は、3Dポイントクラウドデータ、カメラ126からのカメラ画像及び/又はビデオ、レーダー計測などを含みうる。更なる実施形態において、センサデータ250は、本開示において記述されているプロセスを支援する様々なタスク(例えば、モーションブラー補正)を実行するべく使用されうる更なるセンサ(例えば、IMU)からの情報を含む。
【0037】
取得モジュール220は、一実施形態において、センサデータ250を取得及び提供するべく個々のセンサを制御することを上回る、更なるタスクを実行するように、更に構成されている。例えば、取得モジュール220は、まず、周囲の環境(例えば、バックグラウンドや道路など)から周囲のビークルを弁別するべく、センサデータ250を分析している。様々な方式において、取得モジュール220は、周囲のビークルを識別するべく、異なる物体認識技法を利用している。周囲のビークルを識別するべく利用される具体的な技法は、ビークル100内の利用可能なセンサ、ビークル100の演算能力(例えば、プロセッサパワー)、などに依存しうる。
【0038】
1つの方式において、取得モジュール220は、周囲のビークルが識別及び抽出されるセンダデータ250に対して、セマンティックセグメント化を実行するべく、畳込みニューラルネットワーク(CNN)などの、取得モジュール220内において埋め込まれた機械学習アルゴリズムを使用している。当然のことながら、更なる態様において、取得モジュール220は、セマンティックセグメント化を実行するべく、異なる機械学習アルゴリズムを利用してもよく、或いは、セマンティックセグメント化を実行するための異なる方式を実装しており、これは、深層畳込みエンコーダ−デコーダアーキテクチャ、拡張型の畳込みを使用するマルチスケールコンテキスト集計方式、或いは、画像内において表された別個のオブジェクトクラス用のセマンティックラベルを生成する別の適切な方式を含みうる。いずれの特定の方式を取得モジュール220が実装するにしても、取得システム220は、センサデータ250内において表されている物体を識別するセマンティックラベルを有する出力を提供している。この結果、レーン妨害物システム170は、物体を弁別し、且つ、物体の間の境界を弁別している。
【0039】
これに加えて、取得モジュール220は、一般に、センサデータ250から周囲のビークルの位置に関する計測値を取得するべく、周囲のビークルを識別する能力を有する。従って、例として、取得モジュール220は、一方式において、まず、センサデータ250を取得し、複数のセンサからのセンサデータ250を融合し(即ち、情報を登録し且つ組み合わせ)、センサデータ250内において周囲のビークルを識別し、且つ、次いで、例えば、センサデータ250内において実施された計測に従って、周囲のビークルと関連する相対位置を判定している。
【0040】
取得モジュール220は、例えば、報告ビークル100の中心位置との関係における周囲のビークルのそれぞれのもののセンサデータ250を分析することにより、計測値を判定している。即ち、一方式において、取得モジュール220は、ビークル100の重心から周囲のビークルまでを計測している。或いは、この代わりに、取得モジュール220は、報告ビークル100が移動しているレーンの中心点、報告ビークル100の前方エッジの中心点、制御センサの場所、又は報告ビークル100の別の定義された地点から計測している。別のケースにおいて、取得モジュール220は、計測の間の一貫性を維持するべく、複数の地点を一緒に単一の基準地点に平行運動させるように、或いは、記述された地点のうちの単一のものを一般的に使用するように、機能している。
【0041】
報告ビークル100によって計測されている周囲のビークル上の1つの地点は、特定の実装形態に従って変化しうる。一方式において、取得モジュール220は、個々の周囲のビークルの重心まで計測しており、これは、周囲のビークルの識別情報に従って導出/評価することができる。或いは、この代わりに、取得モジュール220は、周囲のビークルの計測地点を定義するべく、周囲のビークル上の最も近接した地点を識別することができると共に、これに関係する相対的な横方向の中心点を判定することができる。この結果、取得モジュール220は、一貫性のある計測値を提供するべく、周囲のビークルの様々な検出位置(例えば、前方のもの、隣接するもの、後方のもの)に対して調節することができる。
【0042】
これに加えて、更なる態様において、取得モジュール220は、ビークル100が移動している道路セグメント内のレーンを識別するためにも、センサデータ250を処理している。例えば、取得モジュール220は、周囲のビークルを識別するべく利用されているものと類似した技法を使用することができる。更なる態様において、取得モジュール220は、レーン境界を識別するべく、場所の高精細マップを使用している。更なる態様において、取得モジュール220は、ビークル110との関係においてレーン境界を判定するべく、マップとオンボードカメラを介した画像認識の組合せを使用している。更なる態様において、取得モジュール220は、一実施形態において、レーン境界を判定するべく統合されたレーン維持機能又は自律型運転機能によって提供されうるように、既存のレーン識別機能を使用している。いずれのケースにおいても、取得モジュール220は、ビークル100との関係においてレーン境界を識別するべく機能することができる。
【0043】
更には、上述のように、取得モジュール220は、一実施形態において、識別された周囲のビークルに関するセンサデータ250からの計測値を位置データ250として提供している。計測値は、一実施形態において、報告ビークル100の計測地点との関係における距離及び方向の量である。従って、計測値は、距離及び方向、ライン量(例えば、2Dプレーン上の2つのエンドポイントなど)の形態、或いは、別の適切な形態、を有するものであってよい。一態様において、計測値は、固有の周囲のビークルと関連する計測の履歴を維持するデータ構造内において提供されている。従って、取得モジュール220は、例えば、計測のタイムスタンプ、計測と関連する周囲のビークルの一意の識別子、位置、及び位置変動を保存するデータ構造として個々の計測値を提供している。位置の正確な形態は、実装形態に従って変化しうる。例えば、位置は、上述のように、ビークル100の計測地点との関係における道路のプレーン内の相対的な2D位置として提供することができる。或いは、この代わりに、取得モジュール220は、ビークル100の既知のGPS座標との関係におけるGPS座標として位置を生成することもできる。
【0044】
いずれのケースにおいても、取得モジュール220は、それぞれの周囲のビークルごとの位置の履歴として、計測値をデータ構造内において一緒に保存している。取得モジュール220は、ビークル100からの相対距離ウィンドウ上における計測の履歴として、周囲のビークルを追跡することができる。即ち、例えば、取得モジュール220は、まず、報告ビークル100の前又は後ろの100メートルの距離における、且つ、全般的に報告ビークル100と同一の方向に移動している、周囲のビークルを取得することができる。従って、周囲のビークルが、この追跡ウィンドウから外れた際に、周囲のビークルの計測値は、履歴から除去されてもよく、記録されてもよく、或いは、さもなければ、潜在的な道路の危険を識別するための追跡の文脈において、もはや考慮されなくてもよい。+/−100mという追跡ウィンドウが記述されているが、レーン妨害物システム170によって実装される特定の追跡ウィンドウは、センサの忠実度及び/又はその他の制御要因に従って変化しうることを理解されたい。
【0045】
周囲のビークルを識別し且つ見出すことに対する異なる方式が実施されうるが、取得モジュール220は、例えば、位置データ260として提供される周囲のビークルの観察を生成するべく、センサデータ250を分析している。示されているように、位置データ260は、報告ビークル(例えば、ビークル100)との関係における周囲のビークルの相対的な位置を含む。更なる態様において、個々の周囲のビークルの位置データ260は、道路セグメントにおける、ビークルの経路/軌跡(例えば、所定の期間にわたる位置)における、或いは、別の適切な形態における、絶対場所を使用することにより、提供することができる。
【0046】
いずれのケースにおいても、取得モジュール220は、一般に、センサデータ250から周囲のビークルを識別するべく(例えば、物体の認識及び位置特定)、且つ、高度な観察を周囲のビークル及び関連する場所の識別情報の形態において提供するべく、ビークル100のコンピューティングリソース及び関連するセンサを活用している。更には、センサデータ250及びこれから導出された位置データ260は、ビークル100の場所をも含む。即ち、取得モジュール220は、一般に、GPSデータを通じてビークル100自体の場所を取得し、且つ/又は、特徴に基づいたマップ上における位置特定を通じて導出された場所を取得している。更なる一態様として、取得モジュール220は、レーン変更、レーン妨害物を示しうる速度の変化、並びに、レーン妨害物の識別に更に寄与しうる場所及び速度のその他の変動、と対応する別個の識別子を含むように、位置データ260を生成している。
【0047】
当然のことながら、一実施形態において、集計された位置データ260は、取得モジュール220の別個のインスタンスを含む別個のビークルから受け取られるのに伴って、クラウドに基づいたコンピューティングシステム(例えば、環境300)内において保存されている。更なる実施形態において、デーベース240及び/又はメモリ210は、妨害物が道路のレーン内に存在しているかどうかに関する間接的な判定/推測を生成するべく、周囲のビークルの位置を特徴付ける、統計又は学習モデルである、妨害物モデル270を保存している。様々な方式において、妨害物モデル270は、実装形態に関係する様々な態様に応じて、異なる形態を有することができる。
【0048】
一実施形態において、妨害物モジュール230は、一般に、妨害物モデル270に従って位置データ260を分析するべく、プロセッサ110又はクラウドコンピューティング環境300内のプロセッサの集合体を制御するように機能する命令を含む。妨害物モジュール230は、妨害物モデル270との組合せにおいて、機械学習ロジック、深層学習ロジック、ニューラルネットワークモデル、又は別の類似の方式などの、コンピューティングモデルを形成しうることを理解されたい。一実施形態において、妨害物モデル270は、観察が付与された場合に、レーン妨害物の条件付き予測を推定する、回帰モデルなどの、統計モデルである。従って、妨害物モデル270は、多項式回帰(例えば、最小加重多項式回帰)、最小二乗、又は別の、適切な方式であってよい。
【0049】
更には、代替構成において、妨害物モデル270は、隠れマルコフモデルなどの確率論的な方式である。いずれのケースにおいても、妨害物モジュール230は、ニューラルネットワークモデル又は別のモデルとして実装された際に、一実施形態において、入力として、集計された位置データ260を電子的に受け入れている。従って、妨害物モジュール230は、モデル270との協働状態において、例えば、単一電子値として、記述されている態様を特徴付ける電子的出力として、様々な判定/評価(例えば、レーン妨害物と相関する識別されたパターン)を生成している。更には、更なる態様において、システム170は、記述されているデータを収集することが可能であり、応答を記録することが可能であり、且つ、モデル270を後から更にトレーニングするべく、データ及び応答を使用することができる。
【0050】
更なる留意点として、妨害物モジュール230及びモデル270は、クラウドコンピューティング環境300内において実装される、或いは、更に一般的には、ビークル100とは別個である、ものとして記述されているが、1つ又は複数の方式においては、ビークル100内において実装することができることを理解されたい。このような一構成において、取得モジュール220は、例えば、ビークル−ビークル(V2V)通信又は別の適切な方式を使用することにより、位置データ260を集計することができる。
【0051】
いずれのケースにおいても、妨害物モジュール230は、一般に、集計された位置データ260が、レーン妨害物と相関するパターンを示している際に、レーン妨害物の存在を識別する電子信号を生成するように、構成されている。従って、妨害物モジュール230は、様々な結果が、レーン妨害物の識別との関係において発生するようにするべく、電子信号を使用することができる。一実施形態において、妨害物モジュール230は、電子信号に応答して、レーン妨害物に接近しているビークルを識別するべく、ビークル位置特定サービスに問い合わせている。例えば、OEM又はその他のプロバイダは、様々なサービスのためにビークルの場所の認識を維持するべく、ビークルを追跡することができる。従って、妨害物モジュール230は、位置特定サービスを介して、レーン妨害物に接近しているビークルを識別し、且つ、電子信号を関連するビークルに伝達している。一実施形態において、妨害物モジュール230は、レーン妨害物の存在について対向ビークルに警告するためのメカニズムとして、対向ビークルに伝達される電子信号を使用している。
【0052】
従って、電子信号によって実施される通信は、様々な方式において、レーン妨害物に関する様々な粒度のレベルを提供している。例えば、1つの方式において、通信は、レーン妨害物と関連する概略的なエリア(例えば、道路セグメント)を単に示している。更なる方式においては、妨害物モジュール230は、レーン妨害物と関連する道路セグメント内のレーンを示している一方で、更なる方式においては、妨害物モジュール230は、正確な場所(例えば、正確なGPS座標)を示している。いずれの方式が実施されるにしても、対向ビークルに対するレーン妨害物の識別は、一般に、対向ビークルが、レーン妨害物を回避するべく、なんらかの予防対策を実施するようにするべく、機能している。例えば、対向ビークルは、電子信号に応答して、運転者/乗員に警告する、ビークルのルートを変更する、速度を減速する、規定されたレーンを回避するべくルートを更新する、などのアクションを実行することができる。この結果、レーン妨害物システム170は、道路内の危険の検出を改善し、且つ、これにより、改善されたナビゲーション及びこのような危険の対向ビークルによる回避を提供している。
【0053】
図4との関係において、レーン妨害物を識別する更なる態様について説明することとする。
図4は、報告ビークルの、周囲のビークルに関する位置データの収集と関連する方法400のフローチャートを示している。方法400については、
図1、
図2、及び
図3のレーン妨害物システム170の観点において説明することとする。方法400は、レーン妨害物システム170との組合せにおいて記述されているが、方法400は、レーン妨害物システム170内における実装に限定されるものではなく、その代わりに、方法400を実装しうるシステムの一例である、ことを理解されたい。
【0054】
410において、取得モジュール220は、センサデータ250を取得するべく、センサシステム120を制御している。一実施形態において、取得モジュール220は、周囲の環境を観察するべく、ビークル100のレーダーセンサ123及びカメラ126を制御している。或いは、この代わりに、又はこれに加えて、取得モジュール220は、センサデータ250を取得するべく、カメラ126及びLiDAR124又は別のセンサの組を制御している。センサデータ250を取得するセンサを制御する一部分として、一般的に、センサは、それぞれの時間ステップごとに周囲の環境の広範なサンプリングを提供するべく、一般的にはオーバーラップしている異なるタイプのセンサから取得されたデータと共に、報告ビークル100の周りの領域のセンサデータ250を取得していることを理解されたい。一般に、センサデータ250は、周囲の環境内の正確に同一の境界を有する領域のものである必要はないが、エリアの別個の態様が相関されうるように、十分なオーバーラップのエリアを含むことを要する。従って、取得モジュール220は、一実施形態において、周囲の環境のセンサデータ250を取得するべく、センサを制御している。
【0055】
更には、更なる実施形態において、取得モジュール220は、連続的な反復又は時間ステップにおいてセンサデータ250を取得するべく、センサを制御している。従って、レーン妨害物システム170は、一実施形態において、センサデータ250を取得するべく、且つ、それから情報を提供するべく、ブロック410〜420において記述されている機能を反復的に実行している。更には、取得モジュール220は、一実施形態において、更新された知覚を維持するべく、別個の観察のために、記述されている機能の1つ又は複数を並行して実行している。これに加えて、上述のように、取得モジュール220は、複数のセンサからデータを取得した際に、センサデータ250を形成するべく、且つ、検出、位置特定などの改善された判定を提供するべく、データを1つに融合している。
【0056】
420において、取得モジュール220は、周囲のビークルの相対的な場所を含む、周囲のビークルを識別するためのセンサデータ250を分析している。一実施形態において、ビークル100内の取得モジュール220は、報告ビークルと共に道路セグメントを移動している周囲のビークルを検出するべく、センサデータ250を処理している。一実施形態において、取得モジュール220は、上述のように、1つ又は複数の周囲のビークルを検出/識別するべく、セマンティックセグメント化又は別の物体認識方式をセンサデータ250に対して適用している。本開示において開示されているシステム及び方法は、現時点の状態に応じて、単一の又は複数の周囲のビークルを検出するべく、記述されているタスクを実行していることを理解されたい。
【0057】
又、当然のことながら、取得モジュール220は、周囲のビークルに加えて、道路、建物、レーンマーキング、縁石、歩道、サイン、ポスト、樹木などの、更なる特徴を識別することもできる。この結果、レーン妨害物システム170は、周囲のビークルを抽出するべく、周囲の環境の外観同士間を線引している。更には、取得モジュール220は、一態様において、周囲の環境の異なる外観(例えば、レーンマーキング)を線引きするべく、その他のビークル、インフラストラクチャセンサ、高精細マップなどのような、1つ又は複数の更なるソースを更に利用している。
【0058】
430において、取得モジュール220は、検出された周囲のビークルの位置データを生成している。一実施形態において、取得モジュール220は、報告ビークル100との関係における周囲のビークルの相対的な位置として、位置データ260を生成している。相対的な位置は、一方式においては、報告ビークル100が移動しているレーンの中心点から、且つ、報告ビークル100のレーン内の経度の場所から、判定されている。更なる態様においては、相対的な位置は、報告ビークル100の重心又は別の適切な場所から、判定されている。いずれのケースにおいても、取得モジュール220は、一般に、周囲のビークルの横方向の幾何学中心までの計測値として、相対的な位置を判定している。従って、相対的な位置は、一般に、報告ビークル100がその中心において配置された状態において、2次元座標系内の位置に従って定義されている。従って、取得モジュール220は、報告ビークル100の絶対計測値(例えば、GPS座標)との関係における周囲のビークルの相対的な計測値の組として、位置データを提供することができる。代替方式においては、取得モジュール220は、周囲のビークル及び報告ビークル100の両方の絶対計測値を含むように、センサデータ250から位置データ260を生成している。いずれのケースにおいても、取得モジュール220は、時間に伴う道路セグメント内のビークルの場所及び位置の知識を促進するべく、ビークルの場所の報告として、位置データ260を生成している。
【0059】
従って、更なる方式においては、取得モジュール220は、周囲のビークル及び報告ビークル100のビークル軌道/経路として、位置データ260を維持している。一実施形態において、取得モジュール220は、個々のビークルが道路セグメントに沿って移動した経路を形成する観察の履歴を生成するべく、それぞれのビークルごとに、連続的な観察を一緒に追加している。取得モジュール220は、観察の間におけるビークルの追跡を促進する一意の識別子を別個のビークルと関連付けることができる。従って、示されているように、ビークル用の観察の履歴は、更新され、且つ、例えば、間欠的に報告されている。
【0060】
440において、取得モジュール220は、位置データ260を含む電子データ構造をリモート装置に伝達している。一実施形態において、取得モジュール220は、データ構造を妨害物モジュール230に対して電子的に送信している。上述のように、妨害物モジュール230は、クラウドコンピューティング環境、分散コンピューティング環境、リモートサーバー、又は別の適した構成内などのように、リモート場所において配置することができる。いずれのケースにおいても、報告ビークル100は、道路セグメント内における交通パターンに関するリアルタイム又はほぼリアルタイムの情報を伝達するべく、ビークルの場所に関する位置データ260を提供するように、機能している。従って、複数の報告ビークルが、同一の道路セグメント上を移動するのに伴って、道路セグメント上を移動しているビークルのサブセットのみの使用により、レーン及び可能なレーン妨害物の広範な理解をもたらすことができる。即ち、道路セグメントに関する情報を提供している報告ビークルは、道路セグメントを実際に通過するビークルの相対的に小さな割合を表しうるにも拘らず、報告ビークルが、その独自の場所に加えて、周囲のビークルを追跡していることから、集計された位置データ260は、道路セグメントを実際に通過するビークルの大部分を表すことができる。従って、報告ビークルは、道路セグメント上の交通パターンの広範なサンプリングを提供するべく、且つ、これにより、レーン妨害物を後から識別するための能力を改善するべく、集合的に機能している。
【0061】
レーン妨害物システム170が、レーン妨害物の識別を改善する方式の更なる説明として、
図5を検討しよう。方法500については、
図1、
図2、及び
図3のレーン妨害物システム170の観点から説明することとする。方法500は、レーン妨害物システム170との組合せにおいて記述されているが、方法500は、レーン妨害物システム170内における実装に限定されるものではなく、その代わりに、方法500を実装しうるシステムの一例である、ことを理解されたい。
【0062】
510において、取得モジュール220が位置データ260を収集している。一実施形態において、取得モジュール220は、複数の報告ビークルからの位置データ260を集計している。当然のことながら、報告ビークルは、一般に、地理的エリアに跨って異なる場所において配置されていることから、取得モジュール220は、一実施形態においては、到来する通信をそれと関連している道路セグメントに従って個々の電子データストア(例えば、ストレージバケット)内にフィルタリングしている。但し、この説明を目的として、通信及びそれから取得された関連する位置データ260は、単一の道路セグメントに関係するものとして、見なされている。従って、取得モジュール220は、特定の道路セグメントの位置データ260を取得している。一般に、道路セグメントは、予め定義された長さ、論理的な分割(例えば、都市ブロックの間のセグメント)、又は別の適したメトリックに従って、定義することができる。いずれのケースにおいても、道路セグメントは、一般に、特定の移動方向のレーンを含む、道路のセクションとして定義されている。即ち、同一ハイウェイの南行き及び北行きセクションは、本開示を目的としては、別個の道路セグメントとして定義することができる。更に一般的には、道路セグメントは、任意の妨害物が隣接するレーン内における移動に影響を及ぼしうる、道路のセクションである。
【0063】
いずれのケースにおいても、取得モジュール220は、例えば、道路セグメントに沿って好ましい経路の表現をキャプチャするために、道路セグメント上を通過するビークルの十分なサンプルを蓄積するべく、道路セグメントの位置データ260を取得している。更には、取得モジュール220は、一実施形態において、例えば、位置データ260(又は、位置データ260の最も古い部分)をアーカイブ内にシフトする前に、定義された期間にわたって位置データ260を集計している。従って、取得モジュール220は、その内部に含まれている情報が、正確である、或いは、道路セグメント上の現時点の状態を表している、と見なされる、存続しうる寿命を有するものとして、位置データ260の別個の部分を取り扱うことができる。位置データ260の存続しうる寿命は、特定の実装形態に従って変化しうると共に、時刻、交通フロー、特定の道路セグメントのスループットなどのような、様々なメトリックに従って変動しうる。いずれのケースにおいても、取得モジュール220は、道路セグメント上の交通パターンの表現を維持するべく、位置データ260を電子データストア内において保存している。
【0064】
520において、妨害物モジュール230は、観察された位置が、レーン妨害物を示す妨害物パターンと相関しているかどうかを識別するべく、位置データ260を分析している。一実施形態において、レーン妨害物は、ビークルの正常な通過が交通のフローによって妨害/邪魔される、道路の任意の異常な状態である。従って、レーン妨害物は、1つ又は複数のレーンを遮断する危険な物体、路面の窪みなどの道路内の状態、ビークルが減速するようにするがレーン内の移動を完全には遮断しない物体又は状態、などであってよい。
【0065】
従って、妨害物パターンは、一般に、レーンを通じた交通フローの変動であって妨害物が存在することを示す交通フローの変動を示している。例えば、様々な発生において、妨害物パターンは、レーンの周りのレーン変更の発生、レーン内の類似の場所における制動、などを示している。一実施形態において、妨害物モデル270は、機械学習モデル、統計モデル、或いは、レーン妨害物との関連において発生するものにマッチングするパターンを識別する交通パターンのなんらかのその他の特徴付けである。従って、様々な方式において、モデル270は、位置データ260内において実施された交通パターンがレーン妨害物を示している際を識別するように、トレーニングされている。従って、妨害物モジュール230は、1つのレーンの遮断、複数のレーンの遮断、レーンの一部分の遮断、レーン内のビークルによる制動、などを示す既知の妨害物パターンと相関する交通パターンを識別している。
【0066】
530において、妨害物モジュール230は、レーン妨害物が存在しているかどうかを判定している。一実施形態において、妨害物モジュール230は、520において妨害物モジュール230によって実施された判定を含む位置データ260を更に分析している。即ち、妨害物モジュール230が、レーン妨害物と相関している妨害物パターンが存在していると判定した際に、妨害物モジュール230は、パターンが十分に支配的であるかどうかを判定するべく、530において、更なる検討を実施している。例えば、一実施形態において、妨害物モジュール230は、識別された妨害物パターンが閾値数のビークルに対応しているかどうかを判定している。一方式において、妨害物モジュール230は、例えば、定義された期間(例えば、1時間)内において、妨害物パターンを示す少なくとも数nのビークルに照らして、位置データ260内の妨害物パターンの存在を識別している。更なる方式においては、妨害物モジュール270は、520の分析における頻度を考慮することにより、絶対的な判定を示すことができる。
【0067】
いずれのケースにおいても、妨害物モジュール230が、対応する妨害物パターンが存在していない、或いは、妨害物パターンの不十分な頻度が存在している、と判定した場合には、妨害物モジュール230は、対向ビークルに対する警告又はその他の信号を生成するべく進捗しない。但し、位置データ260が、レーン妨害物を示していると判定された場合には、妨害物モジュール230は、その他のビークルに通知するためのステップによって進捗する。
【0068】
540において、妨害物モジュール230は、レーン妨害物を含む道路セグメントに接近中である対向ビークルを識別するべく、位置特定サービスに問い合わせている。一実施形態において、上述のように、妨害物モジュール230は、OEM追跡サービス、或いは、道路セグメントとの関係におけるビークルの場所を認知しているその他のサービス、に問い合わせている。更なる態様において、妨害物モジュール230は、実際のビークルの外である対向ビークルに情報を提供する動的交通ボード又はその他のメカニズムなどの、利用可能な二次的なアラートサービスについて問い合わせることができる。更なる態様において、妨害物モジュール230は、無線通信プロトコル(例えば、V2V、V2I)上においてブロードキャストを提供することができる。いずれのケースにおいても、位置特定サービス及び/又はアラートサービスは、ビークルの存在及び/又はその他の警告メカニズムに関係する情報を提供している。一般に、妨害物モジュール230は、レーン妨害物の存在に関する情報を対向ビークルに送付するべく、ネットワークアドレス又はその他の通信アドレス/識別子(例えば、IPアドレス、電話番号など)を取得している。
【0069】
550において、妨害物モジュール230は、電子信号を提供している。一実施形態において、妨害物モジュール230は、レーン妨害物を識別する電子信号を道路セグメントの対向ビークルに提供している。即ち、妨害物モジュール230は、レーン妨害物に関する情報を伝達するべく、信号をレーン妨害物に関する警告として対向ビークルに伝達し、道路セグメントの前のルートに沿った動的ハイウェイサインに伝達し、且つ/又は、別の規定された装置(例えば、携帯電話機)に伝達している。信号自体の形態は、特定の実施形態に従って変化しうるが、一般には、少なくとも部分的に無線通信媒体上において実行される電子送信である。この結果、レーン妨害物システム170は、報告ビークルのネットワークを使用することにより、道路セグメント上を移動している複数のビークルに関する位置データ260を集計し、且つ、後続の対向ビークルが道路セグメントをナビゲートする方式を改善するべく、それからの道路及び関連する交通の状態を提供している。
【0070】
レーン妨害物システム170が潜在的なレーン妨害物を識別し、且つ、これらに関する通信を提供する方式の更なる説明として、
図6〜
図8を検討しよう。
図6は、道路セグメントの一例600を示している。道路セグメント600は、報告ビークル100、周囲のビークル610、620、630、及びレーン妨害物640を含むものとして示されている。従って、報告ビークル100の観点においては、レーン妨害物640は、例えば、潜在的なものであり、且つ、従って、一般に、報告ビークル100によって観察されていない。但し、周囲のビークル610、620、及び630は、ビークル100のセンサによって知覚されている。従って、ビークル100が道路セグメント600に沿って進行するのに伴って、システム170は、ビークル610、620、630に関するセンサデータを取得し、且つ、このセンサデータをビークル610、620、及び630を効果的に追跡する位置データとして生成している。従って、システム170は、位置データを通じて、レーン妨害物640から離れたビークル620及び630の運動を観察している。
【0071】
図7の連続的な時点ステップにおいて更に示されているように、ビークル620は、妨害物640を回避するべく、ビークル100の前方においてレーンを変更している一方で、ビークル630は、制動し、且つ、レーンの切り替えを開始している。従って、ビークル100内のシステム170は、これらの運動/位置を観察し、且つ、これらの位置を妨害物モジュール230に報告している。
図8は、複数の報告ビークルから収集されうる、道路セグメント600上の集計された位置データ260を示している。集計された位置データ260は、ビークルが、レーン妨害物640と関連するエリアを通過しているものとして観察されない、妨害物パターンを示している。更には、レーン妨害物640の特定のエリアを回避するための連続的なビークルの間における相関した運動は、レーン妨害物640の存在を更に肯定している。従って、報告ビークル100は、レーン妨害物640を直接的に観察しえないが、システム170は、レーン妨害物640のエリアを通じて運転するビークルにおける観察の欠如と、エリアを明示的に回避しているビークル位置/経路の相関と、によって一般的に定義される、集計された位置データ260内において観察される妨害物パターンを通じて、レーン妨害物640を識別している。
【0072】
更には、明示的に示されてはいないが、レーン妨害物640に接近しているビークルの抑制された速度も、レーン妨害物640を示しており、且つ、位置データ260を分析する際に妨害物モジュール230によって要因して見なされている。いずれのケースにおいても、妨害物モジュール230は、
図8に示されているように、集計されたデータを分析する際にレーン妨害物についてビークルに警告するべく、記述されている通信を提供している。この結果、レーン妨害物システム170は、潜在的な道路の危険/妨害物に関する認識を改善し、これにより、全体的なナビゲーション及びこのような課題の回避を改善している。
【0073】
次に、本開示において開示されているシステム及び方法が動作しうる例示用の環境として、
図1について、十分詳細に説明することとする。いくつかの例において、ビークル100は、自律型モード、1つ又は複数の半自律型動作モード、及び/又は手動モードの間において選択的に切り替わるように、構成されている。このような切り替えは、現在既知の、或いは、将来開発される、適切な方式により、実装することができる。「手動モード」は、ビークルのナビゲーション及び/又は操作のすべて又は大部分が、ユーザー(例えば、人間の運転者)から受け取られた入力に従って実行される、ことを意味している。1つ又は複数の構成において、ビークル100は、手動モードのみにおいて動作するように構成された従来のビークルであってよい。
【0074】
1つ又は複数の実施形態において、ビークル100は、自律型ビークルである。本開示において使用されている「自律型ビークル」は、自律型モードにおいて動作するビークルを意味している。「自律型モード」は、人間の運転者からの入力なしに又は最小限の入力を伴って、ビークル100を制御するべく、1つ又は複数のコンピューティングシステムを使用することにより、移動ルートに沿って、ビークル100をナビゲート及び/又は操作することを意味している。1つ又は複数の実施形態において、ビークル100は、高度に自動化されているか、又は完全に自動化されている。一実施形態において、ビークル100は、1つ又は複数のコンピューティングシステムが、移動ルートに沿ったビークルのナビゲーション及び/又は操作の一部分を実行している、且つ、ビークル操作者(即ち、運転者)が、移動ルートに沿ったビークル100のナビゲーション及び/又は操作の一部分を実行するべくビークルに入力を提供している、1つ又は複数の半自律型動作モードを有するように構成されている。
【0075】
ビークル100は、1つ又は複数のプロセッサ110を含みうる。1つ又は複数の構成において、1つ又は複数のプロセッサ110は、ビークル100のメインプロセッサであってよい。例えば、1つ又は複数のプロセッサ110は、電子制御ユニット(ECU)であってよい。ビークル100は、1つ又は複数のタイプのデータを保存するための1つ又は複数のデータストア115を含みうる。データストア115は、揮発性及び/又は不揮発性メモリを含みうる。適切なデータストア115の例は、RAM、フラッシュメモリ、ROM、PROM、EPROM、EEPROM、レジスタ、磁気ディスク、光ディスク、ハードドライブ、或いは、任意のその他の適切なストレージ媒体、或いは、これらの任意の組合せを含む。データストア115は、1つ又は複数のプロセッサ110のコンポーネントであることが可能であり、或いは、データストア115は、それによる使用のために、1つ又は複数のプロセッサ110に動作自在に接続することができる。この説明の全体を通じて使用されている「動作自在に結合される」という用語は、直接的な物理的接触を伴うことのない接続を含む、直接的又は間接的接続を含みうる。
【0076】
1つ又は複数の構成において、1つ又は複数のデータストア115は、マップデータ116を含みうる。マップデータ116は、1つ又は複数の地理的エリアのマップを含みうる。いくつかの例において、マップデータ116は、道路、交通制御装置、道路マーキング、構造、特徴、及び/又は1つ又は複数の地理的エリア内のランドマークに関する情報又はデータを含みうる。マップデータ116は、任意の適切な形態であってよい。いくつかの例において、マップデータ116は、エリアの鳥観図を含みうる。いくつかの例において、マップデータ116は、360度の地上図を含む、エリアの地上図を含みうる。マップデータ116は、マップデータ116内に含まれた、且つ、マップデータ116内に含まれたその他の項目との関係における、1つ又は複数の項目の計測値、寸法、距離、及び/又は情報を含みうる。マップデータ116は、道路形状に関する情報を有するデジタルマップを含みうる。マップデータ116は、高品質及び/又は高詳細であってよい。
【0077】
1つ又は複数の構成において、マップデータ116は、1つ又は複数の地形マップ117を含みうる。1つ又は複数の地形マップ117は、地面、地形、道路、表面、及び/又は1つ又は複数の地理的エリアのその他の特徴に関する情報を含みうる。1つ又は複数の地形マップ117は、1つ又は複数の地理的エリア内の高度データを含みうる。マップデータ116は、高品質且つ/又は高詳細であってよい。1つ又は複数の地形マップ117は、1つ又は複数の地面を定義することが可能であり、これは、舗装された道路、未舗装の道路、土地、及び地面を定義するその他のものを含みうる。
【0078】
1つ又は複数の構成において、マップデータ116は、1つ又は複数の静的障害物マップ118を含みうる。1つ又は複数の障害物マップ118は、1つ又は複数の地理的エリア内に配置された1つ又は複数の静的障害物に関する情報を含みうる。「静的障害物」は、所定の期間にわたって、その位置が変化しない又は実質的に変化しない、且つ/又は、所定の期間にわたって、そのサイズが変化しない又は実質的に変化しない、物理的物体である。静的障害物の例は、樹木、建物、縁石、フェンス、レール、中央分離帯、ユティリティポール、塑像、モニュメント、サイン、ベンチ、家具、メールボックス、大きな岩、丘を含む。静的障害物は、地上レベルの上方において延在する物体であってよい。1つ又は複数の静的障害物マップ118内において含まれる、1つ又は複数の障害物は、場所データ、サイズデータ、寸法データ、材料データ、及び/又はこれと関連するその他のデータを有しうる。1つ又は複数の静的障害物マップ118は、計測、寸法、距離、及び/又は1つ又は複数の静的障害物の情報を含みうる。1つ又は複数の静的障害物マップ118は、高品質及び/又は高詳細であってよい。1つ又は複数の静的障害物マップ118は、地図化されたエリア内の変化を反映するべく、更新することができる。
【0079】
1つ又は複数のデータストア115は、センサデータ119を含みうる。この文脈において、「センサデータ」は、能力及びそのようなセンサに関するその他の情報を含む、ビークル100が装備しているセンサに関する任意の情報を意味している。後述するように、ビークル100は、センサシステム120を含みうる。センサデータ119は、センサシステム120の1つ又は複数のセンサに関係しうる。一例として、1つ又は複数の構成において、センサデータ119は、センサシステム120の1つ又は複数のLIDARセンサ124に関する情報を含みうる。
【0080】
いくつかの例において、マップデータ116及び/又はセンサデータ119の少なくとも一部分は、ビークル100に搭載状態において配置された1つ又は複数のデータストア115内において配置することができる。或いは、この代わりに、又はこれに加えて、マップデータ116及び/又はセンサデータ119の少なくとも一部分は、ビークル100から離れたところに配置された1つ又は複数のデータストア115内において配置することができる。
【0081】
上述のように、ビークル100は、センサシステム120を含みうる。センサシステム120は、1つ又は複数のセンサを含みうる。「センサ」は、なにかを検出及び/又は検知しうる任意の装置、コンポーネント、及び/又はシステムを意味している。1つ又は複数のセンサは、リアルタイムで検出及び/又は検知するように構成することができる。本開示において使用されている「リアルタイム」という用語は、特定の処理又は判定が実施されるべく十分に即座であるものとして、ユーザー又はシステムが検知する、或いは、プロセッサが、なんらかの外部プロセスに追随することを可能にする、処理応答性のレベルを意味している。
【0082】
センサシステム120が複数のセンサを含む構成において、センサは、互いに独立的に機能することができる。或いは、この代わりに、センサのうちの2つ以上は、相互の組合せにおいて機能することができる。このようなケースにおいて、2つ以上のセンサは、センサネットワークを形成することができる。センサシステム120及び/又は1つ又は複数のセンサは、1つ又は複数のプロセッサ110、1つ又は複数のデータストア115、及び/又はビークル100の別の要素(
図1に示されている要素のうちの任意ものを含む)に動作自在に接続することができる。センサシステム120は、ビークル100の外部環境の少なくとも一部分(例えば、ビークルの近傍)のデータを取得することができる。
【0083】
センサシステム120は、任意の適切なタイプのセンサを含みうる。本開示においては、異なるタイプのセンサの様々な例について説明することとする。但し、実施形態は、記述されている特定のセンサに限定されるものではないことを理解されたい。センサシステム120は、1つ又は複数のビークルセンサ121を含みうる。1つ又は複数のビークルセンサ121は、ビークル100自体に関する情報を検出、判定、及び/又は検知することができる。1つ又は複数の構成において、1つ又は複数のビークルセンサ121は、例えば、慣性加速度などに基づいて、ビークル100の位置及び向きの変化を検出及び/又は検知するように構成することができる。1つ又は複数の構成において、1つ又は複数のビークルセンサ121は、1つ又は複数の加速度計、1つ又は複数のジャイロスコープ、慣性計測ユニット(IMU)、推測航法システム、グローバルナビゲーション衛星システム(GNSS)、全地球測位システム(GPS)、ナビゲーションシステム147、及び/又はその他の適切なセンサを含みうる。1つ又は複数のビークルセンサ121は、ビークル100の1つ又は複数の特性を検出及び/又は検知するように構成することができる。1つ又は複数の構成において、1つ又は複数のビークルセンサ121は、ビークル100の現時点の速度を判定するべくく、速度計を含むことができる。
【0084】
或いは、この代わりに、又はこれに加えて、センサシステム120は、運転環境データを取得及び/又は検知するように構成された1つ又は複数の環境センサ122を含むことができる。「運転環境データ」は、自律型ビークルが配置された外部環境、或いは、その1つ又は複数の部分、に関するデータ又は情報を含む。例えば、1つ又は複数の環境センサ122は、ビークル100の外部環境の少なくとも一部分内の障害物、並びに/或いは、そのような障害物に関する情報/データ、を検出、定量化、及び/又は検知するように構成することができる。このような障害物は、静的物体及び/又は動的物体であってよい。1つ又は複数の環境センサ122は、例えば、レーンマーカー、サイン、信号機、交通標識、レーンライン、横断歩道、ビークル100の近傍の縁石、道路以外の物体などのような、ビークル100の外部環境内のその他のものを検出、計測、定量化、及び/又は検知するように、構成することができる。
【0085】
本開示においては、センサシステム120のセンサの様々な例について説明することとする。例示用のセンサは、1つ又は複数の環境センサ122及び/又は1つ又は複数のビークルセンサ121の一部分であってよい。但し、実施形態は、記述されている特定のセンサに限定されるものではないことを理解されたい。
【0086】
一例として、1つ又は複数の構成において、センサシステム120は、1つ又は複数のレーダーセンサ123、1つ又は複数のLIDARセンサ124、1つ又は複数のソナーセンサ125、及び/又は1つ又は複数のカメラ126を含みうる。1つ又は複数の構成において、1つ又は複数のカメラ126は、ハイダイナミックレンジ(HDR)カメラ又は赤外線(IR)カメラであってよい。
【0087】
ビークル100は、入力システム130を含みうる。「入力システム」は、情報/データが機械に入力されることを可能にする、任意の装置、コンポーネント、システム、要素、又は構成、或いは、これらの群を含む。入力システム130は、ビークルの乗員(例えば、運転者又は乗員)から入力を受け取ることができる。ビークル100は、出力システム135を含みうる。「出力システム」は、情報/データがビークルの乗員(例えば、人物、ビークル乗員など)に提示されることを可能にする、任意の装置、コンポーネント、又は構成、或いは、これらの群を含む。
【0088】
ビークル100は、1つ又は複数のビークルシステム140を含みうる。
図1には、1つ又は複数のビークルシステム140の様々な例が示されている。但し、ビークル100は、更に多くの数の、更に少ない数の、或いは、異なる、ビークルシステムを含みうる。特定のビークルシステムが別個に定義されているが、システム又はその部分のそれぞれ又は任意のものは、その他の方式により、ビークル100内のハードウェア及び/又はソフトウェアを介して組み合わせられてもよく、或いは、分離されてもよい、ことを理解されたい。ビークル100は、推進システム141、制動システム142、操向システム143、スロットルシステム144、トランスミッションシステム145、シグナリングシステム116、及び/又はナビゲーションシステム147を含みうる。これらのシステムのそれぞれは、現在既知の、又は将来開発される、1つ又は複数の装置、コンポーネント、及び/又はこれらの組合せを含みうる。
【0089】
ナビゲーションシステム147は、ビークル100の地理的場所を判定するように、且つ/又は、ビークル100の移動ルートを判定するように、構成された、現在既知の、又は将来開発される、1つ又は複数の装置、アプリケーション、及び/又はこれらの組合せを含みうる。ナビゲーションシステム147は、ビークル100の移動ルートを判定するべく、1つ又は複数のマッピングアプリケーションを含みうる。ナビゲーションシステム147は、全地球測位システム、局所的測位システム、又はジオロケーションシステムを含みうる。
【0090】
1つ又は複数のプロセッサ110、レーン妨害物システム170、及び/又は1つ又は複数の自律型運転モジュール160は、様々なビークルシステム140及び/又はその個々のコンポーネントと通信するべく、動作可能に接続することができる。例えば、
図1を再度参照すれば、1つ又は複数のプロセッサ110及び/又は1つ又は複数の自律型運転モジュール160は、ビークル100の運動、速度、操作、向き、方向などを制御するために、様々なビークルシステム140との間において情報を送信及び/又は受信するべく、通信状態にあってよい。1つ又は複数のプロセッサ110、レーン妨害物システム170、及び/又は1つ又は複数の自律型運転モジュール160は、これらのビークルシステム140のいくつか又はすべてを制御することができると共に、従って、部分的に又は完全に、自律型であってよい。
【0091】
1つ又は複数のプロセッサ110、レーン妨害物システム170、及び/又は1つ又は複数の自律型運転モジュール160は、様々なビークルシステム140及び/又はその個々のコンポーネントと通信するべく、動作自在に接続することができる。例えば、
図1を再度参照すれば、1つ又は複数のプロセッサ110、レーン妨害物システム170、及び/又は1つ又は複数の自律型運転モジュール160は、ビークル100の運動、速度、操作、向き、方向などを制御するために、様々なビークルシステム140との間において情報を送信及び/又は受信するべく、通信状態にあってよい。1つ又は複数のプロセッサ110、レーン妨害物システム170、及び/又は1つ又は複数の自律型運転モジュール160は、これらのビークルシステム140のいくつか又はすべてを制御することができる。
【0092】
1つ又は複数のプロセッサ110、レーン妨害物システム170、及び/又は1つ又は複数の自律型運転モジュール160は、ビークルシステム140及び/又はそのコンポーネントの1つ又は複数を制御することにより、ビークル100のナビゲーション及び/又は操作を制御するべく、動作可能であってよい。例えば、自律型モードにおいて動作している際に、1つ又は複数のプロセッサ110、レーン妨害物システム170、及び/又は1つ又は複数の自律型運転モジュール160は、ビークル100の方向及び/又は速度を制御することができる。1つ又は複数のプロセッサ110、レーン妨害物システム170、及び/又は1つ又は複数の自律型運転モジュール160は、ビークル100が、(例えば、エンジンに提供される燃料の供給を増大させることによって)加速し、(例えば、エンジンへの燃料の量を減少させることによって、且つ/又は、制動を適用することによって)減速し、且つ/又は、(2つの前輪を回転させることによって)方向を変更する、ようにすることができる。本開示においる「〜ようにする(cause)」又は「〜ようにする(causing)」は、イベント又はアクションが、直接的又は間接的な方式により、発生する、或いは、少なくともそのようなイベント又はアクションが発生しうる、状態にあることを引き起こす、強制する、強要する、導く、命令する、指示する、及び/又は、可能にする、ことを意味している。
【0093】
ビークル100は、1つ又は複数のアクチュエータ150を含みうる。アクチュエータ150は、1つ又は複数のプロセッサ110及び/又は1つ又は複数の自律型運転モジュール160からの信号又はその他の入力の受け取りに応答して、ビークルシステム140又はそのコンポーネントの1つ又は複数を変化させる、調節、且つ/又は変更する、べく動作可能である任意の要素又は要素の組合せであってよい。任意の適切なアクチュエータを使用することができる。例えば、1つ又は複数のアクチュエータ150は、いくつかの可能性の名前を挙げるだけでも、モーター、ガス圧アクチュエータ、液圧ピストン、リレー、ソレノイド、及び/又は圧電アクチュエータを含みうる。
【0094】
ビークル100は、1つ又は複数のモジュールを含むことができ、本開示には、そのうちの少なくともいくつかが記述されている。これらのモジュールは、プロセッサ110によって実行された際に、本開示において記述されている様々なプロセスのうちの1つ又は複数を実装するコンピュータ可読プログラムコードとして実装することができる。モジュールのうちの1つ又は複数は、1つ又は複数のプロセッサ110のコンポーネントであることが可能であり、或いは、モジュールのうちの1つ又は複数は、1つ又は複数のプロセッサ110が動作自在に接続されるその他の処理システム上において実行することが可能であり、且つ、その間において分散させることができる。モジュールは、1つ又は複数のプロセッサ110によって実行可能である命令を含みうる(例えば、プログラムロジック)。或いは、この代わりに、又はこれに加えて、1つ又は複数のデータストア115が、このような命名を収容することもできる。
【0095】
1つ又は複数の構成において、本開示において記述されているモジュールのうちの1つ又は複数は、例えば、ニューラルネットワーク、ファジーロジック、又はその他の機械学習アルゴリズムなどの、人工的又はコンピューティング的インテリジェンス要素を含みうる。更には、1つ又は複数の構成において、モジュールのうちの1つ又は複数は、本開示において記述されている複数のモジュールの間において分散させることができる。1つ又は複数の構成において、本開示において記述されているモジュールのうちの2つ以上は、単一のモジュールとして組み合わせることができる。
【0096】
ビークル100は、1つ又は複数の自律型運転モジュール160を含みうる。1つ又は複数の自律型運転モジュール160は、センサシステム120及び/又はビークル100及び/又はビークル100の外部環境に関係する情報をキャプチャする能力を有する任意のその他のタイプのシステムから、データを受け取るように構成することができる。1つ又は複数の構成において、1つ又は複数の自律型運転モジュール160は、1つ又は複数の運転シーンモデルを生成するべく、このようなデータを使用することができる。1つ又は複数の自律型運転モジュール160は、ビークル100の位置及び速度を判定することができる。1つ又は複数の自律型運転モジュール160は、交通サイン、樹木、低木、隣接するビークル、歩行者などを含む、障害物の場所、障害物、又はその他の環境的特徴を判定することができる。
【0097】
1つ又は複数の自律型運転モジュール160は、複数の衛星からの信号、或いは、ビークル100の現時点の状態を判定するべく、或いは、マップを生成する、或いは、マップデータとの関係においてビークル100の位置を判定する、際に使用されるべくその環境との関係においてビークル100の位置を判定するべく使用されうる任意のその他のデータ及び信号に基づいて、ビークル100の位置及び/又は向き、グローバル座標におけるビークル位置、を推定するべく、1つ又は複数のプロセッサ110及び/又は本開示において記述されているモジュールのうちの1つ又は複数によって使用されるべく、ビークル100の外部環境内の障害物の場所情報を受け取るように、且つ/又は、判定するように、構成することができる。
【0098】
1つ又は複数の自律型運転モジュール160は、独立的に、或いは、レーン妨害物システム170との組合せにおいて、センサシステム120によって取得されたデータ、運転シーンモデル、及び/又は任意のその他の適切なソースからのデータに基づいて、1つ又は複数の移動経路、ビークル100用の現時点の自律型運転操作、将来の自律型運転操作、及び/又は現時点の自律型運転操作に対する変更を判定するように、構成することができる。「運転操作」は、ビークルの運動に影響を及ぼす1つ又は複数のアクションを意味している。運転操作の例は、いくつかの可能性の名前を挙げるだけでも、加速、減速、制動、回転、ビークル100の横方向における運動、移動レーンの変更、移動レーン内へのマージ、及び/又は逆進を含む。1つ又は複数の自律型運転モジュール160は、判定された運転操作を実装するように構成することができる。1つ又は複数の自律型運転モジュール160は、このような自律型運転操作が実装されるように直接的又は間接的にすることができる。本開示において使用されている「〜ようにする(cause)」又は「〜ようにする(causing)」は、直接的又は間接的な方式により、イベント又はアクションが発生する、或いは、このようなイベント又はアクションが発生しうる状態に少なくともなる、ことを引き起こす、命令する、指示する、及び/又は、可能にする、ことを意味している。1つ又は複数の自律型運転モジュール160は、様々なビークル機能を実行するように、且つ/又は、ビークル100又はその1つ又は複数のシステム(例えば、ビークルシステム140のうちの1つ又は複数)に、データを送信し、これらからデータを受信し、これらとやり取りし、且つ/又は、これらを制御するように、構成することができる。
【0099】
本開示においては、詳細な実施形態が開示されている。但し、開示されている実施形態の意図するところは、例であるに過ぎないことを理解されたい。従って、本開示において開示されている特定の構造的且つ機能的詳細は、限定として解釈されてはならず、且つ、請求項の基礎として、且つ、実質的に任意の適切に詳述された構造において本開示における態様を様々に利用するべく当業者に教示するための代表的な基礎としてのみ、解釈することを要する。更には、本開示において使用されている用語及びフレーズも、限定ではなく、むしろ、可能な実装形態の理解可能な説明を提供することを意図したものである。
図1〜
図7には、様々な実施形態が示されているが、これらの実施形態は、図示の構造又は用途に限定されるものではない。
【0100】
図中のフローチャート及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータプログラムプロダクトの可能な実装形態のアーキテクチャ、機能、及び動作を示している。この観点において、フローチャート又はブロック図中のそれぞれのブロックは、1つ又は複数の規定された論理的機能を実装するための1つ又は複数の実行可能な命令を備えるモジュール、セグメント、又はコードの一部分を表しうる。又、いくつかの代替実装形態において、ブロック中において記述されている機能は、図中において記述されている順序以外において発生しうることにも留意されたい。例えば、連続的に示されている2つのブロックは、実際には、実質的に同時に実行されてもよく、或いは、これらのブロックは、しばしば、関与する機能に応じて、逆の順序において実行されてもよい。
【0101】
上述のシステム、コンポーネント、及び/又はプロセスは、ハードウェアにおいて、或いは、ハードウェアとソフトウェアの組合せにおいて、実現することが可能であり、且つ、1つの処理システム内において中央集中化された方式により、或いは、異なる要素がいくつかの相互接続された処理システムに跨って分散されている分散方式により、実現することができる。本開示において記述されている方法を実行するべく適合された任意の種類の処理システム又は別の装置が適している。ハードウェアとソフトウェアの代表的な組合せは、読み込まれ、且つ、実行された際に、本開示において記述されている方法を実行するように、処理システムを制御するコンピュータ使用可能プログラムコードを有する処理システムであってよい。又、システム、コンポーネント、及び/又はプロセスは、本開示において記述されている方法及びプロセスを実行するべく、機械によって実行可能である命令のプログラムを有体的に実施する、機械によって読み取り可能である、コンピュータプログラムプロダクト又はその他のデータプログラムストレージ装置などの、コンピュータ可読ストレージ内において埋め込むことができる。又、これらの要素は、本開示において記述されている方法の実装を可能にする特徴のすべてを備える、且つ、処理システム内において読み込まれた際に、これらの方法を実行することができる、アプリケーションプロダクト内において埋め込むこともできる。
【0102】
更には、本開示において記述されている構成は、例えば、その上部において保存される、などのように実施されたコンピュータ可読プログラムコードを有する1つ又は複数のコンピュータ可読媒体内において実施されたコンピュータプログラムプロダクトの形態を有することもできる。1つ又は複数のコンピュータ可読媒体の任意の組合せを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体であってよい。「コンピュータ可読ストレージ媒体」というフレーズは、非一時的ストレージ媒体を意味している。コンピュータ可読ストレージ媒体は、例えば、限定を伴うことなしに、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、又は機器、或いは、以上のものの任意の適切な組合せであってよい。コンピュータ可読ストレージ媒体の更に具体的な例(すべてを網羅したリストではない)は、携帯型コンピュータディスケット、ハードディスクドライブ(HDD)、半導体ドライブ(SSD)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、携帯型コンパクトディスク読み出し専用メモリ(CD−ROM)、デジタルバーサタイルディスク(DVD)、光学ストレージ装置、磁気ストレージ装置、又は以上のものの任意の適切な組合せ、というものを含むであろう。本書類の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、又は機器によって、或いは、これらとの関連において、使用されるプログラムを収容又は保存しうる任意の有体の媒体であってよい。
【0103】
一般に、本開示において使用されているモジュールは、特定のタスクを実行する、或いは、特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。更なる態様において、メモリは、一般に、記述されているモジュールを保存している。モジュールと関連するメモリは、プロセッサ、RAM、ROM、フラッシュメモリ、或いは、別の適切な電子ストレージ媒体内において実施されたバッファ又はキャッシュであってよい。更なる態様において、本開示によって想定されているモジュールは、開示されている機能を実行するための定義された構成セット(例えば、命令)と共に埋め込まれた用途固有の集積回路(ASIC)、システムオンチップ(SoC)のハードウェアコンポーネント、プログラム可能なロジックアレイ(PLA)、或いは、別の適切なハードウェアコンポーネントとして実装されている。
【0104】
コンピュータ可読媒体上において実施されるプログラムコードは、限定を伴うことなしに、無線、有線、光ファイバ、ケーブル、RFなど、或いは、以上のものの任意の適切な組合せを含む、任意の適切な媒体を使用することにより、送信することができる。この構成の態様の動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++、又はこれらに類似したもの、並びに、「C」プログラミング言語又は類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語の任意の組合せにおいて記述することができる。プログラムコードは、完全にユーザーのコンピュータ上において、部分的にユーザーのコンピュータ上において、スタンドアロンソフトウェアパッケージとして、部分的にユーザーのコンピュータ上において、且つ、部分的にリモートコンピュータ上において、或いは、完全にリモートコンピュータ又はサーバー上において、稼働することができる。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む、任意のタイプのネットワークを通じてユーザーのコンピュータに接続されてもよく、或いは、接続は、(例えば、インターネットサービスプロバイダを使用することにより、インターネットを通じて)外部コンピュータに対して実施されてもよい。
【0105】
本開示において使用されている「1つの(a)」及び「1つの(an)」という用語は、1つ又は複数の、として定義されている。本開示において使用されている「複数」という用語は、2つ又は2つよりも多い、として定義されている。本開示において使用されている「別の(another)」という用語は、少なくとも第2の又はそれ以降として定義されている。本開示において使用されている「含む(including)」及び/又は「有する(having)」という用語は、備えるまたは含む(comprising)(即ち、オープン言語)として定義されている。本開示において使用されている「〜及び〜のうちの少なくとも1つ」というフレーズは、関連する列挙された項目のうちの1つ又は複数のものの任意の且つすべての可能な組合せを意味し、且つ、包含している。一例として、「A、B、及びCのうちの少なくとも1つ」というフレーズは、Aのみ、Bのみ、Cのみ、或いは、これらの任意の組合せ(例えば、AB、AC、BC、又はABC)を含む。
【0106】
本開示における態様は、その真意及び必須の属性を逸脱することなしに、その他の形態において実施することができる。従って、その範囲を示すものとしては、上述の仕様ではなく、添付の請求項を参照されたい。