JP6700382B2 - 車線縁石補助による自律走行車の車線逸脱検出及び車線維持システム - Google Patents

車線縁石補助による自律走行車の車線逸脱検出及び車線維持システム Download PDF

Info

Publication number
JP6700382B2
JP6700382B2 JP2018514878A JP2018514878A JP6700382B2 JP 6700382 B2 JP6700382 B2 JP 6700382B2 JP 2018514878 A JP2018514878 A JP 2018514878A JP 2018514878 A JP2018514878 A JP 2018514878A JP 6700382 B2 JP6700382 B2 JP 6700382B2
Authority
JP
Japan
Prior art keywords
lane
adv
wheel
curb
time point
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.)
Active
Application number
JP2018514878A
Other languages
English (en)
Other versions
JP2019522830A (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 JP2019522830A publication Critical patent/JP2019522830A/ja
Application granted granted Critical
Publication of JP6700382B2 publication Critical patent/JP6700382B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • 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/10Path keeping
    • B60W30/12Lane keeping
    • 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
    • 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/10Estimation 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 vehicle motion
    • B60W40/105Speed
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0018Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/0215Sensor drifts or sensor failures
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo or light sensitive means, e.g. infrared sensors
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo or light sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • 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
    • B60W2422/00Indexing codes relating to the special location or mounting of sensors
    • B60W2422/70Indexing codes relating to the special location or mounting of sensors on the wheel or the tire
    • 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/06Direction of travel
    • 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/10Longitudinal speed
    • 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
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/20Tyre 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/60Traversable objects, e.g. speed bumps or curbs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors
    • B60Y2400/306Pressure sensors

Description

本発明の実施形態は、一般的に自律走行車(ADV:autonomous driving vehicle)を動作させることに関する。特に、本発明の実施形態は、車線縁石に対する感知に基づく車線逸脱検出に関する。
自律走行モード(例えば、運転者(human drivers)なしに)で動作している車両において、搭乗者、特に運転者は、運転に関連する担当事項の一部を軽減することができる。自律モードで動作する際、車両はオンボードセンサを用いて様々な位置へナビゲートすることができ、その結果、最小限のヒューマンコンピュータインタラクションで、又は、一部の場合、乗客なしに車両の移動が可能となる。
運行(モーション)の計画及び制御は、自律走行において重要な動作である。自律走行車(ADV)は、その移動中の車線(lane)内に走行を維持することが重要である。しかし、自律走行の感知や計画が不正確であれば、ADVが車線を正しく従わないことを検出できない可能性がある。特に、車線が十分に対比されるように表示されていない場合、ADVが車線を正しく従わないことを検出することは困難である。
本発明の実施形態は、自律走行車を作動させるためのコンピュータ実現方法、非一時的機械可読媒体、及びデータ処理システムを提供する。
本発明の一実施形態によれば、自律走行車を作動させるためのコンピュータ実施方法は、自律走行車の車輪がADVの走行している車線の縁に配置された車線縁石に転がり届く(roll on)第1の時点を検出するステップと、ADVの車輪が車線の車線縁石から転がり外れる(roll off)第2の時点を検出するステップと、ADVの現在速度を考慮して、第1の時点と第2の時点との差に基づいて、ADVの移動方向と車線の車線方向との間の角度を算出するステップと、ADVの移動方向を調整してADVが車線の車線方向からさらに大きく外れることを防止するように前記角度に基づいて制御コマンドを生成するステップを含んでいる。
本発明の他の実施形態においては、非一時的機械可読媒体は、コマンドを記憶し、前記コマンドは、プロセッサによって実行されるとき、前記プロセッサに、自律走行車を動作させる動作を実行させ、前記動作は、自律走行車(ADV)の車輪がADVの走行している車線の縁に配置された車線縁石に転がり届く第1の時点を検出することと、ADVの車輪が車線の車線縁石から転がり外れる第2の時点を検出することと、ADVの現在速度を考慮して、第1の時点と第2の時点との差に基づいて、ADVの移動方向と車線の車線方向との間の角度を算出することと、ADVの移動方向を調整してADVが車線の車線方向からさらに大きく外れることを防止するように角度に基づいて制御コマンドを生成することとを含んでいる。
本発明の別の実施形態においては、データ処理システムは、プロセッサと、前記プロセッサに連接されてコマンドを記憶するメモリとを含み、前記コマンドは、前記プロセッサによって実行されるとき、前記プロセッサに動作を実行させ、前記動作は、自律走行車(ADV)の車輪がADVの走行している車線の縁に配置された車線縁石に転がり届く第1の時点を検出することと、ADVの車輪が車線の車線縁石から転がり外れる第2の時点を検出することと、ADVの現在速度を考慮して、第1の時点と第2の時点との差に基づいて、ADVの移動方向と車線の車線方向との間の角度を算出することと、ADVの移動方向を調整してADVが車線の車線方向からさらに大きく外れることを防止するように角度に基づいて制御コマンドを生成することとを含んでいる。
本発明の別の実施形態においては、自律走行車を作動させるためのコンピュータ実施方法は、自律走行車(ADV)の第1の車輪がADVの走行している車線の縁に配置された車線縁石に接触する第1の時点を検出するステップと、ADVの第2の車輪が車線の車線縁石に接触する第2の時点を検出するステップと、ADVの現在速度を考慮して、第1の時点と第2の時点との差に基づいて、ADVの移動方向と車線の車線方向との間の角度を算出するステップと、ADVの移動方向を調整してADVが車線の車線方向からさらに大きく外れることを防止するように角度に基づいて制御コマンドを生成するステップとを含んでいる。
本発明の実施形態は、同一の符号(参照番号)が同一の要素を示す添付図面において例示として説明され、これに限定されない。
本発明の一実施形態に係るネットワークシステムを示すブロック図である。 本発明の一実施形態に係る自律走行車の例を示すブロック図である。 本発明の一実施形態に係る自律走行車とともに使用される感知及び計画システムの例を示すブロック図である。 本発明の一実施形態に係る自律走行車の車線逸脱を検出し、校正する処理の流れを示す処理フローチャートである。 自律走行車が車線縁石と接触する典型的なシナリオを示す図である。 本発明の一実施形態に係る移動方向と車線方向との間の差を決定するための図である。 本発明の一実施形態に係る自律走行車を作動させるプロセスを示すフローチャートである。 本発明の他の実施形態に係る移動方向と車線方向との間の差を決定するための図である。 本発明の他の実施形態に係る自律走行車が動作する過程を示すフローチャートである。 一実施形態に係るデータ処理システムを示すブロック図である。
以下、検討した詳細を参照して本発明の様々な実施形態及び態様を説明し、添付の図面は、前記様々な実施形態を示す。以下の説明及び図面は、本発明の例示であり、本発明を限定するものとして解釈されるべきではない。本発明の様々な実施形態の完全な理解を提供するために、多くの詳細が記載されている。しかしながら、場合によって、本発明の実施形態の説明の簡潔さから、周知又は従来の詳細は記載されていない。
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に説明した特定の特徴、構造、又は特性を本発明の少なくとも1つの実施形態に含めることができることを意味する。本明細書にわたって記載の「一実施形態では/一実施形態において」という語句は、必ずしもすべて同じ実施形態を指すとは限らない。
本発明の一実施形態によれば、車線逸脱検出システムは、ADVが車線の縁(edge of the lane)、例えば車線の路肩(lane shoulder)、車線の警戒域又は車線同士の間に配置された車線分離線(lane separator)などと接触したときにキャプチャされたセンサデータに基づいて、ADVが走行中の車線から逸脱することを検出するように構成されている。ADVが車線縁石と接触するときに、車線逸脱検出システムは、ADVの速度を考慮して、接触のタイミングに基づいて、ADVの移動方向と車線の車線方向との間の角度を検出し算出する。角度に基づいて、システムは、ADVの移動方向が車線の車線方向と比較してどのように外れているかを計算する。車線方向は、一般的に、車線の縁に配置された車線縁石、又は車線同士の間に配置された車線縁石セグメントのアレイの縦の分散パターンの縦方向と実質的に平行している。速度制御コマンド及び/又はステアリング制御コマンドなどの制御コマンドは、ADVの移動方向を校正するために、ADVが車線から逸脱した角度及び/又は距離に基づいて生成される。
本発明の一実施形態においては、車線逸脱検出システムは、第1の時点でADVの車輪がADVの移動している車線の縁に配置された車線縁石に転がり届くことを検出する。システムは、ADVの同一の車輪が車線の車線縁石を転がり外れる第2の時点を検出する。転がり届いたときと転がり外れるときの接触は、タイヤ圧力センサ又は動きセンサなど、車輪と関連するセンサを使用して検出する。車輪は、ADVの車輪のうちの任意の1つの前輪又は後輪であってもよい。システムは、ADVの現在速度を考慮して、第1の時点と第2の時点との間の時間差に基づいて、ADVの移動方向と車線の車線方向との間の角度を算出する。その後、システムは、ADVの移動方向を調整してADVが車線の車線方向からさらに大きく外れることを防止するように、該角度に基づいて制御コマンド(例えば、速度制御コマンド、ステアリング制御コマンド)を生成する。
一実施形態によれば、角度を算出するとき、車線の車線方向に垂直な距離が第1の時点から第2の時点まで算出される。そのような距離は、ADVの横方向の移動距離(lateral moving distance)とも呼ばれる。その後、角度は、第1の時点と第2の時点との間の時間差を考慮して、ADVの距離と現在速度とに基づいて算出される。車線方向に垂直な距離は、車輪の車輪幅と車線縁石の縁石幅に基づいて算出することができる。車輪幅は、車輪の仕様(Specification)に基づいて決定される。車線縁石の縁石幅は、カメラによってキャプチャされた車線の画像のような車線縁石を感知する感知データに基づいて決定することができる。
本発明の他の実施形態によれば、車線逸脱検出システムは、ADVの第1の車輪がADVの移動している車線の縁に配置された車線縁石に接触する第1の時点を検出する。システムは、ADVの第2の車輪が車線の車線縁石に接触する第2の時点を検出する。第1の車輪と車線縁石との間の接触は、タイヤ圧力センサ又は動きセンサのような第1の車輪に関連するセンサを使用して検出する。第2の車輪と車線縁石との間の接触は、タイヤ圧力センサ又は動きセンサのような第2の車輪に関連するセンサを使用して検出する。第1の車輪と第2の車輪は、異なる車輪であってもよく、一対の前輪又は後輪のようなADV車輪のうちの任意の1つであってもよい。システムは、ADVの現在速度を考慮して、第1の時点と第2の時点との間の時間差に基づいて、ADVの移動方向と車線の車線方向との間の角度を算出する。その後、システムは、ADVが車線の車線方向からより大きく外れることを防止するために、角度を基にしてADVの移動方向を調整するための制御コマンド(例えば、速度制御コマンド、ステアリング制御コマンド)を生成する。
一実施形態によれば、角度の算出ときに、第1の車輪と第2の車輪との間の第1の距離が決定される。第1の距離は、第1の車輪と第2の車輪を接続する軸の長さであることもある。ADVが車線の車線方向に垂直に移動した第2の距離(例えば、横方向の移動距離)は、ADVの現在速度を考慮して、第1の時点と第2の時点との間の時間差に基づいて決定される。その後、角度は、第1の距離と第2距離との間の正弦曲線の関係(sinusoidal relationship)に基づいて算出される。
図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のそれぞれは、車両の車輪のいずれかのタイヤの圧力を検出及び測定するように構成されている。一実施形態においては、ADVの車輪のそれぞれは、タイヤ圧力センサ及び/又は動きセンサと関連つけられている。そのようなセンサは、対応する車輪の付近に、例えば、車輪に関連するサスペンション継手の付近に配置されるか、又は装着することができる。したがって、ADVの車輪が車線縁石と接触するとき、ADVの車輪のうちいずれかの車輪が車線縁石と接触したことを正確に決定することができる。また、車輪が車線縁石に転がり届く(roll onto)か、車線縁石と当たるか、又は車線縁石から転がり外れるか車線縁石から離れるかを検出することができる。
車両のタイヤの圧力の急激な変化は、車輪が車線縁石と接触したり、車線縁石に転がり届いたり、転がり外れた時、車両に加えられた衝撃を比例して示す。動きセンサ217のそれぞれは、車輪又はADVによって発生された動き量を検出し、測定するように構成されている。検出された突然の動きの量は、ADVが車線縁石に接触するか否か、又は車線縁石に転がり接触したり、転がり外れたりするかを決定するのに使用される。一実施形態においては、動きセンサは、それぞれの車輪又は各車輪と関連付けられるサスペンション継手の付近に位置してもよい。タイヤの圧力データと動きセンサのデータは、対応する車輪が車線縁石と接触したか、又は車線縁石に転がり届いたり、転がり外れたりしたかを決定するために組み合わせてもよい。
一実施形態において、車両制御システム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は、様々のクライアントにデータ分析サービスを提供するデータ分析システムであっても良い。1つの実施形態において、データ分析システム103は、データコレクタ121と、機械学習エンジン122とを含む。データコレクタ121は、様々の車両(自律走行車又は運転者による一般車両)からの走行統計123を収集する。走行統計123は、発行された走行指示情報(例えば、スロットル、ブレーキ及びステアリングコマンド)、及び、異なる時点で車両のセンサで取得された車両のレスポンス(例えば、速度、加速度、減速度、方向)を含む。走行統計123は、異なる時点での走行環境の情報、例えば、経路(出発地及び目的地の位置を含む)、MPOI、道路条件、天気条件等を更に含む。
走行統計123に基づいて、機械学習(機械学習)エンジン122は、様々な目的のために、ルール、アルゴリズム及び/又は予測モデルのセット124を実行したり、訓練させる。一実施形態においては、アルゴリズム124は、ADVの移動方向と、ADVが移動している車線の車線方向との間の角度を算出するためのアルゴリズムを含む。角度はADVの物理的な次元(例えば、2つの前輪又は後輪の間の距離は、1つの前輪と1つの後輪との間の距離)を考慮して算出できる。そのような角度は、ADVが車線を逸脱したか否かを決定するために使用され、そのような車線逸脱を校正するために、適切な制御措置が取られる。その後、アルゴリズム124は、潜在的な車線逸脱を検出するために、リアルタイムで利用されるようにADV上にアップロードされる。
図3は、本発明の一実施形態に係る自律走行車とともに使用される感知及び計画システムの一例を示すブロック図である。システム300は、図1の自律走行車101の一部として実装することができ、感知及び計画システム110、制御システム111と、センサシステム115を含むが、これに限定されない。図3に示すように、感知及び計画システム110は、位置決め(localization)モジュール301、感知モジュール302、決定モジュール303、計画モジュール304、制御モジュール305及び車線逸脱検出器又はモニタ306を含むが、これに限定されない。
モジュール301〜306の一部又は全部は、ソフトウェア、ハードウェア、又はそれらの組み合わせによって実現されてもよい。例えば、これらのモジュールが不揮発性の記憶装置352にインストールされ、メモリ351にロードされて1つ又は複数のプロセッサ(図示せず)によって実行されてもよい。一部又はすべてのモジュールは、図2に示す車両制御システム111における一部又はすべてのモジュールに通信可能に連結されたり、統合されたりしてもよい。また、モジュール301〜306の一部、1つの集積モジュールとして一体化されてもよい。
位置決めモジュール301は、(例えば、GPSユニット212を利用して)自律走行車300の現在の位置を決定し、ユーザの行程や経路に関連する任意のデータを管理する。位置決めモジュール301(地図及び経路モジュールとも呼ばれる)は、ユーザの行程や経路に関連する任意のデータを管理する。ユーザは、例えば、ユーザインタフェースを介してログインして行程の出発位置と目的地を指定することができる。位置決めモジュール301は、地図及び経路情報311のような自律走行車300の他の構成要素と通信して行程関連データを取得する。例えば、位置決めモジュール301は、位置サーバ、及び地図とPOI(MPOI)サーバから位置と経路情報を獲得することができる。位置サーバは、位置情報サービスを提供し、MPOIサーバは地図サービスと、地図及び経路情報311との一部としてキャッシュすることができる特定位置のPOIを提供する。自律走行車300が経路に沿って移動する間に、位置決めモジュール(localization module)301は、交通情報システム、又はサーバからリアルタイムの交通情報も取得することができる。
センサシステム115により提供されたセンサデータ、及び位置決めモジュール301により得られた位置決め情報に基づいて、感知モジュール302は周辺環境に対する感知を決定する。感知情報は、普通の運転者が自分で運転している車両周辺から感知したもの(状況)を示すことができる。感知情報は、例えば対象形式で現される車線配置(例えば、直線又はカーブ)、交通信号、他の車両の相対位置、歩行者、建築物、横断歩道又はその他の交通関連標識(例えば、停止標識、譲り標識)などを含んでもよい。例えば、対象の形により含んでもよい。
感知モジュール302は、自律走行車の環境で対象及び/又は特徴を識別するために、1つ以上のカメラによってキャプチャされた画像を処理及び分析するためのコンピュータビジョンシステム、又はコンピュータビジョンシステムの機能を含んでもよい。対象は、交通信号、道路境界、他の車両、歩行者、及び/又は障害物などを含んでもよい。コンピュータビジョンシステムは、対象感知アルゴリズム、ビデオ追跡、及び他のコンピュータビジョン技術を使用することができる。一部の実施形態においては、コンピュータビジョンシステムは、環境をマッピングし、対象を追跡し、対象の速度推定などを行うことができる。感知モジュール302は、レーダー及び/又はLIDARのような他のセンサによって提供される他のセンサのデータに基づいて対象を検出することもできる。
それぞれの対象について、決定モジュール303は、対象をどのように扱うかについての決定をする。例えば、特定の対象(例えば、交差ルートにある他の車)だけでなく、対象を記述するメタデータ(例えば、速度、方向、ステアリング角度)に対して、決定モジュール303は、対象をどの式で対処するかを決定する(例えば、追い越し、譲歩、停止、通過)。決定モジュール303は、永続記憶装置352に記憶できる交通ルール又は走行ルール312のようなルールのセットに基づいて、これらの決定を下すことができる。
感知された各対象に対する決定に基づいて、計画モジュール304は、自律走行車に対する経路又は経路だけでなく、走行パラメータ(例えば、距離、速度、及び/又は回転角度)を計画する。つまり、与えられた対象については、決定モジュール303は、対象の処理を決定し、計画モジュール304は、それをどのように実行するかを決定する。例えば、与えられた対象については、決定モジュール303は、対象を通過することに決定し、これに対し、計画モジュール304は、対象の左側又は右側から通過するかを決定することができる。計画及び制御データは、計画モジュール304によって生成され、自律走行車300が、次の移動のサイクル(例えば、次の経路/経路セグメント)でどのように動くのかを記述する情報を含む。例えば、計画及び制御データは、自律走行車300が時速30マイル(mph)の速度で10m移動し、25mphの速度で右側車線に変更するよう指示することができる。
計画及び制御データに基づいて、制御モジュール305は、計画及び制御データによって定義された経路又は経路に沿って、車両制御システム111に適切なコマンド又は信号を送信することにより、自律走行車を制御し走行させる。計画及び制御データには、経路、又は経路上の異なる時点において、適切な車両設定又は走行パラメータ(例えば、スロットル、ブレーキ、及びステアリングコマンド)を使用して、経路又は経路の第1地点から第2地点まで車両を走行させることができる十分な情報が含まれている。
一実施形態において、計画ステップは、複数の計画サイクル又はコマンドサイクル、例えば、100ミリ秒(ms)の時間間隔ごとに実行される。計画サイクル又はコマンドサイクルごとに複数の制御コマンドが計画及び制御データに基づいて発行される。つまり、100msごとに、計画モジュール304は、後続のルートセグメント又は経路セグメントを計画し、後続のルートセグメント又は経路セグメントは、例えば目標位置と、ADVが目標位置に到達するのに必要な時間とを含んでもよい。代替的に、計画モジュール304は、特定の速度、方向、及び/又はステアリング舵角等を追加的に特定してもよい。一実施形態においては、計画モジュール304は、例えば、5秒のような所定の後続期間のルートセグメント又は経路セグメントを計画する。各計画サイクルについては、計画モジュール304は、前のサイクルで計画された目標位置に基づいて、現在のサイクル(例えば、次の5秒)の目標位置を計画する。ADVの現在の実際の位置が以前の計画サイクルによって計画された目標位置と著しく異なる場合には、計画モジュール304は、前の計画サイクルの目標位置の代わりにADVの物理的な場所に基づいて、後続のセグメントを再計画する必要がある。その後、制御モジュール305は、現在のサイクルの計画及び制御データに基づいて、1つ以上の制御コマンド(例えば、スロットル、ブレーキ(制動)、ステアリング制御コマンド)を発生させる。
決定モジュール303及び計画モジュール304は、1つの集積モジュールとして一体化されてもよい。決定モジュール303/計画モジュール304は、自律走行車の走行経路を決定するためのナビゲーションシステムやナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、一連の速度及び進行方向(directional heading)を決定して、大体において最終的な目的地に至る車線経路に沿って自律走行車を進ませる同時に、感知された障害物を実質的に避ける経路に沿って自律走行車を移動することができる。目的地は、ユーザインタフェースシステム113を介してユーザ入力に応じて設定されることができる。ナビゲーションシステムは、自律走行車が運行されている間、走行経路を動的に更新することができる。ナビゲーションシステムは、自律走行車のための走行経路を決定するためにGPSシステム、及び1つ又は複数の地図からのデータを統合することができる。
決定モジュール303/計画モジュール304は、自律走行車の環境での潜在的な障害物を識別、評価、回避したり交渉したりするための衝突回避システム又は衝突回避システムの機能をさらに含んでもよい。例えば、衝突回避システムは、緊急回避操作、ステアリング操作、ブレーキ操作などを行うために、制御システム111の複数のサブシステムを操作して、自律走行車のナビゲーションの変化を実行することができる。衝突回避システムは、周辺の交通パターン、道路状況等に基づいて、実現可能な障害物回避操作を自動的に決定することができる。衝突回避システムは、自律走行車が緊急回避して進入する隣接領域で、車両、建築の障害物などを、他のセンサシステムが検出したときに、緊急回避操作が行われないように構成することができる。衝突回避システムが、使用可能であり、自律走行車両の乗員の安全を最大限にする操作を自動的に選択することができる。衝突回避システムは、自律走行車両の乗客室において最低限の加速を引き起こすと予想される回避操作を選択することができる。
車線逸脱検出器又は検出モジュール306は、ADVが移動している車線から逸脱するか否かを検出するように構成されている。一実施形態においては、車線逸脱検出器306は、図2のタイヤ圧力センサ216及び/又は動きセンサ217などの1つ以上のセンサに連結されて、ADVが、例えば路肩、車線の警告地域、又は車線間の車線のブロックのような車線の縁に配置された車線縁石に接触することに対する応答として、突然の衝撃や振動を経たかを検出する。これらの突然の衝撃や振動に応答して、車線逸脱検出器306は、その時点でADVの移動方向と車線の車線方向との間の角度を決定する。この角度は、ADVの移動方向が車線の車線方向に比べてどのくらい外れているか(例えば、移動方向と車線方向との間の差)を示す。角度に基づいて、計画モジュール304及び/又は制御モジュール305は、移動方向の校正が必要か否かを決定し、校正が必要な場合は、新しい制御コマンドが生成されてADVに発行され、ADVの移動方向を校正する。
一実施形態においては、ADVの移動方向の校正は、移動方向と車線方向との間の差を示す角度が所定のしきい値よりも大きい場合に必要である。所定のしきい値は、様々な車両から一定期間にわたって収集された大量の走行統計に基づいて、オフラインでのデータ分析システム(例えば、データ分析システム103)によって決定され、構成されてもよい。そのような所定のしきい値は、安全上の理由及び/又は運転者の運転姿勢や好み(例えば、快適)を考慮して決定することができる。
一実施形態によれば、車線逸脱検出器306は、動き検出器又は検出モジュール321と角度計算器322を含んでいる。車線逸脱検出器306は、ADVが車線縁石に接触した時に収集されたセンサデータに基づいて、ADVの走行中の車線からADVが逸脱していることを検出するように構成されている。ADVが車線縁石と接触したとき、車線逸脱検出器306の動き検出器321は、タイヤ圧力センサ及び/又は動きセンサを介して、このような急激な動き(例えば、衝撃、振動)を検出する。角度計算器322は、ADVの移動方向と車線縁石の長手方向との間の角度を算出する。
一実施形態において、角度は、ADVの速度を考慮して、ADVの車輪が車線縁石に転がり届いた時点と、ADVの車輪が車線縁石から転がり外れる時点とに基づいて、算出してもよい。あるいは、角度は、ADVの速度を考慮して、ADVの第1輪(例えば、右側前輪)が車線縁石に接触する時点と、ADVの第2輪(例えば、左側前輪)が車線縁石と接触した時点に基づいて算出してもよい。角度に基づいて、車線逸脱検出器306は、車線の車線方向に比べてADVの移動方向がどの程度外れているかを算出する。車線方向は、通常、車線縁石の長手方向と実質的に平行である。速度制御コマンド及び/又はステアリング制御コマンドのような制御コマンドは、ADVの移動方向を校正するための角度に基づいて、計画モジュール304及び/又は制御モジュール305によって生成される。
図4は、本発明の一実施形態に係る自律走行車の車線逸脱を検出し、校正する処理の流れを示す処理フローチャートである。図3及び図4に示すように、前述したように、感知モジュール303から受信された感知データに基づいて、計画モジュール304は、ルートセグメントを計画し、目標位置と目標位置にいる時間などを特定する。計画モジュール304によって提供される計画及び制御データに基づいて、制御モジュール305は、必要な制御コマンドやコマンドの(例えば、速度制御コマンド、ステアリング制御コマンド)を決定し、車両プラットフォーム405に制御コマンドを発行する。
車線逸脱検出器306は、ADVが車線縁石(例えば、路肩、車線分離線、車線の警告トラック)に接触したか否かと、接触時点とを検出するために、タイヤ圧力センサ216及び/又は動きセンサ217のような車線プラットフォーム405と接続される。ADVの1つの車輪又は車輪による接触時点に基づいて、ADVの移動方向と車線の車線方向との間の差を示す角度が算出される。ADVの移動方向と車線の車線方向との間の差に関する車線逸脱情報は、計画モジュール304及び/又は制御モジュール305にフィードバックされる。計画モジュール304及び/又は制御モジュール305は、車線逸脱検出器306によって提供された車線逸脱情報に基づいて校正動作が必要か否かを決定することができる。これらの校正は、制御モジュール305によって実行されてもよい。あるいは、計画モジュール304は、ADVの移動方向を校正するために、後続の計画サイクルのためのルートセグメントを再計画する必要のある可能性がある。校正動作が必要であると判断されると、制御コマンドが生成され、車両プラットフォーム405に発行され、ADVの移動方向を校正する。
本発明の一実施形態によれば、車線逸脱検出器306の動き検出器321は、ADVの車輪がADVの移動中の車線の縁に配置された車線縁石に転がり届く第1の時点を検出する。動き検出器321は、ADVの車輪が車線の車線縁石に転がり外れる第2の時点を検出する。車線縁石に転がり届くときと車線縁石から転がり外れるときの接触は、タイヤ圧力センサ又は動きセンサに関連するセンサを用いて検出される。車輪はADVの車輪のいずれかであってもよく、前輪又は後輪のいずれかであってもよい。車線逸脱検出器306の角度計算器322は、現在速度を考慮して、第1の時点と第2の時点との間の時間差に基づいて、ADVの移動方向と車線の車線方向との間の角度を算出する。車線方向と移動方向との間の差を示す角度情報は、計画モジュール304及び/又は制御モジュール305に提供される。車線方向とADVの移動方向間の差が所定のしきい値よりも大きい場合には、計画モジュール304及び/又は制御モジュール305は、該角度に基づいて制御コマンド(例えば、速度制御コマンド、ステアリング制御コマンド)を生成して、ADVが車線の車線方向からさらに大きく外れることを防止するためにADVの移動方向を調整する。
角度を計算するとき、一実施形態によれば、第1の時点から第2の時点まで車線の車線方向に垂直な距離(例えば、横方向の移動距離(lateral moving distance))が算出される。その後、角度は、第1の時点と第2の時点との間の時間差を考慮して、距離とADVの現在速度に基づいて算出される。車線方向に垂直な距離は、車輪の車輪幅と車線縁石の縁石幅とに基づいて算出することができる。車輪幅は、車輪の仕様に基づいて決定される。車線縁石の縁石幅は、カメラによってキャプチャされた車線縁石の画像のような車線縁石を感知する感知データに基づいて決定することができる。
本発明の他の実施形態によれば、動き検出器321は、ADVの第1の車輪がADVの移動している車線の縁に配置された車線縁石に接触する第1の時点を検出する。動き検出器321は、ADVの第2の車輪が車線の車線縁石に接触する第2の時点を検出する。第1の車輪と車線縁石との間の接触は、タイヤ圧力センサ又は動きセンサのような第1の車輪に関連するセンサを使用して検出される。第2の車輪と車線縁石との間の接触は、タイヤ圧力センサ又は動きセンサのような第2の車輪に関連するセンサを使用して検出される。第1の車輪と第2の車輪は、ADVの車輪のうちの任意の車輪、例えば一対の前輪又は後輪であってもよい。角度計算器322は、ADVの現在速度を考慮して、第1の時点と第2の時点との間の時間差に基づいて、ADVの移動方向と車線方向との間の角度を算出する。
車線方向と移動方向との間の差を示す角度情報は、計画モジュール304及び/又は制御モジュール305に提供される。車線方向とADVの移動方向との間の差が所定のしきい値よりも大きい場合には、計画モジュール304及び/又は制御モジュール305は、該角度に基づいて制御コマンド(例えば、速度制御コマンド、ステアリング制御コマンド)を生成して、ADVが車線の車線方向からさらに大きく外れることを防止するために、ADVの移動方向を調整する。
角度を計算するとき、一実施形態によれば、第1の車輪と第2の車輪との間の第1の距離が決定される。第1の距離は、第1の車輪と第2の車輪に接続された車軸の長さであってもよい。ADVが車線の車線方向に垂直に移動した第2の距離は、ADVの現在速度を考慮して、第1の時点と第2の時点との間の時間差に基づいて決定される。その後、角度は、第1の距離と第2距離との間の正弦曲線の関係に基づいて算出される。
ADVの移動方向を校正するための校正動作は、移動方向が車線方向からどれだけ外れているか否かに応じて、計画モジュール304及び/又は制御モジュール305を計画することによって行われる。車線方向と移動方向との間の差が非常に大きい(例えば、所定の高しきい値よりも大きい場合)、計画モジュール304は、再び計画すべきである。さもなければ、制御モジュール305は、前のコマンドを変更したり、新しいコマンドを作成したりすることにより校正を行う。
図5は、車両が車線縁石と接触する一般的なシナリオを示す図である。図5に示すように、ADV501の複数の車輪(例えば、一対の前輪又は後輪)が車線500の車線縁石502と接触したときに、突然の動きは、車輪に関連付けられている動きセンサ及び/又はタイヤ圧力センサにより検出される。また、車輪が車線縁石502に転がり届く及び転がり外れる接触時点、又はADV501の車輪と車線縁石502との間の接触時点が記録される。接触時点に基・BR>テいて、車線500の車線方向503とADV501の移動方向504との間の角度505が算出される。角度505は、車線方向503と移動方向504との間の差を示す。角度505が所定のしきい値よりも大きい場合には、移動方向504を校正するために、適切な動作が実行される。本形態では、車線縁石502は、単一の車線縁石である。他の形態では、車線縁石502は、例えば、車線縁石セグメント506のアレイのような車線500の縁に沿って分布した車線縁石セグメントのアレイであってもよい。
一実施形態においては、校正が行われるか否かは、走行環境又はその時点での走行環境に応じて異なる場合がある。例えば、車線500がより狭く且つ交通量多い車線である場合、車線逸脱のエラーマージン(error margin)が低いので、校正動作をトリガするための角度505と関連付けられているしきい値は、より低い。同様に、より高いエラーマージンが容認される場合、交通量が少なく、且つ、広い車線に対しては、より高いしきい値が使用される。また、双方向車線に対しては、より低いしきい値を適用し、一方向車線に対しては、より高いしきい値を適用することができる。しきい値を決定するルールは、過去の走行統計に基づいて、データの分析システム(例えば、データ分析システム103)によってオフラインで決定することができる。
図6は、本発明の一実施形態に係る移動方向と車線方向との間の差を決定するための図である。図6に示すように、ADVの車輪601が車線縁石502に転がり届いたとき、これらの突然の動きは、例えば車輪601に関連付けられたタイヤ圧力センサ及び/又は動きセンサによって検出される。転がり届いた動きの時点T1が記録される。続いて、ADVの車輪601が車線縁石502で転がり外れるとき、転がり外れる動きの時点T2が記録される。T1とT2との間の差に基づいて、接触時間T1とT2との間の横方向の移動距離605(Sと呼ばれる)が、ADVの現在速度Vを考慮して算出される。
S=VX*|T2−T1|
式中、VXは、X軸に投影された現在速度Vを示す(VX=Vsin(θ))。角度θは、移動方向504と車線方向503との間の角度505を示す。横方向の移動距離Sは、ADVがT1とT2の間に移動した車線方向503に垂直な距離を示す。
一方、距離Sは、車輪601の車輪幅W1、車輪601の直径又は車輪サイズD、車線縁石幅W2603を考慮して、以下のように決定される。
S=W1*cos(θ)+D*sin(θ)+W2
前記2つの式を組み合わせして、次のように角度θを算出することができる。W1*cos(θ)+D*sin(θ)+W2=V*sin(θ)|T2−T1|
角度θが小さい場合、cosθは、1に近く、Sinθは、0に近い。したがって、Sは(W1+W2)とほぼ同じである。前記式は、次のように角度θを算出するために簡略化することができる。
W1+W2=V*sin(θ)|T2−T1|
車輪幅W1は、ADVの車輪601の仕様に基づいて決定できる既知のパラメータである。車線縁石502の幅W2は、車線縁石502を感知する感知データに基づいて推定できる。例えば、カメラによってキャプチャされた車線縁石502の画像が感知し分析されて車線縁石502の幅を決定することができる。
図7は、本発明の一実施形態に係る自律走行車を駆動させるプロセスを示すフローチャートである。プロセス700は、ソフトウェア、ハードウェア、又はこれらの組み合わせを含む処理ロジックによって実行される。例えば、プロセス700は、図3の車線逸脱検出器306によって実行されてもよい。図7に示すように、動作701において、処理ロジックは、ADVの車輪がADVの移動している走行車線の縁に配置された車線縁石に転がり届く第1の時点を検出する。動作702において、処理ロジックは、ADVの同じ車輪が車線縁石から転がり外れる第2の時点を検出する。これらの検出は、車輪に関連するタイヤ圧力センサ及び/又は動きセンサを使用して実行することができる。一実施形態においては、ADVの各車輪はタイヤ圧力センサ及び/又は動きセンサと関連つけられている。これらのセンサは、対応する車輪の付近に、例えば、車輪に関連するサスペンション継手の付近に配置されるか、又は装着されてもよい。したがって、ADVの車輪が車線縁石と接触するとき、ADVの車輪のうちどの車輪が車線縁石と接触したかを正確に決定することができる。また、車輪が車線縁石に転がり届いたり、接触したりするか、又は車輪が車線縁石から転がり外れたり、離れたりするかを検出することができる。
動作703において、処理ロジックは、ADVの現在速度を考慮して、第1の時点と第2の時点との差に基づいて、ADVの移動方向と車線方向との間の角度を算出する。ADVの移動方向は、一般的に、一対の前輪を接続する前方軸又は一対の後輪を接続する後方軸に垂直である。車線の車線方向は、一般的に車線の縁上に配置された車線縁石の長手方向の又は車線縁石セグメントのアレイの長手方向の分布パターンと平行である。角度は、移動方向と車線方向との間の差を表し、ADVが車線どのくらい外れているか否かを示す。動作704において、処理ロジックは、該角度に基づいて制御コマンド(例えば、速度制御コマンド、ステアリング制御コマンド)を生成し、ADVの移動方向を調整して、ADVが車線の車線方向からさらに大きく外れること防止する。一実施形態においては、移動方向を調整するための制御コマンドは、角度が予め決定されたしきい値よりも大きいときに生成される。
前記車線逸脱検出技術は、ADVの1つの車輪が車線縁石に転がり届いたり、転がり外れたりすることを検出することに基づいて行われる。本発明の他の実施形態によれば、ADVの車線逸脱は、車線の車線縁石と接触するADVの複数の車輪(例えば、一対の前輪、一対の後輪又は前輪と後輪の組み合わせ)に基づいて検出することもできる。
図8は、本発明の他の実施形態に係る移動方向と車線方向との間の差を決定するための図である。図8に示すように、ADVの車輪801が車線縁石502に接触したり、転がり届いたりするとき、これらの急激な動きは、例えば車輪801に関連付けられたタイヤ圧力センサ及び/又は動きセンサによって検出される。接触時間T1が記録される。続いて、ADVの他の車輪802が車線縁石502に接触したり、転がり届いたりするとき、接触時間T2が記録される。時間T1とT2との間の差に基づいて、接触時間T1とT2との間の横方向の移動距離Sは、ADVの現在速度Vを考慮して算出できる。
S=VX*|T2−T1|
式中、VXは、X軸に投影された現在速度Vである(VX=Vsin(θ))。角度θは、移動方向504と車線方向503との間の角度505を示す。
一方、距離Sは、各車輪の車輪幅W1は、各車輪直径又は車輪サイズDと車線縁石幅W2を考慮して、次のように決定される。
S=W1*cos(θ)+D*sin(θ)−W2+W*cos(θ)
式中、Wは、車輪801、802を接続する車軸の長さを示す。前記2つの式を結合して、次のように角度θを算出することができる。
W1*cos(θ)+D*sin(θ)−W2+W*cos(θ)=V*sin(θ)|T2-T1|
角度θが小さい場合、cos(θ)は、1に近く、sin(θ)は、0に近い。したがって、Sは(W1−W2+W)とほぼ同じである。前記式は次のように角度θを算出するために簡略化することができる。
W1−W2+W=V*sin(θ)|T2−T1|
車輪幅W1は、ADVの車輪801の仕様に基づいて決定できる既知のパラメータである。車線縁石の幅W2は、車線縁石502を感知する感知データに基づいて推定できる。例えば、カメラによってキャプチャされた車線縁石502の画像が感知し分析されて車線縁石502の幅を決定することができる。同様に、車軸の長さWは、ADVの仕様に基づいて得られる。一実施形態においては、WがW1及びW2よりも明らかに長い又は広い場合、前記式W=V*sin(θ)|T2−T1|に簡略化することができる。
本実施形態においては、車輪801、802は、同じ車軸に接続される。一実施形態においては、前記技術は、ADVの前輪と後輪のような異なる車軸上の車輪に基づいて、移動方向と車線方向との間の角度を算出することにも拡張することができる。これらの実施形態においては、1つの車輪がADVの片側にあり、他の車輪がADVの反対側にある場合には、前方軸と後方軸間の距離Rを考慮すべきである。横方向の移動距離Sは、X軸上に投影されている距離R(=R*Sinθ)をさらに含んでもよい。
したがって、前輪と後輪がADVの異なる側にある場合、すなわち、運転者側に1つ、乗客側に他の1つがある場合には、横方向の移動距離Sは、次のように定義することができる。
S=W1*cos(θ)+D*sin(θ)+W2+W*cos(θ)+R*sin(θ)
角度θが小さい場合には、R*sinθは、角度算出の簡素化のために無視することができる(S=W1+W2+W)。車輪がADVの同じ側にある場合には、Sは次のように定義することができる。
S=W1*cos(θ)+D*sin(θ)+W2+R*Sin(θ)
角度θが小さければ、R*Sinθ及びD*sinθは、角度算出の簡素化のために無視することができる(S=W1+W2)。
図9は、本発明の他の実施形態に係る自律走行車の動作過程を示すフローチャートである。プロセス900は、ソフトウェア、ハードウェア、又はこれらの組み合わせを含む処理ロジックによって実行される。例えば、プロセス900は、図3の車線逸脱検出器306によって実行されてもよい。図9に示すように、動作901において、処理ロジックは、ADVの第1の車輪(例えば、右側前輪又は右側後輪)がADVが移動している車線の車線縁石(例えば、路肩、車線分離線、車線の警告トラック)と接触するか否かを第1の時点で検出する。車線縁石は車線のエッジ又は車線同士の間に配置される。動作902において、処理ロジックは、ADVの第2の車輪(例えば、左側前輪又は左側後輪)が車線縁石に接触するか否かを第2の時点で検出する。動作903において、処理ロジックは、ADVの現在速度を考慮して、第1の時点及び第2の時点に基づいてADVの移動方向と車線の車線方向との間の角度を算出する。動作904において、処理ロジックは、算出された角度に基づいて制御コマンドを生成し、ADVの移動方向を調整して、ADVが車線の車線方向に沿って車線内に維持されるようにする。
前記図示された構成要素の一部又は全部は、ソフトウェア、ハードウェア、又はこれらの組み合わせにより実現されることができる。例えば、これらの構成要素は、本明細書全体に記載されたプロセス又はステップを実行するためには、プロセッサ(図示せず)によってメモリにロードされて実行されることができる永続記憶装置にインストールされて記憶されるソフトウェアとして実現ことができる。代案として、これらの構成要素は、集積回路(例えば、特定用途向け集積回路又はASIC)、デジタル信号プロセッサ(DSP)又はフィールドプログラマブルゲートアレイ(Field programmable gate array、FPGA)のような専用のハードウェアにプログラムされたり内蔵された実行可能コードとして実現されることができ、これは、アプリケーションから対応するドライバ及び/又はオペレーティングシステムを介してアクセスすることができる。さらに、これらの構成要素は1つ以上の特定のコマンドを使用してソフトウェア構成要素によってアクセス可能なコマンドセットの一部としてプロセッサ又はプロセッサコアの特定のハードウェアロジックとして実現することができる。
図10は、本発明の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム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のような前記構成要素のいずれかを示してもよい。処理モジュール/ユニット/ロジック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」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリメモリ)を備える。
前記図面に示される手順又は方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非揮発性のコンピュータ可読記憶媒体に具現化される)、又は両方の組み合わせを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。

Claims (21)

  1. 自律走行車を動作させるためのコンピュータ実現方法であって、
    自律走行車(ADV)の車輪が前記ADVの走行している車線の縁に配置された車線縁石(lane curb)に転がり届く第1の時点を検出するステップと、
    前記ADVの車輪が前記車線の車線縁石から転がり外れる第2の時点を検出するステップと、
    前記ADVの現在速度を考慮して、前記第1の時点と前記第2の時点との間の差に基づいて、前記ADVの移動方向と前記車線の車線方向との間の角度を算出するステップと、
    前記ADVの移動方向を調整して、前記ADVが前記車線の車線方向からさらに大きく外れることを防止するように、前記角度に基づいて制御コマンドを生成するステップを含
    前記ADVの移動方向と前記車線の車線方向との間の角度を算出する前記ステップは、
    前記ADVが前記第1の時点から前記第2の時点まで移動する、前記車線の車線方向に垂直な距離を算出するステップと、
    前記第1の時点と前記第2の時点との間の差を考慮して、前記距離と前記ADVの現在速度とに基づいて前記角度を決定するステップとを含む、方法。
  2. 請求項に記載の方法であって、
    前記ADVが移動する前記車線の車線方向に垂直な距離を算出する前記ステップは、
    前記車輪の仕様に基づいて前記車輪の車輪幅を決定するステップと、
    前記車線縁石を感知する感知データに基づいて前記車線縁石の縁石幅を決定するステップとを含み、
    前記車線方向に垂直な距離は、前記車輪幅及び前記縁石幅に基づいて算出される、方法。
  3. 請求項に記載の方法であって、
    前記車線縁石を感知する前記感知データは、1つ以上のカメラによってキャプチャされた前記車線縁石の1つ以上の画像を含む、方法。
  4. 請求項1に記載の方法であって、
    前記車線縁石と接触する前記車輪は、前記車輪の付近に配置されたタイヤ圧力センサ又は動きセンサにより検出される、方法。
  5. 請求項1に記載の方法であって、
    前記車線縁石に転がり届く前記ADVの検出は、前記ADVの第1の車輪により検出され、
    前記車線縁石から転がり外れる前記ADVの検出は、前記ADVの第2の車輪により検出され、
    前記角度は、前記第1の車輪と前記第2の車輪との間の第1の距離と、前記ADVの現在速度を考慮して前記第1の時点と前記第2の時点との間の差に基づいて算出された第2の距離とに基づいて算出される、方法。
  6. 請求項に記載の方法であって、
    前記第1の距離及び前記第2の距離は、前記角度と正弦関係(sinusoidal relationship)にある、方法。
  7. 非一時的機械可読媒体であって、
    コマンドを記憶し、
    前記コマンドは、プロセッサによって実行されるとき、前記プロセッサに、自律走行車を動作させる動作を実行させ、
    前記動作は、
    自律走行車(ADV)の車輪が、前記ADVの走行している車線の縁に配置された車線縁石に転がり届く第1の時点を検出することと、
    前記ADVの車輪が前記車線の車線縁石から転がり外れる第2の時点を検出することと、
    前記ADVの現在速度を考慮して、前記第1の時点と前記第2の時点との間の差に基づいて、 前記ADVの移動方向と前記車線の車線方向との間の角度を算出することと、
    前記ADVの移動方向を調整して、前記ADVが前記車線の車線方向からさらに大きく外れることを防止するように、前記角度に基づいて制御コマンドを生成することと、を含み、
    前記ADVの移動方向と前記車線の車線方向との間の角度を算出することは、
    前記ADVが前記第1の時点から前記第2の時点まで移動する、前記車線の車線方向に垂直な距離を算出することと、
    前記第1の時点と前記第2の時点との間の差を考慮して、前記距離と前記ADVの現在速度とに基づいて前記角度を決定することと、を含む機械可読媒体。
  8. 請求項に記載の機械可読媒体であって、
    前記ADVが移動する前記車線の車線方向に垂直な距離を算出することは、
    前記車輪の仕様に基づいて前記車輪の車輪幅を決定することと、
    前記車線縁石を感知する感知データに基づいて前記車線縁石の縁石幅を決定することと、を含み、
    前記車線方向に垂直な距離は、前記車輪幅及び前記縁石幅に基づいて算出される、機械可読媒体。
  9. 請求項に記載の機械可読媒体であって、
    前記車線縁石を感知する前記感知データは1つ以上のカメラによってキャプチャされた前記車線縁石の1つ以上の画像を含む、機械可読媒体。
  10. 請求項に記載の機械可読媒体であって、
    前記車線縁石と接触する前記車輪は、前記車輪の付近に配置されたタイヤ圧力センサ又は動きセンサにより検出される、機械可読媒体。
  11. 請求項に記載の機械可読媒体であって、
    前記車線縁石に転がり届く前記ADVの検出は、前記ADVの第1の車輪により検出され、
    前記車線縁石から転がり外れる前記ADVの検出は、前記ADVの第2の車輪により検出され、
    前記角度は、前記第1の車輪と前記第2の車輪との間の第1の距離と、前記ADVの現在速度を考慮して前記第1の時点と前記第2の時点との間の差に基づいて算出された第2の距離とに基づいて算出される、機械可読媒体。
  12. 請求項11に記載の機械可読媒体であって、
    前記第1の距離と前記第2の距離は、前記角度と正弦関係にある、機械可読媒体。
  13. データ処理システムであって、
    プロセッサと、
    前記プロセッサに連接されてコマンドを記憶するためのメモリとを含み、
    前記コマンドは、前記プロセッサによって実行されるとき、前記プロセッサに動作を実行させ、
    前記動作は、
    自律走行車(ADV)の車輪が前記ADVの走行している車線の縁に配置された車線縁石に転がり届く第1の時点を検出することと、
    前記ADVの車輪が前記車線の車線縁石から転がり外れる第2の時点を検出することと、
    前記ADVの現在速度を考慮して、前記第1の時点と前記第2の時点との間の差に基づいて、前記ADVの移動方向と前記車線の車線方向との間の角度を算出することと、
    前記ADVの移動方向を調整して、前記ADVが前記車線の車線方向からさらに大きく外れることを防止するように、前記角度に基づいて制御コマンドを生成することと、を含み、
    前記ADVの移動方向と前記車線の車線方向との間の角度を算出することは、
    前記ADVが前記第1の時点から前記第2の時点まで移動する、前記車線の車線方向に垂直な距離を算出することと、
    前記第1の時点と前記第2の時点との間の差を考慮して、前記距離と前記ADVの現在速度とに基づいて前記角度を決定することとを含む、データ処理システム。
  14. 請求項13に記載のデータ処理システムであって、
    前記ADVが移動する前記車線の車線方向に垂直な距離を算出することは、
    前記車輪の仕様に基づいて前記車輪の車輪幅を決定することと、
    前記車線縁石を感知する感知データに基づいて前記車線縁石の縁石幅を決定することとを含み、
    前記車線方向に垂直な距離は、前記車輪幅及び前記縁石幅に基づいて算出される、データ処理システム。
  15. 請求項14に記載のデータ処理システムであって、
    前記車線縁石を感知する前記感知データは1つ以上のカメラによってキャプチャされた前記車線縁石の1つ以上の画像を含む、データ処理システム。
  16. 自律走行車を動作させるためのコンピュータ実現方法であって、
    自律走行車(ADV)の第1の車輪が前記ADVの走行している車線の縁に配置された車線縁石に接触する第1の時点を検出するステップと、
    前記ADVの第2の車輪が前記車線の車線縁石に接触する第2の時点を検出するステップと、
    前記ADVの現在速度を考慮して、前記第1の時点と前記第2の時点との間の差に基づいて、前記ADVの移動方向と前記車線の車線方向との間の角度を算出するステップと、
    前記ADVの移動方向を調整して、前記ADVが前記車線の車線方向からさらに大きく外れることを防止するように、前記角度に基づいて制御コマンドを生成するステップとを含む、方法。
  17. 請求項16に記載の方法であって、
    前記ADVの移動方向と前記車線の車線方向との間の角度を算出する前記ステップは、
    前記第1の車輪と前記第2の車輪との間の第1の距離を決定するステップと、
    前記ADVの現在速度を考慮して、前記第1の時点と前記第2の時点との間の差に基づいて、前記ADVが前記車線の車線方向に垂直に移動した第2の距離を決定するステップとを含み、
    前記角度は、前記第1の距離と前記第2の距離とに基づいて算出される、方法。
  18. 請求項17に記載の方法であって、
    前記角度は、前記第1の距離と前記第2の距離との正弦関係に基づいて算出される、方法。
  19. 請求項16に記載の方法であって、
    前記ADVの第1の車輪と第2の車輪とは、車軸を介してそれぞれ連結される、方法。
  20. 請求項16に記載の方法であって、
    前記車線縁石に接触する前記第1の車輪は、前記第1の車輪に関連する第1のタイヤ圧力センサ又は第1の動きセンサにより検出される、方法。
  21. 請求項20に記載の方法であって、
    前記車線縁石に接触する前記第2の車輪は、前記第2の車輪に関連する第2のタイヤ圧力センサ又は第2の動きセンサにより検出される、方法。
JP2018514878A 2017-04-19 2017-04-19 車線縁石補助による自律走行車の車線逸脱検出及び車線維持システム Active JP6700382B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/081057 WO2018191881A1 (en) 2017-04-19 2017-04-19 Lane curb assisted off-lane checking and lane keeping system for autonomous driving vehicles

Publications (2)

Publication Number Publication Date
JP2019522830A JP2019522830A (ja) 2019-08-15
JP6700382B2 true JP6700382B2 (ja) 2020-05-27

Family

ID=63854478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018514878A Active JP6700382B2 (ja) 2017-04-19 2017-04-19 車線縁石補助による自律走行車の車線逸脱検出及び車線維持システム

Country Status (6)

Country Link
US (1) US10365649B2 (ja)
EP (1) EP3612435A4 (ja)
JP (1) JP6700382B2 (ja)
KR (1) KR102042945B1 (ja)
CN (1) CN109195860B (ja)
WO (1) WO2018191881A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2564854B (en) * 2017-07-21 2020-06-24 Jaguar Land Rover Ltd Method and controller for providing a vehicle steering course
US20200174490A1 (en) * 2017-07-27 2020-06-04 Waymo Llc Neural networks for vehicle trajectory planning
US10699135B2 (en) * 2017-11-20 2020-06-30 Here Global B.V. Automatic localization geometry generator for stripe-shaped objects
JP6933986B2 (ja) * 2018-02-06 2021-09-08 ヴィオニア スウェーデン エービー 物標検出装置、物標検出方法及びプログラム
CN109711477B (zh) * 2018-12-29 2021-03-09 百度在线网络技术(北京)有限公司 一种自动驾驶模型的训练方法及装置
CN111457931B (zh) * 2019-01-21 2021-09-24 广州汽车集团股份有限公司 自动驾驶车辆的局部路径重规划控制方法、装置、系统及存储介质
CN109795477B (zh) 2019-02-22 2020-11-06 百度在线网络技术(北京)有限公司 消除稳态横向偏差的方法、装置及存储介质
DE102019003430B3 (de) * 2019-05-15 2020-06-04 Daimler Ag Verfahren zur Durchführung eines automatisierten oder autonomen Fahrbetriebs eines Fahrzeugs
US11927457B2 (en) 2019-07-10 2024-03-12 Deka Products Limited Partnership System and method for real time control of an autonomous device
WO2021075089A1 (ja) * 2019-10-15 2021-04-22 本田技研工業株式会社 車両検査システムおよび位置合わせ方法
US11385652B2 (en) 2019-11-18 2022-07-12 Fulian Precision Electronics (Tianjin) Co., Ltd. Method of controlling motion of mobile warning triangle and mobile warning triangle employing method
US11577758B2 (en) * 2020-01-03 2023-02-14 Baidu Usa Llc Autonomous vehicle park-and-go scenario design
JP7268612B2 (ja) * 2020-01-20 2023-05-08 トヨタ自動車株式会社 運転支援装置
DE102020200650A1 (de) * 2020-01-21 2021-07-22 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben einer automatisierten Spurführung eines Kraftfahrzeugs
CN113205703B (zh) * 2020-02-03 2023-04-14 奥迪股份公司 道路隔离带防撞的驾驶辅助系统和方法
US11854402B2 (en) 2020-07-10 2023-12-26 Here Global B.V. Method, apparatus, and system for detecting lane departure events based on probe data and sensor data
CN111896024A (zh) * 2020-07-24 2020-11-06 北京汽车股份有限公司 导航显示的控制方法、装置及ar-hud显示系统
CN112519773B (zh) * 2020-11-30 2022-08-05 南通路远科技信息有限公司 一种智能驾驶汽车的车道保持方法、装置及汽车
DE102020215962A1 (de) * 2020-12-15 2022-06-15 Volkswagen Aktiengesellschaft Assistenzsystem und Verfahren zur Vermeidung von Falschauslösungen einer Bankettfunktion

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7109850B2 (en) 2004-03-29 2006-09-19 Nissan Technical Center North America, Inc. Rumble strip responsive systems
JP2007296918A (ja) * 2006-04-28 2007-11-15 Nissan Motor Co Ltd 車線逸脱防止装置及び車両用前照灯制御装置
US8983765B2 (en) * 2006-10-11 2015-03-17 GM Global Technology Operations LLC Method and system for lane centering control
US7660669B2 (en) * 2007-03-28 2010-02-09 Nissan Technical Center North America, Inc. Lane departure avoidance system
US8428821B2 (en) * 2007-08-15 2013-04-23 Volvo Technology Corporation Operating method and system for supporting lane keeping of a vehicle
KR100956858B1 (ko) * 2009-05-19 2010-05-11 주식회사 이미지넥스트 차량 주변 영상을 이용하는 차선 이탈 감지 방법 및 장치
DE102009047373A1 (de) 2009-12-02 2011-06-09 Robert Bosch Gmbh Verfahren zur Aktivierung und/oder Ansteuerung von mindestens einer reversiblen Rückhalteeinrichtung
JP5835242B2 (ja) * 2013-02-01 2015-12-24 株式会社デンソー 車両用安全制御システム
JP5966965B2 (ja) * 2013-02-19 2016-08-10 株式会社デンソー 車線境界線逸脱抑制装置及び車線境界線逸脱抑制方法
US8948972B2 (en) 2013-03-01 2015-02-03 Nissan North America, Inc. Vehicle controlling system and method
JP5798658B1 (ja) * 2014-03-28 2015-10-21 富士重工業株式会社 車両の車線逸脱防止制御装置
JP6152069B2 (ja) * 2014-04-22 2017-06-21 本田技研工業株式会社 走行支援装置
US9403436B1 (en) * 2015-02-12 2016-08-02 Honda Motor Co., Ltd. Lane keep assist system having augmented reality indicators and method thereof
CN104859563B (zh) * 2015-05-28 2017-07-04 北京汽车股份有限公司 车道偏离预警方法和系统
WO2018176313A1 (en) 2017-03-30 2018-10-04 Baidu.Com Times Technology (Beijing) Co., Ltd. Deceleration curb-based direction checking and lane keeping system for autonomous driving vehicles

Also Published As

Publication number Publication date
JP2019522830A (ja) 2019-08-15
KR20180135846A (ko) 2018-12-21
EP3612435A4 (en) 2020-09-09
EP3612435A1 (en) 2020-02-26
US10365649B2 (en) 2019-07-30
WO2018191881A1 (en) 2018-10-25
US20180307234A1 (en) 2018-10-25
CN109195860A (zh) 2019-01-11
KR102042945B1 (ko) 2019-11-08
CN109195860B (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
JP6700382B2 (ja) 車線縁石補助による自律走行車の車線逸脱検出及び車線維持システム
JP6975512B2 (ja) 自動運転車両の周辺車両の挙動に基づくリアルタイム感知調整と運転調整
CN110667591B (zh) 用于自动驾驶车辆的规划驾驶感知系统
KR102062608B1 (ko) 자율 주행 차량의 제어 피드백에 기초한 맵 업데이트 방법 및 시스템
JP6689966B2 (ja) 減速縁石に基づく自律走行車の方向検出及び車線維持システム
JP6517891B2 (ja) 自律走行車用のグループ運転スタイル学習フレーム
US10289110B2 (en) Method to dynamically adjusting steering rates of autonomous vehicles
KR101975728B1 (ko) 자율 주행 차량을 위한 사이드슬립 보상 제어 방법
KR102260486B1 (ko) 자율 주행 차량의 완전 정지를 위한 속력 제어
JP6517897B2 (ja) 自律走行車用のバネシステムに基づく車線変更方法
KR101975725B1 (ko) 학습 기반 모델 예측 제어를 이용한 자율 주행 차량의 노면 마찰 결정 방법 및 시스템
CN110621541B (zh) 用于生成轨迹以操作自动驾驶车辆的方法和系统
JP2019182412A (ja) 自動運転車に用いられる自動データラベリング
JP6667688B2 (ja) 自動運転車両のための自己位置推定方法、システム及び機械可読媒体
EP3655298B1 (en) A tunnel-based planning system for autonomous driving vehicles
JP6543373B2 (ja) 自動運転車両に用いられる制御型の計画と制御システム
WO2020132959A1 (en) Spiral curve based vertical parking planner system for autonomous driving vehicles
US11221405B2 (en) Extended perception based on radar communication of autonomous driving vehicles
JP7017582B2 (ja) 自動運転車のトルクフィードバックに基づく車両縦方向自動キャリブレーションシステム
US11392140B2 (en) Two inertial measurement units and GPS based localization system for an autonomous driving truck

Legal Events

Date Code Title Description
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: 20190806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191024

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: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200430

R150 Certificate of patent or registration of utility model

Ref document number: 6700382

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