CN113286983A - 基于样条曲线和螺旋曲线的参考线平滑方法 - Google Patents

基于样条曲线和螺旋曲线的参考线平滑方法 Download PDF

Info

Publication number
CN113286983A
CN113286983A CN201980006327.0A CN201980006327A CN113286983A CN 113286983 A CN113286983 A CN 113286983A CN 201980006327 A CN201980006327 A CN 201980006327A CN 113286983 A CN113286983 A CN 113286983A
Authority
CN
China
Prior art keywords
reference line
adv
curvature
smoothing
constraints
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.)
Pending
Application number
CN201980006327.0A
Other languages
English (en)
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 CN113286983A publication Critical patent/CN113286983A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • 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
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/30Road curve radius

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Traffic Control Systems (AREA)

Abstract

在一个实施方式中,示例性方法包括以下操作:接收表示与自动驾驶车辆(ADV)相关联的从第一位置到第二位置的路线的原始参考线;以及使用二次规划(QP)样条平滑器平滑原始参考线,以生成平滑参考线。该方法还包括以下操作:识别平滑参考线上的一个或多个线段,识别的参考线段中的每个均包括超过预定大小的曲率;以及使用螺旋平滑器平滑识别的一个或多个参考线段中的每个,包括根据一组约束来优化识别的每个曲率,使得目标函数的输出达到最小值,同时满足所述一组约束;以及使用平滑参考线来控制ADV。

Description

基于样条曲线和螺旋曲线的参考线平滑方法
技术领域
本公开的实施方式总体涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及平滑用于操作自动驾驶车辆的参考线。
背景技术
以自动驾驶模式运行(例如,无人驾驶)的车辆可将乘员、尤其是驾驶员从一些驾驶相关的职责中解放出来。当以自动驾驶模式运行时,车辆可使用车载传感器导航到各个位置,从而允许车辆在最少人机交互的情况下或在没有任何乘客的一些情况下行驶。运动规划和控制是自动驾驶中的关键操作。尤其是在自动驾驶系统中,轨迹规划是关键的组成部分。传统的轨迹规划技术严重依赖于高质量的参考线,即用于自动驾驶车辆的引导路径,例如道路的中心线,以生成稳定的轨迹。
参考线可从地图数据点生成,地图数据点通常是世界坐标系中的一序列二维(2D)点。从地图数据点直接生成的参考线是原始参考线,其可能缺乏所需的平滑度,因此可能导致规划周期之间的轨迹不稳定和振荡。
发明内容
在第一方面,提供了一种用于操作自动驾驶车辆(ADV)的计算机实施的方法。该方法包括:响应于接收到表示与ADV相关联的从第一位置到第二位置的路线的原始参考线,使用二次规划(QP)样条平滑方法平滑该原始参考线以生成第一平滑参考线;识别平滑参考线上的一个或多个线段,其中,所识别的参考线段中的每个均包括超过预定大小的曲率;使用螺旋平滑方法平滑所述线段中的每个,包括根据一组约束使用目标函数来优化该线段,使得目标函数的输出达到最小值,同时满足该组约束,生成第二平滑参考线;以及基于第二平滑参考线来规划轨迹以控制ADV。
在第二方面,提供了一种存储有指令的非暂时性机器可读介质。指令在由处理器执行时致使处理器执行操作自动驾驶车辆(ADV)的操作,所述操作包括:响应于接收到表示与ADV相关联的从第一位置到第二位置的路线的原始参考线,使用二次规划(QP)样条平滑方法平滑该原始参考线以生成第一平滑参考线;识别平滑参考线上的一个或多个线段,其中,所识别的参考线段中的每个均包括超过预定大小的曲率;使用螺旋平滑方法平滑所述线段中的每个,包括根据一组约束使用目标函数来优化该线段,使得目标函数的输出达到最小值,同时满足该组约束,生成第二平滑参考线;以及基于第二平滑参考线来规划轨迹以控制ADV。
在第三方面,提供了一种数据处理系统。数据处理系统包括:处理器;以及存储器,其联接至处理器以存储指令,所述指令在由处理器执行时致使处理器执行操作自动驾驶车辆(ADV)的操作,所述操作包括:响应于接收到表示与ADV相关联的从第一位置到第二位置的路线的原始参考线,使用二次规划(QP)样条平滑方法平滑该原始参考线以生成第一平滑参考线;识别平滑参考线上的一个或多个线段,其中,所识别的参考线段中的每个均包括超过预定大小的曲率;使用螺旋平滑方法平滑所述线段中的每个,包括根据一组约束使用目标函数来优化该线段,使得目标函数的输出达到最小值,同时满足该组约束,生成第二平滑参考线;以及基于第二平滑参考线来规划轨迹以控制ADV。
附图说明
本公开的实施方式在附图的各图中以举例而非限制的方式示出,附图中的相同参考标记指示相似元件。
图1是示出根据一个实施方式的网络化系统的框图。
图2是示出根据一个实施方式的自动驾驶车辆的示例的框图。
图3A至图3B是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。
图4示出根据实施方式的示例性平滑模块。
图5示出根据实施方式的平滑模块的示例性实现。
图6示出根据实施方式的QP样条平滑器的示例性使用。
图7示出根据实施方式的螺旋平滑器的示例性使用。
图8是示出根据实施方式的用于平滑参考线的过程的示例的流程图。
具体实施方式
将参考以下所讨论的细节来描述本公开的各种实施方式和方面,附图将示出所述各种实施方式。下列描述和附图是本公开的说明,而不应当解释为对本公开进行限制。描述了许多特定细节以提供对本公开的各种实施方式的全面理解。然而,在某些情况下,并未描述众所周知的或常规的细节,以提供对本公开的实施方式的简洁讨论。
本说明书中对“一个实施方式”或“实施方式”的提及意味着结合该实施方式所描述的特定特征、结构或特性可包括在本公开的至少一个实施方式中。短语“在一个实施方式中”在本说明书中各个地方的出现不必全部指同一实施方式。
如上所述,可使用各种参考线平滑技术来平滑原始参考线,以便更舒适地驾驶。可使用二次规划(QP)样条平滑器或螺旋平滑器来平滑参考线。每个参考线平滑器均具有其自身的缺点,并且更适合于某些情况。
在一个实施方式中,示例性方法包括以下操作:接收表示与自动驾驶车辆(ADV)相关联的从第一位置到第二位置的路线的原始参考线;以及使用二次规划(QP)样条平滑器平滑该原始参考线以生成平滑参考线;方法还包括以下操作:识别平滑参考线上的一个或多个线段,所识别的参考线段中的每个均包括超过预定大小的曲率;以及使用螺旋平滑器平滑所识别的一个或多个线段中的每个,包括根据一组约束来优化所识别的每个曲率,使得目标函数的输出达到最小值,同时满足该组约束;以及使用平滑参考线来控制ADV。
在一个实施方式中,通过曲率的半径或度数来测量曲率的大小。在相同的规划周期或不同的规划周期期间将QP样条平滑器和螺旋平滑器应用于原始参考线。可基于路线的道路状况和ADV的速度来动态地调整识别的每个曲率的预定大小。一个或多个曲率包括U形转弯、左转弯或右转弯中的一个或多个。
在一个实施方式中,所述一组约束中的至少一个是动态可调的,并且所述一组约束表示ADV的初始位置、方向和曲率。
图1是示出根据本公开的一个实施方式的自动驾驶车辆网络配置的框图。参考图1,网络配置100包括可通过网络102通信地联接到一个或多个服务器103至104的自动驾驶车辆101。尽管示出一个自动驾驶车辆,但多个自动驾驶车辆可通过网络102联接到彼此和/或联接到服务器103至104。网络102可以是任何类型的网络,例如,有线或无线的局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103至104可以是任何类型的服务器或服务器群集,诸如,网络或云服务器、应用服务器、后端服务器或其组合。服务器103至104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。
自动驾驶车辆是指可配置成处于自动驾驶模式下的车辆,在所述自动驾驶模式下车辆在极少或没有来自驾驶员的输入的情况下导航通过环境。这种自动驾驶车辆可包括传感器系统,所述传感器系统具有配置成检测与车辆运行环境有关的信息的一个或多个传感器。所述车辆和其相关联的控制器使用所检测的信息来导航通过所述环境。自动驾驶车辆101可在手动模式下、在全自动驾驶模式下或者在部分自动驾驶模式下运行。
在一个实施方式中,自动驾驶车辆101包括,但不限于,感知与规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。自动驾驶车辆101还可包括普通车辆中包括的某些常用部件,诸如:发动机、车轮、方向盘、变速器等,所述部件可由车辆控制系统111和/或感知与规划系统110使用多种通信信号和/或命令进行控制,该多种通信信号和/或命令例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
部件110至115可经由互连件、总线、网络或其组合通信地联接到彼此。例如,部件110至115可经由控制器局域网(CAN)总线通信地联接到彼此。CAN总线是设计成允许微控制器和装置在没有主机的应用中与彼此通信的车辆总线标准。它是最初是为汽车内的复用电气布线设计的基于消息的协议,但也用于许多其它环境。
现在参考图2,在一个实施方式中,传感器系统115包括但不限于一个或多个摄像机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214以及光探测和测距(LIDAR)单元215。GPS系统212可包括收发器,所述收发器可操作以提供关于自动驾驶车辆的位置的信息。IMU单元213可基于惯性加速度来感测自动驾驶车辆的位置和定向变化。雷达单元214可表示利用无线电信号来感测自动驾驶车辆的本地环境内的对象的系统。在一些实施方式中,除感测对象之外,雷达单元214可另外感测对象的速度和/或前进方向。LIDAR单元215可使用激光来感测自动驾驶车辆所处环境中的对象。除其它系统部件之外,LIDAR单元215还可包括一个或多个激光源、激光扫描器以及一个或多个检测器。摄像机211可包括用来采集自动驾驶车辆周围环境的图像的一个或多个装置。摄像机211可以是静物摄像机和/或视频摄像机。摄像机可以是可机械地移动的,例如,通过将摄像机安装在旋转和/或倾斜平台上。
传感器系统115还可包括其它传感器,诸如:声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器以及音频传感器(例如,麦克风)。音频传感器可配置成从自动驾驶车辆周围的环境中采集声音。转向传感器可配置成感测方向盘、车辆的车轮或其组合的转向角度。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情形下,油门传感器和制动传感器可集成为集成式油门/制动传感器。
在一个实施方式中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用来调整车辆的方向或前进方向。油门单元202用来控制电动机或发动机的速度,电动机或发动机的速度进而控制车辆的速度和加速度。制动单元203通过提供摩擦使车辆的车轮或轮胎减速而使车辆减速。应注意,如图2所示的部件可以以硬件、软件或其组合实施。
返回参考图1,无线通信系统112允许自动驾驶车辆101与诸如装置、传感器、其它车辆等外部系统之间的通信。例如,无线通信系统112可以与一个或多个装置直接无线通信,或者经由通信网络进行无线通信,诸如,通过网络102与服务器103至104通信。无线通信系统112可使用任何蜂窝通信网络或无线局域网(WLAN),例如,使用WiFi,以与另一部件或系统通信。无线通信系统112可例如使用红外链路、蓝牙等与装置(例如,乘客的移动装置、显示装置、车辆101内的扬声器)直接通信。用户接口系统113可以是在车辆101内实施的外围装置的部分,包括例如关键字、触摸屏显示装置、麦克风和扬声器等。
自动驾驶车辆101的功能中的一些或全部可由感知与规划系统110控制或管理,尤其当在自动驾驶模式下操作时。感知与规划系统110包括必要的硬件(例如,处理器、存储器、存储装置)和软件(例如,操作系统、规划和路线安排程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理所接收的信息,规划从起始点到目的地点的路线或路径,随后基于规划和控制信息来驾驶车辆101。可替代地,感知与规划系统110可与车辆控制系统111集成在一起。
例如,作为乘客的用户可例如经由用户接口来指定行程的起始位置和目的地。感知与规划系统110获得行程相关数据。例如,感知与规划系统110可从MPOI服务器中获得位置和路线信息,所述MPOI服务器可以是服务器103至104的一部分。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI。可替代地,此类位置和MPOI信息可本地高速缓存在感知与规划系统110的永久性存储装置中。
当自动驾驶车辆101沿着路线移动时,感知与规划系统110也可从交通信息系统或服务器(TIS)获得实时交通信息。应注意,服务器103至104可由第三方实体进行操作。可替代地,服务器103至104的功能可与感知与规划系统110集成在一起。基于实时交通信息、MPOI信息和位置信息以及由传感器系统115检测或感测的实时本地环境数据(例如,障碍物、对象、附近车辆),感知与规划系统110可规划最佳路线并且根据所规划的路线例如经由控制系统111来驾驶车辆101,以安全且高效到达指定目的地。
服务器103可以是数据分析系统,从而为各种客户执行数据分析服务。在一个实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(自动驾驶车辆或由人类驾驶员驾驶的常规车辆)收集驾驶统计数据123。驾驶统计数据123包括指示所发出的驾驶指令(例如,油门、制动、转向指令)以及由车辆的传感器在不同的时间点捕捉到的车辆的响应(例如,速度、加速、减速、方向)的信息。驾驶统计数据123还可包括描述不同时间点下的驾驶环境的信息,例如,路线(包括起始位置和目的地位置)、MPOI、道路状况、天气状况等。
基于驾驶统计数据123,出于各种目的,机器学习引擎122生成或训练一组规则、算法和/或预测模型124。在一个实施方式中,例如,算法124可包括优化路径规划和速度规划的优化方法。该优化方法可包括用来表示路径段或时间段的一组成本函数和多项式函数。这些函数可上传到自动驾驶车辆上,用于实时生成平滑的路径。
图3A和图3B是示出根据一个实施方式的与自动驾驶车辆一起使用的感知与规划系统的示例的框图。系统300可实施为图1的自动驾驶车辆101的一部分,包括但不限于感知与规划系统110、控制系统111和传感器系统115。参考图3A至图3B,感知与规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路线安排模块307和平滑模块308。
模块301至308中的一些或全部可以以软件、硬件或其组合实施。例如,这些模块可安装在永久性存储装置352中、加载到存储器351中,并且由一个或多个处理器(未示出)执行。应注意,这些模块中的一些或全部可通信地联接到图2的车辆控制系统111的一些或全部模块或者与它们集成在一起。模块301至308中的一些可一起集成为集成模块。例如,决策模块304和规划模块305可集成为单个模块;以及路线安排模块307和平滑模块308可集成为单个模块。
定位模块301确定自动驾驶车辆300的当前位置(例如,利用GPS单元212)以及管理与用户的行程或路线相关的任何数据。定位模块301(又称作为地图与路线模块)管理与用户的行程或路线相关的任何数据。用户可例如经由用户接口登录并且指定行程的起始位置和目的地。定位模块301与自动驾驶车辆300的诸如地图与路线信息311的其它部件通信,以获得行程相关数据。例如,定位模块301可从位置服务器和地图与POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,并且MPOI服务器提供地图服务和某些位置的POI,从而可作为地图与路线信息311的一部分高速缓存。当自动驾驶车辆300沿着路线移动时,定位模块301也可从交通信息系统或服务器获得实时交通信息。
基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,感知模块302确定对周围环境的感知。感知信息可表示普通驾驶员在驾驶员正驾驶的车辆周围将感知到的东西。感知可包括例如采用对象形式的车道配置(例如,直线车道或弯曲车道)、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道或其它交通相关标志(例如,停止标志、让行标志)等。
感知模块302可包括计算机视觉系统或计算机视觉系统的功能,以处理并分析由一个或多个摄像机采集的图像,从而识别自动驾驶车辆环境中的对象和/或特征。所述对象可包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可使用对象识别算法、视频跟踪以及其它计算机视觉技术。在一些实施方式中,计算机视觉系统可绘制环境地图,跟踪对象,以及估算对象的速度等。感知模块302也可基于由诸如雷达和/或LIDAR的其它传感器提供的其它传感器数据来检测对象。
针对每个对象,预测模块303预测对象在这种情况下将如何表现。预测是基于感知数据执行的,该感知数据在考虑一组地图/路线信息311和交通规则312的时间点感知驾驶环境。例如,如果对象为相反方向上的车辆且当前驾驶环境包括十字路口,则预测模块303将预测车辆是否可能会笔直向前移动或转弯。如果感知数据表明十字路口没有交通灯,则预测模块303可能会预测车辆在进入十字路口之前可能需要完全停车。如果感知数据表明车辆目前处于左转唯一车道或右转唯一车道,则预测模块303可能预测车辆将更可能分别左转或右转。
针对每个对象,决策模块304作出关于如何处置对象的决定。例如,针对特定对象(例如,交叉路线中的另一车辆)以及描述对象的元数据(例如,速度、方向、转弯角度),决策模块304决定如何与所述对象相遇(例如,超车、让行、停止、超过)。决策模块304可根据诸如交通规则或驾驶规则312的规则集来作出此类决定,所述规则集可存储在永久性存储装置352中。
基于针对所感知到的对象中的每个的决定,规划模块305为自动驾驶车辆规划路径或路线以及驾驶参数(例如,距离、速度和/或转弯角度)。换言之,针对给定的对象,决策模块304决定对该对象做什么,而规划模块305确定如何去做。例如,针对给定的对象,决策模块304可决定超过所述对象,而规划模块305可确定在所述对象的左侧还是右侧超过。规划和控制数据由规划模块305生成,包括描述车辆300在下一移动循环(例如,下一路线/路径段)中将如何移动的信息。例如,规划和控制数据可指示车辆300以30英里每小时(mph)的速度移动10米,随后以25mph的速度变到右侧车道。
基于规划和控制数据,控制模块306根据由规划和控制数据限定的路线或路径通过将适当的命令或信号发送到车辆控制系统111来控制并驾驶自动驾驶车辆。所述规划和控制数据包括足够的信息,以沿着路径或路线在不同的时间点使用适当的车辆设置或驾驶参数(例如,油门、制动和转弯命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施方式中,规划阶段在多个规划周期(也称作为命令周期)中执行,例如,在每个时间间隔为100毫秒(ms)的周期中执行。对于规划周期或命令周期中的每一个,将基于规划和控制数据发出一个或多个控制命令。即,对于每100ms,规划模块305规划下一个路线段或路径段,例如,包括目标位置和ADV到达目标位置所需要的时间。可替代地,规划模块305还可规定具体的速度、方向和/或转向角等。在一个实施方式中,规划模块305为下一个预定时段(诸如,5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于在前一周期中规划的目标位置规划用于当前周期(例如,下一个5秒)的目标位置。控制模块306然后基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。
应注意,决策模块304和规划模块305可集成为集成模块。决策模块304/规划模块305可包括导航系统或导航系统的功能,以确定自动驾驶车辆的驾驶路径。例如,导航系统可确定用于实现自动驾驶车辆沿着以下路径移动的一系列速度和前进方向:所述路径在使自动驾驶车辆沿着通往最终目的地的基于车行道的路径前进的同时,基本上避免感知到的障碍物。目的地可根据经由用户接口系统113进行的用户输入来设定。导航系统可在自动驾驶车辆正在运行的同时动态地更新驾驶路径。导航系统可将来自GPS系统和一个或多个地图的数据合并,以确定用于自动驾驶车辆的驾驶路径。
决策模块304/规划模块305还可包括防撞系统或防撞系统的功能,以识别、评估并且避免或以其它方式越过自动驾驶车辆的环境中的潜在障碍物。例如,防撞系统可通过以下方式实现自动驾驶车辆的导航中的变化:操作控制系统111中的一个或多个子系统来采取变向操纵、转弯操纵、制动操纵等。防撞系统可基于周围的交通模式、道路状况等自动确定可行的障碍物回避操纵。防撞系统可被配置成使得当其它传感器系统检测到位于自动驾驶车辆将变向进入的相邻区域中的车辆、建筑障碍物等时不采取变向操纵。防撞系统可自动选择既可使用又使得自动驾驶车辆乘员的安全性最大化的操纵。防撞系统可选择预测使得自动驾驶车辆的乘客舱中出现最小量的加速度的避让操纵。
路线安排模块307可例如从地图信息(诸如,路段的信息、路段的车行道信息和车道距路缘的距离信息)生成参考路线。例如,道路可分成{A、B和C}节或段以表示三个路段。路段A的三个车道可列举为{A1、A2和A3}。通过生成沿着参考路线的参考点来生成参考路线。例如,对于车辆车道,路线安排模块307可连接由地图数据(可由感知模块302生成或可预先存储/下载的)提供的车辆车道的两个相对路缘或端点的中点。基于表示先前在不同时间点在车辆车道上行驶的车辆的所收集的数据点的中点和机器学习数据,路线安排模块307可通过以下来计算参考点:选择在车辆车道的预定接近度内所收集的数据点的子集,以及对根据所收集的数据点的子集的中点应用平滑函数。
基于参考点或车道参考点,路线安排模块307可通过对参考点进行插值生成参考线,使得生成的参考线用作为用于控制车辆车道上的ADV的参考线。在一些实施方式中,表示参考线的参考点表和路段表实时上载到ADV中,使得ADV可基于ADV的地理位置和行驶方向生成参考线。例如,在一个实施方式中,ADV可通过表示即将到来的前面的路段的路径段标识符和/或基于ADV的GPS位置,通过请求用于路径段的路线安排服务来生成参考线。基于路径段标识符,路线安排服务可返回到ADV参考点表,该参考点表包括用于所关注的路段的所有车道的参考点。ADV可查阅用于路径段的车道的参考点,以生成用于控制车辆车道上的ADV的参考线。
平滑模块308可基于由路线安排模块307提供的参考线生成平滑的道路参考线。例如,平滑模块308选择沿着参考线的多个控制点。在一个实施方式中,控制点可以是由路线安排模块307提供的参考线的参考点,或者是沿着参考线的一些插值点,这些插值点与它们的相邻点的距离大致相等。平滑模块308使用二次规划样条平滑器和螺旋平滑器的组合来生成平滑道路参考线。
如上所述,路线或路线安排模块307管理与用户的行程或路线相关的任何数据。ADV的用户指定起始位置和目的地位置以获得行程相关数据。行程相关数据包括路线段和路线段的参考线或参考点。例如,基于路线地图信息311,路线模块307生成路线或道路段表和参考点表。参考点与道路段表中的道路段和/或车道相关。可内插参考点以形成用于控制ADV的一个或多个参考线。参考点可特定于道路段和/或道路段的特定车道。
例如,道路段表可以是名称-值对,以包括道路段A至道路段D的前一个和下一个道路车道。例如,对于具有车道1的路段A至道路段D,道路段表可以是:{(A1,B1)、(B1,C1)、(C1,D1)}。参考点表可包括用于道路段车道的x-y坐标中的参考点,例如,{(A1,(x1,y1))、(B1,(x2,y2))、(C1,(x3,y3))、(D1,(x4,y4))},其中A1…D1是指道路段A至道路段D的车道1,以及(x1,y1)…(x4,y4)是对应的真实世界坐标。在一个实施方式中,道路段和/或车道划分成预定的长度,诸如大约200米的段/车道。在另一实施方式中,道路段和/或车道根据诸如道路曲率的道路状况划分为可变长度的段/车道。在一些实施方式中,每个道路段和/或车道可包括数个参考点。在一些实施方式中,可将参考点转换至其它坐标系,例如纬度-经度。
在一些实施方式中,可将参考点转换至相对坐标系统中,诸如车站-横向(SL)坐标。车站-横向坐标系是参考固定参考点以跟随参考线的坐标系。例如,(S,L)=(1,0)坐标可表示参考线上的静止点(即,参考点)之前的一米,具有零米的横向偏移。(S,L)=(2,1)参考点可表示沿着参考线在静止参考点之前的两米和从参考线横向偏移一米,例如,向左偏移一米。
在一个实施方式中,平滑模块308基于表示由路线安排模块307提供的参考线的参考点生成平滑参考线。在决策模块和/或规划模块(诸如决策模块304和/或规划模块305)将平滑参考线与感知到的障碍物和/或交通信息结合在一起之前,可将平滑参考线转换至诸如SL坐标系的相对坐标系中。
在一个实施方式中,决策模块304基于由路线安排模块307提供的参考线(参考线已由如上所述的平滑模块308平滑)并且基于由ADV感知到的ADV周围的障碍物和/或交通信息来生成粗略路径分布。粗略路径分布可以是可存储在永久性存储装置352中的路径/速度分布313的一部分。通过选择沿着参考线的点来生成粗略路径分布。对于每个点,决策模块304基于关于如何遇到物体的一个或多个障碍物决策将该点移动至参考线的左边或右边(例如,候选移动),而其余的点保持稳定。在使用成本函数(如图3A中的成本函数315的一部分)搜寻具有最低路径成本的路径候选项时,使用动态规划对路径候选项迭代地执行候选移动,从而生成粗略路径分布。成本函数的示例包括基于以下的成本:路线路径的曲率,从ADV到所感知的障碍物的距离,以及ADV到参考线的距离。在一个实施方式中,所生成的粗略路径分布包括车站-横向地图,作为可存储在永久性存储装置352中的SL地图/ST图314的一部分。
在一个实施方式中,决策模块304基于所生成的粗略路径分布来生成粗略速度分布(作为路径/速度分布313的一部分)。粗略速度分布表示在控制ADV的特定时间点时的最佳速度。与粗略路径分布相似,根据ADV所感知到的障碍物,基于成本函数(作为图3A的成本函数315的一部分)使用动态编程迭代不同时间点时的候选速度以寻找具有最低速度成本的速度候选项(例如,加速或减速)。粗略速度分布决定ADV是否应该超车或避开障碍物,以及避至障碍物的左边还是右边。在一个实施方式中,粗略速度分布包括车站-时间(ST)图(作为SL地图/ST图314的一部分)。车站-时间图指示相对于时间行进的距离。
在一个实施方式中,规划模块305根据障碍物决策和/或人工栅栏重新计算粗略路径分布,以禁止规划模块305搜索栅栏的几何空间。例如,如果确定粗略速度分布从左边接近障碍物,则规划模块305可将栅栏(以障碍物的形式)设置到障碍物的右边,以防止对于ADV从右边接近障碍物的计算。在一个实施方式中,通过使用二次规划(QP)和/或螺旋平滑器优化路径成本函数(作为成本函数315的一部分)来重新计算粗略路径分布。在一个实施方式中,重新计算的粗略路径分布包括车站-横向地图(作为SL地图/ST图314的一部分)。
应注意,如上文示出和描述的部件中的一些或全部可在软件、硬件或其组合中实施。例如,此类部件可实施为安装并存储在永久性存储装置中的软件,所述软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请所述的过程或操作。可替代地,此类部件可实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,所述可执行代码可经由来自应用的相应驱动程序和/或操作系统来访问。此外,此类部件可实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
图4示出了根据实施方式的示例性平滑模块。如图4中所示,平滑模块308可包括QP样条平滑器401和螺旋平滑器403。平滑模块308可通过QP样条平滑器401和螺旋平滑器403的组合使用,基于由路线安排模块307提供的参考线生成平滑参考线。通过将两个平滑器应用于原始参考线,平滑模块308可克服每个平滑器的缺点,并生成具有期望的曲率连续性和平滑度的平滑参考线。
作为说明性实例,给定要进行平滑的原始参考线,平滑模块308可首先应用QP样条平滑器401以获得初步平滑的参考线。平滑模块308随后可识别初步平滑的参考线上的预定大小的一个或多个曲率。每个曲率均可具有预定度数或预定半径。平滑模块308可将螺旋平滑器403应用于所识别的曲率中的每个以在其上执行平滑操作。在将两个平滑器应用于原始参考线之后,可获得平滑参考线,该平滑参考线比单独使用任一平滑器获得的平滑参考线具有更好的曲率连续性。
图5示出了根据实施方式的平滑模块308的示例性实现。图5示出了从路线安排模块307接收到的原始参考线。原始参考AG在点A 501处开始以及在点G 513处结束,并且可表示从高清晰度地图获得的道路段的中心线。原始参考线AG可包括多个控制点503、505、507、509和511,它们大致等间距的分隔开,例如,间隔约5至10米。
平滑模块308首先可执行QP样条平滑操作,以获得如由从点A 501处开始并且在点G 513处结束的虚线表示的初步平滑的参考。尽管QP样条平滑器在平滑速度方面以及在平滑具有小曲率的参考线(例如,相对直的线)方面倾向于具有良好的性能,但是它可生成具有曲率中断点的平滑参考线。曲率中断在从具有剧烈转弯(例如,U形转弯)的原始参考线生成的平滑参考线中是特别显著的。
因此,为了生成具有更好曲率连续性的参考线,平滑模块308可随后识别初步平滑的参考线上的、满足一个或多个预定要求的一个或多个曲率,并且对识别的每个曲率执行样条平滑操作。
在一个实施方式中,识别的每个曲率均需要具有特定的度数,或者具有特定的半径。例如,平滑模块308在识别一个或多个曲率时,可搜索具有45度或以上、或具有5米或以上的半径、或具有这两者的那些曲率。识别的每个曲率均可以是左转弯、右转弯、U形转弯、或具有满足一个或多个预定要求的曲率的另一道路段。平滑模块308可基于实时道路状况动态地调整所述要求。
如图5中进一步所示,识别由点515和点517表示的第一曲率和由点517和点519表示的第二曲率。第一曲率对应于原始参考线AG上的点C 505处的左转弯,而第二曲率对应于原始参考线AG上的点E 509处的右转弯。平滑模块308可使用螺旋平滑器平滑所识别的初步平滑的参考线上的每个曲率。
在一个实施方式中,当识别预定大小的一个或多个曲率时,平滑模块308最初可使用各种技术来识别曲率。曲率可以是给定半径的圆的一段,并且通过过渡曲线连接至初步平滑的参考线的直线部分。
根据识别曲率的一个示例性技术,初步平滑的参考线可由点Xi=(xi1,xi2)来表示,其中i=1,…,n;并且可通过圆局部地近似。在一个示例中,平滑模块308可识别初步平滑的原始参考上的多个等空间点,并对每三个相邻点绘制一个圆,然后将该圆的半径分配给这三个相邻点的中间点。一旦识别了曲率的半径,就可确定曲率的大小。
根据识别曲率的另一种示例性技术,密切圆可与Douglas-Peucker算法结合使用。曲线C在给定点P处的密切圆是在点P处具有与C相同切线以及相同曲率的圆。正如切线是最接近点P处的曲线的线,密切圆是近似P处的曲线的最佳的圆。根据该技术,代替近似三个相邻点,近似一个特定点处的初步平滑的参考线上的段线的曲率。因此,曲率半径取决于曲率的切线的斜率的变化。
图6示出了根据实施方式的QP样条平滑器的示例性使用。如图6中所示,道路段(即,图5中所示的第一参考线段S1)可包括多个控制点,诸如控制点601。控制点可大致等间距的分隔开,例如,间隔约5至10米。
基于控制点601,QP样条平滑器401可应用2D样条优化来生成平滑参考线,例如样条605。样条是由连接在一起以形成曲线的一个或多个(例如,分段)多项式表示的曲线。例如,多项式或多项式函数可表示相邻控制点之间的线段。在一个实施方式中,样条内的每个多项式函数均可以是二维多项式,例如,
x(t)=p0+p1t+p2μ2+…+pntn,和y(t)=q0+q1t+q2t2+…+qntn
其中,x、y表示多项式到第n阶的二维(x,y)几何坐标,以及p0..n和q0..n是要求解的二维多项式的系数。
在另一实施方式中,多项式函数可以是一维的。例如,
l(s)=p0+p1s+p2s2+…+pnsn
其中,s、l表示多项式到第n阶的车站-横向一维(s,l)几何坐标,以及p0..n是要求解的一维多项式的系数。
在一个实施方式中,QP样条平滑器401可为样条或分段多项式配置多项式的阶数,以确保期望的样条平滑度的阈值。在一个实施方式中,可将分段多项式预先配置为五阶多项式。基于控制点601,QP样条平滑器401可限定边界区域,诸如具有预定尺寸(诸如约0.2米乘0.2米)的边界框603,以包围控制点601中的每个。边界区域可表示平滑参考线(例如,样条或分段多项式)605必须接触或通过的不等式约束。
在一个实施方式中,QP样条平滑器可向分段多项式添加一组初始约束。该组初始约束可对应于例如ADV的当前地理位置和/或当前前进方向。
x(0)=x0和y(0)=y0
x′(0)=dx0和y′(0)=dy0
其中,(x0,y0)是ADV地理位置的当前x-y坐标,(dx0,dy0)是ADV的当前方向,以及x(0)、y(0)对应于第一x-y多项式的初始值。在一些实施方式中,约束模块603可在ADV到达目的地点时添加对应于ADV的位置和方向的一组结束约束。
在一些实施方式中,QP样条平滑器401可选择具有样条将作为目标的各种内核或成本函数的目标函数。示例性目标函数可包括平滑内核和/或引导内核,诸如:
w1∫(x′)2(t)dt+w2∫(y′)2(t)dt+w3∫(x″)2(t)dt+w4∫(y″)2(t)dt
+w5∫(x″′)2(t)dt+w6∫(y″′)2(t)dt
+w7∫[x(t)-xref(t)]2dt+w8∫[y(t)-yref(t)]2dt
其中,x(t)、y(t)是x-y二维分段多项式,w1,...,w8是权重因子,(x′)2(t)、(y′)2(t)是分段多项式的一阶导数平方,(x″)2(t)(y″)2(t)是分段多项式的二阶导数平方,(x″′)2(t)、(y″′)2(t)是分段多项式的三阶导数平方,以及xref(t)、yref(t)是来自先前收集的数据的平均人类驾驶路线的x-y参考路线值。
在一个实施方式中,QP样条平滑器401可求解目标函数以生成平滑参考线。在一个实施方式中,可对目标函数执行QP优化,使得目标函数达到预定阈值(例如,最小值),同时满足所述一组约束。一旦目标函数已根据约束进行优化,就可确定多项式函数的系数。然后,可使用具有优化系数的多项式函数来确定沿着路径的路径点(例如,控制点)的位置,该多项式函数表示平滑参考线。如上所述,将平滑函数结合到要求解的目标函数中,即,平滑不是后处理步骤,后处理步骤确保在应用平滑函数之后优化的参考线仍将受限于所限定的该组约束。
图7示出了根据实施方式的螺旋平滑器403的示例性使用。在该示例中,参考线段700可表示从参考点(x2,y2)到参考点(x3,y3)的第二参考线段S2。如图所示,参考线段被进一步分成多个参考线段。每个参考线段均与线段长度相关联,例如,S2a、S2b、S2c,...,S2(n-1),并且可使用单独的五次多项式函数来建模。
对于参考线段中的每个,螺旋平滑器403可生成五次多项式函数θ(s)。因此,存在至少(n-1)个五次多项式函数θ0(s)至θn-1(s)。每个五次多项式函数均表示相应参考线段的起始参考点的方向。五次多项式函数的导数(例如,一阶导数)表示参考线段的起始参考点的曲率,K=dθ/ds。五次多项式函数的二阶导数表示曲率变化或曲率变化率,dK/ds。
出于说明的目的,限定了以下术语:
θ0:起始方向
Figure BDA0002530501370000181
起始曲率,k,方向导数w.r.t.曲率长度,即
Figure BDA0002530501370000182
Figure BDA0002530501370000183
起始曲率导数,即
Figure BDA0002530501370000184
θ1:结束方向
Figure BDA0002530501370000185
结束曲率
Figure BDA0002530501370000186
结束曲率导数
△s:两个端点之间的曲率长度
每个分段螺旋路径均由七个参数决定:起始方向(θ0)、起始曲率(dθ0)、起始曲率导数(d2θ0)、结束方向(θ1)、结束曲率(dθ1)、结束曲率导数(d2θ1)以及起始点与结束点之间的曲线长度(Δs)。在一个实施方式中,五次多项式函数可如下限定:
θi(s)=a*s5+b*s4+c*s3+d*s2+e*s+f,其满足
θi(0)=θi
Figure BDA0002530501370000187
Figure BDA0002530501370000188
θi(Δs)=θi+1
Figure BDA0002530501370000189
Figure BDA00025305013700001810
基于上述约束,对所有参考线段的所有五次多项式函数执行优化,使得表示零线段长度处的参考线段(i)的五次多项式函数的输出应当与相应参考线段(i)的起始参考点处的方向相同或相似。五次多项式函数的一阶导数应当与参考线段(i)的起始参考点处的曲率相同或相似。五次多项式函数的二阶导数应当与参考线段(i)的起始参考点处的曲率变化率相同或相似。类似地,表示全段长度(s)处的参考线段(i)的五次多项式函数的输出应该与下一参考线段(i+1)的起始参考点处的方向相同或相似,下一参考线段(i+1)是当前参考线段(i)的结束参考点。五次多项式函数的一阶导数应当与下一参考线段(i+1)的起始参考点处的曲率相同或相似。五次多项式函数的二阶导数应当与下一参考线段(i+1)的起始参考点处的曲率变化率相同或相似。
通过代入上述变量,将有六个方程可用于求解五次多项式函数的系数a、b、c、d、e和f。例如,如上所述,可使用上述五次多项式函数限定给定点处的方向:
θ(s)=as5+bs4+cs3+ds2+es+f
五次函数的一阶导数表示路径点处的曲率:
dθ=5as4+4bs3+3cs2+2ds+e
五次函数的二阶导数表示路径点处的曲率变化率:
d2θ=20as3+12bs2+6cs+2d
对于给定的螺旋路径或参考线段,包括两个点:起始点和结束点,其中,每个点的方向、曲率和曲率变化率可分别由上述三个方程表示。因此,对于每个螺旋路径或参考线段,总共有六个方程。这六个方程可用于确定相应五次函数的系数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]的情况下确定。在一个实施方式中,给定点的坐标可基于以下公式获得:
Figure BDA0002530501370000191
Figure BDA0002530501370000192
当s=Δs时,给定曲线θi和起始坐标pi=(xi,yi),获得结束坐标pi+1。执行五次函数的优化,使得螺旋路径的五次函数的总输出达到最小值,同时满足上述一组约束。此外,从优化导出的终端点的坐标需要相对于初始参考线的相应坐标在预定范围(例如,容差、误差容限)内。即,每个优化点与初始参考线的相应点之间的差应在预定阈值内。
根据一个实施方式,基于所有螺旋路径的五次函数来限定目标函数。对目标函数的五次函数的输入参数执行优化,同时满足上述约束。在一个实施方式中,目标函数表示与所有参考线段相关联的所有五次函数的和,并且执行优化,使得目标函数的输出达到最小值,同时满足上述一组约束。迭代地执行优化,修改变量,并且评估该组约束,直到目标函数在当前迭代中的输出类似于目标函数在前一迭代中的输出。术语“类似”在本文中是指两个连续迭代的输出之间的差低于预定阈值。
在该方法中,可将参考线(例如,如图5中所示的诸如第二参考线段S2的参考线段)建模为具有与一个螺旋路径连接的两个连续参考点的一序列分段五次螺旋路径。允许输入点在预定的一个或多个边界内稍微偏离它们的原始位置,预定的一个或多个边界可由用户限定或配置。在生成地图数据时,边界模拟传感器精度的置信水平,处理标记误差等。在一个实施方式中,优化中的变量选择如下,给定n个点:
Figure BDA0002530501370000201
Figure BDA0002530501370000202
参考线的平滑度建模为曲率变化率的绝对值,即,五次函数θ(s)的二阶导数。
根据一个实施方式,参考线段中的每个均分割成多个子线段。每个子线段均表示参考线段的分段路径内的分段子路径。每个子线段均由同一参考线段的五次函数表示。因此,存在来自一个分段路径的m个中间点作为探测点。目标是使子线段的五次函数最小化。目标函数限定为参考线段中的每个的子线段的五次函数的输出的和。在一个实施方式中,目标函数限定如下:
Figure BDA0002530501370000203
受以下点位置移动约束的限制:
Figure BDA0002530501370000211
Figure BDA0002530501370000212
Figure BDA0002530501370000213
其中,r是可调参数。
在一个实施方式中,目标函数表示每个五次多项式函数的二阶导数的平方和。坐标(xi,yi)表示输入点pi的原始位置,以及ri表示点pi的边界,边界可以是用户可配置的。坐标(xi,yi)是基于如上所述的相应五次函数的积分导出的。
图8是示出根据一个实施方式的用于平滑参考线的过程的示例的流程图。过程800可由可包括软件、硬件或其组合的处理逻辑来执行。例如,过程800可由图4的规划模块305执行。
参照图8,在操作801中,响应于接收到表示与自动驾驶车辆(ADV)相关联的从第一位置到第二位置的路线的原始参考线,处理逻辑使用二次规划(QP)样条平滑器平滑原始参考线以生成平滑参考线。在操作802中,处理逻辑识别平滑参考线上的一个或多个段,其中,所识别的参考线段中的每个均包括超过预定大小的曲率。
在操作803中,处理逻辑使用螺旋平滑器对识别的一个或多个参考线段中的每个进行平滑,包括根据一组约束来优化识别的曲率,使得目标函数的输出达到最小值,同时满足该组约束。在操作804中,使用平滑参考线来控制ADV。
应注意,如上文示出和描述的部件中的一些或全部可在软件、硬件或其组合中实施。例如,此类部件可实施为安装并存储在永久性存储装置中的软件,所述软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本申请所述的过程或操作。可替代地,此类部件可实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA))中的可执行代码,所述可执行代码可经由来自应用的相应驱动程序和/或操作系统来访问。此外,此类部件可实施为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储装置、传输或显示装置内类似地表示为物理量的其它数据。
本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器装置)。
前述附图中所描绘的过程或方法可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可按不同的顺序执行。此外,一些操作可并行地执行而不是顺序地执行。
本公开的实施方式并未参考任何特定的编程语言进行描述。应认识到,可使用多种编程语言来实施如本文描述的本公开的实施方式的教导。
在以上的说明书中,已经参考本公开的具体示例性实施方式对本公开的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本公开的更宽泛精神和范围的情况下,可对本发明作出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。

Claims (20)

1.一种用于操作自动驾驶车辆(ADV)的计算机实施的方法,所述方法包括:
响应于接收到表示与ADV相关联的从第一位置到第二位置的路线的原始参考线,使用二次规划(QP)样条平滑方法来平滑所述原始参考线,以生成第一平滑参考线;
识别所述平滑参考线上的一个或多个线段,其中,所识别的参考线段中的每个均包括超过预定大小的曲率;
使用螺旋平滑方法来平滑所述线段中的每个,包括根据一组约束使用目标函数来优化所述线段,使得所述目标函数的输出达到最小值,同时满足所述一组约束,生成第二平滑参考线;以及
基于所述第二平滑参考线规划轨迹以控制所述ADV。
2.如权利要求1所述的方法,其中,所述曲率的大小通过所述曲率的半径或度数来测量。
3.如权利要求1所述的方法,其中,所述QP样条平滑方法和所述螺旋平滑在同一规划周期期间执行。
4.如权利要求1所述的方法,其中,所述QP样条平滑方法和所述螺旋平滑方法在不同的规划周期期间执行。
5.如权利要求1所述的方法,其中,所述预定大小能够基于所述路线的道路状况和所述ADV的速度动态调整。
6.如权利要求1所述的方法,其中,所述一组约束中的至少一个能够进行动态调整,其中,所述一组约束表示所述ADV的初始位置、方向和曲率。
7.如权利要求1所述的方法,其中,一个或多个所述曲率包括U形转弯、左转弯或右转弯中的一个或多个。
8.一种存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时致使所述处理器执行操作自动驾驶车辆(ADV)的操作,所述操作包括:
响应于接收到表示与ADV相关联的从第一位置到第二位置的路线的原始参考线,使用二次规划(QP)样条平滑方法来平滑所述原始参考线,以生成第一平滑参考线;
识别所述平滑参考线上的一个或多个线段,其中,所识别的参考线段中的每个均包括超过预定大小的曲率;
使用螺旋平滑方法来平滑所述线段中的每个,包括根据一组约束使用目标函数来优化所述线段,使得所述目标函数的输出达到最小值,同时满足所述一组约束,生成第二平滑参考线;以及
基于所述第二平滑参考线规划轨迹以控制所述ADV。
9.如权利要求8所述的非暂时性机器可读介质,其中,所述曲率的大小通过所述曲率的半径或度数来测量。
10.如权利要求8所述的非暂时性机器可读介质,其中,所述QP样条平滑方法和所述螺旋平滑方法在同一规划周期期间执行。
11.如权利要求8所述的非暂时性机器可读介质,其中,所述QP样条平滑方法和所述螺旋平滑方法在不同的规划周期期间执行。
12.如权利要求8所述的非暂时性机器可读介质,其中,所述预定大小能够基于所述路线的道路状况和所述ADV的速度动态调整。
13.如权利要求8所述的非暂时性机器可读介质,其中,所述一组约束中的至少一个能够进行动态调整,其中,所述一组约束表示所述ADV的初始位置、方向和曲率。
14.如权利要求8所述的非暂时性机器可读介质,其中,一个或多个所述曲率包括U形转弯、左转弯或右转弯中的一个或多个。
15.一种数据处理系统,包括:
处理器;以及
存储器,联接至所述处理器以存储指令,所述指令在由所述处理器执行时致使所述处理器执行操作自动驾驶车辆(ADV)的操作,所述操作包括
响应于接收到表示与ADV相关联的从第一位置到第二位置的路线的原始参考线,使用二次规划(QP)样条平滑方法来平滑所述原始参考线,以生成第一平滑参考线;
识别所述平滑参考线上的一个或多个线段,其中,所识别的参考线段中的每个均包括超过预定大小的曲率;
使用螺旋平滑方法来平滑所述线段中的每个,包括根据一组约束使用目标函数来优化所述线段,使得所述目标函数的输出达到最小值,同时满足所述一组约束,生成第二平滑参考线;以及
基于所述第二平滑参考线规划轨迹以控制所述ADV。
16.如权利要求15所述的系统,其中,所述曲率的大小通过所述曲率的半径或度数来测量。
17.如权利要求15所述的系统,其中,所述QP样条平滑方法和所述螺旋平滑方法在同一规划周期期间执行。
18.如权利要求15所述的系统,其中,所述QP样条平滑方法和所述螺旋平滑方法在不同的规划周期期间执行。
19.如权利要求15所述的系统,其中,所述预定大小能够基于所述路线的道路状况和所述ADV的速度动态调整。
20.如权利要求15所述的系统,其中,所述一组约束中的至少一个能够进行动态调整,其中,所述一组约束表示所述ADV的初始位置、方向和曲率,以及其中,一个或多个所述曲率包括U形转弯、左转弯或右转弯中的一个或多个。
CN201980006327.0A 2019-12-20 2019-12-20 基于样条曲线和螺旋曲线的参考线平滑方法 Pending CN113286983A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/127123 WO2021120200A1 (en) 2019-12-20 2019-12-20 Spline curve and spiral curve based reference line smoothing method

Publications (1)

Publication Number Publication Date
CN113286983A true CN113286983A (zh) 2021-08-20

Family

ID=76437320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980006327.0A Pending CN113286983A (zh) 2019-12-20 2019-12-20 基于样条曲线和螺旋曲线的参考线平滑方法

Country Status (4)

Country Link
US (1) US20210188286A1 (zh)
EP (1) EP3861291B1 (zh)
CN (1) CN113286983A (zh)
WO (1) WO2021120200A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113895463A (zh) * 2021-11-25 2022-01-07 北京航空航天大学 一种适用于自动驾驶车辆掉头的路径规划方法
CN114137972A (zh) * 2021-11-24 2022-03-04 广州小鹏自动驾驶科技有限公司 路径生成方法、装置、交通工具及存储介质

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3882813A1 (en) 2020-03-20 2021-09-22 Aptiv Technologies Limited Method for generating a dynamic occupancy grid
EP3888988A1 (en) * 2020-03-30 2021-10-06 Aptiv Technologies Limited Method and system for determining a usable distance in front of a vehicle
EP3905105A1 (en) 2020-04-27 2021-11-03 Aptiv Technologies Limited Method for determining a collision free space
EP3905106A1 (en) 2020-04-27 2021-11-03 Aptiv Technologies Limited Method for determining a drivable area
KR102507804B1 (ko) * 2020-12-24 2023-03-09 주식회사 라이드플럭스 자율주행 차량의 주행 경로 생성 방법, 장치 및 컴퓨터프로그램
CN113419534B (zh) * 2021-07-01 2022-03-08 湖南大学 一种基于贝塞尔曲线的转向路段路径规划方法
CN113448335A (zh) * 2021-07-02 2021-09-28 广州小鹏自动驾驶科技有限公司 路径规划方法和装置、车辆和可读存储介质
CN113320547B (zh) * 2021-07-15 2023-08-25 广州小鹏自动驾驶科技有限公司 路径检测方法、装置及汽车
CN115123217B (zh) * 2022-09-02 2022-11-25 青岛慧拓智能机器有限公司 矿区障碍车辆行使轨迹生成方法、装置及计算机设备
CN117032201B (zh) * 2023-03-07 2024-04-12 山西省智慧交通研究院有限公司 一种基于车路协同的矿井下自动驾驶车辆协调规划方法
CN116442992B (zh) * 2023-06-15 2023-09-05 广汽埃安新能源汽车股份有限公司 一种泊车控制方法及装置
CN116698059B (zh) * 2023-07-27 2023-11-28 宁波路特斯机器人有限公司 高精地图参考线的处理方法、存储介质与设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160313735A1 (en) * 2015-04-24 2016-10-27 Autonomous Solutions Inc. System and method for controlling a vehicle
CN109521763A (zh) * 2017-09-18 2019-03-26 百度(美国)有限责任公司 用于自动驾驶车辆的基于约束平滑样条的路径优化
CN109521762A (zh) * 2017-09-18 2019-03-26 百度(美国)有限责任公司 用于自动驾驶车辆的基于2d约束平滑样条的平滑道路参考线路
CN109540159A (zh) * 2018-10-11 2019-03-29 同济大学 一种快速完备的自动驾驶轨迹规划方法
CN109955853A (zh) * 2017-12-14 2019-07-02 百度(美国)有限责任公司 用于操作自动驾驶车辆的方法、系统和存储介质
US10379538B1 (en) * 2017-03-20 2019-08-13 Zoox, Inc. Trajectory generation using motion primitives
US20190361452A1 (en) * 2018-05-22 2019-11-28 King Fahd University Of Petroleum And Minerals Method and system for controlling a vehicle
CN110516880A (zh) * 2019-08-29 2019-11-29 广州小鹏汽车科技有限公司 一种路径处理方法及系统、车辆

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133275B1 (en) * 2017-03-01 2018-11-20 Zoox, Inc. Trajectory generation using temporal logic and tree search
US10948919B2 (en) * 2017-09-11 2021-03-16 Baidu Usa Llc Dynamic programming and gradient descent based decision and planning for autonomous driving vehicles

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160313735A1 (en) * 2015-04-24 2016-10-27 Autonomous Solutions Inc. System and method for controlling a vehicle
US10379538B1 (en) * 2017-03-20 2019-08-13 Zoox, Inc. Trajectory generation using motion primitives
CN109521763A (zh) * 2017-09-18 2019-03-26 百度(美国)有限责任公司 用于自动驾驶车辆的基于约束平滑样条的路径优化
CN109521762A (zh) * 2017-09-18 2019-03-26 百度(美国)有限责任公司 用于自动驾驶车辆的基于2d约束平滑样条的平滑道路参考线路
CN109955853A (zh) * 2017-12-14 2019-07-02 百度(美国)有限责任公司 用于操作自动驾驶车辆的方法、系统和存储介质
US20190361452A1 (en) * 2018-05-22 2019-11-28 King Fahd University Of Petroleum And Minerals Method and system for controlling a vehicle
CN109540159A (zh) * 2018-10-11 2019-03-29 同济大学 一种快速完备的自动驾驶轨迹规划方法
CN110516880A (zh) * 2019-08-29 2019-11-29 广州小鹏汽车科技有限公司 一种路径处理方法及系统、车辆

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DANIEL MELLINGER等: "Mixed-integer_quadratic_program_trajectory_generation_for_heterogeneous_quadrotor_teams", 2012 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION RIVERCENTRE,SAINT PAUL,MINNESOTA,USA, pages 477 - 483 *
陈杰等: "基于螺旋样条的旋翼无人机区域轨迹规划", 中国机械工程, vol. 30, no. 12, pages 1453 - 1459 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114137972A (zh) * 2021-11-24 2022-03-04 广州小鹏自动驾驶科技有限公司 路径生成方法、装置、交通工具及存储介质
CN114137972B (zh) * 2021-11-24 2023-10-31 广州小鹏自动驾驶科技有限公司 路径生成方法、装置、交通工具及存储介质
CN113895463A (zh) * 2021-11-25 2022-01-07 北京航空航天大学 一种适用于自动驾驶车辆掉头的路径规划方法

Also Published As

Publication number Publication date
EP3861291A1 (en) 2021-08-11
EP3861291B1 (en) 2023-01-25
US20210188286A1 (en) 2021-06-24
WO2021120200A1 (en) 2021-06-24
EP3861291A4 (en) 2021-12-15

Similar Documents

Publication Publication Date Title
EP3861291B1 (en) Spline curve and spiral curve based reference line smoothing method
EP3524934B1 (en) Systems and methods for determining a projection of an obstacle trajectory onto a reference line of an autonomous vehicle
CN109521763B (zh) 用于自动驾驶车辆的基于约束平滑样条的路径优化
CN108981730B (zh) 用于为操作自动驾驶车辆生成参考路径的方法和系统
EP3626568B1 (en) Adjusting speeds along a path for autonomous driving vehicles
US10606277B2 (en) Speed optimization based on constrained smoothing spline for autonomous driving vehicles
US10591926B2 (en) Smooth road reference for autonomous driving vehicles based on 2D constrained smoothing spline
CN110728014A (zh) 使用具有加权几何成本的分段螺旋曲线的参考线平滑方法
US11685398B2 (en) Lane based routing system for autonomous driving vehicles
EP3842315B1 (en) Autonomous driving vehicle three-point turn
CN113442945A (zh) 用于自动驾驶车辆的使用反馈的增量式侧向控制系统
US11414096B2 (en) QP spline path and spiral path based reference line smoothing method for autonomous driving
CN113247017B (zh) 用于确保自动驾驶车辆的稳定绕行的双缓冲系统
US11493921B2 (en) Dynamic parameter architecture for QP smoother
CN113815640A (zh) 用于具有不同速度限制的车道的车道变更系统
CN113060118A (zh) 用于柔和降速的速度规划引导线
US11378967B2 (en) Enumeration based failure prevention QP smoother for autonomous vehicles
US11724717B2 (en) Implementation of dynamic cost function of self-driving vehicles
CN113525510B (zh) 自动将自主驾驶车辆的转向返回至中心位置的系统和方法
US11242057B2 (en) Method for optimizing three-point turn of autonomous driving vehicles
US20210200211A1 (en) Method of generating back-up trajectories for self-driving vehicles during emergency

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination