Skip to content

控制基础

约 1 分钟阅读 0%

从暑假开始(默认学会了 ROS 和 C++):

周数学习内容
1-2 周学习 PID 算法和 PP 算法,参考 PP_car.cpp,理解两个算法、运动学单车模型和完整的控制代码架构
3-4 周学习 Stanley 算法并尝试搭建仿真,参考仿真教学视频,在根据教学搭建完 Stanley 仿真之后独立搭建 PP 仿真
5-6 周学习 MPC 和模糊 PID 等进阶算法,优化算法,并对每种算法的优缺点有自己的理解,完整重构控制代码
暑假之后按需求重写启动脚本,维护 VCU 通信,实车调参,学习控制理论(理解为主)

需要了解的内容:


常用的两个算法:

需要掌握的内容

  • 分析两个算法的优缺点
  • 适合的赛道,以及为什么适合这个赛道
  • 两个算法主要就调 ld(预瞄距离)和 d(t)(横向误差),知道如何调节这个参数

让你的方向盘不会一次性打太大然后飞出去,用 PID 算法处理

PID 调参要点

  • 主要上实车调,车没造好的时候可以报一个小车的比赛调着试一试
  • 理解参数的特点
  • I 需不需要定时清除?
  • D 是否必要?(实车调参的时候视情况而定)

控制车辆速度(控制踏板率,准确来说不是速度,但可以简单理解为速度)。

  • 具体的速度可以根据横向控制的具体输出计算
  • 区分横纵向协同控制和横纵向联合控制的区别

如果需要学习的话可以先尝试 Stanley 的仿真(买了配套视频)。

仿真平台:Simulink + CarSim 联合仿真

准备工作

  • 软件网上找免费版,实在找不到的话网盘里有
  • 需要学习 MATLAB 的相关知识,先只用学习基础语法就行

答辩准备

  • 为什么要仿真?
  • 仿真有什么用?
  • 如何消除仿真和实车之间的差距?

可以用”矩形隶属度函数的零阶 Sugeno 模糊推理系统”来理解,这东西其实是分段 PID(增益调度 PID),说是模糊 PID 也说得过去。


发现问题?欢迎在 GitHub 上直接编辑此文档。