## 3 Constrained Adaptive Tracking Control
### Adaptive PID Controller Design with Control Input Constraints  
Define tracking error \(e(k)=r(k)-y(k)-\zeta\), where \(\zeta\) denotes a compensation signal, which can adjust the specified reference \(r(k)\) to guarantee \(u(k)\) in the pre-determined constraints; this is designed later. According to the basic PID Controller method, the modified PID control algorithm is given, which is suitable for this paper in the following form:  
\[u_{c}(k)= u(k-1)+k_{1}x_{c1}(k)+k_{2}x_{c2}(k)+k_{3}x_{c3}(k) \tag{30}\]  
where \(k_{i},i=1,2,3\) denotes the PID parameters, which can be formed as vector \(K=[k_{1},k_{2},k_{3}]^{T}\). Additionally:  
\[x_{c1}(k) =e(k)-e(k-1),\;\;x_{c2}(k)=e(k)\] \[x_{c3}(k) =e(k)-2e(k-1)+e(k-2)\]  
Since this PID controller parameters \(k_{i},i=1,2,3\) are considered as positive or negative, exponential functions are introduced to map the \(k_{i}\), which are defined as:  
\[k_{i}=\left\{ \begin{array}{ll}\alpha^{\omega_{i}}&\text{if }\;k_{i}\geq 0\\ -\alpha^{\omega_{i}}&\text{if }\;k_{i}<0\end{array} \right.\;\;i=1,2,3 \tag{31}\]  
where \(\alpha>1\), \(\omega_{i},i=1,2,3\) are estimated parameters and \(\alpha\) is used to change the speed for controller parameters \(k_{i}\). Due to the input constraints (14), the presented adaptive constrained controller can be written in the following form:  
\[u(k)=\text{Sat}\left\{\left(u(k-1)+\text{Sat}\left\{\left(u_{c}(k)-u(k-1) \right),T_{s}\dot{q}_{f\min},T_{s}\dot{q}_{f\max}\right\}\right)\;,\;\dot{q}_{ f\min},\dot{q}_{f\max}\right\} \tag{32}\]  
Therein, the \(\text{Sat}(\cdot)\) function can be defined as:  
\[\text{Sat}(z,z_{\min},z_{\max})=\left\{ \begin{array}{ll}z_{\max}&z\geq z_{ \max}\\ z&z_{\min}<z<z_{\max}\\ z_{\min}&z\leq z_{\min}\end{array} \right.\]  
where \(z_{\max}\) and \(z_{\min}\) represent the upper and lower \(\text{Sat}(\cdot)\) function, respectively. Since dynamic constraints exist in SOFC, an anti-windup compensator needs to be introduced to adjust the specified trajectory \(r(k)\). This compensation signal \(\zeta(k)\) can be defined in the next form [34]:  
\[\zeta(k)=\phi\zeta(k-1)+\frac{\partial y(k)}{\partial u(k)}(u_{c}(k)-u(k)) \tag{33}\]  
Therein, \(\phi<1\). **Remark 2**. : _Since \(0\leq\phi<1\) and we assume \(\frac{\partial y(k)}{\partial u(k)}\), \(u_{c}(k)\) are bounded, according to the stability criteria for linear discrete-time systems in [35], the compensation signal \(\zeta(k)\) is ULIBfor all \(k\). As we all know, the actuator should drive the controlled system with saturation, when the actuator is unable to totally realize the driving instruction \(u_{c}(k)\). The proposed anti-windup compensator is to guarantee the actuator operates at saturation (magnitude and rate saturation constraint) by adjusting the reference trajectory when the actuator is unable to realize the driving instruction \(u_{c}(k)\) completely. The proposed method can ensure the convergence of the parameter update laws._  
In the process of the adaptive PID constrained control design, this controller parameter can be adjusted along the negative gradient, and the performance index can be written as:\[J_{W_{2}}=\frac{1}{2}e^{2}(k) \tag{34}\]  
where \(W_{2}=[\omega_{1},\omega_{2},\omega_{3}]^{T}\). The task obviously becomes an optimization problem, which makes the performance index (34) about weighting parameter \(\omega_{i}\), that is:  
\[\frac{\partial J_{W_{2}}}{\partial\omega_{i}}=-k_{i}x_{ci}\ln\alpha\frac{ \partial y(k)}{\partial u(k)}e(k) \tag{35}\]  
where \(x_{ci},i=1,2,3\) are the defined inputs of the PID controller. Using a back-propagation training algorithm, due to Equation (35), the adaptation law of \(\omega_{i}\) is derived as:  
\[ \begin{split}\omega_{i}(k+1)&=\omega_{i}(k)+ \Delta\omega_{i}(k)\\ &=\omega_{i}(k)-\eta_{w2}\frac{\partial J_{W_{2}}}{\partial \omega_{i}}\\ &=\omega_{i}(k)+\eta_{w2}k_{i}x_{ci}\ln\alpha\frac{\partial y(k) }{\partial u(k)}e(k)\end{split}