## 4 FLOS Algorithm and ASIIBC
### ASMIBC for Yaw Angle and Linear Velocity of the CDR  
According to the dynamic mathematical model, the drag forces are different when the CDR moves on the water surface and the ground. The system parameters change in different environments too. Interferences caused by environmental disturbances and parameter uncertainties are considered as unknown and time-varying lumped disturbances. The yaw angle and linear velocity control system can be regarded as second-order nonlinear single input single output system with uncertain disturbances, which is shown as follows:  
\[\left\{ \begin{array}{l}\dot{x}_{1}=x_{2}\\ \dot{x}_{2}=f(x)+g(x)u+\eta(x)\\ y_{1}=x_{1}\end{array} \right. \tag{24}\]  
where \(x= \begin{bmatrix}x_{1}&x_{2}\end{bmatrix} ^{T}\), \(x_{1}\), and \(x_{2}\) are system states.\(g(x)\), and \(f(x)\) are smooth functions. \(\eta(x)\) is the unknown lump disturbance. \(u\) is control input, \(y_{1}\) is control output. \(f(x)\) is the certain term of system. \(y_{d}\) is the desired state of \(x_{1}\). \(x_{1}\), \(x_{2}\), \(y_{d}\), and \(\dot{y}_{d}\) are continuous and derivable. Define \(z_{1}=x_{1}-y_{d}\), \(z_{2}=x_{2}-\alpha_{1}\), \(\alpha_{1}\) is the virtual state. \(|z_{2}|<k_{h}\), \(k_{h}\) is the maximum of state error, \(\xi=z_{2}/k_{h}<1\). Define Lyapunov function \(V_{0}=\frac{1}{2}z_{1}^{2}\). \(V_{0}\) takes the derivative of time \(t\) yields  
\[\dot{V}_{0}=z_{1}\big{(}\dot{x}_{1}-\dot{y}_{d}\big{)}=z_{1}\big{(}z_{2}+\alpha _{1}-\dot{y}_{d}\big{)} \tag{25}\]  
\(\alpha_{1}=-k_{0}z_{1}+\dot{y}_{d}\), \(k_{0}\) is a positive constant. Define Lyapunov function \(V_{1}(z_{2},\alpha_{1})\) as  
\[V_{1}\big{(}z_{2},\dot{\alpha}_{1}\big{)}=V_{0}+\int_{0}^{z_{2}}\frac{\sigma \overline{x}_{2}^{2}}{\overline{x}_{2}^{2}-\left(\sigma+\alpha_{1}\right)^{2 }}d\sigma \tag{26}\]  
\(|x_{2}|<\overline{x}_{2}\), \(\overline{x}_{2}\) is the upper limit of the state \(x_{2}\). \(V_{1}\) takes the derivative of time \(t\) yields  
\[\dot{V}_{1} = \frac{\partial V_{1}}{\partial z_{2}}\dot{z}_{2}+\frac{\partial V _{1}}{\partial y_{d}}\dot{x}_{1}+z_{1}z_{2}\] \[= \frac{z_{2}\overline{x}_{2}^{2}}{\overline{x}_{2}^{2}-\overline{ x}_{2}^{2}}\dot{z}_{2}+z_{2}\bigg{(}\frac{\overline{x}_{2}^{2}}{\overline{x}_{2}^{2}- \overline{x}_{2}^{2}}-1_{1}\bigg{)}\dot{\alpha}_{1}+z_{1}z_{2}\] \[= \frac{z_{2}\overline{x}_{2}^{2}}{\overline{x}_{2}^{2}-\overline{ x}_{2}^{2}}\big{(}f(x)+g(x)u+\eta(x)-\dot{\alpha}_{1}\big{)}-\frac{z_{2}\overline{x}_{2}^{2}}{ \overline{x}_{2}^{2}-\overline{x}_{2}^{2}}\dot{\alpha}_{1}-z_{2}l_{1}\dot{ \alpha}_{1}+z_{1}z_{2}\]  
where \(l_{1}=\frac{\overline{x}_{2}^{2}}{\overline{x}_{2}^{2}}\ln\big{(}\frac{ \overline{x}_{2}^{2}+\overline{x}_{2}^{2}}{(\overline{x}_{2}^{2}-\overline{x}_ {2}^{2})}\big{)}\big{(}\overline{x}_{2}^{2}+\overline{x}_{1}^{2}\big{)}\), the traditional IBC controller is designed as  
\[u=\frac{1}{g(x)}\bigg{(}-k_{1}z_{2}-f(x)-\eta(x)+2\dot{\alpha}_{1}-\frac{ \overline{x}_{2}^{2}-x_{2}^{2}}{\overline{x}_{2}^{2}}z_{1}\bigg{)}+\frac{ \overline{x}_{2}^{2}-x_{2}^{2}}{\overline{x}_{2}^{2}}l_{1}\dot{\alpha}_{1} \tag{28}\]  
when \(x_{2}\rightarrow\overline{x}_{2}\), \(l_{1}\rightarrow\infty\), thus the control output \(u\) is adjusted to constrain the state of the system. However, when \(\alpha_{1}\) is constant, the controller degenerates into a traditional proportional controller based on backstepping method. For example, when the desired trajectory of a robot is a straight line moving at a constant speed, IBC loses the ability to constrain the speed. Based on the idea of SMC and integral barrier control (IBC), the control output is defined as \(u=u_{1}+u_{2}\). For the uncertain lumped disturbance \(\eta(x)\) an adaptive law is designed. \(\dot{\eta}(x)\) is the estimation of \(\eta(x)\), and \(\widetilde{\eta}(x)=\dot{\eta}(x)-\eta(x)\), \(\eta(x)\) is a constant, so \(\dot{\widetilde{\eta}}(x)=\dot{\eta}(x)\).