【Paper】2010_Distributed optimal control of multiple systems
Dong W. Distributed optimal control of multiple systems[J]. International Journal of Control, 2010, 83(10): 2067-2079.
3.2 General communication
由于所有智能體 iii 的動力學狀態都是相同的,針對系統 iii 我們可以構造一個估計器來估算其它所有系統的狀態。針對 jjj 的估算器(iii 來估算 jjj)形式如下:
x˙ji=Axji+Buji\dot{x}_j^i = A x_j^i + B u_j^ix˙ji?=Axji?+Buji?
為了便于表示,我們定義
xii=xix_i^i = x_ixii?=xi?
uii=uiu_i^i = u_iuii?=ui?
整理狀態寫成一個緊湊的形式 (compact form)
x˙i=Aˉxi+Bˉui\dot{x}^i = \bar{A} x^i + \bar{B} u^ix˙i=Aˉxi+Bˉui
定理 3.2
分布式控制法則為:
ui=((eieiT)?Ir)uiu_i = ((e_i e_i^T) \otimes I_r) u^iui?=((ei?eiT?)?Ir?)ui
ui=?R?1BˉTPxi?Bˉ?1∑j∈Niwij(xi?xj)u^i = -R^{-1} \bar{B}^T P x^i - \bar{B}^{-1} \sum_{j\in N_i} w_{ij} (x^i - x^j)ui=?R?1BˉTPxi?Bˉ?1j∈Ni?∑?wij?(xi?xj)
x˙ji=Axji+B((ejejT)?Ir)ui,1≤j≠i≤m\dot{x}^i_j = A x^i_j + B((e_j e_j^T) \otimes I_r)u^i, \quad 1 \le j \ne i \le mx˙ji?=Axji?+B((ej?ejT?)?Ir?)ui,1≤j?=i≤m
這里,PPP 是黎卡提方程的對稱正定解,wij>0w_{ij}>0wij?>0 常量,eie_iei? 是 nnn 維向量第 iii 個元素為 1 其他為 0。
證明
有控制法則
ui=?R?1BˉTPxi?Bˉ?1∑j∈Niwij(xi?xj)u^i = -R^{-1} \bar{B}^T P x^i - \bar{B}^{-1} \sum_{j\in N_i} w_{ij} (x^i - x^j)ui=?R?1BˉTPxi?Bˉ?1j∈Ni?∑?wij?(xi?xj)
我們可以得到
x˙i=Aˉxi+Bˉui=Aˉxi+Bˉ(?R?1BˉTPxi?Bˉ?1∑j∈Niwij(xi?xj))=Aˉxi?BˉR?1BˉTPxi?∑j∈Niwij(xi?xj)=(Aˉ?BˉR?1BˉTP)xi?∑j∈Niwij(xi?xj)\begin{aligned} \dot{x}^i &= \bar{A} x^i +\bar{B} u^i \\ &= \bar{A} x^i + \bar{B} (-R^{-1} \bar{B}^T P x^i - \bar{B}^{-1} \sum_{j\in N_i} w_{ij} (x^i - x^j)) \\ &= \bar{A} x^i - \bar{B} R^{-1} \bar{B}^T P x^i - \sum_{j\in N_i} w_{ij} (x^i - x^j) \\ &= (\bar{A} - \bar{B} R^{-1} \bar{B}^T P) x^i - \sum_{j\in N_i} w_{ij} (x^i - x^j) \\ \end{aligned}x˙i?=Aˉxi+Bˉui=Aˉxi+Bˉ(?R?1BˉTPxi?Bˉ?1j∈Ni?∑?wij?(xi?xj))=Aˉxi?BˉR?1BˉTPxi?j∈Ni?∑?wij?(xi?xj)=(Aˉ?BˉR?1BˉTP)xi?j∈Ni?∑?wij?(xi?xj)?
令
zi=xi?x?z^i = x^i - x^*zi=xi?x?
那么有
z˙i=(Aˉ?BˉR?1BˉTP)zi?∑j∈Niwij(zi?zj)\dot{z}^i = (\bar{A} - \bar{B} R^{-1} \bar{B}^T P) z^i - \sum_{j\in N_i} w_{ij} (z^i - z^j)z˙i=(Aˉ?BˉR?1BˉTP)zi?j∈Ni?∑?wij?(zi?zj)
令
yi=e?(Aˉ?BˉR?1BˉTP)tziy^i = e^{-(\bar{A} - \bar{B} R^{-1} \bar{B}^T P)t} z^iyi=e?(Aˉ?BˉR?1BˉTP)tzi
那么有
y˙i=?∑j∈Niwij(yi?yj)\dot{y}^i = -\sum_{j \in N_i} w_{ij} (y^i - y^j)y˙?i=?j∈Ni?∑?wij?(yi?yj)
拉普拉斯矩陣定義為
lij={?wij,j∈Ni∑l∈Ni?wil,i=j0,j∈Ni\begin{aligned} l_{ij} =\left\{\begin{aligned} &-w_{ij}, \quad &j \in N_i \\ &\sum_{l \in N_i}-w_{il}, \quad &i=j \\ &0, \quad &j \in N_i \\ \end{aligned}\right.\end{aligned}lij?=????????????wij?,l∈Ni?∑??wil?,0,?j∈Ni?i=jj∈Ni???
那么結合拉普拉斯矩陣的定義,y˙i\dot{y}^iy˙?i 可以寫成
y˙=?Lˉy\dot{y} = -\bar{L} yy˙?=?Lˉy
因此,
y(t)=eLˉty(0)y(t) = e^{\bar{L}t} y(0)y(t)=eLˉty(0)
結合其他引理可得
lim?t→∞(yi?c1)=0\lim_{t\rightarrow\infty} (y^i - c1) = 0t→∞lim?(yi?c1)=0
Simulations
%% Distributed optimal control of multiple systems % Author: Zhao-Jichao % Date: 2021-07-05 clear clc%% Define Initial States A = [0 11 1]; B = [0 00 1]; x1 = [ 5 2]'; x2 = [-3 3]'; x3 = [-4 2]'; x4 = [ 1 -1]'; x5 = [-2 7]'; Q1 = [2 11 2]; R1 = [1 00 1]; m = 5; % Number of agents Abar = kron(eye(5), A); Bbar = kron(eye(5), B); Q = kron(eye(5), Q1); R = kron(eye(5), R1); % R = eye(5); [P, l, g] = care(Abar, Bbar, Q, R);in = [x1', x2', x3', x4', x5']';u = -inv(R) * Bbar' * P * in;global dx dx = (Abar - Bbar * inv(R) * Bbar' * P);%% [t, out] = ode45(@odeFun, [0, 10], in);%% Draw Results subplot(2,3,1) plot(t, out(:,1), t,out(:,2), 'linewidth',1.5); hold on; grid on legend('x_1(1)','x_1(2)'); subplot(2,3,2) plot(t, out(:,3), t,out(:,4), 'linewidth',1.5); hold on; grid on legend('x_2(1)','x_2(2)'); subplot(2,3,3) plot(t, out(:,5), t,out(:,6), 'linewidth',1.5); hold on; grid on legend('x_3(1)','x_3(2)'); subplot(2,3,4) plot(t, out(:,7), t,out(:,8), 'linewidth',1.5); hold on; grid on legend('x_4(1)','x_4(2)'); subplot(2,3,5) plot(t, out(:,9), t,out(:,10),'linewidth',1.5); hold on; grid on legend('x_5(1)','x_5(2)');%% DDE Function function out = odeFun(~, in)global dxout = dx * in; end先把程序留著,下一步準備探討作者設計的分布式協議
%% Distributed optimal control of multiple systems % Author: Zhao-Jichao % Date: 2021-07-05 clear clc%% Define Initial States A = [0 11 1]; B = [0 00 1]; x1 = [ 5 2]'; x2 = [-3 3]'; x3 = [-4 2]'; x4 = [ 1 -1]'; x5 = [-2 7]'; Q1 = [2 11 2]; R1 = [1 00 1]; m = 5; % Number of agents Abar = kron(eye(5), A); Bbar = kron(eye(5), B); Q = kron(eye(5), Q1); R = kron(eye(5), R1); [P, l, g] = care(Abar, Bbar, Q, R);in = [x1', x2', x3', x4', x5']';u = -inv(R) * Bbar' * P * in;global dx dx = (Abar - Bbar * inv(R) * Bbar' * P);L = [2 0 0 -1 -1-1 1 0 0 00 -1 1 0 00 0 -1 1 00 -1 0 0 1];% L1 = [0 0 0 0 0 % 0 0 0 0 0 % 0 0 0 0 0 % 0 0 0 0 0 % 0 0 0 0 0]; % L2 = [0 0 0 0 0 % 0 0 0 0 0 % 0 0 0 0 0 % 0 0 0 0 0 % 0 0 0 0 0];%% [t, out] = ode45(@odeFun, [0, 10], in);%% Draw Results subplot(2,3,1) plot(t, out(:,1), t,out(:,2), 'linewidth',1.5); hold on; grid on legend('x_1(1)','x_1(2)'); subplot(2,3,2) plot(t, out(:,3), t,out(:,4), 'linewidth',1.5); hold on; grid on legend('x_2(1)','x_2(2)'); subplot(2,3,3) plot(t, out(:,5), t,out(:,6), 'linewidth',1.5); hold on; grid on legend('x_3(1)','x_3(2)'); subplot(2,3,4) plot(t, out(:,7), t,out(:,8), 'linewidth',1.5); hold on; grid on legend('x_4(1)','x_4(2)'); subplot(2,3,5) plot(t, out(:,9), t,out(:,10),'linewidth',1.5); hold on; grid on legend('x_5(1)','x_5(2)'); %% DDE Function function out = odeFun(~, in)global dxout = dx * in; end總結
以上是生活随笔為你收集整理的【Paper】2010_Distributed optimal control of multiple systems的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Matlab】dde23解时滞时延微分
- 下一篇: 【控制】二阶含时滞多智能体系统一致性仿真