# Curved Path Following Control for a Small Fixed-Wing UAV with Parameters Adaptation
## 3 Controller Design
### Kinematic Controller Design with Time-Variable Control Parameters  
The analysis of Section 3.2 shows that the two parameters \(k_{1}\) and \(k_{2}\) will both affect the guidance performance of a UAV. Reviewing the proof process of Theorem 3.1, as long as the parameter \(k_{2}\) is always greater than a positive value, the stability of the relative nonlinear system (9) can be guaranteed. At the same time, we hope that for each flight path, under different initial distances and relative course angles, the parameter \(k_{1}\) can also adapt to the different initial flight states, where the resulting overshoot is small and the convergence speed is fast, whereby the stability of the whole system can also be guaranteed. Figure 3: The dynamics of the nonlinear system (9) with \(\|\
abla f\|=1\), \(V=25\) m/s, and \(k_{2}=0.0008\), but under five different values of \(k_{1}\). (**a**) The phase plots of the system (9); (**b**) the trajectories of \(e_{d}\) with respect to time; (**c**) the trajectories of \(e_{\chi}\) with respect to time. In the following, in order to achieve better path-following performance with smaller overshoot and faster convergence speed, a modified control law is introduced as:  
\[u_{cmd}(t)=-k_{1}(t)V\|\
abla f\|f_{sat}(e_{d})+\frac{d}{dt}tan^{-1}\bigg{(}- \frac{d_{x}}{d_{y}}\bigg{)}-k_{2}(t)V^{2}\|\
abla f\|\sin(e_{\chi}) \tag{14}\]  
where \(k_{2,max}\geq k_{2}(t)\geq k_{2,min}\), \(k_{2,max}\), \(k_{2,min}\) are both positive constants with \(k_{2,min}<k_{2,max}\), and  
\[k_{1}(t)=k_{1,max}e^{-(\frac{t}{t})}+k_{1,min}\Big{(}1-e^{-(\frac{t}{t})}\Big{)} \tag{15}\]  
\(k_{1,max}\), \(k_{1,min}\) are both positive constants with \(k_{1,min}<k_{1,max}\), \(\tau\) is a positive constant. Equation (15) shows that the parameter \(k_{1}\) is time-varying. For each given path, the parameter \(k_{1}\) changes from the maximum value \(k_{1,max}\) to the minimum value \(k_{1,min}\) over time \(t\). This parameter change mechanism can meet the need to use a large value of \(k_{1}\) to make the UAV fly to the target path quickly when the vehicle is far from the target path. When the UAV is close to the target path, the value of \(k_{1}\) becomes smaller, which will reduce the overshoot. The time constant \(\tau\) plays an adjusting role in this process. When following the control of each target path, the time constant \(\tau\) should be set according to the initial states of the UAV relative to the target path, i.e., the initial distance and relative course angles. When \(t\geq 0\), it follows that \(1\geq e^{-(\frac{t}{\tau})}>0\) and \(1>1-e^{-(\frac{t}{\tau})}\geq 0\). Thus,  
\[k_{1}(t)>k_{1,min}e^{-(\frac{t}{\tau})}+k_{1,min}\Big{(}1-e^{-(\frac{t}{\tau}) }\Big{)}=k_{1,min} \tag{16}\]  
\[k_{1}(t)\leq k_{1,max}e^{-(\frac{t}{\tau})}+k_{1,max}\Big{(}1-e^{-(\frac{t}{ \tau})}\Big{)}=k_{1,max} \tag{17}\]  
**Theorem 2**. : _Considering the kinematic error model of the UAV described in Equation (7), the control law \(u_{cmd}(t)\) shown as (14) will asymptotically drive \(e_{d}\) and \(e_{\chi}\) towards zero._  
Figure 4: The dynamics of the nonlinear system (9) with \(\|M\|=1\), \(V=25\) m/s, and \(k_{1}=0.00025\), but under five different values of \(k_{2}\). (**a**) The phase plots of the system (9); (**b**) the trajectories of \(e_{d}\) with respect to time; (**c**) the trajectories of \(e_{\chi}\) with respect to time. **Proof of Theorem 2. ** Substitute \(u_{cmd}(t)\) shown as (14) into Equation (7), the corresponding nonautonomous nonlinear system can be shown as:  
\[\dot{\mathbf{x}}=h(t,\mathbf{x}) \tag{18}\]  
where  
\[h(t,\mathbf{x})=\left[ \begin{array}{c}V\|\
abla f\|\text{sin}(e_{\chi})\\ -k_{1}(t)V\|\
abla f\|f_{sat}(e_{d})-k_{2}(t)V^{2}\|\
abla f\|\text{sin}(e_{ \chi})\end{array} \right] \tag{19}\]  
It can be found that \(g:[0,\infty)\times D_{1}\to R^{2}\) is piecewise continuous in \(t\) and locally Lipschitz in \(\mathbf{x}\) on \([0,\infty)\times D_{1}\). Moreover, \(h(t,\mathbf{0})=\mathbf{0}\), \(\forall\ t\geq 0\).