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

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

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

特許7141370標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転
<>
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図1
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図2
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図3A
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図3B
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図4
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図5
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図6
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図7A
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図7B
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図7C
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図8
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図9
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図10
  • 特許-標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-13
(45)【発行日】2022-09-22
(54)【発明の名称】標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転
(51)【国際特許分類】
   G08G 1/00 20060101AFI20220914BHJP
   G08G 1/09 20060101ALI20220914BHJP
   G01C 21/26 20060101ALI20220914BHJP
   G09B 29/10 20060101ALI20220914BHJP
【FI】
G08G1/00 A
G08G1/09 F
G01C21/26 A
G09B29/10 A
【請求項の数】 24
【外国語出願】
(21)【出願番号】P 2019151066
(22)【出願日】2019-08-21
(65)【公開番号】P2020064611
(43)【公開日】2020-04-23
【審査請求日】2019-08-27
(31)【優先権主張番号】16/163,500
(32)【優先日】2018-10-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516357421
【氏名又は名称】バイドゥ ユーエスエイ エルエルシー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100163511
【弁理士】
【氏名又は名称】辻 啓太
(72)【発明者】
【氏名】イーフェイ ジャン
(72)【発明者】
【氏名】リャンリャン ジャン
(72)【発明者】
【氏名】ドン リ
(72)【発明者】
【氏名】ジャミン タオ
(72)【発明者】
【氏名】ジャンタオ フ
【審査官】武内 俊之
(56)【参考文献】
【文献】特開2018-022353(JP,A)
【文献】特開2018-055222(JP,A)
【文献】特開2006-236247(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00
G08G 1/09
G01C 21/26
G09B 29/10
(57)【特許請求の範囲】
【請求項1】
自動運転のための道路の車線構成を生成するためのコンピュータ実施方法であって、
一定期間にわたって道路の道路セグメントを通過するようにナビゲートする複数の車両が走行する一組の軌跡を記述する感知データを受信することと、
一組のルールを使用して、前記一組の軌跡を解析することによって、前記一組の軌跡の主流の分布を決定し、決定した前記軌跡の主流の分布に基づいて、前記道路セグメント内の1つ以上の車線の分布を決定することと、
前記1つ以上の車線の各々について、前記車線内の前記軌跡に基づいて、前記車線に関連する、当該車線内における車線基準線を計算することと、
前記道路セグメントに対応する前記1つ以上の車線の車線基準線を車線構成データベースに記憶することと、
を含み、
ここで、前記車線基準線は、高解像度地図を使用せずに当該車線基準線に沿って前記道路セグメントを通過するように車両を自動運転するために利用される、方法。
【請求項2】
前記一組の軌跡は、複数の自動運転車両の1つ以上のセンサーによって観測された、前記道路セグメントを通過するように走行した車両の軌跡である、請求項1に記載の方法。
【請求項3】
前記車線構成データベースは、複数の道路の複数の道路セグメントの複数の車線基準線を記憶し、ここで、前記車線基準線の各々は、高解像度地図を使用せずに対応する道路セグメントを通過するようにナビゲートする車両の過去の軌跡に基づいて生成される請求項1に記載の方法。
【請求項4】
前記車線内の前記軌跡に基づいて、前記車線に関連する車線基準線を計算することは、
前記軌跡のうちの残りの軌跡から著しく外れた任意の軌跡を削除することと、
平滑化動作を実行することによって前記残りの軌跡を平滑化することと、
平滑化された軌道のうちの平均軌跡を計算することによって前記車線基準線を表すことと、
を含む請求項1に記載の方法。
【請求項5】
前記車両の軌跡に基づいて、前記道路セグメント内の前記車線の各々の車線幅を決定することをさらに含み、ここで、前記車線幅は前記車線構成データベースに記憶されている請求項1に記載の方法。
【請求項6】
ネットワークを介して自動運転車両から第2道路セグメントの車線基準線に対する要求を受信することと、
前記第2道路セグメントに基づいて前記車線構成データベースを照会することによって、前記第2道路セグメントに関連する1つ以上の車線基準線を検索することと、
検索された車線基準線を前記自動運転車両に送信することと、
をさらに含む請求項1に記載の方法。
【請求項7】
前記要求は、前記第2道路セグメントに関連する道路基準線の始点と終点を含み、ここで、前記道路基準線は、前記車線構成データベースを照会することによって前記車線基準線を検索するためのものである請求項6に記載の方法。
【請求項8】
前記車線構成データベースは複数のマッピングエントリを含み、ここで、各マッピングエントリはいずれも特定の道路基準線を1つ以上の車線基準線にマッピングする請求項6に記載の方法。
【請求項9】
命令が記憶されている非一時的な機械可読媒体であって、
前記命令がプロセッサによって実行される場合に、
一定期間にわたって道路の道路セグメントを通過するようにナビゲートする複数の車両が走行する一組の軌跡を記述する感知データを受信することと、
一組のルールを使用して、前記一組の軌跡を解析することによって、前記一組の軌跡の主流の分布を決定し、決定した前記軌跡の主流の分布に基づいて、前記道路セグメント内の1つ以上の車線の分布を決定することと、
前記1つ以上の車線の各々について、前記車線内の前記軌跡に基づいて、前記車線に関連する、当該車線内における車線基準線を計算することと、
前記道路セグメントに対応する前記1つ以上の車線の前記車線基準線を車線構成データベースに記憶することと、
含む動作を前記プロセッサに実行させ、
ここで、前記車線基準線は、高解像度地図を使用せずに当該車線基準線に沿って前記道路セグメントを通過するように車両を自動運転するために利用される、
非一時的な機械可読媒体。
【請求項10】
前記一組の軌跡は、複数の自動運転車両の1つ以上のセンサーによって観測された、前記道路セグメントを通過するように走行した車両の軌跡である、請求項9に記載の非一時的な機械可読媒体。
【請求項11】
前記車線構成データベースは、複数の道路の複数の道路セグメントの複数の車線基準線を記憶し、ここで、前記車線基準線の各々は、高解像度地図を使用せずに対応する道路セグメントを通過するようにナビゲートする車両の過去の軌跡に基づいて生成される請求項9に記載の非一時的な機械可読媒体。
【請求項12】
前記車線内の前記軌跡に基づいて、前記車線に関連する車線基準線を計算することは、
前記軌跡のうちの残りの軌跡から著しく外れた任意の軌跡を削除することと、
平滑化動作を実行することによって前記残りの軌跡を平滑化することと、
平滑化された軌道のうちの平均軌跡を計算することによって前記車線基準線を表すことと、
を含む、
請求項9に記載の非一時的な機械可読媒体。
【請求項13】
前記動作は、前記車両の軌跡に基づいて、前記道路セグメント内の前記車線の各々の車線幅を決定することをさらに含み、ここで、前記車線幅は前記車線構成データベースに記憶されている請求項9に記載の非一時的な機械可読媒体。
【請求項14】
前記動作は、
ネットワークを介して自動運転車両から第2道路セグメントの車線基準線に対する要求を受信することと、
前記第2道路セグメントに基づいて前記車線構成データベースを照会することによって、前記第2道路セグメントに関連する1つ以上の車線基準線を検索することと、
検索された車線基準線を前記自動運転車両に送信することと、
をさらに含む、
請求項9に記載の非一時的な機械可読媒体。
【請求項15】
前記要求は、前記第2道路セグメントに関連する道路基準線の始点と終点を含み、ここで、前記道路基準線は、前記車線構成データベースを照会することによって前記車線基準線を検索するためのものである請求項14に記載の非一時的な機械可読媒体。
【請求項16】
前記車線構成データベースは複数のマッピングエントリを含み、ここで、各マッピングエントリはいずれも特定の道路基準線を1つ以上の車線基準線にマッピングする請求項14に記載の非一時的な機械可読媒体。
【請求項17】
自動運転車両を動作するためのコンピュータ実施方法であって、
ナビゲーション地図に基づいて、出発地と目的地とを結ぶ1つ以上の道路を決定することと、
前記出発地から前記目的地までの前記道路の各々について、前記ナビゲーション地図から道路基準線を取得し、前記道路基準線に基づいて車線構成データベースにアクセスすることによって、前記道路内の1つ以上の車線に関連する1つ以上の車線基準線を識別し検索することであって、前記車線基準線は、関連する車線内にあり、且つ、一定期間にわたって前記1つ以上の道路内の複数の車両が走行する複数の軌道に基づいて生成されることと、
前記1つ以上の道路の前記車線基準線に基づいてルートを計画することと、
前記ルートに従って前記自動運転車両を前記出発地から前記目的地まで自動運転することと、
を含み、
前記車線構成データベースに、請求項1~8のいずれか一項に記載の方法により生成された道路の車線構成の情報が記憶されている、方法。
【請求項18】
車線構成データベースにアクセスすることは、
ネットワークを介して前記道路基準線を前記車線構成データベースが記憶されているリモートサーバに送信することと、
ネットワークを介して前記リモートサーバから前記1つ以上の車線基準線を受信することと、
を含む、
請求項17に記載のコンピュータ実施方法。
【請求項19】
前記リモートサーバは、高解像度地図を使用せずに、前記道路基準線に基づいて、前記車線基準線を決定する請求項18に記載のコンピュータ実施方法。
【請求項20】
前記車線基準線は、一定期間にわたって前記1つ以上の道路内の複数の車両が走行する複数の軌道に基づいて前記リモートサーバによって生成される請求項18に記載のコンピュータ実施方法。
【請求項21】
前記車線構成データベースは複数のマッピングエントリを含み、ここで、各マッピングエントリはいずれも特定の道路基準線を1つ以上の車線基準線にマッピングする請求項17に記載のコンピュータ実施方法。
【請求項22】
前記ナビゲーション地図に前記道路の車線構成が含まれていない請求項17に記載のコンピュータ実施方法。
【請求項23】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項1~8のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【請求項24】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項17~22のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、主に自動運転車両の動作に関する。より具体的には、本発明の実施形態は、標準的なナビゲーション地図と車両の過去の軌跡に基づいて決定された車線構成を利用した自動運転に関する
【背景技術】
【0002】
自動運転モード(例えば、無人運転)で運転している車両は、運転に関連するいくつかの責任から乗員、特に運転手を解放することができる。自動運転モードで運転しているとき、車両は車載センサーを使用してさまざまな地点にナビゲートされることができるため、車両が最小限のヒューマンコンピュータインタラクションや乗客なしなどの状況で走行することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
運動計画および制御は自動運転における重要な動作である。通常、自動運転の計画は地図情報に大きく依存し、ユーザーの介入なしに自動運転車両(ADV)を案内する。GoogleやBaidu地図のような一般的な地図とは、道路の間でナビゲートするのに使用できるナビゲーション地図のことである。しかしながら、このようなナビゲーション地図には、車線構成情報などの詳細がない。したがって、ナビゲーション地図は自動運転には十分ではない。ADVを自動運転するためには、道路の車線構成を含む高解像度(HD)地図が必要である。しかしながら、このようなHD地図はいくつかの時には利用できない場合があり、かつ、HD地図を生成して維持するのは一般に高価である。
【課題を解決するための手段】
【0004】
本発明に係る一態様は、自動運転のための道路の車線構成を生成するためのコンピュータ実施方法であって、
一定期間にわたって道路の道路セグメントを通過するようにナビゲートする複数の車両が走行する一組の軌跡を記述する感知データを受信することと、
一組のルールを使用して、前記軌跡を解析することによって、前記道路セグメント内の1つ以上の車線を決定することと、
前記1つ以上の車線の各々について、前記車線内の前記軌跡に基づいて、前記車線に関連する車線基準線を計算することと、
前記道路セグメントに対応する前記1つ以上の車線の車線基準線を車線構成データベースに記憶することと、
を含み、
ここで、前記車線基準線は、高解像度地図を使用せずに前記道路セグメントを通過するように車両を自動運転するために利用される、
方法に関する。
【0005】
本発明に係る別の一態様は、命令が記憶されている非一時的な機械可読媒体であって、
前記命令がプロセッサによって実行される場合に、
一定期間にわたって道路の道路セグメントを通過するようにナビゲートする複数の車両が走行する一組の軌跡を記述する感知データを受信することと、
一組のルールを使用して、前記軌跡を解析することによって、前記道路セグメント内の1つ以上の車線を決定することと、
前記1つ以上の車線の各々について、前記車線内の前記軌跡に基づいて、前記車線に関連する車線基準線を計算することと、
前記道路セグメントに対応する前記1つ以上の車線の前記車線基準線を車線構成データベースに記憶することと、
を前記プロセッサに実行させ、
ここで、前記車線基準線は、高解像度地図を使用せずに前記道路セグメントを通過するように車両を自動運転するために利用される、
非一時的な機械可読媒体に関する。
【0006】
本発明に係るさらに別の一態様は、自動運転車両を動作するためのコンピュータ実施方法であって、
ナビゲーション地図に基づいて、出発地と目的地とを結ぶ1つ以上の道路を決定することと、
前記出発地から前記目的地までの前記道路の各々について、前記ナビゲーション地図から道路基準線を取得し、前記道路基準線に基づいて車線構成データベースにアクセスすることによって、前記道路内の1つ以上の車線に関連する1つ以上の車線基準線を識別し検索することと、
前記1つ以上の道路の前記車線基準線に基づいてルートを計画することと、
前記ルートに従って前記自動運転車両を前記出発地から前記目的地まで自動運転することと、
を含む方法に関する。
【図面の簡単な説明】
【0007】
図1】一実施形態に係るネットワーク化システムを示すブロック図である。
図2】一実施形態に係る自動運転車両の例を示すブロック図である。
図3A】一実施形態に係る自動運転車両と共に使用される感知・計画システムの例を示すブロック図である。
図3B】一実施形態に係る自動運転車両と共に使用される感知・計画システムの例を示すブロック図である。
図4】一実施形態に係る車線構成データ構造を示す図である。
図5】一実施形態によるクラウドソーシング自動運転データ収集システムを示す図である。
図6】一実施形態による地図更新システムの例を示すブロック図である。
図7A】一実施形態に係る道路セグメントの車線構成を生成するプロセスを示す図である。
図7B】一実施形態に係る道路セグメントの車線構成を生成するプロセスを示す図である。
図7C】一実施形態に係る道路セグメントの車線構成を生成するプロセスを示す図である。
図8】一実施形態に係る過去の軌跡に基づいて車線構成を生成するプロセスを示すフローチャートである。
図9】一実施形態に係る地図サービスを提供するプロセスを示すフローチャートである。
図10】一実施形態に係る自動運転車両を動作するプロセスを示すフローチャートである。
図11】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【0008】
本発明の様々な実施形態および態様を以下に検討される詳細を参照して記載し、図面には、前記様々な実施形態が示されている。以下の記載及び図面は本発明を説明するためのものであり、本発明を限定するものと解釈されるべきではない。特定の詳細を多く記載することは、本発明の様々な実施形態を完全に理解するためである。しかしながら、本発明の実施形態を簡潔に検討するために、周知または従来の詳細は記載しない場合もある。
【0009】
本明細書における「一実施形態」または「実施形態」への言及は、当該実施形態に関連して説明された特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれ得ることを意味する。本明細書の様々な箇所に出現する「一実施形態では」とは、必ずしも全て同じ実施形態を指すわけではない。
【0010】
本発明の一実施形態によれば、感知データは、ネットワーク(例えば、クラウドネットワーク)を介して、複数の自動運転車両(ADV)のようなクラウドソーシングデータの提供側から受信される。感知データは、いくつかの車両が道路の道路セグメントを通過するように走行した一組の軌跡を記述する情報と、同じ道路セグメントを走行する1つ以上のADVがそれらの対応するセンサー(例えば、カメラ)を使用して感知した情報とを含む。感知データに応答して、感知データ(すなわち、軌跡)を解析することによって、道路セグメント内の1つ以上の車線を決定する。車線の各々について、対応する車線内の軌跡に基づいて、車線に関連する車線基準線を計算する。1つ以上の車線の車線基準線を記述する車線メタデータは、データベースなどの車線構成データ構造に記憶される。そして、車線構成データベースは、その後、高解像度(HD)地図を使用せずにリアルタイムで自動運転するために利用されることができる。
【0011】
一実施形態において、これらの車両も同じ道路内を走行している場合、1つ以上のADVの1つ以上のセンサーで車両の軌跡を観測する。ADVは、1つ以上のカメラを備え、当該1つ以上のカメラは、他の車両の道路内の異なる時点での走行状況(例えば、経路、速度、前進方向)を観測することができる。車線構成データ構造は、様々な道路のいくつかの道路セグメントのいくつかの車線基準線を記憶する。基準線の各々は、HD地図を使用せずに対応する道路セグメントを通過するようにナビゲートする車両の過去の軌跡に基づいて生成される。
【0012】
一実施形態において、車線に関連する車線基準線を計算する際に、残りの軌跡から著しく外れた任意の軌跡を考慮の上で削除する。残りの軌跡を平滑化する。次に、残りの軌跡から平均軌跡を計算することによって、対応する道路セグメントの目標車線基準線を表す。また、車線内の軌跡に基づいて車線の車線幅を計算する。例えば、車線幅は、2つの最も外側の軌跡の間の横方向距離に所定の緩衝距離またはマージンを加えたものに基づいて決定されてもよい。
【0013】
続いて、一実施形態によれば、特定の道路セグメントまたは道路の車線構成を要求する要求がADVから受信される。要求に応答して、道路セグメント識別子または道路識別子に基づいて車線構成データベース内で照会を行うことによって、道路セグメントまたは道路内の1つ以上の車線に関連する1つ以上の車線基準線を決定または検索する。この後、車線の選択可能な車線幅を有する基準線をADVに戻すことによって、ADVがHD地図を使用せずにADVを計画し制御することを可能にする。この要求は、ADVにおける標準的なナビゲーション地図から取得された道路基準線の始点および終点を含むことができる。始点と終点および道路識別子に基づいて、対応する車線基準線を決定することができる。
【0014】
続いて、一実施形態によれば、要求を受信して、ADVを出発地から目的地まで運転する。ADV内のユーザーインターフェースを介して乗客から要求を受信することができる。当該要求に応答して、標準的なナビゲーション地図に基づいて、出発地と目的地とを結ぶ1つ以上の道路を決定する。出発地から前記目的地までの道路の各々について、ナビゲーション地図から道路基準線を取得する。道路基準線に基づいて車線構成データ構造で照会を行うことによって、HD地図を使用せずに、道路内の1つ以上の車線に関連する1つ以上の車線基準線を取得する。車線基準線に基づいてルートを計画することによって、ADVを出発地から目的地まで自動運転する。
【0015】
一実施形態において、車線構成データ構造を照会するときに、照会はネットワークを介してリモートサーバに送信され、ここで、リモートサーバには車線構成データベースが記憶されている。当該照会に応答して、リモートサーバは、道路基準線に基づいて車線構成データベースにアクセスすることによって、HDマップを使用せずに、車線基準線を識別し検索する。この後、リモートサーバは、ADVの自動運転のために、車線基準線をADVに送り返す。
【0016】
図1は、本発明の一実施形態に係る自動運転車両ネットワーク構成を示すブロック図である。図1Aを参照すると、ネットワーク構成100は、ネットワーク102を介して1つまたは複数のサーバ103~104に通信可能に接続された自動運転車両101を含む。1つの自動運転車両が示されているが、複数の自動運転車両がネットワーク102を介して互いに接続され、および/またはサーバ103~104に接続されることが可能でる。ネットワーク102は、有線または無線のローカルエリアネットワーク(LAN)、インターネットなどの広域ネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、またはそれらの組み合わせなどの任意のタイプのネットワークであってもよい。サーバ103~104は、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、またはそれらの組み合わせなどの任意のタイプのサーバまたはサーバ・クラスタであってもよい。サーバ103~104は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図・関心点(MPOI:map and point of interest)サーバまたはロケーションサーバなどであってもよい。
【0017】
自動運転車両とは、自動運転モードになるように配置可能な車両を指し、前記自動運転モードで、運転者からの入力がほとんどまたは全くない状況で、車両が周囲の環境をナビゲートして通過する。このような自動運転車両は、車両の走行環境に関連する情報を検出するように構成された1つ以上のセンサを有するセンサーシステムを含むことが可能である。前記車両及びかかるコントローラは、検出された情報を使用して周囲の環境をナビゲートして通過する。自動運転車両101は、手動モード、全自動運転モード、または一部自動運転モードで運転することができる。
【0018】
一実施形態では、自動運転車両101は、感知・計画システム110、車両制御システム111、無線通信システム112、ユーザインタフェースシステム113、およびセンサーシステム115を含むが、これらに限定されない。自動運転車両101はエンジン、ホイール、ステアリングホイール、トランスミッションなどの一般の車両に含まれるいくつかの共通の要素をさらに含み、例えば加速信号または命令、減速信号または命令、ステアリング信号または命令、ブレーキ信号または命令などの様々な通信信号および/または命令を使用して、車両制御システム111および/または感知・計画システム110によって、前記要素を制御してもよい。
【0019】
要素110~115同士は、インターコネクト、バス、ネットワーク、またはそれらの組み合わせを介して通信可能に接続されることが可能である。例えば、要素110~115同士は、コントローラエリアネットワーク(CAN)バスを介して通信可能に接続されることができる。CANバスは、マイクロコントローラとデバイスがホストコンピュータなしのアプリケーションで互いに通信することを許容するように設計された車両バス規格である。これは、もともと自動車内の多重電気配線のために設計されたメッセージベースのプロトコルでしたが、他の多くの環境でも使用されている。
【0020】
次に、図2を参照すると、一実施形態では、センサーシステム115は、1つ以上のカメラ211と、全地球測位システム(GPS)ユニット212と、慣性計測ユニット(IMU)213と、レーダユニット214と、光検出・測距(LIDAR)ユニット215とを含むが、これらに限定されない。GPSユニット212は、自動運転車両の位置に関する情報を提供するように動作できる送受信機を含むことができる。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置および向きの変化を検知することができる。レーダユニット214は、無線信号を利用して自動運転車両のローカル環境内の対象物を感知するシステムを表すことができる。いくつかの実施形態では、対象物を感知することに加えて、レーダーユニット214は、対象物の速度および/または進行方向をさらに感知することができる。LIDARユニット215は、レーザを使用することにより自動運転車両が存在する環境における対象物を感知することができる。他のシステム要素を除いて、LIDARユニット215は、1つ以上のレーザ源、レーザスキャナ、および1つ以上の検出器も含むことができる。カメラ211は、自動運転車両の周囲の環境の画像を取得するための1つ以上の装置を含むことができる。カメラ211は、スチルカメラおよび/またはビデオカメラであってもよい。カメラは、例えば回転および/または傾斜プラットフォーム上にカメラを取り付けることによって、機械的に移動可能なものであってもよい。
【0021】
センサーシステム115は、ソナーセンサー、赤外線センサー、ステアリングセンサー、スロットルセンサー、ブレーキセンサー、およびオーディオセンサー(例えば、マイクロフォン)などの他のセンサーをさらに含むことができる。オーディオセンサーは、自動運転車両の周囲の環境から音を集音するように構成されることができる。ステアリングセンサーは、ステアリングホイール、車両の車輪、またはそれらの組み合わせの操舵角を感知するように構成されることができる。スロットルセンサーおよびブレーキセンサーは、それぞれ車両のスロットル位置およびブレーキ位置を検知する。スロットルセンサー及びブレーキセンサーは、集積式スロットル/ブレーキセンサーとして集積される場合もある。
【0022】
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットとも呼ばれる)、およびブレーキユニット203を含むが、これらに限定されない。ステアリングユニット201は、車両の向きまたは進行方向を調整するために使用される。スロットルユニット202は、モータまたはエンジンの速度を制御して車両の速度および加速度を制御するために使用される。ブレーキユニット203は、摩擦を与えて車両の車輪またはタイヤを減速させることによって車両を減速させる。なお、図2に示される要素は、ハードウェア、ソフトウェア、またはそれらの組み合わせによって実施されることができる。
【0023】
図1に戻って参照すると、無線通信システム112は、自動運転車両101と装置、センサー、他の車両などの外部システムとの間の通信を可能にする。例えば、無線通信システム112は、直接またはネットワーク102とサーバ103~104などの通信ネットワークを介して1つ以上の装置と無線通信することができる。無線通信システム112は、別の要素またはシステムと通信するために、例えばWiFiなどの任意のセルラー通信ネットワークまたは無線ローカルエリアネットワーク(WLAN)を使用することができる。無線通信システム112は、例えば赤外線リンク、Bluetoothなどを使用して装置(例えば、乗客の移動装置、表示装置、車両101内のスピーカー)と直接通信することができる。ユーザインタフェースシステム113は、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、およびスピーカなどを含む車両101内に実施される周辺装置の一部であってもよい。
【0024】
特に自動運転モードで動作しているときに、自動運転車両101の機能の一部または全部を感知・計画システム110によって制御または管理することができる。感知・計画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)およびソフトウェア(例えば、オペレーティングシステム、計画・ルーティングプログラム)を含むことにより、センサーシステム115、制御システム111、無線通信システム112および/またはユーザインターフェースシステム113から情報を受信し、受信した情報を処理し、出発地から目的地までのルートまたは経路を計画し、その後、計画および制御情報に基づいて車両101を運転する。代わりに、感知・計画システム110を車両制御システム111と統合することができる。
【0025】
例えば、乗客であるユーザは、例えばユーザインターフェースを介して、旅程の出発地と目的地を指定することができる。感知・計画システム110は旅程関連データを取得する。例えば、感知・計画システム110は、MPOIサーバから位置および経路情報を取得することができ、MPOIサーバはサーバ103~104の一部である可能である。ロケーションサーバはロケーションサービスを提供し、MPOIサーバはマップサービスとあるロケーションのPOIを提供する。代わりに、このような位置およびMPOI情報を感知・計画システム110の永続記憶装置にローカルキャッシュすることができる。
【0026】
自動運転車両101が経路に沿って移動するときに、感知・計画システム110は、交通情報システムまたはサーバ(TIS)からリアルタイム交通情報を取得することができる。なお、サーバ103~104は第三者のエンティティによって動作されることが可能である。代わりに、サーバ103~104の機能を感知・計画システム110に集積されてもよい。リアルタイム交通情報、MPOI情報およびロケーション情報、ならびにセンサーシステム115によって検出または感知されたリアルタイムローカル環境データ(例えば、障害物、対象物、近くの車両)に基づいて、感知・計画システム110は最適経路を計画し、計画された最適経路に従って、例えば、制御システム111を介して、安全かつ効率的に指定された目的地に到達するように車両101を運転することができる。
【0027】
サーバ103は、様々な顧客に対してデータ分析サービスを実行するためのデータ分析システムであってもよい。一実施形態では、データ分析システム103は、データ収集装置121と機械学習エンジン122とを含む。データ収集装置121は、様々な車両(自動運転車両または人間の運転手によって運転される従来の車両)から運転統計データ123を収集する。運転統計データ123は、出された運転命令(例えば、スロットル、ブレーキ、ステアリング命令)および異なる時点で車両のセンサーによって捕捉された車両の応答(例えば、速度、加速度、減速度、方向)を示す情報を含む。運転統計データ123は、ルート(出発地および目的地を含む)、MPOI、道路状況、気象状況などの異なる時点における運転環境を記述する情報を含むこともできる。
【0028】
また、データ収集装置121は、いくつかの車両が様々な道路を走行する軌跡をさらに収集することができ、これらの軌跡は、いくつかの自動運転車両がそれぞれのセンサーを使用して感知することができる。ネットワークを介して自動運転車両から軌跡に関する軌跡情報をクラウドソーシングデータ収集メカニズムの一部として受信することができる。
【0029】
運転統計データ123に基づいて、機械学習エンジン122は、様々な目的のために1組のルール、アルゴリズムおよび/または予測モデル124を生成または訓練する。一実施形態では、アルゴリズム124は、車両の運転挙動を検出または決定し、車両の過去の走行の軌跡に基づいて車線構成を導出するアルゴリズムまたはモデルを含むことができる。次いで、地図更新システム125は、アルゴリズム124を使用して、自動運転に十分な軌跡情報に対する解析に基づいて、車線基準線などの道路の車線構成を決定することができる。自動運転のためのより高解像度な地図を形成するために、ADVは、標準的なナビゲーション地図を参照して車線基準線を使用することができる。より高解像度な地図は、道路内の1つ以上の車線の車線基準線などの車線構成情報を含み、ここで、ナビゲーション地図は通常、このような車線構成情報を欠いている。また、ナビゲーション地図から取得された道路基準線と軌跡に基づいて決定された車線基準線との対応関係を記憶するために、車線構成データベースを作成することができる。車線構成データベースは、サーバ103によって記憶され、ネットワークを介してリアルタイムでアクセスできる。代わりに、車線構成データベースは自動運転車両にアップロードされ、その後自動運転を行うことができる。
【0030】
図3A図3Bは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの例を示すブロック図である。システム300は、図1の自動運転車両101の一部として実施されることができ、感知・計画システム110、制御システム111、およびセンサーシステム115を含むが、これらに限定されない。図3A図3Bを参照すると、感知・計画システム110は、測位モジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、ルーティングモジュール307および地図モジュール308を含むが、これらに限定されない。
【0031】
モジュール301~308のうちのいくつかまたはすべては、ソフトウェア、ハードウェア、またはそれらの組み合わせで実施されることが可能である。例えば、これらのモジュールは、永続記憶装置352にインストールされ、メモリ351にロードされ、そして1つ以上のプロセッサ(図示せず)によって実行されることができる。なお、これらのモジュールのうちのいくつかまたはすべてが、図2の車両制御システム111のモジュールのうちのいくつかまたはすべてに通信可能に接続されるかまたはそれらと一体に集積される。モジュール301~308のいくつかは、統合モジュールとして一体に集積されてもよい。
【0032】
測位モジュール301、自動運転車両300の現在位置を(例えば、GPSユニット212を利用し)特定するとともに、ユーザの旅程または経路に関連するいかなるデータを管理する。測位モジュール301(地図・ルーティングモジュールとも呼ばれる)は、ユーザの旅程または経路に関連するいかなるデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして、旅程の出発地と目的地を指定することができる。測位モジュール301は、旅程関連データを取得するために、地図・経路情報311などの自動運転車両300の他の要素と通信する。例えば、測位モジュール301は、ロケーションサーバおよび地図およびPOI(MPOI)サーバからロケーションおよび経路情報を取得することができる。ロケーションサーバはロケーションサービスを提供し、MPOIサーバはマップサービスとあるロケーションのPOIを提供することにより、マップおよびルート情報の一部としてキャッシュされる。自動運転車両300が経路に沿って移動するときに、測位モジュール301は、交通情報システムまたはサーバからリアルタイム交通情報を取得することができる。
【0033】
センサーシステム115によって提供されたセンサーデータと測位モジュール301によって得られた測位情報とに基づいて、感知モジュール302は周囲環境への感知を特定する。感知情報は、普通の運転者が運転者が運転している車両の周りで感知するであろうものを表すことができる。感知は、例えば、対象物の形態の車線構成、信号機信号、他の車両の相対位置、歩行者、建物、横断歩道、または他の交通関連標識(例えば、停止標識、道譲り標識)などを含むことができる。車線構成は、例えば、車線の形状(例えば、直線または屈曲)、車線の幅、道路内の車線数、一方向または両方向の車線、合流または分離車線、退出車線などの1つ以上の車線を記述する情報を含む。
【0034】
感知モジュール302は、1つ以上のカメラによって取得された画像を処理し分析するためのコンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことにより、自動運転車両環境内の対象物および/または特徴を識別することができる。前記対象物は、交通信号、道路境界、他の車両、歩行者および/または障害物などを含む。コンピュータビジョンシステムは、対象物認識アルゴリズム、ビデオ追跡、およびその他のコンピュータビジョン技術を使用できる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描き、物体を追跡し、そして対象物の速度等を推定することができる。感知モジュール302は、レーダおよび/またはLIDARなどの他のセンサーによって提供される他のセンサーデータに基づいて対象物を検出することもできる。
【0035】
各対象物に対し、予測モジュール303は、この状況において対象物がどのように動作するかを予測する。予測は、一組の地図・経路情報311および交通ルール312を考慮した時点で運転環境を感知する感知データに基づいて実行される。例えば、対象物が反対方向の車両であり、且つ、現在の運転環境が交差点を含む場合、予測モジュール303は、車両が直進するか、または会見旋回するかを予測する。感知データが交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止しなければいけない可能性があると予測することがある。感知データが車両が現在左折専用車線または右折専用車線にあることを示す場合、予測モジュール303は、車両がそれぞれ左折または右折する可能性が高いと予測することができる。
【0036】
各対象物に対し、決定モジュール304は、対象物をどのように対応するかを決定する。例えば、特定の対象物(例えば、交差ルート内の他の車両)及び対象物を記述するメタデータ(例えば、速度、方向、回転角度)に対し、決定モジュール304は、前記対象物に遭遇する時どのように動作するか(例えば、追い越し、道譲り、停止、超過)を決定する。決定モジュール304は、永続記憶装置352に記憶されることができる交通ルールまたは運転ルール312などのルールセットに基づいてこのような決定を下すことができる。
【0037】
ルーティングモジュール307は、出発地から目的地までの1つ以上の経路またはルートを提供するように構成される。例えばユーザから受信した所与の旅程などの出発地から目的地までの所与の旅程に対し、ルーティングモジュール307は、地図・経路情報311を取得し、出発地から目的地までのすべての可能な経路またはルートを決定する。ルーティングモジュール307は、出発地から目的地までの各経路を決定する地形図の形態の基準線を生成することができる。基準線とは、他の車両、障害物、または交通状況などの他のものからの干渉がない理想的な経路またはルートを指す。つまり、道路上に他の車両、歩行者、または障害物がない場合、ADVは基準線に正確にまたは密接に従うべきである。そして、地形図を決定モジュール304および/または計画モジュール305に提供する。決定モジュール304および/または計画モジュール305は、他のモジュールによって提供される他のデータに基づいて最適の経路のうちの1つを選択し変更するためにすべての可能な経路を検査し、ここで、他のデータは、測位モジュール301からの交通状況、感知モジュール302によって感知された運転環境、および予測モジュール303によって予測された交通状況などである。時点での特定の運転環境に応じて、ADVを制御するための実際の経路またはルートは、ルーティングモジュール307によって提供される基準線に近いかまたは異なることがある。
【0038】
感知された対象物に対する各決定に基づいて、計画モジュール305は、基礎としてルーティングモジュール307によって提供される基準線を使用することにより、自動運転車両に対し経路またはルートおよび運転パラメータ(例えば、距離、速度および/または旋回角度)を計画する。言い換えれば、所与の対象物に対し、決定モジュール304は当該対象物をどうするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、所与の対象物に対し、決定モジュール304は前記対象物を超過することと決定することができ、計画モジュール305は前記対象物の左側または右側のどちらを超過するかを決定することができる。計画・制御データは、計画モジュール305によって生成され、車両300が次の移動サイクル(例えば、次のルート/経路セグメント)においてどのように移動するかを記述する情報を含む。例えば、計画・制御データは、30マイル/時(mph)の速度で10メートル移動し、次に25mphの速度で右車線に変更するように車両300に指示することができる。
【0039】
計画・制御データに基づいて、制御モジュール306は、計画・制御データによって限られた経路またはルートに基づいて適切な命令または信号を車両制御システム111に送信することによって自動運転車両を制御し運転する。前記計画・制御データは、十分な情報を含むことにより、経路またはルートに沿って異なる時点で適切な車両設定または運転パラメータ(例えば、スロットル、ブレーキ、および旋回命令)を使用して、経路またはルートの第1の地点から第2の地点まで車両を走行させる。
【0040】
一実施形態では、計画段階は、複数の計画サイクル(運転サイクルとも呼ばれる)で、例えば各時間間隔100ミリ秒(ms)のサイクルで実行される。計画サイクルまたは運転サイクルのそれぞれについて、計画・制御データに基づいて1つ以上の制御命令を発する。すなわち、100msごとに、計画モジュール305は、例えば対象物位置およびADVが対象物位置に到達するのに必要な時間を含めて、次のルートセグメントまたは経路セグメントを計画する。代わりに、計画モジュール305は、具体的な速度、方向、および/または操舵角などを計画することもできる。一実施形態では、計画モジュール305は、次の所定の期間(例えば5秒間)についてルートセグメントまたは経路セグメントを計画する。各計画サイクルに対して、計画モジュール305は、前のサイクルで計画された目標位置に基づいて現在のサイクル(例えば次の5秒間)の目標位置を計画する。次に、制御モジュール306は、現在のサイクルの計画・制御データに基づいて、1つ以上の制御命令(例えば、スロットル、ブレーキ、ステアリング制御命令)を生成する。
【0041】
なお、決定モジュール304および計画モジュール305は集積モジュールとして集積されてもよい。決定モジュール304 /計画モジュール305は、自動運転車両の運転経路を決定するためのナビゲーションシステムまたはナビゲーションシステムの機能を含むことができる。例えば、ナビゲーションシステムは、自動運転車両が自動運転車両を最終目的地に至る車道に基づく経路に沿って前進させながら感知された障害物を実質的に避ける経路に沿って移動することを達成するための一連の速度及び進行方向を決定することができる。目的地は、ユーザインタフェースシステム113を介したユーザ入力に従って設定されることができる。ナビゲーションシステムは、自動運転車両の運転中に運転経路を動的に更新することができる。ナビゲーションシステムは、GPSシステムと1つ以上の地図からのデータを組み合わせることにより、自動運転車両の運転経路を決定することができる。
【0042】
一実施形態によれば、地図モジュール308は、モジュール301~モジュール307などの他のモジュールに対し地図サービスを提供するように構成されている。出発地から目的地までの経路を作成する要求に応答して、地図モジュール308は、ナビゲーション地図の地図セグメントを識別し決定するように構成され、当該地図セグメントは、地図・経路情報311の一部として記憶されることができる。地図モジュール308は、ナビゲーション地図から、出発地と目的地との間の道路の道路基準線を得ることができる。地図モジュール308は、道路基準線に基づいて、車線構成データベース313において検索を実行することによって、道路内の1つ以上の車線に関連する1つ以上の車線基準線を得る。モジュール301~モジュール307は、当該車線基準線を利用して経路を計画し、経路に従って車両を自動的に運転することができる。
【0043】
一実施形態では、一例として、図4に示すように、車線構成データベース313は幾つかのエントリを含む。各エントリはいずれも道路の特定の道路基準線または道路IDを道路内の1つ以上の車線に関連する1つ以上の車線基準線にマッピングする。車線構成データベース313は、サーバ103などのデータ解析サーバによって、過去の感知データ(いくつかの車両がいくつかの道路を通過するように走行する過去の軌跡など)に基づいて生成されることができる。感知データまたは軌跡は、同じ道路を走行するADVなどの他の車両によって捕捉されることができる。図5に示すように、感知データを捕捉する車両の各々は、いずれも、クラウドソーシング方式で、ネットワークを介して感知データを中央サーバ103に送信するように構成されている。
【0044】
中央サーバ103が感知データを解析することによって道路の車線構成を決定することは、道路内の車線に関連する車線基準線を生成することを含む。この解析に基づいて、車線構成データベース313を作成し、次いで、リアルタイムで自動運転するために、車線構成データベース313をADVにアップロードする。なお、車線構成データベース313は、サーバから定期的に更新または同期され、車両内にキャッシュされることができる。代わりに、地図モジュール308は、特定の道路基準線に応答して、ネットワークを介してリモートサーバに動的にアクセスすることによって、1つ以上の車線基準線を取得するように構成されている。
【0045】
図6は、一実施形態による地図更新システムの例を示すブロック図である。図6を参照すると、地図更新システム125は、軌跡解析モジュール501、車線基準線生成器502、及び選択可能な地図更新モジュール503を含むが、これらに限定されない。一実施形態によれば、軌跡解析モジュール501は、車両軌跡データベース512に記憶された軌跡データを解析するように構成される。車両軌跡データベース512に記憶された軌跡データは、多くの車両(例えばADV)から収集されることができ、これらの車両は、例えば分散方式またはクラウドソーシング方式で、他の車両がさまざまな道路のさまざまな道路セグメントをどのように通過するかを感知する。
【0046】
一実施形態では、一般的なナビゲーション地図511から・BR>ッ別された道路の所与の道路セグメントについて、軌跡解析モジュール501は、車両軌跡データベース512から、同じ道路セグメントを通過するように走行する幾つかの車両の運転パターンを示す一組の軌跡を決定する。次に、解析モジュール501は、一組の解析ルール(またはアルゴリズムまたは予測モデル)513を使用して、道路セグメントに関連する軌跡を解析することによって、車両の運転挙動またはパターンを決定する。例えば、ルールおよび/またはアルゴリズム124の一部として、ルール513は、データコレクタ121によって過去に収集された大量の運転統計データ123に基づいて、機械学習エンジン(例えば、機械学習エンジン122)によってトレーニングおよび生成されることができる。
【0047】
車両の運転挙動に基づいて、車線基準線生成器502(車線構成決定モジュールとも呼ばれる)は、道路セグメントを有する車線の数を決定するように構成されている。各車線については、車線基準線生成器502は、車線に対応する軌跡に基づいて基準線を計算する。例えば、車線基準線生成器502は、同じ車線内の全ての軌跡の平均軌跡を計算することによって車線基準線を表すことができる。一実施形態では、車線基準線を計算する前に、外れた軌跡の幾つかを考慮の上で削除することができる。また、車線基準線を計算する前に軌道を滑らかにするために、多項式フィッティングなどの平滑化動作を実行することができる。
【0048】
次に、決定された基準線を車線構成データベース514に記憶する。一実施形態では、車線構成データベース514はいくつかのエントリを含む。各エントリはいずれも特定の道路基準線(または特定の道路基準線を識別する道路基準線ID)を1つ以上の車線基準線(または車線基準線を識別する車線基準線ID)にマッピングする。HD地図を使用せずに、自動運転するために、車線構成データベース514をADVにアップロードすることができる。代わりに、APIを保存することによって、ADVのいずれかが自動運転期間に車線構成データベース514にリアルタイムでアクセスできるようにする。選択肢として、地図更新モジュール503は、車線構成に基づいて標準的なナビゲーション地図を更新することによって、自動運転に十分な高解像度な地図を生成することができる。
【0049】
図7Aを参照すると、図7Aは、標準的なナビゲーション地図によって通常提供される道路セグメントを示す。ナビゲーション地図は、通常、例えば道路基準線、道路幅、道路が高速道路であるか地方道路であるかなどの道路セグメントに関する道路レベル情報のみを提供することができる。ナビゲーション地図は、車線の数や車線の車線幅などの車線構成を提供しない。
【0050】
図7Bは、ナビゲーション地図の道路セグメントに投影された軌跡を示し、これらの軌跡は、いくつの車両が一定期間にわたって同じ道路セグメントを通過するように走行した経路を表す。軌跡は、自動運転車両のようないくつかの車から中央サーバで受信されることができ、ここで、それらの車両は、車両に取り付けられたセンサ(例えば、カメラ)を使用して、他の車両が同じ道路セグメントをどのように通過したかを感知する。それらは、それらのセンサを使用して、当該道路セグメントを通過するように走行する他の車両の軌跡も捕捉した。捕捉された軌跡は、例えばサーバに記憶された軌跡データの一部として、一定の処理の後に軌跡を記述する軌跡メタデータの形で中央サーバに送信される。代わりに、軌道に対する処理は、中央サーバで実行されてもよく、ここで、車両は、感知された環境の画像をサーバに簡単に送信してもよい。しかし、このような構成は、より高いネットワーク帯域幅とより大きな記憶スペースを必要とする可能性がある。
【0051】
一実施形態によれば、この例では、解析モジュール501は、道路セグメント700内の第1の軌跡グループ701および第2の軌跡グループ702を検出することができる。2つのグループのほとんどの軌跡が2つの主流に分かれることに基づいて、当該グループの解析ルールを使用して、道路700内には2つの車線、すなわち、車線711と車線712が存在する可能性があると推定することができる。軌跡グループ701~702の各グループについて、例えば、全ての軌跡の中の平均軌跡を計算することによって、例えば図7Cに示す車線基準線721~車線基準線722のような車線基準線が計算される。
【0052】
また、一実施形態によれば、例えば、検出された車線を均等に分割することによって、各車線の車線幅を決定してもよい。なお、例えば軌跡を測定することによって、最も左または最も右の車線の車線境界を決定することができる。例えば、軌跡の最も左および最も右の点の位置を測定することによって、頂点に緩衝量またはマージンを加えることによって車線境界を取得することができる。なお、運転挙動に基づいて、システムは、特定のエリアの周りで車線を変更しないことを検出することができる。すなわち、このエリアの周りで車線を変更した車両が存在しない。したがって、車線分離物のような静止物体が必ず存在し、当該車線分離物は、車線の横切りを防止することができる。このようなエリアは、地図上で車線の変更を許可しないことを示す。一方、周りで十分な緩衝エリアを追加することによって、当該軌跡に基づいて変更不可能エリアの周りで車線変更可能領域をラベル付けすることもできる。
【0053】
同様に、当該軌跡に基づいて道路セグメントの交差点を検出してもよい。例えば、道路の特定の位置に左または右に曲がる軌跡があるが、他の軌跡がまっすぐに進む場合、そこに交差点がある可能性があると合理的に想定できる。別の例では、カメラによって取得された画像には歩行者が示され、ほとんどまたは全ての車両がその位置で停止することを軌跡が示している場合、そこに歩行者横断歩道がある可能性があると合理的に想定できる。さらなる例では、システムがほとんどまたはすべての車両が特定の位置に数秒間停止してから移動を再開することを検出した場合、その位置に停止線または停止標識がある可能性があると合理的に想定できる。これらの発見は、車線構成情報の一部として記録されることができる。
【0054】
なお、軌跡は感知データの一例として利用される。本発明で記載された技術は、様々な車両の様々な過去の運転挙動および統計データに基づいて低解像度地図を更新して、自動運転に十分な高解像度地図になるためにも利用されることができる。
【0055】
図8は、一実施形態に係る道路の車線構成を生成するプロセスの一例を示すフローチャートである。プロセス800は、ソフトウェア、ハードウェアまたはそれらの組み合わせを含む処理ロジックによって実行されることができる。例えば、プロセス800は、地図更新システム125によって実行されることができる。図8を参照すると、動作801では、処理ロジックは、道路セグメントを通過するように走行する一組の車両に関連する一組の軌跡を受信する。クラウドソーシング方式で、同じ道路セグメントを通過するように走行する他の車両を観察する様々な車両から、軌跡を収集することができる。動作802では、処理ロジックは、軌跡を軌跡解析することによって、車両の運転挙動を決定する。動作803では、処理ロジックは、運転挙動に基づいて、各車線の道路セグメント内の車線数、車線幅、車線基準線などの当該道路セグメントの車線構成を決定する。動作804では、車線構成を記述する車線メタデータまたは車線構成情報が生成される。動作805では、車線構成情報を車線構成データベースに記憶し、ここで、車線構成データベースは、その後、リアルタイムで自動運転するために利用される。
【0056】
図9は、一実施形態に係る車線構成を地図サービスの一部として提供するプロセスを示すフローチャートである。プロセス900は、ソフトウェア、ハードウェアまたはそれらの組み合わせを含む処理ロジックによって実行されることができる。例えば、サービスプラットフォームは車線構成データベースを使用してプロセス900を実行することができ、ここで、当該車線構成データベースは、高解像度地図を使用しない過去の軌跡に基づいて作成された。図9を参照すると、動作901では、処理ロジックは、ADVから車線構成に対する要求を受信し、ここで、当該要求はルートの道路の始点と終点を含む。動作902では、選択肢として、処理ロジックは、ナビゲーション地図をもとで始点と終点に基づいて道路基準線を決定し、例えば、始点と終点をナビゲーション地図の対応する地図セグメント上に投影することによって、道路基準線を決定する。動作903では、道路または道路基準線の始点と終点に基づいて、処理ロジックは、車線構成データベースを照会することによって、対応する1つ以上の車線基準線を識別し検索する。動作904では、処理ロジックは、車線基準線を記述する車線メタデータをADVに送信することによって、ADVが当該車線基準線を利用して自動運転を行うことを可能にする。
【0057】
図10は、一実施形態に係る道路の車線構成を生成するプロセスの一例を示すフローチャートである。プロセス1000は、ソフトウェア、ハードウェアまたはそれらの組み合わせを含む処理ロジックによって実行されることができる。プロセス1000は、ADVの計画・制御システム110によって実行されることができる。図10を参照すると、動作1001では、処理ロジックは、道路セグメントの始点と終点をADVのルートの一部として決定する。動作1002では、選択肢として、処理ロジックは、道路セグメントに対応するナビゲーション地図の地図セグメントをもとで始点と終点に基づいて道路セグメントの道路基準線または道路構成を決定する。動作1003では、処理ロジックは、ネットワークを介して、始点と終点(または道路基準線や道路構成)をリモートサーバに送信して、道路セグメントの車線構成を検索する。動作1004では、処理ロジックは、リモートサーバから車線構成を受信する。車線構成は、道路セグメント内の1つ以上の車線に関連する1つ以上の車線基準線を含む。動作1005では、処理ロジックは、車線構成に基づいて経路を計画することによって、ADVを始点と終点からナビゲートするように運転する。
【0058】
なお、上述のように記載され説明された要素のいくつかまたはすべては、ソフトウェア、ハードウェア、またはそれらの組合せで実施されることが可能である。例えば、このような要素は、永続記憶装置にインストールされ記憶されるソフトウェアとして実施されることができ、前記ソフトウェアは、プロセッサ(図示せず)によってメモリにロードされ、メモリ内で実行されることにより、本願を通じて説明されるプロセスまたは動作を実施することができる。代わりに、このような要素は、(集積回路(例えば、特定用途向け集積回路またはASIC)、デジタル信号プロセッサ(DSP)、またはフィールドプログラマブルゲートアレイ(FPGA)などの専用ハードウェアにプログラムされまたは埋め込まれる実行可能コードとして実施されることができ、前記実行可能コードは、アプリケーションからの対応するドライバおよび/またはオペレーティングシステムを介してアクセスすることができる。また、このような要素は、ソフトウェア要素によって1つ以上の特定の命令を介してアクセスすることができる命令セットの一部として、プロセッサまたはプロセッサコア内の特定のハードウェアロジックとして実施されることが可能である。
【0059】
図11は、本発明の一実施形態と共に使用されることができるデータ処理システムの一例を示すブロック図である。例えば、システム1500は、上記プロセスまたは方法のうちのいずれかを実行する上記のデータ処理システムのうちのいずれかを表すことができ、例えば、感知・計画システム110または図1のサーバ103~104のいずれかを挙げられる。システム1500は多くの異なる要素を含むことができる。これらの要素は、集積回路(IC)、集積回路の一部、個別電子デバイス、または回路基板(コンピュータシステムのマザーボードまたはアドインカードなど)に適した他のモジュールとして実施されることが可能であり、あるいは他の形態でコンピュータシステムのラックに組み込まれる要素として実施されることが可能である。
【0060】
なお、システム1500は、コンピュータシステムの多くの要素の高レベルビューを示すことを意図している。しかしながら、いくつかの実施形態では、追加の要素を有してもよく、また、他の実施形態では、示されている要素の異なる構成を有してもよいことを理解すべきである。システム1500は、デスクトップパソコン、ラップトップパソコン、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤ、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、パーソナルコミュニケータ、ゲーム装置、ネットワークルータまたはハブ、ワイヤレスアクセスポイント(AP)またはリピーター、セットトップボックスあるいはそれらの組み合わせを表示することができる。また、単一の機械またはシステムのみが示されているが、「機械」または「システム」という用語は、本明細書で検討されている任意の1種類または複数の種類の方法を実行するために、1つ(または複数)の命令セットを個別でまたは共同で実行するための機械またはシステムの任意の組み合わせも含むと理解されるべきである。
【0061】
一実施形態では、システム1500は、バスまたはインターコネクト1510を介して接続されたプロセッサ1501、メモリ1503、および装置1505~1508を含む。プロセッサ1501は、単一のプロセッサコアまたは複数のプロセッサコアを含む単一のプロセッサまたは複数のプロセッサを示してもよい。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)などの1つまたは複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ1501は、複雑命令セット計算(CISC)マイクロプロセッサ、縮小命令セット計算(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、他の命令セットを実行するプロセッサ、または命令セットの組み合わせを実行するプロセッサであってもよい。プロセッサ1501は、また、特定用途向け集積回路(ASIC)、セルラまたはベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、グラフィックスプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組み込みプロセッサ、または命令を処理できるその他のタイプのロジックなどの1つまたは複数の専用プロセッサであってもよい。
【0062】
プロセッサ1501(これは、超低電圧プロセッサなどの低電力マルチコアプロセッサソケットであってもよい)は、前記システムの様々な要素と通信するための主処理ユニットおよび中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ(SoC)として実装されてもよい。プロセッサ1501は、本明細書で論じられる動作およびステップを実行するための命令を実行するように構成される。システム1500は、オプションのグラフィックサブシステム1504と通信するグラフィックインタフェースを含んでもよく、グラフィックサブシステム1504は、ディスプレイコントローラ、グラフィックプロセッサおよび/またはディスプレイデバイスを含み得る
【0063】
プロセッサ1501はメモリ1503と通信することができ、一実施形態では、メモリ1503は複数のメモリデバイスを介して、所与の量のシステムストレージを提供するように作動する。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、または他のタイプの記憶装置などの1つまたは複数の揮発性記憶(またはメモリ)装置を含むことができる。メモリ1503は、プロセッサ1501または他の任意の装置によって実行される一連の命令を含む情報を記憶することができる。例えば、さまざまなオペレーティングシステム、デバイスドライバ、ファームウェア(例えば、入出力基本システムまたはBIOS)および/またはアプリケーションの実行可能コードおよび/またはデータをメモリ1503にロードし、プロセッサ1501によって実行することができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム(ROS)、マイクロソフト(登録商標)からのウィンドウズ(登録商標)オペレーティングシステム、アップルからのマックOS(登録商標)/ iOS(登録商標)、グーグル(登録商標)からのアンドロイド(登録商標)、リナックス、 UNIX、またはその他のリアルタイムまたは組み込みオペレーティングシステムなどの任意のタイプのオペレーティングシステムであってもよい。
【0064】
システム1500は、ネットワークインターフェースデバイス1505、選択可能な入力デバイス1506、および他の選択可能なIOデバイス1507を含む、デバイス1505~1508などのIOデバイスも含むことができる。ネットワークインターフェースデバイス1505は、無線送受信機および/またはネットワークインターフェースカード(NIC)を含み得る。前記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース送受信機、WiMax送受信機、無線セルラー携帯電話送受信機、衛星送受信機(例えば全地球測位システム(GPS)送受信機)、他の無線周波数(RF)送受信機またはそれらの組み合わせであってもよい。NICはイーサネットカードであってもよい。
【0065】
入力装置1506は、マウス、タッチパネル、(ディスプレイ装置1504と統合することができる)タッチセンシティブスクリーン、(スタイラスなどの)ポインティングデバイスおよび/またはキーボード(例えば、物理的キーボードまたはタッチセンシティブスクリーンの一部として表示される仮想キーボード)を含み得る。例えば、入力装置1506は、タッチスクリーンに接続されたタッチスクリーンコントローラを含み得る。タッチスクリーンおよびタッチスクリーンコントローラは、例えば、複数の種類のタッチ感度技術(容量式、抵抗式、赤外線式、および表面弾性波式の技術を含むがこれらに限定されない)のいずれか、および、他の近接センサーアレイまたはタッチスクリーンと接触する1つまたは複数の点を決定するための他の要素を用いて、その接触および移動または不連続性を検出できる。
【0066】
IOデバイス1507はオーディオデバイスを含むことができる。音声装置は、音声認識、音声コピー、デジタル録音および/または電話機能などの音声対応機能を容易にするために、スピーカおよび/またはマイクロフォンを含むことができる。他のIOデバイス1507は、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCI ? PCIブリッジ)、センサー(例えば、加速度計モーションセンサー、ジャイロ、磁力計、光センサー、コンパス、近接センサーなど)またはそれらの組み合わせをさらに含み得る。IOデバイス1507は画像処理サブシステム(例えば、カメラ)をさらに含むことができ、前記画像処理サブシステムは、(写真およびビデオセグメントの記録などの)カメラ機能を容易にするための電荷結合素子(CCD)または相補型金属酸化膜半導体(CMOS)光センサーなどの光センサーを含むことができる。特定のセンサーはセンサーハブ(図示せず)を介してインターコネクト1510に接続されることができ、キーボードまたは熱センサーなどの他の装置はシステム1500の特定の構成または設計に応じて埋め込みコントローラ(図示せず)によって制御されることができる。
【0067】
データ、アプリケーション、1つまたは複数のオペレーティングシステムなどの情報の永続記憶を提供するために、大容量記憶装置(図示せず)もプロセッサ1501に接続することができる。様々な実施形態において、より薄くより軽いシステム設計を可能にし、かつシステムの応答性を改善するために、このような大容量記憶装置はソリッドステートデバイス(SSD)を介して実施されることができる。しかしながら、他の実施形態では、大容量記憶装置は、主にハードディスクドライブ(HDD)を使用して実施することができ、ここで、少数のSSD記憶装置はSSDキャッシュとして機能してパワーダウン事件中にコンテキスト状態および他のこのような情報の不揮発性記憶を可能にすることにより、システムアクティビティの再起動時に高速のパワーアップを可能にする。また、フラッシュ装置は、例えばシリアル周辺インターフェース(SPI)を介してプロセッサ1501に接続されてもよい。このようなフラッシュ装置は、前記システムのBIOSおよび他のファームウェアを含むシステムソフトウェアの不揮発性記憶を提供してもよい。
【0068】
記憶装置1508は、コンピュータがアクセス可能な記憶媒体1509(機械可読記憶媒体またはコンピュータ可読媒体とも呼ばれる)を含むことができ、その中に本明細書に記載の方法または機能のうちの任意の1つまたは複数を表す1つまたは複数の命令セットまたはソフトウェア(例えば、モジュール、ユニットおよび/またはロジック1528)が記憶される。処理モジュール/ユニット/ロジック1528は、上記要素のうちのいずれかを表すことができ、例えば計画モジュール305、制御モジュール306または地図更新システム125を表すことができる。処理モジュール/ユニット/ロジック1528は、それがデータ処理システム1500、メモリ1503およびプロセッサ1501によって実行される期間に、メモリ1503内および/またはプロセッサ1501内に完全的にまたは少なくとも部分的に存在でき、データ処理システム1500、メモリ1503およびプロセッサ1501は、機械がアクセス可能な記憶媒体を構成することもできる。処理モジュール/ユニット/ロジック1528はさらに、ネットワークによってネットワークインターフェースデバイス1505を介して送信または受信することができる。
【0069】
コンピュータ可読記憶媒体1509を使用して、上記のいくつかのソフトウェア機能を永続的に記憶することもできる。例示的な実施形態では、コンピュータ可読記憶媒体1509は単一の媒体として示されているが、「コンピュータ可読記憶媒体」という用語は前記1つまたは複数の命令セットを記憶する単一の媒体または複数の媒体(例えば、集中型または分散型データベースおよび/または関連付けられるキャッシュとサーバー)を含むと解釈されるべきである。「コンピュータ可読記憶媒体」という用語はまた、命令セットを記憶または符号化することができる任意の媒体を含むと解釈されるべきであり、前記命令セットは、機器による実行に使用され、前記機器に本発明の方法のうちの任意の1つまたは複数を実行させる。したがって、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、ならびに光媒体および磁気媒体、または他の任意の非一時的な機械可読媒体を含むが、これらに限定しないと解釈されるべきである。
【0070】
本明細書に記載の処理モジュール/ユニット/ロジック1528、要素および他の特徴は、個別のハードウェア要素として実施され、または(ASIC、FPGA、DSP、または同様のデバイスなど)のハードウェア要素の機能に統合されることができる。また、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイス内のファームウェアまたは機能回路として実施されることができる。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイスとソフトウェア要素との任意の組み合わせで実施されることができる。
【0071】
システム1500はデータ処理システムの様々な要素を有するように示されているが、要素を相互接続する任意の特定のアーキテクチャまたは方法を表すことを意図しない。これは、このような詳細と本発明の実施形態とは密接な関係がないからである。本発明の実施形態と共に、より少ない要素またはおそらくより多くの要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバおよび/または他のデータ処理システムも本発明の実施形態とともに使用され得ることも理解されるべきである。
【0072】
前述の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する計算のアルゴリズムおよび記号表現に従って提示されてきた。これらのアルゴリズムの説明および表現は、データ処理分野の当業者が彼らの仕事の本質を他の当業者に最も効果的に伝えるために使用する方法である。本明細書では、アルゴリズムは、一般的に、所望の結果をもたらす自己矛盾のない一連の動作であると考えられる。これらの動作は、物理量の物理的動作を必要とするものである。
【0073】
しかしながら、これらの用語および類似の用語はすべて適切な物理量に関連付けられるように意図され、これらの量に適用される便利なラベルにすぎないことに留意されたい。上記の説明において他の形態で明示的に述べられていない限り、明細書全体において、用語(添付の特許請求の範囲に記載の用語など)を利用した説明とは、コンピュータシステムまたは類似の電子計算装置の動作およびプロセスを指すことを理解しべきであり、前記コンピュータシステムまたは電子計算装置は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを動作し、前記データをコンピュータシステムのメモリまたはレジスタまたは他のこのような情報記憶装置、伝送または表示装置内の類似に物理量として表される他のデータに変換する。
【0074】
本発明の実施形態は、本明細書の動作を実行するための装置にも関する。そのようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶される。機械可読媒体は、機械(例えばコンピュータ)可読な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えばコンピュータ可読)媒体は、機械(例えばコンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置)を含む。
【0075】
前述の図面に示したプロセスまたは方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的コンピュータ可読媒体上に反映される)、またはその両方の組み合わせを含む処理ロジックによって実行されることができる。前記プロセスまたは方法は、いくつかの逐次的な動作に従って上で説明されているが、前記動作のいくつかは異なる順序で実行されてもよいことを理解されたい。さらに、いくつかの動作は、順次ではなく並列に実行されてもよい。
【0076】
本発明の実施形態は、任意の特定のプログラミング言語を参照して説明されていない。様々なプログラミング言語を使用することにより、本明細書に記載の本発明の実施形態の教示を実施することができることを理解しべきである。
【0077】
上記の明細書において、本発明の実施形態を本発明の具体の例示的な実施形態を参照して説明した。添付の特許請求の範囲に記載された本発明のより広い要旨および範囲から逸脱することなく、本発明に対して様々な修正がなされ得ることは明らかである。したがって、本明細書および図面は限定的な意味ではなく例示的な意味で理解されるべきである。
図1
図2
図3A
図3B
図4
図5
図6
図7A
図7B
図7C
図8
図9
図10
図11