控制方法笔记

基于模型的控制:LQR,模型建立如果不准确,会给控制带来不确定性。

运动学和动力学?

大货车很多参数不了解的话,有时候不如用运动学。所以说,建模不精准不如用运动学。

LQR

模型是状态空间线性的。目标函数是输入和对象状态的二次型函数

二次型问题是在线性系统的约束下,选择适当的控制输入使得目标函数最小。

重点却不重要

LQR公式推导

https://blog.csdn.net/heyijia0327

LQR 的直观推导及简单应用_白巧克力亦唯心的博客-CSDN博客

LQR最优设计:设计出状态反馈控制器K使得目标函数最小。

LQR的优缺点

全状态反馈、控制率设计简单、多变量系统

缺点:适用于线性系统;需要全状态反馈;需要精确的模型;多次迭代对实时性要求高

纵向控制 位置、速度串级PID

L2++是由规划的,控制是跟踪轨迹,预瞄点(目标点)。

不需要:车道线的拟合、转换。

元素很丰富,时间t,x,y,v,a

并联PID不好的原因?

位置环 :加速

速度环:减速

参数调节不好的话,如场景

位置500m,本车100.前车50。

期望先加速度后减速。

上边例子很牵强。

横向控制

纵向控制算法从154行开始

主要作用:判断轨迹是不是合理,转换下格式,

设置一个预瞄的时间

这个函数很重要,计算error的过程,查询匹配点的过程

设置位置误差和速度误差

存一下匹配点的速度和加速度

做一次限制和做一次滤波

做很多次限制和滤波

加速度的结果是

qa:

Apollo filter的解析

巴特沃斯低通滤波

【运动控制】Apollo6.0的LpfCoefficients解析

发动机很肉,延迟很大。

很好的博客

Apollo代码学习(五)---横纵向控制_apollo纵向控制 论文_follow轻尘的博客-CSDN博客

侧向控制的代码

二自由度车辆运动学模型

ADAS对于拐弯比较大的时候,是可以出错的。横向控制有边界。

横纵向是没办法真正解耦的。

Lattice是糅合在一起的。EM是解耦的。

横向是依赖于纵向的,速度变化的,LQR也要变化。

航向角:质心速度与x轴的夹角。

横摆角:车身纵轴线与x轴的夹角。

质心侧偏角:质心速度与车身纵轴线的夹角。

车辆横摆角=车辆航向角-质心侧偏角

横摆角==航向角。工程上

做工程,有的东西,过去就过了,不理解也可以使用。

基于车-路偏差的动力学模型

公式推导,面试之前推最好。

K=dlqr(A,B,Q,R)

Apollo控制算法LQR分析(一) - 知乎

https://www.zhihu.com/people/dkmp

在线求解、动态规划思想,迭代求解黎卡题方程。

1.令P等于最终状态权重矩阵

2.迭代黎卡提方程求出新的P

3.当两次P的插值足够小,计算反馈矩阵K

4.根据反馈矩阵K获取最优控制量u

ACC和LKA都可以使用。

还需要有前馈?为什么

告诉你的目标是80分,你可以达到81,去反馈。

如果你没有标准,只靠反馈,就会很突然,先到到10,再达到20,在到80。

横向的代码

纵向代码

C语言基础不好的可以先看控制代码

L2是没有规划的,把前车当我的目标。

控制不是对规划负责,是对车负责。

ACC、LKA 弯道很小。城区道路右转。城市NOA

可以借鉴Autoware的代码;

LQR的求解器,LQR的矩阵结构、Apollo的一些参数。

相关推荐
亦枫Leonlew11 分钟前
三维测量与建模笔记 - 3.3 张正友标定法
笔记·相机标定·三维重建·张正友标定法
考试宝14 分钟前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
黑叶白树2 小时前
简单的签到程序 python笔记
笔记·python
幸运超级加倍~3 小时前
软件设计师-上午题-15 计算机网络(5分)
笔记·计算机网络
芊寻(嵌入式)4 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
准橙考典4 小时前
怎么能更好的通过驾考呢?
人工智能·笔记·自动驾驶·汽车·学习方法
密码小丑6 小时前
11月4日(内网横向移动(一))
笔记
鸭鸭梨吖7 小时前
产品经理笔记
笔记·产品经理
齐 飞7 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
丫头,冲鸭!!!8 小时前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法