【Carsim Simulink自动驾驶仿真】带避障功能的轨迹规划与跟踪

如果对Carsim的基础使用还不了解,可以参考:【Carsim Simulink自动驾驶仿真】基于MPC的速度控制
如果对MPC算法原理不清楚,可以参考:如何理解MPC模型预测控制理论
项目介绍:
教程为北理工的无人驾驶车辆模型预测控制第2版。所用的仿真软件为Carsim2020.0和MatlabR2021a。第六章跟踪算法和 第五章类似。这章的目的是同时使用MPC做轨迹局部规划和跟踪,效果很好玩。代码方面基本没有什么问题。这一章原理都很好理解,主要看调参效果。

参数调整思路与效果

因为车型是自己选择的,所以参数需要自己调整,下面根据效果着重说一下调参思路。这里根据之前的经验,控制步长都设置为2。所以这里调整的参数有三个:规划层预测步长,跟踪层预测步长和避障权重,当然还有速度。
初始值分别为:15,15,100,10

调整规划层参数

这里其实就是调整规划层的预测步长,从左到右依次为15,24,30。能看出来随着预测步长的增加,车的选择会变化,从坚定不移的选择下方通过到犹豫的不知道从哪个方向通过到最后从上方通过,这里其实步长再长一点才能完全消除从下方通过的想法,但是这样计算量就变大了,所以感觉15是一个很好的参数。
在这里插入图片描述

调整跟踪层参数

为什么要调整这个参数呢,先看下面的图,这是调整规划层参数时跑出来的3个效果的控制,也就是前轮转角图:
在这里插入图片描述
可以看到,在跟踪后续轨迹的时候轨迹极其不平滑,所以考虑调整跟踪层的步长,因为规划层的步长应该是要大于等于跟踪层的,所以这里只能调小,将15调到10的时候效果就已经挺明显了。
在这里插入图片描述

调整避障权重

这是因为在第一张图中,有轨迹穿过了障碍物,我的理解是原码中路径的权重和障碍物的权重一样,当偏离太多轨迹的时候,就会考虑跟踪轨迹多一点,而不考虑避障,当然其实这个也不需要调整,但是我看着有曲线穿过障碍物很难受,所以将避障权重加大,从左到右依次是100,300,1000
在这里插入图片描述
可以看到300已经不会出现穿过障碍物的效果了,而1000有些太大了。

对速度的鲁棒性

从左到右依次为10m/s,20m/s,30m/s。
在这里插入图片描述
我是在30m/s的时候将避障权重重新写成了100才有和低速情况一样的走法
在这里插入图片描述

多障碍效果

我们使用调整好的参数可以试试多障碍的情况

速度规划层预测步长规划层控制步长跟踪层预测步长跟踪层控制步长避障权重
10m/s152102300
20m/s152102300
30m/s152102100

在这里插入图片描述

### CarsimSimulink联合仿真中的自动避障功能实现 在CarsimSimulink联合仿真中,实现自动避障功能通常涉及以下几个方面: #### 1. 构建车辆动力学模型 通过Carsim创建一个详细的车辆动力学模型,该模型应包括车辆的动力学特性以及传感器配置。这些传感器可以用于感知周围环境的信息,例如障碍物的位置和速度[^2]。 #### 2. 设计避障控制算法 在Simulink中设计主动避障控制算法。此算法可以根据来自Carsim的传感器数据计算出最佳路径规划方案,并生成相应的转向角、加速度等指令以避开障碍物。 以下是简单的避障逻辑伪代码示例: ```matlab function [steering_angle, acceleration] = obstacle_avoidance(sensor_data) % 计算前方是否有障碍物 if sensor_data.distance_to_obstacle < threshold_distance steering_angle = calculate_steering_angle(sensor_data); % 避开障碍物的角度 acceleration = -0.5; % 减速 else steering_angle = 0; acceleration = desired_speed / current_speed; % 维持正常行驶状态 end end ``` #### 3. 数据交换接口设置 为了使CarsimSimulink能够实时通信,在两者之间建立稳定的数据传输通道至关重要。这可以通过使用FMI(Functional Mock-up Interface)标准或其他专用插件完成,从而确保车辆动态响应能及时传递给控制器,反之亦然[^4]。 #### 4. 场景定义测试 利用PreScan或类似的工具扩展仿真范围至复杂交通情景下,比如城市道路交叉口或多车道高速公路变道情况等。这样可以帮助评估所提出的避障策略的有效性和鲁棒性[^3]。 #### 5. 参数调优验证 最后一步是对整个系统的性能进行全面分析,不断优化关键参数直至达到预期目标为止。特别是针对不同类型的突发事件(如突然出现行人),需要特别关注系统反应时间及其平顺度等方面的表现[^5]。 ### 示例总结 综上所述,从构建基础物理模型到最终部署完整的自动驾驶辅助功能模块,每一步都需要紧密结合理论研究和技术实践成果来进行深入探索发展[^1]。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薯一个蜂蜜牛奶味的愿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值