CN116811878A - 计算机实现的方法、机器可读介质以及电子设备 - Google Patents
计算机实现的方法、机器可读介质以及电子设备 Download PDFInfo
- Publication number
- CN116811878A CN116811878A CN202311000553.2A CN202311000553A CN116811878A CN 116811878 A CN116811878 A CN 116811878A CN 202311000553 A CN202311000553 A CN 202311000553A CN 116811878 A CN116811878 A CN 116811878A
- Authority
- CN
- China
- Prior art keywords
- brake
- autonomous vehicle
- command
- communication bus
- determining
- 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 43
- 238000004891 communication Methods 0.000 claims abstract description 86
- 230000004044 response Effects 0.000 claims abstract description 44
- 230000015654 memory Effects 0.000 claims description 11
- 238000001994 activation Methods 0.000 description 59
- 230000004913 activation Effects 0.000 description 58
- 238000010586 diagram Methods 0.000 description 34
- 238000012545 processing Methods 0.000 description 28
- 239000012530 fluid Substances 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 12
- 238000013507 mapping Methods 0.000 description 9
- 230000003213 activating effect Effects 0.000 description 8
- 230000000750 progressive effect Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 230000008447 perception Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 201000010276 collecting duct carcinoma Diseases 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000036541 health Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000007935 neutral effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009429 electrical wiring Methods 0.000 description 2
- 238000012854 evaluation process Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000035484 reaction time Effects 0.000 description 2
- 231100000817 safety factor Toxicity 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 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
- 238000011156 evaluation Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 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
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
- B60T8/00—Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force
- B60T8/32—Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force responsive to a speed condition, e.g. acceleration or deceleration
- B60T8/88—Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force responsive to a speed condition, e.g. acceleration or deceleration with failure responsive means, i.e. means for detecting and indicating faulty operation of the speed responsive control means
- B60T8/885—Arrangements for adjusting wheel-braking force to meet varying vehicular or ground-surface conditions, e.g. limiting or varying distribution of braking force responsive to a speed condition, e.g. acceleration or deceleration with failure responsive means, i.e. means for detecting and indicating faulty operation of the speed responsive control means using electrical circuitry
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/18—Conjoint control of vehicle sub-units of different type or different function including control of braking systems
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- 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/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/18109—Braking
-
- 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
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
-
- 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
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/029—Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
-
- 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
- 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
- B60T—VEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
- B60T2201/00—Particular use of vehicle brake systems; Special systems using also the brakes; Special software modules within the brake system controller
- B60T2201/12—Pre-actuation of braking systems without significant braking effect; Optimizing brake performance by reduction of play between brake pads and brake disc
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
- B60T2270/00—Further aspects of brake control systems not otherwise provided for
- B60T2270/10—ABS control systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
- B60T2270/00—Further aspects of brake control systems not otherwise provided for
- B60T2270/40—Failsafe aspects of brake control systems
- B60T2270/402—Back-up
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60T—VEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
- B60T2270/00—Further aspects of brake control systems not otherwise provided for
- B60T2270/40—Failsafe aspects of brake control systems
- B60T2270/413—Plausibility monitoring, cross check, redundancy
-
- 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
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/029—Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
- B60W2050/0295—Inhibiting action of specific actuators or systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Regulating Braking Force (AREA)
- Traffic Control Systems (AREA)
Abstract
本公开提供了一种计算机实现的方法、机器可读介质以及电子设备。在一个实施例中,系统确定自动驾驶车辆ADV处的通信总线的信号故障。响应于确定信号故障,系统向自动驾驶车辆的制动系统发送制动器预充电命令,以对自动驾驶车辆的制动器进行预充电。系统确定对信号故障进行确认的预设容错时间。响应于到达预设容错时间,系统确认通信总线的信号故障或确定另一通信总线的信号故障。响应于确认通信总线的信号故障或确定另一通信总线的信号故障,系统向自动驾驶车辆的制动系统发送制动命令,以接合自动驾驶车辆的制动器。
Description
技术领域
本公开的实施例总体上涉及操作自动驾驶车辆。更具体地,本公开的实施例涉及一种计算机实现的方法、机器可读介质以及电子设备,涉及自动驾驶车辆的控制器局域网CAN总线故障时的制动动作。
背景技术
在自动模式下运行的车辆(例如无人驾驶车辆)可以减轻车内人员,尤其是驾驶员的一些驾驶相关任务。当车辆在自动模式下运行时,可以使用车载传感器将车辆导航到不同位置,从而车辆行驶时能够尽量减少人机交互,或在没有乘客的情况下行驶。
制动控制是自动驾驶中的一项关键操作。自动驾驶系统(ADS)的减速/压力请求应在无故障的情况下发送到制动系统。
发明内容
本公开实施例提供了一种计算机实现的方法、机器可读介质以及电子设备。
根据本公开实施例的一个方面,提供了一种计算机实现的方法,包括:
确定自动驾驶车辆ADV处的通信总线的信号故障;
响应于确定信号故障,向自动驾驶车辆的制动系统发送制动器预充电命令,以对自动驾驶车辆的制动器进行预充电;
确定对信号故障进行确认的预设容错时间;
响应于到达预设容错时间,确认通信总线的信号故障或确定另一通信总线的信号故障;以及
响应于确认通信总线的信号故障或确定另一通信总线的信号故障,向自动驾驶车辆的制动系统发送制动命令,以接合自动驾驶车辆的制动器。
根据本公开实施例的另一方面,提供了一种存储有指令的非暂时性机器可读介质,指令在被处理器执行时使得处理器执行以下操作:
确定自动驾驶车辆ADV处的通信总线的信号故障;
响应于确定信号故障,向自动驾驶车辆的制动系统发送制动器预充电命令,以对自动驾驶车辆的制动器进行预充电;
确定对信号故障进行确认的预设容错时间;
响应于到达预设容错时间,确认通信总线的信号故障或确定另一通信总线的信号故障;以及
响应于确认通信总线的信号故障或确定另一通信总线的信号故障,向自动驾驶车辆的制动系统发送制动命令,以接合自动驾驶车辆的制动器。
根据本公开实施例的另一方面,提供了一种电子设备,包括:
处理器;以及
与处理器耦接的存储器,存储器存储有指令,指令被处理器执行时,使得处理器执行以下操作:
确定自动驾驶车辆ADV处的通信总线的信号故障;
响应于确定信号故障,向自动驾驶车辆的制动系统发送制动器预充电命令,以对自动驾驶车辆的制动器进行预充电;
确定对信号故障进行确认的预设容错时间;
响应于到达预设容错时间,确认通信总线的信号故障或确定另一通信总线的信号故障;以及
响应于确认通信总线的信号故障或确定另一通信总线的信号故障,向自动驾驶车辆的制动系统发送制动命令,以接合自动驾驶车辆的制动器。
附图说明
本公开的实施例以示例而非限制的方式在附图中示出,其中相似的附图标记表示相似的元件。
图1是示出了根据一个实施例的网络化系统的框图。
图2是示出了根据一个实施例的自动驾驶车辆的示例的框图。
图3A和图3B是示出了根据一个实施例的与自动驾驶车辆一起使用的自动驾驶系统的示例的框图。
图4是示出了根据一个实施例的自动驾驶车辆的冗余系统的示例的框图。
图5是示出了根据一个实施例的信号故障制动模块的示例的框图。
图6是示出了根据一个实施例的液压制动系统的示例的框图。
图7是示出了根据一个实施例的减速请求的示例的框图。
图8是示出了根据一个实施例的信号故障检测的示例过程的框图。
图9是示出了根据一个实施例的执行故障后备制动的方法的流程图。
图10是示出了根据一个实施例的自动驾驶车辆的冗余系统的示例的框图。
图11是示出了根据一个实施例的制动模式选择模块的示例的框图。
图12是示出了根据一个实施例的制动模式选择的示例的框图。
图13A至图13E是示出了根据一个实施例的用于制动模式选择的映射表的框图。
图13F是示出了根据一个实施例的用于制动模式选择的故障等级说明的框图。
图14是示出了根据一个实施例的制动模式选择方法的流程图。
图15是示出了根据一个实施例的自动驾驶车辆的冗余系统的示例的框图。
图16是示出了根据一个实施例的次系统激活模块的框图。
图17是示出了根据一个实施例的次系统激活过程的示例的框图。
图18A是示出了根据一个实施例的激活配置的示例的框图。
图18B是示出了根据一个实施例的另一激活配置的示例的框图。
图19是示出了根据一个实施例的自动驾驶车辆的各个子系统的不同激活路径的框图。
图20是示出了根据一个实施例的主系统或次系统的激活方法的流程图。
具体实施例
将参考下述细节对本公开的各种实施例和方面进行描述,附图将示出各种实施例。以下描述和附图是说明性的,不应解释为对本公开的限制。为了透彻理解本公开的各种实施例,描述了许多具体细节。然而,在某些情况下,为了简明论述本公开的实施例,没有对众所周知的或常规的细节进行描述。
说明书中提到的“一个实施例”或“实施例”表示结合该实施例描述的特定特征、结构或特性可以包括在本公开的至少一个实施例中。在说明书中不同位置出现的“在一个实施例中”不一定都指同一个实施例。
控制器局域网(CAN)总线是一种车辆总线标准,旨在允许微控制器和设备(例如电子控制单元(ECU))在没有主机的情况下相互通信。CAN基于消息传递协议,设计用于汽车内的多路电气布线。对于每个设备,帧中的数据是串行传输的,传输方式如下:如果多个设备同时传输,则具有最高优先级的设备可以继续传输,而其他设备作为后备。包括发送设备在内的所有设备接收所发送的帧。
车辆可以有一条或多条CAN总线。例如,CAN总线可以专用于某些车辆域,例如信息娱乐CAN、车辆控制CAN、底盘域CAN。也可以根据不同的速度对CAN总线进行分类(例如,高速CAN、低速CAN)等。CAN总线也可设计为用于后备的冗余部件。
随着线控驱动系统的发展,CAN总线可用于不同线控驱动系统和车辆自动驾驶系统之间的通信。当不同的线控驱动系统检测到CAN总线故障或检测到CAN总线通信中断时,需要进行故障后备制动。
此外,当施加制动时,单个减速请求不会得到最佳的制动性能鲁棒性、驾驶员舒适性或制动速度。根据各种驾驶场景的适应性制动方案可以平衡制动性能鲁棒性、驾驶员舒适性和制动速度。
此外,当自动驾驶系统使用冗余底盘域控制器(例如,冗余线控驱动系统)时,如果主线控驱动系统出现故障,自动驾驶系统将激活冗余线控驱动系统。然而,由于自动驾驶系统默认使用主线控驱动系统,如果主线控驱动被大量使用,则主线控驱动系统的寿命会缩短。当冗余线控驱动系统长时间未被激活时,冗余线控驱动可能无法正常工作。即使当主线控驱动系统可运行时,也需要在主线控驱动系统和冗余线控驱动系统之间进行交替,以确保冗余线控驱动系统按预期运行,同时延长主线控驱动系统的寿命。
根据一些实施例,当系统检测到主控制器局域网(CAN)和次控制器局域网的通信信道发生故障时,系统执行故障后备制动机制。
根据第一方面,系统确定自动驾驶车辆(ADV)的通信总线处的信号故障。响应于确定信号故障,系统向自动驾驶车辆的制动系统发送制动器预充电命令,以对自动驾驶车辆的制动器进行预充电。系统确定对信号故障进行确认的预设容错时间。响应于到达预设容错时间,系统验证通信总线处的信号故障或确定另一通信总线处的信号故障。响应于确认通信总线处的信号故障或确定另一通信总线处的信号故障,系统向自动驾驶车辆的制动系统发送制动命令,以接合自动驾驶车辆的制动器。
根据第二方面,系统确定选择参数,以应用自动驾驶车辆(ADV)相适应的制动方案。系统利用驾驶场景映射表,基于选择参数来确定制动模式。响应于确定要施加制动,系统根据制动模式对自动驾驶车辆施加制动。可以分三个阶段施加制动,这三个阶段包括制动器预充电阶段、减速度增加阶段和减速率恒定阶段。
根据第三方面,系统确定自动驾驶车辆(ADV)的激活参数,激活参数包括主制动系统或次制动系统的历史使用情况。响应于确定要施加制动,系统基于激活参数来激活主制动系统或次制动系统。系统根据激活情况向主制动系统或次制动系统发送制动命令。
图1是示出了根据一个实施例的自动驾驶网络配置的框图。参见图1,网络配置100包括自动驾驶车辆(ADV)101,其可以经由网络102与一个或多个服务器103~104通信连接。图中示出了一个自动驾驶车辆,但多个自动驾驶车辆可以经由网络102相互耦接和/或耦接到服务器103~104。网络102可以是任何类型的有线或无线网络,例如局域网(LAN)、诸如因特网的广域网(WAN)、蜂窝网络、卫星网络或其组合。服务器103~104可以是任何类型的服务器或服务器集群,例如Web或云服务器、应用服务器、后端服务器或其组合。服务器103~104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(Map and Pointof 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可以是照相机和/或摄像机。通过例如将相机安装在旋转和/或倾斜平台上,相机可以机械移动。
传感器系统115还可以包括其他传感器,例如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可以用于捕获来自自动驾驶车辆周围环境的声音。转向传感器可以用于感测方向盘、车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可以集成为集成油门/制动传感器。
在一个实施例中,车辆控制系统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还可以包括描述不同时间点的驾驶环境的信息,例如,路线(包括起始位置和目标位置)、MPOI、道路状况、天气状况等。
数据收集器121可以收集自动驾驶车辆101的使用/故障统计数据125。使用/故障统计数据125可以包括自动驾驶车辆的主系统和/或次系统(冗余系统)的使用信息和/或故障信息。例如,使用信息可以包括在预定的时间长度内主系统或次系统的使用次数(和/或平均时间)。故障信息可以包括报警指标、自动驾驶车辆的哪些子系统指示故障/报警、相应的故障级别等。主系统和/或次系统可以用于底盘域控制器(线控驱动系统)、自动驾驶车辆的计算系统(ADS)、制动系统、转向系统、油门系统、传动系统、传感器系统、单独的传感器和/或动力系统。
基于驾驶统计数据123和使用/故障统计数据125,机器学习引擎122生成或训练一组规则、算法和/或预测模型124,以实现各种目的。在一个实施例中,算法124可以包括用于激活自动驾驶车辆的主系统或次(冗余)系统的选择算法。
然后可以将算法124上传到自动驾驶车辆,以便在自动驾驶期间实时使用。
图3A和图3B是示出了根据一个实施例的与自动驾驶车辆一起使用的自动驾驶系统的示例的框图。系统300可以实现为图1的自动驾驶车辆101的一部分,包括但不限于自动驾驶系统110、控制系统111和传感器系统115。参见图3A和图3B,自动驾驶系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路线模块307、制动模式选择模块308以及次系统激活模块309。
模块301~309中的部分或全部模块可以实现为软件、硬件或其组合。例如,这些模块可以安装在持久存储设备352中,加载到存储器351中,并通过一个或多个处理器(未示出)执行。需要注意的是,这些模块中的部分或全部模块可以与图2的车辆控制系统111的部分或全部模块通信耦接或集成在一起。模块301~309中的部分模块可以集成为集成模块。
定位模块301确定自动驾驶车辆300的当前位置(例如,利用GPS单元212),并管理与用户的行程或路线相关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线相关的任何数据。用户可以例如通过用户界面登录并指定行程的起始位置和目的地。定位模块301与自动驾驶车辆300的其他部件,例如地图和路线数据311进行通信,以获得行程相关数据。例如,定位模块301可以从位置服务器以及地图和兴趣点服务器获得位置和路线数据。位置服务器提供位置服务,地图和兴趣点服务器提供地图服务和一些位置的兴趣点,可以将这些地图服务和兴趣点缓存为地图和路线数据311的一部分。当自动驾驶车辆300沿着路线移动时,定位模块301还可以从交通信息系统或服务器获得实时交通信息。
感知模块302可以基于传感器系统115提供的传感器数据和定位模块301获得的定位信息,确定周围环境的感知信息。感知信息可以表示普通驾驶员在驾驶时可以感知到的车辆周围的信息。感知信息可以包括例如对象形式的车道配置、交通灯信号、其他车辆的相对位置、行人、建筑物、人行横道或其他交通相关标志(例如停车标志、让行标志)等。车道配置包括描述一条或多条车道的信息,例如车道形状(例如,直线或曲线)、车道宽度、道路上的车道数量、单向或双向车道、合并或划分车道、离开车道等。
感知模块302可包括计算机视觉系统或计算机视觉系统的功能,对通过一个或多个相机捕获的图像进行处理和分析,以识别自动驾驶车辆环境中的对象和/或特征。对象可包括交通信号、道路边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以利用物体识别算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统可以映射环境、跟踪对象并估计对象的速度等。感知模块302还可以基于由诸如雷达和/或激光雷达的其他传感器提供的其他传感器数据检测对象。
对于每个对象,预测模块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生成规划和控制数据,包括描述车辆101在下一移动周期(例如,下一路线/路径段)将如何移动的信息。例如,规划和控制数据可以指示车辆101以每小时30英里(miles per hour,mph)的速度移动10米,然后以每小时25英里的速度变换到右侧车道。
控制模块306通过向车辆控制系统111发送合适的命令或信号,根据规划和控制信息定义的路线或路径,基于规划和控制数据控制和驾驶自动驾驶车辆。规划和控制数据包括足够的信息,从而沿着该路径或路线,在不同的时间点使用合适的车辆设置或驾驶参数(例如油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
在一个实施例中,规划阶段在多个规划周期中执行,规划周期也称为驾驶周期,例如为每50毫秒(ms)的时间间隔。对于每个规划周期或驾驶周期,可以根据规划和控制数据发出一个或多个控制命令。也就是说,对于每50毫秒,规划模块305规划例如包括目标位置和自动驾驶车辆到达目标位置所需时间的下一路线段或路径段。或者,规划模块305还可以指定具体速度、方向和/或转向角等。在一个实施例中,规划模块305规划例如为5秒的下一预定时间段的路线段或路径段。对于每个规划周期,规划模块305基于在前一周期中规划的目标位置,对当前周期(例如接下来的5秒)的目标位置进行规划。之后,控制模块306基于当前周期的规划和控制数据生成一个或多个控制命令(例如油门、制动器、转向控制命令)。
需要注意的是,决策模块304和规划模块305可以集成为集成模块。决策模块304/规划模块305可以包括导航系统或导航系统的功能,以确定自动驾驶车辆的驾驶路径。例如,导航系统可以确定一系列速度和定向航向,使得自动驾驶车辆沿着基本上避开感知障碍物的路径进行移动的同时,也通常使得自动驾驶车辆沿着通向最终目的地的基于车道的路径前进。可以经由用户接口系统113根据用户输入对目的地进行设置。当自动驾驶车辆运行时,导航系统可以动态地更新行驶路径。导航系统可以结合来自GPS系统的数据和一个或多个地图,从而确定自动驾驶车辆的行驶路径。
制动模式选择模块308可以确定主/次ADS的状态、主/次底盘域控制器和驾驶统计数据,以从映射表中选择制动模式。制动模式选择模块308的制动模式选择在图10至图14中进一步详细说明。
次系统激活模块309可以收集自动驾驶车辆101的不同主系统和次系统的使用/故障统计数据。利用使用/故障统计数据和驾驶统计数据,次系统激活模块309可以激活自动驾驶车辆的不同主系统或次系统。通过即使在主系统可运行时激活次系统,可以延长主系统的使用寿命,并且可以减少次系统故障的可能性。次系统激活模块309的激活在图15至图20中进一步详细说明。需要注意的是,制动模式选择模块308和次系统激活模块309可以集成为集成模块。
图4是示出了根据一个实施例的自动驾驶车辆的冗余系统的示例的框图400。通常,车辆安全要求关键控制系统设计有冗余。例如,车辆自动驾驶系统(ADS)可以包括主ADS系统和次ADS系统,其中次ADS以冗余模式运行。
车辆控制分为底盘域、车身域和动力传动系统域。动力传动系统域涉及车辆的发动机和变速器的控制。车身域涉及对车窗、车门、后视镜调节、座椅调节、通风、加热等的控制。底盘域涉及对制动器、油门和/或转向的控制,以实现车辆的稳定性和动态性。
底盘域控制系统410作为图1中车辆控制系统111的一部分,可以表示底盘域的控制。尽管图4中没有示出车身域和动力传动系统域,但冗余系统可以扩展至车身域和动力传动系统域。
参考图4,ADS110可以包括主ADS 401和次ADS 403。在一个实施例中,主ADS 401用作自动驾驶车辆101的默认ADS系统,而次ADS 403用作冗余系统,在主ADS 401发生故障时被激活。在一个实施例中,ADS110包括一个或多个微控制器(MCU)405。MCU 405可以包括在一个分立封装中具有处理器核心、存储器和输入/输出(I/O)的片上系统(SOC)。MCU 405可用于传送车身控制系统、驾驶控制系统、信息娱乐系统和驾驶辅助控制系统等的控制信号。在一个实施例中,MCU 405可与底盘域控制系统410通信。例如,MCU 405可以将制动命令传送到底盘域控制系统410以激活制动器。
参考图4,在一个实施例中,底盘域控制系统410包括主底盘域控制器和次底盘域控制器411~413、主制动单元和次制动单元421~423、主转向单元和次转向单元431~433以及主油门单元和次油门单元441~443。底盘域控制器411~413经由主CAN总线和次CAN总线461~463偶接到ADS110。主CAN总线和次CAN总线461~463通过网关465耦接,因此主CAN总线上的部件可以将信号传送到次CAN总线上的部件,反之亦然。在一个实施例中,底盘域控制器411~413中的任一控制器可以从ADS110和/或传感器系统115接收信号,并向与单元421~443相对应的任何电子控制单元(ECU)(未示出)发出命令/信号。然后,ECU可以向单元421~443发送控制命令,以控制单元421~443的致动。
随着汽车智能化的发展,将传统汽车的底盘进行线控改装,以适用于自动驾驶系统,例如线控驱动系统。线控驱动系统的一些示例包括线控转向、线控制动、线控换档(传动)、机油控制阀和线控悬挂等。线控转向和线控制动是至关重要的车辆控制,通常设计有冗余。
在一些实施例中,底盘域控制器411~413包括各自的线控驱动(DBW)单元1~2。在一些实施例中,制动、转向和油门单元421~443包括相应的线控制动、线控转向和/或线控油门系统。在一些实施例中,制动、转向和油门单元421~443包括传统的液压制动系统、用于转向的转向柱以及用于油门的直接机械连杆。
参考图4,当主CAN总线和/或次CAN总线461~463发生信号故障时,底盘域控制器411~413可能无法接收来自MCU 405的命令信号。在一个实施例中,主底盘域控制器411和/或次底盘域控制器413包括信号故障制动模块500。信号故障制动模块500可以在模块500检测到主CAN总线和/或次CAN总线461~463处的信号故障时激活制动器。
图5是示出了根据一个实施例的信号故障制动模块500的示例的框图。信号故障制动模块500可以检测通信总线(例如CAN总线)故障并向制动单元发出制动命令。信号故障可能包括通信故障电缆、噪音、错误终止、总线断开事件、总线故障事件等。一些故障模式可能包括CAN高信号线(CAN_H)中断、CAN低信号线(CAN_L)中断、CAN_H对地短路、CAN_L对地断路、CAN_H对电池电压短路、CAN-L对电池电压短路以及CAN_H对CAN_L短路等。
在一个实施例中,信号故障制动模块500包括故障确定器子模块501、制动器预充电子模块503、时间容错确定器子模块505、时间到达确定器子模块507、制动器释放子模块509和制动子模块511。故障确定器子模块501可以确定通信总线上已经发生故障。例如,子模块501可以检测诸如图4的主CAN总线461或次CAN总线463的主CAN总线或次CAN总线的故障模式、错误代码或通信断开。制动器预充电子模块503可以向制动单元发出制动器预充电命令。制动器预充电命令可以使制动片移动到制动转子的阈值距离内(例如,无接触或轻微接触),但不会使自动驾驶车辆101停止。图7进一步详细说明了制动器预充电。
时间容错确定器子模块505可以确定用于验证故障的时间容错。容错时间可以由ADS预先设置,可以表示用于确定故障不是间歇性故障的时间阈值。也就是说,当故障在一段容错时间内仍然存在时,就会确认故障。容错时间的示例可以是300毫秒。对于该示例,如果错误发生在参考时间=0ms(毫秒),并且此后每个周期都检测到错误,那么在时间=300ms时确定/确认错误。故障确认可以使得ADS执行错误消除任务。在另一示例中,如果错误发生在时间=0ms(毫秒),并且在时间=100ms时错误消除,则故障在时间=100ms时被认为是无效的。如果在时间=140ms时再次出现故障,并持续到时间=440ms时,则仅在时间=440ms时确认故障,因为在时间=140ms时重新开始了容错时间的计数,并且故障持续了300ms的容错时间。
时间到达确定器子模块507可以确定检测到故障后时间已到达,以进行故障确认。如果故障是无效的,则制动器释放子模块509可以释放制动器。如果故障被确认,则制动子模块511可以施加制动。需要注意的是,子模块501~511中的任何子模块都可以集成为集成模块,可以在软件或硬件中实现。
尽管故障后备制动机制可用于线控制动系统,但故障后备制动机制也可用于液压制动系统。图6是示出了根据一个实施例的液压制动系统600的示例的框图。液压制动系统600可以表示图4的主制动单元和次制动单元421~423。参考图6,液压制动系统是一种制动系统,其使用制动液压流体将制动踏板力从制动踏板传送到车轮的制动鼓/制动盘/制动卡钳,从而进行制动。在一个实施例中,液压制动系统600包括主液压制动系统421和次液压制动系统423。
主液压制动系统421可以包括前轴制动管路603和后轴制动管路605,分别用于向前轮处的车轮制动装置651和653以及后轮处的车轮制动装置655和657供应制动液压流体(或制动液)。制动液可以将操作人员施加在制动踏板上的物理运动传递到车轮制动装置。示例车轮制动装置包括卡钳/盘式制动片和转子、和/或制动鼓和转子。
两条制动管路603、605可连接至共享制动主缸607,该制动主缸通过储液罐609供应制动液。制动主缸607可以包括活塞615,活塞615可以由操作人员经由制动踏板611致动,以施力将主缸607内部的制动液沿着管路603~605流向车轮制动装置651~657。制动踏板611的踏板行程距离可以通过踏板行程传感器613来测量。在一个实施例中,制动助力器612耦接在主缸607与制动踏板611之间,对操作人员的致动力进行辅助。例如,制动助力器612可以利用踏板行程传感器613检测踏板行程距离,并驱动电机(未示出)以电子方式致动活塞615。在一个实施例中,制动助力器612可以由ADS 110以电子方式操作,从而通过制动命令施加制动。
通过入口阀617~619,主缸607供应的制动液可以被控制流动到前轮或后轮。通过相应的入口阀621~627,前轮或后轮处供应的制动液可以进一步被控制流动到各个车轮。所供应的液压流体可以经由相应的出口阀631~637返回到储液罐609。
在一个实施例中,主液压制动系统421包括从动缸641。从动缸641可以通过电机643以电子方式进行操作,以致动从动缸641中的活塞645,从而迫使制动液压流体流向流体管路603~605并流向车轮制动装置651~657。在一个实施例中,从动缸641可以通过ADS110以电子方式进行操作,以通过制动命令施加制动。在一些实施例中,诸如图4的底盘域控制器(例如,DBW 1或DBW 2)411~413的底盘域控制器可以以电子方式操作电机643,从而控制制动装置651~657。在一个实施例中,由从动缸641供应的制动液压流体可以被控制为通过入口阀647~649流动到前轮或后轮。
在一个实施例中,主液压制动系统421包括位于主缸管路和从动缸管路处的压力传感器601~602,以感测各个管路处的压力。感测到的压力值可以用作反馈信号,从而对制动器进行控制。
参考图6,次液压制动系统423可以是电子稳定控制(ESC)系统或防抱死制动系统(ABS)。ABS是一种安全功能,可防止操作人员在强力制动(完全禁用转向能力)下锁定车轮,允许操作人员保持转向控制。这是通过将制动片夹紧在制动盘(或制动鼓)上,直到车轮转速传感器检测到车轮即将抱死。然后,系统会暂时释放制动器,之后再次快速踩下制动器——在某些情况下,这一过程每秒最多重复15次——以防止车轮抱死。
在一个实施例中,次液压制动系统423包括电机661和压力传感器663。电机661可以将制动液脉冲泵送到车轮装置。在一个实施例中,电机661可以将制动液从储液罐609累积到蓄能器(未示出),以将制动液供应到车轮制动装置651~657。在一个实施例中,电机661可以由ADS 110以电子方式进行操作,从而通过制动命令施加制动。在一个实施例中,诸如图4的CDC(DBW 1或DBW 2)411~413的底盘域控制器(CDC)可以以电子方式操作电机661,从而控制制动装置651~657。在一个实施例中,由次液压制动系统423供应的制动液可以被控制为经由入口阀671~677流动到相应的车轮制动装置651~657,用于稳定性控制。在一个实施例中,制动液经由出口阀681~687和管路689,从次液压制动系统423返回到储液罐609。
如图6所示,当主缸607、从动缸641或电机661运行时,阀616、646以电子方式配置为关闭,制动液需要一段阈值时间才能积聚。此外,任何以电子方式传播或以液压方式传播到制动装置的信号都具有一定的反应时间。也就是说,制动器的运行不是即时的,而是具有相关延迟。因此,当ADS在时间=0时发出减速请求时,将在稍后的某个时间施加制动,如图7所示。
图7是示出了根据一个实施例的减速请求的示例的框图700。图700描绘了在时间=0s提交的减速请求(A_req)701以及自动驾驶车辆101响应于所请求的减速度的实际减速度703。减速请求701可以表示由ADS 110或由底盘域控制器请求的制动命令。制动请求命令的示例可以是A_req=-0.3*g,其中A_req是请求的减速度,g是重力加速度或9.8m/s^2。
如图7所示,实际减速度703可以表示无阻尼瞬态响应,具有初始延迟期705,随后是跟踪期707、稳定期709,最后是稳态期711。此外,实际减速度703可以具有过冲713,其与大于A_req 701的短时减速相对应。在一个实施例中,可以分三个阶段施加制动,而不是单个减速请求A_req 701,以减少制动的反应时间,增加操作人员的舒适度。
例如,对于第一阶段,为了使延迟周期705最小化,可以在主/次ADS、MCU和/或主/次CDC处引入制动器预充电命令。例如,制动器预充电命令可以对主制动系统的主/从缸处的活塞进行预充电,或者为次制动系统积聚液压流体。预充电命令对制动盘/制动卡钳垫片进行致动,从而在车轮制动装置处闭合垫片和转子之间的距离。
在一个实施例中,制动器预充电命令可以使制动片移动到相应转子的预定阈值距离内。在一个实施例中,制动器预充电命令包括制动器距离行程命令、制动液压命令或减速命令。例如,制动器预充电命令包括在预定时间段,例如100ms内对液压流体施加0.05MPA压力的压力请求,或者制动器预充电命令可以包括在100ms内施加0.5mm踏板行程距离的踏板行程距离请求,或者制动器预充电命令可以包括在100ms内以0.01*g m/s^2减速的减速请求。在此,施加的制动器预充电命令不会显著降低车辆速度。相反,如果需要施加制动,则施加的制动器预充电命令对制动系统进行预充电,以减少制动器的响应时间。
在一个实施例中,制动器预充电命令可以是指定的制动信号,包括命令标志、命令值和命令持续时间。例如,如果命令是压力请求、踏板行程距离请求或减速请求,则命令标志可以进行标记。命令值可以是相应的请求值,命令持续时间可以是施加预充电命令的持续时间。示例制动器预充电命令可以是{flag:压力,值:0.05,持续时间:100ms}。
对于第二阶段,为了提高操作人员的舒适度,A_req的跟踪响应的上限应为预定斜率,例如,dA_req/dt小于预定阈值。例如,dA_req/dt的上限可以为-50m/s^3。在此,可以将跟踪命令引入至ADS、MCU和/或CDC,用于dA_req/dt命令。在一些实施例中,dA_req/dt命令可以通过MCU和/或CDC转换为动态减速请求。
对于第三阶段,请求命令可以对应于恒定减速度,例如-0.6m/s^2。在一些实施例中,三阶段制动命令可以包括表示第一、第二和第三阶段的制动命令。在另一个实施例中,两阶段制动命令可以分两个阶段进行施加,第一阶段用于制动器预充电(例如,第一阶段),第二阶段对应于跟踪和稳定制动命令。
对于CAN总线故障,可以通过处理逻辑自动执行制动命令,处理逻辑可以包括软件、硬件或其组合。例如,诸如图4中的CDC 411或413的CDC可以将制动命令发布为两阶段命令,以提高响应时间和操作人员舒适度。参考图8,根据一个实施例,图800示出了用于主通信总线和次通信总线(例如,CAN总线)的故障检测过程的示例。如图8所示,在操作801,时间=T0(例如0ms),处理逻辑检测到CAN总线1处的信号故障。信号故障可以对应于总线断开、CAN总线错误模式、CAN总线错误故障、无响应等。
在操作803,处理逻辑向一个或多个车轮装置发送制动器预充电命令,以闭合转子和车轮装置处的制动盘/卡钳垫片(或制动鼓)之间的距离。
在操作805,在时间=T1(例如,50ms),处理逻辑请求CAN总线2处的状态。CAN总线1、2可以对应于主/次CAN总线或次/主CAN总线。
在操作807,可选地,在时间=T2(例如,100ms),处理逻辑检测制动器已预充电。例如,处理逻辑可以感测相应液压管路处的压力,或者测量踏板行程传感器处的踏板行程距离,以用于检测。
在操作809,在时间=T3(例如,300ms),响应于确认CAN总线1信号故障或检测到CAN总线2具有信号故障,处理逻辑发送与跟踪和稳定制动命令相对应的制动命令,例如,三阶段制动命令的第二阶段(例如,dA_req/dt=-50m/s^3)和第三阶段(例如-0.6*g m/s^2)。在一个实施例中,制动命令对应于稳定制动,例如-0.6*g m/s^2。因此,当底盘域控制器检测到主和/或次CAN总线故障时,底盘域可以施加制动。
在一个实施例中,如果CAN总线1故障在时间=T3(例如,300ms)之前是无效的,则处理逻辑释放制动器,例如,发送释放命令以解除制动器预充电命令。制动器释放命令的一个示例可以是A_req=0m/s^2。尽管在该示例中使用100ms的预充电时间(例如,T2-T0)以及300ms的容错时间(例如时间=(T3-T0)以确认CAN总线1故障),但是预充电时间和/或容错时间可以是任何其他值。
图9是示出了根据一个实施例的执行故障后备制动的方法的流程图。过程900可以由处理逻辑来执行,处理逻辑可以包括软件、硬件或其组合。例如,过程900可以由图4的主CDC或次CDC 411~413执行。
在方框901处,处理逻辑确定自动驾驶车辆(ADV)的通信总线(例如,主CAN总线或次CAN总线)处的信号故障。
在方框903处,响应于确定信号故障,处理逻辑向自动驾驶车辆的制动系统发送制动器预充电命令,以对自动驾驶车辆的制动器进行预充电。
在方框905,处理逻辑确定对信号故障进行确认的预设容错时间。
在方框907,响应于到达预设容错时间,处理逻辑确认通信总线(例如,主CAN总线或次CAN总线)处的信号故障,或者确定另一通信总线(如,次CAN总线或主CAN总线)处的信号故障。
在方框909处,响应于确认通信总线处的信号故障或确定另一通信总线处的信号故障,处理逻辑向自动驾驶车辆的制动系统发送制动命令,以接合自动驾驶车辆的制动器。
制动命令可以是减速请求,也可以与多阶段命令(例如,跟踪和稳定制动)相对应。
在一个实施例中,在预设容错时间内,处理逻辑确定通信总线处的信号故障是无效的。响应于在预设容错时间内确定通信总线处的信号故障是无效的,处理逻辑向自动驾驶车辆的制动系统发送制动器恢复命令以释放制动器。
在一个实施例中,制动系统是自动驾驶车辆的主制动系统或次制动系统,其中次制动系统包括防抱死制动系统。
在一个实施例中,通信总线包括主控制器局域网(CAN)总线或次CAN总线,其中,自动驾驶车辆的自动驾驶系统(ADS)利用主或次CAN总线的通信通道与自动驾驶车辆的底盘域控制器通信。
在一个实施例中,信号故障指示通信总线的一个或多个通信信道的通信错误或通信丢失。
在一个实施例中,发送的制动器预充电命令使得制动片移动到相应转子的阈值距离内。
在一个实施例中,制动器预充电命令包括制动器距离行程命令、制动液压命令或减速命令。
在一个实施例中,制动器预充电命令包括指示命令值类型的命令标志、指示压力值或主缸行程距离值或减速值的命令值,或指示命令有效期的命令状态持续时间。
在一个实施例中,制动命令包括与第一预定时间段相对应的第一减速请求值和与第二预定时间段相对应的第二减速请求值,以最大限度地减少施加制动时的减速过冲,其中第一减速请求值大于第二减速请求值。
在一个实施例中,制动系统由线控驱动系统控制。
图10是示出了根据一个实施例的自动驾驶车辆的冗余系统的示例的框图。系统1000可以表示图4中的系统400。在一个实施例中,主ADS或次ADS 401~403可以包括制动模式选择模块308。在一个实施例中,主底盘域控制器或次底盘域控制器411~413可以包括制动模式选择模块308。系统1000的各个部件的描述可以参考图4的系统400。
图11是示出了根据一个实施例的制动模式选择模块308的示例的框图。制动模式选择模块308可以从自动驾驶车辆101可用的选择参数中选择制动模式(例如,紧急制动、渐进制动或任何其他模式)。在一个实施例中,制动模式选择模块308包括ADS状态确定器子模块1101、底盘域状态确定器子模块1103、障碍物确定器子模块1105、制动模式确定器子模块1107、制动器预充电子模块1109、制动跟踪子模块1111和稳定制动子模块1113。
参考图10和图11,ADS状态确定器子模块1101可以确定主ADS或次ADS 401~403的状态。底盘域状态确定器子模块1103可以确定主域控制器或次域控制器411~413的状态。该状态可以对应于相关的故障级别,例如图13F中所示的F0~F4。障碍物确定器子模块1105可以检测自动驾驶车辆101周围的障碍物。可以利用传感器(相机、激光雷达、雷达、飞行时间(TOF)传感器)来检测自动驾驶车辆101周围的障碍物,并且可以利用成像识别算法或机器学习模型将障碍物分类为行人、车辆等其中一类。制动模式确定器子模块1107可以利用ADS/底盘域状态、车辆状态(驾驶模式)和/或障碍物信息来确定制动模式。当自动驾驶车辆施加制动时,制动可以是如上所述的多阶段制动。制动器预充电子模块1109可以施加制动器预充电命令以减少制动器的预充电时间。制动跟踪子模块1111可以施加制动命令以将dA_req/dt限制在阈值内,从而提高操作人员的舒适度。稳定制动子模块1113可以发出A_req命令。
图12是示出了根据一个实施例的自动驾驶车辆的制动模式选择的示例的框图1200。如图12所示,制动模式选择系统1100接收多个选择参数。利用选择参数,制动模式选择系统1100使用映射表,例如图13A至图13E的映射表1300,来执行查找操作,以实时确定自动驾驶车辆的制动模式(例如,渐进或紧急)。在此,选择参数可以包括:1.行驶方向、2.主ADS状态、3.次ADS状态、4.主底盘域控制器状态、5.次底盘域控制器状态、6.前方车辆、7.后方车辆、以及8.前方行人。虽然示出了八个参数,但是也可以使用其他参数,如道路状况、天气、车辆状态。此外,制动模式可以具有相关的制动设置。例如,多阶段制动控制可以应用于渐进或紧急制动模式。例如,三个阶段的渐进制动设置(例如,预充电时间、跟踪减速度和稳定减速度)可以是:100ms、-25m/s^3和0.3m/s^2。三个阶段的紧急制动设置(例如,预充电时间、跟踪减速度和稳定减速度)可以是:100ms、-50m/s^3和0.6m/s^2。尽管示出了三阶段制动控制,但制动控制可以是单阶段的,例如,对于渐进制动,A_req=0.3m/s^2,对于紧急制动,A_req=0.06m/s^2。以下对映射表1300进行描述。
图13F示出了图13A至图13E的映射表1300中故障等级F0~F4的说明。例如,故障等级F0对应于无故障或正常运行。F1对应于相应系统的故障,但故障级别不影响ADS运行。F2对应于影响ADS并且严重到需要自动驾驶车辆减速的故障。F3对应于影响ADS并且严重到需要ADS最终停止自动驾驶车辆的故障。F4对应于影响ADS并且需要立即停止自动驾驶车辆的故障。
在一个实施例中,如图13A至图13E的映射表1300所示,自动驾驶车辆的每个ADS和底盘域控制器(CDC)都有冗余部分。主ADS、次ADS、主CDC和次CDC可以分别对应于图10中的系统/部件401、403、411和413。在一个实施例中,如映射表1300所示,ADS可以发布场景1~48的制动命令。MCU或CDC可以发布场景49~50的制动命令,CDC(例如,CDC 1或2)可以发布场景51的制动控制。尽管ADS和底盘域控制器被示出为具有冗余,但是自动驾驶车辆可以配置为没有冗余,处理逻辑可以生成与映射表1300相对应的具有减少场景的相应映射表。在一些实施例中,映射表1300由操作人员配置,并上传到自动驾驶车辆101上可由ADS 401、ADS 403、主CDC 411、次CDC 413和MCU 405访问的持久存储设备处。
参考图13E中的场景51,主CDC或次CDC(例如,DBW 1、2)表现出故障级别F3/F4(例如,相应部件的ADS功能受到影响),主/次ADS表现出故障级别F0~F4中的任一故障级别。在这种情况下,由于主CDC或次CDC处于故障级别F3/F4(例如,相应部件的ADS功能受到影响),因此在映射表1300中映射CDC(主CDC或次CDC中的任何一个CDC)以发布与紧急制动相对应的制动控制。在这种情况下,故障是至关重要的,因此选择紧急制动模式,并且无论其他选择参数如何,CDC都会发出紧急制动命令。
参考图13E中的场景50,主ADS、次ADS和主CDC表现出故障级别F3/F4(例如,相应部件的ADS功能受到影响),而次CDC仅表现出故障级别F0/F1/F2(如,相应部件中的ADS功能不受影响)。在这种情况下,主ADS和次ADS的故障都会影响ADS的功能,因此选择紧急制动模式。此外,至少次CDC可以接收制动命令,并利用接收到的制动命令对制动器进行控制。因此,无论任何前方车辆、前方行人或自动驾驶车辆后方车辆如何,MCU或CDC都可以发出紧急制动。
参考图13E中的场景49,主ADS和次ADS表现出故障级别F3/F4(例如,相应部件的ADS功能受到影响),主CDC表现出故障级别F0/F1/F2(例如,相应部件的ADS功能不受影响),次CDC表现出故障级别F0/F1/F2/F3/F4(例如,可以是F0到F4中的任何一个)。在这种情况下,主ADS和次ADS的故障是至关重要的,因此选择紧急制动模式。此外,至少次CDC可以运行以接收制动命令,并根据所接收的制动命令对制动器进行控制。因此,可以由MCU或CDC发出与紧急制动模式相对应的制动控制。
参考图13A至图13D中的场景1~48,主ADS或次ADS中的至少一个ADS具有ADS操作功能(例如,F0/F1/F2),并且主CDC或次CDC中的至少一个CDC具有ADS操作功能(例如,F0/FI/F2),则制动模式选择将对应于:前方是否有车辆(以及距离阈值)、前方是否有行人(以及距离阈值),和/或自动驾驶车辆后方是否有车辆。
例如,在场景5中,主ADS具有故障级别F3~F4,表示相应的AD操作受到影响;次ADS具有故障等级F0~F2,表示相应的AD操作不受影响;主CDC具有故障等级F0~F2,表示相应的AD操作不受影响。在此,无论次CDC的状态如何,都可以至少通过次ADS将制动信号传播到主CDC。在这种情况下,自动驾驶车辆检测到前方有车辆并且正在紧急制动,行人在自动驾驶车辆前方靠近,车辆在自动驾驶车辆后方靠近。根据映射表1300,自动驾驶车辆选择紧急制动模式(因为前方有车辆并且正在紧急制动)。例如,主ADS将发出紧急制动的三阶段制动命令。
图14是根据一个实施例的制动模式选择方法的流程图。过程1400可以由处理逻辑来执行,处理逻辑可以包括软件、硬件或其组合。例如,过程1400可以由图10的主ADS 401、次ADS 403、主CDC 411或次CDC 413执行。
在方框1401,处理逻辑确定选择参数,以对自动驾驶车辆(ADV)应用相适应的制动方案。
在方框1403,处理逻辑利用驾驶场景映射表,基于选择参数确定制动模式。
在方框1405,响应于确定要施加制动,处理逻辑根据制动模式对自动驾驶车辆施加制动。
在一个实施例中,制动模式包括渐进制动模式或紧急制动模式。
在一个实施例中,选择参数包括行驶方向、自动驾驶车辆前方是否有车辆、与自动驾驶车辆前方车辆之间的距离、自动驾驶车辆前面是否有行人、与行人之间的距离、自动驾驶车辆后方是否有车辆或者与自动驾驶车辆后方车辆之间的距离。
在一个实施例中,选择参数包括自动驾驶车辆的自动驾驶系统(ADS)的状态。
在一个实施例中,选择参数包括自动驾驶车辆的底盘域控制器的状态。
在一个实施例中,制动模式对应于分三个阶段施加的制动命令,这三个阶段包括制动器预充电阶段、减速度增加阶段以及减速度恒定阶段。
在一个实施例中,紧急制动模式对应于与第一预定持续时间相对应的预充电命令、与第一预设减速度增加率相对应的减速度增加率命令或与第一预设恒定减速度相对应的恒定减速度命令。
在一个实施例中,渐进制动模式对应于与第一预定持续时间相对应的预充电命令、与第二预设减速度增加率相对应的减速度增加率命令或与第一预设恒定减速度相对应的恒定减速度命令,其中第一预设减速度增加率大于第二预设减速度增长率。
在一个实施例中,确定要施加制动包括确定自动驾驶车辆已经到达其目的地、到达交通站点或自动驾驶车辆前方的车辆施加了制动。
在一个实施例中,自动驾驶车辆的自动驾驶系统(ADS)包括主ADS或次ADS,其中次ADS是冗余ADS。
图15是根据一个实施例的自动驾驶车辆冗余系统示例的框图。系统1500可以表示图4中的系统400。在一个实施例中,主ADS 401或次ADS 403可以包括次系统激活模块309。系统1500的各个部件的描述可以参考图4的系统400。
图16是根据一个实施例的次系统激活模块309的框图。次系统激活模块309可以激活自动驾驶车辆101的各个冗余系统/部件的次系统(例如,默认情况下可以激活主系统/部件)。在一个实施例中,次系统激活模块309包括激活参数确定器子模块1601、算法选择子模块1603、主/次制动器激活子模块1605、制动器预充电子模块1607、制动跟踪子模块1609和稳定制动子模块1611。
参考图15和图16,激活参数确定器子模块1601可以确定一个或多个激活参数,用于激活次系统/部件。激活参数可以包括主/次系统/部件的历史使用和故障数据、安全系数、车辆状态等。算法选择子模块1603可以选择算法来确定是否激活次系统/部件。主/次制动器激活子模块1605可以根据所选算法的输出来激活主系统/部件和/或次系统/部件。制动器预充电子模块1607可以请求制动命令,对制动器进行预充电,以减少制动器响应时间。制动跟踪子模块1609可以请求制动命令,该制动命令在跟踪响应期间限制自动驾驶车辆的减速率,例如-25m/s^3。稳定制动子模块1611可以请求稳定减速制动命令,例如=0.6g m/s^2。
图17是示出了根据一个实施例的用于激活主系统/部件或次系统/部件的评估过程1700的示例的框图。评估过程1700可以由图16的次系统激活模块309执行,以选择主系统或次系统(例如,次ADS、次CDC、次制动单元等)。如图所示,自动驾驶车辆可以获得配置请求1701作为激活参数。配置请求1701可以与激活主系统/部件或次系统/部件的请求相对应。例如,操作人员可以在自动驾驶车辆的用户界面中输入激活主系统/部件或次系统/部件的请求。当自动驾驶车辆在驾驶模式下运行时,或者当自动驾驶车辆处于驻车/空档变速模式下怠速时,可以实时执行请求。在一个实施例中,请求可以反映对自动驾驶车辆下一次操作的请求(例如,在系统重新启动之后)。
在一个实施例中,自动驾驶车辆可以获得驾驶员/乘客状态1703作为激活参数。驾驶员/乘客状态1703的示例可以是自动驾驶车辆上的乘客数量以及是否存在操作人员。在一个实施例中,自动驾驶车辆可以获得车辆状态1705作为激活参数。车辆状态可以包括车辆的当前速度、车辆质量、健康指标(例如,是否有仪表板警示灯)和/或车辆轮胎的牵引力。在一个实施例中,自动驾驶车辆可以获得环境状态1707作为激活参数。环境状态1707可以包括当前道路摩擦、当前天气状况(下雨、晴天或下雪状况等)、道路的当前坡度、自动驾驶车辆的成像传感器检测到的障碍物的数量和/或类型。
在一个实施例中,自动驾驶车辆可以获得故障数据1709作为激活参数。故障数据1709可以指示哪些系统正在故障或者与先前故障相关联的持续时间和错误级别。例如,故障数据可以包括仪表板报警指示灯、传感器错误、ADS控制/规划系统的软件错误、CAN总线错误代码、CDC错误代码和/或故障/安全级别代码,如图13A至图13E的示例场景1~51所示,例如故障级别F0/F1/F2/F3/F4。在一个实施例中,自动驾驶车辆可以获得历史数据1711作为激活参数。历史数据1711可以包括不同的主系统/部件和次系统/部件的历史使用统计数据。历史使用统计数据可以是各个系统/部件的运行持续时间(例如,通电时间)的集合。
在一个实施例中,自动驾驶车辆可以从多个算法中选择激活算法来处理输入1701~1711。在一个实施例中,激活算法可以是加权和,其中每一类输入乘以相应的加权因子,例如W1~W6,将输出的和与预定阈值进行比较。如果加权和大于预定阈值,则激活次系统。否则,将激活主系统。在一个实施例中,一类输入中的每个输入具有不同的加权因子。在一个实施例中,激活可以由主ADS或次ADS实时执行,例如,当自动驾驶车辆处于驾驶模式时,将主系统切换到次系统,反之亦然。在另一个实施例中,当自动驾驶车辆评估这样做是安全的,例如当自动驾驶车辆检测到自动驾驶车辆处于驻车/空档变速模式时,进行激活。
在一个实施例中,过程1700可应用于每对主子系统/部件和次子系统/部件,以确定哪些主/次子系统/部件将被激活。每个评估可以配置有与子系统/部件相关的输入1701~1711的特定子集。可以为每组主/次系统/部件预先配置输入的相关子集。例如,为了评估要激活主/次制动单元中的哪一个单元,输入1701~1711可以包括:来自操作人员的关于选择主CDC或次CDC的配置请求、关于主/次制动单元的故障数据、关于制动液和/或制动片状况的报警指示器、自动驾驶车辆上的乘客数量(例如,由安全带检测器检测得到)、车辆重量状态、道路状况(农村、城市或高速公路)、天气(下雨、下雪或晴天)和/或障碍物(前方车辆、后方车辆、人行横道)等。这些输入可以通过选择算法进行处理,以激活主制动单元或次制动单元。
在一些实施例中,多个激活算法可以包括交替算法。交替算法可以在自动驾驶车辆的ADS启动时,例如,当自动驾驶车辆引擎启动/ADS系统启动时,交替运行主系统或次系统。在一个实施例中,多个激活算法可以包括激活主子系统或次子系统的算法,使得每个系统平均运行相同数量的运行时间。
在一个实施例中,多个激活算法可以包括在预定时间段(例如,一年)内最少次数激活次子系统的算法。
图18A和图18B是示出了根据一些实施例的激活配置1800~1810的示例的框图。对于配置1800~1810,实线表示激活的子系统/部件,而虚线表示未激活的子系统/部件。在一些实施例中,未激活的系统是可以运行的,但不将其输出信号路由到下一个部件进行处理。在一些实施例中,未激活的系统被断电。参考图18A,配置1800包括激活的主ADS 401,用于向激活的次CDC 413发送命令/信号。次CDC 413处理命令/信号,并将信号提交给被激活的次单元,例如制动单元423、转向单元433、油门单元443,以控制自动驾驶车辆101。
参考图18B,在另一个实施例中,配置1800包括激活的次ADS 401,用于向激活的次CDC 413发送命令/信号。次CDC 413处理命令/信号,并将信号提交给被激活的主单元,例如制动单元421、转向单元431、油门单元441,以控制自动驾驶车辆101。尽管图18A和图18B中示出了两种配置以供说明,但是也可以使用主/次激活配置的其他组合。
图19是示出了根据一个实施例的自动驾驶车辆的各个子系统/部件的不同激活路径的框图。参考图19,系统1900可以表示图1中的自动驾驶车辆101。自动驾驶车辆101可以包括各个子系统/部件。例如,系统1900可以包括主/次ADS系统401~403、主/次传感器系统1921/1923、主/次控制系统1931~1933、主/次CDC411~413、主/次制动、转向和油门单元1951~1953、主/次传感器1961~1963以及主/次动力系统1971~1973。需要注意的是,主/次传感器系统1921/1923可以表示图3A的传感器系统115,主/次控制系统1931~1933可以表示图3A的控制系统111,主/次传感器1961~1963可以表示图2的传感器211~215,主/次动力系统1971~1973可以表示为相应的主/次系统供电的单独的电源。需要注意的是,制动、转向和油门系统1951~1953可以表示图15中的单元421~443。在一些实施例中,单元421~443可以包括线控制动、线控转向和/或线控油门系统。
如图19所示,可以例如通过图17的过程1700,利用激活算法评估每个主/次系统/部件的激活情况。这里,主/次系统的箭头表示不同激活配置的不同可能路径/组合。示例激活配置(例如,配置路径)可以是主ADS 401、具有主传感器1961的主传感器系统1921、主控制系统1931、主CDC 411、主制动、转向和油门单元1951,以及主动力系统1971。另一示例激活配置(例如,配置路径)可以是次ADS 403、具有次传感器1963的次传感器系统1923、次控制系统1933、次CDC 413、次制动、转向和油门单元1953,以及次动力系统1973。另一示例激活配置(例如,配置路径)可以是主ADS 401、具有次传感器1963的次传感器系统1923、次控制系统1933、次CDC 413、次制动、转向和油门单元1953,以及次动力系统1973。从五个主/次系统/部件来看,不同配置的数量可以是2^5=32。尽管未示出,但其他子系统和/或次域控制器(例如,动力传动系域、车身域、娱乐域等)/系统可以进行类似处理以进行激活。
图20是示出了根据一个实施例的主系统或次系统的激活方法的流程图。过程2000可以由处理逻辑来执行,处理逻辑可以包括软件、硬件或其组合。例如,过程2000可以由图15的主ADS 401或次ADS 403执行。
在方框2001,处理逻辑确定自动驾驶车辆(ADV)的激活参数,其中激活参数包括主制动系统或次制动系统的历史使用情况。
在方框2003,响应于确定要施加制动,处理逻辑基于激活参数来激活主制动系统或次制动系统。
当自动驾驶车辆处于驾驶模式或自动驾驶车辆处于驻车/空档变速模式时,可以实时进行激活。
在方框2005,处理逻辑根据激活,向主制动系统或次制动系统发送制动命令。
在一个实施例中,激活参数包括多个安全因子,包括自动驾驶车辆中的乘客数量、自动驾驶车辆周围环境的安全状态或自动驾驶车辆的车辆状态。
在一个实施例中,自动驾驶车辆周围环境的安全状态包括自动驾驶车辆的道路牵引力、天气或道路坡度。
在一个实施例中,自动驾驶车辆的车辆状态包括当前速度、自动驾驶车辆的重量、自动驾驶车辆的自动驾驶系统(ADS)的健康状态、主制动系统或次制动系统的健康状态或自动驾驶车辆的轮胎牵引力。
在一个实施例中,激活参数还包括自动驾驶车辆的自动驾驶系统(ADS)的故障率。
在一个实施例中,将激活参数插入增益矩阵以获得加权和的值,基于加权和的值进行选择。
在一个实施例中,如果加权和的值大于预定阈值,则激活次制动系统,如果加权和的值小于或等于预定阈值,则激活主制动系统。
在一个实施例中,激活主制动系统或次制动系统包括激活主底盘域控制器或次底盘域控制器,以向主制动系统或次制动系统发出命令。
在一个实施例中,激活主制动系统或次制动系统包括激活主线控系统或次线控系统。
在一个实施例中,主线控系统或次线控系统包括主线控转向系统或次线控转向系统、主线控油门系统或次线控油门系统、或主线控传动系统或次线控传动系统。
在一个实施例中,主制动系统或次制动系统包括主线控制动系统或次线控制动系统。
应当注意,上文所示和所述的部分或全部部件可通过软件、硬件或其组合实现。例如,这些部件可以实现为安装并存储在持久存储设备中的软件,该软件可以通过处理器(未示出)在存储器中加载并执行,以执行本申请中描述的过程或操作。或者,这些部件可以实现为编程或嵌入专用硬件中的可执行代码,例如集成电路(例如,专用IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA),其可以经由相应的驱动器和/或操作系统从应用进行访问。此外,这些部件可以实现为处理器或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
前述详细描述的一些部分已经依据在计算机内存中对数据位进行操作的算法和符号表示进行了介绍。这些算法描述和表示是数据处理领域技术人员用来将其工作实质最有效地传达给本领域中其他技术人员的方式。本文中,算法通常被认为是导致期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
但是,应当记住,所有这些术语和类似的术语均将与适当的物理量关联,仅仅是应用于这些量的方便标记。除非在以上讨论中明确指出,否则应当了解,在整个说明书中,使用诸如所附权利要求书中阐述的术语进行的讨论是指计算机系统或类似电子计算设备的动作和处理,该计算机系统或电子计算设备操控在计算机系统寄存器和存储器内表示为物理(电子)量的数据,并将该数据变换成在计算机系统存储器或寄存器或者其他此类信息存储设备、传输设备或显示设备内类似地表示为物理量的其他数据。
本公开的实施例还涉及用于执行本文中的操作的装置。这种计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器设备)。
前述附图中描绘的过程或方法可以由处理逻辑来执行,处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管以上依据一些顺序操作描述了该过程或方法,但是应当了解,所描述的一些操作可以以不同的顺序执行。此外,一些操作可以并行执行而非顺序执行。
本公开的实施例并未参考任何特定的编程语言进行描述。应当了解,可以使用多种编程语言实现如本文描述的本公开的实施例的教导。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离所附权利要求书中所述的本公开的更宽泛的精神和范围的情况下,可以对本公开进行各种修改。因此,说明书和附图应视为说明性意义而非限制性意义。
Claims (16)
1.一种计算机实现的方法,包括:
确定自动驾驶车辆ADV处的通信总线的信号故障;
响应于确定所述信号故障,向所述自动驾驶车辆的制动系统发送制动器预充电命令,以对所述自动驾驶车辆的制动器进行预充电;
确定对所述信号故障进行确认的预设容错时间;
响应于到达所述预设容错时间,确认所述通信总线的信号故障或确定另一通信总线的信号故障;以及
响应于确认所述通信总线的信号故障或确定所述另一通信总线的信号故障,向所述自动驾驶车辆的制动系统发送制动命令,以接合所述自动驾驶车辆的制动器。
2.根据权利要求1所述的方法,还包括:
在所述预设容错时间内,确定所述通信总线的信号故障无效;以及
响应于在所述预设容错时间内确定所述通信总线的信号故障无效,向所述自动驾驶车辆的制动系统发送制动器恢复命令,以释放所述制动器。
3.根据权利要求1所述的方法,其中,所述制动系统是所述自动驾驶车辆的主制动系统或次制动系统,其中所述次制动系统包括防抱死制动系统。
4.根据权利要求1所述的方法,其中,所述通信总线包括主控制器局域网CAN,总线或次CAN,总线,其中,所述自动驾驶车辆的自动驾驶系统ADS利用所述主CAN总线或次CAN总线的通信信道来与所述自动驾驶车辆的底盘域控制器通信。
5.根据权利要求1所述的方法,其中,所述信号故障指示所述通信总线的一个或多个通信信道的通信错误或通信丢失。
6.根据权利要求1所述的方法,其中,所发送的制动器预充电命令使得制动片移动到相应转子的阈值距离内。
7.根据权利要求1所述的方法,其中,所述制动器预充电命令包括制动距离行进命令、制动液压命令或减速命令。
8.根据权利要求1所述的方法,其中,所述制动器预充电命令包括命令标志、命令值或命令状态持续时间,所述命令标志指示所述命令值的类型,所述命令值指示压力值或主缸行进距离值或减速度值,所述命令状态持续时间指示所述命令的有效期。
9.根据权利要求1所述的方法,其中,所述制动命令包括与第一预定时间段相对应的第一减速请求值和与第二预定时间段相对应的第二减速请求值,以最大限度地减少由于施加制动而产生的减速过冲,其中所述第一减速请求值大于所述第二减速请求值。
10.根据权利要求1所述的方法,其中,所述制动系统由线控驱动系统控制。
11.一种存储有指令的非暂时性机器可读介质,所述指令在被处理器执行时使得所述处理器执行以下操作:
确定自动驾驶车辆ADV处的通信总线的信号故障;
响应于确定所述信号故障,向所述自动驾驶车辆的制动系统发送制动器预充电命令,以对所述自动驾驶车辆的制动器进行预充电;
确定对所述信号故障进行确认的预设容错时间;
响应于到达所述预设容错时间,确认所述通信总线的信号故障或确定另一通信总线的信号故障;以及
响应于确认所述通信总线的信号故障或确定所述另一通信总线的信号故障,向所述自动驾驶车辆的制动系统发送制动命令,以接合所述自动驾驶车辆的制动器。
12.一种电子设备,包括:
处理器;以及
与所述处理器耦接的存储器,所述存储器存储有指令,所述指令被所述处理器执行时,使得所述处理器执行以下操作:
确定自动驾驶车辆ADV处的通信总线的信号故障;
响应于确定所述信号故障,向所述自动驾驶车辆的制动系统发送制动器预充电命令,以对所述自动驾驶车辆的制动器进行预充电;
确定对所述信号故障进行确认的预设容错时间;
响应于到达所述预设容错时间,确认所述通信总线的信号故障或确定另一通信总线的信号故障;以及
响应于确认所述通信总线的信号故障或确定所述另一通信总线的信号故障,向所述自动驾驶车辆的制动系统发送制动命令,以接合所述自动驾驶车辆的制动器。
13.根据权利要求12所述的电子设备,其中,所述操作还包括:
在所述预设容错时间内,确定所述通信总线的信号故障无效;以及
响应于在所述预设容错时间内确定所述通信总线的信号故障无效,向所述自动驾驶车辆的制动系统发送制动器恢复命令,以释放所述制动器。
14.根据权利要求12所述的电子设备,其中,所述制动系统是所述自动驾驶车辆的主制动系统或次制动系统,其中所述次制动系统包括防抱死制动系统。
15.根据权利要求12所述的电子设备,其中,所述通信总线包括主控制器局域网CAN,总线或次CAN,总线,其中,所述自动驾驶车辆的自动驾驶系统ADS利用所述主CAN总线或次CAN总线的通信信道来与所述自动驾驶车辆的底盘域控制器通信。
16.根据权利要求12所述的电子设备,其中,所述信号故障指示所述通信总线的一个或多个通信信道的通信错误或通信丢失。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/952,127 | 2022-09-23 | ||
US17/952,127 US20240101087A1 (en) | 2022-09-23 | 2022-09-23 | Braking actions for failing can buses for autonomous vehicles |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116811878A true CN116811878A (zh) | 2023-09-29 |
Family
ID=88141501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311000553.2A Pending CN116811878A (zh) | 2022-09-23 | 2023-08-09 | 计算机实现的方法、机器可读介质以及电子设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240101087A1 (zh) |
CN (1) | CN116811878A (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240101079A1 (en) * | 2022-09-23 | 2024-03-28 | Baidu Usa Llc | Activation of primary and secondary brake systems for autonomous vehicles |
US20240101081A1 (en) * | 2022-09-23 | 2024-03-28 | Baidu Usa Llc | Adaptive autonomous braking actions for autonomous vehicles |
-
2022
- 2022-09-23 US US17/952,127 patent/US20240101087A1/en active Pending
-
2023
- 2023-08-09 CN CN202311000553.2A patent/CN116811878A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240101087A1 (en) | 2024-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112540592B (zh) | 用于确保安全的具有双自主驾驶系统的自主驾驶车辆 | |
US11724708B2 (en) | Fail-safe handling system for autonomous driving vehicle | |
US10793123B2 (en) | Emergency braking for autonomous vehicles | |
US20200189618A1 (en) | Vehicle and control device and control method of the vehicle | |
AU2019377392B2 (en) | Systems for implementing fallback behaviors for autonomous vehicles | |
US11036234B2 (en) | Braking control behaviors for autonomous vehicles | |
CN112180911B (zh) | 用于监控自动驾驶车辆的控制系统的方法 | |
CN116811877A (zh) | 计算机实现的方法、电子设备和机器可读介质 | |
US11225228B2 (en) | Method for enhancing in-path obstacle detection with safety redundancy autonomous system | |
CN112783155A (zh) | 安全冗余自主驾驶系统的实时监控方法 | |
CN111629944A (zh) | 车辆控制装置、车辆以及车辆控制方法 | |
CN116834744A (zh) | 计算机实现的方法、电子设备和机器可读介质 | |
US12115989B1 (en) | Responding to input on a brake pedal of a brake by wire system for an autonomous vehicle | |
CN116811878A (zh) | 计算机实现的方法、机器可读介质以及电子设备 | |
US20240208505A1 (en) | Autonomous driving vehicle redundant holding control to prevent rolling | |
US20230399029A1 (en) | Operator brake detection for autonomous vehicles | |
US11273831B2 (en) | Vehicle and control device for the same | |
CN117022218A (zh) | 计算机实现的方法、计算设备和存储介质 | |
CN116811871A (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 |