## 2 Forklift Model
### Sensor Fault Model of a Forklift  
Considering the external output disturbance and the cargo uncertainty, the equivalent sensor fault model of a forklift can be defined as (6) when sensor faults occur.  
\[\left\{\begin{array}{l}\dot{x}(t)=Ax(t)+Bu(t)\\ y(t)=Cx(t)+Hd(t)+Ff\end{array}\right. \tag{6}\]  
where \(x(t)\) denotes the unmeasurable state vector, \(u(t)\) denotes the measurable input vector, \(y(t)\) denotes the measurable output vector, \(d(t)\) denotes external output uncertainties and the nonlinear term, \(f\) denotes the sensor fault, \(H\) denotes the external interference matrix (provided), \(F\) denotes the known distribution matrix of sensor faults; and \(A\), \(B\), and \(C\) are constant matrices (also provided).  
Assuming that multiple sensor faults occur, the model can be described as follows:  
\[\left\{\begin{array}{l}\dot{x}(t)=Ax(t)+Bu(t)\\ y_{1}(t)=C_{1}x(t)+H_{1}d(t)+F_{1}f_{1}\\ \vdots\\ y_{m}(t)=C_{m}x(t)+H_{m}d(t)+F_{m}f_{m}\end{array}\right. \tag{7}\]  
where \(m\) denotes the number of sensors that occur faults.  
The sensor faults model (7) can be simplified as (8). Divide (7) into multiple single sensor fault models for sensor fault detection. When multiple sensor faults occur simultaneously, the corresponding part can be detected in detail to perform fault detection and reconstruction [20]:  
\[\left\{\begin{array}{l}\dot{x}(t)=Ax(t)+Bu(t)\\ y_{i}(t)=C_{i}x(t)+H_{i}d(t)+F_{i}f_{i}\end{array}\right. \tag{8}\]  
where \(f_{i}\) denotes the \(i^{th}\) sensor fault.  
If state variable \(z\) is defined as the first-order low-pass filtering output of \(y(t)\)[21], the sensor fault can be transformed into an actuator fault:  
\[\dot{z}_{i}=-A_{si}z_{i}+A_{si}y_{i}\]where \(A_{si}\) is the stable matrix of appropriate dimensions. Substituting (9) for (8), we can get  
\[\left\{\begin{array}{l}\left[\begin{array}{c}\dot{x}\\ \dot{z}_{i}\end{array}\right]=\left[\begin{array}{cc}A&0\\ A_{si}\mathbb{C}_{i}&-A_{si}\end{array}\right]\left[\begin{array}{c}x\\ z_{i}\end{array}\right]+\left[\begin{array}{c}B\\ A_{si}\mathbb{G}_{i}\end{array}\right]u+\left[\begin{array}{c}0\\ A_{si}\mathbb{H}_{i}\end{array}\right]\theta(t)+\left[\begin{array}{c}0\\ A_{si}\mathbb{F}_{i}\end{array}\right]f_{i}\\ z_{i}=\left[\begin{array}{cc}0&I_{1}\end{array}\right]\left[\begin{array}{ c}x\\ z_{i}\end{array}\right]\end{array}\right. \tag{10}\]  
A new state variable and the corresponding matrix can be expressed as follows:  
\[\overline{x}_{i}=\left[\begin{array}{cc}x&z_{i}\end{array}\right]^{T}, \overline{y}_{i}=z_{i},\overline{A}_{i}=\left[\begin{array}{cc}A&0\\ A_{si}\mathbb{C}_{i}&-A_{si}\end{array}\right],\overline{B}_{i}=\left[ \begin{array}{c}B\\ A_{si}\mathbb{G}_{i}\end{array}\right]\overline{C}_{i}=\left[\begin{array}{ c}0&I\end{array}\right]\overline{H}_{i}=\left[\begin{array}{c}0\\ A_{si}\mathbb{H}_{i}\end{array}\right]\overline{F}_{i}=\left[\begin{array}{ c}0\\ A_{si}\mathbb{F}_{i}\end{array}\right]\]  
Then, when the \(i^{th}\) sensor fault occurs, the model can be expressed as follows:  
\[\left\{\begin{array}{l}\dot{\overline{x}}_{i}(t)=\overline{A}_{i}\overline{ x}_{i}(t)+\overline{B}_{i}u(t)+\overline{H}_{i}d(t)+\overline{F}_{i}f_{i}\\ \overline{y}_{i}(t)=\overline{C}_{i}\overline{x}_{i}(t)\end{array}\right. \tag{11}\]  
Introduction of state variable z to Equation (11) converts the sensor fault into a pseudo-actuator fault. It forms an augmented state space system [2], and a single sensor fault model is constructed.