第四章:路感模拟策略
4.1 路感模拟的目标与挑战
路感模拟,说白了就是让驾驶员在方向盘上感受到“真实”的反馈。你想想看,线控转向取消了机械连接,方向盘和车轮之间没有物理硬连接了。那驾驶员怎么知道车轮转了多少?路面是平是颠?这就全靠路感模拟电机来“演戏”。
我个人习惯把路感模拟的目标归纳为三点:
- 真实感:模拟传统液压助力或电动助力的手感,不能太轻飘,也不能太死沉。
- 信息传递:把轮胎与路面的摩擦、回正力矩、路面不平度等信息,通过方向盘传递给驾驶员。
- 安全边界:在极限工况下(比如高速、冰雪路面),路感要能提醒驾驶员“嘿,注意了,快失控了”。
但实现起来,挑战不小。我在项目中遇到过最大的坑是——延迟。线控系统从传感器采集信号,到控制器计算,再到电机输出力矩,整个链路有延迟。如果延迟超过20ms,驾驶员就会觉得方向盘“粘手”或者“慢半拍”。嗯,这里要注意,延迟是路感模拟的头号敌人。
4.2 基于车速与转向角的路感曲线设计
路感曲线,就是方向盘力矩与车辆状态之间的映射关系。最核心的两个输入是车速和转向角。
为什么是车速?你想想看,低速时(比如倒车入库),我们希望方向盘轻一点,一只手就能搓动。高速时(比如120km/h巡航),方向盘必须沉,防止误操作导致车辆失控。
为什么是转向角?转向角越大,轮胎侧偏角越大,回正力矩也越大。所以方向盘力矩应该随转向角增加而增加。
我常用的设计方法是二维查表法。横轴是车速,纵轴是转向角,表格里填的是目标方向盘力矩值。
| 车速 (km/h) | 转向角 0° | 转向角 90° | 转向角 180° | 转向角 360° |
|---|---|---|---|---|
| 0 | 0.0 Nm | 1.2 Nm | 2.0 Nm | 3.5 Nm |
| 30 | 0.0 Nm | 1.8 Nm | 3.0 Nm | 5.0 Nm |
| 60 | 0.0 Nm | 2.5 Nm | 4.2 Nm | 6.8 Nm |
| 120 | 0.0 Nm | 3.8 Nm | 6.0 Nm | 9.5 Nm |
这张表只是示例。实际标定时,每个点都要在实车上反复试。我建议曲线设计遵循一个原则:力矩随车速和转向角的变化要平滑。如果某个区域斜率突变,驾驶员会感觉“咯噔”一下,非常突兀。
4.3 电机力矩控制算法(PID、前馈)
有了目标力矩,接下来就是怎么让电机精确输出这个力矩。这里我主要用两种算法:PID 和 前馈控制。
PID控制是基础。目标力矩和实际力矩的差值,经过比例、积分、微分三个环节,输出给电机驱动器。但PID有个毛病——响应慢。尤其是积分项,调不好容易超调或者震荡。
我在项目中遇到过一个问题:PID参数在常温下标定得好好的,冬天零下20度时,电机摩擦力矩变大,PID积分项拼命往上加,结果方向盘回正时“过头”了,来回晃了两下才稳住。后来我加了积分限幅和变积分系数,才把这个问题压下去。
前馈控制是解决响应慢的利器。说白了,就是根据目标力矩和当前电机状态,直接算出一个“预估值”加给电机,剩下的偏差再用PID去微调。
前馈的公式其实不复杂:
// 前馈力矩计算
// 输入:目标力矩 targetTorque, 电机转速 motorSpeed
// 输出:前馈补偿力矩 feedforwardTorque
float calculateFeedforward(float targetTorque, float motorSpeed) {
// 摩擦力补偿:与转速方向相关
float frictionTorque = FRICTION_COEFF * sign(motorSpeed);
// 惯性补偿:与加速度相关(这里简化处理)
float inertiaTorque = INERTIA_COEFF * (targetTorque - lastTargetTorque) / DT;
// 阻尼补偿:与转速成正比
float dampingTorque = DAMPING_COEFF * motorSpeed;
return frictionTorque + inertiaTorque + dampingTorque;
}
你看,前馈把摩擦力、惯性、阻尼这些已知的物理特性都提前补偿了。PID只需要处理剩下的“未知扰动”。这样整体响应速度能提升30%以上。
4.4 路感模拟的标定与调优
标定,是路感模拟从“能工作”到“好开”的关键一步。说白了,就是调参数。
我一般把标定分为三个阶段:
- 台架标定:在HIL(硬件在环)台架上,把路感曲线、PID参数、前馈参数都粗调一遍。这个阶段主要验证算法逻辑是否正确,有没有bug。
- 场地标定:在封闭场地里,让专业驾驶员反复试驾。低速、中速、高速、紧急变道、蛇形绕桩……每个工况都要跑。驾驶员反馈“这里轻了”、“那里重了”,我就在线改参数。
- 道路标定:在公共道路上,覆盖各种路面(柏油路、水泥路、搓板路)。这个阶段主要调“路感细节”,比如路面颠簸的传递强度、回正速度等。
标定过程中,我最常用的工具是CANoe和INCA。实时监控方向盘力矩、电机电流、车速、转向角等信号。一边开车一边改参数,效率很高。
最后,我想说一句:路感模拟没有“最优解”,只有“最适合”。不同车型、不同用户群体,对路感的偏好完全不同。运动型车要“硬朗”,舒适型车要“柔和”。作为工程师,我们要做的就是提供一套可配置、可标定的平台,然后根据需求去调。
上面这张图,是我自己总结的路感模拟核心逻辑。从输入信号,到查表得到目标力矩,再到PID+前馈控制输出,最后通过标定闭环调优。每一步都环环相扣,缺一不可。
公众号:蓝海资料掘金营,微信deep3321