本文纯属了解下,常见的控制算法,了解皮毛,
常见的方法罗列如下
- PID,比例积分微分,本科学控制的同学肯定比较熟悉,自动控制原理等课程有讲解
- 模糊控制,感觉比较玄学,我没见过应用场景.
- 最优控制,有能量最优,时间最优,等方案
- 滑模控制,我也没有见过
- 模型预测控制,MPC,apollo中用到了
- 深度学习方法,基于端到端的控制,用大量老司机的驾驶行为做有监督的训练,直接得到控制量.comma.ai是这么做的
一般分横向和纵向控制,据我了解,纵向用PID较多,模型比较简单,好用.横向控制比较精细,使用MPC方案
输入是路径规划的轨迹点,目标是让车经过这些轨迹点.同时车的乘坐体验好
输入:
- 路径规划出的轨迹点,每个点带参考速度,
观测量: - 车辆状态,比如imu测量的加速度,油门开度,方向盘转角
控制量: - 油门,方向盘,刹车
输出 - 车辆真实的运动结果
PID
乎上写得比较通俗易懂,https://zhuanlan.zhihu.com/p/39573490
P有稳态误差,对当前的测量作出反馈,对扰动敏感
I可以消除稳态误差,增大了超调,系统响应变慢
D对输入和扰动敏感,容易震荡
疑问:多输入多输出的PID怎么操作?
可以参考知乎上说的,解耦 https://www.zhihu.com/question/60546121
规划planning
参考apollo文章 https://mp.weixin.qq.com/s/YDIoVf20kybu8JEUY3GZWg
主要使用的是latice planning
Lattice规划出来的曲线是“时间-多项式”曲线。多项式的值(零阶导)对应位置,多项式的一阶导对应速度,二阶导对应加速度。
参考资料
http://www.sohu.com/a/213351281_465591
https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247485424&idx=1&sn=6a6d6ece4f5055e381b07eddc877d199&chksm=ea1e1582dd699c942e56a2803f012d84170745c71defa99175733eb5acdbe256d6894030a37b&scene=21#wechat_redirect
https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247485424&idx=1&sn=6a6d6ece4f5055e381b07eddc877d199&chksm=ea1e1582dd699c942e56a2803f012d84170745c71defa99175733eb5acdbe256d6894030a37b&scene=21#wechat_redirect