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

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

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

特表2023-516412慣性ナビゲーションシステム内の遅延補償
<>
  • 特表-慣性ナビゲーションシステム内の遅延補償 図1
  • 特表-慣性ナビゲーションシステム内の遅延補償 図2
  • 特表-慣性ナビゲーションシステム内の遅延補償 図3
  • 特表-慣性ナビゲーションシステム内の遅延補償 図4
  • 特表-慣性ナビゲーションシステム内の遅延補償 図5A
  • 特表-慣性ナビゲーションシステム内の遅延補償 図5B
  • 特表-慣性ナビゲーションシステム内の遅延補償 図6
  • 特表-慣性ナビゲーションシステム内の遅延補償 図7
  • 特表-慣性ナビゲーションシステム内の遅延補償 図8A
  • 特表-慣性ナビゲーションシステム内の遅延補償 図8B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-19
(54)【発明の名称】慣性ナビゲーションシステム内の遅延補償
(51)【国際特許分類】
   B60W 50/00 20060101AFI20230412BHJP
   G01C 21/26 20060101ALI20230412BHJP
   G08G 1/123 20060101ALI20230412BHJP
   G01S 19/47 20100101ALI20230412BHJP
   G01S 19/14 20100101ALI20230412BHJP
   G01S 19/23 20100101ALI20230412BHJP
   G16Y 10/40 20200101ALI20230412BHJP
   G16Y 20/20 20200101ALI20230412BHJP
   G16Y 40/60 20200101ALI20230412BHJP
【FI】
B60W50/00
G01C21/26 B
G08G1/123 A
G01S19/47
G01S19/14
G01S19/23
G16Y10/40
G16Y20/20
G16Y40/60
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022552967
(86)(22)【出願日】2020-03-05
(85)【翻訳文提出日】2022-09-02
(86)【国際出願番号】 CN2020077982
(87)【国際公開番号】W WO2021174485
(87)【国際公開日】2021-09-10
(81)【指定国・地域】
(71)【出願人】
【識別番号】517323290
【氏名又は名称】バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッド
【氏名又は名称原語表記】Baidu.com Times Technology (Beijing) Co., Ltd.
【住所又は居所原語表記】2/F A2 Zhongguancun Software Park 17th building, No.8, Dongbeiwang West Road, Haidian District, Beijing 100080, China
(71)【出願人】
【識別番号】516357421
【氏名又は名称】バイドゥ ユーエスエイ エルエルシー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】110000914
【氏名又は名称】弁理士法人WisePlus
(72)【発明者】
【氏名】ツイ, イェン
(72)【発明者】
【氏名】リウ, チュエンウェイ
(72)【発明者】
【氏名】イャオ, ジュオ
【テーマコード(参考)】
2F129
3D241
5H181
5J062
【Fターム(参考)】
2F129AA03
2F129BB03
2F129BB20
2F129BB22
2F129BB26
2F129CC15
2F129CC24
2F129EE02
2F129EE78
2F129EE86
2F129FF02
2F129FF11
2F129FF12
2F129FF20
2F129FF57
2F129FF62
2F129GG17
2F129GG18
2F129GG28
2F129HH02
2F129HH04
2F129HH12
2F129HH18
2F129HH19
2F129HH20
2F129HH21
3D241BA50
3D241CE04
3D241DB01Z
3D241DB02Z
3D241DB20Z
5H181AA01
5H181BB04
5H181BB05
5H181BB13
5H181BB15
5H181BB20
5H181CC02
5H181CC03
5H181CC04
5H181CC11
5H181CC12
5H181CC14
5H181CC27
5H181EE02
5H181FF04
5H181FF13
5H181FF22
5H181FF27
5H181FF32
5H181LL09
5H181MB01
5H181MC27
5J062AA04
5J062BB01
5J062CC07
5J062DD25
5J062FF04
5J062HH00
(57)【要約】
一実施形態では、自動運転車両の位置を計算するための方法は、新しいグローバルナビゲーション衛星システム(GNSS)データを受信することを含む。該方法は、前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、最新のタイムスタンプを有する第二事前推定位置を前記複数の事前推定位置から識別することと、をさらに含む。該方法は、第一事前推定位置と第二事前推定位置との差を計算し、この差に基づいて新しいGNSSデータを調整することと、調整されたGNSSデータに基づいてADVの現在推定位置を計算することと、をさらに含む。
【選択図】図6
【特許請求の範囲】
【請求項1】
自動運転車両ADVの位置を計算するための方法であって、
処理装置から新しいグローバルナビゲーション衛星システムGNSSデータを受信することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、
最新のタイムスタンプを有する第二事前推定位置を前記複数の事前推定位置から識別することと、
前記第一事前推定位置と前記第二事前推定位置との差に基づいて前記新しいGNSSデータを調整することと、
調整されたGNSSデータに基づいて前記ADVの現在推定位置を計算することと、を含む、方法。
【請求項2】
前記複数の事前推定位置は、先入れ先出しFIFOキューに記憶されており、前記複数の事前推定位置のそれぞれは、計算時に前記FIFOキューにプッシュされる、
請求項1に記載の方法。
【請求項3】
前記複数の事前推定位置のそれぞれは、少なくともGNSSデータおよび慣性測定ユニットIMUデータを使用して計算されており、前記IMUデータの受信周波数は、前記GNSSデータの受信周波数よりも高い、
請求項1に記載の方法。
【請求項4】
前記第一事前推定位置を識別することは、
前記新しいGNSSデータのタイムスタンプと少なくとも1つの事前推定位置のタイムスタンプとの差を計算することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する前記第一事前推定位置を示すための最小差を識別することと、を含む、
請求項1に記載の方法。
【請求項5】
前記新しいGNSSデータを調整することは、計算された差を前記新しいGNSSデータに追加することを含む、
請求項1に記載の方法。
【請求項6】
前記位置データは、前記ADVの地理的位置、前記ADVの速度、または前記ADVの進行方向のうちの少なくとも1つを含む、
請求項1に記載の方法。
【請求項7】
前記事前推定位置データは、GNSSデータおよびIMUデータをカルマンフィルタの入力として使用して計算される、
請求項1に記載の方法。
【請求項8】
自動運転車両ADVの位置を計算するためのデータ処理システムであって、
処理装置と、
前記処理装置に接続されて命令を記憶するメモリと、を含み、前記命令は、前記処理装置によって実行されると、操作を前記処理装置に実行させるものであり、前記操作は、
新しいグローバルナビゲーション衛星システムGNSSデータを受信することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、
最新のタイムスタンプを有する第二事前推定位置を前記複数の事前推定位置から識別することと、
前記第一事前推定位置と前記第二事前推定位置との差に基づいて前記新しいGNSSデータを調整することと、
調整されたGNSSデータに基づいて前記ADVの現在推定位置を計算することと、を含む、
システム。
【請求項9】
前記複数の事前推定位置は、先入れ先出しFIFOキューに記憶されており、前記複数の事前推定位置のそれぞれは、計算時に前記FIFOキューにプッシュされる、
請求項8に記載のシステム。
【請求項10】
前記複数の事前推定位置のそれぞれは、少なくともGNSSデータおよび慣性測定ユニットIMUデータを使用して計算されており、前記IMUデータの受信周波数は、前記GNSSデータの受信周波数よりも高い、
請求項8に記載のシステム。
【請求項11】
前記第一事前推定位置を識別することは、
前記新しいGNSSデータのタイムスタンプと少なくとも1つの事前推定位置のタイムスタンプとの差を計算することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する前記第一事前推定位置を示すための最小差を識別することと、を含む、
請求項8に記載のシステム。
【請求項12】
前記新しいGNSSデータを調整することは、計算された差を前記新しいGNSSデータに追加することを含む、
請求項8に記載のシステム。
【請求項13】
前記位置データは、前記ADVの地理的位置、前記ADVの速度、または前記ADVの進行方向のうちの少なくとも1つを含む、
請求項8に記載のシステム。
【請求項14】
前記事前推定位置データは、GNSSデータおよびIMUデータをカルマンフィルタの入力として使用して計算される、
請求項8に記載のシステム。
【請求項15】
命令を記憶する非一時的な機械可読媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに自動運転車両ADVの位置を計算する操作を実行させるものであり、前記操作は、
新しいグローバルナビゲーション衛星システムGNSSデータを受信することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、
最新のタイムスタンプを有する第二事前推定位置を前記複数の事前推定位置から識別することと、
前記第一事前推定位置と前記第二事前推定位置との差に基づいて前記新しいGNSSデータを調整することと、
調整されたGNSSデータに基づいて前記ADVの現在推定位置を計算することと、を含む、
機械可読媒体。
【請求項16】
前記複数の事前推定位置は、先入れ先出しFIFOキューに記憶されており、前記複数の事前推定位置のそれぞれは、計算時に前記FIFOキューにプッシュされる、
請求項15に記載の機械可読媒体。
【請求項17】
前記複数の事前推定位置のそれぞれは、少なくともGNSSデータおよび慣性測定ユニットIMUデータを使用して計算されており、前記IMUデータの受信周波数は、前記GNSSデータの受信周波数よりも高い、
請求項15に記載の機械可読媒体。
【請求項18】
前記第一事前推定位置を識別することは、
前記新しいGNSSデータのタイムスタンプと少なくとも1つの事前推定位置のタイムスタンプとの差を計算することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する前記第一事前推定位置を示すための最小差を識別することと、を含む、
請求項15に記載の機械可読媒体。
【請求項19】
前記新しいGNSSデータを調整することは、計算された差を前記新しいGNSSデータに追加することを含む、
請求項15に記載の機械可読媒体。
【請求項20】
前記位置データは、前記ADVの地理的位置、前記ADVの速度、または前記ADVの進行方向のうちの少なくとも1つを含む、
請求項15に記載の機械可読媒体。

【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、一般に、自動運転車両の操作に関する。より具体的には、本開示の実施形態は、自動運転車両の慣性ナビゲーションシステム内の遅延補償に関する。
【背景技術】
【0002】
自動運転モード(例えば、無人運転)で運転している車両は、乗員、特に運転者をいくつかの運転関連の責任から解放することができる。自動運転モードで運転している場合、車両が車載用センサを使用して様々な場所に移動できるため、車両は、ヒューマンマシンインタラクションが最小限に抑えられた場合または乗客がいない場合にも、走行することができる。車載処理システムは、グローバルナビゲーション衛星システムデータや慣性測定データなどのセンサデータを使用して車両の概略位置を提供することができる。
【0003】
自動運転車両の位置を計算するために、センサユニットは、グローバルナビゲーション衛星システム(GNSS)、および慣性測定ユニット(IMU)を含み得る。GNSSは、車両の位置、速度、および進行方向を測定することができる。ほとんどの場合、GNSSが正確なデータを提供できるが、データは、センサユニットの処理装置によって大きな間隔(例えば、1秒)で断続的に受信され得る。IMUは、車両の加速度、およびジャイロスコープ方向を測定することができる。IMUデータは、処理装置によってGNSSデータよりもはるかに高い周波数(例えば、ミリ秒)で受信され得る。処理装置は、GNSSデータおよびIMUデータを組み合わせて、GNSSデータ待ち時間ではなくIMUデータ受信速度に基づいて、(例えば、カルマンフィルタを使用して)車両の位置を推定することができる。
【0004】
センサユニットの処理装置は、センサユニット自体のIMUからIMUデータを受信すると同時に、車両の屋根上の衛星アンテナを介してGNSSデータを受信することができる。従って、IMUデータは、アンテナからセンサユニットに送信されなければならないGNSSデータよりもはるかに迅速に、処理装置に送信され得る。さらに、GNSSデータは、処理装置に到着する前にGNSS受信機によって処理され得、これは、GNSSデータが処理装置に到着する時間を増加させる。アンテナから処理装置へのGNSSデータの伝播時間は、GNSSデータが、GNSSデータが初めて受信された後に重要な時点での位置推定を実行するために使用されることを可能にする。従って、GNSSデータを受信してからGNSSデータを位置推定に使用するまでの間に車両が一定距離走行した可能性があるため、GNSS位置データはわずかに古いか、または偏差する可能性がある。
【発明の概要】
【課題を解決するための手段】
【0005】
第一様態では、自動運転車両(ADV)の位置を計算するための方法が提供される。該方法は、処理装置から新しいグローバルナビゲーション衛星システム(GNSS)データを受信することと、新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、最新のタイムスタンプを有する第二事前推定位置を複数の事前推定位置から識別することと、第一事前推定位置と第二事前推定位置との差に基づいて新しいGNSSデータを調整することと、調整されたGNSSデータに基づいてADVの現在推定位置を計算することと、を含む。
【0006】
第二様態では、自動運転車両(ADV)の位置を計算するためのデータ処理システムが提供される。該システムは、処理装置と、処理装置に接続されて命令を記憶するメモリと、を含み、前記命令は、処理装置によって実行されると、操作を処理装置に実行させるものであり、前記操作は、新しいグローバルナビゲーション衛星システム(GNSS)データを受信することと、新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、最新のタイムスタンプを有する第二事前推定位置を複数の事前推定位置から識別することと、第一事前推定位置と第二事前推定位置との差に基づいて新しいGNSSデータを調整することと、調整されたGNSSデータに基づいてADVの現在推定位置を計算することと、を含む。
【0007】
第三様態では、命令を記憶する非一時的な機械可読媒体が提供される。前記命令は、プロセッサによって実行されると、プロセッサに操作を実行させるものであり、前記操作は、新しいグローバルナビゲーション衛星システム(GNSS)データを受信することと、新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、最新のタイムスタンプを有する第二事前推定位置を複数の事前推定位置から識別することと、第一事前推定位置と第二事前推定位置との差に基づいて新しいGNSSデータを調整することと、調整されたGNSSデータに基づいてADVの現在推定位置を計算することと、を含む。
【0008】
本開示の実施形態は、図面の各図に例示的かつ非限定的な例として示されており、図面中の類似の図面記号は、類似の要素を示す。
【図面の簡単な説明】
【0009】
図1】一実施形態に係るネットワークシステムを示すブロック図である。
図2】一実施形態に係る自動運転車両の一例を示すブロック図である。
図3】一実施形態に係る、自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。
図4】一実施形態に係る自動運転のためのシステムアーキテクチャの一例を示すブロック図である。
図5A】一実施形態に係る自動運転車両のセンサシステムの一例を示すブロック図である。
図5B】一実施形態に係る自動運転車両の慣性ナビゲーションシステムの一例を示すブロック図である。
図6】一実施形態に係る、慣性ナビゲーションシステムの遅延補償を実行するための方法の一例を示すフローチャートである。
図7】一実施形態に係る、慣性ナビゲーションシステムの遅延補償を実行するための方法の別の例を示すフローチャートである。
図8A】一実施形態に係る、グローバルナビゲーション衛星システムおよび慣性測定ユニット、ならびに自動運転車両の推定位置のキューから受信されたデータの記憶処理を示す図である。
図8B】一実施形態に係る、グローバルナビゲーション衛星システムおよび慣性測定ユニット、ならびに自動運転車両の推定位置のキューから受信されたデータの記憶処理を示す図である。
【発明を実施するための形態】
【0010】
本開示の様々な実施形態および態様は、以下に説明される詳細を参照して説明され、図面は、前記様々な実施形態を示す。以下の説明および図面は、本開示を説明するものであり、本開示を限定するものとして解釈されるべきではない。本開示の様々な実施形態の包括的な理解を提供するために、多くの特定の詳細が説明される。しかしながら、場合によっては、本開示の実施形態の簡潔な説明を提供するために、周知または従来の詳細は説明されていない。
【0011】
本明細書における「一実施形態」または「実施形態」への言及は、この実施形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれ得ることを意味する。本明細書の様々な場所での「一実施形態では」という句の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。
【0012】
本開示の実施形態は、慣性ナビゲーションシステム内の遅延補償を提供する。まず、参照のために事前推定位置をデータ構造(例えば、キュー)に記憶することができる。次に、記憶された推定を参照してGNSSデータの偏差を決定し、この偏差を調整することができる。例えば、慣性ナビゲーションシステム(INS)の処理装置は、GNSSデータを解析してGNSSデータの初期測定に関連するタイムスタンプを識別することができる。次に、処理装置は、データ構造に記憶され、GNSSデータのタイムスタンプに最も近いタイムスタンプを有する事前推定位置(即ち、GNSSデータの受信時点に最も近い時点での推定位置)を識別することができる。処理装置は、最新のタイムスタンプを利用して、データ構造に記憶された事前推定位置(即ち、車両の最終推定位置)を識別することもできる。次に、処理装置は、GNSSデータの受信時点での推定位置と最新の推定位置との差を計算することができる。処理装置は、計算された差を使用して(例えば、差をGNSSデータに追加することにより)、GNSSデータの偏差を補償することができる。次に、処理装置は、調整されたGNSSデータを使用して、IMUデータに基づいて車両の現在または将来の位置を推定することができる。
【0013】
いくつかの実施形態によれば、自動運転車両の位置を計算するための方法は、グローバルナビゲーション衛星システムデータを受信し、GNSSデータのタイムスタンプに最も近いタイムスタンプを有する事前推定位置、および最新の推定位置を識別することを含む。処理装置は、識別された2つの事前推定位置の間の差を計算し、次に計算された差に基づいて受信されたGNSSデータを調整することができる。次に、調整されたGNSSデータは、ADVの現在位置を計算するために使用され得る。
【0014】
いくつかの実施形態によれば、システムは、メモリ、および前記メモリに接続された処理装置を含む。処理装置は、グローバルナビゲーション衛星システムデータを受信し、GNSSデータのタイムスタンプに最も近いタイムスタンプを有する事前推定位置、および最新の推定位置を識別することができる。処理装置は、識別された2つの事前推定位置の間の差を計算し、次に計算された差に基づいて受信されたGNSSデータを調整することができる。次に、処理装置は、調整されたGNSSデータを使用して、ADVの現在位置を計算することができる。
【0015】
いくつかの実施形態によれば、非一時的なコンピュータ可読記憶媒体は、処理装置によって実行される命令を含む。前記命令が実行されると、処理装置は、グローバルナビゲーション衛星システムデータを受信し、GNSSデータのタイムスタンプに最も近いタイムスタンプを有する事前推定位置、および最新の推定位置を識別する。処理装置は、識別された2つの事前推定位置の間の差を計算し、次に計算された差に基づいて受信されたGNSSデータを調整することができる。次に、調整されたGNSSデータは、ADVの現在位置を計算するために使用され得る。
【0016】
図1は、本開示の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。図1を参照すると、ネットワーク構成100は、ネットワーク102を介して1つまたは複数のサーバ103~104に通信接続され得る自動運転車両101を含む。1つの自動運転車両が示されているが、複数の自動運転車両は、ネットワーク102を介して、互いに接続され、および/またはサーバ103~104に接続され得る。ネットワーク102は、有線または無線のローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、またはそれらの組み合わせなどの任意のタイプのネットワークであり得る。サーバ103~104は、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、またはそれらの組み合わせなどの任意のタイプのサーバまたはサーバクラスタであり得る。サーバ103~104は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図・ポイントオブインタレスト(MPOI)サーバ、または位置サーバなどであり得る。
【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およびIMU213は、慣性ナビゲーションシステム(INS)210に一緒に含まれ得る。INS210は、GPSユニット212およびIMU213からのデータに基づいて、自動運転車両の正確な位置を計算することができる。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は、1つまたは複数の装置と直接無線通信するか、またはネットワーク102を介してサーバ103~104と通信するなど、通信ネットワークを介して無線通信を実行することができる。無線通信システム112は、WiFiなどの任意のセルラー通信ネットワークまたは無線ローカルエリアネットワーク(WLAN)を介して、別のコンポーネントまたはシステムと通信することができる。無線通信システム112は、例えば、赤外線リンク、ブルートゥース(登録商標)などを介して、装置(例えば、乗客の携帯機器、表示装置、および車両101内のスピーカ)と直接通信することができる。ユーザインターフェースシステム113は、例えば、キーボード、タッチスクリーン表示装置、マイクロフォン、スピーカなどを含む、車両101内に実装された周辺デバイスの一部であり得る。
【0024】
自動運転車両101の機能の一部または全部は、特に自動運転モードで動作する場合に、感知・計画システム110によって制御または管理され得る。感知・計画システム110は、センサシステム115、制御システム111、無線通信システム112、および/またはユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地から目的地までのルートまたは経路を計画し、計画および制御情報に基づいて車両101を運転するために必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)およびソフトウェア(例えば、オペレーティングシステム、計画・ルーティングプログラム)を含む。あるいは、感知・計画システム110は、車両制御システム111と統合され得る。
【0025】
例えば、乗客としてのユーザは、例えばユーザインターフェースを介して、行程の出発地および目的地を指定することができる。感知・計画システム110は、行程関連データを取得する。例えば、感知・計画システム110は、サーバ103~104の一部であり得るMPOIサーバから位置およびルート情報を取得することができる。位置サーバは位置サービスを提供し、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】
運転統計123に基づいて、機械学習エンジン122は、様々な目的のために1組の規則、アルゴリズム、および/または予測モデル124を生成または訓練する。アルゴリズム124は、IMUおよびGPSデータを同期させるためのタイミングアルゴリズムを含み得る。次に、アルゴリズム124は、自動運転中にリアルタイムで使用されるようにADVにアップロードされ得る。
【0029】
図3は、一実施形態に係る、自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。システム300は、感知・計画システム110、制御システム111、およびセンサシステム115を含むがこれらに限定されない、図1の自動運転車両101の一部として実装され得る。図3を参照すると、感知・計画システム110は、位置決めモジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、およびルーティングモジュール307を含むが、これらに限定されない。
【0030】
モジュール301~307の一部または全部は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実装され得る。例えば、これらのモジュールは、永久記憶装置352にインストールされ、メモリ351にロードされ、1つまたは複数のプロセッサ(図示せず)によって実行され得る。なお、これらのモジュールの一部または全部は、図2の車両制御システム111のモジュールの一部または全部に通信接続され得るか、またはこれらと統合され得る。モジュール301~307の一部は、統合モジュールとして一緒に統合され得る。
【0031】
位置決めモジュール301は、(例えば、INS210を使用して)自動運転車両300の現在位置を決定し、ユーザの行程またはルートに関連するすべてのデータを管理する。位置決めモジュール301(地図/ルートモジュールとも呼ばれる)は、ユーザの行程またはルートに関連するすべてのデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインし、行程の出発地および目的地を指定することができる。位置決めモジュール301は、地図/ルート情報311などの自動運転車両300の他のコンポーネントと通信して、行程関連データを取得する。例えば、位置決めモジュール301は、位置サーバおよび地図・POI(MPOI)サーバから位置およびルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスおよび特定の位置のPOIを提供する。これらは、地図/ルート情報311の一部としてキャッシュされ得る。自動運転車両300がルートに沿って移動しているとき、位置決めモジュール301はまた、交通情報システムまたはサーバからリアルタイムの交通情報を取得することができる。
【0032】
センサシステム115によって提供されたセンサデータ、および位置決めモジュール301によって取得された位置決め情報に基づいて、感知モジュール302は、周囲環境の感知を決定する。感知情報は、一般的な運転者が運転者の運転している車両の周囲で何を感知するかを表すことができる。感知情報は、オブジェクトの形態などを採用した車線構成、交通信号灯信号、別の車両の相対位置、歩行者、建物、横断歩道、または他の交通関連標識(例えば、止まれの標識、譲れの標識)などを含み得る。車線構成は、1つまたは複数の車線を説明する情報、例えば、車線の形状(例えば、直線または曲線)、車線の幅、道路内の車線数、一方向または双方向の車線、合流車線または分岐車線、出口車線などを含む。
【0033】
感知モジュール302は、1つまたは複数のカメラによって収集された画像を処理および分析して、自動運転車両の環境内のオブジェクトおよび/または特徴を識別するためのコンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含み得る。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者、および/または障害物などを含み得る。コンピュータビジョンシステムは、オブジェクト識別アルゴリズム、ビデオ追跡、および他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図の作成、オブジェクト追跡、オブジェクトの速度の推定などを実行することができる。感知モジュール302はまた、レーダーおよび/またはLIDARなどの他のセンサによって提供された他のセンサデータに基づいてオブジェクトを検出することができる。
【0034】
オブジェクトのそれぞれについて、予測モジュール303は、オブジェクトがこの場合にどのように動作するかを予測する。予測は、1組の地図/ルート情報311および交通規則312を考慮してその時点での運転環境を感知する感知データに基づいて、実行される。例えば、オブジェクトが反対方向の車両であり、現在の運転環境が交差点を含む場合、予測モジュール303は、車両が直接前進する可能性が高いか、それともステアリングする可能性が高いかを予測する。感知データが、交差点に交通信号灯がないことを示す場合、予測モジュール303は、車両が交差点に入る前に完全に停止しなければならない可能性があることを予測することができる。感知データが、車両が現在左折専用車線または右折専用車線にあることを示す場合、予測モジュール303は、車両がそれぞれ左折または右折する可能性が高いことを予測することができる。
【0035】
オブジェクトのそれぞれについて、決定モジュール304は、オブジェクトをどのように処理するかについての決定を行う。例えば、特定のオブジェクト(例えば、交差点にある別の車両)、およびオブジェクトを説明するメタデータ(例えば、速度、方向、ステアリング角度)について、決定モジュール304は、どのように前記オブジェクトとすれ違うか(例えば、追い越し、譲れ、停止、通過)を決定する。決定モジュール304は、永久記憶装置352に記憶され得る交通規則または運転規則312などの規則セットに基づいて、このような決定を実行することができる。
【0036】
ルーティングモジュール307は、出発地から目的地までの1つまたは複数のルートまたは経路を提供するように構成される。例えば、ユーザから受信された出発地から目的地までの所与の行程について、ルーティングモジュール307は、地図/ルート情報311を取得し、出発地から目的地までのすべての可能なルートまたは経路を決定する。ルーティングモジュール307は、出発地から目的地までの各ルートを決定する地形図の形態での基準線を生成することができる。基準線とは、他の車両、障害物、または交通状況などからの干渉を受けない理想的なルートまたは経路を指す。即ち、道路上に他の車両、歩行者、または障害物がない場合、ADVは、基準線に正確にまたは密接に従うべきである。次に、地形図は、決定モジュール304および/または計画モジュール305に提供される。決定モジュール304および/または計画モジュール305は、他のモジュールによって提供された他のデータ(例えば、位置決めモジュール301からの交通状況、感知モジュール302によって感知された運転環境、および予測モジュール303によって予測された交通状況)に基づいて、すべての可能なルートをチェックして最適なルートのうちの1つを選択して変更する。その時点での特定の運転環境に応じて、ADVを制御するための実際の経路またはルートは、ルーティングモジュール307によって提供された基準線に近いか、または異なる場合がある。
【0037】
感知されたオブジェクトのそれぞれの決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供された基準線を基礎として使用して、自動運転車両の経路またはルートおよび運転パラメータ(例えば、距離、速度、および/またはステアリング角度)を計画する。即ち、所与のオブジェクトについて、決定モジュール304はこのオブジェクトに対して何を処理するかを決定するが、計画モジュール305はどのように処理するかを決定する。例えば、所与のオブジェクトについて、決定モジュール304は前記オブジェクトを追い越すことを決定することができるが、計画モジュール305は前記オブジェクトの左側または右側のどちらを追い越すかを決定することができる。計画および制御データは、計画モジュール305によって生成され、車両300が次の移動周期(例えば、次のルート/経路セグメント)でどのように移動するかを説明する情報を含む。例えば、計画および制御データは、車両300に、時速30マイル(mph)の速度で10メートル移動し、次に25mphの速度で右側車線に変更するように指示することができる。
【0038】
計画および制御データに基づいて、制御モジュール306は、計画および制御データによって定義されたルートまたは経路に従って、適切な命令または信号を車両制御システム111に送信することにより、自動運転車両を制御して運転する。前記計画および制御データは、経路またはルートに沿って異なる時点で適切な車両設定または運転パラメータ(例えば、スロットル、ブレーキ、ステアリング命令)を使用して、ルートまたは経路の第一点から第二点まで車両を運転するのに十分な情報を含む。
【0039】
一実施形態では、計画段階は、運転周期とも呼ばれる複数の計画周期で実行され、例えば、100ミリ秒(ms)の時間間隔で実行される。計画周期または運転周期ごとに、計画および制御データに基づいて1つまたは複数の制御命令が発行される。即ち、100msごとに、計画モジュール305は、次のルートセグメントまたは経路セグメント、例えば、目標位置およびADVが目標位置に到達するのに必要な時間を計画する。あるいは、計画モジュール305は、特定の速度、方向、および/またはステアリング角度などをさらに指定することができる。一実施形態では、計画モジュール305は、次の所定の期間(例えば、5秒)内にルートセグメントまたは経路セグメントを計画する。各計画周期について、計画モジュール305は、前の周期で計画された目標位置に基づいて、現在の周期(例えば、次の5秒)に使用される目標位置を計画する。次に、制御モジュール306は、現在の周期の計画および制御データに基づいて、1つまたは複数の制御命令(例えば、スロットル、ブレーキ、ステアリング制御命令)を生成する。
【0040】
なお、決定モジュール304および計画モジュール305は、統合モジュールとして統合され得る。決定モジュール304/計画モジュール305は、自動運転車両の運転経路を決定するためのナビゲーションシステムまたはナビゲーションシステムの機能を含み得る。例えば、ナビゲーションシステムは、経路に沿った自動運転車両の移動を実施するための一連の速度および前進方向を決定することができる。前記経路は、自動運転車両が、感知された障害物を基本的に回避しながら、最終目的地に通じる車道ベースの経路に沿って前進することを可能にする。目的地は、ユーザインターフェースシステム113を介したユーザ入力に従って設定され得る。ナビゲーションシステムは、自動運転車両の運転中に運転経路を動的に更新することができる。ナビゲーションシステムは、GPSユニット、慣性ナビゲーションシステムおよび1つまたは複数の地図からのデータを統合して、自動運転車両の運転経路を決定することができる。
【0041】
図4は、一実施形態に係る自動運転のためのシステムアーキテクチャを示すブロック図である。システムアーキテクチャ400は、図3に示す自動運転システムのシステムアーキテクチャを表すことができる。図4を参照すると、システムアーキテクチャ400は、アプリケーション層401、計画・制御(PNC)層402、感知層403、ドライバ層404、ファームウェア層405、およびハードウェア層406を含むが、これらに限定されない。アプリケーション層401は、自動運転車両のユーザまたは乗客と対話するユーザインターフェースまたは構成アプリケーション、例えば、ユーザインターフェースシステム113に関連付けられた機能を含み得る。PNC層402は、少なくとも計画モジュール305および制御モジュール306の機能を含み得る。感知層403は、少なくとも感知モジュール302の機能を含み得る。一実施形態では、予測モジュール303および/または決定モジュール304の機能を含む追加層が存在する。あるいは、このような機能は、PNC層402および/または感知層403に含まれ得る。システムアーキテクチャ400は、ドライバ層404、ファームウェア層405、およびハードウェア層406をさらに含む。ファームウェア層405は、フィールド・プログラマブル・ゲート・アレイ(FPGA)の形態で実装され得るセンサシステム115の機能を少なくとも表すことができる。ハードウェア層406は、制御システム111などの自動運転車両のハードウェアを表すことができる。層401~403は、デバイスドライバ層404を介してファームウェア層405およびハードウェア層406と通信することができる。
【0042】
図5Aは、本発明の一実施形態に係るセンサシステムの一例を示すブロック図である。図5を参照すると、センサシステム115は、複数のセンサ510、およびホストシステム110に接続されたセンサユニット500を含む。ホストシステム110は、図3に示すモジュールの少なくともいくつかを含み得る上記の計画・制御システムを表す。センサユニット500は、FPGAデバイスまたはASIC(特定用途向け集積回路)デバイスの形態で実装され得る。一実施形態では、センサユニット500は、(それに加えて)1つまたは複数のセンサデータ処理モジュール501(センサ処理モジュールとも略称する)、データ送信モジュール502、およびセンサ制御モジュールまたはロジック503を含む。モジュール501~503は、センサインターフェース504を介してセンサ510と通信することができ、ホストインターフェース505を介してホストシステム110と通信することができる。任意選択的に、内部または外部バッファ506を利用して、処理のためのデータをバッファリングすることができる。
【0043】
一実施形態では、センサ510は、GPSユニットおよびIMUであり得る。図5Bに示すように、GPSユニットおよびIMUは、単一のFPGAまたはASIC上のセンサユニット500に接続され得る(慣性測定システム(INS)と呼ばれる)。センサ処理モジュール501は、GPSユニットおよびIMUからデータを受信してデータに基づいて(例えば、カルマンフィルタを使用して)自動運転車両の位置を推定するために使用される、ロジックを含み得る。センサ処理モジュール501は、(図5を参照して以下に説明されるように)GPSデータの伝播遅延によるGPSデータ偏差を補償するためのロジックをさらに含み得る。
【0044】
一実施形態では、受信経路または上流方向について、センサ処理モジュール501は、センサインターフェース504を介してセンサからセンサデータを受信し、バッファ506に一時的に記憶され得るセンサデータ(例えば、フォーマット変換、エラーチェック)を処理するように構成される。データ送信モジュール502は、ホストインターフェース505と互換性のある通信プロトコルを使用して、処理されたデータをホストシステム110に送信するように構成される。同様に、送信経路または下流方向について、データ伝送モジュール502は、ホストシステム110からデータまたは命令を受信するように構成される。次に、センサ処理モジュール501は、対応するセンサと互換性のあるフォーマットにデータのフォーマットを処理する。次に、処理されたデータをセンサに送信する。
【0045】
一実施形態では、センサ制御モジュールまたはロジック503は、ホストインターフェース505を介してホストシステム(例えば、感知モジュール)から受信された命令に応答して、取得されたセンサデータのタイミングのアクティブ化など、センサ510のいくつかの動作を制御するように構成される。ホストシステム110は、センサデータを協調的および/または同期的に取得して任意の時点でセンサデータに基づいて車両の周囲の運転環境を感知するように、センサ510を構成することができる。
【0046】
センサインターフェース504は、イーサネット、USB(ユニバーサル・シリアル・バス)、LTE(ロングタームエボリューション)またはセルラー、WiFi、GPS、カメラ、CAN、シリアル(例えば、ユニバーサル非同期受信機/送信機またはUART)、SIM(加入者識別モジュール)カード、および他のユニバーサル入力/出力(GPIO)インターフェースのうちの1つまたは複数を含み得る。ホストインターフェース505は、PCIe(ペリフェラル・コンポーネント・インターコネクトまたはPCI Express)インターフェースなど、任意の高速または高帯域幅インターフェースであり得る。センサ510は、カメラ、LIDARデバイス、RADARデバイス、GPS受信機、IMU、超音波センサ、GNSS(グローバルナビゲーション衛星システム)受信機、LTEまたはセルラーSIMカード、車両センサ(例えば、スロットル、ブレーキ、ステアリングセンサ)、システムセンサ(例えば、温度、湿度、圧力センサ)など、自動運転車両に使用される様々なセンサを含み得る。
【0047】
例えば、カメラは、イーサネットまたはGPIOインターフェースを介して接続され得る。GPSセンサは、USBまたは特定のGPSインターフェースを介して接続され得る。車両センサは、CANインターフェースを介して接続され得る。RADARセンサまたは超音波センサは、GPIOインターフェースを介して接続され得る。LIDARデバイスは、イーサネットインターフェースを介して接続され得る。外部SIMモジュールは、LTEインターフェースを介して接続され得る。同様に、内部SIMモジュールは、センサユニット500のSIMソケットに挿入され得る。UARTなどのシリアルインターフェースは、デバッグのためにコンソールシステムに接続され得る。
【0048】
なお、センサ510は、任意のタイプのセンサであり得、様々な供給業者または供給者によって提供され得る。センサ処理モジュール501は、異なるタイプのセンサおよびそれらのそれぞれのデータフォーマットおよび通信プロトコルを処理するように構成される。一実施形態によれば、各センサ510は、センサデータを処理し、処理されたセンサデータをホストシステム110と対応するセンサとの間で送信するために使用される特定のチャネルに関連付けられる。各チャネルは、対応するセンサデータおよびプロトコルを処理するように構成またはプログラミングされる、特定のセンサ処理モジュールおよび特定のデータ送信モジュールを含み得る。
【0049】
低遅延モードで動作する場合、一実施形態によれば、データ送信モジュール(例えば、データ送信モジュール502)は、センサから受信されたセンサデータを、遅延なしまたは最小遅延でできるだけ早くホストシステムに送信するように構成される。いくつかのセンサデータは、できるだけ早く処理すべきタイミングの面で非常に敏感である。このようなセンサデータの一例は、車速、加速度、ステアリング角度などの車両状態を含む。
【0050】
一実施形態によれば、高帯域幅モードで動作する場合、データ送信モジュール(例えば、データ送信モジュール502)は、センサから受信されたセンサデータを所定量まで累積するが、それをデータ送信モジュールとホストシステム110との間の接続の帯域幅範囲内に維持するように構成される。次に、累積されたセンサデータは、ホストシステム110にバッチで送信されており、このセンサデータは、データ送信モジュールとホストシステム110との間の接続の最大帯域幅データである。一般に、高帯域幅モードは、大量のセンサデータを生成するセンサに使用される。このようなセンサデータの一例は、カメラのピクセルデータを含む。
【0051】
一実施形態によれば、メモリモードで動作する場合、データ送信モジュールは、共有メモリページと同様に、センサから受信されたセンサデータをホストシステム110のマッピングメモリのメモリ位置に直接書き込むように構成される。メモリモードで送信されるセンサデータの一例は、温度、ファン速度などのシステム状態データを含む。
【0052】
図5Bは、図5Aのセンサシステム115に含まれ得る慣性ナビゲーションシステム(INS)530を示す図である。INS530は、GNSS受信機532(GPSユニットとも呼ばれる)、慣性測定ユニット(IMU)534、およびマイクロコントローラユニット(MCU)536を含むが、これらに限定されない。GNSS受信機532は、アンテナ520からのGNSS測定値を受信して処理することができ、アンテナ520は、INS530の外側(例えば、車両の屋根)に配置され得る。次に、GNSS受信機532は、GNSSデータ533をMCU536に転送することができる。GNSSデータ533は、車両の位置、速度、および進行方向、ならびにいつ測定するかを示すタイムスタンプを含み得る。一実施形態では、IMU534は、自動運転車両の加速度および向きを測定し、これらの測定結果をMCU536に送信して(例えば、カルマンフィルタを使用して)GNSSデータ533と統合することができる。
【0053】
MCU536は、GNSSデータ533およびIMUデータ535を受信し、(例えば、カルマンフィルタを使用して)それらを組み合わせて、自動運転車両の推定位置(例えば、出力結果540)を計算することができる。MCUは、IMUデータ535よりもはるかに低い周波数でGNSSデータ533を受信することができる。MCU536は、IMUデータ535を受信するたびに車両の推定位置を計算することができる。IMUデータ535がMCUによって高周波数で受信されるので、MCUは、新しいGNSSデータを受信するまで、最新の(most recent)GNSSデータおよび新たに受信された各IMUデータ535を使用して新しい各位置の推定を実行することができる。MCU536は、新しいGNSSデータを受信した場合、新しいGNSSデータを使用してカルマンフィルタの計算を更新することができる。しかしながら、GNSSデータ533がアンテナ520から受信され、GNSSデータ533が、処理されてMCU536に転送されるために、GNSS受信機532に伝播されなければならないので、GNSSデータは、遅延(例えば、50~60ms)による偏差を有する可能性がある。例えば、高速走行車両は、GNSSの測定時間から、MCU536がGNSSデータ533を位置推定に使用する時間までの間に、相当な距離走行した可能性がある。従って、位置推定は、伝播遅延によるGNSSデータ偏差のために、不正確であり得る。
【0054】
しかしながら、MCU536は、GNSSデータ遅延を調整するための補償ロジック538(例えば、ソフトウェアまたはファームウェア)を含み得る。一実施形態では、MCU536は、各出力結果540(即ち、各推定位置)をデータ構造(例えば、キュー)に一時的に記憶する。MCU536が新しいGNSSデータ533を受信した場合、MCU536の補償ロジック538は、記憶された最新の推定位置と、GNSSデータ533が初めて測定されてタイムスタンプを追加するときの推定位置との差に基づいて、GNSSデータ533を更新することができる。次に、補償ロジック538は、この差を初めて受信されたGNSSデータ533に追加して、調整されたGNSSデータを取得することができる。次に、調整されたこのGNSSデータは、位置推定を更新するために使用され得る。一実施形態では、MCU536は、データ構造を検索して、データ構造に記憶され、GNSSデータ533のタイムスタンプに最も近いタイムスタンプを有する推定位置を見つけることができる。次に、MCU536は、データ構造に記憶された最新の推定位置を検索することができる。補償ロジック538は、2つの推定値の間の差を計算し、この差をGNSSデータ533に追加することができる。MCU536は、調整されたGNSSデータを使用して、より正確な位置推定のためにカルマンフィルタの推定を更新することができる。
【0055】
図6は、一実施形態に係る、自動運転車両の慣性ナビゲーションシステム内のGNSS遅延を調整するプロセスを示すフローチャートである。プロセス600は、INSのMCUの補償ロジックによって実行され得る。操作602において、処理ロジックは、新しいグローバルナビゲーション衛星システム(GNSS)データを受信する。アンテナは、GNSS受信機に接続され得る。アンテナは、GNSS測定値を検出することができる。GNSS測定値は、この時点でタイムスタンプを追加して、GNSS受信機に送信される。GNSS受信機は、受信されたGNSSデータを処理してフォーマットしてMCUに転送することができる。GNSS測定値は、車両の位置、速度、および進行方向を含み得る。MCUは、GNSSデータを解析してGNSS測定値のタイムスタンプを識別することができる。
【0056】
操作604において、処理ロジックは、事前推定位置を記憶するデータ構造から、GNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を識別する。一実施形態では、データ構造は、キューなどの先入れ先出しバッファであり得る。一実施形態では、処理ロジックは、局所最小値を見つけるまで、キュー内の最古のデータを繰り返し検出し、最古のデータのタイムスタンプとGNSSデータのタイムスタンプとの差を計算することにより、最も近いタイムスタンプを有する推定位置を識別することができる。別の実施形態では、各推定位置のタイムスタンプは、GNSSデータのタイムスタンプ、および識別された最小タイムスタンプ差を有する推定位置と比較され得る。最も近い推定位置は、任意の他の方式でも識別され得る。
【0057】
操作606において、処理ロジックは、事前推定位置を記憶するデータ構造に基づいて、データ構造内の事前推定位置の最新のタイムスタンプを有する第二事前推定位置を識別する。推定位置を記憶するデータ構造がFIFOバッファ(即ち、キュー)であり得るため、推定位置は、キューの「後部」(最後にプッシュされるか、またはキューに追加される)に記憶され得る。従って、処理ロジックは、キューの後方からエントリを簡単に検索することができる。推定位置がFIFOバッファに記憶されていない場合、処理ロジックは、タイムスタンプを現在の時間(例えば、リアルタイムクロック)と比較して、最新の推定位置を識別することができる。
【0058】
操作608において、処理ロジックは、第一事前推定位置と第二事前推定位置との差を計算する。この差は、GNSSデータが受信されてからMCUによって処理されるまでの間に自動運転車両が走行した距離を表すことができる。従って、この差は、GNSSデータ遅延時の車両の推定位置の変化であり得る。この差は、遅延時の車両の速度および進行方向の変化も含み得る。
【0059】
操作610において、処理ロジックは、第一事前推定位置と第二事前推定位置との差に基づいて新しいGNSSデータを調整する。処理ロジックは、第一事前推定位置と第二事前推定位置との差を新しいGNSSデータに加算して新しいGNSSデータを調整して、調整されたGNSSデータを取得することができる。調整されたGNSSデータは、MCUがデータを処理しているときの自動運転車両の現在位置をオリジナルのGNSSデータよりも正確に表すことができる。
【0060】
操作612において、処理ロジックは、調整されたGNSSデータを使用して、車両の現在推定位置を計算する。調整されたGNSSデータは、車両の現在位置をより正確に表すことができる。従って、調整されたGNSSデータを使用して車両の推定位置を計算することは、車両の現在位置の推定をより正確にすることができる。さらに、調整されたGNSSデータを使用して計算された任意のさらなる位置推定もより正確になる可能性がある。例えば、新しいIMUデータを受信して新しい位置を推定するたびに、調整されたGNSSデータは、新しいGNSSデータが受信されるまで推定に使用され得る。次に、最新のGNSSデータに対してこのプロセスを繰り返すことができる。
【0061】
図7は、別の実施形態に係る、INS内のGNSS遅延を調整するプロセスを示すフローチャートである。プロセス700は、INSのMCUの補償ロジックによって実行され得る。操作702において、処理ロジックは、新しいIMUデータを受信する。操作704において、処理ロジックは、新しいIMUデータを使用してカルマンフィルタの予測を実行する。カルマンフィルタは、受信した入力に関連する不確実性および/またはエラーに基づいて重み付けされたアルゴリズムまたはロジックであり得る。例えば、場合によっては、IMUが、GNSSデータよりも低い測定に関連する不確実性を有するため、カルマンフィルタは、GNSSデータをIMUデータの重み付けよりも高く重み付けすることができる。いくつかの実施形態では、例えば、車両がトンネル内にある場合、IMUは、GNSSデータよりも低い不確実性を有することができる。この場合、カルマンフィルタは、IMUデータをより高く重み付けすることができる。カルマンフィルタの予測結果は、GNSSデータおよびIMUデータに基づく車両の推定位置であり得る。IMUデータが、GNSSデータよりもはるかに高い周波数で受信されるので、処理ロジックは、新しいIMUデータが受信されるたびに、新しいGNSSデータが受信されるか否かにかかわらず、予測または計算を実行することができる。
【0062】
操作706において、処理ロジックは、新しいGNSSデータが受信されるか否かを決定する。新しいGNSSデータが受信される場合、MCUの処理ロジックは、MCUのレジスタにフラグを設定することができる。新しいGNSSデータがMCUから受信される場合、新しいGNSSデータは、バッファに一時的に記憶され得る。このフラグは、新しいGNSSデータが受信されることを示すことができ、新しいGNSSデータは、処理ロジックによって検索され得るようにバッファに記憶される。従って、フラグが設定される場合、下記の操作714に加えて、処理ロジックは、バッファからGNSSデータを検索することができる。
【0063】
操作708において、処理ロジックは、新しいGNSSデータが受信されていないと決定した場合、事前推定位置を記憶するキューがいっぱいになるか否かを決定する。新しいGNSSデータが受信されていない場合、GNSSデータの偏差を補償する必要はない。キューは、固定数の最新の位置推定を記憶するように構成され得る。キューのサイズは、GNSSデータの遅延に直接的または間接的に依存することができる。キューは、GNSSデータの遅延期間内に推定位置を記憶することに十分なサイズを有する必要がある。例えば、GNSSデータの最大遅延が100msである場合、キューのサイズは、150msの事前推定位置の予測/推定を維持することができる。一実施形態では、キューは、先入れ先出しデータバッファ(例えば、最初に、追加された最古のデータをキューから削除する)であり得る。キュー内の各エントリは、計算された位置、速度、進行方向、タイムスタンプ、および自動運転車両の位置に関連する他の任意の情報を含み得る。
【0064】
操作710において、キューがいっぱいになる場合、処理ロジックは、最古のデータ(即ち、最初の推定位置)をキューから削除する。処理ロジックは、最新の位置推定をキューに記憶するスペースを残すために、最古のデータを削除することができる。操作712において、キューがいっぱいにならない場合、処理ロジックは、最新のINS出力(最新の推定位置)をキューにプッシュする。
【0065】
操作714において、処理ロジックは、新しいGNSSデータが受信されると決定した場合、最古のデータをキューから検索する。一実施形態では、処理ロジックは、次に最古(最初)のデータをキューから削除する。キューが、GNSSデータのタイムスタンプに最も近いタイムスタンプを有する推定位置を見つけるために使用されるため、操作716を操作718と比較した後、最も近いデータに対応しない任意の最古の推定/データをキューから削除することができる。
【0066】
操作716において、処理ロジックは、検索されたキューデータのタイムスタンプとGNSSタイムスタンプとの差を決定する。操作718において、処理ロジックは、操作716で決定された差に基づいて、検索されたキューデータがGNSSタイムスタンプに最も近いか否かを決定する。一実施形態では、処理ロジックは、それが局所最小値であるか否かを決定して、最も近いキューデータを識別する。例えば、操作714で計算された差を事前に計算された差と比較することができる。事前に計算された差が現在の差よりも大きい場合、操作714に戻って比較を継続する。事前に計算された差が現在の差よりも小さい場合、現在のデータを局所最小値、およびGNSSタイムスタンプに最も近いデータとして識別することができる。即ち、比較が継続するにつれて、差が局所最小値まで小さくなるが、局所最小値の後に大きくなる。
【0067】
操作720において、検索されたキューデータがGNSSタイムスタンプに最も近いと決定した場合、処理ロジックは、最新のデータ(即ち、最後にキューにプッシュされた推定位置)をキューから検索する。操作722において、処理ロジックは、GNSSタイムスタンプに最も近いデータとキューにプッシュされた最新のデータとの差に基づいて、GNSSデータを調整する。GNSSタイムスタンプに最も近いデータと最新の推定との差は、アンテナがGNSS測定データを初めて受信してそのタイムスタンプを追加する時間、MCUから受信されたGNSSデータを使用して位置計算を実行する時間との間に車両が走行した距離を表すことができる。従って、上記差を使用して新たに受信されたGNSSデータを調整することは、GNSSデータを使用して自動運転車両の現在位置を計算/推定するときに、車両位置のより正確な表現を提供することができる。
【0068】
操作724において、処理ロジックは、操作704からのカルマンフィルタの予測を更新する。前記更新は、調整されたGNSSデータをカルマンフィルタの入力として使用する場合、自動運転車両の現在位置を最初に受信されたGNSSデータ推定よりも正確に表すことができる。ここで、最初に受信されたGNSSデータ推定は、GNSSデータ処理時の遅延による偏差を有する。
【0069】
図8Aは、一実施形態に係るINS内の処理時間およびGNSS遅延を示す図である。図8Bは、一実施形態に係る事前計算位置(例えば、図8Aからのもの)のキューを示す図である。図8Aにおいて、GNSSデータ「z_k」(即ち、GNSS測定)が車両のアンテナで受信される。GNSSデータは、受信されたとき(例えば、t_k)にタイムスタンプを追加することができる。GNSSデータ「z_k」は、位置推定計算を実行するためにMCUに伝播され得る。GNSSデータがMCUに到着するのにかかる時間に対応するGNSS遅延は存在し得る。GNSSデータ伝播の間に(例えば、図示する各IMU期間に)、IMUデータは、MCUによって受信され続けることができる。MCUが新しいIMUデータを受信するたびに、MCUは、新しい推定位置(例えば、「x_k」、「x_k+1」など)を計算することができる。一実施形態では、推定位置のうちの1つは、GNSSデータを初めて受信してそのタイムスタンプを追加する時間(即ち、時点t_kでの推定x_k)に対応することができる。さらに、新しいGNSSデータがMCUによって受信されるまで、各IMUデータに対して推定位置を計算することができる。従って、新しいGNSSデータがMCUによって受信される前に、最新の位置推定(x_s)を直ちに計算して、現在および将来の位置推定に使用されるカルマンフィルタの予測を更新することができる。
【0070】
図8Bにおいて、図8Aを参照して計算された各推定位置は、キューなどのデータ構造に記憶され得る。例えば、時点(t_k-2)から(t_s)までの推定位置は、キューに記憶され得る。MCUは、キューを使用して、GNSSデータ伝播期間のGNSS遅延による受信されたz_kGNSSデータの偏差を校正することができる。一実施形態では、新しいGNSSデータ(z_k)が受信される場合、MCUは、記憶され、GNSSデータに最も近いタイムスタンプ付きの時間に対応する推定を識別することができる。現在の例では、GNSSデータが時点kで受信されるため、記憶された推定「x_k」のタイムスタンプは、GNSSデータのタイムスタンプに最も近くマッチングする。図8が、推定位置x_kをGNSSデータのタイムスタンプt_kと同時に計算することを説明しているが、推定計算は、GNSSデータと少し異なる実際のタイムスタンプを有することができる。最も近い記憶推定(即ち、x_k)が識別される場合、最新の推定「x_s」を識別する。最新の推定は、キューにプッシュされた最新の推定であり得る。次に、MCUは、記憶された最も近い推定を最新の推定と比較して、受信されたGNSSデータ(z_k)の近似偏差を決定することができる。次に、決定された偏差をGNSSデータに追加して、次の推定位置が計算される前にこの偏差を調整することができる。一実施形態では、調整されたGNSSデータは、自動運転車両の位置推定に使用されるカルマンフィルタの予測を更新するために使用され得る。従って、GNSSデータは、偏差を考慮してより正確な位置推定/予測を提供するために調整される。
【0071】
なお、上記で説明したコンポーネントの一部または全部は、ソフトウェア、ハードウェア、またはそれらの組み合わせで実装され得る。例えば、このようなコンポーネントは、永久記憶装置にインストールおよび記憶されたソフトウェアとして実装され得、このソフトウェアは、本願全体にわたって説明されるプロセスまたは操作を実施するために、プロセッサ(図示せず)によってメモリにロードされ、メモリ内で実行され得る。あるいは、このようなコンポーネントは、専用ハードウェア(例えば、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタルシグナルプロセッサ(DSP)、またはフィールド・プログラマブル・ゲート・アレイ(FPGA))にプログラミングされるかまたは埋め込まれる実行可能コードとして実装され得、この実行可能コードは、アプリケーションからの対応するドライバおよび/またはオペレーティングシステムを介してアクセスされ得る。さらに、このようなコンポーネントは、1つまたは複数の特定の命令を介してソフトウェアコンポーネントによってアクセスされ得る命令セットの一部として、プロセッサまたはプロセッサコア内の特定のハードウェアロジックとして実装され得る。
【0072】
前述の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現に関して示される。これらのアルゴリズムの説明と表現は、自分の作業の本質を他の当業者に最も効果的に伝えるためにデータ処理分野の当業者によって使用される手段である。本明細書では、アルゴリズムは一般に、所望の結果につながる自己矛盾のない一連の操作であると考えられる。これらの操作とは、物理量の物理的操作を必要とする操作を指す。
【0073】
但し、これらおよび同様の用語はすべて、適切な物理量に関連付けることを目的としており、これらの量に適用される便利なラベルにすぎないことを理解されたい。上記の説明において他の方式で明示的に指摘されない限り、明細書全体では、用語(例えば、添付の特許請求の範囲に記載の用語)を使用した説明とは、コンピュータシステムまたは同様の電子コンピューティングデバイスの動作および処理を指し、前記コンピュータシステムまたは電子コンピューティングデバイスは、コンピュータシステムのレジスタおよびメモリの内部で物理(電子)量として示されるデータを制御し、前記データをコンピュータシステムのメモリまたはレジスタ、または他の情報記憶装置、送信または表示装置の内部で同様に物理量として示される他のデータに変換することを理解されたい。
【0074】
本開示の実施形態はまた、本明細書中の操作を実行するための装置に関する。このコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、リードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス)を含む。
【0075】
前述の図面に示されるプロセスまたは方法は、ハードウェア(例えば、回路、特定用途向けロジックなど)、ソフトウェア(例えば、非一時的なコンピュータ可読媒体で具体化されるもの)、または両方の組み合わせを含む処理ロジックによって実行され得る。前記プロセスまたは方法は、いくつかの連続操作に関して上記で説明されるが、いくつかの操作は、異なる順序で実行され得ることを理解されたい。また、いくつかの操作は、順次ではなく並列に実行され得る。
【0076】
本開示の実施形態は、いかなる特定のプログラミング言語も参照せずに説明される。本明細書で説明される本開示の実施形態の教示を実施するために、様々なプログラミング言語が使用され得ることを理解されたい。
【0077】
前述の明細書では、本開示の実施形態は、本開示の特定の例示的な実施形態を参照して説明される。添付の特許請求の範囲に記載の本開示のより広い精神および範囲から逸脱することなく、本開示に様々な修正を加えることができることは明らかであろう。従って、本明細書および図面は、限定的な意味ではなく例示的な意味で理解されるべきである。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8A
図8B
【手続補正書】
【提出日】2022-09-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
自動運転車両ADVの位置を計算するための方法であって、
処理装置から新しいグローバルナビゲーション衛星システムGNSSデータを受信することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、
最新のタイムスタンプを有する第二事前推定位置を前記複数の事前推定位置から識別することと、
前記第一事前推定位置と前記第二事前推定位置との差に基づいて前記新しいGNSSデータを調整することと、
調整されたGNSSデータに基づいて前記ADVの現在推定位置を計算することと、を含む、方法。
【請求項2】
前記複数の事前推定位置は、先入れ先出しFIFOキューに記憶されており、前記複数の事前推定位置のそれぞれは、計算時に前記FIFOキューにプッシュされる、
請求項1に記載の方法。
【請求項3】
前記複数の事前推定位置のそれぞれは、少なくともGNSSデータおよび慣性測定ユニットIMUデータを使用して計算されており、前記IMUデータの受信周波数は、前記GNSSデータの受信周波数よりも高い、
請求項1に記載の方法。
【請求項4】
前記第一事前推定位置を識別することは、
前記新しいGNSSデータのタイムスタンプと少なくとも1つの事前推定位置のタイムスタンプとの差を計算することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する前記第一事前推定位置を示すための最小差を識別することと、を含む、
請求項1に記載の方法。
【請求項5】
前記新しいGNSSデータを調整することは、計算された差を前記新しいGNSSデータに追加することを含む、
請求項1に記載の方法。
【請求項6】
前記位置データは、前記ADVの地理的位置、前記ADVの速度、または前記ADVの進行方向のうちの少なくとも1つを含む、
請求項1に記載の方法。
【請求項7】
前記事前推定位置データは、GNSSデータおよびIMUデータをカルマンフィルタの入力として使用して計算される、
請求項1に記載の方法。
【請求項8】
自動運転車両ADVの位置を計算するためのデータ処理システムであって、
処理装置と、
前記処理装置に接続されて命令を記憶するメモリと、を含み、前記命令は、前記処理装置によって実行されると、操作を前記処理装置に実行させるものであり、前記操作は、
新しいグローバルナビゲーション衛星システムGNSSデータを受信することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、
最新のタイムスタンプを有する第二事前推定位置を前記複数の事前推定位置から識別することと、
前記第一事前推定位置と前記第二事前推定位置との差に基づいて前記新しいGNSSデータを調整することと、
調整されたGNSSデータに基づいて前記ADVの現在推定位置を計算することと、を含む、
システム。
【請求項9】
前記複数の事前推定位置は、先入れ先出しFIFOキューに記憶されており、前記複数の事前推定位置のそれぞれは、計算時に前記FIFOキューにプッシュされる、
請求項8に記載のシステム。
【請求項10】
前記複数の事前推定位置のそれぞれは、少なくともGNSSデータおよび慣性測定ユニットIMUデータを使用して計算されており、前記IMUデータの受信周波数は、前記GNSSデータの受信周波数よりも高い、
請求項8に記載のシステム。
【請求項11】
前記第一事前推定位置を識別することは、
前記新しいGNSSデータのタイムスタンプと少なくとも1つの事前推定位置のタイムスタンプとの差を計算することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する前記第一事前推定位置を示すための最小差を識別することと、を含む、
請求項8に記載のシステム。
【請求項12】
前記新しいGNSSデータを調整することは、計算された差を前記新しいGNSSデータに追加することを含む、
請求項8に記載のシステム。
【請求項13】
前記位置データは、前記ADVの地理的位置、前記ADVの速度、または前記ADVの進行方向のうちの少なくとも1つを含む、
請求項8に記載のシステム。
【請求項14】
前記事前推定位置データは、GNSSデータおよびIMUデータをカルマンフィルタの入力として使用して計算される、
請求項8に記載のシステム。
【請求項15】
命令を記憶する非一時的な機械可読媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに自動運転車両ADVの位置を計算する操作を実行させるものであり、前記操作は、
新しいグローバルナビゲーション衛星システムGNSSデータを受信することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する第一事前推定位置を複数の事前推定位置から識別することと、
最新のタイムスタンプを有する第二事前推定位置を前記複数の事前推定位置から識別することと、
前記第一事前推定位置と前記第二事前推定位置との差に基づいて前記新しいGNSSデータを調整することと、
調整されたGNSSデータに基づいて前記ADVの現在推定位置を計算することと、を含む、
機械可読媒体。
【請求項16】
前記複数の事前推定位置は、先入れ先出しFIFOキューに記憶されており、前記複数の事前推定位置のそれぞれは、計算時に前記FIFOキューにプッシュされる、
請求項15に記載の機械可読媒体。
【請求項17】
前記複数の事前推定位置のそれぞれは、少なくともGNSSデータおよび慣性測定ユニットIMUデータを使用して計算されており、前記IMUデータの受信周波数は、前記GNSSデータの受信周波数よりも高い、
請求項15に記載の機械可読媒体。
【請求項18】
前記第一事前推定位置を識別することは、
前記新しいGNSSデータのタイムスタンプと少なくとも1つの事前推定位置のタイムスタンプとの差を計算することと、
前記新しいGNSSデータのタイムスタンプに最も近いタイムスタンプを有する前記第一事前推定位置を示すための最小差を識別することと、を含む、
請求項15に記載の機械可読媒体。
【請求項19】
前記新しいGNSSデータを調整することは、計算された差を前記新しいGNSSデータに追加することを含む、
請求項15に記載の機械可読媒体。
【請求項20】
前記位置データは、前記ADVの地理的位置、前記ADVの速度、または前記ADVの進行方向のうちの少なくとも1つを含む、
請求項15に記載の機械可読媒体。
【請求項21】
コンピュータプログラムであって、プロセッサにより実行されると、請求項1乃至7の何れか一項に記載の方法を実行させるコンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
第四態様では、プロセッサにより実行されると、第一態様に記載の方法を実行させるコンピュータプログラムを提供する。
本開示の実施形態は、図面の各図に例示的かつ非限定的な例として示されており、図面中の類似の図面記号は、類似の要素を示す。
【国際調査報告】