【花师小哲】遗传算法PID自整定(1)-简要介绍PID
因为我上的某门课总算出期末成绩了,所以终于能开始讲一下我的课程设计了,即遗传算法PID自整定。这一篇先讲PID哈。当然,讲PID的资源很多,RM论坛也有不少精良的帖子,但是,作为一个私货区up主,我当然会从不一样的视角来讲一下PID。
本篇聚焦于控制的发展和从科技哲学的视角来审视控制的发展历史。
控制有三要素,即控制对象,控制目的,控制手段。控制目的简要来说就是使被控对象按照我们所期望的方式来运作。当然,实际中,被控对象完全按照我们的预期运行也不现实,我们想做的是让它尽量符合预期,如图所示,蓝色的线是我们期望的被控对象的输出曲线(一个阶跃函数),红色线是其实际输出曲线(初值为0):

在最开始的时候,控制当然是人来做的,就比如烧大锅饭(现在一些农村应该还能见得到,至少我老家是有的),为了保持火力在合理区间,需要人去观察火势,适当的加木材。
当工业进步到一定程度时,控制论学科就诞生了。根据是否有反馈,控制可以分为开环控制与闭环控制,如图所示:


开环控制比较简单,例如很多灯泡都是开环控制的,闭环控制比较复杂,需要根据误差来不断调整被控对象的输入。
控制科学的发展历程大体如下:

在最开始时,控制一般都是严格基于物理公式的对被控对象的建模,但是随后各种复杂系统的出现使得建立模型极其困难,于是新的一种控制方式是将被控对象看成是一个黑箱,主要精力不在对被控对象进行建模上,而是在写出一个可以适应不同被控对象的控制策略。
我们的主角PID就是这种策略的代表。PID中,P代表比例,I代表积分,D代表微分(RM界应该说微分的比较多,我们上课说的是导数,但只是名称不一样而已),于是,PID只需要这三个参数就可以完成控制的全部过程。
其实PID能够用较少的参数完成复杂的工作的原因是因为它的控制目标是减少误差。误差很好理解,它就是期望输出与实际输出之间的差值(有正负的)。误差越大,需要的输入就越大,误差的累积量越大,需要的输入就越大,误差的变化越大,需要的输入就越大,大体上就是这么个规律。当然,实际系统中,不一定完全用上P、I、D这三个参数。PID控制的公式如图所示(也有不同形式的公式,但按照本意写出来是这一个):

当然,PID控制也有一个很重大的缺点,即KP、KI、KD这三个参数不是计算出来的,而是试出来的,就像大海捞针一样,想要找到一组合格的参数并不是一件容易的事情,而且不同的人调出的参数可能相差很大,难有规律可循。这就导致PID参数的寻找成为一个噩梦。
下一篇专栏——关于用遗传算法进行PID自整定就是解决这个难题的一种方式。
当然,控制方法的发展当然没有止步于PID,但是PID依然是很多现代控制方法的一个基础,很多控制方法的目的是在于优化PID。
另一个在控制领域享有大名的控制方式——模糊控制,很多时候也是需要PID配合的。模糊控制的一个特点是它在一定程度上反应了人的控制方式,人在控制的时候并不需要完全精准的计算,例如人在烧大锅饭的时候并不需要去计算温度,控制目的也只是使温度保持在一个合适的区间,换句话说,人的控制效果比最差的PID控制要好得多。需要注意的是,虽然被称为模糊控制,但其背后也是有一套完整、严密的数学推导体系的,就像概率论一样,虽然研究的是不确定性,但是其中用到的工具都是确定的。
现代智能控制的内容就更多了,特别是当神经网络这个工具进入控制领域后,我们就可以很方便、无脑的实现很多控制。
ok,开始塞些私货。之前一直没讲过科技哲学,所以这里稍微讲一点。传统的科技哲学就是所谓的自然辩证法,但现代的科技哲学将关注的重心更多的放到了科技本身的价值等方面。从控制领域的发展史上,我们可以看到什么呢?
我们可以发现控制领域的发展也是随着科学研究范式的转变而转变的。从“经验范式”(人力)到“理论范式”(基于公式)再到“模拟范式”(只需模拟系统运作)再到“数据范式”(用数据来训练控制器)。或者说,控制领域的发展也经历了“模糊-精确-模糊”的科技发展的整体框架。在一开始,控制是模糊的、经验的,之后人们学会用公式建立精确的控制器,再到新的模糊——加入不确定性、模糊控制以实现更好的控制效果,新的模糊是不同于原有的模糊的更高阶的模糊(很典型的螺旋式上升)。