## 3 Controller Design  
In this section, we present an APPC control scheme for trajectory tracking of state and input constrained UAVs with longitudinal dynamics given by (7). Let us first define the error transformation function \(\mathcal{T}(\chi)=\frac{1}{2}\text{ln}\Big{(}\frac{1+\chi}{1-\chi}\Big{)}\) as well as its Jacobian \(\mathcal{D}(\chi)=\frac{1}{1-\chi^{2}}\). The system constraints are incorporated by a differentiable saturation function \(\sigma(\cdot,\bar{\sigma}):\mathbb{R}\rightarrow[-\sigma,\bar{\sigma}]\), where \(\bar{\sigma}>0\) corresponds to the saturation level. In this work, we adopt the following saturation function:  
\[\sigma(\chi,\bar{\sigma})=\left\{ \begin{array}{ll}\chi&\text{if }|\chi|<\bar{ \sigma}-\beta\\ p(\chi)&\text{if }|\chi|\in[\bar{\sigma}-\beta,\bar{\sigma}+\beta]\\ s_{\chi}\bar{\sigma}&\text{if }|\chi|>\bar{\sigma}+\beta\end{array} \right.\]  
where:  
\[p(\chi)=-\frac{1}{4\beta}\Big{(}\chi^{2}-2s_{\chi}(\bar{\sigma}+\beta)\chi+(s _{\chi}\bar{\sigma}-s_{\chi}\beta)^{2}\Big{)}\]  
with \(s_{\chi}\) denoting the sign of \(\chi\) and \(\beta=10^{-6}\) is a small smoothing parameter. The input constraints are then determined directly by elevator deflection \(\bar{\delta}_{e}\) as well as the throttle amplitude and rate saturation levels \(\bar{\delta}_{T}\), \(\bar{\eta}\), respectively. The state constraints are regulated indirectly. First, the generated reference state trajectories \(\gamma_{d}(t),\theta_{d}(t),\theta_{d}(t)\) are saturated according to the saturation levels \(\bar{\gamma},\bar{\theta},\bar{\vartheta}\), respectively. Then by employing the APPC approach we impose state constraints depending both on the corresponding reference constraints and the adaptive performance specifications. The design procedure of the proposed controller is described as follows:  
_Step 1._ In order to design the desired flight-path-angle \(\gamma_{d}(t)\) for a reference trajectory \(y_{d}(t)\) we exploit (1) in combination with the PPC technique. In particular, we create the closed-loop altitude dynamics as:  
\[h_{d}(t)=V_{d}(t)\sin\gamma_{d}(t)+k_{h}\mathcal{D}\bigg{(}\frac{h(t)-h_{d}(t) }{p_{1}(t)}\bigg{)}\mathcal{T}\bigg{(}\frac{h(t)-h_{d}(t)}{p_{1}(t)}\bigg{)}\]  
where \(p_{1}(t)\) is an adaptive performance function (PF) to be designed, \(k_{h}\) is a control gain, and \(\gamma_{d}\) is the reference flight-path-angle. Given that the reference flight-path-angle shouldbe constrained within a small set of angles, we obtain the desired constrained flight-path-angle trajectory as:  
\[\gamma_{d}(t)=\arcsin\bigg{(}\sigma\bigg{(}\frac{-\eta(t)}{V_{d}(t)},\sin(\hat{ \gamma})\bigg{)}\bigg{)}. \tag{8}\]  
where \(\eta\coloneqq k_{h}\mathcal{D}\Big{(}\frac{h(t)-h_{d}(t)}{p_{1}(t)}\Big{)} \mathcal{T}\Big{(}\frac{h(t)-h_{d}(t)}{p_{1}(t)}-\dot{h}_{d}(t)\Big{)}\). Next design the adaptive performance function that incorporates the output performance specifications and the reference signal constraints:  
\[\dot{p}_{1}(t)=-\lambda_{h}(p_{1}(t)-p_{\infty}^{1})+\eta(t)\bigg{(}\sin\gamma _{d}(t)+\frac{\eta(t)}{V_{d}(t)}\bigg{)} \tag{9}\]  
where \(\lambda_{h},p_{\infty}^{1}>0\) regulate the desired minimum exponential convergence rate and the maximum absolute value of steady state altitude error, respectively. Note that the saturation level \(\bar{\gamma}\) directly affects the performance specifications of the altitude tracking error as small angles \(\gamma\) do not allow fast variation in the UAV's altitude. In particular, the first term of (9) stands for the conventional strictly decreasing term \((p_{1}(0)-p_{\infty}^{1})\exp(-\lambda_{h}t)+p_{\infty}^{1}\), whereas the second term, which is non-negative, relaxes the performance specifications by increasing \(p_{1}(t)\), in order to maintain the altitude tracking error within an adaptive performance funnel, which guarantees the boundedness of the transformed error \(\mathcal{T}\Big{(}\frac{h(t)-h_{d}(t)}{p_{1}(t)}\Big{)}\). Notice also that \(\sin\gamma_{d}(t)=\sin\gamma_{u}(t)\) when the saturation is not active.