自动驾驶仿真 (四)—— 基于PreScan与Simulink的ACC系统仿真

张开发
2026/4/16 16:45:14 15 分钟阅读

分享文章

自动驾驶仿真 (四)—— 基于PreScan与Simulink的ACC系统仿真
1. ACC系统基础原理与PreScan环境搭建自适应巡航控制ACC系统是现代汽车高级驾驶辅助系统ADAS的核心功能之一。与AEB系统不同ACC更注重舒适性和连续性控制能够在驾驶员设定的车速范围内自动调整车速以保持与前车的安全距离。我在实际项目中发现很多初学者容易混淆ACC和定速巡航的区别——前者是智能跟车后者只是固定油门。PreScan作为专业的自动驾驶仿真平台其物理引擎能精确模拟毫米波雷达的探测特性。搭建基础场景时我习惯先创建一条300米以上的直线道路双向四车道这样能充分模拟各种跟车工况。车辆动力学模型建议选择3D Simple而非默认的2D模型因为Z轴数据对坡度场景的仿真至关重要。有个实用技巧在Experiment设置中将仿真步长调整为0.01秒这样既能保证精度又不会显著增加计算量。传感器配置是ACC仿真的关键环节。毫米波雷达需要设置两个关键参数水平视场角建议8-10度最大探测距离150米足够应对大多数场景实测发现将雷达安装高度设为0.5米模拟前保险杠位置时地面杂波干扰最小。在PreScan的TIS传感器配置界面记得勾选Relative Measurements选项这样输出的就是相对距离和速度直接可用于控制算法。2. Simulink控制算法开发实战ACC的核心算法可以分解为三个模块距离保持、速度调节和加速度控制。我推荐采用分层式架构这样调试时能快速定位问题层。在Simulink中搭建模型时有个容易踩坑的地方是单位统一问题——PreScan输出的是米和米/秒而车辆控制接口往往使用km/h。距离控制模块建议使用改进的PID控制器。这里分享一个实测有效的参数组合Kp 0.8; % 比例系数 Ki 0.05; % 积分系数 Kd 0.3; % 微分系数 N 50; % 滤波器系数这个参数组在40-80km/h速度区间表现稳定。需要注意的是积分项要加抗饱和处理否则长下坡路段会出现控制失灵。速度调节模块更考验工程经验。我的做法是根据TTCTime to Collision动态调整期望距离safe_distance max(2, ego_speed * 0.8); % 最小2米动态距离这个公式在市区跟车场景特别实用。去年帮某主机厂调试时这个策略使跟车舒适度提升了30%。3. 典型工况仿真与结果分析3.1 稳态跟车工况设置主车初始速度80km/h前车恒定70km/h两车初始间距100米。这个场景主要验证系统能否平稳缩小车距并保持稳定。实测数据显示距离收敛时间12.3秒稳态距离误差±0.5米最大减速度-1.2m/s²符合舒适性要求有个细节值得注意当雷达探测到前车时建议延迟0.5秒再启动控制这样可以过滤掉临时遮挡造成的误检测。这个技巧在隧道场景特别有用。3.2 前车急减速工况这是最考验系统性能的场景。设置前车从60km/h在3秒内减至30km/h主车初始速度80km/h。关键指标包括碰撞预警响应时间0.8秒制动介入时机TTC3.2秒时最终稳定距离15米从速度曲线可以看到典型的两段式减速先柔和减速匹配前车速度再精确调整距离。如果发现制动过猛可以调整控制器的微分增益。4. 调试技巧与性能优化信号处理环节往往被忽视。毫米波雷达的原始数据需要经过卡尔曼滤波消除跳动数据关联匹配同一目标轨迹预测补偿处理延迟在Simulink中实现时建议使用MultiTracker模块而非自己编写算法。有个调试秘诀在PreScan的Viewer里开启Sensor FOV可视化能直观看到雷达的探测情况。参数标定方面建议先静态后动态静态测试固定前车位置验证距离测量精度低速测试30km/h以下调整PID参数高速测试优化滤波参数最后提醒一个硬件在环HIL测试的注意事项PC时钟必须与硬件板卡严格同步时间偏差超过1ms就可能导致控制失稳。曾经有个项目因为这个问题调试了整整两周。

更多文章