控制概述¶
对自动驾驶来说,控制就是指使用方向盘、油门和刹车,将车驾驶到期望的位置。我们开车在十字路口或拐弯时候,可以凭着直觉和经验来决定拐弯的角度大小,加速的时机,以及是否需要刹车等。我们需要将这种直觉教给计算机。
我们经常把控制算法称之为控制器,PID控制器就是最常见、最基础的控制器之一。在介绍PID控制器之前,我们先了解关于控制的大的分类,根据是否有反馈可以分为开环控制和闭环控制。
开环控制¶
开环控制,全称开环控制系统(Open Loop Control System),又称为无反馈系统。即系统的输入可以影响输出,但是 输入不受输出影响 的系统。输入到输出的信号是单向传递的。
以下为生活中开环系统的一些例子:
控制系统 | 输入量 | 控制器 | 受控对象 | 输出量 |
---|---|---|---|---|
风扇调速 | 设置档位 | 控制电路 | 风扇电机 | 风扇转速 |
红外感应门 | 人体热辐射 | 控制电路 | 自动门电机 | 门打开 |
洗衣机 | 设置洗衣时间 | 控制电路 | 水阀&电机 | 洁净衣服 |
电饭煲 | 电源开关 | 控制电路 | 锅底加热器 | 锅内温度 |
水箱注水 | 水龙头开关 | 进水阀门 | 水流 | 水箱水位 |
闭环控制¶
闭环控制,全称闭环控制系统(Closed Loop Control System):系统的输出可以通过 反馈回路 对输入造成影响,进而影响控制过程的系统。
我们以电驱小车为例,我们最常见的就是车速的控制:
- 我们给定设定目标速度为 60kph (输入量,单位:公里/小时),此时控制器将之转换成小车电机(受控对象)所需PWM方波数量(控制量);
- 小车电机接收到信号开始转动,但是由于上下坡、负重、路况等不可控因素,往往结果速度也就是 输出量 不能准确等于目标速度60kph,例如输出为55kph;
- 此时,电机的编码器即车速仪(传感器)收集到实际的行驶速度 55kph 作为 反馈量 ;
- 求和节点将 误差信号 = 输入量 - 反馈量 作为 控制器 的输入(可用使用多种算法),即对电机多发送 5kph 对应的PWM方波
- 不断循环 2-4 此过程,以保证 输出量 可以接近并等于 输入量
总结来说,闭环控制系统比开环控制系统多了 传感器(反馈装置) 和 比较器 (求和节点),两个装备分别用于收集数据,利用收集到的数据。
同样的,我们可以给为电饭煲加个 温度传感器,为水箱加个 水位传感器(浮球),将这些开环系统转成闭环系统
常见闭环控制系统场景
-
车道线校正
-
车速控制
-
四轴飞行器高度控制
-
变频空调温控
-
锅炉温控