CN115158359A - 改进自主驾驶车辆的规划模块的方法及系统 - Google Patents
改进自主驾驶车辆的规划模块的方法及系统 Download PDFInfo
- Publication number
- CN115158359A CN115158359A CN202210940109.8A CN202210940109A CN115158359A CN 115158359 A CN115158359 A CN 115158359A CN 202210940109 A CN202210940109 A CN 202210940109A CN 115158359 A CN115158359 A CN 115158359A
- Authority
- CN
- China
- Prior art keywords
- adv
- planning module
- module
- planning
- outputs
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0956—Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/02—Estimation 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3492—Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0014—Adaptive controllers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2555/00—Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
- B60W2555/60—Traffic rules, e.g. speed limits or right of way
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to data
- B60W2556/40—High definition maps
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Traffic Control Systems (AREA)
Abstract
本公开提供一种改进自主驾驶车辆的规划模块的方法及系统。接收ADV的规划模块的一个或多个输出。接收ADV的驾驶环境数据。通过基于驾驶环境的数据和规划模块的一个或多个输出确定规划模块的性能分数来评估规划模块的性能。确定规划模块的一个或多个输出是否违反安全规则组中的至少一个。响应于确定规划模块的一个或多个输出违反安全规则组中的至少一个,确定分数大于预定阈值。否则,基于机器学习模型确定分数。通过基于分数调整规划模块的参数集来修改规划模块。
Description
技术领域
本公开的实施例一般涉及操作自主驾驶车辆。更特别地,本公开的实施例涉及评估自主驾驶车辆(autonomous driving vehicle,ADV)的性能。
背景技术
以自主模式(例如,无人驾驶)操作的车辆可以减轻乘坐者,尤其是驾驶员的一些驾驶相关责任。当以自主模式操作时,车辆可以使用车载传感器导航到各种位置,从而允许车辆以最小的人机交互或者在没有任何乘客的一些情况下行驶。
运动规划和控制是自主驾驶中的关键操作。ADV可以有规划模块,为ADV规划路径或路线,以及驾驶参数(例如,距离、速度和/或转弯角度)。评估ADV的规划模块的性能对于了解规划模块在车辆上的操作表现非常重要。但是,知道要衡量哪些指标以及如何评估性能是具有挑战性的。
以前,有经验的工程师设计了大量的人工挑选的指标来评估规划模块的性能。例如,可以使用包括控制性能、安全性能、感觉性能和控制源使用性能在内的不同方面的40个性能指标。然而,这种人工挑选的指标可能需要工程师熟悉特定领域,并且可能是耗时的。
发明内容
一方面,提供一种改进自主驾驶车辆(ADV)的规划模块的方法,包括:
接收ADV的规划模块的一个或多个输出,所述一个或多个输出表示基于参数集规划的轨迹;
根据感知ADV周围的驾驶环境的感知数据,确定规划模块的一个或多个输出是否违反规则组中的至少一个;
响应于确定规划模块的一个或多个输出违反了规则组中的至少一个,基于违反规则组确定分数,所述分数表示规划模块的性能;
响应于确定规划模块的一个或多个输出不违反规则组,使用机器学习模型基于感知数据和一个或多个输出确定分数;以及
通过基于分数调整参数集来修改规划模块,其中修改后的规划模块用于随后驾驶ADV。
另一方面,提供一种其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使所述处理器执行如上所述的方法的操作。
另一方面,提供一种数据处理系统,包括:
处理器;以及
存储器,耦接到处理器并存储指令,当由处理器执行指令时,使处理器执行如上所述的方法的操作。
另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时使得所述处理器执行如上所述的方法。
根据本公开,可以找到最优参数集以实现规划模块的最优性能。
附图说明
本公开的实施例通过示例的方式示出并且不限于附图中的图,在附图中相同的附图标记表示相似的元件。
图1是示出根据一个实施例的联网系统的框图。
图2是示出根据一个实施例的自主驾驶车辆的示例的框图。
图3A-3B是示出根据一个实施例的与自主驾驶车辆一起使用的自主驾驶系统的示例的框图。
图4是示出根据一个实施例的决策和规划过程的示例的框图。
图5A-5B是示出根据一个实施例的用于自主驾驶车辆的规划模块的评估模块的示例的框图。
图6A是示出根据一个实施例的评估自主驾驶车辆的规划模块的过程的示例的流程图。
图6B是示出根据一个实施例的在评估自主驾驶车辆的规划模块的过程中的碰撞检查的示例的框图。
图7是示出根据一个实施例的向自主驾驶车辆提供评估服务的平台的示例的框图。
图8是示出根据一个实施例的改进自主驾驶车辆的规划模块的过程的流程图。
具体实施方式
将参考以下讨论的细节描述本公开的各个实施例和方面,并且附图将示出各个实施例。以下描述和附图是本公开的说明并且不应被解释为限制本公开。描述了许多具体细节以提供对本公开的各个实施例的全面理解。然而,在某些情况下,为了提供对本公开的实施例的简要讨论,没有描述公知或常规的细节。
说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性可包括在本公开的至少一个实施例中。在说明书中的各个地方出现的短语“在一个实施例中”不一定指同一实施例。
根据一些实施例,提供了一种用于评估ADV的规划模块的性能的混合性能评测器。来自规划模块的输出(例如规划轨迹、障碍物信息)和来自周围环境的数据可以输入到性能评测器中。性能评测器可以组合基于规则的安全评估和基于机器学习(ML)模型的规划模块的性能评估。首先,可以检查是否存在任何潜在的安全违规。如果发现有安全违规,性能评测器可以返回一个比ML模型可以产生的数值更大的大数值。如果没有发现安全问题,则可以基于ML模型评估规划模块的性能。可以训练ML模型以专注于从专家(例如,人类驾驶员)的轨迹中学习。规划模块的输出越接近人类驾驶员的轨迹,规划模块的性能越好,规划模块的分数越低。性能评测器可以提高规划模块的性能,例如,在调整规划模块的参数集的过程中。基于性能评测,可以找到最优参数集以实现规划模块的最优性能。
根据一些实施例,接收ADV的规划模块的一个或多个输出。一个或多个输出包括用于ADV的规划轨迹,并且规划模块可以包括参数集。接收ADV的驾驶环境的数据。通过基于驾驶环境的数据和规划模块的一个或多个输出确定规划模块的性能的分数来评估规划模块的性能。确定规划模块的一个或多个输出是否违反安全规则组中的至少一个。响应于确定规划模块的一个或多个输出违反安全规则组中的至少一个,确定分数大于预定阈值。响应于确定规划模块的一个或多个输出不违反安全规则组中的至少一个,基于机器学习模型确定分数。通过基于分数调整参数集来修改规划模块。根据由修改后的规划模块生成的修改后的轨迹控制ADV以自主驾驶。
图1是示出根据本公开的一个实施例的自主驾驶网络配置的框图。参考图1,网络配置100包括自主驾驶车辆(ADV)101,自主驾驶车辆(ADV)101可以通过网络102通信地耦接到一个或多个服务器103-104。尽管示出一个ADV,但是多个ADV可以通过网络102彼此耦接和/或耦接到服务器103-104。网络102可以是任何类型的网络,诸如局域网(LAN)、诸如因特网的广域网(WAN)、蜂窝网络、卫星网络、或其组合,有线或无线。服务器103-104可以是任何类型的服务器或服务器群集,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(map andpoint of interest,MPOI)服务器或位置服务器等。
ADV指的是能够被配置为处于自主模式的车辆,在自主模式中,车辆在驾驶员很少或没有输入的情况下导航通过环境。这种ADV可包括具有一个或多个传感器的传感器系统,传感器被配置为检测关于车辆操作于其中的环境的信息。车辆及其相关联的控制器使用检测的信息导航通过环境。ADV 101可以以手动模式、全自主模式或部分自主模式操作。
在一个实施例中,ADV 101包括但不限于自主驾驶系统(ADS)110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。ADV 101还可包括在普通车辆中包括的某些常见组件,例如引擎、车轮、转向盘、变速器等,这些组件可以被车辆控制系统111和/或ADS 110使用各种通信信号和/或命令(例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等)控制。
组件110-115可以经由互连、总线、网络或其组合彼此通信地耦接。例如,组件110-115可以经由控制器局域网(CAN)总线彼此通信地耦接。CAN总线是一种车辆总线标准,其被设计为允许微控制器和设备在没有主机的应用中彼此通信。它是基于消息的协议,最初被设计用于汽车内的多路电气布线,但是也用于许多其它环境中。
现在参考图2,在一个实施例中,传感器系统115包括但不限于一个或多个相机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214以及光检测和测距(light detection and range,LIDAR)单元215。GPS系统212可包括可操作以提供关于ADV的位置的信息的收发器。IMU单元213可基于惯性加速度感测ADV的位置和朝向变化。雷达单元214可以表示使用无线电信号感测ADV的局部环境内的对象的系统。在一些实施例中,除了感测对象之外,雷达单元214还可以额外地感测对象的速度和/或航向。LIDAR单元215可以使用激光感测ADV所处的环境中的对象。LIDAR单元215可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机211可包括一个或多个设备以捕获ADV周围的环境的图像。相机211可以是静态相机和/或摄影机。相机可以是机械可移动的,例如通过将相机安装在旋转和/或倾斜的平台上。
传感器系统115还可包括其它传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可以被配置为捕获来自ADV周围的环境的声音。转向传感器可以被配置为感测转向盘、车辆的车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可以集成为集成的油门/制动传感器。
在一个实施例中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调节车辆的方向或航向。油门单元202用于控制马达或引擎的速度,马达或引擎的速度转而控制车辆的速度和加速度。制动单元203通过提供摩擦力以使车辆的车轮或轮胎变慢来使车辆减速。注意,图2所示的组件可以以硬件、软件或其组合实现。
返回参考图1,无线通信系统112允许在ADV 101和外部系统,诸如设备、传感器、其他车辆等之间的通信。例如,无线通信系统112可以直接或经由通信网络与一个或多个设备无线通信,诸如通过网络102与服务器103-104通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(WLAN),例如使用WiFi与另一组件或系统通信。无线通信系统112可以例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、显示设备、车辆101内的扬声器)通信。用户接口系统113可以是在车辆101内实现的外围设备的部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
ADV 101的一些或所有功能可以由ADS 110控制或管理,尤其是当以自主驾驶模式操作时。ADS 110包括必要的硬件(例如,处理器、存储器、存储设备)和软件(例如,操作系统、规划和路由程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理接收的信息,规划从起点到目的地点的路线或路径,然后基于规划和控制信息驾驶车辆101。可替换地,ADS 110可以与车辆控制系统111集成。
例如,作为乘客的用户可以例如经由用户接口指定行程的起始位置和目的地。ADS110获得行程相关数据。例如,ADS 110可以从MPOI服务器获得位置和路线信息,MPOI服务器可以是服务器103-104的部分。位置服务器提供位置服务,以及MPOI服务器提供地图服务和某些位置的POI。可替换地,这种位置和MPOI信息可本地缓存在ADS 110的永久存储设备中。
当ADV 101沿着路线移动时,ADS 110还可以从交通信息系统或服务器(trafficinformation system or server,TIS)获得实时交通信息。注意,服务器103-104可以由第三方实体操作。可替换地,服务器103-104的功能可以与ADS 110集成。基于实时交通信息、MPOI信息和位置信息,以及由传感器系统115检测或感测的实时局部环境数据(例如,障碍物、对象、附近车辆),ADS 110可规划最优路线,并例如经由控制系统111根据规划路线驾驶车辆101,以安全且高效地到达指定目的地。
服务器103可以是用以执行用于各种客户端的数据分析服务的数据分析系统。在一个实施例中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(ADV或者是由人类驾驶员驾驶的常规车辆)收集驾驶统计123。驾驶统计123包括指示发出的驾驶命令(例如,油门、制动、转向命令)和由车辆的传感器在不同的时间点捕获的车辆的响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计123还可包括描述不同的时间点的驾驶环境的信息,诸如路线(包括起始位置和目的地位置)、MPOI、道路状况、天气状况等。
基于驾驶统计123,机器学习引擎122为各种目的生成或训练一组规则、算法和/或预测模型124。然后可以将算法124上传到ADV上,以便在自主驾驶期间实时使用。
图3A和3B是示出根据一个实施例的与ADV一起使用的自主驾驶系统的示例的框图。系统300可以实现为图1的ADV 101的一部分,包括但不限于ADS 110、控制系统111和传感器系统115。参考图3A-3B,ADS 110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路由模块307。
模块301-307中的一些或全部可以以软件、硬件或其组合来实现。例如,这些模块可被安装在永久存储设备352中,加载到存储器351中,并由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦接到图2的车辆控制系统111的一些或全部模块或与之集成。模块301-307中的一些可以被集成在一起作为集成模块。
定位模块301确定ADV 300的当前位置(例如,利用GPS单元212)并管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户接口登录并指定行程的起始位置和目的地。定位模块301与ADV 300的其他组件交流诸如地图和路线数据311,以获得与行程有关的数据。例如,定位模块301可以从位置服务器和地图与POI(MPOI)服务器获得位置和路线数据。位置服务器提供位置服务,以及MPOI服务器提供地图服务和某些位置的POI,它们可作为地图和路线数据311的部分被缓存。当ADV 300沿着路线移动时,定位模块301还可以从交通信息系统或服务器获得实时交通信息。
基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员将感知到的驾驶员正在驾驶的车辆周围的情况。感知可包括车道配置、交通灯信号、例如以对象形式的另一车辆、行人、建筑物、人行横道或其它交通相关标志(例如,停止标志、让步标志)等的相对位置。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,直的或弯曲的)、车道的宽度、道路中的车道数量、单向或双向车道、合并或分离车道、驶出车道等。
感知模块302可包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机捕获的图像,以便识别ADV的环境中的对象和/或特征。对象可包括交通信号、车行道边界、其他车辆、行人和/或障碍物等。计算机视觉系统可使用对象识别算法、视频跟踪和其它计算机视觉技术。在一些实施例中,计算机视觉系统可以映射环境、跟踪对象、以及估计对象的速度等。感知模块302还可基于由诸如雷达和/或LIDAR的其他传感器提供的其他传感器数据检测对象。
对于每个对象,预测模块303预测对象将在环境下表现什么。鉴于一组地图/路线信息311和交通规则312,基于感知在时间点的驾驶环境的感知数据执行预测。例如,如果对象是在相反方向上的车辆并且当前驾驶环境包括十字路口,则预测模块303将预测车辆将可能直线向前移动还是转弯。如果感知数据指示十字路口没有交通灯,则预测模块303可以预测车辆在进入十字路口之前可能必须完全停止。如果感知数据指示车辆当前处于仅左转弯车道或仅右转弯车道,则预测模块303可预测车辆将更可能分别进行左转弯或右转弯。
对于每个对象,决策模块304作出关于如何处理该对象的决策。例如,对于特定对象(例如,在交叉路线中的另一车辆)以及描述该对象的元数据(例如,速度、方向、转向角),决策模块304决定如何遇到该对象(例如,超车、让行、停止、通过)。决策模块304可根据一组规则,诸如交通规则或驾驶规则312作出这些决策,这组规则可存储于永久存储设备352中。
路由模块307被配置为提供从起点到目的地点的一条或多条路线或路径。对于例如从用户接收到的从起始位置到目的地位置的给定行程,路由模块307获得路线和地图信息311并且确定从起始位置用以到达目的地位置的所有可能的路线或路径。路由模块307可以为其确定的从起始位置用以到达目的地位置的每条路线生成地形图形式的参考线。参考线是指没有来自诸如其它车辆、障碍物或交通状况的其它者的任何干扰的理想路线或路径。也就是说,如果在道路上没有其它车辆、行人或障碍物,则ADV应该精确地或紧密地跟随参考线。然后,地形图被提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305检查所有可能的路线,以鉴于由其它模块提供的其它数据(诸如来自定位模块301的交通状况、由感知模块302感知的驾驶环境和由预测模块303预测的交通状况)选择和修正最优路线中的一个。取决于在时间点的特定驾驶环境,用于控制ADV的实际路径或路线可以接近或不同于由路由模块307提供的参考线。
基于对于每个感知的对象的决策,规划模块305使用由路由模块307提供的参考线作为基础规划用于ADV的路径或路线以及驾驶参数(例如,距离、速度和/或转向角)。也就是说,对于给定对象,决策模块304决策对该对象做什么,而规划模块305确定如何做。例如,对于给定对象,决策模块304可以决策经过对象,而规划模块305可以确定是在对象的左侧还是右侧经过。规划和控制数据由规划模块305生成,包括描述车辆300在下一个移动周期(例如,下一个路线/路径段)中将如何移动的信息。例如,规划和控制数据可指示车辆300以30英里每小时(mph)的速度移动10米,然后以25mph的速度改变到右车道。
基于规划和控制数据,控制模块306通过根据由规划和控制数据限定的路线或路径向车辆控制系统111发送适当的命令或信号来控制和驾驶ADV。规划和控制数据包括足够的信息以沿着路径或路线在不同的时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施例中,规划阶段在多个规划周期,也称为驾驶周期,诸如在100毫秒(ms)的每个时间间隔内内执行。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。也就是说,对于每100ms,规划模块305规划下一个路线段或路径段,例如包括目标位置和ADV到达目标位置所需的时间。可替换地,规划模块305还可指定具体速度、方向和/或转向角等。在一个实施例中,规划模块305为下一预定的时间段,诸如5秒规划路线段或路径段。对于每个规划周期,规划模块305基于在先前周期中规划的目标位置规划用于当前周期(例如,下一个5秒)的目标位置。然后控制模块306基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。
注意,决策模块304和规划模块305可以集成为集成模块。决策模块304/规划模块305可包括导航系统或导航系统的功能,以确定用于ADV的驾驶路径。例如,导航系统可以确定一系列速度和方向航向,以影响ADV沿着基本上避开感知的障碍物的路径的移动,同时大体使ADV沿着通向最终目的地的基于车行道的路径前进。目的地可以根据经由用户接口系统113的用户输入而被设置。当ADV在操作时,导航系统可以动态地更新驾驶路径。导航系统可以并入来自GPS系统的数据和一个或多个地图,以便确定用于ADV的驾驶路径。
图4是示出根据一个实施例的决策和规划系统的示例的框图。系统400可以实现为图3A-3B的自主驾驶系统300的一部分,以执行路径规划和速度规划操作。参考图4,决策和规划系统400(也称为规划和控制或PnC系统或模块)包括路由模块307、定位/感知数据401、路径决策模块403、速度决策模块405等,路径规划模块407、速度规划模块409、聚合器411和轨迹计算器413。
路径决策模块403和速度决策模块405可以作为决策模块304的一部分来实现。在一个实施例中,路径决策模块403可以包括路径状态机、一个或多个路径交通规则以及站点横向地图生成器。路径决策模块403可以使用动态规划生成粗略路径轮廓作为路径/速度规划模块407和409的初始约束。
在一个实施例中,路径状态机包括至少三种状态:巡航状态、变道状态和/或空闲状态。路径状态机提供先前的规划结果和重要信息,诸如ADV是在巡航还是变道。可以是图3A的驾驶/交通规则312的一部分的路径交通规则包括可以影响路径决策模块的结果的交通规则。例如,路径交通规则可以包括交通信息,诸如ADV附近的施工交通标志,可以避开具有这种施工标志的车道。根据状态、交通规则、由路由模块307提供的参考线以及ADV的感知模块302感知的障碍物,路径决策模块403可以决定如何处理感知到的障碍物(即忽略、超车、让路、停止、通过)作为粗略路径轮廓的一部分。
例如,在一个实施例中,粗略路径轮廓由成本函数生成,成本函数包括基于以下的成本:路径曲率以及从参考线和/或参考点到障碍物的距离。选择参考线上的点并将其移动到参考线的左侧或右侧,作为表示路径候选的候选移动。每个候选移动具有相关联的成本。参考线上的一个或多个点的候选移动的相关成本可以使用动态规划来求解,以按顺序获得最优成本,一次一个点。
在一个实施例中,站点横向(SL)地图生成器(未示出)生成SL地图作为粗略路径轮廓的一部分。SL地图是包括由ADV感知的障碍物信息的二维几何地图(类似于x-y坐标平面)。从SL地图,路径决策模块403可以布置遵循障碍物决策的ADV路径。动态规划(也称为动态优化)是一种数学优化方法,它将要解决的问题分解为一系列值函数,只求解这些值函数中的每一个一次并存储它们的解。下次出现相同的值函数时,只需查找先前计算的解即可,而不是重新计算其解,节省计算时间。
速度决策模块405或速度决策模块包括速度状态机、速度交通规则和站点时间图生成器(未示出)。速度决策过程405或速度决策模块可以使用动态规划生成粗略的速度轮廓作为路径/速度规划模块407和409的初始约束。在一个实施例中,速度状态机包括至少两种状态:加速状态和/或减速状态。可以是图3A的驾驶/交通规则312的一部分的速度交通规则包括可以影响速度决策模块的结果的交通规则。例如,速度交通规则可以包括交通信息,诸如红/绿交通信号灯、交叉路线中的另一车辆等。从速度状态机的状态、速度交通规则、由决策模块403生成的粗略路径轮廓/SL地图和感知障碍物,速度决策模块405可以生成粗略的速度轮廓来控制何时加速和/或减速ADV。SL图生成器可以生成站点时间(ST)图作为粗略速度轮廓的一部分。
在一个实施例中,路径规划模块407包括一个或多个SL地图、几何平滑器和路径成本模块(未示出)。SL地图可以包括由路径决策模块403的SL地图生成器生成的站点横向地图。路径规划模块407可以使用粗略的路径轮廓(例如站点横向地图)作为使用二次规划重新计算最优参考线的初始约束。二次规划(QP)涉及最小化或最大化受边界、线性等式和不等式约束的目标函数(例如,具有多个变量的二次函数)。
动态规划和二次规划之间的一个区别是二次规划一次优化参考线上所有点的所有候选移动。几何平滑器可以将平滑算法(诸如B样条或回归)应用于输出的站点横向地图。路径成本模块可以使用路径成本函数重新计算参考线,以优化用于参考点的候选移动的总成本,例如,使用由QP模块(未示出)执行的QP优化。例如,在一个实施例中,总路径成本函数可以定义如下:
其中路径成本是参考线上所有点的总和,航向表示点相对于参考线之间的径向角度(例如方向)的差,曲率表示由这些点形成的曲线的曲率相对于该点的参考线的差,以及距离表示从该点到参考线的横向(垂直于参考线的方向)距离。在一些实施例中,距离表示从该点到参考线的目的地位置或中间点的距离。在另一个实施例中,曲率成本是在相邻点处形成的曲线的曲率值之间的变化。注意,参考线上的点可以选择为与相邻点距离相等的点。基于路径成本,路径成本模块可以通过使用二次规划优化,例如,通过QP模块,最小化路径成本来重新计算参考线。
速度规划模块409包括站点时间图、序列平滑器和速度成本模块。站点时间图可以包括由速度决策模块405的ST图生成器生成的ST图。速度规划模块409可以使用粗略的速度轮廓(例如,站点时间图)和来自路径规划模块407的结果作为初始约束来计算最优站点时间曲线。序列平滑器可以将平滑算法(诸如B样条或回归)应用于点的时间序列。速度成本模块可以使用速度成本函数重新计算ST图,以优化动作候选者(例如,加速/减速)在不同时间点的总成本。
例如,在一个实施例中,总速度成本函数可以是:
其中速度成本是所有时间进度点的总和,速度'表示加速度值或在两个相邻点之间改变速度的成本,速度”表示加加速度值,或加速度值的导数或在两个相邻点之间改变加速度的成本,以及距离表示从ST点到目的地位置的距离。在这里,速度成本模块通过使用二次规划优化,例如,QP模块最小化速度成本来计算站点时间图。
聚合器411执行聚合路径和速度规划结果的功能。例如,在一个实施例中,聚合器411可以将二维ST图和SL地图组合成三维SLT图。在另一个实施例中,聚合器411可以基于SL参考线或ST曲线上的两个连续点进行内插(或填充附加点)。在另一个实施例中,聚合器411可以将参考点从(S,L)坐标转换为(x,y)坐标。
在一个实施例中,轨迹生成器413可以计算最终轨迹以控制ADV 510。例如,基于由聚合器411提供的SLT图,轨迹生成器413计算(x,y,T)点的列表,其指示在什么时间ADC应该通过特定的(x,y)坐标。
因此,路径决策模块403和速度决策模块405被配置为考虑障碍物和/或交通状况而生成粗略路径轮廓和粗略速度轮廓。给定关于障碍物的所有路径和速度决策,路径规划模块407和速度规划模块409将根据障碍物使用QP规划来优化粗略路径轮廓和粗略速度轮廓,以生成具有最小路径成本和/或速度成本的最优规划轨迹。
图5A-5B是示出根据一个实施例的用于ADV的规划模块(例如,305、407、409)的评估模块500的示例的框图。如上所述,规划模块(例如,305、407、409)可以规划用于ADV的路径或路线,以及驾驶参数(例如,距离、速度和/或转向角)。规划模块(例如,305、407、409)可以生成具有最小路径成本和/或速度成本的规划轨迹。规划模块(例如,305、407、409)的输出可以包括规划的轨迹、ADV的航向、ADV的速度、ADV的加速度、到ADV的障碍物的距离、来自不同方向的障碍物信息、障碍物的预测轨迹、道路/车道配置等。规划模块(例如,305、407、409)可以包括参数集,诸如速度的加权因子、加速度的加权因子、加加速度的加权因子、障碍物与ADV之间的安全距离的加权因子、或参考速度与规划速度之间的差距的加权因子等。规划模块的性能可以基于规划模块的输出。规划模块的输出可以基于参数集。
评估ADV的规划模块的性能对于了解规划模块在车辆上表现如何,从而提高规划模块的安全性和性能是重要的。开发一种提供ADV的规划模块的性能评估的方法和/或系统是有利的。规划模块的性能评估可以从多个角度分析规划模块,以便在正确的方向上提高规划模块的性能,例如在调整规划模块的过程中。调整规划模块的过程可以包括找到最优参数集以实现规划模块的优化性能。
参考图5A和图5B,用于ADV的规划模块的评估模块500可以包括在特定领域几乎不需要熟悉的性能评估或评测的混合版本。评估模块500可以包括对规划模块的性能的基于交通规则的评估和基于机器学习的评估。
评估模块500可以包括安全模块504和机器学习(ML)模块514。安全模块504可以包括碰撞模块505、交通法规模块506和/或决策模块507。ML模块514可以包括特征提取模块515、比较模块516、决策模块517。评估模块500的一些或全部模块可以软件、硬件或其组合实现。例如,模块504-507、514-517可以安装在永久存储设备中,加载到存储器中,并由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦接或集成。一些模块505-507、515-517可以作为集成模块集成在一起。
评估模块500可以通过基于规划模块(例如,305、407、409)的输出和来自驾驶环境模块501的数据确定规划模块的性能的分数来评估规划模块的性能。规划模块的性能的分数可以基于交通规则和/或ML模型。来自驾驶环境模块501的数据可以包括来自地图、来自安装在ADV上的传感器、来自GPS或来自服务器等的数据。来自驾驶环境模块501的数据可以包括障碍物信息、道路结构、交通状况等。
评估模块500可用于模拟环境中,例如在参数调整过程中,以有效地测试规划模块的参数集。评估模块500可以组合安全模块504和ML模块514来评估规划模块的性能。评估模块500可以将规划模块的输出(例如规划轨迹、障碍物信息)作为其输入,并返回分数,例如正分,作为规划模块的评估结果。在一个实施例中,分数越低,规划模块的性能越好。
安全模块504被配置为确定规划模块的输出,例如规划轨迹、障碍物信息等,是否违反安全规则组中的至少一个。安全模块504可以基于安全规则检查是否存在任何潜在的安全违规。由于安全是ADV的自主驾驶系统的最高优先级,因此避免危险对于规划模块非常重要。响应于确定轨迹违反安全规则组中的至少一个,安全模块504可以确定分数大于预定阈值。
碰撞模块505被配置为确定规划模块的输出,例如规划轨迹,是否会导致ADV的碰撞。交通法规模块506被配置为确定规划模块的输出,例如规划轨迹,是否具有交通法规违规,包括交通信号灯违规、限速违规或变道准则违规。例如,交通法规模块506可以检查ADV在车道跟随场景中是否保持一定的安全距离,在紧急停车时是否没有追尾碰撞,ADV是否遵循变道准则,是否没有红灯或黄灯违规,或是否没有限速违规。
决策模块507被配置为响应于确定规划模块的输出违反了安全规则组中的至少一个而确定分数大于预定阈值。如果存在安全违规,则决策模块507可以返回大于ML模型可以产生的预定阈值的数字,以指示此模块输出是不可接受的。
如果不存在安全问题,则可以在ML学习模块514中评估规划模块的性能。ML学习模块514可以包括可以用任何神经元网络训练的深度学习模型。ML学习模块514可以基于驾驶环境的数据和规划模块的输出。此数据驱动的ML学习模块514可以假设人类驾驶是期望的行为。可以训练ML学习模块514以专注于从专家,例如人类驾驶员学习轨迹。规划模块的输出越接近人类驾驶员,规划模块的性能越好,规划模块的分数越低。
特征提取模块515被配置为基于规划模块的输出和ADV的周围驾驶环境的数据提取特征组。该特征组可以包括来自不同方向的障碍物信息、道路结构、ADV的状态、ADV的速度、ADV的加速度或ADV的加加速度中的一个或多个。障碍物信息可以包括障碍物的大小、到障碍物的距离、障碍物的预测轨迹等。障碍物的方向可以包括前方、左前方、右前方、左方、右方、左后方、右后方、后方等。道路结构可以包括车道配置、车道边界的实线、车道边界的虚线、车道曲率、车道坡度等。ADV的状态可以包括车道跟随状态、变道、高速公路驶出状态等。该特征组可用于训练ML模块514。该特征组可用于将规划模块的性能与人类驾驶员的性能进行比较。在一个实施例中,可以使用一组相同的特征来训练ML模块514并将规划模块的性能与人类驾驶员的性能进行比较。在另一个实施例中,可以使用第一特征组来训练ML模块514,并且可以使用第二特征组来比较规划模块的性能与人类驾驶员的性能。
比较模块516可以被配置为将规划模块的性能与人类驾驶员的性能进行比较。可以预先收集来自人类驾驶员的轨迹组。可以从人类驾驶员的这组轨迹中提取特征组。从规划模块的输出中提取的特征组可以与从人类驾驶员的轨迹组中提取的特征组进行比较。
决策模块517可以被配置为基于比较模块516的比较结果来确定规划模块的性能分数。可以基于从规划模块中提取的特征组和从先前从人类驾驶员收集的轨迹组中提取的特征组之间的相似性来确定规划模块的性能分数。ML模型514的目标是确定从规划模块中提取的特征组是否与人类行为相似。越接近人类驾驶行为,性能越好,分数越低。当从规划模块中提取的特征组与从先前从人类驾驶员收集的轨迹组中提取的特征组更相似时,规划模块的性能更好,并且规划模块的性能分数较低,反之亦然。
规划模块的参数集,包括但不限于速度的加权因子、加速度的加权因子、加加速度的加权因子、障碍物与ADV之间的安全距离的加权因子,或参考速度和规划速度之间的差距的加权因子,可以基于规划模块的性能分数来调整。因此,可以调整或修改规划模块,直到分数为最低分数。这样,可以提高规划模块的性能。
图6A是示出了根据一个实施例的评估自主驾驶车辆的规划模块的过程的示例的图600a。分析ADV的规划模块的性能很重要,因为它有助于了解规划模块将在车辆上如何表现。性能评测器602的过程可以提供可以从各种角度分析规划模块的评估,以便在正确的方向上改进规划模块的性能,例如,在调整规划模块的过程中。调整规划模块的过程可以包括找到提供最优性能的最优参数集。性能评测器602可以包括性能评测器的混合版本,其可以用于评估ADV的规划模块的性能。性能评测器602可以例如由评估模块502执行,如结合图5A和图5B所讨论的。
参考图6A,性能评测器602可以在模拟环境中执行,例如,在参数调整的过程中,以高效地测试规划模块的参数集。性能评测器602可以结合基于规则的安全评估和基于ML学习的评估来评估ADV的规划模块的性能。性能评测器602可以是安全决策器(例如,504)和ML模型(例如,514)来评估模块的性能。
在块604,可以将规划模块的输出(例如规划轨迹、障碍物信息)输入到评测器602中以评估规划模块的性能。
在块606,可以将来自ADV的地图、GPS或传感器的包括障碍物信息、道路结构等的周围环境数据输入到评测器602中以评估规划模块的性能。
在块608,评测器602可以执行基于规则的安全性检查。评测器602可以检查是否存在任何潜在的安全违规。由于安全是ADV的最高优先级,因此避免危险对于规划模块很重要。基于规则的安全性检查的过程可以基于规则,例如交通规则。
由于基于ML模型学习的模型依赖于来自规划模块和周围环境的数据,为防止边缘情况或看不见的情况不被覆盖,基于规则的安全性检查可以注重于(但不限于)碰撞检查和交通法规违规检查。因此,基于规则的安全性检查可以确保没有来自规划轨迹的碰撞并且遵守所有交通法规。
例如,基于规则的安全性检查可以检查ADV在车道跟随场景中是否保持一定的安全距离,在紧急停车时是否没有追尾,ADV是否遵循变道准则,是否有没有红灯或黄灯违规,或者是否没有限速违规。
在一个实施例中,碰撞检查可以包括检查规划模块的规划轨迹是否会导致ADV的碰撞。例如,如图6B所示,ADV 601可以被分成多个部分601a、601b、601c、601d等。对于ADV601的多个部分中的每一个,可以确定离ADV的部分最近的对象,以及可以确定最近的对象与ADV的部分之间的距离是否在预定阈值内。如果最近的对象与ADV的部分之间的距离在预定阈值内,则规划的轨迹将导致ADV的碰撞。作为示例,对于ADV 601的左前部分601a,最近的对象可以是ADV 621。可以确定最近的对象621与ADV 601的部分601a之间的距离631是否在预定阈值内。如果最近的对象621与ADV 601的部分601a之间的距离631在预定阈值内,则规划的轨迹将导致ADV的碰撞。
返回参考图6A,在块609,如果发现安全性违规,则规划模块的性能可以被认为是不可接受的。因此,为了指示规划模块的输出是不可接受的,评测器602可以返回比ML模型可以产生的任何值都大的大数字。
在块610,可以从规划模块中提取特征组。如果没有安全问题,则可以在ML学习模型中评估规划模块的性能。ML学习模块可以包括深度学习模型,该模型可以用任何神经元网络进行训练。此数据驱动的ML学习模块可以假设人类驾驶是期望的行为。可以训练ML学习模块以专注于从专家,例如人类驾驶员学习轨迹。规划模块的输出越接近人类驾驶员的轨迹,规划模块的性能越好,规划模块的分数越低。
从规划模块中提取的特征组可以包括来自不同方向的障碍物信息、道路结构、ADV的状态、ADV的速度、ADV的加速度或ADV的加加速度。障碍物信息可以包括障碍物的大小、到障碍物的距离、障碍物的预测轨迹等。障碍物的方向可以包括前方、左前方、右前方、左方、右方、左后方、右后方、后方等。道路结构可以包括车道配置、车道边界的实线、车道边界的虚线、车道曲率、车道坡度等。ADV的状态可以包括车道跟随状态、变道、高速公路驶出状态等。
在块612,ML模块可以基于特征组将规划模块的性能与人类驾驶员的性能进行比较。可以训练ML模型以学习专家(例如,人类驾驶员)轨迹。可以预先收集来自人类驾驶员的轨迹组。ML模型可以将从规划模块的输出中提取的特征组与从人类驾驶员的轨迹中提取的特征组进行比较。
在块614,可以返回规划模块的性能分数。可以基于从规划模块提取的特征组与从先前从人类驾驶员收集的轨迹提取的特征组之间的相似性来确定规划模块的性能分数。ML模型的目标是确定从规划模块中提取的特征组是否与人类行为相似。越接近人类驾驶行为,性能越好,分数越低。当从规划模块中提取的特征组与从先前从人类驾驶员收集的轨迹组中提取的特征组更相似时,规划模块的性能更好,并且规划模块的性能分数更低,反之亦然。因此,可以调整或修改规划模块的参数集,直到分数为最低分数。以这种方式,可以找到实现最优性能的最优参数集。因此,可以提高规划模块的性能。
图7是示出根据一个实施例的向自主驾驶车辆提供评估服务的平台703的示例的框图。平台703可以通过网络耦接到多个ADV601、701、711、721等。网络可以是任何类型的网络,诸如局域网(LAN)、诸如互联网的广域网(WAN)、蜂窝网络、卫星网络、或它们的组合,有线或无线。平台703可以是任何类型的服务器或服务器集群,诸如Web或云服务器、应用服务器、后端服务器或其组合。平台703可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器或位置服务器等。
平台703可以包括评估模块502,如结合图5A-图5B所讨论的,以评估ADV 601、701、711、721的相应规划模块的性能。可以基于平台703的评估服务来改进ADV 601、701、711、721的相应规划模块的性能。
图8是示出根据一个实施例的改进自主驾驶车辆的规划模块的过程的流程图。过程800可以由可以包括软件、硬件或其组合的处理逻辑来执行。例如,过程800可以由评估模块502执行。参考图8,在操作801中,处理逻辑从自主驾驶车辆(ADV)的规划模块接收一个或多个输出,该一个或多个输出包括用于ADV的规划的轨迹,规划模块包括参数集。在操作802中,处理逻辑接收ADV的驾驶环境的数据。
在操作803中,处理逻辑通过基于驾驶环境的数据和规划模块的一个或多个输出确定规划模块的性能分数来评估规划模块的性能。操作803包括操作804、805、806。
在操作804中,处理逻辑确定规划模块的一个或多个输出是否违反安全规则组中的至少一个。
在一个实施例中,处理逻辑可以确定规划的轨迹是否会导致ADV的碰撞。
在一个实施例中,处理逻辑可以通过将ADV分成多个部分来确定规划的轨迹是否会导致ADV的碰撞。对于ADV的多个部分中的每一个,处理逻辑可以确定离ADV的部分最近的对象,并且处理逻辑可以确定最近的对象与ADV的部分之间的距离是否在预定阈值内。响应于确定最近的对象与ADV的部分之间的距离在预定阈值内,处理逻辑可以确定规划的轨迹将导致ADV的碰撞。
在一个实施例中,处理逻辑可以确定规划的轨迹是否违反交通法规,包括违反交通信号灯、违反限速或违反变道准则。
在操作805中,处理逻辑响应于确定规划模块的一个或多个输出违反了安全规则组中的至少一个而确定分数大于预定阈值。
在操作806中,处理逻辑响应于确定规划模块的一个或多个输出没有违反安全规则组中的至少一个,基于机器学习模型确定分数。
在一个实施例中,处理逻辑可以基于规划模块的一个或多个输出以及ADV的驾驶环境的数据来提取特征组。
在一个实施例中,特征组包括来自不同方向的障碍物信息、道路配置、ADV的状态、ADV的速度、ADV的加速度或ADV的加加速度中的一个或多个。
在一个实施例中,处理逻辑可以将从规划模块提取的特征组与从先前从人类驾驶员收集的轨迹组提取的特征组进行比较,并且处理逻辑可以基于从规划模块中提取的特征组和从先前从人类驾驶员收集的轨迹组中提取的特征组之间的相似性确定分数。
在一个实施例中,参数集包括速度的加权因子、加速度的加权因子、加加速度的加权因子、障碍物与ADV之间的安全距离的加权因子,或参考速度与规划速度之间的差距的加权因子中的一个或多个。
在操作806中,处理逻辑通过基于分数调整参数集来修改规划模块,其中根据修改后的规划模块生成的修改后的轨迹控制ADV自主驾驶。
注意,如上所示和所述的一些或所有组件可以用软件、硬件或其组合实现。例如,这些组件可以被实现为安装并存储在永久存储设备中的软件,软件可以由处理器(未示出)加载并执行在存储器中以执行贯穿本申请所述的过程或操作。可替换地,这些组件可被实现为被编程或嵌入到专用硬件中的可执行代码,专用硬件诸如集成电路(例如,专用IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA),可执行代码可经由来自应用的对应驱动器和/或操作系统访问。此外,这些组件可以被实现为处理器或处理器内核中的特定硬件逻辑,作为经由一个或多个特定指令软件组件可访问的指令集的一部分。
已经关于对计算机存储器内的数据位的操作的算法和符号表示呈现了前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们的工作实质传达给本领域的其他技术人员的方式。算法在这里并且通常被认为是导致期望结果的自洽操作序列。这些操作是需要对物理量进行物理操纵的那些操作。
然而,应当记住的是,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非特别声明,否则从以上讨论中显而易见的是,应当理解的是,在整个说明书中,使用诸如所附权利要求书中所阐述的术语的讨论指的是计算机系统或类似电子计算设备的动作和过程,所述计算机系统或类似电子计算设备将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换成计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内的类似地表示为物理量的其它数据。
本公开的实施例还涉及用于执行本文的操作的装置。这种计算机程序存储在非瞬态计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
在前述附图中描述的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合的处理逻辑来执行。尽管以上根据一些顺序操作描述了过程或方法,但是应当理解的是,可以以不同的顺序执行所述的一些操作。此外,一些操作可以并行地而不是顺序地执行。
本公开的实施例不是参考任何特别编程语言描述的。将了解,可使用各种编程语言实施如本文所述的本公开的实施例的教示。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中所阐述的本公开的更宽的精神和范围的情况下,可以对其进行各种修正。因此,说明书和附图应被认为是说明性的而不是限制性的。
Claims (11)
1.一种改进自主驾驶车辆(ADV)的规划模块的方法,包括:
接收ADV的规划模块的一个或多个输出,所述一个或多个输出表示基于参数集规划的轨迹;
根据感知ADV周围的驾驶环境的感知数据,确定规划模块的一个或多个输出是否违反规则组中的至少一个;
响应于确定规划模块的一个或多个输出违反了规则组中的至少一个,基于违反规则组确定分数,所述分数表示规划模块的性能;
响应于确定规划模块的一个或多个输出不违反规则组,使用机器学习模型基于感知数据和一个或多个输出确定分数;以及
通过基于分数调整参数集来修改规划模块,其中修改后的规划模块用于随后驾驶ADV。
2.如权利要求1所述的方法,其中确定一个或多个输出是否违反规则组中的至少一个包括确定轨迹是否会导致ADV的碰撞。
3.如权利要求2所述的方法,其中确定轨迹是否会导致ADV的碰撞包括:
将ADV分成多个部分;
对于ADV的多个部分中的每一个,
确定离ADV的部分最近的对象;
确定最近的对象到ADV的部分的距离是否在预定阈值内;以及
响应于确定最近的对象到ADV的部分之间的距离在预定阈值内,确定轨迹会导致ADV的碰撞。
4.如权利要求1所述的方法,其中,确定一个或多个输出是否违反规则组中的至少一个包括确定轨迹是否违反交通法规,包括违反交通信号灯、违反限速或违反变道准则。
5.如权利要求1所述的方法,其中,基于机器学习模型确定分数包括基于规划模块的一个或多个输出和ADV的驾驶环境的感知数据提取特征组。
6.如权利要求5所述的方法,其中,特征组包括来自不同方向的障碍物信息、道路配置、ADV的状态、ADV的速度、ADV的加速度或ADV的加加速度中的一个或多个。
7.如权利要求5所述的方法,其中,使用机器学习模型确定分数包括:
将从规划模块中提取的特征组与从先前从人类驾驶员收集的轨迹组中提取的特征组进行比较;以及
基于从规划模块中提取的特征组与从先前从人类驾驶员收集的轨迹组中提取的特征组之间的相似性确定分数。
8.如权利要求1所述的方法,其中,参数集包括速度加权因子、加速度加权因子、加加速度加权因子、障碍物和ADV之间的安全距离的加权因子,或参考速度与规划的速度之间的差距的加权因子中的一个或多个。
9.一种其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使所述处理器执行如权利要求1至8中任一项所述的方法的操作。
10.一种数据处理系统,包括:
处理器;以及
存储器,耦接到处理器并存储指令,当由处理器执行指令时,使处理器执行如权利要求1至8中任一项所述的方法的操作。
11.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时使得所述处理器执行如权利要求1至8中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/444,877 US20230053243A1 (en) | 2021-08-11 | 2021-08-11 | Hybrid Performance Critic for Planning Module's Parameter Tuning in Autonomous Driving Vehicles |
US17/444,877 | 2021-08-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115158359A true CN115158359A (zh) | 2022-10-11 |
Family
ID=83478531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210940109.8A Pending CN115158359A (zh) | 2021-08-11 | 2022-08-05 | 改进自主驾驶车辆的规划模块的方法及系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230053243A1 (zh) |
CN (1) | CN115158359A (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5461357A (en) * | 1992-01-29 | 1995-10-24 | Mazda Motor Corporation | Obstacle detection device for vehicle |
DE102009047071A1 (de) * | 2009-11-24 | 2011-05-26 | Robert Bosch Gmbh | Verfahren und Steuergerät zur Erkennung einer Breite eines Aufprallbereiches eines Objektes im Frontbereich eines Fahrzeugs |
US8824733B2 (en) * | 2012-03-26 | 2014-09-02 | Tk Holdings Inc. | Range-cued object segmentation system and method |
US8768007B2 (en) * | 2012-03-26 | 2014-07-01 | Tk Holdings Inc. | Method of filtering an image |
WO2015142732A1 (en) * | 2014-03-21 | 2015-09-24 | Audience Entertainment, Llc | Adaptive group interactive motion control system and method for 2d and 3d video |
KR20210134635A (ko) * | 2019-03-29 | 2021-11-10 | 인텔 코포레이션 | 자율 주행 차량 시스템 |
US11468773B2 (en) * | 2019-08-20 | 2022-10-11 | Zoox, Inc. | Lane classification for improved vehicle handling |
US11353874B2 (en) * | 2019-08-20 | 2022-06-07 | Zoox, Inc. | Lane handling for merge prior to turn |
-
2021
- 2021-08-11 US US17/444,877 patent/US20230053243A1/en active Pending
-
2022
- 2022-08-05 CN CN202210940109.8A patent/CN115158359A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230053243A1 (en) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3822142A1 (en) | Confidence levels along the same predicted trajectory of an obstacle | |
CN112498365A (zh) | 基于置信度水平和距离、响应于障碍物的自动驾驶车辆的延迟决策 | |
US11485360B2 (en) | Dynamic speed limit adjustment system based on perception results | |
CN113448329B (zh) | 减少用于规划自主驾驶车辆的路径的障碍物的方法及系统 | |
CN111775945A (zh) | 用于自动驾驶的用于检测最接近的路径内对象的方法和装置 | |
EP3882100B1 (en) | Method for operating an autonomous driving vehicle | |
CN112149487A (zh) | 一种用于自动驾驶的用于训练神经网络对象检测模型的用于确定锚框的方法 | |
US11628858B2 (en) | Hybrid planning system for autonomous vehicles | |
US11880201B2 (en) | Fastest lane determination algorithm under traffic jam | |
CN112977473A (zh) | 用于预测移动障碍物驶出十字路口的方法及系统 | |
CN113703436A (zh) | 用于路径规划的并行障碍物缓冲系统 | |
US11254326B2 (en) | Automatic comfort score system based on human driving reference data | |
US11623662B2 (en) | Planning system for speed limit changes for autonomous vehicles | |
CN113815640A (zh) | 用于具有不同速度限制的车道的车道变更系统 | |
CN113060118A (zh) | 用于柔和降速的速度规划引导线 | |
CN115871712A (zh) | 操作自主驾驶车辆的方法和系统 | |
CN115907250A (zh) | 用于调整自主驾驶车辆的运动规划器的基于学习的评论器 | |
EP3925844B1 (en) | Relative speed based speed planning for buffer area | |
EP3838697A1 (en) | Speed planning using a speed planning guideline for idle speed of autonomous driving vehicles | |
EP3857327B1 (en) | Implementation of dynamic cost function of self-driving vehicles | |
US20230053243A1 (en) | Hybrid Performance Critic for Planning Module's Parameter Tuning in Autonomous Driving Vehicles | |
US20240005066A1 (en) | Decoupled prediction evaluation | |
EP4151490B1 (en) | Safety guaranteed control when planning with uncertainty | |
US20230406362A1 (en) | Planning-impacted prediction evaluation | |
US20240025442A1 (en) | Trajectory planning in autonomous driving vehicles for unforeseen scenarios |
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 |