控制算法手记-无模型自适应控制

如何在不依赖被控系统机理模型的前提下,充分利用系统输入输出数据完成对底层控制系统有效乃至最优的控制?这是摆在数据驱动控制(Data-driven Control)算法的面前一个基础问题。传统PID在闭环控制的框架下根据当前时刻和相邻时刻偏差的线性组合计算出控制指令;而迭代学习控制在预设同样工况下重复执行同样任务的基础上,通过系统、深入(以至冗余)地利用历史控制输入和偏差信息直接计算控制指令,以实现在未来迭代步中对动态参考输入的完美跟随。然而,实际被控系统的动力学行为要丰富得多:PID在面临被控系统结构/参数变化时,对系统输入输出数据利用不足;迭代学习控制的预设前提则显然和‘系统结构/参数变化’这一实际工况相抵触。人们期望找到一种既能充分利用输入/输出数据、又能摆脱相对严苛的预设前提的数据驱动控制方法以自动适应变化的工况,进而完成对自动化系统的有效控制。无模型自适应控制(Model-Free Adaptive Control)提供了解答这类问题的思路。

自适应控制

从字面意义上理解,自适应这一概念可以表述为某一主体能够根据环境变化自动做出调整以适应新的、变化了的环境。这一描述至少包含两方面的内容:变化的环境是未知的或无法提前预测,需要相关机制去反映或描述这种变化;针对具体变化情况设计处理或响应机制以保证系统在变化的环境中能够保持一致甚至最优的性能。具体到自适应控制算法,以上内容则表现为参数辨识(Parameter identification)以获得变化信息和针对变化信息的响应处理机制--控制器(Controller)。如图1(a)所示,参数辨识方法、控制器以及两者之间的联结方式构成了自适应控制算法的核心。

图1 自适应控制系统

基于模型 vs 无模型 自适应控制

如图1(b, c)所示,根据在算法中是否引入被控系统机理模型,可将自适应控制算法粗略地分为基于模型的自适应控制无模型自适应控制两类。基于模型的自适应控制从被控系统(Plant)的机理模型(physics/chemicals-based)出发,推导出参数解析模型(parametric analytical model)以显性描述机理模型中待辨识参数矢量θ与系统输入/输出数据之间的关系;然后结合被控系统实际输入输出数据通过相关优化算法进行参数辨识(优化目标函数为最小化辨识误差,根据情况可以兼顾辨识动态);最后将辨识好的参数矢量θ和控制器u=C(θ,t)以一定方式结合计算出系统控制指令u,其中控制器的设计和运算也利用到从机理模型中得到的信息。总体来看,基于模型的自适应控制是在被控对象机理模型架构下、通过对机理模型中的参数辨识实现局部调整以适应变化,并不涉及模型整体架构的变动,在实际应用中体现出以下特性:-自适应控制性能高度依赖于模型的准确性,鲁棒性较差。实际应用中,微小的未建模动态和未知外部干扰等因素就会导致自适应控制系统失稳,限制了其在工业自动化控制中的应用。为保证控制性能,一般还需进行鲁棒性方面的设计;-自适应控制效果取决于对机理模型中参数的辨识准确性和快速性,对于强时变非线性系统或病态逆问题(ill-possessed inverse problem),实现快速准确参数辨识难度加大,削弱了自适应控制在这些场合的应用。事实上,基于模型的自适应控制最初主要针对时不变/慢变线性系统,且需要相应激励以保证参数辨识的性能;-当被控系统较为复杂时,描述其动力学特性的机理模型、参数辨识和控制器复杂度也随之升高,增大了参数辨识、控制器和鲁棒性设计和调试所需用的时间,也对控制器硬件运算能力提出了更高要求。

无模型自适应控制在保持自适应能力的基础上通过数据驱动方法克服了基于模型的自适应控制的不足,如图1(c)所示。其中,动态线性化数据模型(Dynamic Linearization Data Model)[1]取代了基于模型的自适应控制中系统机理模型和参数解析模型,奠定了无模型自适应控制系统的基础。围绕数据模型动态线性化,动态线性化数据模型在无模型自适应控制中作用解释如下:

- 从数据模型角度来说,无模型自适应控制主要指在自适应控制中并不需要(被控系统机理模型和参数解析模型)就可以进行控制系统的设计、分析和运算。然而,作为一种数据驱动控制方法,无模型自适应控制需要对系统输入输出数据进行有效组织和整理,从中挖掘出有效信息并根据该信息计算控制指令。这里系统数据的组织整理形式即表现为数据模型。因此,在无模型自适应控制中,需要数据模型这一数据组织形式以描述系统可用数据之间的联系,为控制器的设计奠定基础;

- 从动态线性化角度来说,系统输入增量数据∆u和输出增量数据∆y以动态(时变、随工作点变化)、线性的关系建立联系,并以这种联系近似描述系统的非线性、时变的动力学特性。不同于非线性控制中通过反馈线性化(feedback linearization)或者泰勒级数线性化(在系统工作点附近)得到机理模型后再进行控制器的设计和运算,动态线性化用输入输出增量数据的线性联结形式以直接近似描述系统动态,并通过对线性化系数Φ的在线辨识使得算法具备了感知系统整体变化的能力。这种简单的形式虽然不具备明确的物理意义,但却以控制器设计为导向,避免了自适应控制器设计和运行过程中复杂的数学推导和运算。取决于被控系统的工作特性,线性化系数Φ不仅可以包含(历史输入增量数据)和(当前时刻输出增量数据)之间的动态关系,还可以包含(历史输出增量数据)和(当前时刻输出增量数据)之间的联系,这给予了控制器在运算量和控制 效果之间调节的灵活性。

根据图1(c),确定动态线性化数据模型后,便可通过类似于图1(b)中的参数辨识方法得到线性化系数Φ;后基于辨识的参数Φ并利用相关优化算法(目标函数为系统跟随误差,同时也可兼顾控制指令的瞬态行为)计算出控制指令u

总结

作为一种具备自适应能力的数据驱动控制方法,无模型自适应控制的特点可以从自适应控制和数据驱动控制方法两个维度进行评价:

-从自适应控制的角度来说,考虑到系统实际输入输出数据本身已经蕴含了丰富的系统动力学信息(包含未建模动态、系统未知干扰等),无模型自适应控制通过动态线性数据模型和对系统输入输出数据的直接利用,克服了基于模型的自适应控制对系统机理模型的高度依赖和由此带来的鲁棒性差、参数辨识机制复杂、控制器设计困难等不足。另一方面,无模型自适应控制参数辨识的是动态线性化数据模型中的线性系数,该系数近似描述了整个被控系统的动力学行为,因此对于变结构的被控系统,无模型自适应控制仍然具备很强的鲁棒性和自适应性。

-从数据驱动控制的角度来说,无模型自适应控制通过动态线性数据模型将系统输入/输出(包含当前和历史)数据有效整合起来以近似描述系统的动力学特性(时变、非线性或变结构),后基于该数据模型和相应的优化算法计算出控制指令,充分利用了系统可用数据并实现了对底层控制系统的有效控制;无模型自适应控制作为一种强大的具备自适应能力的数据驱动控制方法,从1994年由北京交通大学侯忠生教授在其博士论文中首次提出以来,理论体系(如鲁棒性分析、误差单调收敛条件以及和其它控制算法的结合等)得到了不断发展完善,在直线电机、注塑机、焊接过程、船舶防摇等控制系统上得到了成功应用[1]。值得注意的是,无模型自适应控制中,动态线性数据模型仅仅建立起了系统输入输出数据之间的联系,并不具备明确的物理意义,无法根据该模型对被控系统动力学行为进行预测和分析。同时,由于高度依赖系统输入输出数据,对于系统干扰和测量噪声存在的场合,也需要对无模型自适应控制进行相应的鲁棒性设计和稳定性分析,以保证其控制性能。

参考文献

[1] Zhongsheng Hou and Shangtai Jin. Model free adaptive control: theory and applications [M]. CRC press, 2013.