无人驾驶实战-第十一课(控制理论)

无人驾驶中控制系统的输入与输出

控制系统在无人驾驶系统中的位置

CANBus

车辆底盘交互协议(由车厂来决定),包括Chassis(底盘) 、速度、四轮转速、健康状况、底盘报错、自动驾驶状态

控制的任务

Planning的轨迹信息,不同环境下的轨迹跟踪(雨雪、陡坡、石头路)。保证车辆可行性,保证车辆舒适性,实时性要求高(100Hz)

控制系统为什么重要?

控制是对车辆油门、刹车、方向盘的精细控制,是安全行驶的最后关卡,克服外界各种不确定性环境因素(风速、湿滑)

控制模块:让车辆在既定轨迹上平稳运行的学问,控制问题很复杂,是一套严格的数学分支

控制系统的预处理

数据清洗:不正常信号、planning异常值

合理性检查:定位信息、车辆底盘信号

紧急处理:前方突然出现障碍物(Emergency Stop)

信号Smooth:去除信号噪声、Lag Compensation

控制系统的后处理

Saturation/Limitation 处理:执行器的固有缺陷补偿

信号Smoothing:简单的平滑处理和异常检查

ontroller 控制器设计:建模,系统参数辩识,控制观测器设计,参数Fine Tuning

控制系统:消除数学模型和物理模型差异性的过程

对于无人车: Stability:稳定性,对于任何环境的都需要稳定(安全);稳态误差:尽可能小,保证执行上层命令;动态误差:在动态工程中也需要保证很多性能。

制的理论基础

时间域(Time Domain):超调量、超调时间、稳态调整时间(整体时间)、上升时间

频率域(Frequency Domain):通过频率(Pass Band)、停止频率(Stop Band)、带宽、截止频率

离散域(z变换)

拉普拉斯变换:时域 → 频域

傅立叶变换(FT,FFT)

控制系统三域是可以相互变换的,不同领域对特定的需求有不同的解法。控制算法也正对不同域有不同的优势,扩展了人对物理系统的深刻理解。

PID

最简单但是应用最广最有效的控制器,任何模型都可以,反馈控制,输入可以是速度、位置等。

P:proportional。比例跟误差成正比,误差越大,作用越强 容易出现震荡,无法收敛。越靠近目标,应该作用越小,才能稳定。注意在误差是0的时候,控制器的输出也是0。

D:derivative 微分。阻尼项,减少控制器输出的变化率。考虑将来误差,计算误差的一阶导,并和一个正值的常数相乘,微分控制可以提升整定时间及系統稳定性。

I:integral 积分。纠正系统累计偏差,缩小稳态误差。考虑过去误差,将误差值过去一段时间和(误差和)乘以一个正值的常数,积分控制会加速系統趋近设定值的过程,并且消除纯比例控制器会出现的稳态误差。

PID控制器是世界上最好用的控制器,需要的信息少:当前状态、目标。无人车里面用于控制转向和加速度。

PID是线性控制器 复杂系统是不够的:四轴飞行器、多自由度机器人 依赖于实时误差,不能有测量时延

位置式:输出控制量大小的实际值

增量式: 输出只是控制量的增量 递推式算法

无人车的应用: 速度使用的是位置式 方向盘使用的位置式

串联控制:改善控制质量的有效方法,应对多变量控制和多干扰项。外环控制器的输出作为内环控制器的设定值,内环控制器的输出去操纵控制阀、

复杂控制器设计

控制任务:按照Planning要求到达目标,适应不同路况,适配不同车型

动力学建模:横向模型和纵向模型

控制器设计:横向控制和纵向控制

模型表征一个车辆的物理特性, 评估每一个控制输入应用于车辆后会发生什么

小误差模型

横向动力学模型:Heading误差,横向误差

系统辨识模型

模型有些参数式不知道的,需要确定系统模型,这个叫系统辨识。系统辩识:通过实验的方法采集参数;White Box:汽车大多是白箱辩识;Black Box:有点像神经网络;Grey Box。 Learning-Based 方法 机器学习

最优控制理论

Optimal Control:给定一个系统和环境扰动,根据需求条件(Objective),实现最优的控制量决策。

复杂度从左往右递增, 精准度从左往右递增。

LQR(线性二次调节器)

LQR = linear quadratic regulator

基于模型的控制器 :通过车辆状态和模型推理,使得误差最小,可用于设计横向控制器。

状态X: 横向误差及其变化率,Heading误差及其变化率

控制量U: 方向盘、油门、刹车

LQR 状态方程:线性等式(L)。尽可能减少误差,同时使用最小的输入量U。这样做可以做到省油、平滑等特性。

Cost 函数 Q和R为正定矩阵

MPC(模型预测控制)是更为复杂的控制器。

基本步骤: 1.建立模型;2.计算有限时间范围内的最优控制输入;3.执行第一组控制输入

迭代优化的思想: 先计算一系列的控制输入并优化该序列输入;执行第一组控制输入;循环执行上面两步

LQR VS MPC:LQR针对固定的时间区间(一般为无限长时间)进行最佳化,而MPC针对不同的时间区间分别进行最佳化

模型、约束、优化结合

MPC控制流程图

预测系统,车辆动力学模型, 滚动优化,反馈矫正。

相关推荐
TiAmo zhang3 分钟前
深度学习与图像处理 | 基于PaddlePaddle的梯度下降算法实现(线性回归投资预测)
图像处理·深度学习·算法
一匹电信狗18 分钟前
【C++】手搓一个STL风格的vector容器
c语言·数据结构·c++·算法·leetcode·stl·visual studio
生信探索23 分钟前
SeuratExtend 可视化教程(1):单细胞分析的高颜值绘图指南
算法
李永奉38 分钟前
C语言-数组:数组(定义、初始化、元素的访问、遍历)内存和内存地址、数组的查找算法和排序算法;
c语言·算法·排序算法
星辰大海的精灵1 小时前
深入解析 CopyOnWriteArrayList
java·后端·算法
逝雪Yuki1 小时前
Leetcode——11. 盛最多水的容器
c++·算法·leetcode·双指针
找不到、了1 小时前
Java排序算法之<希尔排序>
java·算法·排序算法
啊阿狸不会拉杆2 小时前
《Java 程序设计》第 8 章 - Java 常用核心类详解
java·开发语言·python·算法·intellij-idea
m0_626535202 小时前
python每日一题
算法
SuperCandyXu2 小时前
洛谷 P10448 组合型枚举-普及-
算法·洛谷