首页> 中国专利> 硬件在回路仿真的车辆动力学模型的建模方法

硬件在回路仿真的车辆动力学模型的建模方法

摘要

本发明提供了一种硬件在回路仿真的车辆动力学模型的建模方法,包括驾驶员子模型的建模,在驾驶员子模型的建模中,对第一类道路,采用比例积分微分PID控制进行仿真,对第二类道路,采用基于与时间有关的常微分方程组的最优控制进行仿真,其中,所述最优控制的控制量是通过下述步骤得到的:采用复变函数的留数定理计算与所述常微分方程组对应的矩阵指数;根据所述矩阵指数计算所述常微分方程组的解;将得到的所述常微分方程组的解作为所述最优控制的控制量。本发明采用复变函数法求矩阵指数积分,提高了车辆模型在硬件在回路仿真中的精度和实时性。

著录项

  • 公开/公告号CN101789038A

    专利类型发明专利

  • 公开/公告日2010-07-28

    原文格式PDF

  • 申请/专利权人 北京经纬恒润科技有限公司;

    申请/专利号CN201010100875.0

  • 发明设计人 张明;薛俊亮;万亮;范志卿;

    申请日2010-01-25

  • 分类号G06F17/50(20060101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人余刚

  • 地址 100101 北京市朝阳区安翔里23号商业楼1-2层

  • 入库时间 2023-12-18 00:05:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-15

    专利权质押合同登记的注销 IPC(主分类):G06F17/50 授权公告日:20120606 登记号:2014990000765 出质人:北京经纬恒润科技有限公司 质权人:北京中关村科技融资担保有限公司 解除日:20191023 申请日:20100125

    专利权质押合同登记的生效、变更及注销

  • 2014-11-19

    专利权质押合同登记的注销 IPC(主分类):G06F17/50 授权公告日:20120606 登记号:2012990000655 出质人:北京经纬恒润科技有限公司 质权人:北京中关村科技融资担保有限公司 解除日:20140917 申请日:20100125

    专利权质押合同登记的生效、变更及注销

  • 2012-12-26

    专利权质押合同登记的生效 IPC(主分类):G06F17/50 登记号:2012990000655 登记生效日:20121030 出质人:北京经纬恒润科技有限公司 质权人:北京中关村科技担保有限公司 发明名称:硬件在回路仿真的车辆动力学模型的建模方法 授权公告日:20120606 申请日:20100125

    专利权质押合同登记的生效、变更及注销

  • 2012-06-06

    授权

    授权

  • 2010-09-22

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20100125

    实质审查的生效

  • 2010-07-28

    公开

    公开

查看全部

说明书

技术领域

本发明涉及车辆建模领域,更具体地,涉及硬件在回路仿真的车辆动力学模型的建模方法。

背景技术

随着车辆的控制器越来越多,道路试验内容越来越多,硬件在回路仿真研究不断发展,能够实时模拟车辆的车辆动力学模型应运而生。车辆动力学模型在汽车研发中的重要性很高,例如ADAMS(Automatic DynamicAnalysis of Mechanical Systems,机械系统动力学自动分析)的结构模型等。车辆动力学模型要求对车辆的各个组件合适地建模,只有这样,才能正确反应车辆的真实运动。

目前,实现车辆实时仿真模型的核心算法主要涉及到实时积分、实时微分、高次方程的实时求解、大矩阵参数实时传递等算法。其中,实时积分的算法集中在数值积分;实时微分的算法集中在差商法;高次方程的实时求解算法集中在数值迭代求解,这是因为5次以上的方程没有一般的求根公式;大矩阵参数的实时传递在很大程度上影响模型的实时性,目前采用MATLAB里的Constant模块直接调用参数名,其实时性差。相关技术中有一种车辆实时仿真模型,该模型主要基于以下算法实现:

(1)复合辛普森积分公式

该公式中的积分采样点为积分区间的两个端点和一个中点,该公式将中点的函数值的4倍加上端点的函数值,再用这个和除以6,再将这个商乘以积分区间的长度作为一个积分区间上的数值积分。复合辛普森积分公式就是将多个积分区间的数值积分求和。具体的做法是将被积分区间等分成若干个小区间,再求和。

(2)差商求微分

用自变量的一个步长变化内,纵坐标的改变量除以自变量的改变量。

(3)牛顿迭代法求高次方程的根

从某个自变量开始,找到该自变量对应的高次方程函数的点,过这一点作切线,用切线与横轴的交点作为第二个迭代点,以此类推,直到相邻两个迭代点的差小于制定的精度,此时的迭代点就是高次方程的根。

(4)封装和赋值做参数传递

用封装的方法将模型需要的参数与工作空间的变量名联系起来,在封装结构内用常量模块来直接调用封装里的变量名,从而实现从工作空间到模型的参数传递。

用赋值的方法将传递到模块内的参数赋给各种计算代数式,具体的赋值过程就是用等式取出参数矩阵指定位置的元素,从而实现模型对具体参数的调用和计算。

发明人在实现本发明的过程中发现,相关技术中的车辆模型在硬件在回路仿真中的精度不高、实时性不强,不能满足车辆模型的测试要求。

发明内容

本发明旨在提供一种硬件在回路仿真的车辆动力学模型的建模方法,以提高车辆模型在硬件在回路仿真中的精度和实时性。

根据本发明的一个方面,提供了一种硬件在回路仿真的车辆动力学模型的建模方法,包括驾驶员子模型的建模,其特征在于,在驾驶员子模型的建模中,对第一类道路,采用比例积分微分PID控制进行仿真,对第二类道路,采用基于与时间有关的常微分方程组的最优控制进行仿真,其中,所述最优控制的控制量是通过下述步骤得到的:

采用复变函数的留数定理计算与所述常微分方程组对应的矩阵指数;

根据所述矩阵指数计算所述常微分方程组的解;

将得到的所述常微分方程组的解作为所述最优控制的控制量。

采用复变函数法求矩阵指数积分,克服了相关技术中数值积分过程因使用循环语句带来得运算次数大,进而影响车辆模型的反应速度和实时性的问题;同时提高了车辆模型在硬件在回路仿真中的精度和实时性。

附图说明

附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了本发明实施例提供的二自由度车辆模型的简单示意图;

图2示出了本发明实施例提供的最优控制的控制量的获取方法流程图;

图3示出了本发明实施例提供的导数渐变法求微分的方法流程图;

图4示出了本发明实施例提供的迭代初值分类的牛顿迭代法的方法流程图。

具体实施方式

下面将参考附图并结合实施例,来详细说明本发明。

本实施例提供了一种硬件在回路仿真的车辆动力学模型的建模方法,其中,建立的车辆模型包括发动机模型、传动系模型、车身模型、环境模型、软件TCU(Transmission Control Unit,变速箱控制单元)模型等。

发动机模型包括节气门控制子模型、ESP(Electronic StabilityProgram,电子稳定装置)的快速和慢速控制子模型。传动系模型包括起动机子模型、曲轴运动子模型、离合器子模型、变速箱子模型、中央差速器子模型、半轴子模型。车身模型包括轮胎子模型、车轮运动子模型、悬架子模型、转向子模型、车身运动子模型、空气动力学子模型等。环境模型包括操纵子模型、驾驶员子模型、道路子模型。软件TCU模型包括升挡、降挡子模型、传动比选择子模型。

本实施例提供的硬件在回路仿真的车辆动力学模型的建模方法包括:

驾驶员子模型的建模,在驾驶员子模型的建模中,对第一类道路,采用PID(Proportion Integration Differentiation,比例积分微分)控制进行仿真,对第二类道路,采用基于与时间有关的常微分方程组的最优控制进行仿真。

参见图1,为本实施例提供的二自由度车辆模型的简单示意图,其中,δsteering-前轮转角,vvehicle-车辆质心的速度,vx-质心速度沿车身纵向的分量,vy-质心速度沿车身侧向的分量,Center of Gravity-车辆质心,γvehicle-车辆的横摆角,Fy,Wheel,Front-前轮所受地面的侧向力,Fy,Wheel,rear-后轮所受地面的侧向力,a-质心到前轴的距离,b-质心到后轴的距离,εx-惯性坐标系的x轴,εy-惯性坐标系的y轴。

根据牛顿第二定律确定的整车侧向和横摆运动的方程如下:

>mVehiclev·y,Vehicle=Fy,Wheel,FrontcosδSteering+Fy,Wheel,Rear-vx,Vehicleγ·VehiclemVehicle---(1)>

>JVehicleγ··Vehicle=aFy,Wheel,FrontcosδSteering-bFy,Wheel,Rear---(2)>

其中,mVehicle-整车质量,-质心侧向加速度,-车辆的横摆角速度,JVehicle-车辆的横摆转动惯量,-车辆的横摆角加速度。

将二自由度运动方程线性化,运动方程可以写成标准的状态空间方程组:

>x·=Ax+Bu>

y=Cx+Du    (3)

其中x-状态向量,该向量是[车辆质心的侧向位移,车辆质心的侧向速度,车辆的横摆角速度,车辆的横摆角]。y-输出向量,该向量是[车辆质心的侧向位移]。u-控制输入向量,该向量是[前轮转角]。A、B、C、D-整理成标准状态空间方程过程中生成的系数距阵。

式(3)的离散时间解是:

y(kT)=CΦ(kT)x(0)+CΓ(kT)Bu    (4)

其中:Φ(kT)=eAkT>Γ(kT)=0kTΦ(τ),>k-第k个采样点,T-采样周期,x(0)-初始时刻的状态向量。

参见图2,为本实施例提供的最优控制的控制量的获取方法流程图,该最优控制的控制量的获取方法包括:

步骤S102:采用复变函数的留数定理计算与上述常微分方程组对应的矩阵指数Φ(kT)=eAkT

其中,常微分方程组指式(3);

留数定理指:>cf(z)dz=2πiΣk=1nResτ=αkf(z),>公式左边为被求的围道积分,右边为被积函数在围道曲线c内的奇点处的留数和。

此定理可以计算一个函数的围道积分,而拉普拉斯反变换可以由围道积分定义,所以可以由留数定理来计算拉普拉斯反变换。矩阵指数的一种理论求法为拉普拉斯反变换法,所以可以采用留数定理来计算矩阵指数的解析形式。

步骤S104:根据该矩阵指数计算上述常微分方程组的解y(kT)=CΦ(kT)x(0)+CΓ(kT)Bu;

根据目标函数的极值求控制量u的过程如下:

目标函数:>J=Σk=1m(y(kT))2,>其中m为计算选取的参考采样点数。

目标函数极值处:>dJdu=0>

从而求出最优的控制输入u,使得目标函数取极值。

步骤S106:将得到的上述最优的控制输入u作为最优控制的控制量。

控制量得出后,即得出了最优前轮转角,将这个控制量乘以转向子模型的传动比和延迟参数,就得出转向盘转角输入,从而模拟驾驶员的转向操纵。

其中,第一类道路指一般道路,即,由直线和/或圆形路径组成的道路;第二类道路指复杂道路,即,由直线、圆弧、回旋线或三次样条曲线中的至少两种路径组成的道路。

本实施例的驾驶员子模型通过采用一般的PID控制和最优控制两种方式,在最优控制中应用了复变函数理论中的留数法,而常规的求矩阵指数的方法是采用数值积分的方法,其主要用泰勒展开式求足够多项级数和的方法求得矩阵指数的数值解,再用复合辛普森公式对矩阵指数的数值解做积分,随着级数求和项的增大,辛普森公式的积分区间变小,使这些计算量较大,以至于很难保证数值积分的程序在实时仿真平台上运行。而本实施例使用的留数法为拉普拉斯反变换的计算提供了一种代数计算方法,主要通过拉氏反变换求矩阵指数,再由复变函数的留数定理求拉氏反变换,这样就得出矩阵指数的含参量解析式,对这些解析式作积分就得到矩阵指数的积分,从而避开了常规的数值积分过程。在MATLAB中实现时,只需要搭建代数计算,而不需要搭建数值积分的循环计算,从而既保证了计算的速度,又保证了计算的精度。

参数传递是车辆动力学模型仿真中比较重要的问题,然而对于复杂精确的车辆动力学模型而言,会用到成百上千的关于车辆的、环境的、驾驶员的参数,这么多的参数需要能够实时传递,才能保证车辆动力学模型的实时性,因此,本实施例优选通过C语言编写c-sfunction算法进行参数传递,即将参数矩阵变换为参数向量后再传递,该算法的具体实现过程为:

读取车辆动力学模型的参数矩阵;

将上述参数矩阵中全为0的行删去;

再将删去0的矩阵转换为一维向量;

将该一维向量作为该车辆模型对应的参数向量;

最后用c-sfunction算法动态输出上述参数向量。

例如,将c-sfunction算法应用于道路子模型对应的矩阵中,因为道路子模型通常是一个大型的稀疏矩阵,通过该算法的应用会大幅度降低该大型稀疏矩阵的参数传递的耗时,由参数传递带来的耗时几乎可以忽略,进而保证了车辆模型的实时性;而相关技术中的参数传递一般是用MATLAB里的constant模块调用工作空间的参数,该方法耗时比较大,不利于车辆模型的实时计算。

优选地,上述建模方法还包括:判断车身模型的舒适度;该判断包括以下步骤:

应用导数渐变法计算悬架子模型中车轮垂直位移对轮跳的微分值;根据车轮垂直位移和该微分值计算悬架子模型的支撑力;根据计算出的支撑力判断车身模型的舒适度。

该支撑力和风阻力(一般较小)、坡道阻力共同决定了车身的运动,车身的各方向运动的加速度就是车身模型的舒适度的度量参考值。

其中,上述悬架子模型中的微分参数来自K&C(Kinematics andCompliance,运动和柔度)实验得到的数据,该数据通常存储在表格中;当计算出的悬架子模型的支撑力在指定范围内时,则说明该车辆模型的舒适度合适,否则不合适;

本实施例的导数渐变法求微分在车辆模型中会多次用到。如在悬架子模型里考虑车轮跳动对车轮中心运动的影响时,不仅要考虑车轮中心运动的绝对值,还要考虑车轮中心运动关于车轮跳动的变化率,这就是微分值;以及应用导数渐变法计算离合器子模型传递的摩擦力等。

参见图3,为本实施例提供的导数渐变法求微分的方法流程图,该方法包括:

步骤S202:计算离散的每个原始数据点组成的折线段的导数值;

步骤S204:在折线段上对被计算的数据点进行定位;

步骤S206:判断定位后的该数据点的具体位置,然后在两段相邻的折线段的中点间进行导数渐变过程;具体为判断该数据点是否位于首段折线前半段、末段折线后半段或者该数据点的横坐标超过界限(即该数据点不在上述折线段上),如果是,执行步骤S208;如果该数据点位于中间某段折线的后半段,则执行步骤S210;如果该数据点位于中间某段折线的前半段,则执行步骤S212;

步骤S208:该数据点的微分等于就近端点导数;即如果该点位于首段折线的前半段,则其导数为首段折线在该点处的导数;如果该点位于末段折线的后半段,则其导数为末段折线在该点处的导数;如果该点超出了原始数据点的横坐标范围,那么该点的微分等于横坐标临近端点处的导数值;

步骤S210:该数据点的微分等于本段折线中点与后面一段折线中点之间的导数线性渐变值,即等于该段中点导数与后面一段中点导数的线性插值;

步骤S212:该数据点的微分等于本段折线中点与前面一段折线中点之间的导数线性渐变值,即该段中点导数与前面一段中点导数的线性插值。

用导数渐变法计算的微分值可以保证计算的连续性,当应用到二维偏微分的计算时,将二维偏微分先转化为一维微分,再按照前面的过程即可计算出二维偏微分的值,具体计算过程这里不再详述。而相关技术中的常规微分算法的一维微分计算是用两个量的差商来计算的,但由于做差商时,分母容易出现为零或者接近零的情况,因而会导致微分结果容易出现无意义或很大的尖峰脉冲,容易导致车辆动力学模型不稳定,甚至出错。另外,常规微分算法的二维偏微分计算更复杂,按照直接差商的方法容易不稳定。

优选地,上述建模方法还包括:

在道路子模型中应用牛顿迭代法确定车辆模型与道路中心线的距离。在确定车辆模型与道路中心线的距离时,需要解高次方程;

该高次方程是通过如下方式得到的:

平面内一条曲线C:y=f(x),平面上一点p(x0p,y0p),求点p到曲线C的距离就可以得到一个高次方程g(x,x0p,y0p)=0。此处的曲线C为道路形状曲线,可以是直线、圆弧、回旋线、三次样条曲线;点p为车辆坐标系的原点在惯性坐标系下的位置。

参见图4,为本实施例提供的迭代初值分类的牛顿迭代法的方法流程图,该牛顿迭代法包括:

迭代公式:>xn+1=xn-g(xn,x0p,y0p)g·(x,x0p,y0p)|x=xn>

其中:xn+1-第n+1个迭代点,xn-第n个迭代点,g(xn,x0p,y0p)-函数g(x,x0p,y0p)在xn点的函数值,>g·(x,x0p,y0p)|x=xn>函数g(x,x0p,y0p)在xn点的导数值。

步骤S302:将高次方程整理成标准形式g(x,x0p,y0p)=0;

步骤S304:判断道路的片段序号是否发生变化,如果变化,执行步骤S306;如果否,执行步骤S308;

步骤S306:采用当前片段的横坐标作为第一迭代点;

步骤S308:第一迭代点为上一步长的计算结果,即上一个p点对应的被求解方程的根;

步骤S310:计算当前迭代点的函数值和导数值,再计算该函数值与该导数值的商;

步骤S312:用该迭代点减去计算得到的商得到下一个迭代点,将下一个迭代点作为当前迭代点;

步骤S314:判断当前迭代点与其上一个迭代点的差是否满足精度要求,即判断相邻两个迭代点的差是否在指定精度范围内,如果是,执行步骤S316;如果否,返回步骤S310;

步骤S316:将当前迭代点作为高次方程的根。

本实施例优选迭代法的第一迭代点采用步骤S302至步骤S308中提供的方法选取,这种方法选取的第一迭代点更加接近高次方程的根,有效地减少了迭代次数。

通过上述方法,完成了整个车辆模型的建立,建立好的车辆模型的工作流程如下:

发动机子模型在起动机子模型的启动下,转速慢慢上升,直到怠速;

驾驶员子模型控制自动变速箱和转向盘,实现离合器子模型、挡位子模型和转向系统子模型的控制;

道路子模型计算轮胎接地点的力的方向、轮胎子模型计算轮胎接地点的力和力矩的大小,车辆模型在轮胎的驱动力作用下加速行驶,实现起步加速过程。在行驶过程中,驾驶员子模型根据道路的几何形状和附着情况来计算合适的转向盘转角,实现对特定道路轨迹的跟踪。

另外,本实施例中的道路子模型会根据道路几何特征和车辆位置,计算相应的目标参数,将计算得到的目标参数传递给驾驶员子模型,由驾驶员子模型根据这些目标参数计算转向输入和变速箱的输入,并且道路子模型将坡度输出给车身子模型。

操纵子模型为用户对整个车辆模型的操控提供了途径,用户可以在操纵子模型里完成车辆的开环控制和闭环控制的参数设置。

其中,开环控制指直接输入表格化的转向盘转角数据、各类踏板数据,而不采用驾驶员的控制,用这些表格数据作为模型的输入量。闭环控制指驾驶员控制,只需在操纵模型里选择驾驶员的不同参数,就可以模拟各类驾驶员的控制效果,如熟练驾驶员、新手驾驶员等。

本实施例的传动系子模型还考虑了手动变速箱和自动变速箱,以及离合器,差速器,传动轴的建模。

本实施例的车身子模型采用达兰贝尔原理建模,该建模中涉及10自由度的车身子模型,包括车身簧载质量的3个平动自由度,3个转动自由度,4个车轮的垂直运动自由度。

悬架子模型采用查表计算的方法,主要考虑轮跳、转向对车轮垂直位移的影响,以及考虑K&C试验数据,横向稳定杆的试验数据等进行建模。

转向系统子模型主要考虑转向传动机构的传动比、间隙、惯性延迟等特性。空气动力学子模型主要考虑车辆的行驶风阻;制动液压系统子模型主要考虑制动油压到制动力矩的一阶延迟特性。

综上,上述各个模型相互协调,构成一个系统,实现对真实车辆的仿真。

本实施例采用复变函数法求矩阵指数并积分,克服了相关技术中数值积分过程因使用循环语句带来的运算次数大,进而影响车辆模型的反应速度和实时性的问题;同时提高了车辆模型在硬件在回路仿真中的精度和实时性。另外,通过导数渐变法求微分避免了常规差商计算的尖峰脉冲,保证了模型的稳定性和精度;采用迭代初值分类法的牛顿迭代法,可以选择合适的迭代初始点,既有利于减少迭代次数,也保证了计算的速度,更可以保证计算的精度;并且还应用了C语言参数传递算法来动态调用工作空间的参数矩阵,耗时很小,几乎可以忽略。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号