## 3 Distributed Drive Vehicles Based on MCSRCKF
### Derivation of the MCSRCKF  
SCKF shows good performance in Gaussian noise; unfortunately, the robustness decreases significantly when disturbed by non-Gaussian noise caused by the MMSE's sensitivity to large outliers. However, the MCC performs robustly in this environment, as the correlation entropy contains second- and higher-order error moments, so the SCKF's robustness can be improved by the MCC. Combining Equations (22)-(27), the nonlinear regression model of Equation (9) is constructed as follows:  
\[ \begin{bmatrix}\hat{x}_{k|k-1}\\ y_{k}\end{bmatrix} = \begin{bmatrix}x_{k}\\ h(x_{k},u_{k})\end{bmatrix} +\eta_{k} \tag{42}\]  
where \(\eta_{k}= \begin{bmatrix}\hat{x}_{k|k-1}-x_{k}\\ r_{k}\end{bmatrix} \), the covariance matrix of \(\eta_{k}\) is  
\[H_{k}=E\Big{[}\eta_{k}\eta_{k}^{T}\Big{]}= \begin{bmatrix}P_{k|k-1}&0\\ 0&R_{k}\end{bmatrix} = \begin{bmatrix}T_{x,k|k-1}T_{x,k|k-1}^{T}&0\\ 0&T_{y,k|k-1}T_{y,k|k-1}^{T}\end{bmatrix} =T_{k}T_{k}^{T} \tag{43}\]  
The Cholesky decomposition of the covariance matrix \(H_{k}\) obtains the square root:Cholesky decomposition of \(H_{k}\) to obtain the square root \(T_{k}\) of the covariance matrix, then imitate Equation (43) and write \(T_{k}\) in the following form. \[T_{k}= \begin{bmatrix}S_{k|k-1}&0\\ 0&S_{R,k}\end{bmatrix} = \begin{bmatrix}T_{x,k}&0\\ 0&T_{y,k}\end{bmatrix}  \tag{44}\]  
Multiply \(T_{k}^{-1}\) on both sides of Equation (43) to obtain a nonlinear recursive model:  
\[D_{k}=B(x_{k},u_{k})+e_{k} \tag{45}\]  
where \(D_{k}=T_{k}^{-1} \begin{bmatrix}\lambda_{k|k-1}\\ y_{k}\end{bmatrix} \), \(B(x_{k},u_{k})=T_{k}^{-1} \begin{bmatrix}x_{k}\\ h(x_{k},u_{k})\end{bmatrix} \), the residual error \(e_{k}\) satisfy the Gaussian distribution and \(e_{k}=T_{k}^{-1}\eta_{k}\). Substitute the error \(e_{k}\) into Equation (41) to obtain the value of correlation entropy, use it as the cost function for MCSRCKF as follows:  
\[J_{\text{MCC}}=\frac{1}{N}\sum_{i=1}^{N}G_{\sigma}(e_{i,k})=\frac{1}{N}\sum_{ i=1}^{N}G_{\sigma}(d_{i,k}-b_{i}(x_{k},u_{k})) \tag{46}\]  
where, \(d_{i,k}\) and \(b_{i}(x_{k},u_{k})\) respectively represent the \(i\)-th row of \(D_{k}\) and \(B(x_{k},u_{k})\), \(N\) represents the dimension of \(D_{k}\) and also denotes the sum of dimensions for the system equations, i.e., \(N=2n\). Maximizing the cost function can get the best estimation for the state variables:  
The entropy value of MCC indicates the similarity of the maximum error probability density, and it can be observed from the entropy plot that the entropy value is maximum when the random variables X and Y are equal [38]. Therefore, according to the properties of MCC, the state estimation that is closest to the true value is obtained when the value of the cost function of the following equation is maximized. \[\hat{x}_{k|k}=\underset{x_{k}}{argmax}\sum_{i=1}^{N}G_{\sigma}(e_{i,k}) \tag{47}\]  
At this point, let the first-order derivative be equal to 0 to solve for Equation (47):  
\[\frac{\partial J_{\text{MCC}}}{\partial x_{k}}=\sum_{i=1}^{N}G_{\sigma}(e_{i,k })\cdot e_{i,k}\cdot\frac{\partial e_{i,k}}{\partial x_{k}}=0 \tag{48}\]  
Then we define:  
\[C_{k}= \begin{bmatrix}G_{\sigma}(e_{1,k})&\cdots&0\\ \vdots&\ddots&\vdots\\ 0&\cdots&G_{\sigma}(e_{N,k})\end{bmatrix} = \begin{bmatrix}C_{x,k}&0\\ 0&C_{y,k}\end{bmatrix}  \tag{49}\]  
where,  
\[C_{x,k}= \begin{bmatrix}G_{\sigma}(e_{1,k})&\cdots&0\\ \vdots&\ddots&\vdots\\ 0&\cdots&G_{\sigma}(e_{n,k})\end{bmatrix}  \tag{50}\]  
\[C_{y,k}= \begin{bmatrix}G_{\sigma}(e_{n+1,k})&\cdots&0\\ \vdots&\ddots&\vdots\\ 0&\cdots&G_{\sigma}(e_{N,k})\end{bmatrix}  \tag{51}\]Thus Equation (48) can be expressed as  
\[\left(\frac{\partial b(x_{k},u_{k})}{\partial x_{k}}\right)^{T}C_{k}(D_{k}-B(x_{ k},u_{k}))=0 \tag{52}\]  
MCC improves the performance of the SCKF under non-Gaussian environments using \(C_{k}\) to reconstruct the covariance and measurement noise [22]. Thus, the updated covariance matrix of \(\eta_{k}\) is  
\[\widetilde{H}_{k}= \begin{bmatrix}\widetilde{P}_{k|k-1}&0\\ 0&\widetilde{R}_{k}\end{bmatrix}