# Shearer-Positioning Method Based on Non-Holonomic Constraints
## 2 Positioning Algorithm of Shearer
### Kalman-Filter-Observation Equation  
This paper is based on the combined positioning of inertial navigation system and odometer, and introduces non-holonomic constraints as auxiliary information to suppress the divergence of INS error. For the shearer, in the cutting process, the inertial measurement unit must be affected by the installation angle and the shearer vibration; therefore. the non-holonomic constraint is not fully established at the installation of the inertial measurement unit, but for the connection between the shearer traction gear and the crawler, the traction gear is tightly stuck on the continuous crawler, and the non-holonomic constraint is established. Therefore, the speed obtained from the mechanical arrangement of the INS is projected to the joint of traction gear and crawler, and the non-holonomic constraint and the odometer-output speed are used to form a three-dimensional speed constraint on the shearer.  
When the shearer meets the non-holonomic constraint, the speed \(v_{m}\) of the connection between the traction gear and the crawler in the coordinate system of the shearer body is as follows:  
\[v_{m}=\begin{bmatrix}v_{t}&0&0\end{bmatrix}^{T} \tag{7}\]  
where \(v_{t}\) is the real cutting speed of the shearer.  
When projecting the INS mechanization result onto the M system, it is necessary to consider the alignment error caused by the installation of the inertial unit and the offset between the respective origin of the B system and the M system. Therefore, the velocity \(\hat{v}_{m}\) which is projected from B system to m system is  
\[\begin{split}\hat{v}_{m}=C_{b}^{m}\hat{C}_{n}^{b}\hat{v}^{n}+C_{b} ^{m}\left(\hat{\alpha}_{nb}^{n}\times\right)l_{\text{IMU}}^{b}\\ \approx C_{b}^{m}C_{n}^{b}[I+(\phi\times)](v^{n}+\delta_{v^{n}})+C_{b} ^{m}\left(\omega_{nb}^{n}\times\right)l_{\text{IMU}}^{b}+C_{b}^{m}\left(\delta _{\omega_{b}^{n}}\times\right)l_{\text{IMU}}^{b}\\ \approx v_{m}+C_{b}^{m}C_{n}^{b}\delta_{v^{n}}-C_{b}^{m}C_{n}^{b}(v ^{n}\times)\phi-C_{b}^{m}\left(l_{\text{IMU}}^{b}\times\right)\delta_{\omega_{ b}^{n}}\end{split} \tag{8}\]  
where \(C_{b}^{m}\) represents the attitude matrix [26] from the B system to the shearer body, which is determined by the installation angle of the measurement unit. \(\hat{C}_{n}^{b}\) represents the attitude matrix from the N system to the B system with alignment error, which is determined by the attitude angle calculated by the INS. \(\hat{\sigma}^{m}\) is calculated velocity for INS. \(\hat{\omega}_{nb}^{n}\) is a calculation result by INS and projected from B system to N system, which express the rotational angular velocity relative to the N system, \(l_{IMU}^{b}\) is the projection in B system of the position vector between the two origins from M system to B system, \(\delta_{\omega_{b}^{b}}\) is measurement error of the three-axis gyroscope, and \(C_{n}^{b}\) is the attitude matrix from the N system to the B system.  
The speed \(\widetilde{v}_{m}\) provided by the odometer can be expressed as  
\[\widetilde{v}_{m}=v_{m}+V \tag{9}\]  
where \(V\) is the observation noise.  
To sum up, the observation vector of Kalman filter can be determined by Equations (7)-(9), and the expression is  
\[Z=\widetilde{v}_{m}-\hat{v}_{m}=-C_{b}^{m}C_{n}^{b}\delta_{v^{n}}+C_{b}^{m}C_{ n}^{b}(v^{n}\times)\phi+C_{b}^{m}\left(l_{\text{IMU}}^{b}\times\right)\delta_{ \omega_{b}^{b}}+V \tag{10}\]  
Furthermore, the observation equation is  
\[Z_{k+1}=H_{k+1}\text{ X}_{k+1,k}+V \tag{11}\]In the formula, \(H\) is the observation matrix. By establishing the observation equation, the non-holonomic constraints and the speed of odometer output can be integrated into Kalman filter as the observation information to form a three-dimensional speed constraint on the shearer.