# Implementation of Fault-Tolerant Control for
## 2 Dynamics Model of Robot Manipulators  
The dynamics of an n-degree of freedom robot manipulator was defined [27] as  
\[M(q)\ddot{q}+C(q,\dot{q})\dot{q}+G(q)+F_{f}(\dot{q})=\tau \tag{1}\]  
where \(\ddot{q},\dot{q},q\in\Re^{n}\) are the vectors of joint acceleration, velocity, and position, respectively. \(M(q)\in\Re^{n\times n}\), \(C(q,\dot{q})\in\Re^{n}\), and \(G(q)\in\Re^{n}\) represent the inertia matrix, the centripetal and Coriolis matrix, and the gravitation force, respectively. \(F_{f}\in\Re^{n}\) is the friction term and \(\tau\in\Re^{n}\) is the torque at the joints.  
In practice, the dynamics model of a robot is not exactly known, so Equation (1) can be written as  
\[(\mathbf{M}(q)+\Delta M(q))\ddot{q}+(\mathbf{C}(q,\dot{q})+\Delta C(q,\dot{q} ))\dot{q}+(\mathbf{G}(q)+\Delta G(q))+(\mathbf{F}_{f}(\dot{q})+\Delta F_{f}( \dot{q}))+\delta=\tau \tag{2}\]  
where \(\Delta M,\Delta C,\Delta G\) and \(\Delta F\) are unknown dynamic uncertainties and \(\delta\) is the unknown external disturbances. \(\mathbf{M}(q)\), \(\mathbf{C}(q,\dot{q})\), \(\mathbf{G}(q)\) and \(\mathbf{F}(\dot{q})\) are estimated of \(M(q),C(q,\dot{q}),G(q)\) and \(F(\dot{q})\). Thus, Equation (2) can be simply rewritten as  
\[\mathbf{M}(q)\ddot{q}+\mathbf{C}(q,\dot{q})\dot{q}+\mathbf{G}(q)+\mathbf{F}_{ f}(\dot{q})+\Psi(q,\dot{q},\ddot{q},t)=\tau \tag{3}\]  
where \(\Psi(q,\dot{q},\ddot{q},t)=\Delta M\ddot{q}+\Delta C\dot{q}+\Delta F+\delta\).  
**Properties:**  
\[\begin{array}{c}\mu_{1}I_{n}\leq\mathbf{M}(q)\leq\mu_{2}I_{n}\\ \frac{1}{\mu_{1}}I_{n}\leq\mathbf{M}^{-1}(q)\leq\frac{1}{\mu_{2}}I_{n}\end{array}\]  
In general, actuator faults can be divided into two types: bias faults and gain faults. In a robot manipulator, these are known as loss of effectiveness and lock-in-place faults. In practice, both kinds of actuator faults commonly occur. Actuator bias faults can be generally described as  
\[\tau^{b}=\tau+\mathbf{f}(t) \tag{4}\]  
where \(\mathbf{f}(t)=[f_{1},f_{2},\ldots f_{n}]^{T}\in\Re^{n}(i=1,2,\ldots,n)\) denotes a bounded signal. \(\tau^{b}\) is the torque at the joint when faults occur. Due to loss of effectiveness, actuator gain fault can be described as  
\[\tau^{\delta}=(I-\rho(t))\tau \tag{5}\]where \(\rho(t)=diag(\rho_{i}(t))\in\Re^{m\alpha}\), \(0\leq\rho_{i}(t)<1(i=1,2,\ldots,n)\), which is unknown, denotes the remaining control rate. \(I\in\Re^{m\alpha}\) is the identity matrix. Therefore, the total torque including two kinds of actuator faults can be comprehensively described as  
\[\tau^{t}=(I-\rho(t))\tau+\mathbf{f}(t)\quad(t>t_{f}) \tag{6}\]  
where \(t_{f}\) is the time of occurrence of each fault.  
Substituting Equation (6) into Equation (3), the dynamics model of an n-degree of freedom robot manipulator with actuator faults can be written as  
\[\mathbf{M}(q)\ddot{q}+\mathbf{C}(q,\dot{q})\dot{q}+\mathbf{G}(q)+\mathbf{F}_{ f}(\dot{q})+\Psi(q,\dot{q},\ddot{q},t)=(I-\rho(t))\tau+\mathbf{f}(t) \tag{7}\]  
**Assumption 1**.: _There exist known positive constants \(\widetilde{\rho}_{i},\widetilde{\widetilde{\rho}}_{i},\widetilde{\mathbf{f}}\) such that \(\left|\rho_{i}(t)\right|\leq\widetilde{\rho}_{i},\left|\dot{\rho}_{i}(t) \right|\leq\overline{\widetilde{\rho}}_{i},\left|\mathbf{f}\right|\leq \overline{\widetilde{\mathbf{f}}}\), and \(\left|\dot{\mathbf{f}}\right|\leq\overline{\widetilde{\mathbf{f}}}\)._