控制算法手记-先学习系统动力学建模和分析 2024-07-30 08:05:02 以上为广告写在前面 对于初步接触控制算法的工程师或者科研人员来说,往往会迷失于种类繁多、名称各异的控制理论/算法(见图1)和浩瀚的文献中,相关资料越看越迷茫(除非是找到了和自己的问题完全匹配的文献),有时会占用大量的时间。到底我该选用哪种控制算法?我选择了一种我认为合适的控制算法,是不是还有更好的的算法被我忽略掉了?某种算法很流行/热门,很高级,我是不是也用在我的项目中?我想学习/设计这类控制算法该从何处着手? 图1. 庞杂的控制理论和算法(来源-https://engineeringmedia.com)项目初期的方向不明、迷茫或者焦虑虽然难以避免,但可以通过科学、系统的思维方式可以尽量降低其对项目执行的影响。回到控制算法设计的问题上,这些问题一方面是因为我们首先没有对自己面临的主要问题进行认真分析,对控制系统语境下控制算法的本质、各种控制算法的基本思想和原理没有深入理解;另一方面,我们总是倾向于认为存在着某种标准/参考的控值算法,一定能够很好地解决我的问题,静静地躺在文献海洋中,只是等待着去发现,于是盲目去学习相关资料;应该意识到:控制算法虽然种类繁多,但各种控制算法具有很强的问题针对性、具体被控对象指向性,即各种控制算法提出之初,都是针对某一类问题或者某类被控对象(这类被控对象中都体现了某一种/多种主要动力学特性/问题)。‘控制算法’本质是一种人为设计的‘动力学系统’。人们设计这种动力学系统,目的在于和‘被控对象’这一‘动力学系统’相互作用后,包含控制算法的‘整个被控系统’的‘动力学行为’符合目标性能要求(比如稳态精度、带宽/上升时间、跟踪性能、抗干扰能力等),如图2所示。如果人们对整体被控系统的动力学性能要求大体一致的话,那么显然是被控对象的表现出来的主要动力学特性/问题决定了最终控制算法的设计。图2. 控制算法和被控对象的动力学系统相互作用后,使得整个被控系统动力学行为表现符合要求图2对控制算法设计的启发是深刻的:一方面是控制目标和被控对象的主要动力学特性(参见控制算法手记—什么让控制算法复杂化?),而不是哪种控制算法是否热门,是否‘先进’决定了我们该选用哪种控制算法。不同领域(如机电、电力电子、电网、化工过程等)的被控对象体现出来的主要动态特性/面临的主要问题不同,必须要深入了解实际工艺/工作过程以及所关联的动力学行为,不能轻易将一个领域好用的算法随便套用到另一个领域中去;另一方面:控制算法和被控对象的(工艺/工作过程,结构)设计、分析和实施要放在整个控制系统的架构下进行,因为最终目的是使整个被控系统的性能满足预期。这就要求控制、机械、电气等工程师在整个系统层面的协同设计,并能从系统动力学(system dynamics)的视角发展出各个子系统/部件之于整体系统性能的直觉和洞察力(如每个子系统/部件的动力学是如何影响了最终的动力学性能,是否占据了主导地位,如何通过设计提前改善动力学特性以避免不利影响)。因此,在控制算法设计、学习以至控制系统设计、开发过程中,必须十分重视系统动力学建模和分析的地位。然而遗憾的是,这一块在国内的控制理论课程教育体系中长久以来都被轻视。初学者只记住了传递函数/状态空间表达式等概念,记住了一堆以此为基础的设计方法,却不知这些式子实际中如何得来,为什么要写成这些形式,这些公式的解又怎样和系统动力学性能所关联,如何根据自己所面临的问题将所学到的知识有效运用,更不用说去研发新的控制算法以更有针对性地解决这个问题。不合理的课程设置体系、缺少和现实物理世界的关联,控制理论的学习/设计显得‘云里雾里‘。那么,系统动力学建模和分析是否能够解决控制算法设计/学习过程中这些问题呢?系统动力学建模和分析在回答上面这个问题之前,应该注意到控制算法始终是和动力学/动态变化关联起来的:控制算法的对象是实际的动力学系统。这些动力学系统或是机械、电力、温度、磁、光、声、流体等物理领域或是涉及化学反应过程,体现出极其丰富/复杂的动力学行为。如何驯服这些丰富/复杂的动力学行为,有赖于对动力学行为的深刻认识和分析。控制算法的目标在于使得最终的整个被控系统的动力学行为符合预期要求(这些要求一般可以从稳定性、控制精度、动态响应性三个维度进行描述),以实现动力学系统脱离人为干预的自动运行(注意不是自主运行)。控制算法的实施一般依赖于各种能够进行数值计算的硬件平台上,这些硬件平台以信号采样的形式实时收集所需要的信息并进行处理、运算,然后将动态运算结果/控制指令作用于被控对象。因此,控制算法看似庞杂,但想深入学习却是有迹可循的,即一定要抓住动力学系统这个核心。那么,旨在研究对实际动力学系统进行建模和分析的‘系统动力学建模和分析’就格外重要了。一方面,它为整个控制系统(图2)的分析、设计、实施提供了一个一以贯之的分析性框架,勾连起现实物理世界和数学世界(控制算法手记-建模重要嚒)。另一个方面对被控对象的动力学特性分析结果为控制算法的设计提供了前提和动机。图3. 先学习系统动力学建模与分析在控制算法的学习中,作者认为应该按照‘’系统动力学建模及分析-基本控制理论和控制算法设计方法-控制算法实施‘’的思路,如图3所示,其中:‘系统动力学建模及分析’即以实际的动力学系统为研究对象,研究如何建立起合乎需要的数学模型(包含机理模型和数据模型)以描述动态变化,又如何依据这些模型得到典型系统动力学行为(模型的解和动力学行为直接关联),这些典型的动力学行为又如何影响了最终的控制性能等;‘基本控制理论和控制算法设计方法’回应了对于给定的实际动力学系统及其典型的动力学行为表现,如何通过对控制算法的设计以驯服丰富/复杂的动力学行为,使其满足人类预期,实现控制目标;‘控制算法实施’则关照到了在数字计算时代,如何将在数学世界中的控制算法在现实物理世界中有效落地,这一落地过程是否又对系统动力学行为施加了影响(如采样-计算延迟,离散化影响等)。图3中,必备知识体系只是给出了学习控制算法必须掌握的基本控制理论、概念、框架和体系,为‘选择性模块知识体系(即可以根据自己的具体领域和应用场景有选择性地学习)’奠定了扎实和确切的基础。控制算法的学习应该循序渐进,在对典型的动力学系统以及其行为表现、分析方法、基本控制理论、概念、框架和体系(图3中的必备知识体系)确切掌握的基础上,再学习一些'先进控制算法'(很多‘先进控制算法’并没有逃出这些基本概念和框架)。切忌贪多求全,忽视对现实动力学行为的深刻理解和深入分析,只身投入控制理论的浩瀚海洋中。总结在控制算法学习和实践中,先不要着急学习/运用‘先进控制算法’,反倒要注重对系统动力学建模和分析方法体系的掌握,对自己的控制对象动力学特性和主要问题的分析,任何控制算法的设计和深入理解,无论是基于机理模型还是数据驱动,这都是十分必要的一步。 赞 (0) 相关推荐 Nature子刊 | 研究人员对特定行为的大脑信号模式进行隔离和解码 更多技术干货第一时间送达 图片来源于:Omid Sani & Maryam Shanechi, Shanechi Lab at the USC Viterbi School of Engine ... 控制算法手记-迭代学习控制 简介:从传感.执行.控制以及相关建模仿真技术介绍机电自动化领域相关技术. "任何事情,重复做一万次,你也会成为专家." 这并不是鸡汤,而是一类重要的数据驱动控制方法-迭代学习控制I ... 基于有限元的靴轨系统动力学建模及参数影响规律研究 集电靴-接触轨供电系统(以下简称靴轨系统)以其使用寿命长.可靠性高.维修费用低等优点得到越来越广泛的应用[1].随着城市轨道交通运行速度的不断提升,集电靴与接触轨的动力冲击及靴轨系统的振动均会增大,将 ... 纯电动汽车制动避撞系统的建模与分析 [摘要]针对纯电动汽车制动避撞系统,提出了基于反馈线性化的跟车距离.速度跟踪误差的滑模控制方法:考虑了模型非线性.系统参数不确定性和外部干扰的因素,建立车辆纵向动力学模型:采用指数趋近律的控制方法,设 ... 【商业教程】 cinema4D终极学习系统2.0第六卷 建模 -- 微资讯 · 微课程 -- 利用零碎时间,走上超神之路! 课程介绍 第六卷包含了cinema4D各种建模基础,包括各种各样的流程.本卷中所有章节都是基于项目包括 骷髅头,科幻飞船室内建模,香水 ... 系统动力学炮兵侦察感知系统能力生成建模与仿真(中国知网 炮兵侦察) DOI:1673-3819 (2012) 04-0081-05 系统动力学炮兵侦察感知系统能力生成建模与仿真 李小全詹海洋程懿 南京炮兵学院南京陆军指挥学院 导出/参 ... 控制算法手记--建模重要嚒? 简介:从传感.执行.控制以及相关建模仿真技术介绍机电自动化领域相关技术. 写在前面 现实中,一个常见的情境是工程师或者初步接触控制算法设计的同学们看见某控制算法在特定应用领域取得了惊艳的效果后,于是倍 ... 学习资料分享!汽车系统动力学-驾驶人模型与车辆操纵品质评价 学习资料分享!汽车系统动力学-驾驶人模型与车辆操纵品质评价 好好学习│系统思维 <好好学习>最后一章罗列了几个思考工具,作者认为培养系统思维能力,是构建个人深刻洞察的重要方式. 系统理论是个非常特殊的理论,它不属于任何学科,不是工程学.不是自然科学也不是社会科学,但它 ... 清华教授:学习系统思维--记忆思考与表达的神器 曾经看过一个采访清华教授柳冠中的视频,视频里面柳冠中教授说: 中国要向日本和德国学习系统思维,其实钱老(钱学森)强调了一辈子的系统概念,我们没有理解,我们不应追求元素,而是追求系统. 拿德国的足球来说 ...