局部路径规划中的挂车姿态预测

挂车运动学模型:
在这里插入图片描述
在这里插入图片描述
如图,将牵引车-挂车模型简化为自行车模型,红色为牵引车,蓝色为挂车。挂车后轴到交接点长度为l,牵引车速度为v。
挂车与牵引车家教θ的运动学模型为:
θ’=vsinθ/l
由于在纯跟踪生成局部路径过程中步长为1米,对此式积分可得出牵引车与挂车经过1米时间之后的夹角的变化量:
deltθt0=∫ v
sinθ/l dt = (∫ v dt) *sinθ/l
= (st-s0)*sinθ/l = sinθ/l
由于此运动学模型中假定牵引车的航向角是不变的,因此在1米之后的点应该加上牵引车航向角的变化量θ1:
deltθt=θt0 + θ1
θt=θt+deltθt
但是这样加上航向角的方法会造成一定的误差,为了提高该模型的计算精度,可以将1米的步长细化为0.2。相当于在每一个1米步长周期内,计算五次挂车角度的变化量。每次计算0.2的步长,每次计算之后再补上这0.2米内牵引车航向角的变化量,这样可以提高精确性。

### 车辆-挂车系统的MATLAB仿真 对于车辆-挂车系统的建模与仿真实现,可以采用基于物理模型的方法来描述整个系统的动力学特性。通过定义状态变量并建立微分方程组,能够精确模拟该类复杂机械结构的行为。 #### 建立数学模型 为了便于理解和编程,在构建车辆拖拽挂车的动力学模型时通常会考虑如下几个方面: - **假设条件** - 地面平坦无坡度; - 不计空气阻力和其他外部干扰力矩; - 各关节处摩擦忽略不计; - **参数设定** - \( I_zv \): 绕垂直轴转动惯量 (kg·m²) 这些基本参量有助于后续编写更具体的运动学和动力学表达式[^1]。 #### 编写Simulink模块化程序 利用MATLAB中的Simulink工具箱来进行图形化的系统搭建十分直观有效。下面给出一段简单的代码片段用于创建一个基础版本的车辆牵引挂车模型: ```matlab % 初始化 Simulink 模型 new_system('VehicleTrailerModel'); open_system('VehicleTrailerModel'); add_block('simulink/Sources/Step', 'VehicleTrailerModel/InputSteeringAngle',... 'Position',[70,80,90,100]); set_param(gcb,'OutMin','0') set_param(gcb,'OutMax','pi/6') add_block('vehicle_dynamics_3d/Vehicle Body with CG Motion 3DOF',... 'VehicleTrailerModel/MainBody',... 'Position',[200,150,240,200]); add_block('vehicle_dynamics_3d/Tire Model Fiala',... 'VehicleTrailerModel/FrontTire',... 'Position',[350,200,390,240]); add_block('vehicle_dynamics_3d/Joint Constraint',... 'VehicleTrailerModel/HitchJoint',... 'Position',[500,150,540,190]); % 连接各组件... connect_lines(); save_system; close_system; ``` 此脚本仅作为示例展示如何启动一个新的Simulink项目以及添加必要的功能块。实际应用中还需要进一步调整各个子系统的具体配置以匹配特定场景下的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值