1. 项目概述
垂直泊车是自动驾驶领域最具挑战性的场景之一,也是CarSim和TruckSim仿真平台的核心测试场景。作为车辆动力学仿真领域的黄金标准工具,CarSim和TruckSim通过高精度的多体动力学模型,能够准确模拟不同车型在垂直泊车过程中的转向特性、轮胎滑移等关键参数。
在实际工程开发中,我们通常需要完成三个层级的验证:算法层在MATLAB/Simulink中的纯数学验证、CarSim中的车辆动力学验证,以及最终实车测试。其中CarSim仿真环节能发现80%以上的控制算法缺陷,这正是其价值所在。
2. 核心需求解析
2.1 垂直泊车的技术难点
垂直泊车场景的特殊性体现在:
- 空间约束严格:标准车位宽度通常只有2.5米(比车宽多约0.8米)
- 运动学复杂度高:需要同时控制转向角和车速
- 定位精度要求:车位检测误差需小于10cm
- 实时性挑战:规划算法需在100ms内完成迭代
2.2 CarSim的仿真优势
相比其他仿真工具,CarSim在泊车场景中的独特优势包括:
- 参数化车辆模型:支持从微型车到重型卡车的全系列车型
- 高精度轮胎模型:Pacejka魔术公式准确模拟低速大转向角工况
- 实时仿真能力:支持xPC Target等硬件在环测试
- 传感器仿真:可模拟超声波雷达的探测盲区和噪声特性
3. 仿真环境搭建
3.1 基础场景配置
在CarSim中搭建垂直泊车场景需要设置以下参数:
! 车位尺寸定义 PARAMETER WIDTH = 2.5 ! 车位宽度(m) PARAMETER LENGTH = 5.3 ! 车位长度(m) ! 初始位置设置 VEHICLE/INITIAL_POSITION = [X=15, Y=3, HEADING=0] ! 起始点坐标 TARGET_PARKING_POSITION = [X=5, Y=0, HEADING=90] ! 目标车位中心3.2 车辆模型选择
针对不同车型需要调整关键参数:
| 参数 | 轿车典型值 | 卡车典型值 | 单位 |
|---|---|---|---|
| 轴距 | 2.7-3.1 | 3.8-4.2 | m |
| 最小转弯半径 | 5.0-6.0 | 7.5-9.0 | m |
| 最大转向角 | 35-40 | 30-35 | deg |
| 车宽 | 1.8-2.0 | 2.4-2.6 | m |
提示:TruckSim中需要特别注意挂车的动力学耦合效应,建议启用Articulated Vehicle模块
4. 控制算法实现
4.1 基于几何的路径规划
采用经典的"两段式"路径规划方法:
- 第一次转向:方向盘打满至极限位置
- 直线倒车:当后轴中心到达特定位置时
- 第二次转向:反方向打满方向盘
关键计算公式:
转向点位置计算: X_turn = L / tan(δ_max) + W/2 其中: L = 轴距 δ_max = 最大转向角 W = 车宽4.2 CarSim与Simulink联合仿真
建议的控制系统架构:
[路径规划] → [轨迹跟踪控制器] → [CarSim车辆模型] ↑ [状态估计器]典型PID控制器参数范围:
- 横向误差P增益:0.8-1.2
- 航向误差D增益:0.05-0.1
- 速度前馈:0.3-0.5
5. 关键参数调试
5.1 方向盘响应特性
在CarSim中需重点调整:
STEERING_COLUMN/MAX_RATE = 500 ! 最大转向速率(deg/s) STEERING_RATIO = 16.5 ! 转向传动比5.2 车速控制策略
推荐的分段速度策略:
| 阶段 | 目标速度 | 加速度限制 |
|---|---|---|
| 初始接近 | 10 km/h | 0.3 m/s² |
| 转向阶段 | 5 km/h | 0.2 m/s² |
| 最终调整 | 3 km/h | 0.1 m/s² |
6. 结果分析与优化
6.1 典型评价指标
- 泊车时间:应控制在30-45秒
- 最终位置误差:横向<5cm,纵向<10cm
- 方向盘换向次数:理想值为1次
- 最小安全距离:与障碍物保持>15cm
6.2 常见问题排查
过冲问题:
- 检查转向系统延迟参数
- 增加D增益或加入前馈补偿
最终位置偏差:
- 验证轮胎松弛长度设置
- 检查定位传感器噪声模型
轨迹震荡:
- 降低P增益
- 增加速度控制平滑滤波
7. 高级技巧与应用
7.1 分布式驱动车辆的特殊处理
对于电动卡车等分布式驱动车型:
- 启用TruckSim的Electric Drivetrain模块
- 利用差速转向提高低速灵活性
- 扭矩分配建议:
TORQUE_SPLIT_FRONT = 0.4 ! 前轴扭矩占比 TORQUE_BIAS = 0.6 ! 外侧轮扭矩偏置
7.2 复杂场景扩展
- 斜坡泊车:启用Road Profiler模块设置坡度
- 动态障碍物:使用Moving Objects添加行人或车辆
- 低附着路面:调整Mu-Scale参数模拟湿滑路面
8. 工程实践经验
在实际项目中我们总结出以下经验法则:
- 仿真步长不宜超过0.01s,否则会丢失转向动态细节
- 先调横向控制再调纵向控制
- 雨天工况下摩擦系数建议设为0.4-0.5
- 卡车需要额外考虑挂车摆动安全裕度
对于传感器建模,建议:
- 超声波雷达采样频率设为10-20Hz
- 加入5-10cm的随机噪声
- 设置0.3-0.5m的盲区
最后提醒:每次修改车辆参数后,务必重新进行Open Loop测试验证基础动力学特性,这是保证闭环控制效果的前提。