CN117130298A - 用于评估自动驾驶系统的方法、装置及存储介质 - Google Patents

用于评估自动驾驶系统的方法、装置及存储介质 Download PDF

Info

Publication number
CN117130298A
CN117130298A CN202211642962.8A CN202211642962A CN117130298A CN 117130298 A CN117130298 A CN 117130298A CN 202211642962 A CN202211642962 A CN 202211642962A CN 117130298 A CN117130298 A CN 117130298A
Authority
CN
China
Prior art keywords
attack
defense
vehicle
autopilot system
driving
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
CN202211642962.8A
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 USA LLC
Original Assignee
Baidu USA LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu USA LLC filed Critical Baidu USA LLC
Publication of CN117130298A publication Critical patent/CN117130298A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0018Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions
    • B60W60/00188Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions related to detected security violation of control systems, e.g. hacking of moving vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Abstract

提供了一种用于评估自动驾驶系统的方法、装置和存储介质。该方法包括:确定攻击或防御,其中攻击是被配置成增加自动驾驶系统中的部件的差错率的第一输入,防御是被配置成降低自动驾驶系统中的部件的差错率的第二输入;模拟车辆的驾驶场景,其中驾驶场景包括驾驶环境和车辆配置;对自动驾驶系统或驾驶场景中的至少一者应用攻击或防御;由自动驾驶系统基于驾驶场景生成指令,该指令控制辆在所述驾驶场景中的行驶;基于指令来模拟车辆在驾驶场景中的行驶;以及基于车辆的行驶结果来确定评估结果。

Description

用于评估自动驾驶系统的方法、装置及存储介质
技术领域
本公开的实施方式总体上涉及自动驾驶领域,并且更具体地,涉及用于评估自动驾驶系统的方法、装置和存储介质。
背景技术
自动驾驶车辆(ADV)可以在自动驾驶模式(例如,无驾驶者)下操作,并且因此可以减轻乘坐者尤其是驾驶员的一些驾驶相关责任。当在自动驾驶模式下操作时,自动驾驶车辆可以由自动驾驶系统控制以导航到各种位置。
在复杂的驾驶场景中,ADV中的自动驾驶系统的安全性引起了ADV用户的广泛关注。特别地,出于某些原因,对于可能引起驾驶安全问题的各种驾驶场景或各种安全事件(例如,对ADV的攻击/防御),自动驾驶系统的系统级安全性能评估非常重要。例如,自动驾驶系统中的部件可能影响自动驾驶系统的整体性能。如今,单个部件的性能评估已经迅速发展。然而,对系统级安全性能评估仍然存在巨大的需求,以进一步提高ADV的安全性。
发明内容
在第一方面,提供了一种用于评估自动驾驶系统的方法。该方法包括:确定攻击或防御,其中攻击是被配置成增加自动驾驶系统中的部件的差错率的第一输入,防御是被配置成降低自动驾驶系统中的部件的差错率的第二输入;模拟车辆的驾驶场景,其中驾驶场景包括驾驶环境和车辆配置;对自动驾驶系统或驾驶场景中的至少一者应用攻击或防御;由自动驾驶系统基于驾驶场景生成指令,指令控制车辆在驾驶场景中的行驶;基于指令来模拟车辆在驾驶场景中的行驶;以及基于车辆的行驶结果来确定评估结果。
在第二方面,提供了一种装置。该装置包括处理器和存储有指令的存储器,该指令在由处理器执行时致使处理器执行根据第一方面的方法。
在第三方面,提供了一种存储有指令的非暂时性存储介质。该指令在由处理器执行时致使处理器执行根据第一方面的方法。
附图说明
从以下结合附图的详细描述中,本公开实施方式的上述和其它特征、优点和方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元件,其中:
图1是示出根据本公开一些实施方式的自动驾驶车辆网络配置的框图;
图2是示出根据本公开一些实施方式的自动驾驶车辆的示例的框图;
图3A和图3B是示出根据本公开一些实施方式的与自动驾驶车辆一起使用的自动驾驶系统的示例的框图;
图4示出了根据本公开一些实施方式的用于自动驾驶安全和安保(PASS)的平台;
图5示出了根据本公开一些实施方式的用于评估自动驾驶系统的方法;
图6示出了根据本公开一些实施方式的从第一子界面中选择攻击、防御、或攻击和防御的组合的实施方式;
图7示出了根据本公开一些实施方式的PASS的主界面;
图8示出了根据本公开一些实施方式的PASS的第一子界面;以及
图9示出了根据本公开一些实施方式的装置。
具体实施方式
下面将结合附图和实施方式进一步详细描述本公开。应当理解,这里描述的具体实施方式仅用于解释相关的公开内容,而不是限制本公开内容。此外,应当注意,为了便于描述,在附图中仅示出了与相关公开内容相关的部件。
还应当注意,本公开中的实施方式和实施方式中的特征可以在非冲突的基础上彼此组合。下面将参考附图并结合实施方式详细描述本公开。
在相关技术中,已认识到自动驾驶车辆(ADV)中的部件的行为可能不一定导致对ADV中的整个自动驾驶(AD)系统的影响。例如,当被错误检测的物体位于自动紧急制动的远距离时,或者误检测可以被后续部件(例如物体跟踪部件)容忍时,整个AD系统不受影响。然而,现有的AD AI安保/安全工作通常缺乏系统级评估。仅采用部件级评估(例如,分析模型精度,而不涉及与AD系统中的其它AI部件的任何交互/集成)。
图1是示出根据本公开一些实施方式的自动驾驶车辆网络配置的框图。参照图1,网络配置100包括可以通过网络102通信地联接到一个或多个服务器103和104的自动驾驶车辆101。尽管示出了一个自动驾驶车辆,但是多个自动驾驶车辆可以彼此联接和/或通过网络102联接到服务器103和104。网络102可以是任何类型的网络,例如局域网(LAN),诸如因特网、蜂窝网络、卫星网络、或其组合的广域网(WAN),有线或无线的网络。服务器103和104可以是任何类型的服务器或服务器群集,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器103和104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(MPOI)服务器、或位置服务器等。
自动驾驶车辆是指能够被配置成处于自动驾驶模式的车辆,在自动驾驶模式中,车辆在几乎没有来自驾驶员的输入的情况下导航通过环境。这种自动驾驶车辆可以包括具有一个或多个传感器的传感器系统,传感器被配置成检测关于车辆在其中运行的环境的信息。车辆及其相关联的控制器使用所检测的信息来导航通过环境。自动驾驶车辆101可以在手动模式、全自动驾驶模式或部分自动驾驶模式下操作。
在一些实施方式中,自动驾驶车辆101包括但不限于自动驾驶系统(即感知和规划系统)110、车辆控制系统111、无线通信系统112、用户界面系统113和传感器系统114。在一些实施方式中,自动驾驶车辆还包括信息娱乐系统(未示出)。自动驾驶车辆101还可以包括普通车辆中所包括的某些公共部件,例如发动机、车轮、方向盘、变速器等,其可以由车辆控制系统111和/或感知和规划系统110使用各种通信信号和/或命令来控制,上述通信信号和/或命令例如是加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
部件110至114可以经由互连、总线、网络或其组合彼此通信地联接。例如,部件110至114可以经由控制器区域网络(CAN)总线彼此通信地联接。CAN总线是车辆总线标准,其被设计成允许微控制器和装置在没有宿主计算机的应用中彼此通信。它是一种基于消息的协议,最初被设计用于汽车内的多路电线,但是也被用于许多其它环境中。
现在参考图2,在一些实施方式中,传感器系统114包括但不限于一个或多个摄像机211、全球定位系统(GPS)单元212、惯性测量单元(IMU)213、雷达单元214以及光检测和测距(LIDAR)单元215。GPS单元212可以包括可操作以提供关于自动驾驶车辆的位置的信息的收发器。IMU单元213可以基于惯性加速度来感测自动驾驶车辆的位置和方向变化。雷达单元214可以表示利用无线电信号来感测自动驾驶车辆的本地环境内的物体的系统。在一些实施方式中,除了感测物体之外,雷达单元214还可以感测物体的速度和/或航向。激光雷达单元215可以使用激光来感测自动驾驶车辆所处的环境中的物体。激光雷达单元215可以包括一个或多个激光源、激光扫描仪和一个或多个检测器,以及其它系统部件。摄像机211可以包括一个或多个用于捕获自动驾驶车辆周围环境的图像的装置。摄像机211可以是静态摄像机和/或视频摄像机。例如,通过将摄像机安装在旋转和/或倾斜平台上,摄像机可以是机械移动的。
传感器系统114还可以包括其它传感器,例如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可以被配置成从自动驾驶车辆周围的环境捕获声音。转向传感器可以被配置成感测方向盘、车辆的车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可以集成为集成油门/制动传感器。
在一些实施方式中,车辆控制系统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包括从传感器系统114、控制系统111、无线通信系统112和/或用户界面系统113接收信息的必要硬件(例如,处理器、内存、存储器)和软件(例如,操作系统、规划和路线程序),处理所接收的信息,规划从起始点到目的点的路线或路径,然后基于规划和控制信息驾驶车辆101。或者,感知和规划系统110可以与车辆控制系统111集成在一起。
例如,作为乘客的用户可以例如经由用户界面指定行程的开始位置和目的地。感知和规划系统110获得行程相关数据。例如,感知和规划系统110可以从MPOI服务器获得位置和路线信息,MPOI服务器可以是服务器103和104的一部分。位置服务器提供位置服务,MPOI服务器提供地图服务和特定位置的POI。或者,可以将这种位置和MPOI信息本地缓存在感知和规划系统110的永久存储装置中。
当自动驾驶车辆101沿着路线移动时,感知和规划系统110还可以从交通信息系统或服务器(TIS)获得实时交通信息。注意,服务器103和104可以由第三方实体操作。或者,服务器103和104的功能可以与感知和规划系统110集成在一起。基于由传感器系统114检测或感测的实时交通信息、MPOI信息和位置信息,以及实时本地环境数据(例如,障碍物、物体、附近车辆),感知和规划系统110可以例如经由控制系统111规划最佳路线并驾驶车辆101,以安全和有效地到达指定目的地。
服务器103可以是为各种客户端执行数据分析服务的数据分析系统。在一些实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121收集来自各种车辆的驾驶统计数据123,所述车辆是由人类驾驶员驾驶的自动驾驶车辆或常规车辆。驾驶统计数据123包括指示由车辆的传感器在不同时间点捕获的车辆的驾驶命令(例如,油门、制动、转向命令)和响应(例如,速度、加速度、减速度,方向)的信息。驾驶统计数据123还可以包括描述在不同时间点的驾驶环境的信息,例如,路线(包括开始位置和目的地位置)、MPOI、道路状况、天气状况等。
基于驾驶统计数据123,机器学习引擎122为各种目的生成或训练一组规则、算法和/或预测模型124。然后,算法124可以被上载到ADV上,以便在自动驾驶期间被实时地利用。
图3A和图3B是示出根据一些实施方式的与自动驾驶车辆一起使用的自动驾驶系统(即感知和规划系统)的示例的框图。系统300可以被实现为图1的自动驾驶车辆101的一部分,包括但不限于感知和规划系统110、控制系统111和传感器系统114。参照图3A和图3B,感知和规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306和路线安排模块307。
模块301至307中的一些或全部可以用软件、硬件或其组合来实现。例如,这些模块可以安装在永久存储装置352中,加载到存储器351中,并且由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地联接到图2的车辆控制系统111的一些或全部模块,或者与图2的车辆控制系统111的一些或全部模块集成。模块301至307中的一些可以被集成在一起作为集成模块。
定位模块301确定自动驾驶车辆101的当前位置(例如,利用GPS单元212)并管理与用户的行程或路线相关的任何数据。定位模块301(也称为地图和路线安排模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户界面登录并指定行程的开始位置和目的地。定位模块301与自动驾驶车辆101的其它部件(例如地图和路线信息311)通信,以获得行程相关数据。例如,定位模块301可以从位置服务器以及地图和POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,MPOI服务器提供地图服务和特定位置的POI,其可以作为地图和路线信息311的一部分被高速缓存。当自动驾驶车辆101沿着路线移动时,定位模块301还可以从交通信息系统或服务器获得实时交通信息。
基于由传感器系统114提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员会感知到的驾驶员正在驾驶的车辆周围的东西。该感知可以例如以物体的形式包括车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行道、或其它交通相关标志(例如,停车标志、让步标志)等。车道配置包括描述一条或多条车道的信息,例如,车道的形状(例如,直线或曲率)、车道的宽度、道路中多少车道、单向或双向车道、合并或分裂车道、退出车道等。
感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个摄像机捕获的图像,从而识别自动驾驶车辆环境中的物体和/或特征。物体可以包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可以使用物体识别算法、视频跟踪和其它计算机视觉技术。在一些实施方式中,计算机视觉系统可以映射环境、跟踪物体并估计物体的速度等。感知模块302还可以基于由其它传感器(例如雷达和/或LIDAR)提供的其它传感器数据来检测物体。
对于每个物体,预测模块303预测物体在环境下将表现的行为。基于在时间点根据一组地图/路线信息311和交通规则312感知驾驶环境的感知数据来执行预测。例如,如果物体是处于相反方向的车辆并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆是否可能直接向前移动或转弯。如果感知数据指示交叉路口没有交通灯,则预测模块303可以预测车辆在进入交叉路口之前可能必须完全停止。如果感知数据指示车辆当前处于仅左转弯车道或仅右转弯车道,则预测模块303可以预测车辆将更可能分别进行左转弯或右转弯。
对于每个物体,决策模块304做出关于如何处理物体的决定。例如,对于特定物体(例如,交叉路口中的另一车辆)及其描述该物体的元数据(例如,速度、方向、转向角),决策模块304决定如何遇到该物体(例如,超车、让步、停止、通过)。决策模块304可以根据可存储在永久存储装置352中的一组规则(例如交通规则或驾驶规则312)来作出这些决定。
路线安排模块307被配置成提供从起始点到目的点的一个或多个路线或路径。对于例如从用户接收的从开始位置到目的地位置的给定行程,路线安排模块307获得路线和地图信息311,并确定从开始位置到目的地位置的所有可能的路线或路径。路线安排模块307可以为它所确定的从开始位置的每条路线生成地形图形式的参考线以到达目的地位置。参考线指的是没有来自其它车辆、障碍物或交通状况的任何干扰的理想路线或路径。也就是说,如果在道路上没有其它车辆、行人或障碍物,则ADV应该精确地或紧密地遵循参考线。然后将地形图提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305考虑由其它模块提供的其它数据,例如来自定位模块301的交通状况、由感知模块302感知的驾驶环境以及由预测模块303预测的交通状况,检查所有可能的路线以选择和修改最佳路线之一。用于控制ADV的实际路径或路线可以接近或不同于由路线安排模块307提供的参考线,这取决于在该时间点的特定驾驶环境。
基于所感知到的物体中的每一个的决定,规划模块305使用由路线安排模块307提供的参考线作为基础来规划自动驾驶车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转向角)。也就是说,对于给定的物体,决策模块304决定对该物体做什么,而规划模块305决定如何做。例如,对于给定的物体,决策模块304可以决定通过该物体,而规划模块305可以确定是在该物体的左侧还是右侧通过。规划和控制数据由规划模块305生成,规划模块305包括描述自动驾驶车辆101将如何在下一个移动周期(例如,下一个路线/路径段)中移动的信息。例如,规划和控制数据可以指示自动驾驶车辆101以每小时30英里(mph)的速度移动10米,然后以25mph的速度改变到右车道。
基于规划和控制数据,控制模块306根据规划和控制数据所定义的路线或路径,通过向车辆控制系统111发送适当的命令或信号来控制和驾驶自动驾驶车辆。规划和控制数据包括足够的信息,以便在沿着路径或路线的不同时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路径或路线的第一点驾驶到第二点。
在一些实施方式中,规划阶段在多个规划周期(也称为驾驶周期)中执行,例如,在每个100毫秒(ms)的时间间隔中。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。也就是说,对于每100ms,规划模块305规划下一个路线段或路径段,例如,包括目标位置和ADV到达目标位置所需的时间。或者,规划模块305可以进一步指定特定速度、方向和/或转向角等。在一个实施方式中,规划模块305在下一预定时间段(例如5秒)内规划路线段或路径段。对于每个规划周期,规划模块305基于在前一个周期中规划的目标位置来规划当前周期的目标位置(例如,下一个5秒)。控制模块306然后基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。
注意,决策模块304和规划模块305可以被集成为集成模块。决策模块304/规划模块305可以包括导航系统或导航系统的功能以确定自动驾驶车辆的行驶路径。例如,导航系统可以确定一系列速度和方向性航向以影响自动驾驶车辆沿着基本上避免所感知到的障碍的路径的移动,同时通常使自动驾驶车辆沿着基于道路的路径前进到最终目的地。可以根据经由用户界面系统113的用户输入来设置目的地。导航系统可以在自动驾驶车辆运行时动态地更新行驶路径。导航系统可以结合来自GPS系统的数据和一个或多个地图,以便确定自动驾驶车辆的行驶路径。
图4示出了根据本公开一些实施方式的用于自动驾驶安全和安保(PASS)的平台。
PASS的主要目标是为AD环境中的各种AI(人工智能)安全和安保工作建立统一并可扩展的系统驾驶的评估平台。在一些实施方式中,为了实现一致性,评估场景和指标是统一的,使得对不同产品的评估结果可以直观地可视化并可比较。在一些实施方式中,攻击和防御实施、评估设置和AD设计是标准化的和模块化的,从而可以容易地再现现有产品,并且可以由研究者共同开发新的攻击或防御、AD系统设计和评估场景以适应将来的需要。
在一些实施方式中,PASS提供模块化AD系统管线401,包括通常被攻击或防御作为目标的AI部件。在一些实施方式中,模块化AD系统是图3A所示的AD系统,通常被攻击或防御作为目标的AI部件是定位模块301、感知模块302、预测模块303、决策模块304和规划模块305。在一些实施方式中,为了将来的需要,每个AI部件被设计成可替换的。在一些实施方式中,模块化AD系统是诸如Apollo Opensource、OpenPilot和Autoware的一体化AD系统。
PASS的受控体模型402包括车辆运动学和物理驾驶环境。在一些实施方式中,使用模拟器SVL来提供受控体模型。与真实车辆和试验轨道相比,基于模拟的受控体模型在负担能力、效率和安全性方面都有很大的优势。在一些实施方式中,除了自动驾驶系统110之外,所有其它系统和服务器都由模拟器来模拟。在一些实施方式中,受控体模型定义了用于描述评估设置的驾驶场景列表,包括AD车辆的初始位置、配备的传感器、可驾驶区域和周围环境动态(例如,车辆、行人、交通信号)。为了易于修改和贡献,将驾驶场景形式化为人类可读的配置文件。
PASS的桥接403充当AD与受控体模型之间的通信信道,允许读取传感器数据和启动AD车辆。为了更好的可扩展性,桥接支持用于在运行时间修改通信数据的功能挂钩。
在一些实施方式中,在PASS中存在三种类型的攻击或防御插件405。插件允许用户直接在平台中部署他们的攻击和防御。特别地,每个插件被设计为采用不同类型的攻击或防御作为输入的Python API。例如,物理世界攻击插件可以在任意位置对模拟世界加载敌意补丁(例如,停止标记攻击);AD内部攻击或防御插件可以替代AD系统内部的简单AI部件;传感器攻击或防御插件可以修改/检查桥接上的传感器信息。例如,如图2所示的传感器系统114中的任何一个单元可以被攻击插件修改。
指标库404负责从平台中的所有其它模块收集测量结果并计算与场景相关的评估指标。利用来自受控体模型的测量,指标库可以量化系统级安全工作(例如,碰撞率)、交通规则违规(例如,车道偏离率)、行程延迟等的影响。在一些实施方式中,为了全面性,提供了部件级指标(例如,逐帧攻击成功率)。
在一些实施方式中,基于游戏引擎的3D模拟器(如SVL、CARLA、AirSim、Udcapacity等)被用于开发虚拟安全测试方法。
在一些实施方式中,虚拟测试案例通常表现为由静态设置和动态设置组成的配置文件。静态设置包括模拟分析下的全局不变数据,如高清晰度地图、传感器、自动驾驶车辆模型、驾驶目的地等。动态设置包括在模拟分析中其值是可变的参数,诸如周围非操控角色(NPC)汽车的位置、交通灯信号、天气和灯光条件等。
图5示出了根据本公开一些实施方式的用于评估自动驾驶系统的方法。该方法包括步骤501至步骤506。
步骤501包括:确定攻击或防御,其中攻击是被配置成增加自动驾驶系统中的部件的差错率的第一输入,并且防御是被配置成降低自动驾驶系统中的部件的差错率的第二输入。
在一些实施方式中,攻击包括后门程序,并且防御包括改进模型。
在一些实施方式中,车辆配置包括如图2所示的控制系统和传感器系统。
在一些实施方式中,攻击包括对驾驶环境的扰动。
在一些实施方式中,攻击或防御是插件。该插件包括:第一插件,被配置成加载对模拟驾驶场景的敌意补丁;第二插件,替换自动驾驶系统中的部件;或第三插件,被配置成修改或检查传感器数据。在一些实施方式中,第一插件将停止标志的图像加载到驾驶环境中。例如,将停止标志的图像附加到卡车上。在一些实施方式中,第二插件由后门程序替换模块301至模块307中的一个。在一些实施方式中,第三插件修改图2的传感器系统114中的任何一个单元的感测信号。
步骤502包括:模拟车辆的驾驶场景,其中驾驶场景包括驾驶环境和车辆配置。
在一些实施方式中,驾驶环境包括行人、交通灯、建筑物或道路中的至少一者,并且车辆配置包括车辆的初始位置、传感器系统或可驾驶区域中的至少一者。在一些实施方式中,车辆配置包括传感器系统114、控制系统111、无线通信系统112。在一些实施方式中,车辆配置还包括服务器103和服务器104。
步骤503包括:对自动驾驶系统或驾驶场景中的至少一者应用攻击或防御。
在一些实施方式中,攻击或防御可以被应用于自动驾驶系统、模拟传感器系统或模拟驾驶环境。
在一些实施方式中,对自动驾驶系统或驾驶场景中的至少一者应用攻击或防御包括:由后门程序替换自动驾驶系统中的部件,或由改进模型替换自动驾驶系统中的部件。在一些实施方式中,后门程序具有与被替换部件相同的功能,并且具有比被替换部件更低的精度或更高的差错率。在一些实施方式中,后门程序与被替换部件具有相同的功能,并且对于给定输入具有与被替换部件不同的输出。在一些实施方式中,改进模型具有与被替换部件相同的功能,并且具有比被替换部件更高的精度或更低的差错率。在一些实施方式中,部件是模块301至模块307中的任何一个。
在一些实施方式中,攻击包括修改传感器系统中的传感器的传感器数据,例如修改GPS单元的GPS信号。在一些实施方式中,防御包括信号认证,并且信号认证是对传感器数据执行。在一些实施方式中,传感器数据是由如图2所示的传感器系统114中的单元感测的任何数据。在一些实施方式中,在GPS单元上执行GPS欺骗,并且定位模块301的差错率增加。在一些实施方式中,对GPS单元上的信号执行信号认证,并且定位模块的差错率降低。
在一些实施方式中,对自动驾驶系统或驾驶场景中的至少一者应用攻击或防御包括:将扰动添加到驾驶场景中的驾驶环境,其中扰动包括图像、文本或语音中的至少一者。例如,扰动是停止符号图像。在一些实施方式中,感知模块包括物体检测部件和物体跟踪部件,攻击是扰动图像,并且扰动图像被附到驾驶环境中的物体(例如,卡车)。在存在附在物体上的扰动图像的情况下,物体检测部件检测物体的精度降低,而且物体检测部件的差错率增加。
步骤504包括:由自动驾驶系统基于驾驶场景生成控制车辆在驾驶场景中行驶的指令。
在一些实施方式中,自动驾驶系统(例如,如图3A所示的自动驾驶系统110)基于模拟驾驶环境和模拟车辆配置发出指令。
步骤505包括:基于指令来模拟车辆在驾驶场景中的行驶。
在一些实施方式中,模拟器SVL被用于基于指令来模拟车辆在驾驶场景中的行驶。
步骤506包括:基于车辆的行驶结果来确定评估结果。
在一些实施方式中,行驶结果包括碰撞记录、行驶路线或行驶持续时间中的至少一者,且评估结果包括碰撞率、与车道的偏差或行程延迟中的至少一者。在一些实施方式中,响应于通过对自动驾驶系统中的部件应用攻击确定碰撞率大大增加(例如,大于10%或更多),评估结果包括自动驾驶系统对攻击是易感的。在一些实施方式中,响应于确定出通过对自动驾驶系统中的部件应用防御而使碰撞率大为降低(例如,大于10%或更多),该评估结果包括防御对自动驾驶系统是有效的。在一些实施方式中,响应于确定出碰撞率是稳定的(例如,碰撞率的变化不大于5%),该评估结果包括自动驾驶系统对攻击不是易感的,或者防御对自动驾驶系统是无效的。
在一些实施方式中,在步骤501中,通过从第一子界面中选择攻击、防御、或攻击和防御的组合来确定攻击或防御,其中第一子界面包括攻击、防御、或攻击和防御的组合。
图6示出了根据本公开一些实施方式的从第一子界面中选择攻击、防御、或攻击和防御的组合的实施方式。
步骤601包括:显示包括多个标识符的主界面,多个标识符中的每一个被显示为图标并指示单个相应的子界面,其中多个标识符包括攻击和防御的第一标识符。
在一些实施方式中,在主界面中显示评估按钮;并且响应于按压评估按钮,显示评估结果。图7示出了根据本公开一些实施方式的PASS的主界面。
步骤602包括:响应于选择了第一标识符,显示第一子界面。
在一些实施方式中,第一子界面包括多个攻击选项、多个防御选项或其组合。
在一些实施方式中,在显示第一子界面的同时,显示其它子界面的其它标识符和主界面的标识符的行,其中其它标识符包括驾驶场景的第二标识符和自动驾驶系统的第三标识符。图8示出了根据本公开一些实施方式的第一子界面。
在一些实施方式中,响应于从其它子界面的其它标识符和主界面的标识符中选择了标识符,显示所选择的标识符的子界面或主界面。在一些实施方式中,响应于选择了第二标识符,显示第二子界面。第二子界面包括驾驶场景的设置。在一些实施方式中,驾驶场景的设置包括驾驶环境的选项和车辆配置的选项。
在一些实施方式中,响应于选择了第三标识符,显示第三子界面。第三子界面包括自动驾驶系统的设置。在一些实施方式中,自动驾驶系统的设置包括可替换模块的选项。
步骤603包括:从子界面中选择攻击、防御、或攻击和防御的组合。
在一些实施方式中,通过在第一子界面中触摸指示攻击的图标或指示防御的图标,选择攻击或防御。通过触摸主界面上的评估按钮,开始模拟。模拟完成后,返回评估结果并显示在主界面上。
图9示出了适于实施根据本公开一些实施方式的用于评估自动驾驶系统的方法的装置。
如图9所示,该装置包括:一个或多个处理器901、存储器902、以及用于连接各种部件的接口(包括高速接口和低速接口)。各种部件使用不同的总线彼此连接,并且可以根据需要安装在公共母板上或以其它方法安装。处理器可以处理在装置内执行的指令,包括存储在存储器中或存储器上的指令,以便在外部输入/输出装置(例如联接到界面的显示装置)上显示GUI的图形信息。在其它实施方式中,如果需要,多个处理器和/或多个总线可以与多个存储器一起使用。类似地,可以连接多个装置,并且这些装置例如作为服务器阵列、一组刀片式服务器或多处理器系统而提供一些必要操作。在图9中,处理器901被用作示例。
存储器902是由本公开提供的非暂时性计算机可读存储介质。存储器存储可以由至少一个处理器执行的指令,使得至少一个处理器执行根据公开内容的一些实施方式的用于评估自动驾驶系统的方法。本公开的非暂时性计算机可读存储介质存储用于使计算机执行根据本公开一些实施方式的用于评估自动驾驶系统的方法的计算机指令。
作为非暂时性计算机可读存储介质的存储器902可以用于存储非暂时性计算机可执行程序和模块,诸如与根据本公开一些实施方式的用于评估自动驾驶系统的方法对应的程序指令/模块。处理器901执行存储在存储器902中的非暂时性软件程序、指令和模块,以执行服务器的各种功能应用和数据处理,即,实现根据公开内容的一些实施方式的用于评估自动驾驶系统的方法。
存储器902可以包括存储程序区和存储数据区,其中存储程序区可以存储操作系统和至少一个功能所需的应用程序;并且存储数据区可以存储通过使用根据公开内容的一些实施方式的用于评估自动驾驶系统的方法的装置而创建的数据。此外,存储器902可以包括高速随机存取存储器,并且还可以包括非暂时性存储器,诸如至少一个磁盘存储装置、闪存装置或其它非暂时性固态存储装置。在一些实施方式中,存储器902可以可选地包括相对于处理器901远程设置的存储器,并且这些远程存储器可以连接到根据本公开一些实施方式的用于评估自动驾驶系统的方法的装置。上述网络的示例包括但不限于因特网、内联网、局域网、移动通信网络及其组合。
执行根据本公开一些实施方式的用于评估自动驾驶系统的方法的装置还可以包括输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或以其它方法连接。在图9中,作为示例,通过总线进行连接。
输入装置903可以接收输入的数字或字符信息,并产生与用于学习认知表示的方法的装置的用户设置和功能控制相关的键信号输入,例如触摸屏、小键盘、鼠标、跟踪板、触摸板、指示杆、一个或多个鼠标按钮、跟踪球、操纵杆和其它输入装置。输出装置904可以包括显示装置、辅助照明装置(例如LED)、触觉反馈装置(例如,振动电机)等。显示装置可以包括但不限于液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示装置可以是触摸屏。
应当理解,以上所示的各种形式的过程可以被用于重新排序、添加或删除步骤。例如,本公开中描述的步骤可以以并行、按顺序或以不同的顺序执行。只要能够实现本文中公开的技术方案的期望结果,本文不进行限制。
上述具体实施方式不对本公开的保护范围构成限制。本领域技术人员应当理解,可以根据设计要求和其它因素进行各种修改、组合、子组合和替换。在本公开的精神和原理内进行的任何修改、等同替换和改进将包括在本公开的保护范围内。

Claims (20)

1.一种用于评估自动驾驶系统的方法,所述方法包括:
确定攻击或防御,其中所述攻击是被配置成增加所述自动驾驶系统中的部件的差错率的第一输入,所述防御是被配置成降低所述自动驾驶系统中的所述部件的差错率的第二输入;
模拟车辆的驾驶场景,其中所述驾驶场景包括驾驶环境和车辆配置;
对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御;
由所述自动驾驶系统基于所述驾驶场景生成指令,所述指令控制所述车辆在所述驾驶场景中的行驶;
基于所述指令来模拟所述车辆在所述驾驶场景中的所述行驶;以及
基于所述车辆的行驶结果来确定评估结果;
其中,所述方法由处理器执行。
2.根据权利要求1所述的方法,其中,所述攻击包括后门程序,并且所述防御包括改进模型,其中,对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御包括:
由所述后门程序替换所述自动驾驶系统中的所述部件,或由所述改进模型替换所述自动驾驶系统中的所述部件,
其中,所述后门程序具有与所替换的部件相同的功能,并且具有比所替换的部件更低的精度或更高的差错率,以及
所述改进模型具有与所替换的部件相同的功能,并且具有比所替换的部件更高的精度或更低的差错率。
3.根据权利要求1所述的方法,其中,所述车辆配置包括传感器,所述攻击包括修改所述传感器的传感器数据,并且所述防御包括信号认证,其中,对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御包括:
修改所述传感器的所述传感器数据,或对所述传感器数据执行信号认证。
4.根据权利要求1所述的方法,其中,所述攻击包括对所述驾驶环境的扰动,其中,对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御包括:
将所述扰动添加到所述驾驶场景中的所述驾驶环境,其中所述扰动包括图像、文本或语音中的至少一者。
5.根据权利要求1所述的方法,其中,所述攻击或所述防御是插件。
6.根据权利要求5所述的方法,其中,所述插件包括:
第一插件,被配置成加载对所述模拟驾驶场景的敌意补丁,
第二插件,替换所述自动驾驶系统中的所述部件,或
第三插件,被配置成修改或检查传感器数据。
7.根据权利要求1所述的方法,其中,所述驾驶环境包括行人、交通灯、建筑物或道路中的至少一者,并且所述车辆配置包括所述车辆的初始位置、传感器或可驾驶区域中的至少一者。
8.根据权利要求1所述的方法,其中,所述行驶结果包括碰撞记录、所述行驶的路线、或所述行驶的持续时间中的至少一者,并且所述评估结果包括碰撞率、与车道的偏差、或行程的延迟中的至少一者。
9.根据权利要求1所述的方法,其中,确定所述攻击或所述防御包括:
从第一子界面中选择所述攻击、所述防御、或所述攻击与所述防御的组合,其中所述第一子界面包括攻击、防御、或攻击与防御的组合。
10.根据权利要求9所述的方法,其中,从所述第一子界面中选择所述攻击、所述防御、或所述攻击与所述防御的组合包括:
显示包括多个标识符的主界面,所述多个标识符中的每一个均被显示为图标并指示单个相应的子界面,其中所述多个标识符具有所述攻击和所述防御的第一标识符;
响应于选择了所述第一标识符,显示所述第一子界面;以及
从所述第一子界面中选择所述攻击、所述防御、或所述攻击与所述防御的组合。
11.根据权利要求10所述的方法,其中,在显示所述第一子界面的同时,显示其它子界面的其它标识符和所述主界面的标识符的行,其中所述其它标识符包括所述驾驶场景的第二标识符和所述自动驾驶系统的第三标识符;以及
响应于从所述其它子界面的其它标识符和所述主界面的标识符中选择了标识符,显示所选择的标识符的所述子界面或所述主界面。
12.根据权利要求9所述的方法,其中,基于所述车辆的行驶结果来确定所述评估结果包括:
显示包括评估按钮的主界面;以及
响应于按压所述评估按钮,显示所述评估结果。
13.一种装置,包括:
处理器;以及
存储有指令的存储器,所述指令在由所述处理器执行时致使所述处理器执行如下操作,所述操作包括:
确定攻击或防御,其中所述攻击是被配置成增加所述自动驾驶系统中的部件的差错率的第一输入,所述防御是被配置成降低所述自动驾驶系统中的所述部件的差错率的第二输入;
模拟车辆的驾驶场景,其中所述驾驶场景包括驾驶环境和车辆配置;
对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御;
由所述自动驾驶系统基于所述驾驶场景生成指令,所述指令控制所述车辆在所述驾驶场景中的行驶;
基于所述指令来模拟所述车辆在所述驾驶场景中的所述行驶;以及
基于所述车辆的行驶结果来确定评估结果。
14.根据权利要求13所述的装置,其中,所述攻击包括后门程序,并且所述防御包括改进模型,其中,对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御包括:
由所述后门程序替换所述自动驾驶系统中的所述部件,或由所述改进模型替换所述自动驾驶系统中的所述部件,
其中,所述后门程序具有与所替换的部件相同的功能,并且具有比所替换的部件更低的精度或更高的差错率,以及
所述改进模型具有与所替换的部件相同的功能,并且具有比所替换的部件更高的精度或更低的差错率。
15.根据权利要求13所述的装置,其中,所述车辆配置包括传感器,所述攻击包括修改所述传感器的传感器数据,并且所述防御包括信号认证,其中,对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御包括:
修改所述传感器的所述传感器数据,或对所述传感器数据执行信号认证。
16.根据权利要求13所述的装置,其中,所述攻击包括对所述驾驶环境的扰动,其中,对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御包括:
将所述扰动添加到所述驾驶场景中的所述驾驶环境,其中所述扰动包括图像、文本或语音中的至少一者。
17.根据权利要求13所述的装置,其中,所述攻击或所述防御是插件,并且所述插件包括:
第一插件,被配置成加载对所述模拟驾驶场景的敌意补丁,
第二插件,替换所述自动驾驶系统中的所述部件,或
第三插件,被配置成修改或检查传感器数据。
18.根据权利要求13所述的装置,其中,所述驾驶环境包括行人、交通灯、建筑物或道路中的至少一者,并且所述车辆配置包括所述车辆的初始位置、传感器或可驾驶区域中的至少一者。
19.根据权利要求13所述的装置,其中,所述行驶结果包括碰撞记录、所述行驶的路线、或所述行驶的持续时间中的至少一者,并且所述评估结果包括碰撞率、与车道的偏差、或行程的延迟中的至少一者。
20.一种存储指令的非暂时性存储介质,所述指令在由处理器执行时致使所述处理器执行操作,所述操作包括:
确定攻击或防御,其中所述攻击是被配置成增加所述自动驾驶系统中的部件的差错率的第一输入,所述防御是被配置成降低所述自动驾驶系统中的所述部件的差错率的第二输入;
模拟车辆的驾驶场景,其中所述驾驶场景包括驾驶环境和车辆配置;
对所述自动驾驶系统或所述驾驶场景中的至少一者应用所述攻击或所述防御;
由所述自动驾驶系统基于所述驾驶场景生成指令,所述指令控制所述车辆在所述驾驶场景中的行驶;
基于所述指令来模拟所述车辆在所述驾驶场景中的所述行驶;以及
基于所述车辆的行驶结果来确定评估结果。
CN202211642962.8A 2022-05-25 2022-12-20 用于评估自动驾驶系统的方法、装置及存储介质 Pending CN117130298A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/824,686 2022-05-25
US17/824,686 US20220289253A1 (en) 2022-05-25 2022-05-25 Method for evaluating autonomous driving system, apparatus and storage medium

Publications (1)

Publication Number Publication Date
CN117130298A true CN117130298A (zh) 2023-11-28

Family

ID=83195889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211642962.8A Pending CN117130298A (zh) 2022-05-25 2022-12-20 用于评估自动驾驶系统的方法、装置及存储介质

Country Status (2)

Country Link
US (1) US20220289253A1 (zh)
CN (1) CN117130298A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115909020B (zh) * 2022-09-30 2024-01-09 北京瑞莱智慧科技有限公司 模型鲁棒性检测方法、相关装置及存储介质
CN115526055B (zh) * 2022-09-30 2024-02-13 北京瑞莱智慧科技有限公司 模型鲁棒性检测方法、相关装置及存储介质

Also Published As

Publication number Publication date
US20220289253A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US11328219B2 (en) System and method for training a machine learning model deployed on a simulation platform
US11016500B2 (en) Simulation-based method to evaluate perception requirement for autonomous driving vehicles
US20210208597A1 (en) Sensor aggregation framework for autonomous driving vehicles
EP3580625B1 (en) Driving scenario based lane guidelines for path planning of autonomous driving vehicles
US10915766B2 (en) Method for detecting closest in-path object (CIPO) for autonomous driving
US11167770B2 (en) Autonomous vehicle actuation dynamics and latency identification
US11685398B2 (en) Lane based routing system for autonomous driving vehicles
US11702087B2 (en) Autonomous driving monitoring system
CN117130298A (zh) 用于评估自动驾驶系统的方法、装置及存储介质
US11662730B2 (en) Hierarchical path decision system for planning a path for an autonomous driving vehicle
EP3869341A1 (en) Play-forward planning and control system for an autonomous vehicle
EP3914492B1 (en) A parking-trajectory generation method combined with offline and online solutions
KR102359497B1 (ko) 단일 차량 동작용으로 설계된 자율 주행 시스템에 따른 차량 플래툰 구현
CN115761686A (zh) 用于检测自动驾驶系统中的意外控制状态的方法和装置
CN112985825B (zh) 用于确定自动驾驶系统的乘坐稳定性的方法
US11254326B2 (en) Automatic comfort score system based on human driving reference data
EP4082856A2 (en) E2e learning-based evaluator for an autonomous driving vehicle
CN115907250A (zh) 用于调整自主驾驶车辆的运动规划器的基于学习的评论器
US20230042001A1 (en) Weighted planning trajectory profiling method for autonomous vehicle
US11656262B2 (en) Software simulation system for indoor EMC test
US20230406362A1 (en) Planning-impacted prediction evaluation
US20240034353A1 (en) Automatic generation of corner scenarios data for tuning autonomous vehicles
US20230060776A1 (en) Decision consistency profiler for an autonomous driving vehicle
CN116674591A (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