跳转至

课程

📖 阅读信息

阅读时间:16 分钟 | 中文字符:6212 | 有效代码行数:31

绪论

车载电子控制系统:

  • 动力系统:TCS:牵引力控制系统
  • 转向系统:EPS:电子助力系统
  • 制动系统:ABS
  • ACC:自适应巡航系统

智能驾驶控制系统

英文名称

  • ADAS: 驾驶辅助系统 (Advanced Driving Assistance System)
  • ACC: 自适应巡航系统 (Adaptive Cruise Control)
  • DAC: 驾驶员警示系统 (Driver Alert Control)
  • LDWS: 车道保持系统 (Lane Departure Warning System)
  • APS: 自动泊车系统 (Automated Parking System)
  • AEB: 自动紧急制动系统 (Autonomous Emergency Brake)
  • ITS: 智能交通系统 (Intelligent Transport System)

自动驾驶的分级

分为 5 级:

  1. L 0:应急辅助
  2. L 1:部分辅助驾驶:只实现车道保持、自适应巡航中的一项操作
  3. L 2:组合辅助驾驶:具有复合功能的
  4. L 3:有条件自动驾驶:在某个特定的驾驶条件下可以完全不需驾驶员控制汽车(半自动驾驶)
  5. L 4:高度自动驾驶:系统完全自动控制车辆,全程检测交通环境,能够实现所有的驾驶目标
  6. L 5:完全自动驾驶:完全控制车辆,我们的终极目标

基于 V 模型的车辆控制器开发

V 字型的
  1. 首先在软件中(matlab,carsim)进行控制策略和软件中的仿真——SIL(软件在环测试)
  2. 之后再将原来的车辆模型换成真实的车辆,仍然使用虚拟的控制器
    NI 实时控制器,控制器模型可以驱动连续的模拟电信号(电脑上的控制器模型是数字信号,不能直接驱动车辆)

  3. 之后引入真实的控制器

  4. 使用真实的控制器驱动虚拟的车辆模型——HIL(硬件在环测试),这里的 carsim 是在线的 carsim RT,可以测试真实的控制器
  5. 最后我们在实车上试验进行标定

本次课程的重点就是上面的 V 字图的左上角的两个虚拟的模型搭建


离线仿真测试结果

课时安排

控制系统导论

组成

控制系统:由相互关联的元件按照一定的结构构成的,能够提供预期的系统响应

  • 闭环
  • 开环控制

    闭环是可以控制扰动的(抵挡)

分类

  • 控制理论
    • 经典控制理论
    • 现代控制理论:状态空间描述(微分方程式)作为数学模型,利用计算机作为系统建模分析
      适应于非线性、时变的
      在时域内利用空间分析来研究与解决多输入多输出系统的最优控制问题
      最大值原理、动态规划、卡尔曼滤波

系统建模与传递函数

建立被控对象模型、控制模型

物理系统数学建模的方法

建模的方法
  • 实验法:由试验数据进行整理,并拟合比较接近实际系统的数学模型,适用于复杂系统
  • 分析法:按照相关的规律(牛顿定理等),建立数学模型,适用于简单的系统

列出系统微分方程的一般步骤:

  1. 确定系统的输入量、扰动量、输出量
  2. 列出各个环节的动态微分方程
  3. 消除中间变量,导出系统的输入输出的微分方程
  4. 整理系统的微分方程
    最后得到的是:

    \[ R_{1}C_{1}R_{2}C_{2}\frac{d^{2}u_{2}}{dt^{2}}+\left(R_{1}C_{1}+R_{2}C_{2}\right)\frac{du_{2}}{dt}+u_{2}=u_{1} \]

    等式的左边:输出相关量(要调节的物理量);右边:输入量解答

直流电机微分方程

  • 基尔霍夫定理,回路的电压方程
  • 电机转子的运动方程

传递函数:对上面的微分方程拉氏变换

  • 传递函数:输出除以输入;本质上就是被控对象的模型

    \[ G(s)=\frac{X_{o}(s)}{X_{i}(s)}=\frac{b_{m}s^{m}+b_{m-1}s^{m-1}+\cdots+b_{1}s+b_{0}}{a_{n}s^{n}+a_{n-1}s^{n-1}+\cdots+a_{1}s+a_{0}}\quad\mathrm{(n\geq m)} \]
  • 系统框图

  • 零极点增益模型:

    \[ G(s)=\frac{X_{o}(s)}{X_{i}(s)}=\frac{K(s-z_{1})(s-z_{2})\cdots(s-z_{m})}{(s-p_{1})(s-p_{2})\cdots(s-p_{n})} \]

    零点、极点、放大倍数

系统的六种典型环节

比例、惯性、微分、积分、振荡、延时

比例环节

也就是放大环节:(无惯性环节,零阶环节)

\[ G\left(s\right)=\frac{X_{o}\left(s\right)}{X_{i}\left(s\right)}=K \]

在电路系统中就是下面这幅图:

此时的输出只有幅值的变化,没有失真和延迟
或者是机械系统中的减速器:减速增扭的作用

惯性环节

\[ G(s)=\frac{X_{o}(s)}{X_{i}(s)}=\frac{1}{Ts+1} \]

惯性环节包括一个储能元件(电容)+ 一个耗能元件(独立的储能元件能将微分方程的阶数提高一阶)

惯性环节的输出总落后于输入
机械中的惯性环节:弹簧阻尼系统

相似原理

对于不同的物理系统,可以用相似的数学模型来表示:

微分环节

\[ G(s)=\frac{X_{o}(s)}{X_{i}(s)}=Ts \]


这个系统的传递函数就是微分环节


机械系统的微分环节:
齿条的位移为输入,齿轮的角速度为输出

积分环节的传递函数

\[ G(s)=\frac{X_{o}(s)}{X_{i}(s)}=\frac{1}{Ts} \]

有源积分网络:


同样,将微分环节中的机械系统的输入输出调换,得到的就是积分环节:

二阶震荡环节

组合机床动力滑台及其力学模型

上述为质量 - 弹簧 - 阻尼系统
其传递函数标准形式为:

\[ G\left(s\right)=\frac{X_{o}\left(s\right)}{X_{i}\left(s\right)}=\frac{\varpi_{n}^{2}}{s^{2}+2\xi\varpi_{n}s+\varpi_{n}^{2}} \]

与上面的惯性环节相似,但是多了质量(所以多了个加速度的影响)


电气系统
电路中加入了电感:

延迟环节

传递函数为:

\[ G(s)=\frac{U_{0}(s)}{U_{\mathrm{i}}(s)}=e^{-\tau s} \]


所以会延迟一段时间


机械系统中:

车辆上几个简单环节的组合

车速控制的系统建模

1 自由度模型

  • 适用于分析直线行驶的模型
  • 对上述建立运动方程:

    \[ \begin{aligned}&m*\frac{d\nu}{dt}=F_{x}-F_{a}\\&J*\frac{d\omega}{dt}=T-F_{x}*R\end{aligned} \]

    再加上车速与车轮角速度之间的关系得到最后的运动方程式:

    \[ \frac{d\nu}{dt}=(m+\frac{J}{R^{2}})^{-1}\frac{T}{R}-(m+\frac{J}{R^{2}})^{-1}F_{a} \]

    上述就是 1 自由度的车辆的速度关系式
    上述搭建模型为:

半车模型悬架系统


控制方程为:\(\left(m_1s^2+Ds+K_1+K_2\right)X(s)=\left(Ds+K_2\right)X_o(s)+K_1X_i(s)\)
建模为:

1 自由度车辆的坡路控制

在外加坡道阻力的时候,如果没有反馈控制的话,车速会直接下降
怎么做到呢
引入 PID 反馈控制

主要引入的就是框柱的部分,PID 的输入是实际值和期望值的差值,输出是补偿的扭矩

PID 控制

比例、积分、微分线性组合构成的控制器

  • 类型:
    比例
    比例积分
    比例微分
    比例积分微分

  • 比例调节
    • \(y=K_{\mathrm{P}}e(t)\)
    • 输入为误差值
    • 具有及时调节的特点
    • 就是直接将误差值返回去了
    • 但是不能消除稳态误差
  • 比例积分 PI 控制器
    • \(y=\frac{1}{T_{\mathrm{I}}}\int e(t)\mathrm{d}t\)
    • \(T_1\) 为积分时间常数,表示积分速度的大小,越大,积分作用越弱
    • 将上述的两者结合,就是 PI 调节器:
    • \(y=K_{P}\left[e(t)+\frac{1}{T_{1}}\int e(t)\mathrm{d}t\right]\)
    • 但是还是有一定的超调和波动
  • 比例积分微分控制器
    • \(y=K_P\left[e(t)+\frac{1}{T_\mathrm{I}}\int e(t)\mathrm{d}t+T_\mathrm{D}\frac{\mathrm{d}e(t)}{\mathrm{d}t}\right]\)
    • 相对于上一种可以减少超调量

选择
  1. 增大比例系数一般将加快系统的响应,在有稳态误差(静差)的情况下有利于减小稳态误差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。
  2. 增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。
  3. 增大微分时间有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对抗扰动的抑制能力减弱。

1 自由度车辆模型考虑风速时的车辆控制


对扰动的建模:

ABS 系统

安全系统

防抱死制动系统 ABS

anti-lock Brake system
轮胎抱死拖滑

  • 危害:
    磨损
    制动距离增加
    转向失效(前轮先抱死)
    侧滑甩尾(后轮抱死)
    侧翻
  • ABS 系统就可以防止上面的

历史

博世获得的专利
组成:传感器、ECU、压力调节器

组成

工作过程

  • 两个轮速传感器 1、5 检测轮速信号
    • 分析车轮是否即将抱死
      • 没有抱死时,2 不工作,7、9 相通,制动轮缸中的压力不断增大
      • 抱死时 2 关闭制动主缸与制动轮缸的提到,使得制动轮缸中的压力不在增大
        • 仍然区域抱死时,2 打开制动轮缸与储液室,使得制动轮缸的压力降低

制动受力分析

同汽车理论

所以 ABS 的主要作用是将滑移率控制在 10%~20% 之间

\[ S=\frac{\nu_{c}-\nu_{t}}{\nu_{c}}\times100\% \]

在制动时,\(v_c\) 是车身的速度
启动时相反(启动时叫滑转率)
所以无论是什么时候,都是大的速度减去小的速度,再除以大的速度
不分的时候直接叫滑动率

ABS 的主要控制方法


但是滑移率是怎么计算出来的

滑移率的标定

实际的,使用多普勒雷达或者加速度传感器测定车速
在高、低附着路面;在路面情况突变的情况下标定

ABS 逻辑门限值控制

过程
  1. 初始阶段:
    随着制动压力的上升,车轮的减速度增大,当车轮的减速度达到门限值 \(-a\) 时,计算得到的参考滑移率没有达到门限值 \(s_1\),因此,控制系统使得制动压力进入保持阶段(第二阶段)

    红色区域就是第二阶段,可见:
    • 第二阶段从车轮的减速度到达一定值时开始
    • 第二阶段滑移率没有达到预定值,所以没有干预,仍然充分制动
  2. 第三阶段
    当参考滑移率小于门限值时,进入第三阶段
    第三阶段制动压力开始减小
    此后,随着制动压力的减小,车轮在惯性的作用下开始加速(减速度减少)
  3. 第四阶段
    随着车轮开始加速,当车轮的减速度超过门限值 \(-a\) 时,进入第四阶段(制动压力保持阶段

    此时由于汽车惯性的作用,车轮仍然在加速,当车轮的加速度到达加速门限值 \(+a\) 时,仍然保持制动压力,直到车轮加速度超过第二门限值 \(+A\) (为了适应附着系数突然增大设置的)时,此时的制动压力再次增大
    到第五阶段
  4. 第五阶段:

    制动压力变大 ->车轮加速度又低于 \(+A\),又进入制动压力的保持阶段(第六阶段
  5. 第六阶段

    直到车轮加速度下降\(+a\) 以下为止都是第六阶段
    之后到达第七阶段,对制动压力的控制为增压、保持的快速转换
  6. 第七阶段通过增压、保持的快速转换实现车轮滑移率在理想滑移率附近波动
  7. 第八阶段
    当车轮减速度再次超过 \(-a\) 时,进入第八阶段,进入制动压力减小的阶段,进入下一轮循环控制过程

EMB

电子机械制动系统:EMB

电机设计与控制

使用无刷直流电机作为 EMB 执行器的驱动电机
得到的电机的电压平衡和力矩平衡方程为:

\[ \begin{gathered}U=R_{m}i+L_{a}\frac{di}{dt}+E_{a}\\E_{a}=K_{e}\omega_{m}\\J_{m}\frac{d\omega_{m}}{dt}=T_{e}-T_{L}-T_{f}\\T_{e}=K_{T}i\end{gathered} \]
可见

电流与输出转矩正相关
而电压与输出转矩可以简化为一阶惯性环节的关系:\(\frac{T_e(s)}{U(s)}=\frac{K_t/R}{(L/R)s+1}\)
说明转矩是滞后于电压变化的
而车轮转速的变化又滞后于转矩的变化

控制策略包括电流控制、速度控制、位置控制等等

机械关键技术

  • 减速器与夹紧装置
    减速器结构:使用行星齿轮或者平行轴齿轮
    夹紧装置:滚珠丝杠(将转矩变为夹紧力)
    两者之间的传动:行星齿轮的输入端与驱动电机的转子星联,输出端与滚珠丝杠相连
    • 滚珠丝杠转速与减速器之间的关系:\(\omega_{s}=\frac{\omega_{m}}{k}.\)
    • 滚珠丝杠的夹紧力会通过减速器传递给驱动电机作为其负荷转矩,数学模型为:
      \(T_{L}=\frac{L}{2k\pi}F_{N}\)
      其中的 L 为滚珠丝杠的导程,\(F_N\) 为夹紧力
      • 夹紧力获取:数学模型计算、电机转矩与夹紧力的特性曲线获得
      • 夹紧力控制:使用先进的控制算法:滑模控制算法、逻辑门限值控制、最优控制算法等

ASR

驱动防滑系统

  • 作用:在起步、加速或者是较滑的路面时(对开,对接)
    尤其是防止汽车在非对称路面或者在转弯驱动时驱动轮出现打滑

滑转率

ASR 的作业是将滑转率控制在 5%-15%

\[ S_{z}=\frac{\nu_{t}-\nu_{c}}{\nu_{t}}\times100\% \]

纯滑转

驱动时,车身速度为 0,车轮的速度不为 0 时,为纯滑转


ASR 与 ASR 的区别


在 ASR 中,还会控制制动力矩:因为要实现单独控制一个车轮的力矩,只有制动力能实现

控制系统 ABS ASR
控制总目标 控制车轮相对地面的滑动 控制车轮相对地面的滑动
达到效果 提高制动效能和确保制动安全 提高起步、加速及在湿滑路面的牵引力,确保行驶稳定性
控制对象 四轮 驱动轮(只有驱动轮会打滑)
起作用时间 车速很低时不起作用 车速很高一般不起作用(不能轻易改变)

组成:

都是三部分:传感器、ECU、执行器

传感器

  • 轮速传感器:与 ABS 共用
  • 节气门传感器:与发动机电子控制系统共用
    ASR 是可以选择断开的

ECU

主要功能

ASR 只在一定的范围内起作用,超过 80km/h 时,是不工作的

  • 当利用车轮速度传感器监测测定、比较前轮平均速度与后轮转速,检测后轮打滑程度。
  • 若前轮的平均速度超过“节气门控制设定速度”,则 ASR 的节气门控制进入工作状态,即向节气门进行节流,减少发动机输出功率。
  • 若经过上述第 2 项限制后,后轮的打滑程度加剧,超过“制动控制设定速度”时,则 ASR 的制动控制作用于后轮,即后轮制动油压增加,以减低后轮的打滑程度。
  • 当后轮速度开始下降,保持制动阀门打开,制动控制工作时,则后轮制动油压下降。
  • 当后轮转速下降,低于“制动控制设定速度”,则后轮制动油压下降。
  • 当后轮转速下降,低于“节气门控制设定速度”时,则节气门开启;过一定时间后,回到正常位置。
举例
  1. 汽车左转弯时,若前轮因转向能力不足而趋于滑出弯道,ASR 系统即可测知侧滑即将发生,就采取适当制动左右轮的制动力可帮助汽车转向,使汽车继续按照理想的路线行驶。
  2. 若在同一弯道上,因后轮趋于侧向滑出而转向过多,ASR 系统即可采取适当制动前轮的办法,维持车辆的稳定行驶。
  3. 在极端情况下,ASR 系统还可采取降低发动机功率输出的办法降低行驶车速,减少对地面横向附着力能力的需求来维持车辆的稳定。采用 ASR 系统后,汽车在对开路面上面或弯道处的制动距离比普通系统缩短。

技术难点

  1. 节气门开度调节与制动力矩控制协同工作。
  2. 执行机构的滞后问题。(EMB 上这个问题会减少)
  3. ECU 的抗干扰问题。
  4. 路面状况的识别技术。(也就是路面的附着系数
  5. 车辆运行速度的实时准确估计问题。
  6. 强鲁棒性非线性控制理论及其在 ASR 中的应用。

电动助力转向 ESP

传统的转向系统

齿轮齿条式和循环球式

发展历程


最后就是线控转向:SBW
下面的这幅图就是电助力的转向

EPS 的控制逻辑


驾驶员对方向盘输入的扭矩转化为(或者是扭杆形变的转角)线性的电压输出信号,此时的信号与车速信号 v、发动机转速信号 W,点火信号 G 送入控制器中综合分析运算输出电流信号控制助力电机


助力转向特性为:

直线型特性曲线

\[ 1=\begin{cases}0&0\leq T_{h}<T_{h0}\\K_{v}(T_{h}-T_{h0})&T_{h0}\leq T_{h}<T_{hmax}\\I_{max}&T_{h}\geq T_{hmax}&\end{cases} \]

182


助力特性建模为:

\[ \mathrm{I}=\begin{cases}0&&0\leq T_h<1\\K_v(T_h-1)&&1\leq T_h<7\\6K_v&&T_h\geq7&\end{cases} \]

要成为一个闭环的话可以加入:PI 控制器


电机的输出结果乘以比例系数 0.8,得到的就是电机输出的助力扭矩的大小

Info

图中的一阶惯性环节表示反馈的助力相对于目标助力的滞后,综合了如下的环节:

  • 电机电气动态
  • 电流到转矩的建立过程
  • 驱动器/执行器响应滞后
  • 一部分机械响应特性

低速时的助力转向为正,高速时的助力转向为负
高速沉稳

线控转向 SBW


上图采用了四电机转向
组成模块:

  1. 转向盘模块
  2. 前轮转向模块
  3. 主控制器
  4. 自动防故障系统

  5. 原理:取消了方向盘与车轮之间的机械连接


四轮转向系统:后轮与前轮一起参与转向,提高车辆机动性及稳定性。
后轮转向的类型:

  • 转角传感型:
    后轮偏转角与前轮偏转角之间存在某种函数关系
  • 车速传感型:
    由车速设定,当车速达到一定值时,后轮与前轮同方向偏转;低于时,反向偏转

阿克曼四轮转向模型

  • 前轮转向:
  • 后轮转向:
  • 四轮异向转向:
  • 原地转向:
  • 其他:

控制方程

使用二自由度模型和驾驶员模型:

二自由度微分方程:
集成控制器:

\[ \begin{cases}(k_{1}+k_{2})\beta+\frac{1}{u}(ak_{1}+bk_{2})w_{r}-k_{1}\delta_{f}-k_{2}\delta_{r}=m(\dot{\nu}+ur)\$ak_{1}-bk_{2})\beta+\frac{1}{u}(a^{2}k_{1}+b^{2}k_{2})w_{r}-ak_{1}\delta_{f}+bk_{2}\delta_{r}=I\dot{w}_{r}&\end{cases} \]

SBW 四轮转向的联合仿真
车辆模型的主要参数

悬架

电控主动悬架主要也是由传感器、ECU 和执行器组成

主动悬架有:

  • 电控液压主动悬架
  • 电控空气悬架
  • 电磁主动悬架系统
    与高级驾驶辅助系统协同

    调节刚度、阻尼和车身高度

控制方法

模糊控制

以前学习的 PID 控制具有局限性(只能控制线性的、参数恒定的系统)
但是实际的系统具有复杂性

模糊控制:优势——对于时变的,非线性的复杂系统,可以不活的被控对象清晰的数学模型


基本原理:
运算的时候转换为数字信号(离散的)进行转换

上面的部分就是模糊控制器
四大部分:模糊化——规则库——模糊推理——清晰化

步骤
  1. 定义语言变量:
    1. 模糊化接口:

      也就是可以实现转化为模糊的语言值
    2. 模糊控制器的维数:

      也就是对误差可以进行多次的微分,作为输入
  2. 语言变量的论域:
    控制查询表反应了模糊控制器算法求出输入量和输出量在给定离散点上的对应关系
    1. 模糊论域(离散域)
    2. 基本论域(连续域)
    3. 进出的误差还有控制量是连续的:


      也就是连续与离散的对应
      量化——将连续变为离散
      比例——将离散值变为连续值
      量化因子\(k_{e}=\frac{2m}{e_{H}-e_{L}}\quad k_{ec}=\frac{2n}{ec_{H}-ec_{L}}\)
      这里的这些参数就是上面的取值范围
      比例因子\(k_{u}=\frac{u_{H}-u_{L}}{2l}\)
    4. 之后我们就可以使用上述的量和公式进行转换了:
      \(E=<k_{e}\cdot(e-\frac{e_{H}+e_{L}}{2})>\quad EC=<k_{ec}\cdot(ec-\frac{ec_{H}+ec_{L}}{2})>\)
      \(u=k_u\cdot U+\frac{u_H+u_L}{2}\)
      小写的是实际的输入输出,大写的是模糊控制器的输入输出

尺度变化因子对控制性能的影响

尺度变化因子就是之前的量化因子和比例因子:

\[ k_e=\frac{2m}{e_H-e_L}\quad k_{ec}=\frac{2n}{ec_H-ec_L}\quad k_u=\frac{u_H-u_L}{2l} \]
影响

量化因子 \(k_e\) 越大,系统超调越大,过渡时间就越长;\(k_e\) 越小,系统变化越慢,稳态精度降低。
量化因子 \(k_{ec}\) 越大,系统输出的变化率越小,系统变化越慢;\(k_{ec}\) 越小,系统变化越快,但超调增大。
比例因子 \(k_u\) 在系统响应的上升和稳定阶段有不同影响:在上升阶段,\(k_u\) 取得越大,上升越快,但容易引起超调;\(k_u\) 越小,系统反应较慢;在稳态阶段,\(k_u\) 过大会引起振荡。

语言变量的语言值

在语言变量的论域上,将其划分为有限的几档
例如,将 E,EC 和 U 划分为:

\[ \begin{aligned}&\{“正大(PB)”,“正中(PM)”,“正小(PS)”,\\&“零(ZO)”,“负小(NS)”,“负中(NM)”,\\&“负大(NB)”】七档。\end{aligned} \]
  • 档级多,规则制定灵活,规则细致,但规则多、复杂,编制程序困难,占用的内存较多;
  • 档级少,规则少,规则实现方便,但过少的规则会使控制作用变粗而达不到预期的效果。
说明

关系流程:

  1. 传感器得到一个精确值(来自基本论域)。
    通过量化因子,将精确值映射到模糊论域的一个点上。

  2. 在模糊论域上,根据定义好的语言值(模糊集合),计算该点对各个语言值的隶属度。这个过程就是“模糊化”。

  3. 后续的模糊推理和清晰化都在这个模糊论域上进行,最后输出结果再通过比例因子 映射回基本论域,去驱动执行机构。
  4. 简单来说:论域是“数值的范围”,语言变量是在这个范围上“用词语说话的方式”。
Python
[传感器] 
    |
    v
精确值 e (实际物理量速度误差 5 km/h)
    | × k_e (量化因子)
    v
模糊论域值 E (映射后为 2.0)
    |
    v
模糊化  计算隶属度
    | 
    v
语言值及隶属度 {PS: 0.8, PM: 0.2}
    |
    v
模糊推理 (查规则表)
    |
    v
输出语言值及隶属度 {NS: 0.8, ZO: 0.2}
    |
    v
解模糊 (重心法)
    |
    v
模糊论域输出值 U (-1.5)
    | × k_u (比例因子)
    v
精确控制量 u (实际物理量油门开度 -3%)
    |
    v
[执行机构]

语言值实际上就是将抽象的数字具体化了,给一个具体的含义

语言值的隶属函数

这个函数的自变量为模糊论域值,因变量是某个语言值的隶属度
所以对于某个模糊论域来说,有几个语言值就有几个隶属函数
每个模糊论域都有其隶属函数。

  • 分类:
    主要分类有三种

    • 正态分布型函数

      横坐标就是模糊论域中的精确值
    • 三角形与梯形:
    \[ \begin{aligned}&\text{三角形}\\&\mu_{A_{i}}(x)=\begin{cases}\frac{1}{b-a}(x-a),&a\leq x<b\\\frac{1}{b-c}(x-c),&b\leq x\leq c\\\\0&\mathrm{else}&\end{cases}\end{aligned} \]

    过 x=E 的直线与各个语言的曲线的交点就是关于该语言的隶属度


  • 隶属函数形状较尖时,分辨率较高,输入引起的输出变化比较剧烈,控制灵敏度较高;
  • 曲线形状较缓时、分辨率较低,输入引起的输出变化不那么剧烈,控制特性也比较平缓,具有较好的系统稳定性。
    因而,通常在输入较大的区域内采用低分辨率曲线(形状较缓),在输入较小的区域内采用较高分辨率曲线(形状较尖),当输入接近零则选用高分辨率曲线(形状尖)。
  • 兼顾控制灵敏度和鲁棒性
    相邻两曲线交点对应的隶属度值较小时,控制灵敏度较高,但鲁棒性不好;值较大时,控制系统的鲁棒性较好,但控制灵敏度将降低。
  • 清晰性
    相邻隶属函数之间的区别必须是明确的。
  • 完备性:
    隶属函数的分布必须覆盖语言变量的整个论域,否则会出现空档,从而导致失控
说明

现实中有许多元素和集合之间并不是简单的“属于”和“不属于”的关系,只能够在多大程度上接近一种状态,这个接近的程度就是隶属度,隶属度的值在 之间。
误差论域 E 中的模糊集合 NB 用一个在区间 [0,1] 上的取值的隶属函数 \(\mu_{NB}(e)\) 来表示
当这个函数=1 时,表示完全属于 NB
=0 时,表示完全不属于 NB
处于 0,1 之间时,表示部分属于 NB

过程小结
  1. 将系统误差和误差变化量使用量化因子离散化(e,ec->E,EC)(此处不是模糊化,因为还是精确的数字)
  2. 将离散化的精确输入通过模糊化接口转化为模糊输入(E,EC->A',B')
    1. 也就是使用隶属函数:
  3. 将模糊化的输入通过规则库转变为模糊化的输出
  4. 将模糊化的输出通过隶属函数转变了精确的离散输出
  5. 将离散的输出通过比例因子转变为连续的输出

模糊规则与推理

如果水温比期望值高,就把燃气阀关小;
如果水温比期望值低,就把燃气阀开大。
类似这种的就是模糊控制规则及推理

  • 模糊控制器的知识库
    • 数据库:隶属函数,尺度变换因子,模糊空间的分级数
    • 规则库:用模糊语言变量表示的一系列控制规则

规则库
有两种形式:

  • 第一种就是直接语言描述的:
  • 还可以使用矩阵表的形式进行描述

    实际上就是将之前的语言描述的形式变为矩阵的形式
    这里的语言值 NB 这些就是之前的离散化的数据经过隶属函数之后得到的语言值

要注意的问题:

• 规则数量合理
控制规则的增减可以增加控制的精度,但是会影响系统的实时性;控制规则数量的减少会提高系统的运行速度,但是控制的精度又会下降。所以,需要在控制精度和实时性之间进行权衡。

• 规则要具有一致性、控制规则的目标准则要相同
不同的规则之间不能出现相矛盾的控制结果。如果各规则的控制目标不同,会引起系统的混乱。

• 完备性要好
控制规则应能对系统可能出现的任何一种状态进行控制。否则,系统就会有失控的危险。

如下面的规则库:

但是如果规则库无法满足控制实时性的要求,在很多情况下要根据规则库求模糊控制表
上面的模糊控制表就是由规则库和隶属度函数求出来的,可以直接表征离散化之后的输入和输出之间的关系,不需要再通过两者进行和推理了

清晰化

有两种方法:最大隶属度方法;加权平均法(重心法)


最大隶属度方法

  • 通过之前的流程,我们得到了输出的语言值,比如为:C'=NB
    查 NB 这条隶属度曲线,得到其隶属度最大时(也就是极值点)对应的控制量为 -4,则精确输出量就是 -4
  • 若有多个极值点,那么,取诸元素的平均值,进行四舍五入取整,作为控制量:\(C^{^{\prime}}=\frac{0}{-4}+\frac{0.4}{-3}+\frac{0.4}{-2}+\frac{0.4}{-1}+\frac{0}{0}+\frac{0}{1}+\frac{0}{2}+\frac{0}{3}+\frac{0}{4}\)
    如上面的 -3,-2,-1 对应的隶属度都是一样的,所以三个极值点,则精确输出控制量为:\(U=\frac{(-3)+(-2)+(-1)}{3}=-2\)

加权平均法:(重心法)
该方法对模糊输出量中各元素及其对应的隶属度求加权平均值,并进行四舍五入取整,来得到精确输出控制量。

\[ U=\left\langle\frac{\sum_i\mu_{C^{^{\prime}}}(U_i)U_i}{\sum_i\mu_{C^{^{\prime}}}(U_i)}\right\rangle \]

式子中的<>代表取整的操作,如下面的操作

\[ \begin{gathered} C^{^{\prime}}=\frac{0}{-4}+\frac{0.4}{-3}+\frac{0.4}{-2}+\frac{0.4}{-1}+\frac{0}{0}+\frac{0}{1}+\frac{0}{2}+\frac{0}{3}+\frac{0}{4}\\U=\left\langle\frac{0.4\times(-3)+0.4\times(-2)+0.4\times(-1)}{0.4+0.4+0.4}\right\rangle=-2 \end{gathered} \]

得出精确的输出量之后,使用比例因子转换为连续的控制量即可
\(u=k_u\cdot U+\frac{u_H+u_L}{2}\)

设计模糊控制器的流程

  • (1)确定模糊控制器的输入量和输出量;
  • (2)确定输入,输出的论域和尺度转换因子 ke、kec、ku 的值;
  • (3)确定各变量的语言取值及其隶属函数;
  • (4)总结专家控制规则及其蕴涵的模糊关系;
  • (5)选择推理算法;
  • (6)确定清晰化的方法;
  • (7)总结模糊查询表。

模糊控制在汽车控制上的应用

因为 PID 控制难以抑制干扰、非线性因素
所以使用模糊 PID 控制
我们要做的就是确定 PID 自适应参数

\[ F_{\mathrm{d}}(t)=K_{\mathrm{p}}e(t)+K_{\mathrm{i}}\int_{0}^{t}e(t)\mathrm{d}t+K_{\mathrm{d}}\frac{\mathrm{d}e(t)}{\mathrm{d}t} \]

所以我们的流程就是:

量化因子和比例因子可以由我们的输入输出的量决定
而中间的模糊控制器需要设计(隶属函数,规则等等)

模糊设计环节:

该环节所有步骤都可以在 matlab-fuzzy logic designer 中完成

实现自定义的调节:

自动驾驶避障

道路蔟的生成

基于五次方多项式方法生成路径:

  • 首先是五次的路径曲线:\(y\left(x\right)=a_{0}+a_{1}x+a_{2}x^{2}+a_{3}x^{3}+a_{4}x^{4}+a_{5}x^{5}\)
  • 之后对于车辆在这条路上的边界条件进行分析:

    \[ \begin{cases}y(0)=\dot{y}(0)=\ddot{y}(0)=0\\y(x_{e})=y_{e}\\\dot{y}(x_{e})=\ddot{y}(x_{e})=0&\end{cases} \]

    上述分别针对的是起始的形状(完全直线);终点的横向位移;终点的轨迹形状
    - 之后得到横向位移随着时间的曲线:

    \[ \begin{gathered}y=\frac{y_{e}}{t_{e}^{5}}(6t^{5}-15t_{e}t^{4}+10t_{e}^{2}t^{3})\\v_{y}=\frac{30y_{e}}{t_{e}^{3}}(t^{4}-2t_{e}t^{3}+t_{e}^{2}t^{2})\\a_{y}=\frac{60y_{e}}{t^{3}}(2t^{3}-3t_{e}t^{2}+t_{e}^{2}t)\end{gathered} \]

    之后对加速度的函数求导得到加速度的极值,而我们的侧向加速度的限制为:\(0.67\mu g\leq\left|a_{y}\right|\leq0.85\mu g\)
    带入可得最小的转向时间:\(t_{\mathrm{emin}}=\sqrt{\frac{10\sqrt{3}y_{e}}{2.55\mu g}}\)
    - 由于车辆不能与道路边界碰撞:最大的侧向位移:\(y_{enx}\leq y_{edge}-\frac{W}{2}\)
    W 为车道的宽度
    - 最优路径的选择:我们得到了很多的路径,需要选择最好的路径:
    \(J=w_{1}C_{1}[i]+w_{2}C_{c}[i]+w_{3}C_{c}[i]\)
    分别为安全性指标
    效率性指标
    舒适性指标
    从而使用公式计算不同路径的代价函数,选择代价函数最小的

分层决策

就是路径跟踪的步骤:

基于安全时距模型的决策

  • 极限转向距离:\(D_{steer}=\left(v_{f}-v_{r}\right)t_{e\mathrm{min}}+D_{\mathrm{safe}}\)
  • 极限制动距离:\(D_{brale}=\left(v_{f}-v_{r}\right)T_{delay}+\frac{v_{f}^{2}-v_{r}^{2}}{2a_{y\max}}+D_{sefe}\)
    上面的两个是决策——转向还是制动(没有同时进行的这条)
  • 纵向极限碰撞距离:\(S_{e}=\frac{x_{e}-L}{2}+d_{e}=\frac{x_{e}-L}{2}+\sqrt{\left(\frac{B}{2}\right)^{2}}+\left(\frac{L}{2}\right)^{2}\cos\left(\arctan\frac{B}{L}-\arctan\frac{15y_{e}}{8x_{e}}\right)\)
  • 碰撞时间:\(TTC=\frac{S_{s}}{V_{ss}}=\frac{1}{V_{ss}}\left(\frac{x_{s}-L}{2}+\sqrt{\left(\frac{B}{2}\right)^{2}+\left(\frac{L}{2}\right)^{2}}\cos\left(\arctan\frac{B}{L}-\arctan\frac{15y_{s}}{8x_{s}}\right)\right)\)
  • 前向碰撞风险系数:\(FCR=TTC^{-1}=\frac{V_{*}}{S_{*}}\)
    这三个是判断是否需要紧急避障的

车辆模型

MPC 路径跟踪控制器

预测模型

  • 系统的状态量
  • 系统的控制量:前轮的转角

目标函数

\(\operatorname*{min}_{\Delta U}\sum_{k=0}^{N_{p}}\left(J_{1}+J_{2}\right)\)

  • 轨迹跟踪精度:
  • 转角控制量惩罚:

约束条件:

稳定性控制

横摆角速度,质心侧偏角,横摆附加力矩的隶属函数得到的输出的左右后轮驱动力的分配关系的规则

MPC 算法架构


两个控制器:

  • MPC 控制前轮转角变化率和附加横摆力矩的变化率
  • PI 车速控制器输出转矩,控制车速
  • 经过积分和车轮转矩分配模块将转角和四轮转矩值输入至车量执行器

进行优化的计算:

\[ \min_{\{\mathbf{u}_{t}^{0},\mathbf{u}_{t}^{1},\cdots,\mathbf{u}_{t}^{N_{C}}\}}\sum_{k=0}^{N_{p}}J_{1}+J_{2}+J_{3}+J_{4} \]

LQR 控制

目标函数

LQR 为最优控制,也需要计算惩罚函数:

\[ J=\sum_{t=0}^{\infty}\mathbf{x}^{\mathrm{T}}(t)\mathbf{Q}\mathbf{x}(t)+u^{\mathrm{T}}(t)Ru(t) \]