## 3 Control Approach
### Formation Tracking Controller Based on ESO-MPC
#### 3.3.2 Design of the ESO Based on the State Space  
Although Equation (20) shows the predictive model, the realization of the tracking control produces some problems. First, it is difficult to obtain accurate dynamic model parameters such as \(\mathbf{M}\) and \(\mathbf{D}(\mathbf{v})\). Second, there are unknown disturbances in underwater environments. Third, the small spherical robot lacks a sensor to measure the velocity state. In response to the above issues, this section designs an extended state observer, which sees the nonlinear terms in the dynamic model and environmental disturbance as the lumped disturbances. The observed value of the lumped disturbances will be compensated to control inputs. The observed velocity values are used as the speed of the robot. The inaccurate hydrodynamic coefficients \(\mathbf{M}\) and \(\mathbf{D}(\mathbf{v})\) in the dynamic model in Equation (6) can be divided into two parts, i.e., the nominal value part and the uncertain value part, which denote the error between the true value and the nominal value [22], respectively. Thereinto, the nominal value part can be obtained by model identification [20]. However, the nominal value of the body mass matrix \(\mathbf{M}\) is more reliable. Therefore, it will simplify the model expression by modeling only with the explicit expression of \(\mathbf{M}\). With the explicit expression of M and the implicit expression of the hydrodynamics coefficient \(\mathbf{D}(\mathbf{v})\), the dynamic model of the spherical robot is described as follows [22]:  
\[\mathbf{M}\dot{\mathbf{v}}=\mathcal{U}(\mathbf{v})+\mathbf{\tau}_{E}+\mathbf{\tau}, \tag{26}\]  
where \(\mathcal{U}(\mathbf{v})=\mathbf{D}(\mathbf{v})\mathbf{v}\) and \(\mathbf{\tau}_{E}\) are the environmental disturbance. There are two primary assumptions for the dynamics model (26), which are considered in the following ESO design. **Assumption 1** (see in [23]). : _Due to the velocity-related property of the hydrodynamics item \(\mathcal{U}(\mathbf{v})\), the sum of the partial derivatives is assumed to be bounded._  
\[\|\mathcal{U}(\mathbf{v},t)\|+\|\partial\mathcal{U}(\mathbf{v},t)/\partial t\|+\| \partial\mathcal{U}(\mathbf{v},t)/\partial\mathbf{v}\|\leq c_{1}. \tag{27}\]  
**Assumption 2** (see in [23]). : _Considering the energy limitations of actuators and external forces, the following assumption is reasonable. Namely,_  
\[\|\mathbf{\tau}_{E}\|+\|\mathbf{\tau}_{E}\|+\|\mathbf{\tau}\|+\|\mathbf{\tau}\|\leq c_{2}. \tag{28}\]  
The uncertain parts of the dynamic model and environmental unknown disturbances are defined as a lumped disturbance vector denoted as \(\Gamma\). Namely,  
\[\mathbf{\Gamma}=\mathbf{M}^{-1}(\mathcal{U}(\mathbf{v})+\mathbf{\tau}_{E})+(\mathbf{M}^{-1}-( \mathbf{M}^{*})^{-1})\mathbf{\tau}, \tag{29}\]where \(\mathbf{M},\mathbf{M}^{*}\) represent the true value and the nominal value, respectively. Then, Equation (26) can be written as per the following:  
\[\dot{\mathbf{v}}=\mathbf{\Gamma}+(\mathbf{M}^{*})^{-1}\mathbf{\tau}. \tag{30}\]  
Let \(\mathbf{\Gamma}\) be the expanded state, and combine Equations (10) and (30), then the ESO is designated as the following:  
\[ \begin{cases}\dot{\mathbf{\dot{\eta}}}=\mathbf{\dot{J}}(\phi)\dot{\mathbf{v}}+\mathbf{\beta}_{1 }(\eta-\dot{\mathbf{\eta}})\\ \dot{\mathbf{v}}=\hat{\mathbf{\Gamma}}+(\mathbf{M}^{*})^{-1}\mathbf{\tau}+\mathbf{\beta}_{2}\mathbf{ \dot{J}}(\phi)^{T}(\eta-\dot{\mathbf{\eta}})\\ \dot{\mathbf{\Gamma}}=\mathbf{\beta}_{3}\mathbf{\dot{J}}(\phi)^{T}(\eta-\dot{\mathbf{\eta}}) \end{cases} , \tag{31}\]  
where \(\hat{\mathbf{\eta}},\hat{\mathbf{v}},\hat{\mathbf{\Gamma}}\) are the estimated vectors of \(\mathbf{\eta},\mathbf{v},\mathbf{\Gamma}\). In addition, \(\mathbf{\beta}_{1},\mathbf{\beta}_{2},\mathbf{\beta}_{3}\) are positive constant matrices. \[ \begin{cases}\beta_{1}=\text{diag}(\beta_{11},\beta_{12},\beta_{13},\beta_{14 })\\ \beta_{2}=\text{diag}(\beta_{21},\beta_{22},\beta_{23},\beta_{24})\\ \beta_{3}=\text{diag}(\beta_{31},\beta_{32},\beta_{33},\beta_{34})\end{cases} .