JP2019526840A - 自律走行車の制御フィードバックに基づくマップ更新方法およびシステム - Google Patents

自律走行車の制御フィードバックに基づくマップ更新方法およびシステム Download PDF

Info

Publication number
JP2019526840A
JP2019526840A JP2018514877A JP2018514877A JP2019526840A JP 2019526840 A JP2019526840 A JP 2019526840A JP 2018514877 A JP2018514877 A JP 2018514877A JP 2018514877 A JP2018514877 A JP 2018514877A JP 2019526840 A JP2019526840 A JP 2019526840A
Authority
JP
Japan
Prior art keywords
command
control command
vehicle
tilt
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018514877A
Other languages
English (en)
Other versions
JP6653381B2 (ja
Inventor
フー,セン
チュー,ファン
コン,チー
ルオ,チー
ユイ,シアン
チュー,チョンコアン
フー,シアオシン
ホー,チアルイ
リー,ホンイエ
パン,ユイチャン
シア,チョンプー
チャオ,チュンミン
ヤン,コアン
ワン,チンカオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu com Times Technology Beijing Co Ltd
Baidu USA LLC
Original Assignee
Baidu com Times Technology Beijing Co Ltd
Baidu USA LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu com Times Technology Beijing Co Ltd, Baidu USA LLC filed Critical Baidu com Times Technology Beijing Co Ltd
Publication of JP2019526840A publication Critical patent/JP2019526840A/ja
Application granted granted Critical
Publication of JP6653381B2 publication Critical patent/JP6653381B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • G01C21/3822Road feature data, e.g. slope data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/14Adaptive cruise control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/076Slope angle of the road
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3896Transmission of map data from central databases
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/16Pitch
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/18Roll
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/15Road slope

Abstract

一実施形態では、ADVが道路セグメントを走行するとき、第1の制御コマンドに応答して、走行パラメータが記録される。第1の走行パラメータと、第1の制御コマンドに対応する目標走行パラメータとの間の差が決定される。差が所定のしきい値を超えたと決定されたことに応答して、その差を補償してADVを目標走行パラメータに近い第2の走行パラメータで走行させる第2の制御コマンドが発行される。道路セグメントの傾斜状態は、少なくとも第2の制御コマンドに基づいて導出される。導出された傾斜状態に基づいて、道路の道路セグメントに対応するマップのマップデータが更新される。更新されたマップは、ADVが以降に同じ道で走行するとき、道路の傾斜状態を考慮して、適切な制御コマンドを生成して発行するのに使用することができる。【選択図】図7

Description

本発明の実施形態は、一般的に、自律走行車を動作させることに関する。特に、本発明の実施形態は、自律走行車の制御フィードバックに基づいてマップを更新することに関する。
自律走行モード(例えば、運転者なしに)で動作している車両において、搭乗者、特に運転者は、運転に関連する担当事項の一部から軽減されることができる。自律走行モードで動作する際、車両はオンボードセンサを用いて様々な位置へナビゲートすることができ、その結果、最小限の人間とのインタラクションで、又は、一部の場合、乗客なしに車両の移動が可能となる。
モーション計画及び制御は、自律走行において重要な動作である。例えば、スロットル、ブレーキ、およびステアリングコマンドは、マップと経路情報をもとに生成される、自律走行で最も重要なコマンドである。正確かつ最新のマップは、特に高解像度マップは、自律走行に不可欠である。しかし、道路の表面が変更されることがあり、マップデータの収集が正しくないとか不正確である可能性がある。慣性測定ユニットのようなセンサを使用して道路の状態を更新することは、コストがかかる。道路状況に関するマップを更新する効率的な方法が欠如している。
本発明の実施形態は、自律走行のためのマップを更新するコンピュータ実施方法、非一時的機械可読媒体およびデータ処理システムを提供する。
本発明の一実施形態では、自律走行のためのマップを更新するコンピュータ実施方法において、第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録するステップと、前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定するステップと、前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させるステップと、少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出するステップと、前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新するステップと、を含む。
本発明の他の実施形態では、コマンドを記憶し、前記コマンドがプロセッサによって実行されるとき、前記プロセッサに動作を実行させる、非一時的機械可読媒体であって、前記動作は、第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録することと、前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定することと、前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させることと、少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出することと、前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新することと、を含む。
本発明の別の実施形態では、プロセッサと、前記プロセッサに接続されてコマンドを記憶するメモリと、を含み、前記コマンドが前記プロセッサによって実行されるとき、前記プロセッサに動作を実行させる、データ処理システムにおいて、前記動作は、第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録することと、前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定することと、前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させることと、少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出することと、前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新することと、を含む。
本発明の別の実施形態では、自律走行のためのマップを更新するコンピュータ実施方法において、複数の車両の、前記車両が複数の道路上で走行するときに記録された走行統計データを受信するステップであって、前記走行統計データは、異なる時点で前記車両に発行された制御コマンド及び前記制御コマンドに応答した前記車両の応答を含む、ステップと、指定された道路セグメントに対し、前記車両に前記制御コマンドと関連する一つまたは複数の目標走行パラメータを維持させるために、一つまたは複数の車両に発行されて前記車両の前の制御コマンドを補償するための一つまたは複数の制御コマンドを識別するステップと、前記制御コマンドおよび前記目標走行パラメータに基づいて、前記道路セグメントの傾斜状態を導出するステップと、前記道路セグメントに対応するマップのマップ位置のマップデータを更新するステップと、を含む。
本発明の実施形態は、同様の参照番号で同様の要素を示す添付の図面において、例示として説明され、これに限定されない。
本発明の一実施形態に係るネットワークシステムを示すブロック図である。 本発明の一実施形態に係る自律走行車の一例を示すブロック図である。 本発明の一実施形態に係る自律走行車とともに使用される感知及び計画システムの一例を示すブロック図である。 車両や道路の傾斜(slope)状態を示す図である。 車両や道路の傾斜(slope)状態を示す図である。 車両や道路の傾斜(slope)状態を示す図である。 本発明の一実施形態に係る傾斜状態―コマンドマッピングテーブルの一例を示すブロック図である。 本発明の一実施形態に係るピッチ(pitch)状態―コマンドマッピングテーブルの一例を示すブロック図である。 本発明の一実施形態に係るロール(roll)状態―コマンドマッピングテーブルの一例を示すブロック図である。 本発明の一実施形態に係る自律走行のためのマップを更新するプロセスを示すフローチャートである。 本発明の他の実施形態に係る自律走行のためのマップを更新するプロセスを示すフローチャートである。 本発明の他の実施形態に係るマップを更新するシステムを示すブロック図である。 本発明の他の実施形態に係る自律走行のためのマップを更新するプロセスを示すフローチャートである。 一実施形態に係るデータ処理システムを示すブロック図である。
以下、検討した詳細を参照して本発明の様々な実施形態及び態様を説明し、添付の図面は、前記様々な実施形態を示す。以下の説明及び図面は、本発明の例示であり、本発明を限定するものとして解釈されるべきではない。本発明の様々な実施形態の完全な理解を提供するために、多くの詳細が記載されている。しかしながら、場合によって、本発明の実施形態の説明の簡潔さから、周知又は従来の詳細は記載されていない。
実施例1
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に説明した特定の特徴、構造、又は特性を本発明の少なくとも1つの実施形態に含めることができることを意味する。本明細書を通じて使用される「一実施形態では」という語句は、必ずしもすべて同じ実施形態を指すとは限らない。
本発明の一実施形態によると、自律走行車(ADV)が特定の道路を走行するとき、道路の傾斜状態を決定するための高価なセンサを用いる代わりに、制御フィードバックを用いて傾斜状態を推定する。一実施形態では、ADVが道路の特定の道路セグメントを走行する場合、目標状態(例えば、目標速度、目標加速度、目標進行方向)に到達するために、ADVを走行させるための計画及び制御データに基づいて制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)がADVに発行される。ADVの応答が記録され、運転の目標情報と比較される。ADVの応答が目標から外れた場合には、エラーを補償するために追加の制御コマンドが発行される。
追加の制御コマンドに基づいて、道路セグメントの傾斜状態を推定することができる。これらの推定は、ADVが平らな道路で走行する場合、一般的にADVが目標から多く外れないという仮定に基づいて行うことができる。ADVが目標から外れたら、それは道路の傾斜状態に起因したことである可能性がある。車両の制御フィードバックを使用することにより、同じ目的のため高価なセンサを使用する必要がなく、道路の傾斜状態を推定でき、例えば、特定の道路セグメントが傾斜道路セグメントである可能性があることを示すように、特定の道路セグメントに対応するマップのマップデータを更新することができる。更新されたマップは、目標にできるだけ近いように車両を走行させるために、同一の道路セグメントを走行する際に、道路セグメントの傾斜状態を考慮して、適切な制御コマンドを発行するのに用いられることができる。
一実施形態において、ADVが道路セグメントを走行する場合、第1の制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)に応答して、走行パラメータ(例えば、速度、加速度、進行方向)が記録される。第1の走行パラメータと、第1の制御コマンドに対応する目標走行パラメータとの間の差が決定され、この差は、道路の傾斜による目標からの誤差を示す。差が所定のしきい値を超えたと決定されたことに応答して、その差を補償してADVを目標走行パラメータに近い第2の走行パラメータで走行させる第2の制御コマンドが発行される。道路セグメントの傾斜状態は、少なくとも第2の制御コマンド、又は第1の制御コマンドと第2の制御コマンドの差に基づいて導出される。導出された傾斜状態に基づいて、道路の道路セグメントに対応するマップのマップデータが更新される。更新されたマップは、ADVが以降に同じ道で走行するとき、道路の傾斜状態を考慮して、適切な制御コマンドを生成し発行するのに用いられることができる。
一実施形態によると、道路セグメントの傾斜状態を導出するに当たり、テーブルのような傾斜―コマンド(傾斜/コマンド)マッピングデータ構造でルックアップ動作を実行して、第2の制御コマンドおよび目標走行パラメータとほぼマッチングするマッピングエントリを検索して捜し出す。傾斜状態は、傾斜/コマンドマッピングテーブルのマッチングエントリから得られる。傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含む。各マッピングエントリは、特定の傾斜状態を特定の制御コマンドおよび特定の走行パラメータにマッピングし、またはその逆にマッピングする。傾斜/コマンドマッピングテーブルは、さまざまなデータ構造またはデータベースにより実現できる。
一実施形態では、傾斜/コマンドマッピングテーブルは、平らな道路と傾斜道路を含む、さまざまな異なるタイプの道路を走行する様々な車両の多くの走行統計データの基づいて生成される。車両は、自律的に運転されたり、様々な運転者により運転されることができる。走行統計データは、車両が平らな道路や傾斜道路を含むさまざまな異なるタイプの道路で走行するとき、異なる時点で発行された異なる制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)および記録された車両の応答(例えば、加速度/減速度、進行方向)を含んでもよい。一実施形態では、傾斜/コマンドマッピングテーブルは、ピッチ状態―コマンド(ピッチ/コマンド)マッピングテーブルとロール状態―コマンド(ロール/コマンド)マッピングテーブルを含む。ピッチ/コマンドマッピングテーブルは、複数のピッチのマッピングエントリを含む。各ピッチのマッピングエントリは、速度制御コマンド(例えば、スロットル/ブレーキコマンド)と、車両の速度または加速度/減速度とをピッチ状態にマッピングし、またはその逆にマッピングする。ロール/コマンドマッピングテーブルは、複数のロールのマッピングエントリを含む。各ロールのマッピングエントリは、ステアリングコマンドと、車両の進行方向または角度とをロール状態にマッピングし、またはその逆にマッピングする。傾斜/コマンドマッピングテーブルは、他の走行パラメータに対する他のマッピングテーブルをさらに含んでもよい。
本発明の他の実施形態によると、複数のADVの走行統計データが捕獲されて収集される。走行統計データは、異なる時点と異なる道路で車両に発行された制御コマンドおよびそのコマンドに応答した車両の応答を記録する。捕獲されたコマンドは、道路の傾斜状態に起因するエラーを補償するために生成された制御コマンドを含んでもよい。そして、走行統計データは、オフラインのデータ分析システムで分析されて、少なくとも一部の道路の傾斜状態を導出し、その道路の対応するマップデータは、傾斜状態に基づいて更新される。代替的に、各車両は、自身が所有するローカルマップを更新する。そして、車両のローカルマップは中央システムに送信され、グローバルマップにマージされてから、以降の使用のためにグローバルマップが車両に再分配される。
一実施形態によると、複数の車両の走行統計データが収集され、走行統計データは、車両に発行された様々な制御コマンドとその制御コマンドに応答した車両の応答とを含む。指定された道路セグメントに対して、車両に制御コマンドと関連する1つ以上の目標走行パラメータを維持させるために、一つまたは複数の車両に発行されて車両の前の制御コマンドを補償するための複数の制御コマンドが識別される。道路セグメントの傾斜状態は、制御コマンドと目標走行パラメータとに基づいて導出される。傾斜状態に基づいて、道路セグメントに対応するマップのマップデータが更新される。
傾斜道路は、上り坂/下り坂の道路のような縦方向の傾斜道路、左/右に傾いた道路のような横方向の傾斜道路、またはその二つの組み合わせであってもよい。傾斜状態は、特定の時点で道路のピッチ状態および/またはロール状態を含んでもよい。傾斜状態は、傾斜の角度または傾斜のパーセントで表すことができる。同様に、ピッチ状態は、ピッチの角度またはピッチのパーセントで表すことができ、ロール状態は、ロールの角度またはロールのパーセントで表すことができる。平らな道路は、約ゼロの傾斜状態の道路を指す。走行パラメータは、速度、加速度(acceleration rate)および/または進行方向、他の走行パラメータを含んでもよい。
図1は本発明に係る一実施形態に係る自律走行車のネットワーク配置を示すブロック図である。図1を参照して、ネットワーク配置100は、ネットワーク102によって1つ以上のサーバ103〜104に通信可能に接続することができる自律走行車101を含む。1つの自律走行車を示すが、ネットワーク102によって、複数の自律走行車は互いに接続され、及び/又はサーバ103〜104に接続されることができる。ネットワーク102は、任意のタイプのネットワーク、例えば有線又は無線のローカルエリアネットワーク(LAN)、例えばインターネットのような広域ネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク又はその組み合わせであってもよい。サーバ103〜104は、任意のタイプのサーバ又はサーバクラスタ、例えばWebサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はその組み合わせであってもよい。サーバ103〜104は、データ分析サーバ、内容サーバ、交通情報サーバ、マップ(地図)及び興味のあるポイント(MPOI)サーバ又は位置サーバ等であってもよい。
自律走行車とは、運転者からの入力が非常に少ない又はない場合に案内して環境を通過する自律走行モードに設置される車両である。自律走行車は、車両が走行している環境にかかる情報を検出するように配置される1つまたは複数のセンサを含むセンサシステムを備える。車両及びその関連しているコントローラが、検出された情報で案内して環境を通過する。自律走行車101が手動モード、完全自律走行モードまたは部分自律走行モードで運転されることができる。
一実施形態において、自律走行車101は、感知及び計画システム110と、車両制御システム111と、無線通信システム112と、ユーザインターフェースシステム113と、インフォテイメントシステム114と、センサシステム115とを含むが、これらに限定されない。自律走行車101は、通常の車両に含まれるある一般的な構成要素(部材)、例えばエンジン、車輪、ハンドル、変速器等をさらに含んでもよく、前記構成要素は、車両制御システム111及び/又は感知及び計画システム110により多種の通信信号及び/又はコマンドを使用して制御され、この多種の通信信号及び/又はコマンドは、例えば、加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンド等であることができる。
構成要素110〜115は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラローカルエリアネットワーク(CAN)バスを介して互いに通信可能に接続することができる。CANバスは、マイクロコントローラ及び装置がホストコンピューターのない応用において互いに通信することを許可するような車両バス標準として設計される。それは、最初に自動車内における複数の電線のために設計されたメッセージに基づくプロトコルであるが、他のたくさんの環境(状況)にも用いられる。
図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は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば回転及び/又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
センサシステム115は、その他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ(例えばマイクロフォン)をさらに含んでもよい。オーディオセンサは、自律走行車周辺の環境から音を捕獲するように配置されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はその組み合わせのステアリング角を感知するように配置されることができる。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を感知する。いくつかの場合、スロットルセンサ及びブレーキセンサは、集積型スロットル/ブレーキセンサに一体化されてもよい。
一実施形態では、センサシステム115は、ピッチセンサ216とロールセンサ217を選択的に含んでもよい。ピッチセンサ216は、道路のピッチ状態を示す車両のピッチ角度を検出し決定するように構成されている。ロールセンサ217は、道路のロール状態を示す車両のロール角度を検出し決定するように構成されている。ピッチセンサ216とロールセンサ217は、単一のセンサとして一体化されてもよい。あるいは、ピッチ状態とロール状態は、GPS/マップ情報および/またはIMUデータに基づいて決定されてもよい。注意すべきなのは、道路のピッチ状態および/またはロール状態は、このようなセンサやIMUを使用する必要なく、制御のフィードバックに基づいて決定されてもよく、これは以下でより詳細に説明する。
一実施形態において、車両制御システム111は、ステアリングユニット201と、スロットルユニット202(加速ユニットとも呼ばれる)と、ブレーキユニット203とを含むが、これらに限定されない。ステアリングユニット201は、車両の方向又は走行方向を調整することに用いられる。スロットルユニット202は、モーター又はエンジンの速度を制御して、さらに車両の速度及び加速度を制御することに用いられる。ブレーキユニット203は、摩擦を提供することによって車両の車輪又はタイヤをスローダウンして車両を減速させることに用いられる。注意すべきなのは、図2に示すような構成要素はハードウェア、ソフトウェア又はその組み合わせで実現されることができる。
図1を再び参照すると、無線通信システム112は、自律走行車101と、例えば装置、センサ、その他の車両等の外部システムとの間の通信を可能にする。例えば、無線通信システム112は、1つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク102によってサーバ103〜104に通信できる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)(例えばWiFi)を使用して他の構成要素やシステムに通信できる。無線通信システム112は、例えば赤外線リンク、ブルートゥース等を使用して装置(例えば、乗客の移動装置、車両101内の表示装置、スピーカー)に直接に通信できる。ユーザインターフェースシステム113は、車両101内で実行される周辺装置の一部であってもよく、例えばキーワード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む。
自律走行車101の一部又は全ての機能は、特に自律走行モードで動作する場合、感知及び計画システム110により制御されたり管理されたりすることができる。感知及び計画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)、及びソフトウェア(例えば、オペレーティングシステム、計画及びルーティングプログラム)を含み、センサシステム115、車両制御システム111、無線通信システム112、及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地から目的地までのルートや経路を計画し、そして計画及び制御情報に基づいて車両101を走行させる。あるいは、感知及び計画システム110と車両制御システム111とは一体化されてもよい。
例えば、乗客であるユーザは、例えばユーザインターフェースによって行程の出発位置及び目的位置を指定することができる。感知及び計画システム110は、行程関連データを取得する。例えば、感知及び計画システム110は、MPOIサーバから位置及び経路情報を取得することができ、前記MPOIサーバは、サーバ103〜104の一部であってもよい。位置サーバは、位置サービスを提供し、かつMPOIサーバは、マップサービス及びある位置のPOIを提供する。あるいは、このような位置及びMPOI情報は、感知及び計画システム110の永続記憶装置にローカルでキャッシュされることができる。
自律走行車101が経路に沿って走行する期間に、感知及び計画システム110は、さらに交通情報システムやサーバ(TIS)からリアルタイム交通情報を取得できる。注意すべきなのは、サーバ103〜104は、第三者のエンティティにより動作されることができる。あるいは、サーバ103〜104の機能は、感知及び計画システム110と一体化されてもよい。リアルタイム交通情報、MPOI情報、位置情報、及びセンサシステム115が検出又は感知したリアルタイムなローカル環境データ(例えば、障害物、対象、付近車両)に基づいて、感知及び計画システム110は、指定された目的地に安全で効果的に到達するように、最適な経路を計画し、かつ計画した経路により、例えば車両制御システム111を介して車両101を走行させることができる。
サーバ103は、様々のクライアントにデータ分析サービスを提供するデータ分析システムであっても良い。一つの実施形態において、データ分析システム103は、データ収集部121と、機器学習エンジン122とを含む。データ収集部121は、様々の車両(任意の自律走行車又は人間運転者による一般車両)からの走行統計データ123を収集する。走行統計データ123は、異なる時点で発行された運転コマンド(例えば、スロットル、ブレーキ及びステアリングコマンド)及び車両のセンサにより取得された車両のレスポンス(例えば、速度、加速度、減速度、方向)を含む。走行統計データ123は、異なる時点での運転環境情報、例えば、経路(出発地及び目的地の位置)、MPOI、道路状態、天気状態等を更に含む。走行統計データ123は、車両のコマンドと応答が捕獲されたときの、車両が走行している道路のピッチ状態とロール状態のような傾斜状態をさらに含む。傾斜状態は、傾斜の角度または傾斜のパーセントで表すことができる。同様に、ピッチ状態は、ピッチの角度まではピッチのパーセントで表すことができ、ロール状態は、ロールの角度またはロールのパーセントで表すことができる。
一実施形態において、走行統計データ123は、車両が既知のピッチ状態と既知のロール状態(例えば、既知の上り角度や下り角度をそれぞれ有する上り坂の道路や下り坂の道路)のような既知の傾斜状態を持つ特定の道路で走行しているときに記録されることができる。走行統計データ123は、センサ、GPS/マップデータおよび/またはIMUによって測定できる、既知の傾斜道路上の特定の走行パラメータを維持するために、特定の制御コマンドが発行すべきであることを示す情報を含む。例えば、走行統計データ123は、上り坂または下り坂の道路で走行する車両の特定の速度、加速度または減速度を維持するために、スロットルコマンドまたはブレーキコマンドなどの特定の速度制御コマンドが発行すべきであるということを示す情報を含んでもよい。同様に、走行統計データ123は、横方向の傾斜道路上の車両の特定の進行方向を維持するために、特定のステアリング制御コマンドが発行すべきであるということを示す情報を含んでもよい。
走行統計データ123に基づいて、機器学習エンジン122は、様々な目的のために、規則、アルゴリズム、および/または予測モデル124のセットを生成または訓練する。一実施形態では、機器学習エンジン122は、走行統計データ123を分析し、様々な車両に対する傾斜/コマンドマッピングデータ構造またはテーブル125を生成する。傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含む。各マッピングエントリは、特定の制御コマンドおよび走行パラメータを傾斜状態にマッピングし、またはその逆にマッピングする。各マッピングエントリは、対応する傾斜状態を有する傾斜道路で走行する車両の対応する走行パラメータを維持するために、対応する制御コマンドが発行すべきであるということを示す。注意すべきなのは、他の種類の車両が異なる構成(例えば、異なる重量、サイズ、馬力、最小ステアリングの半径)を有する可能性があるので、異なる傾斜/コマンドテーブルは、複数のタイプの車両に対して構成することができる。代替的に、単一の傾斜/コマンドテーブルは、複数のタイプの車両に対して構成することもできる。そして、傾斜/コマンドマッピングテーブル125は、制御フィードバックに基づいて道路の傾斜状態を推定するために、ADV上にアップロードされて、リアルタイムでADVの自律走行に使用され、ここで、傾斜状態は、道路に対応するマップのマップデータを更新するのに使用されることができる。
代替的に、マッピングテーブル125は、機器学習予測または決定モデルとして実現されてもよい。予測または決定モデルに提供された入力は、制御コマンドと走行パラメータを含んでもよく、予測または決定モデルの出力は、傾斜状態であってもよい。ピッチ/コマンド予測モデルとロール/コマンド予測モデルを有してもよい。ピッチ/コマンド予測モデルへの入力は、速度制御コマンド(例えば、スロットルやブレーキコマンド)と走行パラメータ(例えば、速度、加速度、または減速度)を含むことができ、ピッチ/コマンドモデルの出力は、道路のピッチ状態(例えば、縦方向の傾き/傾斜のパーセントまたは角度)であってもよい。ロール/コマンド予測モデルへの入力は、ステアリングコマンドと進行方向を含んでもよく、ロール/コマンド予測モデルの出力は、道路のロール状態(例えば、横方向の傾き/傾斜のパーセントまたは角度)であってもよい。
図3は、本発明の一実施形態に係る自律走行車とともに使用される感知及び計画システムの一例を示すブロック図である。システム300は、図1の自律走行車101の一部として実現することができ、感知および計画システム110、制御システム111と、センサシステム115を含むが、これに限定されない。図3を参照すると、感知及び計画システム110は、位置決め(localization)モジュール301、感知モジュール302、決定モジュール303、計画モジュール304、制御モジュール305、傾斜処理モジュール308およびマップ更新モジュール309を含むが、これらに限定されない。傾斜処理モジュール308は、ピッチ状態とロール状態をそれぞれ処理するためのピッチ処理モジュール306とロール処理モジュール307を含んでもよい。
モジュール301−309の一部または全部は、ソフトウェア、ハードウェア、またはこれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続記憶装置352にインストールされ、メモリ351にロードされ、1つまたは複数のプロセッサ(図示せず)によって実行されてもよい。注意すべきなのは、これらのモジュールの一部または全部は、図2の車両制御システム111における一部またはすべてのモジュールと通信可能に接続または一体化されてもよい。モジュール301−309の一部は、集積モジュールとして一体化されてもよい。例えば、ピッチ処理モジュール306とロール処理モジュール307は、制御モジュール305および/または計画モジュール304と一体化されてもよい。
位置決めモジュール301は、(例えば、GPSユニット212を利用して)自律走行車300の現在位置を決定し、ユーザの行程や経路に関連する任意のデータを管理する。位置決めモジュール301(マップ及び経路モジュールとも呼ばれる)は、ユーザの行程や経路に関連する任意のデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして行程の出発位置と目的地を指定することができる。位置決めモジュール301は、マップ及び経路情報311のような自律走行車300の他の構成要素と通信して行程関連データを取得する。たとえば、位置決めモジュール301は、位置サーバ、およびマップとPOI(MPOI)サーバから位置と経路情報を取得することができる。位置サーバは、位置サービスを提供し、MPOIサーバは、マップサービスと、マップ及び経路情報311との一部としてキャッシュすることができる特定位置のPOIとを提供する。自律走行車300が経路に沿って移動する間に、位置決め(localization)モジュール301は、交通情報システム、またはサーバからリアルタイムの交通情報も取得することができる。
センサシステム115により提供されたセンサデータ、及び位置決めモジュール301により得られた位置決め情報に基づいて、感知モジュール302は周辺環境に対する感知(perception)を決定する。感知情報は、普通の運転者が運転している車両周辺から感知したものを示すことができる。感知情報は、例えば対象の形式で現される車線配置(例えば、直線又はカーブ)、トラフィック信号、他の車両の相対位置、歩行者、建物、横断歩道又はその他の交通関連標識(例えば、停止標識、譲歩標識)などを含んでもよい。
感知モジュール302は、自律走行車の環境で対象および/または特徴を識別するように、1つ以上のカメラによって捕獲された画像を処理及び分析するためのコンピュータビジョンシステム、またはコンピュータビジョンシステムの機能を含んでもよい。対象は、交通信号、道路境界、他の車両、歩行者、および/または障害物などを含むことができる。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオ追跡、および他のコンピュータビジョン技術を使用することができる。一部の実施形態では、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、対象の速度推定などを行うことができる。感知モジュール302は、レーダーおよび/またはLIDARのような他のセンサによって提供される他のセンサのデータに基づいて対象を検出することもできる。
各対象については、決定モジュール303は、対象をどのように扱うかを決定する。例えば、特定の対象(例えば、交差ルートにある他の車)だけでなく、対象を記述するメタデータ(例えば、速度、方向、転回角度)に対して、決定モジュール303は、対象をどの方式で対処するかを決定する(例えば、追い越し、譲歩、停止、通過)。決定モジュール303は、永続記憶装置352に記憶できる交通規則または走行規則312のような規則のセットに基づいて、これらの決定を下すことができる。
感知された対象のそれぞれの決定に基づいて、計画モジュール304は、自律走行車に対する経路またはルートだけでなく、走行パラメータ(例えば、距離、速度、および/または転回角度)を計画する。つまり、与えられた対象については、決定モジュール303は、対象の処理を決定し、計画モジュール304は、それをどのように行うかを決定する。例えば、与えられた対象については、決定モジュール303は、対象を通過することを決定し、これに対し、計画モジュール304は、対象の左側または右側から通過するかを決定する。計画及び制御データは、計画モジュール304によって生成され、車両300が次の移動のサイクル(例えば、次のルート/経路セグメント)でどのように動くのかを記述する情報を含む。たとえば、計画および制御データは、車両300が時速30マイル(mph)の速度で10m移動し、25 mphの速度で右側車線に変更するよう指示することができる。
計画及び制御データに基づいて、制御モジュール305は、計画及び制御データによって定義されたルートまたは経路に沿って、車両制御システム111に適切なコマンドまたは信号を送信することにより、自律走行車を制御し走行させる。計画及び制御データには、経路またはルート上の異なる時点において、適切な車両設定または走行パラメータ(例えば、スロットル、ブレーキ、およびステアリングコマンド)を使用して、ルートまたは経路の第1の地点から第2の地点まで車両を走行させる十分な情報が含まれている。
一実施形態では、計画段階は、複数の計画サイクルまたはコマンドサイクル、例えば、100ミリ秒(MS)の時間間隔ごとに実行される。計画サイクルまたはコマンドサイクルごとに、1つまたは複数の制御コマンドが計画及び制御データに基づいて発行される。つまり、各100MS毎に、計画モジュール304は、次の経路セグメントまたはルートセグメントを計画し、次の経路セグメントまたはルートセグメントは、例えば目標位置とADVが目標位置に到達するのに必要な時間とを含むことができる。あるいは、計画モジュール304は、特定の速度、方向、および/またはステアリング角等を追加的に特定することができる。一実施形態では、計画モジュール304は、例えば、5秒のような所定の次の経路セグメントまたはルートセグメントを計画する。各計画サイクルについて、計画モジュール304は、直前のサイクルで計画された目標位置に基づき、現在のサイクル(例えば、次の5秒)の目標位置を計画する。その後、制御モジュール305は、現在のサイクルの計画及び制御データに基づいて、1つ以上の制御コマンド(例えば、スロットル、ブレーキ、ステアリング制御コマンド)を発生する。
注意すべきなのは、決定モジュール303と計画モジュール304は、1つの集積モジュールとして一体化されてもよい。決定モジュール303/計画モジュール304は、自律走行車の走行経路を決定するためのナビゲーションシステムまたはナビゲーションシステムの機能を含むことができる。例えば、ナビゲーションシステムは、一連の速度と進行方向(directional heading)を決定して、感知された障害物を実質的に避ける経路に沿って自律走行車の移動を行いながら、大体的に最終的な目的地に至る道によるルートに沿って、自律走行車を走行させることができる。目的地は、ユーザインターフェースシステム113を介するユーザ入力に応じて設定されることができる。ナビゲーションシステムは、自律走行車が動作されている間に、走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車の走行経路を決定するために、GPSシステムおよび1つまたは複数のマップからのデータを統合することができる。
決定モジュール303/計画モジュール304は、自律走行車の環境における潜在的な障害物を識別、評価、回避したり、その他の方式で迂回するための衝突回避システムまたは衝突回避システムの機能をさらに含むことができる。例えば、衝突回避システムは、方向転換操作、転回操作、ブレーキ操作などを行うために、制御システム111の1つまたは複数のサブシステムを操作して、自律走行車のナビゲーションの変化を実行することができる。衝突回避システムは、周辺の交通パターン、道路状況等に基づいて、実現可能な障害物回避操作を自動的に決定することができる。衝突回避システムは、自律走行車が方向転換して進入する隣接領域で、他のセンサシステムにより車両、建物の障害物などが検出されたときに、方向転換操作を行わないように構成することができる。衝突回避システムは、使用可能であり、自律走行車の乗員の安全を最大限にする操作を自動的に選択することができる。衝突回避システムは、自律走行車の乗客室において最低限の加速を引き起こすと予想される回避操作を選択することができる。
本発明の一実施形態によると、自律走行車(ADV)がその特定の道路を走行するとき、道路の傾斜状態を決定するための高価なセンサを用いる代わりに、制御フィードバックが用いて傾斜状態を推定する。一実施形態では、ADVが道路の特定の道路セグメントを走行する場合、制御モジュール305は、目標状態(例えば、目標速度、目標加速度および/または目標進行方向)に到達するために、ADVを走行させるための計画および制御データに基づいて制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)をADVに発行する。ADVの応答は記録され、運転の目標情報と比較される。ADVの応答が目標から外れた場合には、制御コマンド305は、車両が意図された目標走行パラメータに近い走行パラメータで走行できるように、エラーを補正するための追加の制御コマンドを発行する。
追加の制御コマンドに基づいて、制御モジュール305は、傾斜処理モジュール308を作動させて、道路セグメントの傾斜状態を決定したり、推定したりする。傾斜処理モジュール308は、傾斜/コマンドマッピングテーブル125を利用して、追加の制御コマンドと目標走行パラメータに基づき、道路の傾斜状態を推定する。これらの推定は、ADVが平らな道路で走行する場合、一般的にADVが目標から多く外れない仮定に基づいて行われる。ADVが目標から外れたら、それは道路の傾斜状態に起因することである可能性がある。車両の制御フィードバックを利用することにより、道路の傾斜状態を推定することができる。推定された傾斜状態に基づいて、マップ更新モジュール309は、例えば、特定の道路セグメントが傾斜道路セグメントである可能性があることを示すように、特定の道路セグメントに対応するマップのマップデータ311を更新する。更新されたマップは、目標にできるだけ近いように車両を走行させるために、同一または類似の道路セグメントを走行する際に、道路セグメントの傾斜状態を考慮して、適切な制御コマンドを発行するのに用いられることができる。
一実施形態では、ADVが道路セグメントを走行する場合、制御モジュール305によって発行された第1の制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)に応答して、第1の走行パラメータ(例えば、速度、加速度、進行方向)が記録される。走行パラメータは、センサシステム115のセンサのうちの少なくとも一部を使用して測定されることができる。第1の走行パラメータと、第1の制御コマンドに対応する目標走行パラメータとの間の差を決定する。差が所定のしきい値を超えたと決定されたこと(例えば、車両が目標から外れたこと)に応答して、制御モジュール305は、差を補償するための第2の制御コマンドを発行して、ADVを目標走行パラメータに近い第2の走行パラメータで走行させる。傾斜処理モジュール308は、例えば、傾斜/コマンドマッピングテーブル125を使用して、少なくとも第2の制御コマンドに基づき、道路セグメントの傾斜状態を決定する。傾斜状態に基づいて、マップ更新モジュール309は、更新された道路の道路セグメントに対応するマップのマップデータ311を更新する。更新されたマップは、ADVが以降に同じ道で走行するとき、道路の傾斜状態を考慮して、適切な制御コマンドを生成し発行するのに用いられることができる。
一実施形態において、道路セグメントの傾斜状態を導出するに当たり、傾斜処理モジュール308は、傾斜/コマンドマッピングテーブル125でルックアップ動作を実行して、第2の制御コマンドおよび目標走行パラメータとほぼマッチングするマッピングエントリを検索して捜し出す。傾斜状態は、傾斜/コマンドマッピングテーブルのマッチングエントリから得られる。図5は、本発明の一実施形態に係る傾斜―コマンドマッピングテーブルの一例を示すブロック図である。一実施形態では、傾斜/コマンドマッピングテーブル125は、複数のマッピングエントリを含む。各マッピングエントリは、特定の制御コマンド501と特定の走行パラメータ502を傾斜状態501にマッピングし、またはその逆にマッピングする。
傾斜状態を導出するに当たり、傾斜処理モジュール308は、第2の制御コマンドに正確にまたはほぼマッチングされるフィールド501と、目標走行パラメータに正確にまたはほぼマッチングされるフィールド502とを有するマッピングエントリを捜し出すために、第2の制御コマンドと目標走行パラメータに基づいて、傾斜/コマンドマッピングテーブル125から検索する。マッチングされるエントリが見つかった場合に、マッチングされるエントリのフィールド503から傾斜状態が取得されることができる。そして、傾斜状態は、道路セグメントに対応するマップデータ311を更新するのに使用される。注意すべきなのは、傾斜/コマンドマッピングテーブル125は、様々なデータ構造、データベース、または予測モデルにより実現されてもよい。
一実施形態では、傾斜/コマンドマッピングテーブル125は、平らな道路や傾斜道路を含む、さまざまな異なるタイプの道路で走行する様々な車両の多くの走行統計データに基づいて、データ分析システム(例えば、データ分析システム103)によって生成される。車両は、自律的に運転されたり、様々な運転者により運転されることができる。走行統計データは、車両が平らな道路や傾斜道路を含むさまざまな異なるタイプの道路で走行するとき、異なる時点で発行された異なる制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)および記録された車両の応答(例えば、速度、加速度、または減速度、進行方向)を含んでもよい。
一実施形態では、傾斜処理モジュール308は、ピッチ処理モジュール306とロール処理モジュール307を含み、これらは、傾斜処理モジュール308によって呼び出され、道路のピッチ状態とロール状態を決定することができる。傾斜/コマンドマッピングテーブル125は、ピッチ状態―コマンド(ピッチ/コマンド)マッピングテーブル313とロール状態―コマンド(ロール/コマンド)マッピングテーブル314を含む。ピッチ/コマンドマッピングテーブル313の一例が、図6Aに示されており、ロール/コマンドマッピングテーブル314の一例が、図6Bに示されている。図6A及び図6Bを参照すると、ピッチ/コマンドマッピングテーブル313は、複数のピッチのマッピングエントリを含む。各ピッチのマッピングエントリは、速度制御コマンド(例えば、スロットル/ブレーキコマンド)601と、車両の速度602とをピッチ状態603にマッピングする。一実施形態では、加速度は、フィールド602での速度の代わりに使用できる。ロール/コマンドマッピングテーブル314は、複数のロールのマッピングエントリを含む。各ロールのマッピングエントリは、ステアリングコマンド651と、車両の進行方向または角度652とをロール状態653にマッピングする。ピッチ/コマンドマッピングテーブル313とロール/コマンドマッピングテーブル314内のエントリのデータは、異なる時点で運転する多くの車両から収集された多量の走行統計データに基づいて、データ分析システム(例えば、データ分析システム103)によって収集される。
以下、図4A〜4Cを参照すると、ピッチ状態は、車両が上り坂の位置に位置するか、下り坂の位置に位置するか(例えば、車両の前方端部が上に傾いているか、下に傾いているか)のような車両の上下方位(orientation)を指す。ピッチ状態は、図4Bに示すように、ピッチの傾斜の角度またはピッチの傾き/傾斜のパーセントで表すことができる。正のピッチ角度は上り坂の道路を示し、負のピッチ角度は下り坂の道路を示したり、その逆に示したりする。ロール状態は、車両が左に傾きまたは転がるか、右に傾きまたは転がるかを示す。ロール状態は、図4Cに示すように、ロールの傾斜の角度またはロールの傾き/傾斜のパーセントで表すことができる。正のロール角は左に傾いた道路を示し、負のロール角度は右に傾いた道路を表示したり、その逆に示したりする。傾斜角度(θ)は、上昇(rise)と走行(run)との間の接線(tangent)の関係に基づいて決定でき、ここでtan(θ)=上昇/走行である。傾斜のパーセントは100*(上昇/走行)によって決定できる。傾斜角度または傾斜のパーセントは、本明細書全体でピッチ状態またはロール状態として使用することができる。
図6Aを参照すると、この例では、車両が平らな道路で走行するとき、車両の速度を毎秒10メートル(m/s)に維持するためには、20%のペダル値のスロットルコマンドが要求される。車両が傾斜道路で走行していると仮定すれば、同じスロットルコマンドが使用されると、車両の速度が目標速度である10m/sから外れる可能性がある。目標速度と同じ速度を維持するために、30%のペダル値のスロットルコマンドが加えて、道路の傾斜を補償する。目標は、高価なセンサを使用する必要がなく、道路の状態を決定するものである。
一実施形態では、30%の追加のスロットルコマンドと10m/sの目標速度に基づいて、ピッチ処理モジュール306は、ピッチ/コマンドマッピングテーブル313から検索し、30%のスロットルコマンドにほぼマッチングされるフィールド601と、10m/sの速度とほぼマッチングされるフィールド602とを有するマッピングエントリを検索して捜し出す。この例では、マッチングエントリ610が捜し出される。マッチングエントリ610によって、フィールド603から、傾斜状態、すなわち2%の傾斜状態を取得することができる。そして、2%の傾斜状態は、道路セグメントが2%の勾配の傾斜道路セグメントであることを示すために、道路セグメントに対応するマップのマップデータを更新するのに使用される。
同様に、前述したような技術を使用して、道路セグメントのロール状態は、6Bに示すようなロール/コマンドマッピングテーブル314を使用して決定されることができる。そして、図6Bを参照すると、制御モジュール305は、第1のステアリングコマンドに応答してADVの進行方向が目標進行方向から外れたことを検出されると、制御モジュール305は、そのエラーを補償するための第2のステアリング制御コマンドを発行して、ADVを目標進行方向に近い進行方向に走行させることができる。第2のステアリングコマンドと目標進行方向に基づき、ロール処理モジュール307を呼び出して、ロール/コマンドマッピングテーブル314を検索し、第2のステアリングコマンドと正確にまたはほぼマッチングされるフィールド651と、目標進行方向と正確にまたはほぼマッチングされるフィールド652とを有するエントリを検索して捜し出す。ロール状態は、マッチングエントリのフィールド653から取得される。
図7は、本発明の一実施形態に係る自律走行のためのマップを更新するプロセスを示すフローチャートである。プロセス700は、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む処理ロジックによって実行されることができる。例えば、プロセス700は、制御モジュール305、傾斜処理モジュール308および/またはマップ更新モジュール309によって実行できる。図7を参照すると、ステップ701において、処理ロジックは、第1の制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)に応答して、道路セグメントで走行するADVの第1の走行パラメータ(例えば、速度、加速度、進行方向)を記録する。ステップ702において、処理ロジックは、第1の走行パラメータと、第1の制御コマンドに対応する目標走行パラメータとの間の差を決定する。差が所定のしきい値を超えた場合に、ステップ703において、処理ロジックは、第2の制御コマンドを発行し補償して、ADVを目標走行パラメータに近い第2の走行パラメータで走行させる。ステップ704において、処理ロジックは、第2の制御コマンドと目標走行パラメータに基づいて、道路セグメントの傾斜状態を導出する。ステップ705において、傾斜状態に基づいて、道路セグメントに関連付けられたマップのマップデータを更新する。
図8は、本発明の他の実施形態に係る自律走行のためのマップを更新するプロセスを示すフローチャートである。プロセス800は、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む処理ロジックによって実行されることができる。プロセス800は、図7のステップ704の一部として実行されてもよい。図8を参照すると、ステップ801において、走行パラメータ(例えば、速度、加速度、進行方向)を維持するために、制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)を受信して、ADVの走行を補償する。ステップ802において、制御コマンドと走行パラメータに基づき、傾斜/コマンドマッピングテーブルでルックアップ動作を実行して、制御コマンドおよび走行パラメータに正確にまたはほぼマッチングするマッピングエントリを検索して捜し出す。傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含む。各マッピングエントリは、特定の制御コマンドと特定の走行パラメータとを傾斜状態にマッピングする。ステップ803において、マッチングエントリから傾斜状態を取得し、ここで、傾斜状態は、ADVが走行する道路セグメントに関連付けられたマップのマップデータを更新するのに使用される。
前述したマップの更新技術は、各ADV内で個別に実行される。ところが、本発明の他の実施形態によると、複数のADVの走行統計データが捕獲されて収集される。走行統計データは、異なる時点と異なる道路で車両に発行された制御コマンドとそのコマンドに応答した車両の応答を記録する。捕獲されたコマンドは、道路の傾斜状態に起因するエラーを補償するために生成された制御コマンドを含んでもよい。そして、走行統計データは、オフラインのデータ分析システムに送信され、データ分析システムによって分析されて、いくつかの道路の傾斜状態を導出し、その道路の対応するマップデータは、傾斜状態に基づいて更新される。代替的には、各車両は、自身が所有するローカルマップを更新する。そして、車両のローカルマップは、中央システムに送信され、グローバルマップにマージされてから、以降の使用のためにグローバルマップが車両に再分配される。
図9は、本発明の他の実施形態に係るマップを更新するシステムを示すブロック図である。図9を参照すると、複数のADV101A−101Bは、ネットワーク102を介して、マップ更新サーバ900としてのデータ分析システムに通信可能に接続される。ADV101A−101Bのそれぞれは、ADVが平らな道路と傾斜道路を含むさまざまなタイプの道路で走行するときの走行統計データ情報を収集し記録するデータ記録装置(例えば、データ記録装置901A−901B)を含む。そして、走行統計データは、サーバ900のデータ収集部911に送信され、収集される。データ解析モジュール912は、前述した技術のうちの少なくとも一部を使用して、異なる道路の傾斜状態を決定または導出するために、走行統計データを分析する。マップ更新装置913は、傾斜状態に基づいて、マップ915を更新するように構成されている。
他の実施形態によると、ADV101A−101Bのそれぞれは、ADVが走行する道路の傾斜状態を決定する。ADV101A−101Bのそれぞれは、各ローカルマップ(たとえば、ローカルマップ903A−903B)を更新するためにマップ更新装置(例えば、マップ更新装置902A−902B)を含む。ローカルマップ903A−903Bは、次にマップ合併部914に送信され、マップ合併部914によって受信される。マップ合併部914は、受信されたローカルマップをグローバルマップとしてマップ915に接続または統合するように構成されている。そして、更新されたマップ915は、以降の自律走行のためにADV101A−101Bに再分配される。注意すべきなのは、コンポーネント911−914は、ソフトウェア、ハードウェア、またはこれらの組み合わせで実現されることができる。
図10は、本発明の他の実施形態に係るマップを更新するプロセスを示すフローチャートである。プロセス1000は、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む処理ロジックによって実行されることができる。例えば、プロセス1000は、図9のマップ更新サーバ900によって実行されてもよい。図10を参照すると、ステップ1001において、複数の車両の走行統計データが収集され、ここで、走行統計データは、車両に発行された様々な制御コマンドと制御コマンドに応答した車両の応答を含む。指定された道路セグメントに対し、ステップ1002において、車両に制御コマンドと関連する1つ以上の目標走行パラメータを維持させるために、一つまたは複数の車両に発行されて車両の前の制御コマンドを補償するための一つまたは複数の制御コマンドが識別される。ステップ1003において、制御コマンドと目標走行パラメータに基づいて、道路セグメントの傾斜状態を導出する。ステップ1004において、傾斜状態に基づいて、道路セグメントに対応するマップのマップデータが更新される。
説明の目的のために、本明細書を通して、マッピングテーブルまたはデータ構造を使用して、本発明の実施形態を説明した。しかし、マッピングテーブルは、機器学習予測または決定モデルの一部として実現されてもよい。予測または決定モデルに提供された入力は、制御コマンドと走行パラメータを含んでもよく、予測または決定モデルの出力は、傾斜状態であってもよい。ピッチ/コマンド予測モデルとロール/コマンド予測モデルを有してもよい。ピッチ/コマンド予測モデルへの入力は、速度制御コマンド(例えば、スロットルやブレーキコマンド)と走行パラメータ(例えば、速度、加速度、または減速度)を含んでもよく、ピッチ/コマンドモデルの出力は、道路のピッチ状態(例えば、縦方向の傾き/傾斜のパーセントまたは角度)であってもよい。ロール/コマンド予測モデルへの入力は、ステアリングコマンドと進行方向を含んでもよく、ロール/コマンド予測モデルの出力は、道路のロール状態(例えば、横方向の傾き/傾斜のパーセントまたは角度)であってもよい。
注意すべきなのは、上記図示された構成要素の一部または全部は、ソフトウェア、ハードウェア、またはこれらの組み合わせにより実現されることができる。たとえば、これらの構成要素は、本明細書全体に記載されたプロセスまたはステップを実行するために、プロセッサ(図示せず)によってメモリにロードされて実行されることができる永続記憶装置にインストールされて記憶されるソフトウェアとして実現ことができる。あるいは、これらの構成要素は、集積回路(例えば、特定用途向け集積回路またはASIC)、デジタル信号プロセッサ(DSP)またはフィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)のような専用のハードウェアにプログラムされたり内蔵された実行可能コードとして実現されることができ、これは、アプリケーションから対応するドライバおよび/またはオペレーティングシステムを介してアクセスすることができる。さらに、これらの構成要素は、1つ以上の特定のコマンドを使用してソフトウェアコンポーネントによってアクセス可能なコマンドセットの一部であり、プロセッサまたはプロセッサコアの特定のハードウェアロジックとして実現することができる。
図11は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム1500は、上記プロセス又は方法のいずれか(例えば、図1の感知及び計画システム110、及びサーバ103〜104のいずれか)を実行する上記任意のデータ処理システムを示してもよい。システム1500は、複数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、分散型電子装置又は回路基板(例えば、コンピュータシステムのマザーボード又はアドインカード)に適用された他のモジュール、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
さらに、システム1500は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント(PDA)、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント(AP)又はリピーター、セットトップボックス、又はそれらの組合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で1つ(又は複数)のコマンドセットを実行することにより本明細書に説明される任意の1種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
一実施形態において、システム1500は、バス又は相互接続部材1510によって接続されたプロセッサ1501、メモリ1503及び装置1505〜1508を備える。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)等のような1つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ1501は、複雑コマンドセット計算(CISC)マイクロプロセッサ、縮小コマンドセットコンピュータ(RISC)マイクロプロセッサ、超長コマンド語(VLIW)マイクロプロセッサ、又は他のコマンドセットを実現するプロセッサ、又はコマンドセットの組合せを実現するプロセッサであってもよい。プロセッサ1501は、さらに、専用集積回路(ASIC)、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、グラフィックプロセッサ、ネットワークプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような1つ又は複数の専用プロセッサ、あるいはコマンド処理可能な任意の他のタイプのロジックであってもよい。
プロセッサ1501(超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい)は、前記システムの各種の構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、本明細書に説明される動作及びステップを実行するためのコマンドを実行するように構成される。また、システム1500は、選択可能なグラフィックサブシステム1504と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム1504は、ディスプレイコントローラ、グラフィックプロセッサ及び/又は表示装置をさらに備えてもよい。
プロセッサ1501は、メモリ1503と通信してもよく、メモリ1503は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)又は他のタイプのメモリのような1つ又は複数の揮発性記憶装置(又はメモリ)を備えてもよい。メモリ1503は、プロセッサ1501又は任意の他の装置により実行されるコマンド列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア(例えば、基本入出力システム又はBIOS)及び/又はアプリケーションの実行可能なコード及び/又はデータは、メモリ1503にロードされて、プロセッサ1501により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム(ROS)、Microsoft(R)会社からのWindows(R)オペレーティングシステム、アップル会社からのMacOS(R)/iOS(R)、Google(R)会社からのAndroid(R)、Linux、Unix又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
システム1500は、IO装置、例えば装置1505〜1508をさらに備えてもよく、ネットワークインターフェースデバイス1505、選択可能な入力装置1506及び他の選択可能なIO装置1507を備えてもよい。ネットワークインターフェースデバイス1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、WiFi送受信機、赤外送受信機、ブ経路ゥース送受信機、WiMax送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)又は他の無線周波数(RF)送受信機又はそれらの組合せであってもよい。NICは、イーサネットカードであってもよい。
入力装置1506は、マウス、タッチパッド、タッチスクリーン(それは表示装置1504と集積されてもよい)、ポインタデバイス(例えばスタイラス)及び/又はキーボード(例えば、物理キーボード、又はタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力装置1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術(容量式、抵抗式、赤外式及び表面音波の技術を含むが、それらに限定されない)のいずれか、及びタッチスクリーンの1つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いて、そのタッチ点及び移動又は断続を検出することができる。
IO装置1507は、音声装置を備えてもよい。音声装置は、スピーカ及び/又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び/又は電話機能のような音声サポートの機能を促進する。他のIO装置1507は、汎用シリアルバス(USB)ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ(例えば、PCI〜PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ)又はそれらの組合せをさらに備えてもよい。装置1507は、結像処理サブシステム(例えば、カメラ)をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能(例えば、写真及びビデオ断片の記録)を促進するための電荷カップリング装置(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ(図示せず)によって相互接続部材1510に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ(図示せず)により制御されてもよく、これはシステム1500の特定配置又は設計により決められる。
データ、アプリケーション、1つ又は複数のオペレーティングシステム等のような情報の永続記憶を提供するために、大容量メモリ(図示せず)が、プロセッサ1501に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置(SSD)によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ(HDD)で実現されてもよく、少量のSSD記憶量は、SSDキャッシュとして、停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース(SPI)によってプロセッサ1501に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのBIOS及び他のファームウェアを備える。
記憶装置1508は、任意の1種又は複数種の本明細書に記載の方法又は機能を実現する1つ又は複数のコマンドセット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる)を備えてもよい。処理モジュール/ユニット/ロジック1528は、例えば、計画モジュール304、制御モジュール305、傾斜処理モジュール308および/または機器学習エンジン122のような上記構成要素のいずれかを示してもよい。処理モジュール/ユニット/ロジック1528は、さらにデータ処理システム1500、メモリ1503及びプロセッサ1501により実行される期間に、メモリ1503内及び/又はプロセッサ1501内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ1503及びプロセッサ1501も、機器アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらにネットワークによってネットワークインターフェースデバイス1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記1つ又は複数のコマンドセットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらにコマンドセットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記コマンドセットは、機器により実行されかつ前記機器に本発明の任意の1種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えばASICS、FPGA、DSP又は類似装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置及びソフトウェアコンポーネントの任意の組合せで実現されてもよい。
なお、システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素の相互接続のいかなる特定のアーキテクチャー又は方式を示すものではないことに注意すべきであり、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び/又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用され、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列(sequence of operations)と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語(例えば、添付している特許請求の範囲に説明された用語)による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理(例えば、電子)量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶装置、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非揮発性のンピュータ可読媒体に記憶される。機器可読媒体は、機器(例えば、コンピュータ)可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読(例えば、コンピュータ可読)媒体は、機器(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ)を備える。
上記図面に示される手順又は方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非揮発性のコンピュータ可読媒体に具現化される)、又は両方の組合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
本発明の一実施形態では、自律走行のためのマップを更新するコンピュータ実施方法において、第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録するステップと、前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定するステップと、前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し前記差を補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させるステップと、少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出するステップと、前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新するステップと、を含む。
本発明の他の実施形態では、コマンドを記憶し、前記コマンドがプロセッサによって実行されるとき、前記プロセッサに動作を実行させる、非一時的機械可読媒体であって、前記動作は、第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録することと、前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定することと、前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し前記差を補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させることと、少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出することと、前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新することと、を含む。
本発明の別の実施形態では、プロセッサと、前記プロセッサに接続されてコマンドを記憶するメモリと、を含み、前記コマンドが前記プロセッサによって実行されるとき、前記プロセッサに動作を実行させる、データ処理システムにおいて、前記動作は、第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録することと、前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定することと、前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し前記差を補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させることと、少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出することと、前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新することと、を含む。
本発明の別の実施形態では、自律走行のためのマップを更新するコンピュータ実施方法において、複数の車両の、前記車両が複数の道路上で走行するときに記録された走行統計データを受信するステップであって、前記走行統計データは、異なる時点で前記車両に発行された制御コマンド及び前記制御コマンドに応答した前記車両の応答を含む、ステップと、指定された道路セグメントに対し、前記車両に前記制御コマンドと関連する一つまたは複数の目標走行パラメータを維持させるために、一つまたは複数の車両に発行されて前記車両の前の制御コマンドを補償するための一つまたは複数の制御コマンドを識別するステップと、前記制御コマンドおよび前記目標走行パラメータに基づいて、前記道路セグメントの傾斜状態を導出するステップと、前記道路セグメントに対応するマップのマップデータを更新するステップと、を含む。
一実施形態によると、道路セグメントの傾斜状態を導出するに当たり、テーブルのような傾斜―コマンド(傾斜/コマンド)マッピングデータ構造でルックアップ動作を実行して、第2の制御コマンドおよび目標走行パラメータとほぼマッチングするマッピングエントリを検索して捜し出す。傾斜状態は、傾斜/コマンドマッピングテーブルのマッピングエントリから得られる。傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含む。各マッピングエントリは、特定の傾斜状態を特定の制御コマンドおよび特定の走行パラメータにマッピングし、またはその逆にマッピングする。傾斜/コマンドマッピングテーブルは、さまざまなデータ構造またはデータベースにより実現できる。
図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は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば回転及び/又は傾斜のプラットフォームに取り付けられる、機械的に移動可能なものであってもよい。
図1を再び参照すると、無線通信システム112は、自律走行車101と、例えば装置、センサ、その他の車両等の外部システムとの間の通信を可能にする。例えば、無線通信システム112は、1つ以上の装置に直接に又は通信ネットワークを介して無線通信し、例えばネットワーク102によってサーバ103〜104に通信できる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)(例えばWiFi)を使用して他の構成要素やシステムに通信できる。無線通信システム112は、例えば赤外線リンク、ブルートゥース等を使用して装置(例えば、乗客の移動装置、車両101内の表示装置、スピーカー)に直接に通信できる。ユーザインターフェースシステム113は、車両101内で実行される周辺装置の一部であってもよく、例えばキーボード、タッチスクリーンディスプレイ装置、マイクロフォン、及びスピーカー等を含む。
走行統計データ123に基づいて、機器学習エンジン122は、様々な目的のために、規則、アルゴリズム、および/または予測モデル124のセットを生成または訓練する。一実施形態では、機器学習エンジン122は、走行統計データ123を分析し、様々な車両に対する傾斜/コマンドマッピングデータ構造またはテーブル125を生成する。傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含む。各マッピングエントリは、特定の制御コマンドおよび走行パラメータを傾斜状態にマッピングし、またはその逆にマッピングする。各マッピングエントリは、対応する傾斜状態を有する傾斜道路で走行する車両の対応する走行パラメータを維持するために、対応する制御コマンドが発行すべきであるということを示す。注意すべきなのは、他の種類の車両が異なる構成(例えば、異なる重量、サイズ、馬力、最小ステアリングの半径)を有する可能性があるので、異なる傾斜/コマンドマッピングテーブルは、複数のタイプの車両に対して構成することができる。代替的に、単一の傾斜/コマンドマッピングテーブルは、複数のタイプの車両に対して構成することもできる。そして、傾斜/コマンドマッピングテーブル125は、制御フィードバックに基づいて道路の傾斜状態を推定するために、ADV上にアップロードされて、リアルタイムでADVの自律走行に使用され、ここで、傾斜状態は、道路に対応するマップのマップデータを更新するのに使用されることができる。
位置決めモジュール301は、(例えば、GPSユニット212を利用して)自律走行車101の現在位置を決定し、ユーザの行程や経路に関連する任意のデータを管理する。位置決めモジュール301(マップ及び経路モジュールとも呼ばれる)は、ユーザの行程や経路に関連する任意のデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして行程の出発位置と目的地を指定することができる。位置決めモジュール301は、マップ及び経路情報311のような自律走行車101の他の構成要素と通信して行程関連データを取得する。たとえば、位置決めモジュール301は、位置サーバ、およびマップとPOI(MPOI)サーバから位置と経路情報を取得することができる。位置サーバは、位置サービスを提供し、MPOIサーバは、マップサービスと、マップ及び経路情報311との一部としてキャッシュすることができる特定位置のPOIとを提供する。自律走行車101が経路に沿って移動する間に、位置決め(localization)モジュール301は、交通情報システム、またはサーバからリアルタイムの交通情報も取得することができる。
感知された対象のそれぞれの決定に基づいて、計画モジュール304は、自律走行車に対する経路またはルートだけでなく、走行パラメータ(例えば、距離、速度、および/または転回角度)を計画する。つまり、与えられた対象については、決定モジュール303は、対象の処理を決定し、計画モジュール304は、それをどのように行うかを決定する。例えば、与えられた対象については、決定モジュール303は、対象を通過することを決定し、これに対し、計画モジュール304は、対象の左側または右側から通過するかを決定する。計画及び制御データは、計画モジュール304によって生成され、自律走行車101が次の移動のサイクル(例えば、次のルート/経路セグメント)でどのように動くのかを記述する情報を含む。たとえば、計画および制御データは、自律走行車101が時速30マイル(mph)の速度で10m移動し、25 mphの速度で右側車線に変更するよう指示することができる。
本発明の一実施形態によると、自律走行車(ADV)がその特定の道路を走行するとき、道路の傾斜状態を決定するための高価なセンサを用いる代わりに、制御フィードバックが用いて傾斜状態を推定する。一実施形態では、ADVが道路の特定の道路セグメントを走行する場合、制御モジュール305は、目標状態(例えば、目標速度、目標加速度および/または目標進行方向)に到達するために、ADVを走行させるための計画および制御データに基づいて制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)をADVに発行する。ADVの応答は記録され、運転の目標情報と比較される。ADVの応答が目標から外れた場合には、制御モジュール305は、車両が意図された目標走行パラメータに近い走行パラメータで走行できるように、エラーを補正するための追加の制御コマンドを発行する。
一実施形態において、道路セグメントの傾斜状態を導出するに当たり、傾斜処理モジュール308は、傾斜/コマンドマッピングテーブル125でルックアップ動作を実行して、第2の制御コマンドおよび目標走行パラメータとほぼマッチングするマッピングエントリを検索して捜し出す。傾斜状態は、傾斜/コマンドマッピングテーブルのマッピングエントリから得られる。図5は、本発明の一実施形態に係る傾斜―コマンドマッピングテーブルの一例を示すブロック図である。一実施形態では、傾斜/コマンドマッピングテーブル125は、複数のマッピングエントリを含む。各マッピングエントリは、特定の制御コマンド501と特定の走行パラメータ502を傾斜状態501にマッピングし、またはその逆にマッピングする。
一実施形態では、30%の追加のスロットルコマンドと10m/sの目標速度に基づいて、ピッチ処理モジュール306は、ピッチ/コマンドマッピングテーブル313から検索し、30%のスロットルコマンドにほぼマッチングされるフィールド601と、10m/sの速度とほぼマッチングされるフィールド602とを有するマッピングエントリを検索して捜し出す。この例では、マッピングエントリ610が捜し出される。マッピングエントリ610によって、フィールド603から、傾斜状態、すなわち2%の傾斜状態を取得することができる。そして、2%の傾斜状態は、道路セグメントが2%の勾配の傾斜道路セグメントであることを示すために、道路セグメントに対応するマップのマップデータを更新するのに使用される。
同様に、前述したような技術を使用して、道路セグメントのロール状態は、6Bに示すようなロール/コマンドマッピングテーブル314を使用して決定されることができる。そして、図6Bを参照すると、制御モジュール305は、第1のステアリングコマンドに応答してADVの進行方向が目標進行方向から外れたことを検出されると、制御モジュール305は、そのエラーを補償するための第2のステアリング制御コマンドを発行して、ADVを目標進行方向に近い進行方向に走行させることができる。第2のステアリングコマンドと目標進行方向に基づき、ロール処理モジュール307を呼び出して、ロール/コマンドマッピングテーブル314を検索し、第2のステアリングコマンドと正確にまたはほぼマッチングされるフィールド651と、目標進行方向と正確にまたはほぼマッチングされるフィールド652とを有するエントリを検索して捜し出す。ロール状態は、マッピングエントリのフィールド653から取得される。
図7は、本発明の一実施形態に係る自律走行のためのマップを更新するプロセスを示すフローチャートである。プロセス700は、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む処理ロジックによって実行されることができる。例えば、プロセス700は、制御モジュール305、傾斜処理モジュール308および/またはマップ更新モジュール309によって実行できる。図7を参照すると、ステップ701において、処理ロジックは、第1の制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)に応答して、道路セグメントで走行するADVの第1の走行パラメータ(例えば、速度、加速度、進行方向)を記録する。ステップ702において、処理ロジックは、第1の走行パラメータと、第1の制御コマンドに対応する目標走行パラメータとの間の差を決定する。差が所定のしきい値を超えた場合に、ステップ703において、処理ロジックは、第2の制御コマンドを発行しその差を補償して、ADVを目標走行パラメータに近い第2の走行パラメータで走行させる。ステップ704において、処理ロジックは、第2の制御コマンドと目標走行パラメータに基づいて、道路セグメントの傾斜状態を導出する。ステップ705において、傾斜状態に基づいて、道路セグメントに関連付けられたマップのマップデータを更新する。
図8は、本発明の他の実施形態に係る自律走行のためのマップを更新するプロセスを示すフローチャートである。プロセス800は、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む処理ロジックによって実行されることができる。プロセス800は、図7のステップ704の一部として実行されてもよい。図8を参照すると、ステップ801において、走行パラメータ(例えば、速度、加速度、進行方向)を維持するために、制御コマンド(例えば、速度制御コマンド、ステアリングコマンド)を受信して、ADVの走行を補償する。ステップ802において、制御コマンドと走行パラメータに基づき、傾斜/コマンドマッピングテーブルでルックアップ動作を実行して、制御コマンドおよび走行パラメータに正確にまたはほぼマッチングするマッピングエントリを検索して捜し出す。傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含む。各マッピングエントリは、特定の制御コマンドと特定の走行パラメータとを傾斜状態にマッピングする。ステップ803において、マッピングエントリから傾斜状態を取得し、ここで、傾斜状態は、ADVが走行する道路セグメントに関連付けられたマップのマップデータを更新するのに使用される。
システム1500は、I/O装置、例えば装置1505〜1508をさらに備えてもよく、ネットワークインターフェースデバイス1505、選択可能な入力装置1506及び他の選択可能なI/O装置1507を備えてもよい。ネットワークインターフェースデバイス1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、WiFi送受信機、赤外送受信機、ブルートゥース送受信機、WiMax送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)又は他の無線周波数(RF)送受信機又はそれらの組合せであってもよい。NICは、イーサネットカードであってもよい。
I/O装置1507は、音声装置を備えてもよい。音声装置は、スピーカ及び/又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び/又は電話機能のような音声サポートの機能を促進する。他のI/O装置1507は、汎用シリアルバス(USB)ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ(例えば、PCI〜PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ)又はそれらの組合せをさらに備えてもよい。装置1507は、結像処理サブシステム(例えば、カメラ)をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能(例えば、写真及びビデオ断片の記録)を促進するための電荷カップリング装置(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ(図示せず)によって相互接続部材1510に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ(図示せず)により制御されてもよく、これはシステム1500の特定配置又は設計により決められる。

Claims (20)

  1. 自律走行のためのマップを更新するコンピュータ実施方法において、
    第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録するステップと、
    前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定するステップと、
    前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させるステップと、
    少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出するステップと、
    前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新するステップと、を含む、方法。
  2. 請求項1に記載の方法において、
    前記道路セグメントの傾斜状態を導出するステップは、
    前記第2の制御コマンドおよび前記目標走行パラメータとほぼマッチングするマッピングエントリを検索して捜し出すように、傾斜―コマンド(傾斜/コマンド)マッピングテーブルでルックアップ動作を実行するステップと、
    前記傾斜/コマンドテーブルのマッチングエントリから傾斜状態を取得するステップと、を含む、方法。
  3. 請求項2に記載の方法において、
    前記傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含み、各マッピングエントリは、特定の制御コマンドと走行パラメータとを特定の傾斜状態にマッピングする、方法。
  4. 請求項3に記載の方法において、
    前記傾斜/コマンドマッピングテーブルは、異なる傾斜状態を有する多様なタイプの道路で走行する複数の車両の走行統計データに基づいて生成され、走行統計データは、異なる時点で前記車両に発行された制御コマンド及び前記車両からの応答を記録する、方法。
  5. 請求項3に記載の方法において、
    各マッピングエントリの制御コマンドは、前記マッピングエントリの対応する走行パラメータで走行する車両を維持するために発行される、方法。
  6. 請求項1に記載の方法において、
    前記傾斜状態は、ピッチ状態またはロール状態のうちの少なくとも一つを含む、方法。
  7. 請求項1に記載の方法において、
    前記第1の制御コマンド及び第2の制御コマンドは、速度制御コマンドまたはステアリングコマンドのうちの少なくとも一つである、方法。
  8. コマンドを記憶し、
    前記コマンドがプロセッサによって実行されるとき、前記プロセッサに動作を実行させる、非一時的機械可読媒体であって、
    前記動作は、
    第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録することと、
    前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定することと、
    前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させることと、
    少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出することと、
    前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新することと、を含む、機械可読媒体。
  9. 請求項8に記載の非一時的機械可読媒体において、
    前記道路セグメントの傾斜状態を導出することは、
    前記第2の制御コマンドおよび前記目標走行パラメータとほぼマッチングするマッピングエントリを検索して捜し出すように、傾斜―コマンド(傾斜/コマンド)マッピングテーブルでルックアップ動作を実行することと、
    前記傾斜/コマンドテーブルのマッチングエントリから傾斜状態を取得することと、を含む、機械可読媒体。
  10. 請求項9に記載の非一時的機械可読媒体において、
    前記傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含み、各マッピングエントリは、特定の制御コマンドと走行パラメータとを特定の傾斜状態にマッピングする、機械可読媒体。
  11. 請求項10に記載の非一時的機械可読媒体において、
    前記傾斜/コマンドマッピングテーブルは、異なる傾斜状態を有する多様なタイプの道路で走行する複数の車両の走行統計データに基づいて生成され、走行統計データは、異なる時点で前記車両に発行された制御コマンド及び前記車両からの応答を記録する、機械可読媒体。
  12. 請求項10に記載の非一時的機械可読媒体において、
    各マッピングエントリの制御コマンドは、前記マッピングエントリの対応する走行パラメータで走行する車両を維持するために発行される、機械可読媒体。
  13. 請求項8に記載の非一時的機械可読媒体において、
    前記傾斜状態は、ピッチ状態またはロール状態のうちの少なくとも一つを含む、機械可読媒体。
  14. 請求項8に記載の非一時的機械可読媒体において、
    前記第1の制御コマンド及び第2の制御コマンドは、速度制御コマンドまたはステアリングコマンドのうちの少なくとも一つである、機械可読媒体。
  15. プロセッサと、
    前記プロセッサに接続されてコマンドを記憶するメモリと、を含み、
    前記コマンドが前記プロセッサによって実行されるとき、前記プロセッサに動作を実行させる、データ処理システムにおいて、
    前記動作は、
    第1の制御コマンドに応答して、道路セグメントで走行する自律走行車(ADV)の第1の走行パラメータを記録することと、
    前記第1の走行パラメータと、前記第1の制御コマンドに対応する目標走行パラメータとの間の差を決定することと、
    前記差が所定のしきい値を超えたと決定されたことに応答して、第2の制御コマンドを発行し補償して、前記ADVを前記目標走行パラメータに近い第2の走行パラメータで走行させることと、
    少なくとも前記第2の制御コマンドに基づいて、前記道路セグメントの傾斜状態を導出することと、
    前記導出された傾斜状態に基づいて、前記道路セグメントに対応するマップのマップデータを更新することと、を含む、データ処理システム。
  16. 自律走行のためのマップを更新するコンピュータ実施方法において、
    複数の車両の、前記車両が複数の道路上で走行するときに記録された走行統計データを受信するステップであって、前記走行統計データは、異なる時点で前記車両に発行された制御コマンド及び前記制御コマンドに応答した前記車両の応答を含む、ステップと、
    指定された道路セグメントに対し、前記車両に前記制御コマンドと関連する一つまたは複数の目標走行パラメータを維持させるために、一つまたは複数の車両に発行されて前記車両の前の制御コマンドを補償するための一つまたは複数の制御コマンドを識別するステップと、
    前記制御コマンドおよび前記目標走行パラメータに基づいて、前記道路セグメントの傾斜状態を導出するステップと、
    前記道路セグメントに対応するマップのマップ位置のマップデータを更新するステップと、を含む、方法。
  17. 請求項16に記載の方法において、
    前記道路セグメントの傾斜状態を導出するステップは、
    前記制御コマンド及び対応する目標走行パラメータのそれぞれについて、
    前記第2の制御コマンドおよび前記目標走行パラメータとほぼマッチングするマッピングエントリを検索して捜し出すように、傾斜―コマンド(傾斜/コマンド)マッピングテーブルでルックアップ動作を実行するステップと、
    前記傾斜/コマンドテーブルのマッチングエントリから傾斜状態を取得するステップと、を含む、方法。
  18. 請求項17に記載の方法において、
    前記傾斜/コマンドマッピングテーブルは、複数のマッピングエントリを含み、各マッピングエントリは、特定の制御コマンドと走行パラメータとを特定の傾斜状態にマッピングする、方法。
  19. 請求項18に記載の方法において、
    前記傾斜/コマンドマッピングテーブルは、異なる傾斜状態を有する多様なタイプの道路で走行する複数の車両の走行統計データに基づいて生成され、走行統計データは、異なる時点で前記車両に発行された制御コマンド及び前記車両からの応答を記録する、方法。
  20. 請求項18に記載の方法において、
    各マッピングエントリの制御コマンドは、前記マッピングエントリの対応する走行パラメータで走行する車両を維持するために発行される、方法。
JP2018514877A 2017-05-22 2017-05-22 自律走行車の制御フィードバックに基づくマップ更新方法およびシステム Active JP6653381B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/085272 WO2018213969A1 (en) 2017-05-22 2017-05-22 Method and system for updating maps based on control feedbacks of autonomous driving vehicles

Publications (2)

Publication Number Publication Date
JP2019526840A true JP2019526840A (ja) 2019-09-19
JP6653381B2 JP6653381B2 (ja) 2020-02-26

Family

ID=64395231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018514877A Active JP6653381B2 (ja) 2017-05-22 2017-05-22 自律走行車の制御フィードバックに基づくマップ更新方法およびシステム

Country Status (6)

Country Link
US (1) US10488205B2 (ja)
EP (1) EP3423787B8 (ja)
JP (1) JP6653381B2 (ja)
KR (1) KR102062608B1 (ja)
CN (1) CN109287122B (ja)
WO (1) WO2018213969A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210041693A (ko) * 2019-10-07 2021-04-16 (주) 오토노머스에이투지 분할 제어에 기반하여 자율주행자동차의 안정성을 향상시키기 위한 방법 및 이를 이용한 시스템

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3423787B8 (en) * 2017-05-22 2020-04-08 Baidu.com Times Technology (Beijing) Co., Ltd. Method and system for updating maps based on control feedbacks of autonomous driving vehicles
US10520319B2 (en) * 2017-09-13 2019-12-31 Baidu Usa Llc Data driven map updating system for autonomous driving vehicles
US10775790B2 (en) * 2018-02-09 2020-09-15 Baidu Usa Llc Methods and systems for model predictive control of autonomous driving vehicle
CN111566715A (zh) * 2018-03-29 2020-08-21 松下知识产权经营株式会社 控制装置以及地图生成方法
US10816992B2 (en) * 2018-04-17 2020-10-27 Baidu Usa Llc Method for transforming 2D bounding boxes of objects into 3D positions for autonomous driving vehicles (ADVs)
US11180145B2 (en) * 2018-11-29 2021-11-23 Baidu Usa Llc Predetermined calibration table-based vehicle control system for operating an autonomous driving vehicle
WO2020132943A1 (en) * 2018-12-26 2020-07-02 Baidu.Com Times Technology (Beijing) Co., Ltd. A corner negotiation method for autonomous driving vehicles without map and localization
KR102334641B1 (ko) * 2019-01-30 2021-12-03 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 자율 주행 차량을 위한 맵 파티셔닝 시스템
EP3707469B1 (en) * 2019-01-30 2023-10-11 Baidu.com Times Technology (Beijing) Co., Ltd. A point clouds registration system for autonomous vehicles
US11066069B2 (en) * 2019-03-04 2021-07-20 Baidu Usa Llc Extra-freedom stitch method for reference line smoothing
CN109960260A (zh) * 2019-03-21 2019-07-02 上海赛摩物流科技有限公司 一种自主导引车辆及其导航方法和控制装置
EP3983863A4 (en) * 2019-06-14 2023-01-25 Bayerische Motoren Werke Aktiengesellschaft 3D ODOMETRY IN 6D SPACE WITH ROAD MODEL 2D COPY
CN110304065A (zh) * 2019-07-23 2019-10-08 广州小鹏汽车科技有限公司 一种车辆的起步控制方法、系统及车辆
US11142214B2 (en) * 2019-08-06 2021-10-12 Bendix Commercial Vehicle Systems Llc System, controller and method for maintaining an advanced driver assistance system as active
JP7194096B2 (ja) * 2019-09-30 2022-12-21 本田技研工業株式会社 走行制御装置
US11338819B2 (en) * 2019-09-30 2022-05-24 Baidu Usa Llc Cloud-based vehicle calibration system for autonomous driving
JP7306283B2 (ja) * 2020-01-31 2023-07-11 トヨタ自動車株式会社 車両
CN113492863B (zh) * 2020-03-18 2023-03-10 北京车和家信息技术有限公司 自动驾驶的控制方法及装置
US11332152B2 (en) * 2020-05-29 2022-05-17 GM Global Technology Operations LLC Method and apparatus for determining a velocity of a vehicle
CN111735469B (zh) * 2020-06-15 2022-08-23 腾讯科技(深圳)有限公司 地图导航实现方法、存储介质及服务器
CN113799772B (zh) * 2020-09-18 2024-03-01 北京京东乾石科技有限公司 车辆的控制方法、装置以及控制系统
US11579627B2 (en) * 2020-12-17 2023-02-14 Tusimple, Inc. Systems and methods for updating navigational maps
CN113778086A (zh) * 2021-09-03 2021-12-10 上海擎朗智能科技有限公司 地图构建和使用方法、机器人及存储介质
KR102542337B1 (ko) * 2021-09-14 2023-06-12 (주) 경성테크놀러지 전동이동보조기기 운행 보조 시스템
CN113865600B (zh) * 2021-09-28 2023-01-06 北京三快在线科技有限公司 一种高精地图的构建方法及装置
CN113963542B (zh) * 2021-10-25 2022-12-27 京东鲲鹏(江苏)科技有限公司 无人车的数据处理方法及相关设备
CN113706737B (zh) * 2021-10-27 2022-01-07 北京主线科技有限公司 基于自动驾驶车辆的路面巡检系统及方法
US11565699B1 (en) * 2022-03-31 2023-01-31 Plusai, Inc. Methods and apparatus for automated speed selection and retarder application in downhill driving of an autonomous tractor trailer
CN116340307B (zh) * 2023-06-01 2023-08-08 北京易控智驾科技有限公司 坡道图层生成方法和装置、高精度地图及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006284414A (ja) * 2005-04-01 2006-10-19 Xanavi Informatics Corp 車載情報端末、自動車の走行制御システム、自動車の走行制御装置及び方法
JP2009006889A (ja) * 2007-06-28 2009-01-15 Aisin Aw Co Ltd 道路勾配測定装置、道路勾配測定方法及びコンピュータプログラム
JP2009236714A (ja) * 2008-03-27 2009-10-15 Toyota Motor Corp 勾配情報演算装置、車両走行制御装置、ナビゲーションシステム
JP2013007570A (ja) * 2011-06-22 2013-01-10 Nissan Motor Co Ltd 勾配推定装置および車両情報提供装置
JP2016203882A (ja) * 2015-04-27 2016-12-08 トヨタ自動車株式会社 自動運転車両システム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2266208C (en) * 1999-03-19 2008-07-08 Wenking Corp. Remote road traffic data exchange and intelligent vehicle highway system
KR100657579B1 (ko) * 2002-12-05 2006-12-14 주식회사 만도 차량용 주행제어 장치
US6847887B1 (en) * 2003-03-04 2005-01-25 Navteq North America, Llc Method and system for obtaining road grade data
US9255529B2 (en) * 2010-02-23 2016-02-09 Honda Motor Co., Ltd. Longitudinal G adjusted throttle response
JP5482320B2 (ja) * 2010-03-11 2014-05-07 株式会社デンソー 車両用運転支援装置
JP2013008287A (ja) * 2011-06-27 2013-01-10 Toyota Central R&D Labs Inc 道路勾配推定システム、道路勾配推定装置、及びプログラム
SE1100538A1 (sv) * 2011-07-15 2013-01-16 Scania Cv Ab Grafiskt användargränssnitt
US8527199B1 (en) * 2012-05-17 2013-09-03 Google Inc. Automatic collection of quality control statistics for maps used in autonomous driving
US20140032087A1 (en) * 2012-07-25 2014-01-30 Mobiwize Solutions Ltd. Reducing fuel consumption by accommodating to anticipated road and driving conditions
CN203083575U (zh) * 2013-01-29 2013-07-24 延锋伟世通汽车电子有限公司 基于实际道路属性自我学习的车载导航设备
CN105229422B (zh) * 2013-03-15 2018-04-27 大众汽车有限公司 自动驾驶路线规划应用
US9170115B2 (en) * 2013-06-03 2015-10-27 Hyundai Motor Company Method and system for generating road map using data of position sensor of vehicle
PL3126183T3 (pl) * 2014-04-04 2022-10-31 Tesla, Inc. Planowanie podróży z ograniczeniem energii
US9227635B1 (en) * 2014-09-25 2016-01-05 Nissan North America, Inc. Method and system of assisting a driver of a vehicle
CN105691393B (zh) * 2014-11-25 2018-01-19 广州汽车集团股份有限公司 基于实时路况的车辆智能巡航控制方法及装置
US10049129B2 (en) * 2014-12-22 2018-08-14 Here Global B.V. Method and apparatus for providing map updates from distance based bucket processing
US10124784B2 (en) * 2015-04-13 2018-11-13 Ford Global Technologies, Llc Method and system for controlling shifting of a vehicle in cruise control
EP3130945B1 (en) * 2015-08-11 2018-05-02 Continental Automotive GmbH System and method for precision vehicle positioning
EP3130891B1 (en) * 2015-08-11 2018-01-03 Continental Automotive GmbH Method for updating a server database containing precision road information
US9797505B2 (en) * 2015-08-14 2017-10-24 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for alerting/downshifting in response to an upcoming downgrade
US10406923B2 (en) * 2015-09-25 2019-09-10 Farada & Future Inc. GPS assist in regenerative braking
US10223380B2 (en) * 2016-03-23 2019-03-05 Here Global B.V. Map updates from a connected vehicle fleet
US20170301232A1 (en) * 2016-04-13 2017-10-19 Here Global B.V. Intersection Map Message Creation for Vehicle Communication
US10733460B2 (en) * 2016-09-14 2020-08-04 Nauto, Inc. Systems and methods for safe route determination
US10710603B2 (en) * 2016-10-19 2020-07-14 Here Global B.V. Segment activity planning based on route characteristics
CN106525057A (zh) * 2016-10-26 2017-03-22 陈曦 高精度道路地图的生成系统
US10459441B2 (en) * 2016-12-30 2019-10-29 Baidu Usa Llc Method and system for operating autonomous driving vehicles based on motion plans
US10696227B2 (en) * 2017-01-12 2020-06-30 Mobileye Vision Technologies Ltd. Determining a road surface characteristic
WO2018129711A1 (en) * 2017-01-13 2018-07-19 Baidu.Com Times Technology (Beijing) Co., Ltd. Method and system for determining road frictions of autonomous driving vehicles using learning-based model predictive control
EP3423787B8 (en) * 2017-05-22 2020-04-08 Baidu.com Times Technology (Beijing) Co., Ltd. Method and system for updating maps based on control feedbacks of autonomous driving vehicles
EP3410414A1 (en) * 2017-05-31 2018-12-05 Panasonic Intellectual Property Corporation of America Information processing method, information processing apparatus, system, and storage medium
US20180347993A1 (en) * 2017-05-31 2018-12-06 GM Global Technology Operations LLC Systems and methods for verifying road curvature map data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006284414A (ja) * 2005-04-01 2006-10-19 Xanavi Informatics Corp 車載情報端末、自動車の走行制御システム、自動車の走行制御装置及び方法
JP2009006889A (ja) * 2007-06-28 2009-01-15 Aisin Aw Co Ltd 道路勾配測定装置、道路勾配測定方法及びコンピュータプログラム
JP2009236714A (ja) * 2008-03-27 2009-10-15 Toyota Motor Corp 勾配情報演算装置、車両走行制御装置、ナビゲーションシステム
JP2013007570A (ja) * 2011-06-22 2013-01-10 Nissan Motor Co Ltd 勾配推定装置および車両情報提供装置
JP2016203882A (ja) * 2015-04-27 2016-12-08 トヨタ自動車株式会社 自動運転車両システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210041693A (ko) * 2019-10-07 2021-04-16 (주) 오토노머스에이투지 분할 제어에 기반하여 자율주행자동차의 안정성을 향상시키기 위한 방법 및 이를 이용한 시스템
KR102244759B1 (ko) * 2019-10-07 2021-04-28 (주)오토노머스에이투지 분할 제어에 기반하여 자율주행자동차의 안정성을 향상시키기 위한 방법 및 이를 이용한 시스템

Also Published As

Publication number Publication date
EP3423787A4 (en) 2019-01-09
US20190003839A1 (en) 2019-01-03
EP3423787B8 (en) 2020-04-08
WO2018213969A1 (en) 2018-11-29
CN109287122A (zh) 2019-01-29
JP6653381B2 (ja) 2020-02-26
CN109287122B (zh) 2022-05-27
EP3423787A1 (en) 2019-01-09
US10488205B2 (en) 2019-11-26
KR20190094095A (ko) 2019-08-12
EP3423787B1 (en) 2020-01-29
KR102062608B1 (ko) 2020-01-06

Similar Documents

Publication Publication Date Title
JP6653381B2 (ja) 自律走行車の制御フィードバックに基づくマップ更新方法およびシステム
JP6578439B2 (ja) 自律走行車の移動をシミュレートするための物理モデル及び機械学習結合方法
JP6499806B2 (ja) 自律走行車のステアリング率の動的調整
KR101975728B1 (ko) 자율 주행 차량을 위한 사이드슬립 보상 제어 방법
JP6674019B2 (ja) 自律走行車を運行させるための制御エラー補正計画方法
CN111061261B (zh) 使用标准导航地图与基于车辆的先前轨迹确定的车道配置的自动驾驶方法
CN108891417B (zh) 用于操作自动驾驶车辆的方法及数据处理系统
JP6494715B2 (ja) 自律走行車の速度制御率の動的調整方法
JP6578331B2 (ja) 自律走行車のコマンド遅延を決定するための方法
JP2020523552A (ja) 自動運転車両の経路計画のための運転シナリオに基づく車線ガイドライン
JP2019527813A (ja) 自律走行車の交通予測における予測軌跡の評価フレームワーク
JP2019182401A (ja) 自動運転車に用いられる学習に基づく速度計画装置
JP2018531385A6 (ja) 自律走行車を運行させるための制御エラー補正計画方法
JP2019503294A (ja) 自律走行車を制御するためのシステム遅延推定方法
JP2018116705A (ja) ブレーキライトを利用して自動運転車両と追従車両との間の距離を保持する方法
JP2019522830A (ja) 車線縁石補助による自律走行車の車線逸脱検出及び車線維持システム
JP2018158721A (ja) 自動運転車両に用いられる衝突予測及びエアバッグ事前展開システム
JP2019503523A (ja) 自律走行車のための車両の位置点の配信方法
JP2018158719A (ja) 自動運転車両に用いられる制御型の計画と制御システム
JP6908674B2 (ja) 自動運転車両を動作させるための所定のキャリブレーションテーブルに基づく車両制御システム
JP2020083307A (ja) L2自動運転用の所定のキャリブレーションテーブルに基づく車両アクセル/ブレーキアシストシステム
JP7017582B2 (ja) 自動運転車のトルクフィードバックに基づく車両縦方向自動キャリブレーションシステム
JP2020529348A (ja) 自動運転車両のためのスピード制御コマンド自動較正システム
CN111033423A (zh) 用于评估自动驾驶车辆的定位系统的方法
JP7005571B2 (ja) 所定の負荷較正テーブルによる自動運転車両の車両負荷の確定方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200127

R150 Certificate of patent or registration of utility model

Ref document number: 6653381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250