CN110901656A - 用于自动驾驶车辆控制的实验设计方法和系统 - Google Patents
用于自动驾驶车辆控制的实验设计方法和系统 Download PDFInfo
- Publication number
- CN110901656A CN110901656A CN201910877494.4A CN201910877494A CN110901656A CN 110901656 A CN110901656 A CN 110901656A CN 201910877494 A CN201910877494 A CN 201910877494A CN 110901656 A CN110901656 A CN 110901656A
- Authority
- CN
- China
- Prior art keywords
- controller
- learning method
- vehicle
- control system
- vehicle control
- 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.)
- Granted
Links
- 238000003050 experimental design method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 108
- 238000012360 testing method Methods 0.000 claims abstract description 61
- 238000013400 design of experiment Methods 0.000 claims abstract description 60
- 239000011159 matrix material Substances 0.000 claims abstract description 48
- 230000007246 mechanism Effects 0.000 claims description 23
- 238000004088 simulation Methods 0.000 claims description 23
- 230000002787 reinforcement Effects 0.000 claims description 12
- 238000011161 development Methods 0.000 abstract description 8
- 238000005457 optimization Methods 0.000 abstract description 6
- 238000010801 machine learning Methods 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 52
- 230000015654 memory Effects 0.000 description 48
- 238000004891 communication Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 25
- 238000013135 deep learning Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 239000013307 optical fiber Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002567 autonomic effect Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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
-
- 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
-
- 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/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0018—Method for the design of a control system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0028—Mathematical models, e.g. for simulation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0043—Signal treatments, identification of variables or parameters, parameter estimation or state estimation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0062—Adapting control system settings
- B60W2050/0075—Automatic parameter input, automatic initialising or calibrating means
- B60W2050/0083—Setting, resetting, calibration
- B60W2050/0088—Adaptive recalibration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Traffic Control Systems (AREA)
Abstract
控制器系统和方法可以用于控制自动驾驶车辆(AV)。控制器可以被配置成基于实验设计(DOE)测试矩阵自主开发、自主调试或这两者相结合。这里公开的方法和系统可以在线、离线或以这两者的组合来使用。控制器和方法可以使用一个或多个优化算法来自主开发、自主调试或这两者相结合。一个或多个优化算法可以基于机器学习、人工智能或这些的组合。
Description
技术领域
本公开涉及自动驾驶车辆。更具体地,本公开涉及用于自动驾驶车辆的控制器、控制器系统以及控制器方法。
背景技术
在典型的自动驾驶车辆(AV)中,控制器被开发然后被调试。使用时,一旦控制器遇到问题,则必须开发和调试新的控制器。该过程被无限次重复且昂贵、耗时,并需要大量的车辆跟踪时间。因此,期望具有自主开发控制器、自主调试控制器或这两者的组合。
发明内容
本申请公开了被配置成基于实验设计(DOE)测试矩阵的自主开发、自主调试或这两者组合的控制器的实施。本申请公开的方法和系统可以在线、离线或在线与离线组合使用。为了本公开的目的,术语“在线”被用于针对主机车辆在活动条件下的响应面(即,测试跑道、道路等)上的场景。为了本公开的目的,术语“离线”被用于针对主机车辆没有在响应面(即,测试跑道、道路等)且因此没有在活动条件下的场景。
方法可以用于控制车辆。车辆可以是自动驾驶车辆(AV)且称为主机车辆。方法可以包括构建被控对象模型。被控对象模型可以基于DOE测试矩阵。方法可以包括基于构建的被控对象模型执行控制器仿真。控制器仿真可以基于控制器仿真生成性能数据。
方法可以使用基于机器学习、人工智能或这些的组合的一种或多种优化算法。为了简化的目的,使用术语“学习方法”和“学习算法”,且可以理解可以使用任何的优化算法,不管是学习算法还是非学习算法。例如,方法可以包括执行第一学习方法来识别一个或多个机制(regime)。在一些实施中,方法可以包括基于一个或多个机制执行第二学习方法。方法可以包括基于第一学习方法、第二学习方法或这些的组合生成一个或多个参数调试。这些方法可以使用一个或多个参数调试来更新AV控制器。
在一些实施中,第一学习方法例如可以是无监督学习方法。在一些实施中,第二学习方法例如可以是强化学习方法。可以执行第二学习方法来优化一个或多个机制中的每一个的一个或多个参数。在一些实施中,当主机车辆离线时,第一学习方法、第二学习方法或这两者可以被执行。在一些实施中,当主机车辆离线时,一个或多个参数调试可以被生成。
在一些实施中,DOE测试矩阵可以包括一个或多个测试参数。一个或多个测试参数可以包括例如,进弯半径、转弯半径、出弯半径、进弯长度、转弯长度、出弯长度、进弯速度、转弯速度、出弯速度以及方向。在一些实施中,方法可以重复DOE测试矩阵以修正被控对象模型。
在一些实施中,AV控制器可以是纯跟踪式控制器、基于动力学前轮的反馈控制器、线性模型预测控制器或非线性模型预测控制器。在一些实施中,AV控制器可以实时被更新。
车辆控制系统可以用于控制车辆。车辆可以是AV且称为主机车辆。车辆控制系统可以包括控制器、处理器以及控制器接口。控制器接口可以耦合到控制器和处理器或与之通信。
处理器可以被配置成构建被控对象模型。被控对象模型可以基于DOE测试矩阵。处理器可以被配置成基于构建的被控对象模型执行控制器仿真。处理器可以被配置成生成性能数据。性能数据可以基于控制器仿真。
处理器可以被配置成使用基于机器学习、人工智能或这些的组合的一个或多个优化算法。例如,处理器可以被配置成执行第一学习方法。第一学习方法可以用于识别一个或多个机制。在一些实施中,处理器可以被配置成基于一个或多个机制执行第二学习方法。处理器可以被配置成基于第一学习方法、第二学习方法或这些的组合生成一个或多个参数调试。处理器可以被配置成经由控制器接口向控制器传送一个或多个参数调试以更新控制器。
在一些实施中,处理器执行的第一学习方法、第二学习方法或这两者可以是无监督学习方法。在一些实施中,处理器执行的第一学习方法、第二学习方法或这两者可以是强化学习方法。处理器可以执行第二学习方法以优化一个或多个机制中的一个或多个参数。在一些实施中,在车辆离线的情况下处理器可以执行第一学习方法和第二学习方法。在一些实施中,在车辆离线的情况下处理器可以生成一个或多个参数调试。
在一些实施中,DOE测试矩阵可以包括一个或多个测试参数。测试参数可以包括例如进弯半径、转弯半径、出弯半径、进弯长度、转弯长度、出弯长度、进弯速度、转弯速度、出弯速度以及方向。在一些实施中,处理器还可以被配置成重复DOE测试矩阵以修正被控对象模型。
在一些实施中,控制器可以是纯跟踪式控制器、基于动力学前轮的反馈控制器、线性模型预测控制器或非线性模型预测控制器。在一些实施中,可以实时更新控制器。
附图说明
当结合附图阅读时,根据以下详细描述可以最佳理解本公开。需要强调的是,根据惯例,附图的各种特征不是按比例的。相反,各种特征的尺寸为了简明而任意放大或缩小。
图1是根据本公开的实施方式的车辆示例的图;
图2是图1示出的控制系统的示例的图;
图3是根据本公开的实施方式的车辆控制系统的示例的图;
图4是根据本公开的实施方式的包括车辆控制系统的车辆的侧视图的示例的图;
图5是根据本公开的实施方式的车辆控制系统的示例的图;
图6是根据本公开的实施方式的车辆控制系统的另一示例的图;
图7是根据本公开的实施方式的用于基于DOE测试矩阵生成控制器参数的方法的示例的图;
图8是根据本公开的实施方式的用于控制器的自主调试方法的示例的图;
图9是根据本公开的实施方式的用于控制器的自主调试方法的另一示例的图。
具体实施方式
现在更详细参照本发明的优选实施方式,其示例在附图中示出。如可能,在附图和说明书中使用相同的附图标记来指代相同或相似的部分。
这里使用的术语“计算机”或“计算设备”包括能够执行本申请公开的任意方法或方法的任意一个或多部分的任意单元或单元组合。
这里使用的术语“处理器”指示一个或多个处理器,例如一个或多个专用处理器、一个或多个数字信号处理器、一个或多个微处理器、一个或多个控制器、一个或多个微控制器、一个或多个应用处理器、一个或多个中央处理单元(CPU)、一个或多个图形处理单元(GPU)、一个或多个数字信号处理器(DSP)、一个或多个专用集成电路(ASIC)、一个或多个专用标准产品、一个或多个场可编程门阵列、任意其他类型的集成电路或组合、一个或多个状态机、或这些的任意组合。
这里使用的术语“存储器”指示能够包含、存储、通信或传输可以被任意处理器使用或结合任意处理器使用的任意信号或信息的任意计算机可使用或计算机可读的介质或设备。例如,存储器可以是一个或多个只读存储器(ROM)、一个或多个随机存取存储器(RAM)、一个或多个寄存器、低功率双数据率(LPDDR)存储器、一个或多个缓存存储器、一个或多个半导体存储器设备、一个或多个磁性介质、一个或多个光介质、一个或多个磁光介质、或这些的任意组合。
这里使用的术语“指令”可以包括用于执行本申请公开的任意方法或方法的任意一个或多个部分的指示或表达,并可以被实现为硬件、软件或这些的任意组合。例如,指令可以被实施为信息,例如计算机程序,其存储在存储器中可以由处理器执行以执行本申请描述的各自的方法、算法、方面或这些任意的组合。指令或其部分可以被实施为专用处理器或电路,其可以包括用于执行本申请描述的方法、算法、方面或这些的组合的任意的专用硬件。在一些实施中,指令的部分可以被分配在单个设备、多个设备上的多个处理器,可以直接通信或在网络(例如局域网、广域网、因特网或这些的组合)上通信。
这里使用的术语“确定”和“识别”或这些的任意变体包括选择、确认、计算、查找、接收、确定、建立、得到或其他以无论什么使用本申请示出并描述的设备和方法的一者或多者的任意方式识别或确定。
这里使用的术语“示例”、“实施方式”、“实施”、“方面”、“特征”或“元素”指示用作示例、实例或例证。除非另有指明,任何示例、实施方式、实施、方面、特征或元素与其他示例、实施方式、实施、方面、特征或元素彼此独立并可以与任意其他示例、实施方式、实施、方面、特征或元素组合使用。
这里使用的术语“或”旨在表示包括性的“或”而不是排他性的“或”。也就是说,除非另有指明,或从上下文中明确的,“X包括A或B”是旨在指示自然包容性的排列项中的任意。也就是说,如果X包括A;X包括B;或X包括A和B,那么在上述实例的任意的情况下满足“X包括A或B”。此外,在本申请和附加的权利要求中使用的冠词“一”应当一般理解为“一个或多个”,除非另有指明或从上下文中清楚指向为单数形式。
此外,为了简化解释,虽然这里的附图和描述可以包括步骤或阶段的序列或系列,但是本申请公开的方法的元素可以以不同顺序或同时发生。此外,本申请公开的方法的元素可以在有本申请没有明确存在或描述的其他元素的情况下发生。此外,可以不需要本申请描述的方法的所有元素来实施根据本公开的方法。虽然在本申请中以特定组合描述了方面、特征和元素,但是每个方面、特征或元素可以独立被使用或者以与或不与其他方面、特征和元素的各种组合的方式被使用。
AV包括物体检测系统、导航系统以及控制器系统。物体检测系统被配置成确定其他车辆或物体(像行人或骑自行车的人)是否会穿过主机车辆的行驶路径。导航系统被配置成确定主机车辆的行驶路径。控制器系统被配置成与物体检测系统和导航系统通信以操作主机车辆的转向/加速配置文件(profile)以避免与其他车辆或物体的潜在碰撞。
一种示例控制器是不考虑路径弯曲的纯跟踪式控制器。另一示例控制器可以是考虑前向驾驶的基于动力学前轮的反馈控制器。线性模型预测控制器的稳定性可以取决于水平长度。非线性模型预测控制器会消耗大量的通信和计算能力。考虑到多种选择和应用,选择正确的控制器可能是困难的。此外,开发并调试横向和纵向控制系统是耗时的。每次修改控制器,其需要重新调试和过多的测试。每个控制器需要独特的调试方法。
图1是根据本公开的实施方式的车辆1000的示例的图。车辆1000可以是自动驾驶车辆(AV)或半自动驾驶车辆。如图1所示,车辆1000包括控制系统1010。控制系统1010可以称为控制器。控制系统1010包括处理器1020。处理器1020被编程以命令应用到预定转向力矩值和应用到预定净非对称制动力值中的一者。每个预定力被选择以实现预定车辆横摆力矩,其至多是由转向系统1030导致的第一最大横摆力矩和由制动系统导致的第二最大横摆力矩中的较小者。
转向系统1030可以包括转向致动器1040,其是电动助力转向致动器。制动系统可以包括耦合到车辆1000的各自车轮1060的一个或多个制动器1050。此外,处理器1020可以被编程以命令制动系统通过应用与其他制动器1050不同的制动力的每个制动器1050来应用净非对称制动力。
处理器1020还可以被编程以命令制动系统响应于转向系统1030的故障应用制动力,例如净非对称制动力。附加或可替换地,处理器1020可以被编程以响应于转向系统1030的故障向驾乘人员提供报警。转向系统1030可以是电动转向控制模块。控制系统1010可以包括转向系统1030。此外,控制系统1010可以包括制动系统。
转向系统1030可以包括是电动助力转向的转向致动器1040。制动系统可以包括耦合到车辆1000相对两侧的各自的车轮1060的两个制动器1050。此外,方法可以包括命令制动系统通过应用不同制动力的每个制动器1050来应用净非对称制动力。
如果转向系统1030和制动系统中的一者在车辆1000执行转弯时故障,则控制系统1010允许转向系统1030和制动系统中的另一者接管转向系统1030和制动系统中的一者。转向系统1030和制动系统不管哪一个保持可操作,都能够将足够的横摆力矩应用到车辆1000以继续转弯。车辆1000因此不太可能影响物体,例如另一车辆或道路障碍,且车辆1000的任何驾乘人员不太可能受伤。
车辆1000可以在一个或多个自动驾驶车辆操作等级操作。为了本公开的目的,自动模式被定义为车辆1000的驱动力(例如经由包括电机和/或内燃机的动力总成)、制动以及转向的每一者由处理器1020控制的一种模式;在半自动模式中,处理器1020控制车辆1000的驱动力、制动和转向的一者或两者。因此,在一个示例中,非自动操作模式可以涉及SAE等级0-1,部分自动或半自动操作模式可以涉及SAE等级2-3,以及全自动操作模式可以涉及SAE等级4-5。
参考图2,控制系统1010包括处理器1020。处理器1020被包括在车辆1000中用于执行包括如本申请所述的各种操作。处理器1020是一般包括处理器和存储器的计算设备,存储器包括一种或多种形式的计算机可读介质,以及存储处理器可执行的用于执行包括如本申请公开的各种操作的指令。处理器1020的存储器一般还存储经由各种通信机制接收的远程数据;例如,处理器1020一般被配置用于车辆1000内的通信网络上的通信。处理器1020还可以具有到车载诊断连接器(OBD-II)的连接。虽然为了便于图示,在图2中示出了一个处理器1020,可以理解处理器1020可以包括一个或多个计算设备,且该一个或多个计算设备可以执行本申请描述的各种操作。处理器1020可以是控制模块,例如电动转向控制模块,或可以包括其他计算设备的控制模块。
控制系统1010可以通过通信网络传送信号,该通信网络可以是控制器局域网(CAN)总线、以太网、局域互联网络(LIN)、蓝牙和/或通过任意其他有线或无线通信网络。处理器1020可以与动力系统2010、转向系统1030、制动系统2020、传感器2030和/或用户界面2040还有其他组件通信。
继续参考图2,车辆1000的动力系统2010生成能量并将能量转换成车辆1000的运动。动力系统2010可以是已知的车辆动力子系统,例如常规的动力总成,其包括耦合到传动装置(transmission)的内燃机,传动装置将转动传递到车轮1060;电力动力总成,包括电池、电机以及将驱动力传递到车轮1060的传动装置;混合动力总成,包括传统动力总成和电力动力总成的元件;或任意其他类型的驱动系统。动力系统2010与处理器1020通信并从处理器1020和驾驶员接收输入。驾驶员可以经由例如油门踏板和/或变速杆(未示出)控制动力系统2010。
参考图1和2,转向系统1030典型地是已知的车辆转向子系统并控制车轮1060的转弯。转向系统1030与方向盘1070和处理器1020通信并从中接收输入。转向系统1030可以是具有经由转向致动器1040的电动辅助转向的齿条齿轮系统、线控转向系统(这两者都是本领域已知的)或任意其他合适的系统。转向系统1030可以包括安装到耦合到转向齿条1090的转向柱1080的方向盘1070。
参考图1,转向齿条1090可调地耦合到车轮1060,例如以铰接四连杆的方式。转向齿条1090的平移运动致使车轮1060转向。转向柱1080可以经由齿条齿轮耦合到转向齿条1090,也就是说,齿轮与齿条(未示出)之间的啮合。
转向柱1080将方向盘1070的转动传递到转向齿条1090的运动。转向柱1080可以是例如将方向盘1070连接到转向齿条1090的轴。转向柱1080可以内安装扭矩传感器和离合器(未示出)。
方向盘1070允许操作员通过将方向盘1070的转动传送到转向齿条1090的运动来操纵车辆1000。方向盘1070可以是例如固定附着到转向柱1080的刚性圈,例如已知的方向盘。
继续参考图1,转向致动器1040耦合到转向系统1030,例如转向柱1080,以致使车轮1060转向。例如,转向致动器1040可以是可转动耦合到转向柱1080的电机,也就是说耦合以能够将转向力矩应用到转向柱1080。转向致动器1040可以与处理器1020通信。
转向致动器1040可以给转向系统1030提供助力。换句话说,转向致动器1040可以在驾驶员转动方向盘1070的方向提供力矩,允许驾驶员使用更少的力量转动方向盘1070。转向致动器1040可以是电动辅助转向致动器。
参考图1和图2,制动系统2020典型地是已知的车辆制动子系统并阻碍车辆1000的运动以由此减速和/或停止车辆1000。制动系统2020包括耦合到车轮1060的制动器1050。制动器1050可以是摩擦制动器,例如盘式制动器、鼓式制动器、带式制动器等;可以是再生制动器;可以是任意其他合适类型的制动器;或可以是这些的组合。制动器1050可以耦合到例如车辆1000的相对两侧的车轮1060。制动系统2020与处理器和驾驶员通信并从处理器1020和驾驶员接收输入。驾驶员可以经由例如制动踏板(未示出)控制制动。
参考图2,车辆1000可以包括传感器2030。传感器2030可以检测车辆1000的内部状态,例如轮转速、轮朝向以及发动机和传动变量。传感器2030可以检测车辆1000的位置或朝向,例如全球定位系统(GPS)传感器;加速度计,例如压电或微机电系统(MEMS);陀螺仪,例如速率、环形激光器或光纤陀螺仪;惯性测量单元(IMU);以及磁力计。传感器2030可以检测外部世界,例如雷达传感器、扫描激光测距仪、光检测与测距(LIDAR)设备以及图像处理传感器(例如摄像头)。传感器2030可以包括通信设备,例如车到基础设施(V2I)设备、车到车(V2V)设备或车到一切(V2X)设备。
用户界面2040向车辆1000的驾乘人员呈现信息并从驾乘人员接收信息。用户界面2040可以位于例如车辆1000的客舱(未示出)中的仪表盘上,或驾乘人员容易看到的任何地方。用户界面2040可以包括刻度盘、数字读出器、屏幕、扬声器等以用于输出,即提供信息给驾乘人员,例如包括诸如已知的元件的人机界面(HMI)。用户界面2040可以包括按键、把手、键盘、触摸屏、麦克风等以用于接收来自驾乘人员的输入,即信息、指令等。
图3是根据本公开的实施方式的车辆控制系统3000的示例的图。车辆控制系统3000可以包括依据特定实施的要求的各种组件。在一些实施方式中,车辆控制系统3000可以包括处理单元3010、图像获取单元3020、位置传感器3030、一个或多个存储器单元3040、3050、地图数据库3060、用户界面3070、以及无线收发信机3072。处理单元3010可以包括一个或多个处理设备。在一些实施方式中,处理单元3010可以包括应用处理器3080、图像处理器3090或任意其他合适的处理设备。类似地,图像获取单元3020依据特定应用的要求可以包括任意数量的图像获取设备和组件。在一些实施方式中,图像获取单元3020可以包括一个或多个图像捕获设备(例如,摄像头、CCD或任意其他类型的图像传感器),例如图像捕获设备3022、图像捕获设备3024以及图像捕获设备3026。系统3000还可以包括通信地将处理单元3010连接到图像获取单元3020的数据接口3028。例如,数据接口3028可以包括任意一个或多个有线和/或无线链路,以用于将图像获取单元3020获取的图像数据传送到处理单元3010。
无线收发信机3072可以包括一个或多个设备,被配置成通过使用射频、红外频率、磁场或电场来通过空中接口将传输交换到一个或多个网络(例如蜂窝网络、因特网等)。无线收发信机3072可以使用已知的标准来传送和/或接收数据(例如,Wi-Fi、蓝牙、蓝牙智能、802.15.4、ZigBee等)。这种传输可以包括从主机车辆到一个或多个位于远程的服务器的通信。这种传输还可以包括主机车辆与在主机车辆环境中的一个或多个目标车辆之间的通信(单向或双向)(例如,以促进主机车辆相对于主机车辆环境中的目标车辆的导航协调或与目标车辆一起的导航协调),或甚至是至进行传输的车辆附近的未指定接收方的广播传输。
应用处理器3080和图像处理器3090两者可以包括各种类型的基于硬件的处理设备。例如,应用处理器3080和图像处理器3090的任一者或两者可以包括微处理器、预处理器(例如图像预处理器)、图形处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器、或适用于运行应用和用于图像处理和分析的任意其他类型的设备。在一些实施方式中,应用处理器180和/或图像处理器190可以包括任意类型的单核或多核处理器、移动设备微控制器、中央处理单元等。
在一些实施方式中,应用处理器3080和/或图像处理器3090可以包括具有本地存储器和指令集的多个处理单元。这样的处理器可以包括用于从多个图像传感器接收图像数据的视频输入,并还可以包括视频输出能力。在一个示例中,处理器可以使用工作在332Mhz的90纳米-微米(nm-micron)技术。
本申请公开的任意处理设备可以被配置成执行某些功能。配置处理设备(例如描述的处理器、其他控制器或微处理器中的任意)来执行某些功能可以包括对计算机可执行指令编程并使得这些指令可用于在处理设备操作期间供处理设备执行。在一些实施方式中,配置处理设备可以包括使用架构指令直接对处理设备编程。在其他实施方式中,配置处理设备可以包括在处理设备在操作期间可访问的存储器上存储可执行指令。例如,处理设备在操作期间可以访问处理器以得到并执行存储的指令。在任一情况中,被配置成执行本申请公开的感测、图像分析和/或导航功能的处理设备代表基于专用硬件的系统,其控制主机车辆的多个基于硬件的组件。
虽然图3示出了在处理单元3010中包含两个分开的处理设备,但是可以使用更多或更少的处理设备。例如,在一些实施方式中,单个处理设备可以用于实现应用处理器3080和/或图像处理器3090的任务。在其他实施方式中,这些任务可以由两个以上的处理设备执行。此外,在一些实施方式中,车辆控制系统3000可以包括一个或多个处理单元3010,不包括其他组件,例如图像获取单元3020。
处理单元3010可以包括各种类型的设备。例如,处理单元3010可以包括各种设备,例如控制器、图像预处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器或用于图像处理和分析的任意其他类型的设备。图像预处理器可以包括视频处理器,用于捕获、数字化并处理来自图像传感器的影像。CPU可以包括任意数量的微控制器或微处理器。支持电路可以是一般本领域公知的任意数量的电路,包括缓存器、电源、时钟和输入输出电路。存储器可以存储软件,该软件在被处理器执行时控制系统操作。存储器可以包括数据库和图像处理软件。存储器可以包括任意数量的随机存储器、只读存储器、闪存、磁盘驱动器、光存储器、带存储器、可移除存储器以及其他类型的存储器。在一种实例中,存储器可以与处理单元3010分开。在其他实例中,存储器可以集成到处理单元3010。
每个存储器3040、3050可以包括软件指令,其在被处理器(例如应用处理器3080和/或图像处理器3090)执行时可以控制车辆控制系统3000的各种方面的操作。举例而言,这些存储器单元可以包括各种数据库和图像处理软件以及训练系统,例如神经网络或深度神经网络。存储器单元可以包括随机存取存储器、只读存储器、闪存、磁盘驱动器、光存储器、带式存储器、可移除存储器和/或任意其他类型的存储器。在一些实施方式中,存储器单元3040、3050可以与应用处理器3080和/或图像处理器3090分开。在其他实施方式中,这些存储器单元可以集成到应用处理器3080和/或图像处理器3090。
位置传感器3030可以包括适用于确定与车辆控制系统3000的至少一个组件相关联的位置的任意类型的设备。在一些实施方式中,位置传感器3030可以包括GPS接收器。这样的接收器能够通过处理全球定位系统卫星广播的信号来确定用户位置和速度。来自位置传感器3030的位置信息对于应用处理器3080和/或图像处理器3090可用。
在一些实施方式中,车辆控制系统3000可以包括例如用于测量车辆1000的速度的速度传感器(例如速度计)的组件。车辆控制系统3000还可以包括用于沿一个或多个轴测量车辆1000的加速度的一个或多个加速度计(单轴或多轴)。
存储器单元3040、3050可以包括数据库,或以任意其他形式组织的数据,其指示已知地标的位置。环境的传感信息(例如图像、雷达信号、来自激光雷达或两个或更多图像的立体处理的深度信息)可以与位置信息(例如GPS坐标、车辆自主运动等)一起被处理以确定相对于已知地标的车辆当前位置,并修正该车辆位置。
用户界面3070可以包括适用于提供信息给车辆控制系统3000的一个或多个用户或从一个或多个用户接收输入的任意设备。在一些实施方式中,用户界面3070可以包括用户输入设备,包括例如,触摸屏、麦克风、键盘、指针设备、轨迹轮、摄像头、把手、按键等。使用这样的输入设备,用户能够通过键入指令或信息,提供语音命令,使用按键、指针或眼跟踪能力选择屏幕上的菜单选项,或通过用于将信息传递到车辆控制系统3000的任意其他合适的技术来向车辆控制系统3000提供信息输入或命令。
用户界面3070可以被装配有一个或多个处理设备,该处理设备被配置成提供信息给用户和从用户接收信息,并处理该信息以供例如应用处理器3080使用。在一些实施方式中,这样的处理设备可以执行用于识别和跟踪眼部运动,接收和解译语音命令,识别和解译在触摸屏上进行的触摸和/或手势,响应于键盘输入或菜单选择等的指令。在一些实施方式中,用户界面3070可以包括显示器、扬声器、触觉设备和/或用于提供输出信息给用户的任意其他设备。
地图数据库3060可以包括用于存储有用于车辆控制系统3000的地图数据的任意类型的数据库。在一些实施方式中,地图数据库3060可以包括关于在参考坐标系中各种项的位置的数据,包括道路、水景、地理特征、商业、兴趣点、餐厅、加油站等。地图数据库3060不仅可以存储这些项的位置,还可以存储关于这些项的描述符,包括例如与任意存储的特征相关联的名称。在一些实施方式中,地图数据库3060在物理上可以位于车辆控制系统3000的其他组件。可替换地或附加地,地图数据库3060或其部分可以相对于车辆控制系统3000的其他组件(例如处理单元3010)位于远程。在这样的实施方式中,来自地图数据库3060的信息可以通过到网络的有线或无线数据连接(例如通过蜂窝网络和/或因特网等)被下载。在一些情况中,地图数据3060可以存储稀疏数据模型,包括某些道路特征(例如车道标记)或主机车辆的目标轨迹的多项式表示。地图数据库3060还可以包括存储的各种识别的地标的表示,其可以用于确定或更新关于目标轨迹的主机车辆的已知位置。地标表示可以包括数据字段,例如地标类型、地标位置以及其他可能的标识符。
图像捕获设备3022、3024以及3026每一个可以包括适用于从环境捕获至少一个图像的任意类型的设备。此外,任意数量的图像捕获设备可以用于获取用于输入到图像处理器的图像。一些实施方式可以包括仅单个图像捕获设备,而其他实施方式可以包括两个、三个或甚至四个或更多的图像捕获设备。下面将参考图4进一步描述图像捕获设备3022、3024和3026。
一个或多个摄像头(例如图像捕获设备3022、3024和3026)可以是包括在车辆上的感测块的部分。各种其他传感器可以被包括在感测块中,且可以依赖任意或所有这些传感器来开发车辆的感测导航状态。除了摄像头(前面、侧面、后面等),在感测块中还可以包括其他传感器,例如雷达、激光雷达以及声音传感器。此外,感测块可以包括一个或多个组件,被配置成通信和传送/接收与车辆环境有关的信息。例如,这样的组件可以包括无线收发信机(RF等),其可以从相对于主机车辆远程设置的源接收关于主机车辆环境的基于传感器的信息或任意其他类型的信息。这样的信息可以包括传感器输出信息或从主机车辆以外的车辆系统接收的相关信息。在一些实施方式中,这样的信息可以包括从远程计算设备、中央服务器等接收的信息。此外,摄像头可以采用多种不同配置:单摄像头单元、多摄像头、摄像头群集、长FOV、短FOV、广角、鱼眼等。
图4是根据本公开的实施方式的包括车辆控制系统3000的车辆1000的侧视图的示例的图。例如,车辆1000可以被装配处理单元3010和如上参考图3所描述的车辆控制系统3000的任意其他组件。虽然在一些实施方式中车辆1000可以被装配仅单个图像捕获设备(例如摄像头),但是在其他实施方式中,可以使用多个图像捕获设备。例如,如图4所示,车辆1000的图形捕获设备3022和3024任一者可以是高级驾驶辅助系统(ADAS)成像设备的部分。
包括在车辆1000上的作为图像获取单元3020的部分的图像捕获设备可以设置在任意合适位置。在一些实施方式中,图像捕获设备3022可以位于后视镜附近。该位置可以提供类似于车辆1000的驾驶员视线的视线,这可以帮助确定驾驶员可看见和看不见的东西。图像捕获设备3022可以设置在后视镜附近的任意位置,但是将图像捕获设备3022放置在镜子的驾驶员侧可以进一步帮助得到代表驾驶员视场和/或视线的图像。
也可以使用针对图像获取单元3020的图像捕获设备的其他位置。例如,图像捕获设备3024可以位于车辆1000的保险杠上或中。这种位置尤其可以适合具有广视场的图像捕获设备。位于保险杠的图像捕获设备的视线可以不同于驾驶员的视线,且由此,保险杠图像捕获设备和驾驶员可以不总是看到相同的物体。图像捕获设备(例如图像捕获设备3022、3024和3026)也可以位于其他位置。例如,图像捕获设备可以位于车辆1000的外后视镜的一个或两个的上面或者集成在外后视镜上,在车辆1000的车顶上,在车辆1000的引擎盖上,在车辆1000的后备箱上,在车辆1000的侧面,安装在车辆1000的任意窗户上、设置在窗户后,或设置在窗户前面,以及安装在车辆1000的前面和/或后面的灯具中或附近。
除了图像捕获设备之外,车辆1000还可以包括车辆控制系统3000的各种其他组件。例如,车辆1000上可以包括处理单元3010,与车辆的发动机控制单元(ECU)集成或分开。车辆1000还可以装配有位置传感器3030,例如GPS接收器,且还可以包括地图数据库3060和存储器单元3040和3050。
如之前所述,无线收发信机3072可以通过一个或多个网络(例如蜂窝网络、因特网等)传送和/或接收数据。例如,无线收发信机3072可以将车辆控制系统3000收集的数据上传到一个或多个服务器,以及从一个或多个服务器下载数据。经由无线收发信机3072,车辆控制系统3000可以接收例如针对存储在地图数据库3060、存储器3040和/或存储器3050中的数据的周期性或按需更新。类似地,无线收发信机3072可以将来自车辆控制系统3000的任意数据(例如图像获取单元3020捕获的图像,位置传感器3030或其他传感器、车辆控制系统等接收的数据)和/或处理单元3010处理的任意数据上传到一个或多个服务器。
车辆控制系统3000可以基于隐私等级设置将数据上传到服务器(例如,上传到云)。例如,车辆控制系统3000可以实施隐私等级设置来管控或限制发送到服务器的数据类型(包括元数据),其可以唯一标识车辆和/或车辆的驾驶员/车主。这种设置可以由用户经由例如无线收发信机3072来设置,可以通过工厂默认设置初始化,或由通过无线收发信机3072接收的数据初始化。
可以结合进弯半径、转弯半径、出弯半径、进弯长度、转弯长度、出弯长度、进弯速度、转弯速度、出弯速度以及方向来实施实验设计(DOE)方法。可以对测试矩阵进行多次重复以收集用于构建被控对象模型的数据。然后使用被控对象模型进行仿真以生成针对各种控制器参数的性能得分。该性能数据被输入到无监督学习算法以识别合适的参数机制。优化算法(例如强化学习算法)被应用以优化每个机制内的参数。
下表1是可以用于DOE的实验条件的示例子集。
表1
图5是根据本公开实施方式的车辆控制系统5000的示例的图。车辆控制系统5000可以被实施为主机车辆5010的部分,并可以使用DOE测试矩阵来捕获在活动条件下的车辆操作。使用的DOE测试矩阵的子集可以类似于上表1示出的子集。主机车辆5010可以在自动模式5020中操作,其中不需要操作员操作车辆5010。可替换地,主机车辆可以在手动模式5030中操作,其中自动程度或等级可能仅仅是给通常控制主机车辆5010的转向器5040、加速器5050以及制动器5060的操作员提供操纵建议。例如,在手动模式5030中,车辆控制系统5000可以在需要时帮助操作员到达所选目的地,避免干扰其他实体5070或与之碰撞,或这两者。其他实体5070可以是另一车辆、行人、建筑物、树、动物或车辆5010可能碰到的任意其他物体。
参考图5,车辆控制系统5000包括导航设备5090。导航设备5090可以用于确定主机车辆5010到目的地的行驶路径5100。例如,行驶路径5100可以包括行驶路线或导航路径。导航设备5090可以确定沿着道路操纵主机车辆5010去哪使得主机车辆5010相对于例如车道标记、路边、交通标志、行人、其他车辆等位于车道的合适位置,基于数字地图5120确定路线,主机车辆5010被指令按照该路线到达目的地,或者这两者。在一些示例中,行驶路径5100可以基于DOE测试矩阵5110,例如在控制器5130处于自主开发模式或自主调试模式的时候。
为了确定主机车辆5010位于数字地图5120上的位置,导航设备5090可以包括位置设备5140,例如GPS接收器。可替换地,或与位置设备5140结合,导航设备5090可以包括图像设备5150。图像设备5150可以包括摄像头、雷达单元、激光雷达单元或这些的任意组合,用于检测主机车辆5010附近的在数字地图5120上指示的相对永久物体,例如交通信号、建筑物等,以及确定相对于这些物体的相对位置以确定主机车辆5010位于数字地图5120上的位置。该过程可以称为地图定位。导航设备5090的功能、导航设备5090提供的信息或这两者可以全部或部分通过V2I通信、V2V通信、车到行人(V2P)通信或这些的组合的方式,这些方式可以总体被标记为V2X通信5160。
图像设备5150的功能可以由但不限于摄像头5170、雷达单元5180、激光雷达单元5190或这些的任意组合来提供,其也可以与物体检测器5200共享。在一些实施中,物体检测器5200可以包括声呐单元5210。物体检测器5200可以用于检测其他实体5070的相对位置,并确定其他实体5070将横穿主机车辆5010的行驶路径的交叉点。为了确定交叉点和主机车辆5010与其他实体5070到达交叉点的相对定时,车辆控制系统5000可以使用物体检测器5200来确定例如其他实体5070与主机车辆5010的相对速度和间隔距离,或这两者。物体检测器5200的功能、物体检测器5200提供的信息或这两者可以全部或部分通过V2I通信、V2V通信、V2P通信或这些的组合的方式,这些方式可以总体被标记为V2X通信5160。因此,车辆控制系统5000可以包括用于实现这些通信的收发信机。
车辆控制系统5000包括控制器5130,其与控制器接口5250、物体检测器5200以及导航设备5090通信。通信可以是以有线、无线通信或光纤的方式,但不限于此。控制器5130可以包括处理器,例如微处理器或其他控制电路,例如模拟电路、数字电路或这两者,包括用于处理数据的专用集成电路(ASIC)。控制器5130可以包括存储器,包括非易失性存储器,例如电可擦除可编程只读存储器(EEPROM),用于存储一个或多个程序(routine)、阈值、获取的数据或这些的组合。一个或多个程序可以与DOE测试矩阵相关联并可以由处理器执行以执行用于确定在活动条件下的车辆操作、车辆条件或这两者的步骤。
控制器5130可以在自主开发模式5220中操作使得控制器5130基于DOE测试矩阵5110和关于活动条件下车辆操作的数据的获取而被自动开发。控制器5130可以使用控制器仿真器5230在主机车辆5010没有在活动条件下的离线情况下自主开发。控制器仿真器5230基于DOE测试矩阵5110执行仿真。控制器仿真器5230收集从执行的仿真得到的数据并将收集的数据馈送给学习模块,例如深度学习模块5240。深度学习模块5240可以执行监督学习、无监督学习、强化学习或这些的组合。深度学习模块5240可以识别机制并生成用于控制器5130的控制器参数。深度学习模块5240可以向DOE测试矩阵5110、控制器仿真器5230或这两者提供反馈。反馈可以用于更新DOE测试矩阵5110、控制器仿真器5230或这两者。控制器参数可以经由控制器接口5250被传送到控制器5130。在一些实施方式中,控制器5130可以在主机车辆5010在活动条件下的在线情况下自主开发。DOE测试矩阵5110、控制器仿真器5230以及深度学习模块5240可以被包括在单个处理器、个体处理器、控制器5130,或这些的任意组合。
控制器5130可以在自主调试模式5260中操作,使得控制器5130基于DOE测试矩阵5110和关于活动条件下车辆操作的数据的获取被自动调试。在这种情况中,控制器5130可以在主机车辆5010在活动条件下的在线情况下自主调试。控制器仿真器5230基于DOE测试矩阵5110执行仿真。控制器仿真器5230收集从执行的仿真得到的数据并将收集的数据馈送到学习模块,例如深度学习模块5240。深度学习模块5240可以执行监督学习、无监督学习、强化学习或这些的组合。深度学习模块5240可以识别机制并生成用于调试控制器5130的调试参数。深度学习模块5240可以向DOE测试矩阵5110、控制器仿真器5230或这两者提供反馈。反馈可以包括来自主机车辆5010的任意致动器的数据,例如转向致动器、制动致动器、节气门致动器或这些的组合。反馈可以用于更新DOE测试矩阵5110、控制器仿真器5230或这两者。调试参数可以经由控制器接口5250被传送到控制器5130。DOE测试矩阵5110、控制器仿真器5230以及深度学习模块5240可以被包括在单个处理器、个体处理器、控制器5130或这些的任意组合。
图6是根据本公开实施方式的车辆控制系统6000的另一示例的图。在该示例中,车辆控制系统6000可以使用生成式对抗网络(GAN)作为机器学习模型以防止过度调试车辆。在对抗网络框架中,生成式模型可以与对手竞争。例如,鉴别式模型可以被配置成学习确定样本是来自模型分布还是数据分布。生成式模型可以被认为是类比于一队伪造者,尝试制造假币(通过仿真器)并在没有检测的情况下使用,而鉴别式模型类比于警察,尝试检测假币。在该游戏中竞争驱使这两队改进其方法直到假货与真货无法区分。
车辆控制系统6000可以被实施为主机车辆6010的部分,并可以使用DOE测试矩阵获取活动条件下的车辆操作。使用的DOE测试矩阵子集可以类似于上表1示出的子集。主机车辆6010可以在不需要操作员操作车辆6000的自动模式6020中操作。可替换地,主机车辆可以在手动模式6030中操作,其中自动程度或等级可能仅仅是给通常控制主机车辆6010的转向器6040、加速器6050以及制动器6060的操作员提供操纵建议。例如,在手动模式6030中,车辆控制系统6000可以在需要时帮助操作员到达所选目的地,避免干扰其他实体6070或与之碰撞,或这两者。其他实体6070可以是另一车辆、行人、建筑物、树、动物或车辆6010可能碰到的任意其他物体。
参考图6,车辆控制系统6000包括导航设备6090。导航设备6090可以用于确定主机车辆6010到目的地的行驶路径6100。例如,行驶路径6100可以包括行驶路线或导航路径。导航设备6090可以确定沿着道路操纵主机车辆6010去哪使得主机车辆6010相对于例如车道标记、路边、交通标志、行人、其他车辆等位于车道的合适位置,基于数字地图6120确定路线,主机车辆6010被指令按照该路线到达目的地,或者这两者。在一些示例中,行驶路径6100可以基于DOE测试矩阵6110,例如在控制器6130处于自主开发模式或自主调试模式的时候。
为了确定主机车辆6010位于数字地图6120上的位置,导航设备6090可以包括位置设备6140,例如GPS接收器。可替换地,或与位置设备6140结合,导航设备6090可以包括图像设备6150。图像设备6150可以包括摄像头、雷达单元、激光雷达单元或这些的任意组合,用于检测主机车辆6010附近的在数字地图6120上指示的相对永久物体,例如交通信号、建筑物等,以及确定相对于这些物体的相对位置以确定主机车辆6010位于数字地图6120上的位置。该过程可以称为地图定位。导航设备6090的功能、导航设备6090提供的信息或这两者可以全部或部分通过V2I通信、V2V通信、车到行人(V2P)通信或这些的组合的方式,这些方式可以总体被标记为V2X通信6160。
图像设备6150的功能可以由但不限于摄像头6170、雷达单元6180、激光雷达单元6190或这些的任意组合来提供,其也可以与物体检测器6200共享。在一些实施中,物体检测器6200可以包括声呐单元6210。物体检测器6200可以用于检测其他实体6070的相对位置,并确定其他实体6070将横穿主机车辆6010的行驶路径的交叉点。为了确定交叉点和主机车辆6010与其他实体6070到达交叉点的相对定时,车辆控制系统6000可以使用物体检测器6200来确定例如其他实体6070与主机车辆6010的相对速度和间隔距离,或这两者。物体检测器6200的功能、物体检测器6200提供的信息或这两者可以全部或部分通过V2I通信、V2V通信、V2P通信或这些的组合的方式,这些方式可以总体被标记为V2X通信6160。因此,车辆控制系统6000可以包括用于实现这些通信的收发信机。
车辆控制系统6200包括控制器6130,其与深度鉴别网络6250、物体检测器6200以及导航设备6090通信。通信可以是以有线、无线通信或光纤的方式,但不限于此。控制器6130可以包括处理器,例如微处理器或其他控制电路,例如模拟电路、数字电路或这两者,包括用于处理数据的专用集成电路(ASIC)。控制器6130可以包括存储器,包括非易失性存储器,例如电可擦除可编程只读存储器(EEPROM),用于存储一个或多个程序、阈值、获取的数据或这些的组合。一个或多个程序可以与DOE测试矩阵相关联并可以由处理器执行以执行用于确定在活动条件下的车辆操作、车辆条件或这两者的步骤。
控制器6130可以在自主开发模式6220中操作使得控制器6130基于DOE测试矩阵6110和关于活动条件下车辆操作的数据的获取而被自动开发。控制器6130可以使用控制器仿真器6230在主机车辆6010没有在活动条件下的离线情况下自主开发。控制器仿真器6230基于DOE测试矩阵6110执行仿真。控制器仿真器6230收集从执行的仿真得到的数据并将收集的数据馈送给学习模块,例如生成网络,诸如深度生成网络6240。深度生成网络6240可以执行监督学习、无监督学习、强化学习或这些的组合。深度生成网络6240可以识别机制并生成用于控制器6130的控制器参数。深度生成网络6240可以向DOE测试矩阵6110、控制器仿真器6230或这两者提供反馈。反馈可以用于更新DOE测试矩阵6110、控制器仿真器6230或这两者。控制器参数可以经由深度鉴别网络6250被传送到控制器6130。在一些实施方式中,深度鉴别网络6250可以是控制器6130的部分。在一些实施例中,深度生成网络6240可以离线操作,并且深度鉴别网络6250可以在线或离线操作以评估从深度生成网络6240接收的候选者。在一些实施方式中,控制器6130可以在主机车辆6010在活动条件下的在线情况下自开发。DOE测试矩阵6110、控制器仿真器6230以及深度生成网络6240可以被包括在单个处理器、个体处理器、控制器6130,或这些的任意组合。
控制器6130可以在自主调试模式6260中操作,使得控制器6130基于DOE测试矩阵6110和关于活动条件下车辆操作的数据的获取被自动调试。在该示例中,控制器6130可以在主机车辆6010在活动条件下的在线情况下自主调试。控制器仿真器6230基于DOE测试矩阵6110执行仿真。控制器仿真器收集从执行的仿真得到的数据并将收集的数据馈送到学习模块,例如深度生成网络6240。深度生成网络6240可以执行监督学习、无监督学习、强化学习或这些的组合。深度生成网络6240可以识别机制并生成用于调试控制器6130的调试参数。深度生成网络6240可以向DOE测试矩阵6110、控制器仿真器6230或这两者提供反馈。反馈可以包括来自主机车辆6010的任意致动器的数据,例如转向致动器、制动致动器、节气门致动器或这些的组合。反馈可以用于更新DOE测试矩阵6110、控制器仿真器6230或这两者。调试参数可以经由深度鉴别网络6250被传送到控制器6130。DOE测试矩阵6110、控制器仿真器6230以及深度生成网络6240可以被包括在单个处理器、个体处理器、控制器6130或这些的任意组合。
图7是用于基于DOE测试矩阵生成控制器参数的方法7000的示例的图。使用的DOE测试矩阵的子集可以类似于上表1示出的子集。如图7所示,DOE测试矩阵7010用于生成代表性被控对象模型。DOE测试矩阵7010包括用于生成代表性被控对象模型的实验条件。一个或多个控制器仿真7020被执行以生成性能数据。可以执行第一学习方法7030来识别一个或多个机制。在该示例中,第一学习方法7030可以是无监督学习。可以基于一个或多个识别的机制执行第二学习方法7040。在该示例中,第二学习方法7040可以是强化学习。可以基于第二学习方法生成一个或多个控制器参数。一个或多个控制器参数可以用于更新控制器。一个或多个控制器参数可以用于自主开发控制器、自主调试控制器,或这两者。
图8是用于控制器的自主调试方法8000的示例的图。在该示例中,可以基于DOE测试矩阵生成代表性被控对象模型8010。使用的DOE测试矩阵的子集可以类似于上表1示出的子集。在该示例中,控制器8020可以在主机车辆在活动条件下的在线情况下自主调试。控制器仿真器可以基于DOE测试矩阵执行仿真以生成调试参数8030。控制器仿真器可以收集从执行的仿真得到的数据并将收集的数据馈送给学习模块,例如深度学习模块。深度学习模块可以执行监督学习、无监督学习、强化学习或这些的组合。深度学习模块可以识别机制并生成用于调试控制器8020的调试参数8030。主机车辆然后可以探索8040其环境并向控制器8020提供反馈。反馈可以包括来自主机车辆的任意致动器的数据,例如转向致动器、制动致动器、节气门致动器或这些的组合。主机车辆可以以随机、半随机或构建的方式探索8040其环境。反馈可以用于实时更新控制器8020。
图9是用于控制器的自主调试方法9000的另一示例的图。在该示例中,可以基于DOE测试矩阵生成代表性被控对象模型9010。使用的DOE测试矩阵的子集可以类似于上表1示出的子集。在该示例中,示出为控制器0 9020的控制器可以在主机车辆在活动条件下的在线情况下自主调试。控制器仿真器可以基于DOE测试矩阵执行仿真以生成调试参数9030。控制器仿真器可以收集从执行的仿真得到的数据并将收集的数据馈送给学习模块,例如深度学习模块。深度学习模块可以执行监督学习、无监督学习、强化学习或这些的组合。深度学习模块可以识别机制并生成用于调试控制器0 9020的调试参数9030。主机车辆然后可以探索9040其环境并向控制器0 9020提供反馈。主机车辆可以以随机、半随机或构建的方式探索9040其环境。反馈可以用于实时更新控制器0 9020。反馈可以包括来自主机车辆的任意致动器的数据,例如转向致动器、制动致动器、节气门致动器或这些的组合。在该示例中,更新的控制器示出为控制器1 9050。主机车辆可以继续探索9060其环境并向控制器1 9050提供反馈。基于来自探索9060的反馈,控制器1 9050可以被更新为控制器2 9070。该过程根据需要经常重复以持续实时更新控制器n 9080。
虽然本申请的一些实施方式涉及方法,但是本领域技术人员可以理解实施方式也可以被实施为系统或计算机程序产品。因此,本发明的方面可以采用完全硬件实施方式的形式、完全软件实施方式的形式(包括固件、常驻软件、微代码等)或结合软件和硬件方面的实施方式的形式,这在本申请中可以一般都称为“处理器”、“设备”或“系统”。此外,本发明的方面可以采取在其上具有计算机可读程序代码的一个或多个计算机可读介质中实施的计算机程序产品的形式。可以使用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电、磁、光、电磁、红外或半导体系统、装置或设备,或前述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举)包括以下:具有一个或多个电线的电连接、可携带计算机磁盒、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、可携带压缩盘只读存储器(CD-ROM)、光存储设备、磁存储设备或前述的任意合适的组合。在本申请上下文中,计算机可读存储介质可以是任意有形介质,能够包含或存储用于指令执行系统、装置或设备使用或与其关联的程序。
计算机可读信号介质可以包括在其中实施计算机可读程序代码的传播数据信号,例如在基带中,或作为载波的部分。这样的传播信号可以采用任意多种形式,包括但不限于,电磁、光或这些的任意合适组合。计算机可读信号介质可以是不是计算机可读存储介质且能够通信、传播或传输供指令执行系统、装置或设备使用或与之关联的程序的任意计算机可读介质。
在计算机可读介质实施的程序代码可以使用任意合适的介质来传送,包括但不限于,CD、DVD、无线、有线、光纤电缆、RF等,或前述的任意合适组合。
用于执行本发明方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合被写入,包括面向对象的编程语言,例如Java、Smalltalk、C++等,以及常规程序编程语言,例如“C”编程语言或类似的编程语言。程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立软件包执行,部分在用户的计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。在后者场景中,远程计算机可以通过任意类型的网络连接到用户的计算机,包括局域网(LAN)和广域网(WAN),或可以到外部计算机的连接(例如通过使用因特网服务供应商的因特网)。
下面参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述本发明的方面。可以理解流程图图示和/或框图的每一个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令来执行。
这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,由此经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于执行在流程图和/或框图的一个或多个框中指定的功能/动作。这些计算机程序指令也可以被存储在计算机可读介质中,其可以指示计算机、其他可编程数据处理装置或其他设备已特定方式发挥功能,由此存储在计算机可读介质中的指令产生一项产品,包括执行在流程图和/或框图的一个或多个框中指定的功能/动作。
计算机程序指令也可以被加载到计算机、其他可编程数据处理装置或其他设备,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,从而产生计算机执行的过程,由此在计算机或其他可编程装置上执行的指令提供用于执行在流程图和/或框图的一个或多个框中指定的功能/动作的过程。
附图中的流程图和框图示出了根据本发明的各种实施方式的系统、方法和计算机程序产品的可能实施的架构、功能和操作。在这一点而言,流程图或框图中的每个框可以代表代码模块、片段或部分,其包括用于执行指定的一个或多个逻辑功能的一个或多个可执行指令。还应当注意,在一些可替换实施中,框中注释的功能可以不按照图中标示的顺序发生。
虽然结合某些实施方式描述了本公开,但是可以理解本公开不限于公开的实施方式,而是意在覆盖包括在权利要求书的范围内的各种修改、组合和等同设置,范围符合最宽解释由此专利法允许的所有这样的修改和等同结构。
Claims (20)
1.一种用于控制自动驾驶车辆(AV)的方法,该方法包括:
基于实验设计(DOE)测试矩阵,构建被控对象模型;
基于所构建的被控对象模型,执行控制器仿真;
基于所述控制器仿真,生成性能数据;
执行第一学习方法,以识别一个或多个机制
基于所述一个或多个机制,执行第二学习方法;
基于所述第二学习方法,生成一个或多个参数调试;以及
基于所述一个或多个参数调试,更新AV控制器。
2.根据权利要求1所述的方法,其中所述第一学习方法是无监督学习方法。
3.根据权利要求1所述的方法,其中所述第二学习方法是强化学习方法。
4.根据权利要求3所述的方法,其中所述第二学习方法被执行以优化所述一个或多个机制中的每一个机制的一个或多个参数。
5.根据权利要求1所述的方法,其中所述DOE测试矩阵包括以下中的一者或多者:进弯半径、转弯半径、出弯半径、进弯长度、转弯长度、出弯长度、进弯速度、转弯速度、出弯速度以及方向。
6.根据权利要求1所述的方法,该方法还包括:
重复所述DOE测试矩阵以修正所述被控对象模型。
7.根据权利要求1所述的方法,其中所述AV控制器是纯跟踪式控制器、基于动力学前轮的反馈控制器、线性模型预测控制器或非线性模型预测控制器。
8.根据权利要求1所述的方法,其中所述AV控制器被实时更新。
9.根据权利要求1所述的方法,其中所述第一学习方法和所述第二学习方法在所述AV离线的情况下被执行。
10.根据权利要求1所述的方法,其中所述一个或多个参数调试在所述AV离线的情况下被生成。
11.一种用于控制自动驾驶车辆(AV)的车辆控制系统,所述车辆控制系统包括:
控制器;
耦合到所述控制器的控制器接口;以及
处理器,被配置成:
基于实验设计(DOE)测试矩阵,构建被控对象模型;
基于构建的被控对象模型,执行控制器仿真;
基于所述控制器仿真,生成性能数据;
执行第一学习方法,以识别一个或多个机制;
基于所述一个或多个机制,执行第二学习方法;
基于所述第二学习方法,生成一个或多个参数调试;以及
经由所述控制器接口将所述一个或多个参数调试传送到所述控制器以更新所述控制器。
12.根据权利要求11所述的车辆控制系统,其中所述第一学习方法是无监督学习方法。
13.根据权利要求11所述的车辆控制系统,其中所述第二学习方法是强化学习方法。
14.根据权利要求13所述的车辆控制系统,其中所述第二学习方法被执行以优化所述一个或多个机制中的每一个机制的一个或多个参数。
15.根据权利要求11所述的车辆控制系统,其中所述DOE测试矩阵包括以下中的一者或多者:进弯半径、转弯半径、出弯半径、进弯长度、转弯长度、出弯长度、进弯速度、转弯速度、出弯速度以及方向。
16.根据权利要求11所述的车辆控制系统,其中所述处理器还被配置成重复所述DOE测试矩阵以修正所述被控对象模型。
17.根据权利要求11所述的车辆控制系统,其中所述控制器是纯跟踪式控制器、基于动力学前轮的反馈控制器、线性模型预测控制器或非线性模型预测控制器。
18.根据权利要求11所述的车辆控制系统,其中所述控制器被实时更新。
19.根据权利要求11所述的车辆控制系统,其中所述第一学习方法和所述第二学习方法在所述AV离线的情况下被执行。
20.根据权利要求11所述的车辆控制系统,其中所述一个或多个参数调试在所述AV离线的情况下被生成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/133,114 US20200089244A1 (en) | 2018-09-17 | 2018-09-17 | Experiments method and system for autonomous vehicle control |
US16/133,114 | 2018-09-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110901656A true CN110901656A (zh) | 2020-03-24 |
CN110901656B CN110901656B (zh) | 2022-02-22 |
Family
ID=69773964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910877494.4A Active CN110901656B (zh) | 2018-09-17 | 2019-09-17 | 用于自动驾驶车辆控制的实验设计方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200089244A1 (zh) |
CN (1) | CN110901656B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112162555A (zh) * | 2020-09-23 | 2021-01-01 | 燕山大学 | 混合车队中基于强化学习控制策略的车辆控制方法 |
CN113501008A (zh) * | 2021-08-12 | 2021-10-15 | 东风悦享科技有限公司 | 一种基于强化学习算法的自动驾驶行为决策方法 |
CN114488992A (zh) * | 2021-12-17 | 2022-05-13 | 徐工汉云技术股份有限公司 | 一种基于监督机器学习的电动车控制器适配多车型的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9499139B2 (en) | 2013-12-05 | 2016-11-22 | Magna Electronics Inc. | Vehicle monitoring system |
US20230044138A1 (en) * | 2021-08-09 | 2023-02-09 | Roto-Mix, Llc | Autonomous system for evenly dispensing livestock feed |
WO2023215507A1 (en) * | 2022-05-04 | 2023-11-09 | The Regents Of The University Of Michigan | System and method for simulating an environment for autonomous vehicle testing |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1737776A (zh) * | 2005-08-31 | 2006-02-22 | 上海海尔集成电路有限公司 | 一种仿真器芯片及其仿真方法 |
CN103163820A (zh) * | 2011-12-19 | 2013-06-19 | 深圳市汇川控制技术有限公司 | 便于程序调试的可编程逻辑控制器及实现方法 |
CN105700512A (zh) * | 2016-01-26 | 2016-06-22 | 北京长城华冠汽车科技股份有限公司 | 测试车辆控制系统的测试系统及方法 |
CN107179870A (zh) * | 2016-03-11 | 2017-09-19 | 丰田自动车株式会社 | 信息提供装置及存储信息提供程序的存储介质 |
WO2017189859A1 (en) * | 2016-04-27 | 2017-11-02 | Neurala, Inc. | Methods and apparatus for pruning experience memories for deep neural network-based q-learning |
US20180022361A1 (en) * | 2016-07-19 | 2018-01-25 | Futurewei Technologies, Inc. | Adaptive passenger comfort enhancement in autonomous vehicles |
-
2018
- 2018-09-17 US US16/133,114 patent/US20200089244A1/en not_active Abandoned
-
2019
- 2019-09-17 CN CN201910877494.4A patent/CN110901656B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1737776A (zh) * | 2005-08-31 | 2006-02-22 | 上海海尔集成电路有限公司 | 一种仿真器芯片及其仿真方法 |
CN103163820A (zh) * | 2011-12-19 | 2013-06-19 | 深圳市汇川控制技术有限公司 | 便于程序调试的可编程逻辑控制器及实现方法 |
CN105700512A (zh) * | 2016-01-26 | 2016-06-22 | 北京长城华冠汽车科技股份有限公司 | 测试车辆控制系统的测试系统及方法 |
CN107179870A (zh) * | 2016-03-11 | 2017-09-19 | 丰田自动车株式会社 | 信息提供装置及存储信息提供程序的存储介质 |
WO2017189859A1 (en) * | 2016-04-27 | 2017-11-02 | Neurala, Inc. | Methods and apparatus for pruning experience memories for deep neural network-based q-learning |
US20180022361A1 (en) * | 2016-07-19 | 2018-01-25 | Futurewei Technologies, Inc. | Adaptive passenger comfort enhancement in autonomous vehicles |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112162555A (zh) * | 2020-09-23 | 2021-01-01 | 燕山大学 | 混合车队中基于强化学习控制策略的车辆控制方法 |
CN112162555B (zh) * | 2020-09-23 | 2021-07-16 | 燕山大学 | 混合车队中基于强化学习控制策略的车辆控制方法 |
CN113501008A (zh) * | 2021-08-12 | 2021-10-15 | 东风悦享科技有限公司 | 一种基于强化学习算法的自动驾驶行为决策方法 |
CN113501008B (zh) * | 2021-08-12 | 2023-05-19 | 东风悦享科技有限公司 | 一种基于强化学习算法的自动驾驶行为决策方法 |
CN114488992A (zh) * | 2021-12-17 | 2022-05-13 | 徐工汉云技术股份有限公司 | 一种基于监督机器学习的电动车控制器适配多车型的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200089244A1 (en) | 2020-03-19 |
CN110901656B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111273655B (zh) | 用于自动驾驶车辆的运动规划方法和系统 | |
CN111301425B (zh) | 用于自动驾驶车辆的利用动态模型的有效最优控制 | |
CN111532257B (zh) | 用于补偿交通工具校准误差的方法和系统 | |
CN110901656B (zh) | 用于自动驾驶车辆控制的实验设计方法和系统 | |
CN111923927B (zh) | 用于交互感知交通场景预测的方法和装置 | |
CN111923928A (zh) | 用于自动车辆的决策制定方法和系统 | |
US10457294B1 (en) | Neural network based safety monitoring system for autonomous vehicles | |
CN110366710B (zh) | 用于控制自动驾驶车辆操作以确定规划路径的规划系统和方法 | |
US11613249B2 (en) | Automatic navigation using deep reinforcement learning | |
US9361795B2 (en) | Regional driving trend modification using autonomous vehicles | |
US10929995B2 (en) | Method and apparatus for predicting depth completion error-map for high-confidence dense point-cloud | |
CN111208814B (zh) | 用于自动车辆的、利用动态模型的、基于记忆的最优运动规划 | |
US20200377087A1 (en) | Lane keep control of autonomous vehicle | |
US11194939B2 (en) | Hardware in loop testing and generation of latency profiles for use in simulation | |
US10891951B2 (en) | Vehicle language processing | |
US11872981B2 (en) | Operating a motor vehicle with onboard and cloud-based data | |
US11603119B2 (en) | Method and apparatus for out-of-distribution detection | |
US11887317B2 (en) | Object trajectory forecasting | |
US20210357667A1 (en) | Methods and Systems for Measuring and Mapping Traffic Signals | |
CN114549610A (zh) | 一种点云数据的处理方法及相关装置 | |
CN112061244B (zh) | 用于可重配置的交通工具的可移除的内部部分 | |
CN117769511A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |