## 2 Dynamic Model Predictive Control
### Three-Wheel Independent Drive and Steering Mobile Robots
#### 2.1.2 Kinematics Model of the 3 WIDWIS Mobile Robot  
The kinematics model of the 3 WIDWIS mobile robot is the basis for trajectory tracking. Figure 3 shows the kinematics model of the 3 WIDWIS mobile robot. The planar structure of the robot is an equilateral triangle. \(\{X_{i}OY_{i}\}\) is the wheel coordinate system, \(\{XOY\}\) is the robot coordinate system, and \(\{X^{m}O^{m}Y^{m}\}\) is the global (world) coordinate system. To simplify the kinematic model, we assume that the three wheels of the robot have good contact with the ground and that the load on each wheel is the same. \(v_{i}\) represents the combined speed of the \(i\)th steering gear train in the wheel coordinate system, \(v_{c}\) represents the speed of the robot center, \(\omega\times r\) represents the speed of the robot rotation on the steering gear train, the above are vectors, which meet the parallelogram rule, so:  
\[v_{i}=\sqrt{v_{xi}^{2}+v_{yi}^{2}}. \tag{1}\]  
Combined with Figure 3, in the robot coordinate system, the wheel \(A\) is analyzed, and there is the following speed relationship:  
\[v_{1x}=v_{1}\cos\delta_{1}=v_{cx} \tag{2}\]  
\[v_{1y}=v_{1}\sin\delta_{1}=v_{cy}+\omega\times L \tag{3}\]  
where \(L\) refers to the distance from the center of the robot to each steering gear train, they are the same. \(r_{x}\) and \(r_{y}\) refer to the distance between the robot's center \(O\) and the steering gear train's center on the \(x\) and \(y\), respectively. Similarly, the analysis of wheel \(B\) and wheel \(C\) shows that:  
\[v_{2x}=v_{2}\cos\delta_{2}=v_{cx}-\omega\times r_{y} \tag{4}\]  
\[v_{2y}=v_{2}\sin\delta_{2}=v_{cy}+\omega\times r_{x} \tag{5}\]  
Figure 3: Kinematics model diagram of the 3 WIDWIS mobile robot. \[v_{3x}=v_{3}\cos\delta_{3}=v_{cx}+\omega\times r_{y} \tag{6}\]  
\[v_{3y}=v_{3}\sin\delta_{3}=v_{cy}-\omega\times r_{x} \tag{7}\]  
The state of the robot in the global coordinate system can be expressed as \([\dot{X}^{W},\dot{Y}^{W},\dot{\theta}^{W}]\), and the relationship between the state of the robot in the robot coordinate system \([v_{x},v_{y},\omega]\) can be expressed as:  
\[ \begin{bmatrix}\dot{X}^{W}\\ \dot{Y}^{W}\\ \dot{\theta}\end{bmatrix} =R \begin{bmatrix}v_{x}\\ v_{y}\\ \omega\end{bmatrix}  \tag{8}\]  
where \(R\) is the rotation matrix that maps the robot coordinate velocity to the global coordinate velocity:  
\[R= \begin{bmatrix}\cos\theta&-\sin\theta&0\\ \sin\theta&\cos\theta&0\\ 0&0&1\end{bmatrix}  \tag{9}\]  
Equations (2)-(7) expresses the relationship between \(v_{c}\) and \(v_{i}\). The kinematics equation of the 3 WIDVIS mobile robot can be expressed as follows:  
\[A \begin{bmatrix}v_{cx}\\ v_{cy}\\ \omega\end{bmatrix} =B \begin{bmatrix}v_{1}\\ v_{2}\\ v_{3}\end{bmatrix}  \tag{10}\]  
The left side of Equation (10) is the robot center speed \(v_{c}\), the right side is the combination speed of each driving wheel \(v_{i}\), A and B are coefficient matrices. Therefore, the relationship between the speed in the robot coordinate system \(\{XOY\}\) and the speed in wheel coordinate system \(\{X_{i}OY_{i}\}\) can be defined as:  
\[ \begin{bmatrix}v_{cx}\\ v_{cy}\\ \omega\end{bmatrix} =A^{-1}B \begin{bmatrix}v_{1}\\ v_{2}\\ v_{3}\end{bmatrix}  \tag{11}\]  
where: \(A= \begin{bmatrix}1&0&0\\ 0&1&L\\ 1&0&-r_{y}\\ 0&1&-r_{x}\\ 1&0&r_{y}\\ 0&1&r_{x}\end{bmatrix} \), \(B= \begin{bmatrix}c\delta_{1}&0&0\\ s\delta_{1}&0&0\\ 0&c\delta_{2}&0\\ 0&s\delta_{2}&0\\ 0&0&c\delta_{3}\\ 0&0&s\delta_{3}\end{bmatrix} \), \(r_{x}=\frac{\xi}{2},r_{y}=\frac{\sqrt{3}}{2}L\). \(c(\cdot)\) and \(s(\cdot)\) denote the trigonometric functions \(cos(\cdot)\) and \(sin(\cdot)\), respectively. The forward kinematics equation of the 3 WIDVIS mobile robot is expanded as follows:  
\[ \begin{bmatrix}v_{x}\\ v_{y}\\ \omega\end{bmatrix} =\frac{1}{3} \begin{bmatrix}c\delta_{1}&c\delta_{2}&c\delta _{3}\\ s\delta_{1}&s\delta_{2}&s\delta_{3}\\ S_{1}&S_{2}&S_{3}\end{bmatrix}\begin{bmatrix}v_{1}\\ v_{2}\\ v_{3}\end{bmatrix}  \tag{12}\]  
where: \( \begin{bmatrix}S_{1}\\ S_{2}\\ S_{3}\end{bmatrix} =