模型参考自适应控制
Model Reference Adaptive Control 模块计算控制动作,使不确定的受控系统能够跟踪给定参考被控对象模型的行为。使用此模块,您可以实现以下模型参考自适应控制 (MRAC) 算法。
直接 MRAC - 根据参考被控对象模型和受控系统的状态之间的实时跟踪误差,估计反馈和前馈控制器增益。
间接 MRAC - 根据参考被控对象模型和估计系统的状态之间的跟踪误差,估计受控系统的参数。然后,根据估计系统和参考模型的参数,推导出反馈和前馈控制器增益。
直接和间接 MRAC 还估计受控系统中具有外部扰动和不确定性的模型。然后,控制器使用此模型来补偿在计算控制动作时的扰动和不确定性。
在这两种情况下,控制器都基于跟踪误差实时更新估计的参数和扰动模型。
参考模型
对于直接和间接 MRAC,以下参考被控对象模型是表征要在实践中实现的期望行为的理想系统。
其中:
r(t) 是外部参考信号。
xm(t) 是参考被控对象模型的状态。由于 r(t) 已知,您可以仿真参考模型以得到 xm(t)。
Am 是常量状态矩阵。要获得稳定的参考模型,Am 必须为赫尔维茨矩阵,其每个特征值必须有严格为负值的实部。
Bm 是一个控制有效矩阵。
扰动和不确定性模型
Model Reference Adaptive Control 模块维护受控系统中扰动和模型不确定性的内部模型 uad。
此处,ϕ(x) 是一个由模型特征组成的向量。w 是一个自适应控制权重向量,控制器根据跟踪误差实时更新该向量。
要定义 ϕ(x),您可以使用以下特征定义之一。
受控被控对象的状态向量 - 这种方法可能无法充分表示系统中的不确定性。当您不知道扰动的复杂度和模型不确定性时,使用状态作为特征可能是一个比较好的起点。
高斯径向基函数 - 当扰动和模型不确定性为非线性且扰动模型的结构未知时,使用此选项。径向基函数需要模型的操作域的一些先验知识,这在某些情况下可能比较困难。
单隐藏层神经网络 - 当扰动和模型不确定性为非线性,扰动模型的结构未知并且没有操作域的先验知识时,使用此选项。神经网络是一种通用函数逼近器,可以逼近任何连续函数。
提供给控制器模块的外部源 - 使用此选项定义您自己的自定义特征向量。如果已知扰动和不确定性模型的结构,可以使用此选项。例如,您可以使用自定义特征向量来识别特定的未知被控对象参数。
直接 MRAC
直接 MRAC 控制器具有以下控制结构。
控制器计算控制输入 u(t),如下所示。
其中:
x(t) 是受控系统的状态。
r(t) 是外部参考信号。
kx 和 kr 分别是反馈和前馈控制器增益。
uad 是从扰动模型推导的自适应控制分量。
ϕ(x) 包含扰动模型特征。
w 是自适应扰动模型权重向量。
V 是隐藏层权重向量。
对于单隐藏层神经网络,uad 是:
其中:
V 是隐藏层权重向量。
σ 是 sigmoid 激活函数。
控制器计算受控系统的状态和参考模型的状态之间的误差 e(t)。然后,它使用该误差实时自适应 kx、kr 和 w 的值。
标称模型
典型地表现出建模不确定性和外部扰动的受控系统具有以下标称状态方程。更新控制器参数时,控制器使用此预期的标称被控对象行为。
其中:
x(t) 是要控制的系统的状态。
u(t) 是控制输入。
A 是常量状态转移矩阵。
B 是常量控制有效矩阵。
f(x) 是系统中匹配的不确定性。
参数更新
直接 MRAC 控制器使用以下方程来更新控制器增益和扰动模型权重,适用于状态向量、径向基函数和外部源特征定义 [1] [2]。
单隐藏层扰动模型更新方程使用相同的控制器增益更新以及以下更新方程。
此处,P 是基于参考模型状态矩阵的以下李雅普诺夫函数的解,B 是来自标称被控对象模型的控制有效矩阵。
此处的 Q 是大小为 N×N 的正定矩阵,其中 N 是状态向量 x(t) 的大小
间接 MRAC
间接 MRAC 控制器具有以下控制结构。参考模型是
控制器计算控制输入 u(t),如下所示。
其中:
(t) 是由估计器模型生成的受控系统的估计状态。
r(t) 是外部参考信号。
kx 和 kr 分别是反馈和前馈控制器增益。
uad 是从扰动模型推导的自适应控制分量。
ϕ(x) 包含扰动模型特征。
w 是自适应扰动模型权重向量。
控制器计算实际系统状态和估计系统状态之间的误差 e(t)。然后,它使用该误差来实时自适应 w 的值。控制器还使用 e(t) 来实时更新估计器模型的参数。增益 kx 和 kr 的值是从估计器模型和参考模型的参数推导得出的。
估计器模型和控制器增益
间接 MRAC 控制器包含受控系统的估计器模型。
其中:
(t) 是估计的系统状态。
u(t) 是控制输入。
是估计器的状态转移矩阵。
是估计器的控制有效矩阵。
在操作期间,控制器基于估计误差 e(t) 更新 和 。
间接 MRAC 控制器不直接估计控制器增益,而是使用动态反演方法从参考模型和估计器模型的参数推导出反馈增益 kx 和前馈增益 kr,如下所示。
此处的 是矩阵 的摩尔-彭罗斯伪逆。
参数更新
间接 MRAC 控制器使用以下方程来更新估计器模型参数和扰动模型权重,适用于状态向量、径向基函数和外部源特征定义 [1] [2]。
单隐藏层扰动模型更新方程使用相同的估计器模型参数更新以及以下更新方程。
此处的 P 是以下李雅普诺夫函数的解。
kτ 是估计器反馈增益。默认情况下,此值对应于参考模型状态转移矩阵 Am。不过,您可以指定不同估计器反馈增益值。
学习修正
对于直接和间接 MRAC,为了在较高学习率下提高稳健性,您可以修正参数更新以包括可选的动量项。您可以从以下两种可能的学习修正方法中选择一种:sigma 修正和 e 修正。
对于 sigma 修正,每个参数更新的动量项是动量权重参数 σ 与当前参数值的乘积。例如,以下直接 MRAC 控制器的更新方程包括 sigma 修正项。
对于 e 修正,控制器按误差向量的范数来缩放 sigma 修正动量项。例如,间接 MRAC 控制器的以下更新方程包括 e 修正项。
要调整任一方法的学习修正量,请更改动量权重参数 σ 的值。
关于模型参考自适应控制的更多信息
有关模型参考自适应控制的详细信息,请播放以下视频。本视频是基于学习的控制系列视频的一部分。
参考
[1] Ioannou, Petros A., and Jing Sun. Robust Adaptive Control, Courier Corporation, 2012.
[2] Narendra, Kumpati S, and Anuradha M Annaswamy. Stable Adaptive Systems. Courier Corporation, 2012.
[3] Narendra, Kumpati S., and Anuradha M. Annaswamy. “Robust Adaptive Control.” In 1984 American Control Conference, 333–35. San Diego, CA, USA: IEEE, 1984. https://doi.org/10.23919/ACC.1984.4788398.