预瞄控制中的相关信息

本篇主要是最后一次对如何调整预瞄控制的纯跟踪算法的参数的说明文档。

都知道在纯跟踪算法中其实可以调整的参数是有限的,而且由于它含有运动学关系,所以对于车轮转角和方向盘转角的映射有着比较严格的要求,一般情况下其实效果还没有pid好用,但是它比较简单,实现起来最快,所以在快速建立原型功能的时候是不二选择。

当定位点在后轴中心、轴距为 2.750m 时,纯跟踪算法的预瞄距离(Lookahead Distance)需要结合车辆速度、行驶场景和轨迹曲率动态调整。以下是具体的计算方法和推荐值:

一、基础预瞄距离公式(核心参考)

纯跟踪算法中,预瞄距离的经典公式为:

plaintext

c 复制代码
L = k × v + L₀

其中:

L:预瞄距离(单位:m)

v:车辆速度(单位:m/s)

k:速度系数(经验值,通常 0.5~1.2)

L₀:最小预瞄距离(低速时的基础值,通常取轴距的 1~2 倍)

二、参数的推荐值

1. 最小预瞄距离(L₀)

由于轴距为 2.750m,最小预瞄距离建议取 L₀ = 2.750m × 1.2 ≈ 3.3m(理由:确保低速时(v≈0)仍能稳定跟踪,避免转向过度)

2. 速度系数(k)的场景适配

根据不同速度范围,推荐:

低速场景(v < 5m/s,约 18km/h):k = 0.5,预瞄距离 L = 0.5v + 3.3例:v=3m/s(10.8km/h)时,L ≈ 0.5×3 + 3.3 = 4.8m

中速场景(5m/s ≤ v < 10m/s,18~36km/h):k = 0.8,预瞄距离 L = 0.8v + 3.3例:v=7m/s(25.2km/h)时,L ≈ 0.8×7 + 3.3 = 8.9m

高速场景(v ≥ 10m/s,>36km/h):k = 1.0,预瞄距离 L = 1.0v + 3.3例:v=12m/s(43.2km/h)时,L ≈ 1.0×12 + 3.3 = 15.3m

三、结合轨迹曲率的动态调整

若轨迹存在弯道(曲率 κ 较大),需缩短预瞄距离以避免过度转向:

plaintext

c 复制代码
L' = L × (1 - α×|κ|)

其中:

κ:轨迹曲率(κ = 1/R,R 为转弯半径)

α:曲率系数(推荐 0.3~0.5)

示例:当车辆以 v=7m/s 行驶在 R=50m 的弯道(κ=0.02):原预瞄距离 L=8.9m,调整后 L' = 8.9 × (1 - 0.4×0.02) ≈ 8.8m(小幅缩短,确保转向响应更及时)

四、工程验证与调参建议

初始调试步骤:

在直线路径上测试:从最小预瞄距离(3.3m)开始,逐步增加至高速推荐值,观察是否存在 "蛇形震荡"(预瞄过短)或 "滞后跟踪"(预瞄过长)。

在 90° 直角弯测试:确保过弯时预瞄点不超出弯道范围(通常需将预瞄距离缩短至直道的 70%)。

轮距的间接影响:你的轮距为 1.430m(较宽),车辆横向稳定性较好,可适当放宽高速时的预瞄距离(如最大不超过 20m),避免频繁转向调整。

安全边界:预瞄距离上限建议不超过 L_max = 5×轴距 = 13.75m(高速场景),下限不低于 L_min = 1×轴距 = 2.75m(极端低速)。

综上所述,它的前瞻距离与速度,路径曲率,基础预瞄有关,合理的调整预瞄可以达到更好的效果。

后续我们会对lqr控制的方式进行一个深入的分析,并且会通过一个仿真来实际感受一下lqr+前馈在循迹控制中的效果。(python中的实现,如果可以,还可以考虑通过c++重新进行实现)

相关推荐
南宫萧幕2 天前
HEV能量管理建模实战:从零搭建 Simulink 物理环境到 Python(DQN) 强化学习联合仿真调通
开发语言·python·算法·matlab·汽车·控制
南宫萧幕2 天前
Simulink 从零搭建 HEV ECMS 环境:模块解析、排坑指南与智能算法接口预留
人工智能·算法·matlab·汽车·控制
ergevv3 天前
从零到工程实践:层层递进理解 Pure Pursuit 横向控制
自动驾驶·控制·误差·横向控制·pure pursuit
南宫萧幕5 天前
基于 Simulink 与 Python 联合仿真的 eVTOL 强化学习全链路实战
开发语言·人工智能·python·算法·机器学习·控制
南宫萧幕6 天前
HEV能量管理策略 Simulink 实战:从零搭建 Rule-based 与 A-ECMS 对比模型及排错指南
人工智能·算法·matlab·simulink·控制
辰尘_星启6 天前
【ROS2】 Python 节点的开发流程
开发语言·python·机器人·系统·控制·ros2
辰尘_星启7 天前
【ROS2】含自定义消息的ROS2节点开发流程
机器人·系统·控制·ros2
Evand J7 天前
【无人机编队控制程序4】复杂障碍环境下多无人机编队避障(人工势场法APF)与协同控制,MATLAB仿真例程
开发语言·matlab·无人机·控制·apf·避障
南宫萧幕8 天前
规则基 EMS 仿真实战:SOC 区间划分与 Simulink 闭环建模全解
算法·matlab·控制
Evand J9 天前
【无人机控制例程】(3)多无人机队形变换控制代码,仿真程序。附MATLAB源代码
开发语言·matlab·无人机·控制·uav