simulink模块提取路径_代码详解——Simulink中的运动学模型

在先前的仿真代码中,一般采用以dsolve函数求解车辆运动学微分方程的方式作为被控的车辆模型,形如:

Xref=dsolve('Dx-v_actual*cos(z)=0','Dy-v_actual*sin(z)=0','Dz-v_actual*tan(deltaf_actual)/l=0','x(0)=X00(1)','y(0)=X00(2)','z(0)=X00(3)');

    t=T;

    %%更新车辆位置

    State_Initial(1,1)=eval(Xref.x);

    State_Initial(2,1)=eval(Xref.y);

    State_Initial(3,1)=eval(Xref.z);

但是由于dsolve函数的求解功能有限,当微分方程更加复杂时,可能无法获得数值解。

所以也有同行采用经欧拉法或四阶龙格库塔法离散化后的运动学、动力学模型作为被控的车辆模型进行仿真。不过上述离散方法均会降低模型精度,造成仿真结果失真。而且当采用动力学模型时,模型较为复杂,采用离散模型进行迭代需要很大的代码量,在编写程序时容易出现错误,影响工作效率。

通过Simulink建模可以避免上述问题。

通过Simulink建模有两种方式,一种是通过组合模块,下图所示即车辆运动学模型:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值