1. 横向控制概述

1.1 什么是横向控制

横向控制,说白了就是让车「自己打方向盘」。

你想想看,人类开车时,眼睛看着前方道路,双手不断调整方向盘,让车辆始终保持在车道中央。横向控制要做的,就是把这件事交给算法来完成。

我刚开始接触这个领域时,觉得不就是让车沿着线走吗?后来才发现,这里面的门道可太多了。车辆是个非线性系统,轮胎的侧偏特性、悬架的变形、路面附着系数变化……这些都会影响控制效果。

从数学角度看,横向控制解决的是这样一个问题:

给定目标路径(参考线)
给定当前车辆状态(位置、航向角、速度)
输出:方向盘转角(或前轮转角)
目标:车辆实际轨迹与目标路径的误差最小化

嗯,这里要注意,横向控制不是简单的「偏差大就多打方向」。如果处理不好,车会像喝醉了一样左右摇摆,这在高速上是非常危险的。

1.2 横向控制在自动驾驶中的角色

自动驾驶系统通常分为感知、决策、规划、控制四大模块。横向控制属于控制层,是真正「动手」的那个角色。

我习惯用一个比喻来解释:

  • 感知是眼睛——看到路在哪、有没有障碍物
  • 决策是大脑——判断该直行还是变道
  • 规划是导航员——画出一条具体的行驶轨迹
  • 控制是双手双脚——执行规划出的轨迹

横向控制就是那双「打方向盘的手」。规划层说「前方100米右转」,横向控制就要精确地让车在正确的位置、以正确的曲率完成转弯。

核心要点:横向控制是自动驾驶系统的「最后一公里」。规划得再好,控制执行不到位,一切都是空谈。我在项目中遇到过多次,规划轨迹很完美,但控制算法参数没调好,结果车辆在弯道里直接偏出去了。

横向控制的好坏,直接决定了乘客的乘坐体验。你想想看,如果车在车道里来回晃,或者过弯时方向盘一顿一顿的,乘客会怎么想?

1.3 横向控制与纵向控制的区别

很多初学者容易把横向和纵向搞混。我简单说说它们的区别:

维度 横向控制 纵向控制
控制对象 方向盘转角 油门/刹车踏板
目标 跟踪路径,减少横向偏差 跟踪速度,保持安全距离
核心模型 车辆运动学/动力学模型 纵向动力学模型
主要挑战 非线性、轮胎侧偏、曲率变化 坡度、风阻、制动延迟
典型算法 纯跟踪、LQR、MPC PID、前馈+反馈

说白了,横向控制管的是「方向」,纵向控制管的是「速度」。两者是解耦的,但在实际系统中又相互影响。比如高速过弯时,如果纵向速度控制不好,横向控制的压力会非常大。

一个小技巧:我在调试横向控制时,通常会先把纵向控制固定在一个恒速上。这样能排除速度变化带来的干扰,专心调横向参数。等横向调好了,再放开纵向控制做联合调试。

1.4 课程整体大纲介绍

这个课程一共30章,我按照「从零到一」的思路来设计。你不需要有控制理论的基础,但最好懂一点线性代数和微积分。

整个课程分为四个阶段:

  1. 基础篇(第1-8章):车辆模型、坐标系、参考线处理。这部分是地基,我会花大量篇幅讲清楚。
  2. 经典算法篇(第9-18章):纯跟踪、Stanley、LQR、MPC。每个算法我都会从原理推导到代码实现,手把手带你走一遍。
  3. 进阶篇(第19-25章):参数整定、鲁棒性分析、实车调试技巧。这部分是我多年踩坑经验的总结。
  4. 实战篇(第26-30章):完整项目实战,从仿真到实车部署。

下面这张图可以帮你快速了解整个知识体系:

横向控制算法知识体系 第一阶段:基础篇(第1-8章) 车辆运动学模型 | 自行车模型 | 坐标系变换 | Frenet坐标系 | 参考线平滑 —— 打好数学和物理基础,理解车辆怎么动 —— 第二阶段:经典算法篇(第9-18章) 纯跟踪(Pure Pursuit) | Stanley | LQR | MPC | 前馈+反馈控制 —— 从几何法到最优控制,逐步深入 —— 第三阶段:进阶篇(第19-25章) 参数整定方法 | 鲁棒性分析 | 时滞补偿 | 状态估计 | 实车调试技巧 —— 从仿真到实车,解决真实世界的问题 —— 第四阶段:实战篇(第26-30章) 完整项目:从仿真环境搭建 → 算法实现 → 参数调优 → 实车部署 —— 把前面学到的所有知识串起来,做一个完整的横向控制系统 —— 共30章,循序渐进,每章都配有代码示例和练习题

避坑提醒:我曾经见过不少同学,一上来就跳着看MPC(模型预测控制),觉得这个算法最牛。结果基础没打牢,连车辆模型都建不对,最后代码跑出来全是bug。我的建议是:老老实实按顺序来,每一步都走扎实。

这个课程里,我会把每个算法的推导过程、代码实现、参数调优技巧都讲清楚。你跟着学完,应该能独立完成一个横向控制系统的开发。

好了,第一章就到这里。下一章我们开始搭建开发环境,顺便聊聊车辆运动学模型——这是所有横向控制算法的基础。

📌 本章要点回顾:

  • 横向控制 = 控制方向盘,让车沿着目标路径行驶
  • 横向控制是自动驾驶系统的执行层,直接影响安全性和舒适性
  • 横向控制管方向,纵向控制管速度,两者相互影响
  • 课程分四个阶段:基础→经典算法→进阶→实战

可可精品资料库