可以先去把MIT的applied nonlinear control给看了。(楼上答案贴了课程链接,有点英语能力同学可以同时看看视频)。这本书读的差不多了,再去参考其他的书。如果这本都读不下来,该回头好好看看更基础的经典控制理论和现代控制理论了。这些基础一点的知识,我推荐你看Gene F. Franklin的Feedback Control of Dynamic System 7th (目前最新是8th)。学习控制,最最重要的是概念的理解,从而加速阅读和学习其他理论,否则困难重重。
读完任何教材,或许该想想它写了这么多究竟解决了控制的什么问题。为什么要提出这种控制方法,他的控制方法应用是不是有什么限制条件?
如果这些问题你一个都答不上来,那么显然你仍然属于需要打基础的阶段,是打 控制概念的基础 。国内的教材可以帮你过一过基础,但却会留下了很多坑给你,你在阅读时没有旁人相助,一定会越读问号越多。
扯点题外话,说到打基础,看教材确实很费事费力。如果有课上,好好听课,但愿你有个好老师,留意他说的话,看书时可能会有启发。
教材吧,不是说国外的教材一定讲的那么细,只是很多时候我觉得国内的教材太啰嗦了,什么是重点,什么是次要的,让初学者学习摸不着头脑。往往学完了,你知道做题,陷入了太多不必要的细节。 时间好贵,做那么多题,学生还是没搞懂在干嘛。
比如吧,把一个传递函数乘上一个输入的拉普拉斯,做反变换求时域解。 这样的题目做的可6了,但在电脑里用matlab轻松就可以搞定了。我不觉得做大量这种练习是 学习 经典控制的重点所在。零初始条件的 LTI系统的响应由卷积积分可以计算,是因为任意输入的响应可被分解为无数个脉冲函数的响应进行叠加。卷积积分经Laplace变换在频域中成为了某个函数H(s)与输入拉普拉斯变换U(s)的乘积,在零初始条件下,这个H(s)就被定义为了传递函数,也就是h(t)的laplace变换。 这才是你该真正理解的东西,这解释了传递函数的由来。 做了100道题,这些没搞懂懂,也是白做。 至于为什么只研究LTI的零初始条件响应,不知道很多人是否想过,这里面也值得思考。答案不难,但可能没有人引导你想过。
还有画根轨迹,画Bode Plot,画的再好,徒手画的规律记得再牢,你也没有matlab画的快画的准,但matlab只知道画图,画图了之后分析仍然在人。然而学生学完了课往往就记得画图做题。现在教材上还好厚好厚,把一些很细节的画图规则东西通通放入了正文部分。这实在不适合初学者。 教材急需化繁从简,从中抽丝剥茧拿出真正重要的东西放在正文里。
诸如此类基础问题还有很多,比如控制问题基本可以分为regulation,tracking和程序控制,我们期望的控制效果如何衡量?做那么多题,里面的模型从何而来的?引入反馈的主要目的是什么?开环没好处吗?生活中哪些是开环控制的? 等等,太多类似这样的问题,这都应该是学完基础通过思考要能答的上来的。 这都些还不懂的话,看了其他控制方法你也不能理解他们方法的精髓, 更指不出他们的缺点,要想创新和突破就更加困难。个人认为国外的很多教材,尤其是本科生教材特别重注逻辑。很多国内教材直接给你的结论,但他们并不是顺理成章就能得出来的,思考为什么了吗? 教材的逻辑编排对一个不懂的初学者非常重要。
题主如果学了这些控制之后,能够想明白他们提出方法的原由和优缺点,那就是真的学明白了。 就比如模型的问题吧,模型建立不容易,建了也不知道有多准,人家就想控制能不能弥补这些缺点。控制是控制了,但花了好大的代价,我想轻轻松松的就搞定,人家就想我要在控制成本上下文章。 这些都来源于人们认为比较理想的控制器:
一个能够以最短时间,最少花费,完全以期望的路径把系统控制到期望的状态的控制器。
你说这臣妾做不到啊。那科研不做了咯?那不行,想方设法给自己创造条件咯。至于这个「创造的条件」符不符合工程实际,额,看看现在很多的paper,你懂的。这里不继续讨论这个了,先把有的学明白了。
最后提句为啥pid在工业界这么受欢迎,因为确实简单而且解决主要矛盾。有些次要矛盾综合考虑了一下,就可以忽略了,让我们开开心心地用起PID吧。这个时候基础的问题就来了,PID解决了啥问题,分析一下优缺点呗? 分析完了,大概能想明白人家为什么要用了。
感觉扯得有点远,不过对于学习者而言,我如今觉得 尽量在初学的路上别被太多细节给拖累。 很多东西还需要你不断积累反过来再仔细想想的。尤其是看书,看的太慢容易陷入细节之中而拖垮了学习兴趣。
总结一下: 如果说题主提到的是高级控制方法,那么学习顺利的关键之一是对基础控制概念有深入理解,从而不难发现基础和这些「高级方法」之间的联系,学习就会事半功倍。教材要多方参考,国内外都需要一起看,以一本为主,边看边思考他们与过去控制知识的联系与区别。之后多本教材互相参考阅读,验证自己的学习成果。
至于教材我开头提过两本了。你可能觉得不是专门讲那些的,然而那些专门讲的书都太厚了太全了。不是所有的东西都值得读。有很多东西你暂时不必知道,也有很多东西,你永远也没必要知道。一是因为时间宝贵,人的精力有限。二是因为时代在进步,值得学习的东西也在改变。还有三,理论与实践脱节,许多书里漂亮的数学建立在了不切实际或者简而又简的假设之下。作为发paper出书当然没什么影响。作为工程,还是需要脚踏实地。
祝题主学习顺利,理论学习依然很重要。关于nonlinear control理论的教材还有msu的那个Hassan Khalil的Nonlinear System,也是不错的。 至于整本专门讲鲁棒,自适应的应该非常多,仔细看一本学了基础。再比较其他教材查漏补缺吧。不要怕读英文,就那么几个的词翻来覆去几下就熟了,坚持坚持就好了。这些比什么报纸小说读起来简单太多了。
最后的最后,导师之前跟我说: 别搞Fuzzy。好吧,武功够用就行,你要会九阳神功和乾坤大挪移,还要什么其他武林秘籍。 野球拳练到家了,都是随便通关的。(WTH,暴露了)
==============================
(补充) 调程序调到半夜。看到大家给了几个赞,谢谢,刚才白天在麦当劳吃东西时看到,没想到一下子有感而发写了很多。 我看其他答案才发现题主是半路出家,为了科研要学这个。可能也有很多同学有一样的困惑,我多说一丢丢吧。
开头所提的书和Khalil的书应该是nonlinear control必读的经典了。我最开始是学Khalil的书(UCSD MAE281),他们那课这么选书的。但是后来我觉得applied nonlinear control更适合入门一些。两本书内容相互补充非常不错。 读的时候,记住选读,开始的基础可以读的慢些,注意比较nonlinear system 与过去的linear system差别,nonlinear dynamics是个很大的学科,也不要纠结过久。不要试图一下子全部按目录顺序读下来,因为中间有很多章节你可能一下子吃不透,也暂时用不到,但好在有些章节比较独立不影响你继续读后续内容。不要跳过preface和introduction,都是精华。后面关于讲nonlinear system design是重点部分,feedback linearization,backstepping等等这些是paper里特别常用的方法和工具。
单独讲一下稳定性。Lyapunov所定义的稳定性和稳定性定理基本就做了一件事: 判断/保证系统某个平衡态在Lyapunov意义下的稳定性。这个平衡态就是你希望系统正常工作时进入的稳定时状态,定理里面一般都写origin。具体细节,不展开。需要指出的是,稳定性定理是理论上的证明,理论能够证明的,按此设计的控制器,实际中不出意外大概率也是稳定的。但Lyapunov定理不是万能的,学界已经玩坏了这个东西,学完了这个之后再回过头来批判他吧。工程角度来讲,实际大型系统没有人用Lyapunov函数来判断稳定性的,大型系统几维是个问题,方程也没有的,你有的 只有数据input /ouput。数据驱动 判断稳定性,而且是从全局的角度的,我知道有人已经模拟出结果了,他们paper还没发就不透露更多的了,应用也没有那么快。
书上那些都是上世纪的研究成果,有的都过了100多年了(Lyapunov的博士论文),继承并批判才有进步。当然首先先要继承了,没创新至少也可以做一个好老师。
提一提ADRC,我也算比较熟了,不过题主没有提到。我觉得值得去看一下韩京清老先生的书,看看他是怎么解决控制问题的,同样的,优点缺点,不要忘记了。当然闭环稳定性不好证明不要说是缺点(审稿人一定会认为是大大的缺点,你搞个Lyapunov函数不行吗,然后assumption 1, assumption 2.....额)