# Research on the Dynamic Control Method of CFETR Multi-Purpose Overload Robot
## 3 CMOR Dynamic Control Method
### CMOR Position Error Compensation Method  
The parameter errors of CMOR are not uniformly distributed in the joint space due to the influence of linkage flexibility, joint flexibility, self-weight, load and motor control. For the error of each joint parameter of CMOR, the full differentiation of the coordinate transformation between adjacent links according to the differential transformation method can be obtained  
\[\Delta_{i}^{i-1}T=\frac{\partial_{i}^{i-1}T}{\partial\theta}\Delta\theta+\frac {\partial_{i}^{i-1}T}{\partial\alpha}\Delta\alpha+\frac{\partial_{i}^{i-1}T}{ \partial d}\Delta d+\frac{\partial_{i}^{i-1}T}{\partial a}\Delta a+\frac{ \partial_{i}^{i-1}T}{\partial\beta}\Delta\beta=i^{-1}T\Delta i \tag{39}\]where \(\Delta\theta_{i}\) is the joint rotation angle deviation, \(\Delta\alpha_{i}\) joint torsion angle deviation, \(\Delta d_{i}\) linkage offset deviation, \(\Delta a_{i}\) link length deviation, \(\Delta\beta_{i}\) is the deviation of parameter \(\beta_{i}\), \(\Delta_{i}^{i-1}T\) is the homogeneous transformation error of adjacent links, \(\Delta i\) is the differential transformation error between adjacent linkage coordinate systems. Due to the errors in the CMOR joint parameters, the homogeneous transformation matrix of the end coordinate system with respect to the base coordinate system is  
\[T_{n}^{0}+dT_{n}^{0}=\left({}_{1}^{0}T+\Delta_{1}^{0}T\right)\left({}_{2}^{1} T+\Delta_{2}^{1}T\right)\cdots\left({}_{n-1}^{n-2}T+\Delta_{n-1}^{n-2}T\right) \left({}_{n}^{n-1}T+\Delta_{n-1}^{n-1}T\right) \tag{40}\]  
where \(T_{n}^{0}\) is the positional matrix of the CMOR end-effector coordinates to the base coordinate system, and \(dT_{n}^{0}\) is the error matrix of the end coordinate system with respect to the base coordinate system. The above equation is rounded off by the higher-order regression term [39], and the linearized CMOR end space position error model is obtained as  
\[ \begin{array}{c}dT_{n}^{0}=\sum_{i=1}^{n}\left[{}_{1}^{0}T\cdots\overset{i- 2}{i-1}Td\left({}_{i}^{i-1}T\right)_{i+1}^{i}T\cdots\overset{n-1}{n}T\right] \\ =\sum_{i=1}^{n}\left[{}_{i-1}^{0}Td\left({}_{i}^{i-1}T\right)_{i+1}^{i}T\cdots \overset{n-1}{n}T\right]\end{array}  \tag{41}\]  
From Equation (41), the CMOR end space position deviation \(\Delta P\) is  
\[\Delta P=P^{R}-P^{N}=B\Delta\eta \tag{42}\]  
where \(\Delta P=\left(\Delta x,\Delta y,\Delta z\right)^{T}\) is the CMOR end flange position error vector, \(P^{R}\) is the actual end flange position, \(P^{N}\) is the calculated end flange position, \(B\) is the parameter error identification Jacobi matrix, and \(\Delta\eta\) is the parameter error vector of each joint, where \(B=\left[{}_{\theta}\quad J_{\alpha}\quad J_{\alpha}\quad J_{\beta}\quad \right],\Delta\eta=\left[\Delta\theta\quad\Delta\alpha\quad\Delta a\quad\Delta d \quad\Delta\beta\quad\right]^{T}\). The CMOR varies its parameter errors in the joint space due to the flexibility of the link, the flexibility of the joint, the controller control error, the self-weight, and the load. With the change of the rotation angle in the joint space of the CMOR, the joint rotation angle produces a certain degree of error, but it is also accompanied by the link flexibility error, controller control error, and other parameters [40]. Therefore, each parameter error of CMOR can be expressed as a function of the joint angle  
\[\Delta\eta=\left(\Delta\theta\quad\Delta\alpha\quad\Delta a\quad\Delta d\quad \Delta\beta\quad\right)=f(\theta_{1},\theta_{2}\cdots,\theta_{8}) \tag{43}\]  
where \(\Delta\eta\) denotes the set of parameter errors. It is difficult to model the errors in the joint space because the CMOR joints turning angles \(\theta_{1},\theta_{2}\cdots,\theta_{8}\) are coupled with each other.