# A Stackelberg Game Approach to Model Reference Adaptive Control for Spacecraft Pursuit-Evasion
## 3 Stackelberg Equilibrium-Based Model Reference Adaptive Control Algorithm  
### Resolution of Stackelberg Game  
The Stackelberg PE game formulated in (6) is a bi-level, constrained optimization problem, where the system dynamics (2) serve as a hard constraint. To solve this, we first transform it into an unconstrained problem by incorporating the dynamics into the cost functions using a set of positive definite matrices \(\mathbf{P}_{p,t}\) and \(\mathbf{P}_{e,t}\). The derivation of the optimal control laws via the coupled Riccati Equations (7) and (8) relies on standard assumptions in optimal control theory. Specifically, for a solution to exist, the system dynamics matrix pairs must be stabilizable, and the weighting matrices in the cost functions are chosen to be positive definite, which ensures the convexity of the optimization problem. This transformation leads to an unconstrained optimization problem with the cost functions (3) and (4). Based on these, the Stackelberg PE control strategy is designed. For the pursuer's (follower's) cost function \(\mathbf{j}_{p}\), the follower makes its decision \(\mathbf{a}_{p,t}\) after observing the leader's (evader's) action \(\mathbf{a}_{e,t}^{*}\). Therefore, to find the pursuer's optimal strategy, we substitute the system dynamics (2) into the summation term \(\mathbf{F}_{p,t}\). The optimal linear control strategy is of the form \(\mathbf{a}_{p,t}=\mathbf{L}_{p,t}\mathbf{j}_{t}\) and \(\mathbf{a}_{e,t}=\mathbf{L}_{e,t}\mathbf{j}_{t}\). The control gain matrices \(\mathbf{L}_{p,t}\) and \(\mathbf{L}_{e,t}\) are of dimension \(3\times 6\), mapping the state space \(\mathbb{R}^{6}\) to control input space \(\mathbb{R}^{3}\). By minimizing the respective cost functions, we arrive at a set of coupled discrete-time Riccati equations. For the evader (leader), the Riccati equation is:  
\[ \begin{split}\mathbf{P}_{e,t}=\mathbf{L}_{e,t}^{\mathsf{T}}\Big{(}\mathbf{W}_ {2,e}-\mathbf{Y}_{e}^{\mathsf{T}}\mathbf{P}_{e,t+1}\mathbf{Y}_{e}\Big{)}\mathbf{L}_{e,t}^{*}+ \mathbf{L}_{p,t}^{\mathsf{T}}\Big{(}\mathbf{W}_{2,p}+\mathbf{Y}_{p}^{\mathsf{T}}\mathbf{P}_{e,t+1}\mathbf{Y}_{p}\Big{)}\mathbf{L}_{p,t}^{*}+\\ \mathbf{V}_{e}+\mathbf{X}_{d}^{\mathsf{T}}\mathbf{P}_{e,t+1}\mathbf{X}_{d}+\mathbf{X}_ {d}^{\mathsf{T}}\mathbf{P}_{e,t+1}\mathbf{Y}_{p}\mathbf{L}_{p,t}^{*}+\mathbf{L}_{p,t}^{\mathsf{ T}}\mathbf{Y}_{p}^{\mathsf{T}}\mathbf{P}_{e,t+1}\mathbf{X}_{d}\end{split}  \tag{7}\]  
The evader's optimal strategy is derived via a Riccati equation, which encodes the cost trade-offs between state deviation and control effort. For the pursuer, the equation incorporates the evader's anticipated actions, reflecting the hierarchical Stackelberg structure. For the pursuer (follower), the Riccati equation is:  
\[ \begin{split}\mathbf{P}_{p,t}=-\mathbf{L}_{p,t}^{\mathsf{T}}\Big{(}\mathbf{W} _{1,p}+\mathbf{Y}_{p}^{\mathsf{T}}\mathbf{P}_{p,t+1}\mathbf{Y}_{p}\Big{)}\mathbf{L}_{p,t}^{*}+ \mathbf{L}_{e,t}^{\mathsf{T}}\Big{(}\mathbf{Y}_{e}^{\mathsf{T}}\mathbf{P}_{p,t+1}\mathbf{Y}_{ e}-\mathbf{W}_{1,p}\Big{)}\mathbf{L}_{e,t}^{*}+\\ \mathbf{V}_{p}+\mathbf{X}_{d}^{\mathsf{T}}\mathbf{P}_{p,t+1}\mathbf{X}_{d}+\mathbf{X}_ {d}^{\mathsf{T}}\mathbf{P}_{p,t+1}\mathbf{Y}_{e}\mathbf{L}_{e,t}^{*}+\mathbf{L}_{e,t}^{*}\mathbf{Y }_{e}^{\mathsf{T}}\mathbf{P}_{e,t+1}\mathbf{X}_{d}\end{split}  \tag{8}\]  
These Riccati equations are solved backward in time, starting from the terminal boundary conditions \(\mathbf{P}_{p,N}=\mathbf{V}_{N,p}\) and \(\mathbf{P}_{e,N}=\mathbf{V}_{N,e}\), which are the terminal cost matrices from (3) and (4). To provide a unified expression, we introduce the coupling matrix \(\mathbf{\psi}_{t}\), defined as:  
\[\mathbf{\psi}_{t}=\left[ \begin{array}{cc}\mathbf{W}_{1,p}+\mathbf{Y}_{p}^{\mathsf{T}} \mathbf{P}_{p,t+1}\mathbf{Y}_{p}&\mathbf{Y}_{p}^{\mathsf{T}}\mathbf{P}_{p,t+1}\mathbf{Y}_{e}\\ -\mathbf{Y}_{e}^{\mathsf{T}}\mathbf{P}_{e,t+1}\mathbf{Y}_{p}&\mathbf{W}_{2,e}-\mathbf{Y}_{e}^{ \mathsf{T}}\mathbf{P}_{e,t+1}\mathbf{Y}_{e}\end{array}