CN113741180A - 自动驾驶车辆模型的在线更新方法和装置 - Google Patents
自动驾驶车辆模型的在线更新方法和装置 Download PDFInfo
- Publication number
- CN113741180A CN113741180A CN202011380590.7A CN202011380590A CN113741180A CN 113741180 A CN113741180 A CN 113741180A CN 202011380590 A CN202011380590 A CN 202011380590A CN 113741180 A CN113741180 A CN 113741180A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- model
- vehicle model
- data
- online
- 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 claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims description 49
- 230000001133 acceleration Effects 0.000 claims description 29
- 239000000126 substance Substances 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000875 corresponding Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000003287 optical Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006011 modification reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000000644 propagated Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000003666 Nerve Fibers, Myelinated Anatomy 0.000 description 1
- 230000003044 adaptive Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000003365 glass fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000003313 weakening Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
- G05B13/045—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance using a perturbation signal
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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
- B60W2050/0031—Mathematical model of the vehicle
Abstract
本发明公开了一种自动驾驶车辆模型的在线更新方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:基于最小二乘法构建离线车辆模型,并将离线车辆模型作为在线更新的车辆模型的初始值;采集车辆模型的输入数据和输出数据,输出数据是车辆根据输入数据进行行驶的过程中产生的数据;基于输入数据和输出数据在线更新车辆模型的模型参数,以在线更新车辆模型。该实施方式基于最小二乘法离线构建车辆模型以实现车辆的自适应控制,提高了控制系统的鲁棒性和控制精度。
Description
技术领域 本发明涉及计算机技术领域,尤其涉及一种自动驾驶车辆模型的在线更新方法和装置。 背景技术 车辆运动系统为强非线性系统,常规建立一个精确的车辆参考模型,需考虑车辆侧向动力学、纵向动力学、轮胎力学、路面摩擦力等等。事实上,即使完成了该复杂模型的建立,但由于其复杂性和非线性性质等,在进行线性化处理等求解过程也是极其复杂的,所以需要将其进行简化,但将复杂的模型进行简化虽然可以解决求解的问题,可能会偏离车辆运动系统的本质,导致控制系统的不稳定。现在车辆控制系统的控制器一般选用基于模型的控制算法,所以如何建立一个精确而不复杂且易求解的模型是一项关键的技术。 对于非标低速无人配送车,各项动力学参数难以获取,一般直接应用运动学模型作为车辆参考模型,但是,其缺点是在拐弯、大幅度绕行、变道、道路摩擦系数变化等复杂场景下会使控制系统的控制效果变差。 发明内容 有鉴于此,本发明实施例提供一种自动驾驶车辆模型的在线更新方法和装置,能够基于最小二乘法离线构建车辆模型以实现车辆的自适应控制,提高了控制系统的鲁棒性和控制精度。 为实现上述目的,根据本发明实施例的一个方面,提供了一种自动驾驶车辆模型的在线更新方法。 一种自动驾驶车辆模型的在线更新方法,包括:基于最小二乘法构建离线车辆模型,并将所述离线车辆模型作为在线更新的车辆模型的初始值;采集所述车辆模型的输入数据和输出数据,所述输出数据是车辆根据所述输入数据进行行驶的过程中产生的数据;基于所述输入数据和所述输出数据在线更新所述车辆模型的模型参数,以在线更新所述车辆模型。 可选地,基于最小二乘法构建离线车辆模型包括:建立车辆的初始模型,并将所述初始模型转换为最小二乘模型;获取预设场景下的输入信号及输出信号,所述输入信号包括车辆的加速度指令和前轮转角指令,所述输出信号包括车辆的位置、速度和航向角;对所述输入信号和所述输出信号进行批处理,确定离线车辆模型的模型参数,以构建离线车辆模型。 可选地,所述初始模型为多输入多输出模型,且所述初始模型如下:
其中,Yk为车辆在k时刻状态变量{x、y、v、θ}T,x、y为车辆位置坐标、v为车辆速度、θ为车辆航向角;Uk为车辆在k时刻的控制变量{a、δ}T,a为车辆加速度、δ为车辆前轮转角,d表示延迟;εk为车辆在k时刻的噪声干扰信号;即为待辨识的参数矩阵,其具体形式如下所示:
以上中的a、b、c为具体的待辨识参数,其中a、b带的上角标表示的是两两变量之间耦合的权重系数,c上角标表示的是该上角标对应的状态变量。下角标对应的是当前阶次,其中na、nb、nc代表的是矩阵最高阶次。 可选地,所述最小二乘模型如下:
其中,Yk=[xk yk vk θk]T代表k时刻的输出信号,ρk-1表示待辨识参数矩阵,代表输入信号,且包含状态变量和控制变量的值,以及噪声数据εk代表当前k时刻噪声的估计。ρk-1的形式如下:
其中,当前k时刻噪声的估计εk用估计值来表示:
可选地,所述离线车辆模型的模型参数ρ通过如下公式进行计算: ρ=(φTφ)-1φTY; 其中,为N组输入信号矩阵:
其中,代表1~N组输入信号,每组输入信号包含当前时刻k前面(k-na)~(k-1)时刻状态变量和(k-d-nb)~(k-d)时刻控制变量的值,k∈[na+1 na+N]; Y为N组输出信号矩阵:
Y1~N代表1~N组输出信号,每组输出信号为当前k时刻的状态变量值,k∈[na+1 na+N]。 可选地,所述预设场景包括:低附着率路面及普通路面直行加减速和匀速场景、小幅度绕行场景、平坦路面及横向斜坡路面拐弯场景、坡起场景和倒车场景。 可选地,所述输入参数包括车辆的加速度指令和前轮转角指令,所述输出参数包括车辆的位置、速度和航向角; 基于所述输入数据和所述输出数据在线更新所述车辆模型的模型参数包括: 采用递推法来计算所述车辆模型的模型参数,公式如下:
其中,ρk-1为(k-1)时刻的参数矩阵;Yk为实时采集到的车辆状态变量数据,为输入数据;Q矩阵为增益矩阵,P矩阵是中间变量,λ为遗忘因子。 根据本发明实施例的另一方面,提供了一种自动驾驶车辆模型的在线更新装置。 一种自动驾驶车辆模型的在线更新装置,包括:模型构建模块,用于基于最小二乘法构建离线车辆模型,并将所述离线车辆模型作为在线更新的车辆模型的初始值;数据采集模块,用于采集所述车辆模型的输入数据和输出数据,所述输出数据是车辆根据所述输入数据进行行驶的过程中产生的数据;所述输入参数包括车辆的加速度指令和前轮转角指令,所述输出参数包括车辆的位置、速度和航向角;模型更新模块,用于基于所述输入数据和所述输出数据在线更新所述车辆模型的模型参数,以在线更新所述车辆模型。 可选地,所述模型构建模块还用于:建立车辆的初始模型,并将所述初始模型转换为最小二乘模型;获取预设场景下的输入信号及输出信号,所述输入信号包括车辆的加速度指令和前轮转角指令,所述输出信号包括车辆的位置、速度和航向角;对所述输入信号和所述输出信号进行批处理,确定离线车辆模型的模型参数,以构建离线车辆模型。 可选地,所述初始模型为多输入多输出模型,且所述初始模型如下:
其中,Yk为车辆在k时刻状态变量{x、y、v、θ}T,x、y为车辆位置坐标、v为车辆速度、θ为车辆航向角;Uk为车辆在k时刻的控制变量{a、δ}T,a为车辆加速度、δ为车辆前轮转角,d表示延迟;εk为车辆在k时刻的噪声干扰信号;即为待辨识的参数矩阵,其具体形式如下所示:
以上中的a、b、c为具体的待辨识参数,其中a、b带的上角标表示的是两两变量之间耦合的权重系数,c上角标表示的是该上角标对应的状态变量。下角标对应的是当前阶次,其中na、nb、nc代表的是矩阵最高阶次。 可选地,所述最小二乘模型如下:
其中,Yk=[xk yk vk θk]T代表k时刻的输出信号,ρk-1表示待辨识参数矩阵,代表输入信号,且包含状态变量和控制变量的值,以及噪声数据εk代表当前k时刻噪声的估计。ρk-1的形式如下:
其中,当前k时刻噪声的估计εk用估计值来表示:
可选地,所述离线车辆模型的模型参数ρ通过如下公式进行计算: ρ=(φTφ)-1φTY; 其中,为N组输入信号矩阵:
其中,代表1~N组输入信号,每组输入信号包含当前时刻k前面(k-na)~(k-1)时刻状态变量和(k-d-nb)~(k-d)时刻控制变量的值,k∈[na+1 na+N]; Y为N组输出信号矩阵:
Y1~N代表1~N组输出信号,每组输出信号为当前k时刻的状态变量值,k∈[na+1 na+N]。 可选地,所述预设场景包括:低附着率路面及普通路面直行加减速和匀速场景、小幅度绕行场景、平坦路面及横向斜坡路面拐弯场景、坡起场景和倒车场景。 可选地,所述输入参数包括车辆的加速度指令和前轮转角指令,所述输出参数包括车辆的位置、速度和航向角; 所述模型更新模块还用于: 采用递推法来计算所述车辆模型的模型参数,公式如下:
其中,ρk-1为(k-1)时刻的参数矩阵;Yk为实时采集到的车辆状态变量数据,为输入数据;Q矩阵为增益矩阵,P矩阵是中间变量,λ为遗忘因子。 根据本发明实施例的又一方面,提供了一种自动驾驶车辆模型的在线更新电子设备。 一种自动驾驶车辆模型的在线更新电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的自动驾驶车辆模型的在线更新方法。 根据本发明实施例的再一方面,提供了一种计算机可读介质。 一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的自动驾驶车辆模型的在线更新方法。 上述发明中的一个实施例具有如下优点或有益效果:通过基于最小二乘法构建离线车辆模型,并将离线车辆模型作为在线更新的车辆模型的初始值;采集车辆模型的输入数据和输出数据,输出数据是车辆根据输入数据进行行驶的过程中产生的数据;基于输入数据和输出数据在线更新车辆模型的模型参数,以在线更新车辆模型的技术手段,基于最小二乘法离线构建车辆模型以实现车辆的自适应控制,提高了控制系统的鲁棒性和控制精度。本发明对多输入多输出车辆系统应用最小二乘法进行了离线建模和在线模型更新,在离线建模中使用了多种输入信号来模拟多种场景,从而提高了多种复杂场景下控制系统的鲁棒性和控制精度。 上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。 附图说明 附图用于更好地理解本发明,不构成对本发明的不当限定。其中: 图1是本发明实施例的在线更新车辆模型的流程框图; 图2是根据本发明实施例的自动驾驶车辆模型的在线更新方法的主要步骤示意图; 图3是本发明实施例的离线车辆模型的生成流程示意图; 图4是本发明实施例的车辆模型在线更新的流程示意图; 图5是根据本发明实施例的自动驾驶车辆模型的在线更新装置的主要模块示意图; 图6是本发明实施例可以应用于其中的示例性系统架构图; 图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。 具体实施方式 以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。 本发明要解决的问题是根据车辆当前状态及路况等信息在线生成与车辆真实模型相匹配的车辆运动系统参考模型,从而实现车辆的自适应控制,提高控制系统的鲁棒性和控制精度。车辆状态及路况信息包括车辆速度、车辆打轮角度、车辆配重、道路摩擦系数、噪声干扰等多个维度。 图1是本发明实施例的在线更新车辆模型的流程框图。如图1所示,本发明首先基于最小二乘法离线获取车辆模型参数以构建离线车辆模型,然后以该离线车辆模型作为车辆模型的初始值,基于该离线车辆模型进行在线更新。在在线更新车辆模型环节,为了防止后续车辆在线行驶数据对模型参数修正无效,本发明采用遗忘因子加权系数法对参数更新进行了处理,同时还考虑了道路噪声等干扰因素。 本发明在算法推导后,还介绍了离线数据的获取方式。为了使车辆初始模型更加精确以适应更多的工况,本发明通过输入不同指令信号驱动车辆行驶,来模拟不同的行驶场景。基于这些行驶数据,进而通过本发明的算法生成离线车辆模型。 图2是根据本发明实施例的自动驾驶车辆模型的在线更新方法的主要步骤示意图。如图2所示,本发明实施例的自动驾驶车辆模型的在线更新方法主要包括如下的步骤S201至步骤S203。 步骤S201:基于最小二乘法构建离线车辆模型,并将离线车辆模型作为在线更新的车辆模型的初始值; 步骤S202:采集车辆模型的输入数据和输出数据,输出数据是车辆根据输入数据进行行驶的过程中产生的数据; 步骤S203:基于输入数据和输出数据在线更新车辆模型的模型参数,以在线更新车辆模型。 根据本发明的实施例,基于最小二乘法构建离线车辆模型的步骤在具体实施时可以包括: 建立车辆的初始模型,并将所述初始模型转换为最小二乘模型; 获取预设场景下的输入信号及输出信号,所述输入信号包括车辆的加速度指令和前轮转角指令,所述输出信号包括车辆的位置、速度和航向角; 对所述输入信号和所述输出信号进行批处理,确定离线车辆模型的模型参数,以构建离线车辆模型。 根据本发明的实施例,初始模型为多输入多输出模型,且初始模型如下:
其中,Yk为车辆在k时刻状态变量{x、y、v、θ}T,x、y为车辆位置坐标、v为车辆速度、θ为车辆航向角;Uk为车辆在k时刻的控制变量{a、δ}T,a为车辆加速度、δ为车辆前轮转角,d表示延迟;εk为车辆在k时刻的噪声干扰信号;即为待辨识的参数矩阵,其具体形式如下所示:
以上中的a、b、c为具体的待辨识参数,其中a、b带的上角标表示的是两两变量之间耦合的权重系数,c上角标表示的是该上角标对应的状态变量。下角标对应的是当前阶次,其中na、nb、nc代表的是矩阵最高阶次。 对所示初始模型进行转换后,得到的最小二乘模型如下:
其中,Yk=[xk yk vk θk]T代表k时刻的输出信号,ρk-1表示待辨识参数矩阵,代表输入信号,且包含状态变量和控制变量的值,以及噪声数据εk代表当前k时刻噪声的估计。ρk-1的形式如下:
其中,当前k时刻噪声的估计εk用估计值来表示:
根据本发明的实施例,所述离线车辆模型的模型参数ρ通过如下公式进行计算: ρ=(φTφ)-1φTY; 其中,为N组输入信号矩阵:
其中,代表1~N组输入信号,每组输入信号包含当前时刻k前面(k-na)~(k-1)时刻状态变量和(k-d-nb)~(k-d)时刻控制变量的值,k∈[na+1 na+N]; Y为N组输出信号矩阵:
Y1~N代表1~N组输出信号,每组输出信号为当前k时刻的状态变量值,k∈[na+1 na+N]。 根据本发明的技术方案,预设场景例如包括:低附着率路面及普通路面直行加减速和匀速场景、小幅度绕行场景、平坦路面及横向斜坡路面拐弯场景、坡起场景和倒车场景。 根据本发明的技术方案,输入参数包括车辆的加速度指令和前轮转角指令,输出参数包括车辆的位置、速度和航向角;基于输入数据和输出数据在线更新车辆模型的模型参数的步骤,具体可以包括: 采用递推法来计算所述车辆模型的模型参数,公式如下:
其中,ρk-1为(k-1)时刻的参数矩阵;Yk为实时采集到的车辆状态变量数据,为输入数据;Q矩阵为增益矩阵,P矩阵是中间变量,λ为遗忘因子。 下面结合具体实施例介绍本发明的实施过程。图3是本发明实施例的离线车辆模型的生成流程示意图。如图3所示,在本发明的实施例中,离线车辆模型的生成过程主要包括以下步骤: 1、构建车辆初始模型; 2、将初始模型转换为最小二乘模型; 3、采集多场景下的输入信号和输出信号; 4、设置模型参数; 5、整理数据,应用批处理法进行处理; 6、生成离线车辆模型。 下面将依次介绍以上步骤的具体实现。 1、车辆模型为多输入多输出模型,在本发明中输入信号为转角指令和加速度指令,输出为车辆位置、速度和航向角。首先建立初始模型如下:
其中,Yk为车辆在k时刻状态变量{x、y、v、θ}T,x、y为车辆位置坐标、v为车辆速度、θ为车辆航向角;Uk为车辆在k时刻的控制变量{a、δ}T,a为车辆加速度、δ为车辆前轮转角,d表示延迟;εk为车辆在k时刻的噪声干扰信号,在本发明中假设其为有色噪声; 即为待辨识的参数矩阵,其具体形式如下所示:
以上中的a、b、c为具体的待辨识参数,其中a、b带的上角标物理意义表示的是两两变量之间耦合的权重系数,c上角标表示的是该上角标对应的状态变量。下角标对应的是当前阶次,其中na、nb、nc代表的是矩阵最高阶次,阶次越高,代表该模型可拟合的车辆模型越复杂,拟合效果更好,但阶次过高,其容易造成过拟合;阶次过低,容易造成模型欠拟合,失去了本发明提高模型精度的初衷。 2、将初始模型转换为最小二乘模型。将以上模型写为如下形式:
其中,Yk=[xk yk vk θk]T代表k时刻的输出,ρk-1表示待辨识参数矩阵,代表输入数据,其包含状态变量和控制变量的值,以及噪声数据εk代表当前k时刻噪声的估计。ρk-1形式如下:
其中,由于εk噪声无法通过观测获取其值,因此在本发明中用估计值来表示:
3、采集多场景下的输入信号和输出信号。 (1)输入信号生成 输入信号即为控制指令信号,在本发明中输入信号为前轮转角、加速度信号。为模拟车辆行驶在不同场景下,特设置不同输入函数,使建立的车辆模型可以涵盖更多的场景,进而提高模型的准确性。以下介绍需要本发明考虑的某些场景及对应的输入函数。 场景一:低附着率路面及普通路面直行加减速和匀速场景 加速度指令输入信号为: ak=A·sin(wt);A为幅值,w为角频率,t为时间。以及,
以上公式表示当车速v小于常量Δv时加速度指令为常量Δa,当车速升为Δv时,车辆保持匀速; 前轮转角指令输入信号恒定为0。 场景二:小幅度绕行场景 加速度指令输入信号为: ak=A·sin(wt);A为幅值,w为角频率,t为时间。以及,
以上公式表示当车速v小于常量Δv时加速度指令为常量Δa,当车速升为Δv时,车辆保持匀速; 前轮转角指令输入信号: δk=B·sin(wδt),A为幅值,wδ为角频率,t为时间。 场景三:平坦路面及横向斜坡路面拐弯场景 加速度指令输入信号为: ak=A·sin(wt);A为幅值,w为角频率,t为时间; 前轮转角指令输入信号: δk=Δδ, 前轮转角保持为常量Δδ恒定不变。 场景四:坡起场景 加速度指令输入信号为: a=Δa, 该场景下车辆需行驶在有坡度的路面上,然后以恒值Δa行驶,Δa可变换多个常值进行测试; 前轮转角指令输入信号恒定为0。 场景五:倒车场景 在该测试场景下同样需要获取场景一至场景三下的相关输入信号,但与正向行驶时的区别是加速度信号设置为负值。 (2)输出信号采集 需要采集输出信号包括:车辆位置、速度和航向角。 4、设置模型参数。模型参数指的是矩阵的最高阶次na、nb、nc,延迟周期数、遗忘因子λ等。其中,对于延迟参数d,根据以往调试经验或者采集的时域数据,对该车辆的加速度延迟和前轮转角延迟做一个评估,比如其延迟为200ms,若控制周期时20ms,那么d=200/20=10。对于遗忘因子λ,在本发明中,遗忘因子λ取值为0.95,通常可取值在区间[0.95 1.0]内。其值越大,收敛速度越慢,但可以避免震荡;其值越小,收敛速度越快,但是抗干扰能力会变弱。所以需要在快速响应和避免干扰两者之间取得平衡。 5、整理数据,应用批处理法进行处理。根据前面的步骤3,已采集N组输入和输出信号,然后利用批处理法既可进行ρ的参数估计: ρ=(φTφ)-1φTY; (公式1) 其中,为N组输入数据矩阵:
代表1~N组输入数据,每组数据包含当前时刻k前面(k-na)~(k-1)时刻状态变量和(k-d-nb)~(k-d)时刻控制变量的值,k∈[na+1 na+N]; Y为N组输出数据矩阵:
Y1~N代表1~N组输出数据,每组数据为当前k时刻的状态变量值,k∈[na+1 na+N]。 获取到模型参数ρ矩阵后,基于该矩阵和车辆多个时刻的状态变量,既可对车辆的下一状态进行精确预测。 6、生成离线车辆模型。基于以上全部数据,代入到公式1中,即可得出模型参数矩阵ρ。 由于无论离线采集到多少的数据,还是难以覆盖所有的车辆行驶场景,所以本发明在离线模型的基础上对车辆真实行驶数据进行实时采集,并基于这些数据在线进行车辆模型的更新。 图4是本发明实施例的车辆模型在线更新的流程示意图。如图4所示,本发明实施例的车辆模型在线更新的流程是:使用待更新的车辆模型(初始的离线车辆模型,或者,当前时刻的前一时刻的车辆模型)生成车辆实际控制信号,然后控制车辆行驶,在车辆行驶过程中,获取车辆实际行驶状态。之后,根据采集的车辆实际控制信号与车辆实际行驶状态,对待更新车辆模型进行在线模型更新。 本发明为实现在线更新车辆模型,同时为了减小运算量及内存空间,采用了以下方法进行递推估计: ρk=ρk-1+Δρ; 其中,Δρ为基于新数据的修正值。 为防止新采集的数据对车辆模型的参数修正能力变弱,对最新的数据用1加权,历史数据用λn加权。然后基于以上理论,进行最小二乘计算,其参数估计公式如下:
以上,ρk-1为(k-1)时刻的参数矩阵,在此处为已知量;Yk为实时采集到的车辆状态变量数据,为输入数据,具体包含数据内容在前面已经陈述过;Q矩阵为增益矩阵,P矩阵是中间变量,在算法启动之前,需要给P矩阵赋初值。ρk为当前k时刻待更新的参数矩阵。 在本发明的实施例中,遗忘因子λ取值为0.95,通常可取值在区间[0.95 1.0]内。其值越大,收敛速度越慢,但可以避免震荡;其值越小,收敛速度越快,但是抗干扰能力会变弱。所以需要在快速响应和避免干扰两者之间取得平衡。 综合图3和图4所介绍的离线车辆模型的生成流程和车辆模型在线更新的流程,可得到本发明在线更新车辆模型的基本流程如下: 1、获取车辆初始模型; 2、根据不同行驶场景,确定离线控制输入信号,包括加速度输入信号、前轮转角输入信号; 3、采集输入信号U、输出信号Y; 4、设置na、nb、nc、d、λ等参数; 5、基于以上数据和算法生成离线车辆模型,并将该离线车辆模型作为在线模型更新的初始模型; 6、设置矩阵P0初值; 7、实时采集车辆行驶过程中的输入Uk和输出Yk数据; 8、基于车辆实时行驶数据在线进行参数更新; 9、回到步骤7继续进行下一次循环。 图5是根据本发明实施例的自动驾驶车辆模型的在线更新装置的主要模块示意图。如图5所示,本发明实施例的自动驾驶车辆模型的在线更新装置500主要包括模型构建模块501、数据采集模块502和模型更新模块503。 模型构建模块501,用于基于最小二乘法构建离线车辆模型,并将所述离线车辆模型作为在线更新的车辆模型的初始值; 数据采集模块502,用于采集所述车辆模型的输入数据和输出数据,所述输出数据是车辆根据所述输入数据进行行驶的过程中产生的数据; 模型更新模块503,用于基于所述输入数据和所述输出数据在线更新所述车辆模型的模型参数,以在线更新所述车辆模型。 根据本发明的一个实施例,模型构建模块501还可以用于: 建立车辆的初始模型,并将所述初始模型转换为最小二乘模型; 获取预设场景下的输入信号及输出信号,所述输入信号包括车辆的加速度指令和前轮转角指令,所述输出信号包括车辆的位置、速度和航向角; 对所述输入信号和所述输出信号进行批处理,确定离线车辆模型的模型参数,以构建离线车辆模型。 根据本发明的另一个实施例,所述初始模型为多输入多输出模型,且所述初始模型如下:
其中,Yk为车辆在k时刻状态变量{x、y、v、θ}T,x、y为车辆位置坐标、v为车辆速度、θ为车辆航向角;Uk为车辆在k时刻的控制变量{a、δ}T,a为车辆加速度、δ为车辆前轮转角,d表示延迟;εk为车辆在k时刻的噪声干扰信号;即为待辨识的参数矩阵,其具体形式如下所示:
以上中的a、b、c为具体的待辨识参数,其中a、b带的上角标表示的是两两变量之间耦合的权重系数,c上角标表示的是该上角标对应的状态变量。下角标对应的是当前阶次,其中na、nb、nc代表的是矩阵最高阶次。 根据本发明的实施例,所述最小二乘模型如下:
其中,Yk=[xk yk vk θk]T代表k时刻的输出信号,ρk-1表示待辨识参数矩阵,代表输入信号,且包含状态变量和控制变量的值,以及噪声数据εk代表当前k时刻噪声的估计。ρk-1的形式如下:
其中,当前k时刻噪声的估计εk用估计值来表示:
根据本发明的其中一个实施例,所述离线车辆模型的模型参数ρ通过如下公式进行计算: ρ=(φTφ)-1φTY; 其中,为N组输入信号矩阵:
其中,代表1~N组输入信号,每组输入信号包含当前时刻k前面(k-na)~(k-1)时刻状态变量和(k-d-nb)~(k-d)时刻控制变量的值,k∈[na+1 na+N]; Y为N组输出信号矩阵:
Y1~N代表1~N组输出信号,每组输出信号为当前k时刻的状态变量值,k∈[na+1 na+N]。 根据本发明的实施例,所述预设场景包括:低附着率路面及普通路面直行加减速和匀速场景、小幅度绕行场景、平坦路面及横向斜坡路面拐弯场景、坡起场景和倒车场景。 根据本发明的又一个实施例,所述输入参数包括车辆的加速度指令和前轮转角指令,所述输出参数包括车辆的位置、速度和航向角;模型更新模块503还可以用于: 采用递推法来计算所述车辆模型的模型参数,公式如下:
其中,ρk-1为(k-1)时刻的参数矩阵;Yk为实时采集到的车辆状态变量数据,为输入数据;Q矩阵为增益矩阵,P矩阵是中间变量,λ为遗忘因子。 根据本发明实施例的技术方案,通过基于最小二乘法构建离线车辆模型,并将离线车辆模型作为在线更新的车辆模型的初始值;采集车辆模型的输入数据和输出数据,输出数据是车辆根据输入数据进行行驶的过程中产生的数据;基于输入数据和输出数据在线更新车辆模型的模型参数,以在线更新车辆模型的技术手段,基于最小二乘法离线构建车辆模型以实现车辆的自适应控制,提高了控制系统的鲁棒性和控制精度。本发明对多输入多输出车辆系统应用最小二乘法进行了离线建模和在线模型更新,在离线建模中使用了多种输入信号来模拟多种场景,从而提高了多种复杂场景下控制系统的鲁棒性和控制精度。 图6示出了可以应用本发明实施例的自动驾驶车辆模型的在线更新方法或自动驾驶车辆模型的在线更新装置的示例性系统架构600。 如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。 用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种与自动驾驶车辆的控制有关的应用,例如汽车导航应用、路径提醒和语音提示应用、定位应用、速度、航向角测量应用等(仅为示例)。 终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。 服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所发来的车辆控制请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的车辆模型的输入数据和输出数据,基于所述输入数据和所述输出数据在线更新所述车辆模型的模型参数,以在线更新所述车辆模型等处理,并将处理结果(例如车辆模型的更新指令--仅为示例)反馈给终端设备。 需要说明的是,本发明实施例所提供的自动驾驶车辆模型的在线更新方法一般由服务器605执行,相应地,自动驾驶车辆模型的在线更新装置一般设置于服务器605中。 应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。 下面参考图7,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统700的结构示意图。图7示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。 如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。 以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。 特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。 需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。 附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。 描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括模型构建模块、数据采集模块和模型更新模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,模型构建模块还可以被描述为“用于基于最小二乘法构建离线车辆模型,并将所述离线车辆模型作为在线更新的车辆模型的初始值的模块”。 作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:基于最小二乘法构建离线车辆模型,并将所述离线车辆模型作为在线更新的车辆模型的初始值;采集所述车辆模型的输入数据和输出数据,所述输出数据是车辆根据所述输入数据进行行驶的过程中产生的数据;基于所述输入数据和所述输出数据在线更新所述车辆模型的模型参数,以在线更新所述车辆模型。 根据本发明实施例的技术方案,通过基于最小二乘法构建离线车辆模型,并将离线车辆模型作为在线更新的车辆模型的初始值;采集车辆模型的输入数据和输出数据,输出数据是车辆根据输入数据进行行驶的过程中产生的数据;基于输入数据和输出数据在线更新车辆模型的模型参数,以在线更新车辆模型的技术手段,基于最小二乘法离线构建车辆模型以实现车辆的自适应控制,提高了控制系统的鲁棒性和控制精度。本发明对多输入多输出车辆系统应用最小二乘法进行了离线建模和在线模型更新,在离线建模中使用了多种输入信号来模拟多种场景,从而提高了多种复杂场景下控制系统的鲁棒性和控制精度。 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。