CN116643565A - 计算机执行的方法、电子设备和存储介质 - Google Patents
计算机执行的方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116643565A CN116643565A CN202310612613.XA CN202310612613A CN116643565A CN 116643565 A CN116643565 A CN 116643565A CN 202310612613 A CN202310612613 A CN 202310612613A CN 116643565 A CN116643565 A CN 116643565A
- Authority
- CN
- China
- Prior art keywords
- module
- performance
- obstacles
- vehicle
- autonomous vehicle
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000011156 evaluation Methods 0.000 claims abstract description 48
- 238000004088 simulation Methods 0.000 claims abstract description 45
- 230000006870 function Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 5
- 239000002131 composite material Substances 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008447 perception Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012854 evaluation process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M17/00—Testing of vehicles
- G01M17/007—Wheeled or endless-tracked vehicles
-
- 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/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00274—Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
-
- 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
- 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
-
- 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/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M17/00—Testing of vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
- B60W2554/801—Lateral distance
-
- 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
- B60W2554/802—Longitudinal distance
-
- 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/20—Data confidence level
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Electromagnetism (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Optics & Photonics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Traffic Control Systems (AREA)
Abstract
本公开提供了一种计算机实现的方法,涉及自动驾驶领域。具体地,根据本公开实施例的方法包括:通过自动驾驶车辆ADV的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹。通过自动驾驶车辆的规划模块,基于多个障碍物的轨迹,在自动驾驶模拟平台上规划得到自动驾驶车辆的轨迹。基于与自动驾驶车辆的轨迹有关的一个或多个评价指标,在自动驾驶模拟平台上确定规划模块的性能。基于规划模块的性能,对预测模块的性能进行评估,从而改进预测模件的性能,以将预测模块部署到自动驾驶车辆进行自动驾驶。
Description
技术领域
本公开的实施例总体上涉及自动驾驶车辆。更具体地,本公开的实施例涉及对自动驾驶车辆(Autonomous Driving Vehicle,ADV)的性能进行评估。
背景技术
在自动模式下运行的车辆(例如无人驾驶车辆)可以减轻车内人员,尤其是驾驶员的一些驾驶相关任务。当车辆在自动模式下运行时,可以使用车载传感器将车辆导航到不同位置,从而车辆行驶时能够尽量减少人机交互,或在没有乘客的情况下行驶。
运动规划和控制是自动驾驶的关键操作。自动驾驶车辆可以具有预测模块和规划模块,预测模块在驾驶环境下对一个或多个障碍物的轨迹进行预测,规划模块基于一个或多个障碍物的轨迹,对自动驾驶车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转向角)进行规划。在自动驾驶中,预测模块是规划模块的上游模块。目前,仅通过一个或多个障碍物的轨迹的准确度对预测模块的性能进行评估。然而,由于预测模块的性能评估中不包括规划模块的要求,因此预测模块的性能提升无助于规划模块的性能提升。
发明内容
根据本公开实施例的一个方面,提供了一种计算机实现的方法,包括:
通过自动驾驶车辆ADV的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹;
通过所述自动驾驶车辆的规划模块,基于所述多个障碍物的多个轨迹,在所述自动驾驶模拟平台上规划得到所述自动驾驶车辆的轨迹;
基于与所述自动驾驶车辆的轨迹有关的一个或多个评价指标,在所述自动驾驶模拟平台上确定所述规划模块的性能;以及
基于所述规划模块的性能,对所述预测模块的性能进行评估,从而改进所述预测模件的性能,以将所述预测模块部署到所述自动驾驶车辆进行自动驾驶。
根据本公开实施例的另一方面,提供了一种电子设备,包括:
处理器;以及
与所述处理器耦接的存储器,所述存储器存储有指令,所述指令被所述处理器执行时,使得所述处理器执行以下操作:
通过自动驾驶车辆ADV的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹;
通过所述自动驾驶车辆的规划模块,基于所述多个障碍物的多个轨迹,在所述自动驾驶模拟平台上规划得到所述自动驾驶车辆的轨迹;
基于与所述自动驾驶车辆的轨迹有关的一个或多个评价指标,在所述自动驾驶模拟平台上确定所述规划模块的性能;以及
基于所述规划模块的性能,对所述预测模块的性能进行评估,从而改进所述预测模件的性能,以将所述预测模块部署到所述自动驾驶车辆进行自动驾驶。
根据本公开实施例的另一方面,提供了一种存储有指令的非暂时性计算机可读介质,所述指令在被处理器执行时使得所述处理器执行以下操作:
通过自动驾驶车辆ADV的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹;
通过所述自动驾驶车辆的规划模块,基于所述多个障碍物的多个轨迹,在所述自动驾驶模拟平台上规划得到所述自动驾驶车辆的轨迹;
基于与所述自动驾驶车辆的轨迹有关的一个或多个评价指标,在所述自动驾驶模拟平台上确定所述规划模块的性能;以及
基于所述规划模块的性能,对所述预测模块的性能进行评估,从而改进所述预测模件的性能,以将所述预测模块部署到所述自动驾驶车辆进行自动驾驶。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
本公开的实施例以示例而非限制的方式在附图中示出,其中相似的附图标记表示相似的元件。
图1是示出了根据一个实施例的网络化系统的框图。
图2是示出了根据一个实施例的自动驾驶车辆的示例的框图。
图3A和图3B是示出了根据一个实施例与自动驾驶车辆一起使用的自动驾驶系统的示例的框图。
图4A和图4B是示出了根据一个实施例的自动驾驶系统的自动驾驶模拟平台的示例的框图。
图5是示出了根据一个实施例的自动驾驶模拟平台上自动驾驶车辆的预测模块的评估过程的示例的框图。
图6是示出了根据一个实施例对自动驾驶车辆的预测模块进行评估的示例的框图。
图7是示出了根据一个实施例的自动驾驶车辆预测模块的评估方法的流程图。
具体实施例
将参考下述细节对本公开的各种实施例和方面进行描述,附图将示出各种实施例。以下描述和附图是说明性的,不应解释为对本公开的限制。为了透彻理解本公开的各种实施例,描述了许多具体细节。然而,在某些情况下,为了简明论述本公开的实施例,没有对众所周知的或常规的细节进行描述。
说明书中提到的“一个实施例”或“实施例”表示结合该实施例描述的特定特征、结构或特性可以包括在本公开的至少一个实施例中。在说明书中不同位置出现的“在一个实施例中”不一定都指同一个实施例。
根据一些实施例,公开了一种自动驾驶车辆预测模块的评估方法和系统,旨在改进自动驾驶车辆的整体性能。根据规划模块的性能,对预测模块的性能进行评估。例如,规划模块的性能可以通过一组评价指标来确定,包括规划轨迹的碰撞、舒适度、违反交通规则、或接近碰撞。根据规划模块的性能,可以设计分析模型的损失函数,还可以改变分析模型的结构。可以基于分析模型对预测模块进行训练。由此,随着预测模块的性能提升,可以改进自动驾驶车辆的整体性能,从而改进自动驾驶车辆的安全性和可靠性。
根据一些实施例,通过自动驾驶车辆的自动驾驶系统(ADS)的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹;通过自动驾驶车辆的规划模块,基于多个障碍物的多个轨迹,在自动驾驶模拟平台上规划得到自动驾驶车辆的轨迹;基于与自动驾驶车辆的轨迹有关的一个或多个评价指标,确定规划模块的性能;基于规划模块的性能,对预测模块的性能进行评估,从而改进预测模块的性能,以将预测模块部署到自动驾驶车辆进行自动驾驶。
根据一些实施例,公开了一种存储有指令的非暂时性机器可读介质。该指令在被处理器执行时使得处理器执行以下操作:通过自动驾驶车辆的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹;通过自动驾驶车辆的规划模块,基于多个障碍物的多个轨迹,在自动驾驶模拟平台上规划得到自动驾驶车辆的轨迹;基于与自动驾驶车辆的轨迹有关的一个或多个评价指标,确定规划模块的性能;基于规划模块的性能,对预测模块的性能进行评估,从而改进预测模块的性能,以将预测模块部署到自动驾驶车辆进行自动驾驶。
根据一些实施例,公开了一种电子设备。该电子设备包括处理器以及与处理器耦接的存储器,该存储器存储有指令。该指令在被处理器执行时使得处理器执行以下操作:通过自动驾驶车辆的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹;通过自动驾驶车辆的规划模块,基于多个障碍物的多个轨迹,在自动驾驶模拟平台上规划得到自动驾驶车辆的轨迹;基于与自动驾驶车辆的轨迹有关的一个或多个评价指标,确定规划模块的性能;基于规划模块的性能,对预测模块的性能进行评估,从而改进预测模块的性能,以将预测模块部署到自动驾驶车辆进行自动驾驶。
图1是示出了根据本公开一个实施例的自动驾驶网络配置的框图。参见图1,网络配置100包括自动驾驶车辆(ADV)101,其可以经由网络102与一个或多个服务器103~104通信连接。图中示出了一个自动驾驶车辆,但多个自动驾驶车辆可以经由网络102相互耦接和/或耦接到服务器103~104。网络102可以是任何类型的有线或无线网络,例如局域网(LAN)、诸如因特网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103~104可以是任何类型的服务器或服务器集群,例如Web或云服务器、应用服务器、后端服务器或其组合。服务器103~104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(Mapand Point of Interest,MPOI)服务器或位置服务器等。
自动驾驶车辆是指可配置为处于自动模式的车辆,在该模式下,在驾驶员进行少量输入或不进行输入的环境下即可对车辆进行导航。这种自动驾驶车辆可以包括传感器系统,该传感器系统具有一个或多个传感器,用于对车辆运行时的环境信息进行检测。车辆及其相关联的控制器在该环境下利用检测到的信息进行导航。自动驾驶车辆101可在手动模式、全自动模式或部分自动模式下运行。
在一个实施例中,自动驾驶车辆101包括但不限于自动驾驶系统(AutonomousDriving System,ADS)110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。自动驾驶车辆101还可以包括普通车辆中的一些通用部件,例如引擎、车轮、方向盘、传动装置等。通过车辆控制系统111和/或自动驾驶系统110,可以利用例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等各种通信信号和/或命令对这些部件进行控制。
部件110~115可以经由互连件、总线、网络或其组合相互通信耦接。例如,部件110~115可以经由控制器局域网(CAN)总线相互通信耦接。CAN总线是一种车辆总线标准,旨在在没有主机的应用中使得微控制器和设备相互通信。CAN总线是一种基于消息的协议,最初设计用于汽车内的多路电气布线,但也用于许多其他环境。
参见图2,在一个实施例中,传感器系统115包括但不限于一个或多个相机211、全球定位系统(Global Positioning System,GPS)单元212、惯性测量单元(InertialMeasurement Unit,IMU)213、雷达单元214和激光雷达(Light Detection and Range,LIDAR)单元215。GPS系统212可以包括收发器,用于提供与自动驾驶车辆的位置有关的信息。IMU单元213可以基于惯性加速度感测自动驾驶车辆的位置和朝向变化。雷达单元214可以表示在自动驾驶车辆局部环境内利用无线电信号感测对象的系统。在一些实施例中,除了感测对象之外,雷达单元214还可以感测对象的速度和/或航向。激光雷达单元215可以利用激光感测自动驾驶车辆所在环境中的对象。激光雷达单元215可以包括一个或多个激光源、激光扫描器和一个或多个检测器以及其他系统部件。相机211可以包括一个或多个用于捕获自动驾驶车辆周围环境图像的设备。相机211可以是照相机和/或摄像机。通过例如将相机安装在旋转和/或倾斜平台上,相机可以机械移动。
传感器系统11 5还可以包括其他传感器,例如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可以用于捕获来自自动驾驶车辆周围环境的声音。转向传感器可以用于感测方向盘、车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可以集成为集成油门/制动传感器。
在一个实施例中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调整车辆的方向或航向。油门单元202用于控制发动机或引擎的速度,进而控制车辆的速度和加速度。制动单元203通过提供摩擦使车辆的车轮或轮胎减速,从而使车辆减速。需要注意的是,图2中所示的部件可以实现为硬件、软件或其组合。
再次参见图1,无线通信系统112允许自动驾驶车辆101与外部系统,例如设备、传感器和其他车辆等进行通信。例如,无线通信系统112可以与一个或多个设备直接进行无线通信,或通过例如网络102上的服务器103~104等通信网络与一个或多个设备进行无线通信。无线通信系统112可以利用任何蜂窝通信网络或无线局域网(Wireless Local AreaNetwork,WLAN),例如WiFi,与另一部件或系统通信。无线通信系统112可以例如利用红外链路、蓝牙等与设备(例如,车辆101内的乘客的移动设备、显示设备、扬声器)直接进行通信。用户接口系统113可以是在车辆101内实现的部分外围设备,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
自动驾驶车辆101的部分或全部功能可以通过自动驾驶系统110进行控制或管理,尤其是在自动驾驶模式下运行时。自动驾驶系统110包括必要的硬件(例如处理器、内存、存储器)和软件(例如操作系统、规划和路线选择程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,对接收到的信息进行处理,规划从起点到目的地的路线或路径,然后基于规划和控制信息驾驶车辆101。或者,自动驾驶系统110可以与车辆控制系统111集成在一起。
例如,作为乘客的用户可以例如通过用户界面指定行程的起始位置和目的地。自动驾驶系统110获得行程相关数据。例如,自动驾驶系统110可以从地图和兴趣点服务器获得位置和路线数据,地图和兴趣点服务器可以是服务器103~104的一部分。位置服务器提供位置服务,地图和兴趣点服务器提供地图服务和一些位置的兴趣点。或者,这些位置以及地图和兴趣点信息可以在本地缓存于自动驾驶系统110的持久存储设备中。
当自动驾驶车辆101沿着路线移动时,自动驾驶系统110还可以从交通信息系统或服务器(Traffic Information System or Server,TIS)获取实时交通信息。需要注意的是,可以通过第三方实体对服务器103~104进行操作。或者,服务器103~104的功能可以集成于自动驾驶系统110中。自动驾驶系统110可以基于实时交通信息、地图和兴趣点信息、位置信息以及传感器系统115检测或感测到的实时局部环境数据(例如障碍物、对象、附近车辆),例如经由控制系统111根据规划路线规划出最佳路线并驾驶车辆101,以安全高效地到达指定目的地。
服务器103可以是数据分析系统,用于为各种客户端进行数据分析服务。在一个实施例中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从自动驾驶车辆或人类驾驶员驾驶的常规车辆等各种车辆收集驾驶统计数据123。驾驶统计数据123包括表示发出的驾驶命令(例如油门、制动、转向命令)的信息以及在不同时间点通过车辆传感器捕获的车辆的响应(例如速度、加速度、减速度、方向)。驾驶统计数据123还可以包括描述不同时间点的驾驶环境的信息,例如路线(包括起点位置和目的地位置)、地图和兴趣点、道路状况、天气状况等。
机器学习引擎122可以基于驾驶统计数据123生成或训练针对各种目的的规则、算法和/或预测模型124的集合。之后,可以将算法124上传至自动驾驶车辆,以便在自动驾驶期间实时使用。
图3A和图3B是示出了根据一个实施例与自动驾驶车辆一起使用的自动驾驶系统示例的框图。系统300可以实现为图1的自动驾驶车辆101的一部分,包括但不限于自动驾驶系统110、控制系统11 1和传感器系统11 5。参见图3A和图3B,自动驾驶系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306以及路线模块307。
模块301~307中的部分或全部模块可以实现为软件、硬件或其组合。例如,这些模块可以安装在持久存储设备352中,加载到存储器351中,并通过一个或多个处理器(未示出)执行。需要注意的是,这些模块中的部分或全部模块可以与图2的车辆控制系统111的部分或全部模块通信耦接或集成在一起。模块301~307中的部分模块可以集成为集成模块。
定位模块301确定自动驾驶车辆300的当前位置(例如,利用GPS单元212),并管理与用户的行程或路线相关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线相关的任何数据。用户可以例如通过用户界面登录并指定行程的起始位置和目的地。定位模块301与自动驾驶车辆300的其他部件,例如地图和路线数据311进行通信,以获得行程相关数据。例如,定位模块301可以从位置服务器以及地图和兴趣点服务器获得位置和路线数据。位置服务器提供位置服务,地图和兴趣点服务器提供地图服务和一些位置的兴趣点,可以将这些地图服务和兴趣点缓存为地图和路线数据311的一部分。当自动驾驶车辆300沿着路线移动时,定位模块301还可以从交通信息系统或服务器获得实时交通信息。
感知模块302可以基于传感器系统115提供的传感器数据和定位模块301获得的定位信息,确定周围环境的感知信息。感知信息可以表示普通驾驶员在驾驶时可以感知到的车辆周围的信息。感知信息可以包括例如对象形式的车道配置、交通灯信号、其他车辆的相对位置、行人、建筑物、人行横道或其他交通相关标志(例如停车标志、让行标志)等。车道配置包括描述一条或多条车道的信息,例如车道形状(例如,直线或曲线)、车道宽度、道路上的车道数量、单向或双向车道、合并或划分车道、离开车道等。
感知模块302可包括计算机视觉系统或计算机视觉系统的功能,对通过一个或多个相机捕获的图像进行处理和分析,以识别自动驾驶车辆环境中的对象和/或特征。对象可包括交通信号、道路边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以利用物体识别算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统可以映射环境、跟踪对象并估计对象的速度等。感知模块302还可以基于由诸如雷达和/或激光雷达的其他传感器提供的其他传感器数据检测对象。
对于每个对象,预测模块303预测对象在环境下的行为。例如,预测模块303预测对象的轨迹。该预测是基于感知数据来执行的,该感知数据根据地图/路线信息311和交通规则312的集合来感知某个时间点的驾驶环境。例如,如果对象是位于相反方向的车辆,并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆可能向前直行或转弯。如果感知数据指示该交叉路口没有交通信号灯,则预测模块303可以预测车辆在进入交叉路口之前必须完全停止。如果感知数据指示车辆当前处于左转专用车道或右转专用车道,则预测模块303可以分别预测车辆将更有可能左转或右转。
对于每个对象,决策模块304做出与应对对象有关的决策。例如,对于特定对象(例如交叉路线中的另一车辆)及其描述该对象的元数据(例如速度、方向、转弯角度),决策模块304决定如何应对该对象(例如超车、让行、停车、通过)。决策模块304可以根据诸如交通规则或行驶规则312之类的规则集合做出这些决策,这些规则可以存储在持久存储设备352中。
路线模块307用于提供从起点到目的地的一条或多条路线或路径。对于例如从用户处接收的从起始位置到目的地位置的给定行程,路线模块307获得路线和地图信息311,并确定从起始位置到目的地位置的所有可能的路线或路径。路线模块307可以为其所确定的每条从起始位置到目的地位置的路线生成地形图形式的参考线。参考线是指在没有其他车辆、障碍物或交通状况等干扰的情况下的理想路线或路径。也就是说,如果道路上没有其他车辆、行人或障碍物,自动驾驶车辆应完全或近似遵循该参考线。之后,将地形图提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305检查所有可能的路线,以根据其他模块提供的其他数据,例如来自定位模块301的交通状况、感知模块302感知的驾驶环境以及预测模块303预测的交通状况,来选择和修改最优路线中的一条路线。用于控制自动驾驶车辆的实际路径或路线可以接近或不同于路线模块307提供的参考线,这取决于该时间点的具体驾驶环境。
规划模块305可以基于针对每个感知到的对象的决策,以路线模块307提供的参考线为基础,规划自动驾驶车辆的轨迹或路径或路线以及驾驶参数(例如距离、速度和/或转弯角度)。也就是说,对于给定对象,决策模块304决定针对该对象做什么,而规划模块305决定如何做。例如,对于给定对象,决策模块304可以决定通过该对象,而规划模块305可以确定是从该对象的左侧还是右侧通过。规划模块305生成规划和控制数据,包括描述车辆300在下一移动周期(例如,下一路线/路径段)将如何移动的信息。例如,规划和控制数据可以指示车辆300以每小时30英里(miles per hour,mph)的速度移动10米,然后以每小时25英里的速度变换到右侧车道。
控制模块306通过向车辆控制系统111发送合适的命令或信号,根据规划和控制信息定义的轨迹或路线或路径,基于规划和控制数据控制和驾驶自动驾驶车辆。规划和控制数据包括足够的信息,从而沿着该路径或路线,在不同的时间点使用合适的车辆设置或驾驶参数(例如油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施例中,规划阶段在多个规划周期中执行,规划周期也称为驾驶周期,例如为每100毫秒(ms)的时间间隔。对于每个规划周期或驾驶周期,可以根据规划和控制数据发出一个或多个控制命令。也就是说,对于每100毫秒,规划模块305规划例如包括目标位置和自动驾驶车辆到达目标位置所需时间的下一路线段或路径段。或者,规划模块305还可以指定具体速度、方向和/或转向角等。在一个实施例中,规划模块305规划例如为5秒的下一预定时间段的路线段或路径段。对于每个规划周期,规划模块305基于在前一周期中规划的目标位置,对当前周期(例如接下来的5秒)的目标位置进行规划。之后,控制模块306基于当前周期的规划和控制数据生成一个或多个控制命令(例如油门、制动器、转向控制命令)。
需要注意的是,决策模块304和规划模块305可以集成为集成模块。决策模块304/规划模块305可以包括导航系统或导航系统的功能,以确定自动驾驶车辆的驾驶路径。例如,导航系统可以确定一系列速度和定向航向,使得自动驾驶车辆沿着基本上避开感知障碍物的路径进行移动的同时,也通常使得自动驾驶车辆沿着通向最终目的地的基于车道的路径前进。可以经由用户接口系统113根据用户输入对目的地进行设置。当自动驾驶车辆运行时,导航系统可以动态地更新行驶路径。导航系统可以结合来自GPS系统的数据和一个或多个地图,从而确定自动驾驶车辆的行驶路径。
图4A和4B是示出根据一个实施例的自动驾驶车辆的自动驾驶模拟平台401的示例的框图。自动驾驶车辆的安全性和可靠性需要进行大量的功能测试和性能测试,在道路上使用实体车辆进行这些测试非常耗时且成本较高。利用模拟平台401执行这些任务更加低价高效。
在一个实施例中,模拟平台401可以包括自动驾驶车辆的动态模型402(例如,如图1、图3A和图3B所示,自动驾驶车辆101包括自动驾驶系统110)、基于游戏引擎的模拟器406以及记录文件播放器408。基于游戏引擎的模拟器405可以提供3D虚拟世界,其中传感器可以感知并提供环境的每一部分的精确地面真实值数据。记录文件播放器408可以回放在现实世界中记录的记录文件,用于测试动态模型402的各个模块的功能和性能。
在一个实施例中,ADV动态模型402可以是包括定位模块301、感知模块302、预测模块303、规划模块305、控制模块306等多个核心软件模块的虚拟车辆。图3A和图3B详细描述了这些模块的功能。
如进一步所示,模拟平台401可以包括监护模块417,监护模块是安全模块,其执行行动中心的功能,并在监视器425检测到故障时进行干预。当全部模块按预期工作时,监护模块417使得控制流正常工作。当监视器425检测到某一模块崩溃时,监护模块427可以使ADV动态模型402停止。
模拟平台401可以包括人机界面(Human Machine Interface,HMI)427,该人机界面是用于查看动态模型402的状态并对动态模型402进行实时控制的模块。
参见图4B,模拟平台401包括评估模块430,评估模块430被配置为对规划模块305的性能进行评估。在模拟平台401上,预测模块303基于地图、障碍物的历史和障碍物的相互作用,预测得到障碍物的轨迹。规划模块305根据障碍物的轨迹、驾驶环境(例如地图、路线信息、交通指示灯)和自动驾驶车辆的状态,对自动驾驶车辆的轨迹以及驾驶参数(例如距离、速度和/或转向角)进行规划。规划模块305的性能取决于预测模块303的结果,因为规划模块305需要障碍物的轨迹来生成自动驾驶车辆101的轨迹。
评估模块430可以对规划模块305的性能进行评估。评估模块430可以认为是自动驾驶车辆(tau)的轨迹的函数,其可以基于一组评价指标进行评估。例如,评估模块430可以基于该组评价指标,对自动驾驶车辆在当前环境中的规划轨迹进行评估。例如,该组评价指标可以包括碰撞、舒适度、违反交通规则、接近碰撞等。
在一个实施例中,评估模块430可以包括指标模块431和得分模块436。指标模块431可以包括碰撞模块432、舒适度模块433、交通规则模块434和接近碰撞模块435。碰撞模块432被配置为确定规划模块的输出,例如规划轨迹,是否会导致自动驾驶车辆的碰撞。舒适度模块433可以被配置为判断自动驾驶车辆的轨迹的舒适度。例如,可以根据急刹车的次数、自动驾驶车辆的加速度等来确定舒适度。接近碰撞模块435可以被配置为确定自动驾驶车辆是否与障碍物接近碰撞。交通规则模块434被配置为确定规划模块的输出,例如规划轨迹,是否违反交通规则,包括违反交通指示灯、违反限速、或违反车道变更准则。例如,交通规则模块434可以检查自动驾驶车辆在车道保持场景期间是否保持一定的安全距离,在紧急停车期间是否没有追尾,自动驾驶车辆是否遵循车道变更准则,是否没有红灯或黄灯违规,或者是否没有限速违规。
得分模块436可以被配置为确定规划模块305的性能的整体得分或组合得分。例如,碰撞模块432、舒适度模块433、交通规则模块434、接近碰撞模块435中的每个模块可以根据相应的指标来确定规划模块305的性能得分。碰撞模块432可以确定与碰撞有关的得分。舒适度模块432可以确定与舒适度有关的得分。交通规则模块434可以确定与交通规则有关的得分。接近碰撞模块435可以确定与接近碰撞有关的得分。之后,得分模块436基于全部得分生成整体得分或组合得分,包括与碰撞有关的得分、与舒适度有关的得分、与交通规则有关的得分以及与接近碰撞有关的得分。
在一个示例中,自动驾驶车辆规划模块的评估模块430可以包括性能评估或评论的混合形式。评估模块430可以包括对规划模块的性能进行的基于交通规则的评估和基于机器学习的评估。评估模块430可以包括机器学习(ML)模型(未示出)。机器学习模型可以包括深度学习模型,可利用任何神经网络进行训练。机器学习模型可以基于驾驶环境的数据和规划模块的输出。该数据驱动的机器学习模型可以假设人类驾驶是期望行为。机器学习模型可以被训练为专注于学习来自例如人类驾驶员的专家的轨迹。规划模块的输出越接近人类驾驶员,规划模块的性能就越好,规划模块的得分也就越低。
评估模块430可以包括更多或更少的模块。例如,模块431至模块436可以安装在永久存储设备中,加载到存储器中,并由一个或多个处理器(未示出)执行。应当注意,这些模块中的部分或全部模块可以通信耦接或集成。模块431至模块436中的部分模块可以集成为集成模块。
图5是示出了根据一个实施例的自动驾驶模拟平台401上自动驾驶车辆101的预测模块303的评估过程的示例的框图。图6是示出了根据一个实施例对预测模块303进行评估的示例的框图。参见图5和图6,预测模块303服务于规划模块305。因此,仅测量障碍物的预测轨迹相对于地面真实值之间的准确性无助于规划模块305。为了改进自动驾驶车辆的整体性能,基于规划模块的性能对预测模块的性能进行评估。这样,随着预测模块的性能提升,可以提升自动驾驶车辆的整体性能,从而可以改进自动驾驶车辆的安全性和可靠性。
参见图6,自动驾驶车辆101在车道650上行驶,多个障碍物602、603、604、605在相邻车道652上行驶在自动驾驶车辆101附近,或者在车道650上行驶在自动驾驶车辆后方。作为示例,障碍物602、603、604、605可以是移动车辆,例如汽车、卡车、公共汽车、摩托车等。预测模块303可以预测得到多个障碍物602、603、604、605的多个轨迹。例如,预测模块303可以预测得到障碍物602的轨迹621或轨迹622。规划模块305可以基于障碍物602的轨迹621或轨迹622,规划得到自动驾驶车辆101的轨迹611或612。
目前,仅基于从障碍物预测位置到(例如通过记录文件获得的)地面真实位置之间的欧式距离误差,对预测模块303的性能进行评估。然而,提高欧式距离误差的准确度无助于规划模块的更好性能。例如,如图6所示,预测轨迹621的(从障碍物602的预测位置641到地面真实位置640的)欧式距离误差631小于预测轨迹622的(从障碍物602的预测位置642到地面真实位置640的)欧式距离误差632。根据预测轨迹621,障碍物602不会沿着预测轨迹621切入至车道650,由此,规划模块305可以规划得到自动驾驶车辆的轨迹611,继续沿着车道650直行,则自动驾驶车辆101会与障碍物602发生碰撞,或者与障碍物602接近碰撞而不得不使用急刹车。在这种场景下,规划模块305的性能较差,自动驾驶车辆的规划轨迹611具有表示较差性能的较差得分。
一种基于规划模块的性能对预测模块的性能进行评估的新型评估系统将改进自动驾驶车辆的整体性能。例如,根据预测轨迹622,障碍物602会沿着预测轨迹622从车道652切入至车道650。因此,规划模块305可以规划得到自动驾驶车辆的轨迹612以远离障碍物602、进行车道变更和/或减速以准备紧急停车,则自动驾驶车辆101不会与障碍物602发生碰撞,也不必使用急刹车。在这种场景下,规划模块305的性能良好,自动驾驶车辆的规划轨迹612可以具有表示良好性能的良好得分。因此,预测轨迹622的性能好于预测轨迹621。
返回参考图5,可以在自动驾驶模拟平台401上对包括预测模块303和规划模块305在内的自动驾驶车辆101的性能进行模拟。在模拟平台401上,预测模块303可以预测得到多个障碍物602、603、604、605的多个轨迹。基于多个障碍物的多个轨迹,规划模块305可以规划得到自动驾驶车辆101的轨迹(例如611或612)。评估模块430可以对自动驾驶车辆101的轨迹(例如611或612)的性能进行评估。例如,评估模块430可以基于一组指标对自动驾驶车辆101的轨迹(例如,611或612)的性能进行评估,如上结合图4A至图4B所述。
在从评估模块430接收到基于规划模块305的性能的包括反馈或模拟结果的信息后,可以在离线训练502中对预测模块303的性能进行改进。例如,可以根据评估模块430的信息来设计预测模块303的分析模型的损失函数,如框504所示。分析模型可以基于规划模块的模拟性能来分析预测模块的性能。又例如,可以根据评估模块430的信息来设计预测模块303的分析模型的模型结构,如方框506所示。作为示例,损失函数是预测模块的分析模型的目标函数,用于指导预测模块的设计和/或训练。在设计和/或训练预测模块时,要使损失函数最小化。预测模块的训练过程是为了实现较低的损失。
参考图5和图6,在一个实施例中,可以将损失函数设计为包括从地面真实值到预测位置之间的加权横向距离误差和加权纵向距离误差,而不是仅使用欧式距离误差。从地面真实值到预测位置之间的欧式距离误差可以分解为从地面真实值到预测位置之间的横向距离误差和纵向距离误差。如图6所示,对于预测轨迹622,从地面真实值640到预测位置642之间的欧式距离误差632可以被分解为横向距离误差632a和纵向距离误差632b;对于预测轨迹621,从地面真实值640到预测位置641之间的欧式距离误差632可以被分解为横向距离误差631a和纵向距离误差631b。例如,横向距离误差(例如631a或632a)的权重可以大于纵向距离误差(如631b、632b),因为横向距离误差对规划模块305的性能(例如自动驾驶车辆的规划轨迹)影响更大。更准确地预测横向距离误差(例如631a或632a)可以改进自动驾驶车辆的规划轨迹(例如611或612)。损失函数可以包括基于从地面真实值到预测位置之间的加权横向距离误差和加权纵向距离误差的复合距离误差,其中横向距离误差的权重大于纵向距离误差的权重。例如,损失函数可以表示为:
损失=W1*横向距离误差+W2*纵向距离误差,其中W1是横向距离误差的权重,W2是纵向距离误差的权重。
在一个实施例中,可以改变预测模块303的分析模型的模型结构,以改进规划模块的性能。如图6所示,自动驾驶车辆101附近或周围有多个障碍物602、603、604、605。对每个障碍物进行准确预测需要花费的时间和计算资源过多。例如,预测模块和规划模块可能需要每0.1秒刷新一次。部分障碍物对规划模块305没有太大影响,因此,自动驾驶车辆101附近或周围的部分障碍物不需要高度关注,而部分障碍物则需要密切关注。如图6所示,作为示例,相邻车道652上靠近自动驾驶车辆101的的障碍物602需要密切关注,因为障碍物602可能切入(或进入)车道650,导致与自动驾驶车辆101发生碰撞。作为另一示例,自动驾驶车辆101后方的障碍物605不需要太多关注,因为障碍物605对自动驾驶车辆101的轨迹影响不大。
可以在预测模块303的分析模型中增加注意力层。分析模型采用包括注意力层的多个层的分层方法。例如,对规划模块(例如,自动驾驶车辆101的轨迹)有较大影响的障碍物可以放置在注意力层中。预测模块303可以从自动驾驶车辆101附近或周围的多个障碍物中选择一个或多个对规划模块有较大影响的障碍物。例如,如图6所示,自动驾驶车辆101在例如为直行车道的车道650上行驶,左侧有相邻车道652,在相邻车道652上行驶有障碍物。可以选择将相邻车道652上靠近自动驾驶车辆101行驶的障碍物602放置在注意力层中,因为障碍物602可能切入(或进入)车道650,导致与自动驾驶车辆101发生碰撞。作为另一示例,可以不选择将自动驾驶车辆101后方的障碍物605放置在注意力层中,因为障碍物605对自动驾驶车辆101的轨迹影响不大。预测模块可以更加关注注意力层中被选择的障碍物。预测模块对注意力层中被选择的障碍物的对应轨迹进行预测的精度可以高于未被注意力层选择的其他障碍物的轨迹。在一个实施例中,预测模块可以以较低的精度对未被注意力层选择的其他障碍物的轨迹进行预测。在一个实施例中,预测模块可以忽略不在注意力层中的其他障碍物的轨迹。
此外,如果损失函数发生变化,如上所述,预测模块的分析模型无法实现所需损失。例如,损失函数可能需要小于预定阈值,然而,预测模块的分析模型实现预定阈值的能力有限。通过增加注意力层,提高了预测模块的分析模型的能力。因此,预测模块的分析模型能够最小化损失函数,以实现所需损失。
在框508处,可以利用在框504处设计的损失函数以及在框506处设计/改变的模型结构,对预测模块303进行训练。然后,在模拟平台401处,预测模块303可以预测得到障碍物的轨迹。之后,规划模块可以规划得到自动驾驶车辆的轨迹。可以在评估模块430处对规划模块的模拟结果进行评估。如果规划模块得到改进,例如,自动驾驶车辆的规划轨迹得到改进,则基于上述的一组评价指标,损失函数设计和模型结构设计/改变是朝着正确的方向进行的;否则,损失函数设计和模型结构设计/改变的方向不正确。基于规划模块的模拟结果,可以在框504处再次调整或重新设计预测模块的分析模型的损失函数。在框506处,可以再次调整或重新设计预测模块的分析模型的模型结构。之后,可以对预测模块303进行继续调整或再次训练,以进一步提升规划模块的性能。这是一个具有多个周期的迭代过程。当规划模块的性能被最大化时,预测模块303可以被部署到自动驾驶车辆101,以在道路上进行自动驾驶。
图7是示出了根据一个实施例的自动驾驶车辆101的预测模块的评估方法的流程图。方法700可以通过处理逻辑执行,处理逻辑可以包括软件、硬件或其组合。参考图7,在操作701中,处理逻辑通过自动驾驶车辆的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹。
在操作702中,处理逻辑通过自动驾驶车辆的规划模块,基于多个障碍物的多个轨迹,在自动驾驶模拟平台上规划得到自动驾驶车辆的轨迹。
在操作703中,处理逻辑基于与自动驾驶车辆的轨迹有关的一个或多个评价指标,在自动驾驶模拟平台上确定规划模块的性能。
在一个实施例中,与自动驾驶车辆的轨迹有关的一个或多个评价指标包括自动驾驶车辆与多个障碍物中的一个障碍物发生碰撞、自动驾驶车辆轨迹的舒适度、自动驾驶车辆的轨迹违反交通规则。
在一个实施例中,处理逻辑可以根据一个或多个评价指标来确定一个或多个得分。一个或多个得分中的每个得分可以与一个或多个评价指标中的评价指标相对应。处理逻辑可以基于一个或多个得分来确定规划模块性能的整体得分。
在操作704中,处理逻辑基于规划模块的性能,对预测模块的性能进行评估,从而改进预测模块的性能,以将预测模块部署到自动驾驶车辆进行自动驾驶。
在一个实施例中,处理逻辑可以基于规划模块的性能来确定预测模块的分析模型的损失函数。
在一个实施例中,损失函数包括基于从地面真实值到预测位置之间的加权横向距离误差和加权纵向距离误差的复合距离误差,其中横向距离误差的权重大于纵向距离误差。
在一个实施例中,处理逻辑可以基于规划模块的性能来改变预测模块的分析模型的结构。
在一个实施例中,处理逻辑可以增加注意力层,从多个障碍物中选择一个或多个障碍物,并将该一个或多个障碍放置在注意力层中。
在一个实施例中,处理逻辑可以对注意力层中的一个或多个障碍物的一个或多个轨迹进行预测,预测的精度高于不在注意力层中的其他障碍物的轨迹。
在一个实施例中,处理逻辑可以基于分析模型对预测模块进行训练,以改进预测模块的性能。
应当注意,上文所示和所述的部分或全部部件可通过软件、硬件或其组合实现。例如,这些部件可以实现为安装并存储在持久存储设备中的软件,该软件可以通过处理器(未示出)在存储器中加载并执行,以执行本申请中描述的过程或操作。或者,这些部件可以实现为编程或嵌入专用硬件中的可执行代码,例如集成电路(例如,专用IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA),其可以经由相应的驱动器和/或操作系统从应用进行访问。此外,这些部件可以实现为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
前述详细描述的一些部分已经依据在计算机内存中对数据位进行操作的算法和符号表示进行了介绍。这些算法描述和表示是数据处理领域技术人员用来将其工作实质最有效地传达给本领域中其他技术人员的方式。本文中,算法通常被认为是导致期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
但是,应当记住,所有这些术语和类似的术语均将与适当的物理量关联,仅仅是应用于这些量的方便标记。除非在以上讨论中明确指出,否则应当了解,在整个说明书中,使用诸如所附权利要求书中阐述的术语进行的讨论是指计算机系统或类似电子计算设备的动作和处理,该计算机系统或电子计算设备操控在计算机系统寄存器和存储器内表示为物理(电子)量的数据,并将该数据变换成在计算机系统存储器或寄存器或者其他此类信息存储设备、传输设备或显示设备内类似地表示为物理量的其他数据。
本公开的实施例还涉及用于执行本文中的操作的装置。这种计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器设备)。
前述附图中描绘的过程或方法可以由处理逻辑来执行,处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管以上依据一些顺序操作描述了该过程或方法,但是应当了解,所描述的一些操作可以以不同的顺序执行。此外,一些操作可以并行执行而非顺序执行。
本公开的实施例并未参考任何特定的编程语言进行描述。应当了解,可以使用多种编程语言实现如本文描述的本公开的实施例的教导。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离所附权利要求书中所述的本公开的更宽泛的精神和范围的情况下,可以对本公开进行各种修改。因此,说明书和附图应视为说明性意义而非限制性意义。
Claims (19)
1.一种计算机实现的方法,包括:
通过自动驾驶车辆ADV的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹;
通过所述自动驾驶车辆的规划模块,基于所述多个障碍物的多个轨迹,在所述自动驾驶模拟平台上规划得到所述自动驾驶车辆的轨迹;
基于与所述自动驾驶车辆的轨迹有关的一个或多个评价指标,在所述自动驾驶模拟平台上确定所述规划模块的性能;以及
基于所述规划模块的性能,对所述预测模块的性能进行评估,从而改进所述预测模件的性能,以将所述预测模块部署到所述自动驾驶车辆进行自动驾驶。
2.根据权利要求1所述的方法,其中,关于所述自动驾驶车辆的轨迹的所述一个或多个评价指标包括:所述自动驾驶车辆与所述多个障碍物中的一个障碍物碰撞、所述自动驾驶车辆的轨迹的舒适度、所述自动驾驶车辆的轨迹违反交通规则。
3.根据权利要求1所述的方法,其中,基于与所述自动驾驶车辆的轨迹有关的一个或多个评价指标,在所述自动驾驶模拟平台上确定所述规划模块的性能包括:
根据所述一个或多个评价指标,确定一个或多个得分,所述一个或多个得分中的每个得分与所述一个或多个评价指标中的评价指标相对应;以及
基于所述一个或多个得分,确定所述规划模块的性能的总体得分。
4.根据权利要求1所述的方法,还包括:
基于所述规划模块的性能,确定所述预测模块的分析模型的损失函数。
5.根据权利要求4所述的方法,其中,所述损失函数包括复合距离误差,所述复合距离误差基于从地面真实值到预测位置之间的加权横向距离误差和加权纵向距离误差,其中所述横向距离误差的权重大于所述纵向距离误差的权重。
6.根据权利要求1所述的方法,还包括:
基于所述规划模块的性能,改变所述预测模块的分析模型的结构。
7.根据权利要求6所述的方法,其中,基于所述规划模块的性能,改变所述预测模块的分析模型的结构包括:
增加注意力层,以从所述多个障碍物中选择一个或多个障碍物。
8.根据权利要求7所述的方法,其中,在所述自动驾驶模拟平台上预测得到多个障碍物的多个轨迹包括:对所述注意力层选择的所述一个或多个障碍物的一个或多个轨迹进行预测,所述预测的精度高于对所述注意力层未选择的其他障碍物的轨迹的预测。
9.根据权利要求1所述的方法,还包括:
基于所述分析模型,对所述预测模块进行训练,从而改进所述预测模块的性能。
10.一种存储有指令的非暂时性计算机可读介质,所述指令在被处理器执行时使得所述处理器执行根据权利要求1至9之一所述的方法。。
11.一种电子设备,包括:
处理器;以及
与所述处理器耦接的存储器,所述存储器存储有指令,所述指令被所述处理器执行时,使得所述处理器执行以下操作:
通过自动驾驶车辆ADV的预测模块,在自动驾驶模拟平台上预测得到多个障碍物的多个轨迹;
通过所述自动驾驶车辆的规划模块,基于所述多个障碍物的多个轨迹,在所述自动驾驶模拟平台上规划得到所述自动驾驶车辆的轨迹;
基于与所述自动驾驶车辆的轨迹有关的一个或多个评价指标,在所述自动驾驶模拟平台上确定所述规划模块的性能;以及
基于所述规划模块的性能,对所述预测模块的性能进行评估,从而改进所述预测模件的性能,以将所述预测模块部署到所述自动驾驶车辆进行自动驾驶。
12.根据权利要求11所述的电子设备,其中,关于所述自动驾驶车辆的轨迹的所述一个或多个评价指标包括:所述自动驾驶车辆与所述多个障碍物中的一个障碍物碰撞、所述自动驾驶车辆的轨迹的舒适度、所述自动驾驶车辆的轨迹违反交通规则。
13.根据权利要求11所述的电子设备,其中,所述处理器还执行以下操作:
根据所述一个或多个评价指标,确定一个或多个得分,所述一个或多个得分中的每个得分与所述一个或多个评价指标中的评价指标相对应;以及
基于所述一个或多个得分,确定所述规划模块的性能的总体得分。
14.根据权利要求11所述的电子设备,其中,所述处理器还执行以下操作:
基于所述规划模块的性能,确定所述预测模块的分析模型的损失函数。
15.根据权利要求14所述的电子设备,其中,所述损失函数包括复合距离误差,所述复合距离误差基于从地面真实值到预测位置之间的加权横向距离误差和加权纵向距离误差,其中所述横向距离误差的权重大于所述纵向距离误差的权重。
16.根据权利要求11所述的电子设备,其中,所述处理器还执行以下操作:
基于所述规划模块的性能,改变所述预测模块的分析模型的结构。
17.根据权利要求16所述的电子设备,其中,所述处理器还执行以下操作:
增加注意力层,以从所述多个障碍物中选择一个或多个障碍物。
18.根据权利要求16所述的电子设备,其中,所述处理器还执行以下操作:对所述注意力层选择的所述一个或多个障碍物的一个或多个轨迹进行预测,所述预测的精度高于对所述注意力层未选择的其他障碍物的轨迹的预测。
19.根据权利要求11所述的电子设备,其中,所述处理器还执行以下操作:
基于所述分析模型,对所述预测模块进行训练,从而改进所述预测模块的性能。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/841,330 US20230406362A1 (en) | 2022-06-15 | 2022-06-15 | Planning-impacted prediction evaluation |
US17/841,330 | 2022-06-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116643565A true CN116643565A (zh) | 2023-08-25 |
Family
ID=87642967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310612613.XA Pending CN116643565A (zh) | 2022-06-15 | 2023-05-29 | 计算机执行的方法、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230406362A1 (zh) |
CN (1) | CN116643565A (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10649458B2 (en) * | 2017-09-07 | 2020-05-12 | Tusimple, Inc. | Data-driven prediction-based system and method for trajectory planning of autonomous vehicles |
US11851081B2 (en) * | 2020-12-01 | 2023-12-26 | Waymo Llc | Predictability-based autonomous vehicle trajectory assessments |
US20220188667A1 (en) * | 2020-12-15 | 2022-06-16 | Woven Planet North America, Inc. | Vehicle prediction module evaluation and training |
CN114065884A (zh) * | 2021-10-20 | 2022-02-18 | 国网浙江省电力有限公司杭州供电公司 | 一种结合局部注意力机制的红外电子标签位置预测方法 |
US20230150518A1 (en) * | 2021-11-15 | 2023-05-18 | Waymo Llc | Calibration of sensors in autonomous vehicle applications |
US20230294741A1 (en) * | 2022-03-18 | 2023-09-21 | Motional Ad Llc | Agent importance prediction for autonomous driving |
-
2022
- 2022-06-15 US US17/841,330 patent/US20230406362A1/en active Pending
-
2023
- 2023-05-29 CN CN202310612613.XA patent/CN116643565A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230406362A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11724708B2 (en) | Fail-safe handling system for autonomous driving vehicle | |
CN111775945B (zh) | 用于自动驾驶的用于检测最接近的路径内对象的方法和装置 | |
EP3882100B1 (en) | Method for operating an autonomous driving vehicle | |
CN112977473B (zh) | 用于预测移动障碍物驶出十字路口的方法及系统 | |
CN112829769B (zh) | 自动驾驶车辆的混合规划系统 | |
KR102589587B1 (ko) | 자율 주행 차량용 동적 모델 평가 패키지 | |
US11254326B2 (en) | Automatic comfort score system based on human driving reference data | |
EP4113393A2 (en) | Learning-based critic for tuning a motion planner of autonomous driving vehicle | |
CN112526960A (zh) | 自动驾驶监控系统 | |
EP4082856A2 (en) | E2e learning-based evaluator for an autonomous driving vehicle | |
CN117130298A (zh) | 用于评估自动驾驶系统的方法、装置及存储介质 | |
CN116225026A (zh) | 自动驾驶车辆操作方法、电子设备以及计算机可读介质 | |
CN115761686A (zh) | 用于检测自动驾驶系统中的意外控制状态的方法和装置 | |
CN114764022A (zh) | 用于自主驾驶车辆的声源检测和定位的系统和方法 | |
US11851088B2 (en) | Method for determining capability boundary and associated risk of a safety redundancy autonomous system in real-time | |
US11300955B2 (en) | Method for determining ride stability of an autonomous driving system controlling an autonomous driving vehicle | |
CN117312841A (zh) | 自动驾驶车辆训练数据的制定方法、电子设备和介质 | |
CN113002534A (zh) | 碰撞后减损制动系统 | |
CN116736855A (zh) | 评估自主驾驶规划和控制的方法和系统 | |
CN112441016A (zh) | 基于齿轮的车辆载荷推断系统 | |
US20230053243A1 (en) | Hybrid Performance Critic for Planning Module's Parameter Tuning in Autonomous Driving Vehicles | |
US11656262B2 (en) | Software simulation system for indoor EMC test | |
US20230406362A1 (en) | Planning-impacted prediction evaluation | |
US20240005066A1 (en) | Decoupled prediction evaluation | |
CN113525510B (zh) | 自动将自主驾驶车辆的转向返回至中心位置的系统和方法 |
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 |