CarSim联合MATLAB实现纵向控制


前言

前面的文章介绍了横向控制以及标定,这里主要介绍车辆的纵向控制。PID是控制中最强控制算法也是目前使用最广泛的算法,这里实现纵向控制也使用PID算法。为了提高控制的性能,这里我们使用双PID控制算法实现纵向控制(一个是利用位置,另一个是利用速度)。


一、CarSim设计

        步骤:Systems---->Powertrain:Front-Wheel drive---->Internal transmission model

 其余设计和标定表的设计一样。

二、MATLAB设计

        1.整体框架

 这里最重要的就是pid_control模块。

        2.thr_brake_calibration_table

 代码如下:

        switch_signal模块

function [power,brake] = fcn(x)
    %正数代表油门,负数代表刹车
    %不允许同时踩油门和刹车
    if x>0
        power=x;
        brake=0;
    else
        power=0;
        brake=-x;
    end
end

        moto model模块

function torque = fcn(power,rpm)    %power:油门,rpm:转速
    Tmax=380*power;
    if(rpm<=4523)
        torque=Tmax;
    else
        torque=Tmax*4523/rpm;
    end
end

        3、planning模块

 代码示例:

function [s,v,a] = fcn(t)
    if t<10
        s=0.1*t^3/3;
        v=0.1*t^2;
        a=0.2*t;
    else
        a=2-0.1*(t-10);
        v=2*t-0.05*(t-10)^2-10;
        s=t^2-0.05*(t-10)^3/3-10*t+100/3;
    end
end

        4、pid_control模块

速度

 位置

 加速度


总结

超调量:超调量_百度百科 (baidu.com)

PID控制解释:比例项是用来提高系统的响应速度,积分项是用来消除稳态误差的,,微分项是用来降低超调量的。

P比例项:对稳态误差进行放大(减小)的作用,并且当接近控制目标时,比例项的效果越不明显。当然,比例项不是越大越好,因为实际系统中可能存在延时,这样将导致超调,并且由于一些内在的原因,会使得控制效果在小范围内发生振荡。P比例系数的作用会加快到达控制目标的速度,在实际应用中有很大的作用。

I积分项:消除稳态误差的作用,并且只要稳态误差没有消失,积分项就会一直发生作用。但是,积分项会导致超调,因此,虽然积分项可以提高我们的控制精度,但是在实际应用中,并不怎么使用或者只会加入一个很小的控制系数。

D微分项:抑制超调的作用,微分描述了运动的变化趋势(微分具有将变化提前的作用)。微分项相当于给系统加了一个闭环零点的作用,设置合理的话可以抵消相近极点的作用,把极点的虚部去了就没有超调了。

在实际应用中使用较多的是PD控制,P加快收敛速度,D抑制由P控制引起的超调。因此在实际中先调P再调D最后调I。

  • 7
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
CarsimMatlab和Prescan都是用于车辆动态仿真的工具。Carsim是一种车辆动力学仿真软件,用于模拟车辆在不同道路和行驶条件下的运动行为。它模拟了车辆的动力系统、车辆控制系统和驱动环境,并提供了准确的车辆动态性能分析结果。 Matlab是一种数学计算和仿真软件,以其强大的数值计算和仿真能力而闻名。它可以与Carsim结合使用,用于分析和处理Carsim模拟结果,并进行更加复杂的算法开发和优化。 Prescan是一种先进的虚拟仿真平台,用于汽车感知、控制和测试。它可以生成逼真的虚拟环境,并模拟车辆在其中的行驶过程。Prescan还可以与CarsimMatlab进行集成,使车辆动力学仿真与实际环境感知和控制系统交互更加紧密。 通过CarsimMatlab和Prescan的联合仿真,我们可以更加准确地模拟和分析车辆在不同场景下的行驶情况。首先,我们可以使用Carsim进行车辆动力学仿真,得到车辆在不同驾驶条件下的动态性能,如加速度、制动距离等。然后,我们可以将Carsim模拟结果导入Matlab进行进一步分析和处理,比如开发车辆控制算法,优化车辆性能等。最后,我们可以将Matlab开发的算法与Prescan进行集成,模拟车辆在虚拟环境中的感知和控制过程,以及与其他交通参与者的交互。 通过CarsimMatlab和Prescan的联合仿真,我们可以更好地理解车辆动力学行为,开发更准确和高效的车辆控制系统,并进行更加全面的场景测试和评估。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值