JP6757820B2 - 重み付け幾何学的コストを有する区分的螺旋曲線を使用した基準線平滑化方法 - Google Patents

重み付け幾何学的コストを有する区分的螺旋曲線を使用した基準線平滑化方法 Download PDF

Info

Publication number
JP6757820B2
JP6757820B2 JP2019041522A JP2019041522A JP6757820B2 JP 6757820 B2 JP6757820 B2 JP 6757820B2 JP 2019041522 A JP2019041522 A JP 2019041522A JP 2019041522 A JP2019041522 A JP 2019041522A JP 6757820 B2 JP6757820 B2 JP 6757820B2
Authority
JP
Japan
Prior art keywords
reference line
line segment
curvature
point
change
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
JP2019041522A
Other languages
English (en)
Other versions
JP2020001678A (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 USA LLC
Original Assignee
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 USA LLC filed Critical Baidu USA LLC
Publication of JP2020001678A publication Critical patent/JP2020001678A/ja
Application granted granted Critical
Publication of JP6757820B2 publication Critical patent/JP6757820B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • 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/0013Planning or execution of driving tasks specially adapted for occupant comfort
    • 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/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • 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/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • 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/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/006Interpolation; Extrapolation
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Optimization (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Description

本発明の実施態様は、主に自動運転車両を操作することに関する。より具体的には、本発明の実施態様は、自動運転車両の軌跡を操作するための基準線を生成することに関する。
自動運転モードで運転する(例えば、無人運転)車両は、乗員、特に運転者を運転にかかる役割の一部から解放することが可能である。自動運転モードで運転する場合に、車両は、車載センサを利用して各位置に案内されることにより、最少のヒューマンコンピュータインタラクションや乗員なしなどの状況で走行することができる。
運動計画及び制御は、自動運転の重要な操作である。具体的には、軌跡計画またはルート計画は、自動運転システムの重要な構成部分である。従来の計画技術は、高質量の自動運転車両用の案内経路である基準線、例えば道路の中心線に大きく依存して、安定的な軌跡を生成する。通常、直接的にセンサから取得する地図データ(通常に、世界座標系における二次元(2D)点列)が所要の平滑度を提供することができないとともに、直接的に地図データを使用することにより、計画部が計画周期同士の間で不安定で且つ振動する軌跡を生成するおそれがある。
本発明の一態様によれば、自動運転車両を操作するためのコンピュータで実施される方法であって、地図データを処理することにより、第1位置から第2位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を備える最適化パラメータを初期化することと、目標関数の出力が最小化されるとともに、前記基準線分に関連する1組の制約を満足するように、前記ルートの前記最適化パラメータを繰り返して最適化することと、最適化されたパラメータに基づいて、前記自動運転車両を前記第1位置から前記第2位置にガイドするための参照として使用される平滑基準線を生成することと、を備える方法を提供する。
本発明の他の態様によれば、命令が記憶されている非一時的機械可読媒体であって、前記命令がプロセッサにより実行される場合に、地図データを処理することにより、第1位置から第2位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を備える最適化パラメータを初期化することと、基準線分毎を定義する5次多項式関数に基づく目標関数の出力が最小化されるとともに、前記基準線分に関連する1組の制約を満足するように、前記ルートの前記最適化パラメータを最適化することと、最適化されたパラメータに基づいて、前記自動運転車両を前記第1位置から前記第2位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させる機械可読媒体を提供する。
本発明の更なる態様によれば、プロセッサと、前記プロセッサに接続されて命令を記憶するメモリとを備えるデータ処理システムであって、前記命令がプロセッサにより実行される場合に、地図データを処理することにより、第1位置から第2位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、基準線分毎の長さ、点毎の二次元座標、基準線分毎の方向、基準線分毎の曲率及び基準線分毎の曲率変化率の1つまたは複数を備える最適化パラメータを初期化することと、目標関数の出力が最小化されるとともに、前記基準線分に関連する1組の制約を満足するように、前記ルートの前記最適化パラメータを最適化することと、最適化されたパラメータに基づいて、前記自動運転車両を前記第1位置から前記第2位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させるデータ処理システムを提供する。
本発明の実施態様は図面の各図において限定的ではなく例示的に示され、図面において同一の参照符号が同様な素子を示す。
一部の実施態様にかかるネットワーク化システムを示すブロック図である。 一部の実施態様にかかる自動運転車両の例を示すブロック図である。 一部の実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。 一部の実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。 一実施態様にかかる計画モジュールの例を示すブロック図である。 一実施態様にかかる複数の基準線分に分割される基準線を示す。 一実施態様にかかる複数のサブセグメントにさらに分割される基準線分を示す。 一実施態様にかかる最初基準線及び最適化基準線を示す。 一実施態様にかかる基準線を最適化するためのプロセスの例を示すフローチャートである。 一実施態様にかかる基準線を最適化するためのプロセスの更なる例を示すフローチャートである。 一実施態様にかかる最適化パラメータを変更する例を示すフローチャートである。 一実施態様にかかるデータ処理システムを示すブロック図である。
以下、検討する詳細を参照しながら本発明の各実施態様及び局面を記載して、図面において前記各実施態様を示す。下記記載及び図面は、本発明を説明するためのものであり、本発明を限定するためのものとして解釈されるべきではない。特定の詳細を多く記載することは、本発明の各実施態様を完全に理解するためである。しかしながら、本発明の実施態様を簡潔的に検討するために、周知または通常の詳細を記載しない場合がある。
本明細書において「一実施態様」または「実施態様」を言及することは、当該実施態様によって説明される特定の特徴、構成や特性が本発明の少なくとも1つの実施態様に含まれることを意味する。「一実施態様では」という語句の本明細書における各箇所での記載のすべては、必ずしも同一の実施態様を指すことに限定されない。
一部の実施態様によれば、2D点列の形式となる地図データを使用して最小曲率変化を有する平滑で且つ区分的に接続される基準線を生成するための新規な制約付き数値最適化方法を利用する。2D点列を指定すると、システムは、まず任意の5次多項式による螺旋経路により連続点を接続する。それらの区分的経路を擾乱させることにより、システムを最適化させてそれらの経路の最適集合を見つけて、それらの経路は、全体として最小曲率変化を有するとともに、3次導関数が接合点で平滑的に接続するまで繰り返す。
5次多項式による螺旋経路は、区分的経路として使用されて、目標の作成を簡略化する。最適化の目的は、基準線に沿う曲率変化全体を最小化することにある。しかしながら、区分的経路が世界座標系(例えば、デカルト空間)で定義されると、目標の作成は極めて複雑になる。上記問題を解決するために、螺旋経路(即ち、曲線方向は曲線長さの関数である)が区分的経路として使用されることにより、目標の作成が容易になる。螺旋経路における点の座標は、数値積分により算出されることが可能である。また、ユーザは、その信頼水準に応じて地図データに対する「信頼」を定義する。「信頼」について、1つの入力点の最終出力における最大偏差を使用してモデリングすることが可能であり、且つ上記方法で直接に考えることが可能である。
一実施態様によれば、自動運転車両(ADV)に関連する第1位置から第2位置までの軌跡またはルートを表す第1基準線を受信する。第1基準線は、第1位置から第2位置までのルートに関連する地図データから生成される。第1基準線は、複数の基準線分に分割される。基準線分毎に5次多項式関数(単に5次関数ともいう)を定義することにより、対応する基準線分を表す。基準線分の5次多項式関数に基づいて目標関数を特定する。そして、基準線分に関連する1組の制約に照らして5次多項式関数のパラメータまたは係数を最適化することにより、目標関数の出力が最小化されるとともに、上記1組の制約を満足する。そして、目標関数の5次多項式関数の最適化されたパラメータまたは係数に基づいて第2基準線を生成する。そして、第2基準線を使用してADVに対して軌跡またはルートを計画する。
一実施態様では、目標関数は、すべての基準線分の5次多項式関数の出力全体の総和を示す。特定の実施態様では、基準線分の5次多項式関数の2次導関数の総和を参照して目標関数を構成する。上記1組の制約に照らして、基準線両端の基準線方向、曲率、曲率変化率及び基準線分の長さに基づいて基準線分毎の5次多項式関数の係数を特定する。一実施態様では、5次多項式関数のパラメータを最適化することは、5次多項式関数毎の係数を最適化して、5次多項式関数の出力が最小曲率変化を有するようにすることを含む。
一実施態様では、上記1組の制約は、基準線分の開始点での5次多項式関数の1次導関数が基準線分の開始点での曲率に類似するという条件をさらに含む。基準線分の終了点での5次多項式関数の1次導関数は、次の基準線分の開始点での曲率と同様または類似である。他の実施態様では、上記1組の制約は、基準線分の開始点での5次多項式関数の2次導関数が基準線分の開始点での曲率変化率に類似するという条件をさらに含む。基準線分の終了点での5次多項式関数の2次導関数は、次の基準線分の開始点での曲率変化率と同様または類似である。上記1組の制約は、第1基準線の端点と5次多項式関数から導出される相応的な端点との差分が所定の閾値よりも小さいという条件をさらに含み、上記閾値は、ユーザにより設置可能なものであってもよく、例えば、ADVのセンサに関連する信頼度または信頼水準に依存する。
図1は、本発明の一実施態様にかかる自動運転車両のネットワーク構成を示すブロック図である。図1を参照すると、ネットワーク構成100は、ネットワーク102を介して1つまたは複数のサーバ103〜104に対して通信可能に接続する自動運転車両101を備える。1つの自動運転車両のみを示すが、複数の自動運転車両は、ネットワーク102を介して相互に接続し、および/またはサーバ103〜104に接続可能である。ネットワーク102は、いずれのタイプのネットワークであってもよく、例えば、有線または無線のローカルエリアネットワーク(LAN)、インターネットのような広域ネットワーク(WAN)、セルラ網、衛星ネットワークまたはそれらの組み合せである。サーバ103〜104は、いずれの形式のサーバまたはサーバークラスタであってもよく、例えば、ネットワークサーバやクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはそれらの組み合せである。サーバ103〜104は、データ解析サーバやコンテンツサーバ、交通情報サーバ、地図・関心点(MPOI)サーバまたは位置サーバなどであってもよい。
自動運転車両とは、自動運転モードにある可能に配置される車両を指し、前記自動運転モードで、車両は、運転者からの入力が非常に少なく又は完全にない状況で環境を通過するように案内される。そのような自動運転車両は、車両運転環境に関する情報を検出可能に配置される1つまたは複数のセンサを有するセンサシステムを備えることが可能である。前記車両及びかかるコントローラは、検出された情報を使用して前記環境を通過するように案内される。自動運転車両101は、マニュアルモード、全自動運転モードまたは一部自動運転モードで運転することが可能である。
一実施態様では、自動運転車両101は、感知・計画システム110と、車両制御システム111と、無線通信システム112と、ユーザインタフェースシステム113と、センサシステム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は、例えば、ソナーセンサや赤外線センサ、操舵角センサ、スロットルセンサ、ブレーキセンサ、オーディオセンサ(例えば、マイクロフォン)などの他のセンサを備えることが可能である。オーディオセンサは、自動運転車両の周囲の環境から音声を収音するように配置可能である。操舵角センサは、ステアリングホイール、車両の車輪またはそれらの組み合せの操舵角を検知するように配置可能である。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を検知する。スロットルセンサ及びブレーキセンサは、集積式スロットル/ブレーキセンサに集積される場合もある。
一実施態様では、車両制御システム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に集積されてもよい。感知・計画システム110は、リアタイム交通情報、MPOI情報及び位置情報、並びにセンサシステム115により検出または検知されたリアタイムローカル環境データ(例えば、障害物、対象、周辺車両)に基づいて、最適ルートを計画して、計画したルートに応じて、例えば制御システム111を介して車両101を運転すること可能であり、これにより、安全で且つ効率よく指定の目的地に到達することができる。
サーバ103は、種々のユーザに対してデータ解析サービスを提供するデータ解析システムであってもよい。一実施態様では、データ解析システム103は、データ収集器121及び機械学習エンジン122を備える。データ収集器121は、種々の車両(自動運転車両または人間の運転者が運転する通常の車両)から運転統計データ123を収集する。運転統計データ123は、発行する運転命令(例えば、スロットル、ブレーキ、操舵命令)及び車両のセンサにより異なる時点で捕捉された車両の応答(例えば、速度、加速、減速、方向)を示す情報を含む。運転統計データ123は、異なる時点での運転環境を記述する情報、例えば、ルート(開始位置及び目的地位置を備える)、MPOI、道路状況、気候状況などをさらに含むことが可能である。
機械学習エンジン122は、運転統計データ123に基づいて、種々の目的で、1組のルール、アルゴリズムおよび/または予測モデル124を生成または学習する。例えば、初期係数またはパラメータで1組の5次多項式関数を選択して定義することが可能である。また、運転統計123から取得可能な、例えばセンサ仕様及び特定の車両設計のハードウェア特性に基づいて、1組の制約を定義することが可能である。
図3A及び図3Bは一実施態様にかかる自動運転車両とともに使用される感知・計画システムの例を示すブロック図である。システム300は、図1の自動運転車両101の一部として実現されることが可能であり、感知・計画システム110と、制御システム111と、センサシステム115とを備えるが、これに限定されない。図3A〜図3Bを参照すると、感知・計画システム110は、位置計測モジュール301と、感知モジュール302と、予測モジュール303と、決定モジュール304と、計画モジュール305と、制御モジュール306と、ルートモジュール307とを備えるが、これに限定されない。
モジュール301〜307の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合せにより実現されることが可能である。例えば、それらのモジュールは、永続的記憶装置352にインストールされて、メモリ351にローディングされ、且つ1つまたは複数のプロセッサ(図示せず)により実行されることが可能である。なお、それらのモジュールの一部または全部は、図2の車両制御システム111の一部または全部モジュールに対して通信可能に接続され、または集積される。モジュール301〜307の一部は、集積モジュールに集積されてもよい。
位置計測モジュール301は、自動運転車両300の現在位置(例えば、GPSユニット212による)を特定するとともに、ユーザの行程やルートに関するデータ全体を管理する。位置計測モジュール301(地図及びルートモジュールともいう)は、ユーザの行程やルートに関するデータ全体を管理する。ユーザは、例えばユーザインタフェースを介してログインして、行程の開始位置及び目的地を指定する。位置計測モジュール301は、自動運転車両300の地図・ルート情報311のような他の部材と通信して、行程に関するデータを取得する。例えば、位置計測モジュール301は、位置サーバと地図・POI(MPOI)サーバから位置・ルート情報を取得することが可能である。位置サーバが位置サービスを提供するとともに、MPOIサーバが地図サービス及び一部の位置のPOIを提供することにより、地図・ルート情報311の一部としてキャッシュされることが可能である。自動運転車両300がルートに沿って移動する際に、位置計測モジュール301は、交通情報システムまたはサーバからリアタイム交通情報を取得してもよい。
感知モジュール302は、センサシステム115により提供されるセンサデータ及び位置計測モジュール301により取得される位置計測情報に基づいて、周囲環境への感知を特定する。感知情報は、通常の運転者がその運転している車両の周囲から感知したものを示す。感知は、例えば対象式による車線配置(例えば、直線車線または湾曲車線)、信号機信号、他の車両の相対位置、歩行者、建物、横断歩道や他の交通に関する標識(例えば、止まれ標識、道譲れ標識)などを含むことが可能である。
感知モジュール302は、コンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことが可能であり、1つまたは複数カメラにより撮像された画像を処理して解析することにより、自動運転車両環境における対象および/または特徴を認識する。前記対象は、交通信号、道路境界、他の車両、歩行者および/または障害物などを含むことが可能である。コンピュータビジョンシステムは、対象認識アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することが可能である。一部の実施態様では、コンピュータビジョンシステムは、環境地図の描画、対象のトラッキングや、及び対象の速度の推定などを行うことが可能である。感知モジュール302は、レーダおよび/またはLIDARのような他のセンサにより提供される他のセンサデータに基づいて、対象を検出してもよい。
予測モジュール303は、対象毎に対して、対象が現在の場合にどのように動作するかを予測する。予測は、感知データに基づいて行われるものであり、当該感知データは、1組の地図/ルート情報311及び交通ルール312を考慮した時点で運転環境を感知したものである。例えば、対象が対向車両であり且つ現在運転環境が交差点を含むと、予測モジュール303は、車両が直進するか、または旋回するかを予測する。感知データは、交差点に信号機がないことを示すと、予測モジュール303は、車両が交差点に進入する前に完全に停車しなければいけない可能性がある、と予測することがある。感知データは、車両が現在で左折専用車線または右折専用車線にあることを示すと、予測モジュール303は、車両がそれぞれ左折または右折を行う可能性が高い、と予測することがある。
決定モジュール304は、対象毎に対して、どのように対象を対処するかを决定する。例えば、特定の対象(例えば、交差ルートにある他の車両)及び対象を記述するメタデータ(例えば、速度、方向、操舵角)に対して、決定モジュール304は、前記対象に行き合う時にどうのように動作するか(例えば、追い越し、一時停止、停止、越え)を決定する。決定モジュール304は、例えば交通ルールや運転ルール312のルール集合に基づいて、そのような决定を行うことが可能であり、前記ルール集合が永続的記憶装置352に記憶されることが可能である。
ルートモジュール307は、開始点から目的地点までの1つまたは複数のルートや経路を提供するように配置される。開始位置から目的地位置までの所定の行程について、例えばユーザから所定の行程を受信して、ルートモジュール307は、地図・ルート情報311を取得して、開始位置から目的地位置までのすべてのルートまたは経路を特定する。ルートモジュール307は、開始位置から目的地位置までの各経路を指定した地形図式の基準線を生成することが可能である。基準線とは、例えば、他の車両、障害物や交通状況などの影響を受けない、理想的なルートまたは経路である。即ち、道路には他の車両、歩行者や障害物がないと、ADVは、正確または厳密に基準線に追従すべきである。そして、地形図を決定モジュール304および/または計画モジュール305に供給する。決定モジュール304および/または計画モジュール305は、すべてのルートをチェックして、他のモジュールにより提供される他のデータに基づいて、最適ルートの1つを選択して補正する。前記他のデータは、例えば、自位置計測モジュール301からの交通状況、感知モジュール302により感知された運転環境及び予測モジュール303により予測された交通状況である。時点での特定の運転環境によっては、ADVを制御するための実際のルートまたは経路は、ルートモジュール307により提供される基準線に対して近接し、または相違する可能性がある。
感知された対象毎に対する决定に基づいて、計画モジュール305は、ルートモジュール307により提供された基準線を基にして、自動運転車両に対してルートまたは経路、及び運転パラメータ(例えば、距離、速度および/または旋回角度)を計画する。言い換えれば、所定の対象に対して、決定モジュール304は、当該対象が何をすべきかを決定する一方、計画モジュール305は、どのようにするかを決定する。例えば、所定の対象に対して、決定モジュール304は、前記対象を越えることを決定することが可能である一方、計画モジュール305は、前記対象の左側か右側かで越えることを決定することが可能である。計画・制御データは、計画モジュール305により生成されて、車両300が次の移動サイクル(例えば、次のルート/経路セグメント)でどのように移動するかを記述する情報を含む。例えば、計画・制御データは、車両300が30mphの速度で10メートル移動した後、25mphの速度で右側の車線に変更することを指示可能である。
計画・制御データに基づいて、制御モジュール306は、計画・制御データにより限定されるルートまたは経路に応じて、適当な命令または信号を車両制御システム111に発信することにより、自動運転車両を制御して運転する。前記計画・制御データは、ルートまたは経路に沿って、異なる時点で適当な車両配置または運転パラメータ(例えば、スロットル、ブレーキおよび操舵命令)を使用して車両をルートまたは経路の第1点から第2点に走行させるための充分な情報を含む。
一実施態様では、計画段階が複数の計画周期(命令周期ともいう)で実行され、例えば、それぞれの時間間隔が100ミリ秒(ms)である周期で実行される。計画周期または命令周期のそれぞれに対して、計画・制御データに基づいて1つまたは複数の制御命令を発行する。即ち、100ms毎に、計画モジュール305は、次のルートセグメントまたは経路セグメントを計画し、例えば、目標位置、及びADVが目標位置に到達するのに必要な時間を含む。その代わりに、計画モジュール305は、具体的な速度、方向および/または操舵角などを規定してもよい。一実施態様では、計画モジュール305は、次の所定の期間(例えば、5秒)に対してルートセグメントまたは経路セグメントを計画する。計画周期毎に、計画モジュール305は、前の周期で計画した目標位置に基づいて現在周期(例えば、次の5秒)のための目標位置を計画する。そして、制御モジュール306は、現在周期の計画・制御データに基づいて1つまたは複数の制御命令(例えば、スロットル、ブレーキ、操舵制御命令)を生成する。
なお、決定モジュール304と計画モジュール305とは、集積モジュールに集積されることが可能である。決定モジュール304/計画モジュール305は、自動運転車両の運転経路を決定するために、ナビゲーションシステムまたはナビゲーションシステムの機能を含むことが可能である。例えば、ナビゲーションシステムは、自動運転車両が最終目的地への車道に基づく経路に沿って前進すると同時に、感知した障害物を実質的に回避するような経路に沿って、自動運転車両が移動することを達成するための一連の速度及び前進方向を決定すること可能である。目的地は、ユーザインタフェースシステム113を介したユーザ入力に基づいて設定可能である。ナビゲーションシステムは、自動運転車両が運転していると同時に、動的に運転経路を更新することが可能である。ナビゲーションシステムは、GPSシステム及び1つまたは複数の地図からのデータを合併して、自動運転車両用の運転経路を決定することが可能である。
決定モジュール304/計画モジュール305は、自動運転車両の環境における潜在的な障害物を認識、評価して、回避しまたは他の方式で超えるために、衝突防止システムまたは衝突防止システムの機能を含むことが可能である。例えば、衝突防止システムは、制御システム111における1つまたは複数のサブシステムを操作することにより方向変更操作、操舵操作、ブレーキ操作などを取ることで、自動運転車両のナビ中の変化を実現することが可能である。衝突防止システムは、周囲の交通パターン、道路状況などに基づいて、自動的に実行可能な障害物回避操作を決定することが可能である。衝突防止システムは、自動運転車両が方向変更して進入しようとする隣接の領域に位置する車両、建物のような障害物などを他のセンサシステムが検出した際に、方向変更操作を取らないように、配置される可能である。衝突防止システムは、使用可能であるとともに自動運転車両の乗員の安全性を最大化する操作を自動的に選択することが可能である。衝突防止システムは、自動運転車両の車室内に最小限の加速度が発生するように予測される回避操作を選択することが可能である。
ルートモジュール307は、地図情報(例えば、道路区間の情報、道路区間の車道情報及び車線の縁石からの距離情報)から基準ルートを生成することが可能である。例えば、道路は、3つの道路区間を示すように、{A、B、C}区画やセグメントに分けられることが可能である。道路区間Aの3つの車線は、{A1、A2、A3}として挙げられる。基準ルートに沿う基準点を生成することにより基準ルートを生成する。例えば、車両車線に対して、ルートモジュール307は、地図データにより提供される車両車線の対向する2つの縁石や端点の中点を連結することが可能である。先に異なる時点で車両車線を走行する車両を示す、収集されたデータ点の中点及び機械学習データに基づいて、ルートモジュール307は、車両車線の所定近接度合い以内で収集されたデータ点の部分集合を選択して、収集されたデータ点の部分集合に基づく中点に対して平滑化関数を適用することで、基準点を算出することが可能である。
基準点または車線基準点に基づいて、ルートモジュール307は、基準点を補間することにより基準線を生成して、生成された基準線を車両車線上のADVを制御するための基準線として使用することが可能である。一部の実施態様では、基準線を表す基準点テーブル及び道路区間テーブルをリアタイムにADVにアップロードすることにより、ADVがADVの地理位置及び走行方向に基づいて基準線を生成可能である。例えば、一実施態様では、ADVは、到来予定の前方の道路区間を標識する経路セグメント識別子により、および/またはADVのGPS位置に基づいて、経路セグメント用のルーティングサービスを請求して基準線を生成する。経路セグメント識別子に基づいて、ルーティングサービスは、関心する道路区間のすべての車線用の基準点を含むADV基準点テーブルに戻ることが可能である。ADVは、経路セグメントの車線用の基準点を参照して、車両車線上のADVを制御するための基準線を生成することが可能である。
しかしながら、地図データから生成される基準線が充分に平滑ではなく、乗員に不快感を与え、または車両に制御エラーが発生してしまう場合もある。基準点を通過する基準線は充分に平滑ではないことがある。充分に平滑な基準線を有するために、基準点毎の前后の曲率が相互に近接すべきである。また、曲率変化率が低減すべきである。
一実施態様によれば、例えば、計画モジュール305は、2D点列の形式となる地図データを使用して最小曲率変化を有する平滑で且つセグメントで接続する基準線を生成するための新規な制約付き数値最適化方法を利用する。2D点列を指定すると、システムは、まず任意の5次多項式による螺旋経路で連続点を接続する。それらの区分的経路を擾乱させることにより、最適化システムはそれらの経路の最適集合を見つけて、それらの経路は、全体として最小曲率変化を有するとともに、3次導関数が接合点で平滑的に接続されるまで繰り返す。
5次多項式による螺旋経路は、区分的経路として使用されて、目標の作成を簡略化する。最適化の目的は、基準線に沿う曲率変化全体を最小化することにある。しかしながら、区分的経路が世界座標系(例えば、デカルト空間)で定義されると、目標の作成は極めて複雑になる。上記問題を解決するために、螺旋経路(即ち、曲線方向は曲線長さの関数である)が区分的経路として使用されることにより、目標の作成が容易になる。螺旋経路における点の座標は、数値積分により算出されることが可能である。また、ユーザは、その信頼水準に応じて地図データに対する「信頼」を定義する。「信頼」について、1つの入力点の最終出力における最大偏差を使用してモデリングすることが可能であり、且つ上記方法で直接に考えることが可能である。
図4は、一実施態様にかかる計画モジュールの例を示すブロック図である。図4を参照すると、計画モジュール305は、セグメント手段401と、5次関数生成手段402と、目標関数生成手段403と、最適化手段404と、基準線生成手段405とを備えるが、これに限定されない。そられのモジュール401〜405は、ソフトウェア、ハードウェアまたはそれらの組合せにより実施されることが可能である。セグメント手段401は、第1基準線を複数の基準線分に分割するように配置される。5次関数生成手段402は、基準線分毎に対して、5次多項式関数を定義して生成することにより、対応する基準線分を表すように配置される。目標関数生成手段403は、基準線分の5次多項式関数に基づいて目標関数を生成するように配置される。5次多項式関数および/または目標関数は、予めに関数314の一部として配置して記憶されることが可能である。最適化手段404は、計画モジュール305の制約生成手段(図示せず)により制約313の一部として配置される1組の制約に照らして、目標関数を最適化することにより目標関数を最小にするように、配置される。基準線生成手段405は、最適化に基づいて(即ち、最適化された目標関数のパラメータまたは係数を用いて)、第2基準線を生成するように配置される。最適化の目的の1つは、第2基準線を表すための、第1基準線の相応的な最初基準点に近接するとともに基準線分間の曲率変化や変化率を最小に維持する1組の新たな基準点を決定することにある。小さい曲率変化により、平滑な基準線になる。
図5は、地図データに基づいて生成される基準線の例を示す図である。図5を参照すると、一実施態様によれば、セグメント手段401は、基準線500を複数の基準線分に分割する。各基準線分は、2つの基準点により終了される。この例では、n個の基準点(x0,y0)、(x1,y1)、……、(xn,yn)が存在して、本明細書では、基準線分501〜506という。基準線分毎は、線分長さsに関連する。例えば、基準点(x0,y0)(x1,y1)間の基準線分は、線分長さs0に関連する。よって、n個基準点に対して、(n−1)個の基準線分が存在する。個別の5次多項式関数を使用して基準線分毎に対してモデリングを行う。
5次関数生成手段402は、基準線分毎に対して5次多項式関数θ(s)を生成する。よって、少なくとも(n−1)個の5次多項式関数θ0(s)〜θn−1(s)が存在する。一実施態様では、5次多項式関数のそれぞれは、対応する基準線分の開始基準点の方向を表す。5次多項式関数の導関数(例えば、1次導関数)は、基準線分の開始基準点の曲率を表して、K=dθ/dsで示す。5次多項式関数の2次導関数は、曲率変化または曲率変化率を表して、dK/dsで示す。
説明のために、下記の各項目を定義する。
セグメント螺旋経路毎は、開始方向(θ0)と、開始曲率(dθ0)と、開始曲率導関数(d2θ0)と、終了方向(θ1)と、終了曲率(dθ1)と、終了曲率導関数(d2θ1)と、開始点と終了点との間の曲線長さ(Δs)という7つのパラメータにより規定される。一実施態様では、5次多項式関数は下記の式(1)で定義されることが可能である。
且つ、下記の式(2)〜(7)を満足する。
上記制約に基づいて、すべての基準線分の5次多項式関数全体に対して最適化を行ことにより、ゼロセグメント長さでの基準線分(i)を表す5次多項式関数の出力は、対応する基準線分(i)の開始基準点での方向に一致または類似すべきである。5次多項式関数の1次導関数は、基準線分(i)の開始基準点での曲率に一致または類似すべきである。5次多項式関数の2次導関数は、基準線分(i)の開始基準点での曲率変化率に一致または類似すべきである。
同様に、完全セグメント長さ(s)での基準線分(i)を表す5次多項式関数の出力は、現在基準線分(i)の終了基準点である次の基準線分(i+1)の開始基準点での方向に一致または類似すべきである。5次多項式関数の1次導関数は、次の基準線分(i+1)の開始基準点での曲率に一致または類似すべきである。5次多項式関数の2次導関数は、次の基準線分(i+1)の開始基準点での曲率変化率に一致または類似すべきである。
例えば、図5に示す基準線分501については、対応する5次多項式関数θ(0)の出力は、開始点(x0,y0)の方向または角度を表す。θ(Δs0)は、次の基準線分502の開始点である終了点(x1,y1)の方向を表す。θ(0)の1次導関数は、開始点(x0,y0)での曲率を表すとともに、θ(0)の2次導関数は、終了点(x1,y1)での曲率変化率を表す。θ(s0)の1次導関数は、終了点(x1,y1)の曲率を表すとともに、θ(s0)の2次導関数は、終了点(x1,y1)の曲率変化率を表す。
上記変数
を代入することにより、5次多項式関数の係数a、b、c、d、e及びfを解くための6つの式が存在する。例えば、上述したように、所定点での方向は、上記5次多項式関数により定義されることが可能である。
θ(s)=as5+bs4+cs3+ds2+es+f (8)
5次関数の1次導関数は、経路における点での曲率を表す。
dθ=5as4+4bs3+3cs2+2ds+e (9)
5次関数の2次導関数は、経路における点での曲率変化率を表す。
2θ=20as3+12bs2+6cs+2d (10)
所定の螺旋経路または基準線分については、開始点と終了点という2つの点に関し、各点の方向、曲率及び曲率変化率は、それぞれ上記式(8)〜(10)で表すことが可能である。よって、螺旋経路毎または基準線分毎に、合計6つの式が存在する。それら6つの式は、対応する5次関数の係数a、b、c、d、e及びfの特定に適用可能である。
螺旋経路がデカルト空間における連続基準点間の曲線を表すと、螺旋経路曲線長さとデカルト空間における位置との間の関連付けやブリッジを確立する必要がある。{θi,dθi,d2θi,θi+1,dθi+1,d2θi+1,Δs}により定義される螺旋経路θi(s)及び経路開始点pi=(xi,yi)が与えられており、点p=(x,y)の座標を特定する必要があり、ここで、いずれのs=[0,Δs]とする。一実施態様では、所定点の座標は、下記の式(11)〜(12)により得られる。
s=Δsであると、曲線θi及び開始座標pi=(xi,yi)を指定して、終了座標pi+1が得られる。5次関数の最適化を行うことにより、螺旋経路の5次関数の全体出力が最小になるとともに、上記1組の制約を満足する。また、最適化により導出された終点の座標が初期基準線の対応座標に対して所定の範囲(例えば、公差、許容誤差)内にあることを求める。つまり、最適化された各点と初期基準線の対応点との間の差分は、所定の閾値内にあるべきである。
一実施態様によれば、すべての螺旋経路の5次関数に基づいて目標関数を定義する。上記制約を満足するとともに、目標関数の5次関数の入力パラメータ(例えば、
)を最適化する。一実施態様では、目標関数は、すべての基準線分に関連する5次関数全体の総和を表して、最適化されることにより、目標関数の出力が最小になるとともに、上記1組の制約を満足する。今回の繰り返しの目標関数の出力が前回の繰り返しの目標関数の出力に類似するまで、最適化を繰り返して、変数を補正するとともに、前記1組の制約を評価する。ここで「類似」という用語とは、2回の連続繰り返しの出力間の差分が所定の閾値によりも低いことを指す。
そのような方法では、基準線を区分的5次螺旋経路列にモデリングして、図5に示すように、2つの連続する基準点が1本の螺旋経路に接続される。入力点がユーザにより定義または配置される1つまたは複数の所定限界内でその最初位置から少しずれることを許容する。前記限界は、地図データが生成される際にセンサ精度の信頼水準や処理標識誤差などをモデリングする。一実施態様では、n個の点
を指定して、以下のように最適化処理における変数を選択する。
基準線の平滑度は、曲率変化率(即ち、5次関数θ(s)の2次導関数)の絶対値としてモデリングされる。
一実施態様によれば、基準線分毎は、複数のサブセグメントに分割される。サブセグメントのそれぞれは、基準線分の区分的経路における区分的サブ経路を表す。図6は、m個のサブセグメントに更に区画される基準線分のセグメントの図を示す。サブセグメントのそれぞれは、同一基準線分の5次関数で示す。よって、1本の区分的経路からのm個の中間点をプローブ点とすることがある。その目的は、サブセグメントの5次関数を最小化することにある。目標関数は、基準線分毎のサブセグメントの5次関数の出力の総和として定義される。一実施態様では、目標関数は、下記の式(13)で定義される。
下記の式(14)で示す点位置移動制約を受ける。
一実施態様では、目標関数は、下記の式(15)で定義される。
ただし、iは螺旋経路/線分のインデックスであり、jは相応的な螺旋経路iにおける評価点のインデックスであり、ω0、ω1及びω2は重み付けであって、例えば経験により決定されることが可能である。θ(s)は、線分の関数、例えば、5次関数θ(s)=as5+bs4+cs3+ds2+es+fであり、すべての線分の総和により基準線全体が形成される。sjは、インデックスjでの線分の点である。θ’(s)は、線分の1次導関数である。θ’’(s)は、線分の2次導関数であり、Δsiは線分iの長さである。
曲率(例えば、線分の5次関数の1次導関数)と曲線の長さとを加算することにより、不要な曲線長さが不利になるとともに、毎本の曲線をできるだけ直線化する。
一実施態様では、目標関数は、下記の式(16)で定義される。
ただし、θ’’’(s)は、線分毎の関数の3次導関数(例えば、θ(s)は5次関数である)である。これにより、更に、不要な曲線長さが不利になるとともに、毎本の曲線をできるだけ直線化する。
一実施態様では、線分毎は5次関数θ(s)=as5+bs4+cs3+ds2+es+fとして定義されて、線分関数の導関数はセグメントの曲率を定義するとともに、線分関数の2次導関数は曲率の変化率を定義する。
一実施態様では、目標関数は、各5次多項式関数の2次導関数の2乗和を表す。
は入力点piの最初位置を表すとともに、riは点pi用の限界であって、ユーザにより配置可能である。上述したように、座標(xi,yi)は、対応する5次関数の積分に基づいて導出されるものである。最適化により導出された新座標は、ADVを制御するための新基準線の形成に用いられる。図7は、最初基準線及び上記最適化による少なくとも一部の最適化基準線を示す。
図8は、一実施態様にかかる基準線を最適化するためのプロセスの例を示すフローチャートである。プロセス800は、ソフトウェア、ハードウェアまたはそれらの組み合せを含む処理ロジックにより実行されることが可能である。例えば、プロセス800は、図4の計画モジュール305により実行されることが可能である。図8を参照すると、操作801において、処理ロジックは、地図データに基づいて生成される第1基準線を受信する。第1基準線は、第1位置から第2位置までの軌跡またはルートを表し、ADVは、前記軌跡またはルートに従うべきである。操作802において、処理ロジックは、第1基準線を複数の基準線分に分割する。基準線分のぞれぞれは、開始基準点及び終了基準点により終了される。基準点のそれぞれは、1組の属性で示して、属性が基準点の2Dデカルト空間における位置(x,y)及び方向(θ)を含むが、これに限定されない。基準点での曲率Kは、方向(θ)の導関数に基づいて得られるとともに、曲率変化率は、曲率Kの導関数に基づいて得られる。
基準線分毎に対して、操作803において、処理ロジックは、対応する基準線分を表すための5次多項式関数を特定する。操作804において、処理ロジックは、基準線分の5次多項式関数に基づいて目標関数を特定する。操作805において、処理ロジックは、1組の制約(例えば、θ、dθ、d2θ、x、yの制約)に照らして目標関数の5次多項式関数のパラメータを最適化することにより、前記1組の制約を満足するとともに、目標関数の出力が最小になる。操作806において、目標関数の5次多項式関数の最適化されたパラメータに基づいて第2基準線を生成する。第2基準線は、ADVの制御に用いられる。
最適化の実行際に、複数回の繰り返しにおいて5次多項式関数のパラメータ(例えば、係数a、b、c、d、e及びf)を繰り返して調整、最適化するとともに、目標関数の出力を評価する。基準線分毎の入力点(例えば、x、y、方向、曲率及び曲率変化率)に基づいて前記パラメータを配置する。その目的は、5次多項式関数毎の位置(x,y)、方向、曲率及び曲率変化率を最適化することにより、目標関数の出力が最小になることである。最適化して所定の退出条件になると、前記プロセスが停止するとともに、最新の1組のパラメータを取得して新基準線を生成する。一実施態様では、2回の連続する最適化の繰り返しの出力間の差分が所定閾値よりも低くなると、繰り返しプロセスが停止する。または、繰り返し回数が所定の回数になると、前記プロセスが停止する。
図9を参照すると、処理910において、自動運転車両(ADV)および/またはADV内のシステムは、地図データを処理することにより、第1位置から第2位置までのADVルートに沿って基準線を定義する複数の点を生成することが可能であり、それぞれの点が二次元座標を有し、且つ連続点対毎が基準線に沿って基準線分を生成する。次に、ADVは、最適化パラメータ、例えば、基準線分毎の長さ、点毎の二次元座標、基準線分毎の方向、基準線分毎の曲率及び基準線分の曲率変化率の1つまたは複数を初期化することが可能である。
例えば、初期化処理920において、最適化パラメータを初期化することは、基準線分毎の長さを連続点間の距離に初期化することと、点毎の二次元座標を地図データからの初期生成座標に初期化することと、基準線分毎の方向を2つの連続点間の逆接線方向に初期化することと、基準線分毎の曲率をゼロに初期化することと、基準線毎の変化率をゼロに初期化することと、を含むことが可能である。言い換えれば、線分毎は、直線に初期化されることが可能である(曲線がない)。
最適化処理930において、ADVは、ルートの最適化パラメータを最適化することにより、目標関数の出力が最小化されるとともに、基準線分に関連する1組の制約を満足するようにすることが可能である。例えば、基準線分毎は、5次多項式関数により定義されることが可能であるとともに、目標関数は、5次多項式関数及び最適化パラメータに基づくことが可能である。
一実施態様では、最適化パラメータを変更することにより、基準線分の開始点での5次多項式関数の出力が基準線分の開始点でのADVの方向に類似するとともに、基準線分の終了点での5次多項式関数の出力が次の基準線分の開始点でのADVの方向に類似するようにすることが可能である。
一実施態様では、前記1組の制約は、5次多項式関数の基準線分の開始点での1次導関数が基準線分の開始点での曲率に類似するとともに、5次多項式関数の基準線分の終了点での1次導関数が次の基準線分の開始点での曲率に類似するという条件を含む。
生成処理940において、ADVは、最適化されたパラメータに基づいて、ADVを第1位置から第2位置にガイドするための基準として使用される平滑基準線を生成することが可能である。例えば、ADVは、最適化された変数に基づいて線分毎の5次関数θ(s)の係数a〜fのそれぞれを算出するとともに、平滑基準線を生成することが可能である。平滑基準線は、線分毎の最適化された5次関数に従って、新たな座標を有する新たな点から形成されることが可能である。
一実施態様では、目標関数は、基準線分毎の曲線長さと、基準線分毎の曲率(例えば、線分を定義する5次関数の導関数)の2乗と、基準線分毎の曲率の変化率(例えば、曲率の導関数)の2乗との総和を含むことが可能である。
一実施態様では、目標関数は、基準線分毎の曲線長さと、基準線分毎の曲率(例えば、線分を定義する5次関数の導関数)の2乗と、基準線分毎の曲率の変化率(例えば、曲率の導関数)の2乗と、基準線分毎の曲率の変化率の導関数の2乗との総和を含むことが可能である。
図10を参照すると、一実施態様では、前記最適化パラメータを最適化することは、変更処理932において、最適化パラメータを変更することにより、目標関数の出力を最小化することを含む。例えば、目標関数が下記の式(17)で定義されると、最適化パラメータを変更することにより、目標関数が出力する値を減少する。
次に、評価処理934において、ADVは、点偏差が偏差閾値内にあるかを評価することが可能である。例えば、初期化の際または地図データから生成する際に、例えば、特定点の座標の前記特定点の初期座標からの変化により点偏差を定義することが可能である。点偏差が偏差閾値を越えると、ADVは、目標関数の出力が最小化されるとともに、点偏差が偏差閾値内にあるまで、最適化パラメータを繰り返して変更することが可能である。例えば、前の変更のように異なる方向に前記最適化パラメータを変更すること、および/または異なるステップサイズで前記最適化パラメータを変更することにより、点偏差を減少することが可能である。
例えば、点偏差は、地図データまたは地図データを生成するセンサの信頼性および/または信頼度に基づく所定の閾値であることが可能である。
目標関数における各項(例えば、曲線長さ、曲率の2乗、曲率変化率の2乗及び曲率変化率の導関数の2乗)に対して重み付けを行う。
なお、上記のように記載された部材の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合せにより実現されることが可能である。例えば、そのような部材は、永続的記憶装置にインストールして記憶されるソフトウェアとして実現されることが可能であり、前記ソフトウェアがプロセッサ(図示せず)によりメモリにローディングされて、メモリで実行されることで、本発明に記載のプロセスや操作を実施する。その代わりに、そのような部材は、専用ハードウェア(例えば、集積回路(例えば、特定用途向け集積回路(ASIC)、デジタルシグナルプロセッサ(DSP)またはフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされ、又は組み込まれる、実行可能なコードとして実現されてもよく、前記実行可能なコードが、アプリケーションからの相応的なドライバおよび/またはオペレーティングシステムを介してアクセス可能である。また、そのような部材は、プロセッサまたはプロセッサコアにおける特定ハードウェアロジックとして実現されることが可能であり、ソフトウェア部材が1つまたは複数の特定命令によりアクセス可能な命令セットの一部とされる。
図11は、本発明の一実施態様とともに使用可能なデータ処理システムの例を示すブロック図である。例えば、システム1500は、上述のように上記プロセスまたは方法のいずれか1つを実行する任意のデータ処理システム、例えば、図1の感知・計画システム110またはサーバ103〜104のいずれか1つを示す。システム1500は、様々の部材を備えることが可能である。それらの部材は、集積回路(IC)、集積回路の一部、別体の電子デバイスや回路基板(例えば、コンピュータシステムのマザーボードまたは挿入カード)に適用される他のモジュールとして実現され、又は、他の方式でコンピュータシステムのラックに組み込まれる部材として実現されることが可能である。
なお、システム1500は、コンピュータシステムの多くの部材の上位図を示すためである。しかしながら、一部の実施例では、付加部材を有してもよく、また、他の実施例では、図示する部材と異なるレイアウトを有してもよいこと、を理解すべきである。システム1500は、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、サーバ、携帯電話、メディアプレイヤ、携帯情報端末(PDA)、スマートウォッチ、パーソナル通信機器、ゲーム装置、ルータやハブ機器、アクセスポイント(AP)やリピーター、セットトップボックス、またはそれらの組み合せを示すことが可能である。また、単一の機器またはシステムのみを示すが、「機器」または「システム」という用語は、1つ(または複数)の命令セットを個別または一緒に実行することにより、本明細書で検討するいずれかの1種または複数種の方法を実行する機器またはシステムの集合のいずれを含むことを、理解されるべきである。
一実施態様では、システム1500は、バスまたはインターコネクト1510を介して接続されるプロセッサ1501、メモリ1503及び装置1505〜1508を含む。プロセッサ1501は、単一のプロセッサコア、または複数のプロセッサコアの1つのプロセッサや複数のプロセッサを含むことを表すことが可能である。プロセッサ1501は1つまたは複数の汎用プロセッサ、例えば、マイクロプロセッサ、中央処理ユニット(CPU)などを表すことが可能である。より具体的には、プロセッサ1501は、複合命令セットコンピュータ(CISC)方式のマイクロプロセッサ、縮小命令セットコンピュータ(RISC)方式のマイクロプロセッサ、VLIW(Very Long Instruction Word)型マイクロプロセッサや他の命令セットを実施するプロセッサ、または命令セットの組み合せを実施するプロセッサであってもよい。プロセッサ1501は、1つまたは複数の専用プロセッサ、例えば、特定用途向け集積回路(ASIC)、セルラやベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込み用途向けプロセッサ、または命令を処理可能な他のロジックのいずれであってもよい。
プロセッサ1501(低パワーマルチコアプロセッサジャケットインタフェース、例えば超低電圧プロセッサであってもよい)は、前記システムの種々の部材と通信するためのメイン処理ユニット及び中央ハブとされることが可能である。そのようなプロセッサは、オンチップシステム(SoC)として実現されることが可能である。プロセッサ1501は、本明細書で検討する操作及びステップを実行するための命令を実行するように配置される。システム1500は、選択可能なグラフィックサブシステム1504と通信可能なグラフィックインタフェースを更に含み、グラフィックサブシステム1504が、表示制御部、グラフィックプロセッサおよび/または表示装置を備えることが可能である。
プロセッサ1501は、メモリ1503と通信可能であり、一実施態様では、メモリ1503が所定量のシステム用の記憶を提供するように、複数のメモリ装置により実現されることが可能である。メモリ1503は、1つまたは複数の揮発性記憶(またはメモリ)装置、例えば、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)または他のタイプの記憶装置を含むことが可能である。メモリ1503は、プロセッサ1501または他の装置により実行される命令列を含む情報を記憶可能である。例えば、種々のオペレーティングシステム、デバイスドライバ、ファームウェア(例えば、入出力基本システムまたはBIOS)および/またはアプリケーションの実行コードおよび/またはデータは、メモリ1503にローディングされてプロセッサ1501により実行されることが可能である。オペレーティングシステムは、いずれのタイプのオペレーティングシステム、例えば、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)社のWindows(登録商標)オペレーティングシステム、アップル社のMAC OS(登録商標)/IOS(登録商標)、Google(登録商標)社のAndroid(登録商標)、LINUX(登録商標)、UNIX(登録商標)、または他のリアタイムや組み込みオペレーティングシステムであってもよい。
システム1500は、IO装置、例えばネットワークインタフェース装置1505、選択可能な入力装置1506及び他の選択可能なIO装置1507を含む装置1505〜1508をさらに備えることが可能である。ネットワークインタフェース装置1505は、無線送受信器および/またはネットワークインタフェースカード(NIC)を含むことが可能である。前記無線送受信器は、WiFi送受信器、赤外線送受信器、ブルートゥース(登録商標)送受信器、WiMax送受信器、無線携帯電話送受信器、衛星送受信器(例えば、全地球測位システム(GPS)送受信器)や他の無線周波数(RF)送受信器、またはそれらの組み合せであってもよい。NICは、イーサネット(登録商標)カードであってもよい。
入力装置1506は、マウス、タッチパネル、タッチスクリーン(表示装置1504に集積されることが可能である)、ポインティングデバイス(例えば、スタイラスペン)および/またはキーボード(例えば、物理的なキーボードまたはタッチスクリーンの一部として表示される仮想的なキーボード)を含むことが可能である。例えば、入力装置1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含むことが可能である。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチセンシティブ技術(容量、電気抵抗、赤外線及び弾性表面波技術を含むが、これに限定されない)のいずれか1種、及び他の近接センサアレイまたはタッチスクリーンに接触する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は、上記部材のいずれか1つ、例えば計画モジュール305、制御モジュール306を表すことが可能である。また、処理モジュール/ユニット/ロジック1528は、データ処理システム1500、メモリ1503及びプロセッサ1501により実行されている期間で、全部または少なくとも一部が機械アクセス可能な記憶媒体を構成するメモリ1503および/またはプロセッサ1501に貯留されることが可能である。更に、処理モジュール/ユニット/ロジック1528は、ネットワークによりネットワークインタフェース装置1505を介して伝送または受信を行うことが可能である。
コンピュータ可読記憶媒体1509は、上述した一部のソフトウェア機能を永続的に記憶することが可能である。コンピュータ可読記憶媒体1509は、例示的な実施態様では単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記1つまたは複数の命令セットを記憶する単一の媒体または複数の媒体(例えば、集中または分散データベースおよび/または関連するキャッシュメモリ及びサーバ)を含む、と考えられる。「コンピュータ可読記憶媒体」という用語は、機械により実行されるとともに、前記機械が本発明のいずれの1種または複数種の方法を実行させる命令セットを記憶またはコーディング可能ないずれの媒体を含む、と考えられる。よって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、光学媒体及び磁気媒体、または他の永続的機械可読媒体のいずれを含むが、これに限定されない、と考えられる。
本明細書に記載の処理モジュール/ユニット/ロジック1528、部材及び他の特徴は、個別ハードウェア部材とされ、またはハードウェア部材(例えば、ASICS、FPGA、DSPまたは同様な装置)の機能に集積されるように、実現可能である。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェアまたは機能回路として実現されることが可能である。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア部材とのいずれの組み合せにより実現されることが可能である。
なお、システム1500は、データ処理システムの種々の部材を備えるように示されるが、部材を相互に接続する特定の構成または態様を示すためではない。よって、そのような詳細は、本発明の実施態様と密接な関係がない。さらに、より少ない部材またはより多い部材を有するネットワークコンピュータ、ハンディコンピュータ、携帯電話、サーバおよび/または他のデータ処理システムも、本発明の実施態様とともに使用可能であることを、認識すべきである。
詳細に記載した前記内容の一部は、既にコンピュータメモリで行われるデータビットの演算のアルゴリズム及び符号表示に応じて表現された。それらのアルゴリズムの記載及び表示は、データ処理分野での技術者が使用する方式であり、技術者らの実質的な動作を効率よく本分野での他の技術者に伝達するためである。本明細書では、アルゴリズムは、通常に所望の結果を達成する自律操作シーケンスとして考えられる。それらの操作とは、物理量を物理的に操作する必要がある操作である。
ところで、そられの用語及びその類似する用語のすべては、適当な物理量に関連するためであり、且つ単にそれらの物理量を便利に表記することに適用されることはいうまでもない。以上の検討において他の態様で明確に限定しない限り、明細書全体では、用語(例えば、添付した特許請求の範囲に記載の用語)により検討されることは、コンピュータシステムのレジスタ及びメモリでの物理(電子)量として表示されるデータを操作して、前記データをコンピュータシステムメモリやレジスタ、または他の情報記憶装置、伝送装置や表示装置での同様に物理量として表示される他のデータを変換するコンピュータシステムや類似する電子計算装置の動作及び処理である。
本発明の実施態様は、本明細書における操作を実行するためのデバイスにさらに関する。そのようなコンピュータプログラムは、永続的コンピュータ可読媒体に記憶されている。機械可読媒体は、機械(例えば、コンピュータ)可読態様で情報を記憶するための機構全体を含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置)を含む。
前記図面に記載のプロセスや方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、永続的コンピュータ可読媒体で体現される)またはそれらの組み合せを含む処理ロジックにより実行されることが可能である。前記プロセスや方法は、上記の内容において一部の順序操作に基づいて記載されるが、前記操作の一部が異なる順序で実行されてもよいことを、理解すべきである。また、一部の操作は、順序に実行されることではなく、並列に実行されてもよい。
本発明の実施態様は、いずれの特定のプログラミング言語を参照して記載されることではない。複数種のプログラミング言語を使用して本明細書に記載の本発明の実施態様の教示を実施可能であることを、理解すべきである。
以上の明細書では、本発明の具体的な実施態様を参照して本発明の実施態様を記載した。添付した特許請求の範囲に記載の本発明の更なる広い要旨及び範囲を逸脱しない限り、本発明を様々な形態で変形可能であることが、明らかである。したがって、明細書および図面は、制限的な意味ではなく、例示的な意味で理解されるべきである。

Claims (21)

  1. 自動運転車両を操作するためのコンピュータで実施される方法であって、
    地図データを処理することにより、第1位置から第2位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
    基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を含む最適化パラメータを初期化することと、
    目標関数の出力が最小化されるとともに、前記基準線分に関連する1組の制約を満足するように、前記ルートの前記最適化パラメータを繰り返して変更することにより、前記最適化パラメータを最適化することと、
    最適化されたパラメータに基づいて、前記自動運転車両を前記第1位置から前記第2位置にガイドするための基準として使用される平滑基準線を生成することと、を備える方法。
  2. 前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の2乗と、基準線分毎の前記曲率の前記変化率の2乗との総和を含む請求項1に記載の方法。
  3. 基準線分毎の前記曲線長さ、前記基準線分の前記曲率の2乗及び前記基準線分の前記曲率の前記変化率の2乗は、重み付けられる請求項2に記載の方法。
  4. 前記目標関数は、基準線分毎の前記曲率の前記変化率の導関数の2乗の総和をさらに含む請求項2に記載の方法。
  5. 前記最適化パラメータを最適化することは、
    前記目標関数の前記出力を最小化するように、前記最適化パラメータを変更することと、
    特定点の座標の前記特定点の初期座標からの変化により定義される点偏差が偏差閾値内にあるかを評価することと、
    前記点偏差が前記偏差閾値を越える場合に、前記目標関数の前記出力が最小化されるとともに前記点偏差が前記偏差閾値内にあるまで、前の変更のように異なる方向に前記最適化パラメータを変更すること、および/または異なるステップサイズで前記最適化パラメータを変更することを繰り返すことと、を備える請求項1に記載の方法。
  6. 前記偏差閾値は、前記地図データを生成する1つまたは複数のセンサの信頼性または信頼度に基づく所定の閾値であり、高信頼度が小閾値に対応する請求項5に記載の方法。
  7. 基準線分毎は、5次多項式関数により定義される請求項1に記載の方法。
  8. 前記基準線分の開始点での前記5次多項式関数の出力が前記基準線分の前記開始点での前記自動運転車両の方向に類似するとともに、前記基準線分の終了点での前記5次多項式関数の出力が次の基準線分の開始点での前記自動運転車両の方向に類似するように、前記最適化パラメータを変更する請求項7に記載の方法。
  9. 前記1組の制約は、前記基準線分の開始点での前記5次多項式関数の1次導関数が前記基準線分の前記開始点での曲率に類似するとともに、前記基準線分の前記終了点での前記5次多項式関数の1次導関数が前記次の基準線分の前記開始点での曲率に類似するという条件を含む請求項に記載の方法。
  10. 命令が記憶されている非一時的機械可読媒体であって、前記命令がプロセッサにより実行される場合に、
    地図データを処理することにより、第1位置から第2位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
    基準線分毎の長さと、点毎の二次元座標と、基準線分毎の方向と、基準線分毎の曲率と、基準線分毎の曲率変化率を含む最適化パラメータを初期化することと、
    基準線分毎を定義する5次多項式関数に基づく目標関数の出力が最小化されるとともに、前記基準線分に関連する1組の制約を満足するように、前記ルートの前記最適化パラメータを繰り返して変更することにより、前記最適化パラメータを最適化することと、
    最適化されたパラメータに基づいて、前記自動運転車両を前記第1位置から前記第2位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させる非一時的機械可読媒体。
  11. 前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の2乗と、基準線分毎の前記曲率の前記変化率の2乗の総和とを含む請求項10に記載の非一時的機械可読媒体。
  12. 基準線分毎の前記曲線長さ、前記基準線分の前記曲率の2乗及び前記基準線分の前記曲率の前記変化率の2乗は、重み付けられる請求項11に記載の非一時的機械可読媒体。
  13. 前記目標関数は、基準線分毎の曲線長さと、前記基準線分毎の前記曲率の2乗と、基準線分毎の前記曲率の前記変化率の2乗と、基準線分毎の前記曲率の前記変化率の導関数との総和を含む請求項12に記載の非一時的機械可読媒体。
  14. 前記最適化パラメータを最適化することは、
    前記目標関数の前記出力を最小化するように、前記最適化パラメータを変更することと、
    特定点の座標の前記特定点の初期座標からの変化により定義される点偏差が偏差閾値内にあるかを評価することと、
    前記点偏差が前記偏差閾値を越える場合に、前記目標関数の前記出力が最小値になるとともに前記点偏差が前記偏差閾値内にあるまで、前の変更のように異なる方向に前記最適化パラメータを変更すること、および/または異なるステップサイズで前記最適化パラメータを変更することを繰り返すことと、を備える請求項10に記載の非一時的機械可読媒体。
  15. 前記偏差閾値は、前記地図データを生成する1つまたは複数のセンサの信頼性または信頼度に基づく所定の閾値であり、高信頼度が小閾値に対応する請求項14に記載の非一時的機械可読媒体。
  16. 基準線分毎の前記5次多項式関数の係数は、前記自動運転車両の位置、前記自動運転車両の方向、前記自動運転車両の曲率及び前記基準線分に関連する前記自動運転車両の曲率変化率に基づいて決定される請求項10に記載の非一時的機械可読媒体。
  17. 前記基準線分の開始点での前記5次多項式関数の出力が前記基準線分の前記開始点での前記自動運転車両の方向に類似するとともに、前記基準線分の終了点での前記5次多項式関数の出力が次の基準線分の開始点での前記自動運転車両の方向に類似するように、前記最適化パラメータを変更する請求項10に記載の非一時的機械可読媒体。
  18. 前記1組の制約は、前記基準線分の開始点での前記5次多項式関数の1次導関数が前記基準線分の前記開始点での曲率に類似するとともに、前記基準線分の前記終了点での前記5次多項式関数の1次導関数が前記次の基準線分の前記開始点での曲率に類似するという条件を含む請求項17に記載の非一時的機械可読媒体。
  19. プロセッサと、前記プロセッサに接続されて命令を記憶するメモリとを備えるデータ処理システムであって、
    前記命令がプロセッサにより実行される場合に、
    地図データを処理することにより、第1位置から第2位置までの自動運転車両ルートに沿って基準線を定義する複数の点を生成し、それぞれの点が二次元座標を含み、且つ連続点対毎が前記基準線に沿って基準線分を形成することと、
    基準線分毎の長さ、点毎の二次元座標、基準線分毎の方向、基準線分毎の曲率及び基準線分毎の曲率変化率の1つまたは複数を含む最適化パラメータを初期化することと、
    目標関数の出力が最小化されるとともに、前記基準線分に関連する1組の制約を満足するように、前記ルートの前記最適化パラメータを繰り返して変更することにより、前記最適化パラメータを最適化することと、
    最適化されたパラメータに基づいて、前記自動運転車両を前記第1位置から前記第2位置にガイドするための参照として使用される平滑基準線を生成すること、を前記プロセッサに実行させるデータ処理システム。
  20. 前記最適化パラメータを初期化することは、基準線分毎の長さを連続点間の距離に初期化することと、点毎の二次元座標を地図データからの初期生成座標に初期化することと、基準線分毎の方向を2つの連続点間の逆接線方向に初期化することと、基準線分毎の曲率をゼロに初期化することと、基準線毎の前記曲率の変化率をゼロに初期化することと、を含む請求項19に記載のシステム。
  21. コンピュータプログラムであって、
    前記コンピュータプログラムがプロセッサにより実行されると、請求項1〜9のいずれか一項に記載の方法を実現させるコンピュータプログラム。
JP2019041522A 2018-06-27 2019-03-07 重み付け幾何学的コストを有する区分的螺旋曲線を使用した基準線平滑化方法 Active JP6757820B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/020,828 2018-06-27
US16/020,828 US10823575B2 (en) 2018-06-27 2018-06-27 Reference line smoothing method using piecewise spiral curves with weighted geometry costs

Publications (2)

Publication Number Publication Date
JP2020001678A JP2020001678A (ja) 2020-01-09
JP6757820B2 true JP6757820B2 (ja) 2020-09-23

Family

ID=69054646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019041522A Active JP6757820B2 (ja) 2018-06-27 2019-03-07 重み付け幾何学的コストを有する区分的螺旋曲線を使用した基準線平滑化方法

Country Status (3)

Country Link
US (1) US10823575B2 (ja)
JP (1) JP6757820B2 (ja)
CN (1) CN110728014B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11079761B2 (en) * 2018-12-12 2021-08-03 Ford Global Technologies, Llc Vehicle path processing
US11161501B2 (en) * 2019-01-07 2021-11-02 Toyota Research Insititute, Inc. System and method for optimizing a path for obstacle evasion for a vehicle
CN112818727A (zh) * 2019-11-18 2021-05-18 华为技术有限公司 一种道路约束确定方法及装置
CN111310984B (zh) * 2020-01-21 2023-09-26 成都智库二八六一信息技术有限公司 一种基于二维地图网格划分的路径规划方法和系统
CN115003577A (zh) * 2020-01-30 2022-09-02 日立安斯泰莫株式会社 车辆控制装置、车辆控制方法、以及车辆控制系统
WO2021181652A1 (ja) * 2020-03-13 2021-09-16 三菱電機株式会社 車両制御装置
US11656627B2 (en) * 2020-03-23 2023-05-23 Baidu Usa Llc Open space path planning using inverse reinforcement learning
CN111666636A (zh) * 2020-04-01 2020-09-15 北京理工大学 一种无人车动力学极限特性包络线在线观测方法
CN111452786B (zh) * 2020-04-14 2021-03-19 北京理工大学 一种无人车辆避障方法及系统
CN111680114B (zh) * 2020-04-14 2022-07-29 武汉光庭信息技术股份有限公司 一种参考轨迹平滑处理方法、装置、终端设备及存储介质
CN111737637B (zh) * 2020-06-12 2024-02-02 北京百度网讯科技有限公司 一种路径曲线的生成方法、装置、设备及存储介质
CN113868305A (zh) * 2020-06-30 2021-12-31 腾讯科技(深圳)有限公司 交通路线中关键点序列化方法及装置
CN111811517A (zh) * 2020-07-15 2020-10-23 中国科学院上海微系统与信息技术研究所 一种动态局部路径规划方法及系统
CN112068586B (zh) * 2020-08-04 2021-08-13 西安交通大学 一种空间时间联合优化的四旋翼无人飞行器轨迹规划方法
KR102507804B1 (ko) * 2020-12-24 2023-03-09 주식회사 라이드플럭스 자율주행 차량의 주행 경로 생성 방법, 장치 및 컴퓨터프로그램
CN113419534B (zh) * 2021-07-01 2022-03-08 湖南大学 一种基于贝塞尔曲线的转向路段路径规划方法
US20230078320A1 (en) * 2021-09-13 2023-03-16 Ford Global Technologies, Llc Vehicle guidance
FR3128678B1 (fr) * 2021-11-02 2024-05-03 Psa Automobiles Sa Procédé et dispositif de contrôle de trajectoire d’un véhicule autonome
CN114509936B (zh) * 2022-04-19 2022-09-02 之江实验室 一种运动能力可在线学习的运动规划方法、装置和介质
CN114676939B (zh) * 2022-05-26 2022-09-02 之江实验室 一种多车型参数自适应的参考线平滑方法和系统
CN115457113B (zh) * 2022-09-03 2023-05-23 北京津发科技股份有限公司 人机交互移动轨迹检测方法、装置、设备和可读存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002213980A (ja) * 2001-01-19 2002-07-31 Matsushita Electric Ind Co Ltd デジタル地図の位置情報伝達方法とそれに使用する装置
US8131415B2 (en) * 2005-05-24 2012-03-06 Trimble Navigation, Ltd Method and apparatus for automatic vehicle guidance using continuous 2-D poly-point path
JP5332034B2 (ja) * 2008-09-22 2013-11-06 株式会社小松製作所 無人車両の走行経路生成方法
US8762046B2 (en) * 2008-10-01 2014-06-24 Navteq B.V. Creating geometry for advanced driver assistance systems
US9120485B1 (en) * 2012-09-14 2015-09-01 Google Inc. Methods and systems for smooth trajectory generation for a self-driving vehicle
US9868443B2 (en) * 2015-04-27 2018-01-16 GM Global Technology Operations LLC Reactive path planning for autonomous driving
CN104808688B (zh) * 2015-04-28 2017-04-12 武汉大学 一种无人机曲率连续可调路径规划方法
JP6637400B2 (ja) * 2016-10-12 2020-01-29 本田技研工業株式会社 車両制御装置
US11014240B2 (en) * 2017-09-05 2021-05-25 Abb Schweiz Ag Robot having dynamic safety zones
US10948919B2 (en) * 2017-09-11 2021-03-16 Baidu Usa Llc Dynamic programming and gradient descent based decision and planning for autonomous driving vehicles
US10515321B2 (en) * 2017-09-11 2019-12-24 Baidu Usa Llc Cost based path planning for autonomous driving vehicles
US10754339B2 (en) * 2017-09-11 2020-08-25 Baidu Usa Llc Dynamic programming and quadratic programming based decision and planning for autonomous driving vehicles
US10591926B2 (en) * 2017-09-18 2020-03-17 Baidu Usa Llc Smooth road reference for autonomous driving vehicles based on 2D constrained smoothing spline
US10606277B2 (en) * 2017-09-18 2020-03-31 Baidu Usa Llc Speed optimization based on constrained smoothing spline for autonomous driving vehicles
US10429849B2 (en) * 2017-12-14 2019-10-01 Baidu Usa Llc Non-linear reference line optimization method using piecewise quintic polynomial spiral paths for operating autonomous driving vehicles
US11099017B2 (en) * 2018-02-13 2021-08-24 Baidu Usa Llc Determining driving paths for autonomous driving vehicles based on offset points
US10670412B2 (en) * 2018-02-20 2020-06-02 Veoneer Us, Inc. System and method for generating a target path for a vehicle
US10802492B2 (en) * 2018-04-05 2020-10-13 Ford Global Technologies, Llc Vehicle path identification

Also Published As

Publication number Publication date
CN110728014B (zh) 2023-10-31
US10823575B2 (en) 2020-11-03
US20200003564A1 (en) 2020-01-02
JP2020001678A (ja) 2020-01-09
CN110728014A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
JP6757820B2 (ja) 重み付け幾何学的コストを有する区分的螺旋曲線を使用した基準線平滑化方法
JP6906011B2 (ja) オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)]
EP3517893B1 (en) Path and speed optimization fallback mechanism for autonomous vehicles
KR102211299B1 (ko) 곡선 투영을 가속화하기 위한 시스템 및 방법
CN109955853B (zh) 用于操作自动驾驶车辆的方法、系统和存储介质
JP6967051B2 (ja) 自動運転車両のための人間の運転行動を模倣する2段階基準線平滑化方法
JP7003087B2 (ja) 移動障害物を回避する自動運転のための運転経路の決定
US11493926B2 (en) Offline agent using reinforcement learning to speedup trajectory planning for autonomous vehicles
US10289110B2 (en) Method to dynamically adjusting steering rates of autonomous vehicles
EP3315388B1 (en) Spring system-based change lane approach for autonomous vehicles
JP7108583B2 (ja) 自動運転車両のための曲率補正経路サンプリングシステム
US10816985B2 (en) Method on moving obstacle representation for trajectory planning
CN109947090A (zh) 用于自动驾驶车辆规划的非阻塞边界
US11099017B2 (en) Determining driving paths for autonomous driving vehicles based on offset points
CN111380534B (zh) 用于自动驾驶车辆的基于st图学习的方法
US10613489B2 (en) Method and system for determining optimal coefficients of controllers for autonomous driving vehicles
EP3327530A1 (en) Method for determining command delays of autonomous vehicles
US11414096B2 (en) QP spline path and spiral path based reference line smoothing method for autonomous driving
JP7045393B2 (ja) 自動運転車両の基準線を生成するための方法およびシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200831

R150 Certificate of patent or registration of utility model

Ref document number: 6757820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250