## 2 Proposed Position Tracking System Based on Composite Sensors
### MEMS IMU Positioning Algorithm  
The MEMS IMU sensor is an inertial sensor with Gyroscope, Accelerometer, and Magnetometer for measurements on three axes (Roll \(\phi\), Pitch \(\theta\), and Yaw \(\psi\)). We apply the MEMS IMU positioning algorithm by [PERSON] [11]. The errors of speed and acceleration data measured by an IMU sensor are complemented by a UWB communication system, which makes the position measurement accurate. A tag sensor of UWB, accelerometers and gyros are mounted on the platform body of _B frame_ and 3 anchors of UWB are located on any positions.  
Given that \(\mathbf{p}_{p}(t_{0})\) and \(\mathbf{v}_{p}(t_{0})\) are the initial platform position and velocity to _E frame_, the position \(\mathbf{p}_{p}(t)\) and the velocity \(\mathbf{v}_{p}(t)\) for the platform motion to an indoor positioning  
Figure 1: (**a**) Process of tag of UWB and MEMS IMU and anchor of UWB/WiFi (or Ethernet), (**b**) process of UWB module, and (**c**) UWB sensor board of PCB assembly and anchor/tag design.  
coordinate frame (_E frame_) can be obtained by the computable accelerations \(\mathbf{a}_{m}^{N}\) for a local navigation coordinate frame (_N frame_).  
\[\mathbf{p}_{p}(t)=\mathbf{p}_{p}(t_{0})+\int_{t_{0}}^{t}\mathbf{v}_{p}(\tau)d\tau \text{ and }\mathbf{v}_{p}(t)=\mathbf{v}_{p}(t_{0})+\int_{t_{0}}^{t}\mathbf{a}_{m}^{N}( \tau)d\tau \tag{1}\]  
Here, \(\mathbf{a}_{m}^{N}\) is computed by the following inertial navigation formula;  
\[\mathbf{a}_{m}^{N}=\hat{C}_{B}^{N}\mathbf{a}_{m}^{B}-\omega_{l\to N}^{N} \mathbf{v}_{m}^{N}+\mathbf{g}^{N} \tag{2}\]  
where \(\mathbf{a}_{m}^{B}\) is the measured body accelerations and \(\mathbf{g}^{N}\) is the gravity vector. \(\mathbf{v}_{m}^{N}\) is the computed translational velocity of the platform and \(\omega_{l\to N}^{N}\) is the angular velocity vector representing the transport rate vector from the EGI (Earth-Center-Inertial) frame (_I frame_) to the navigation coordinate frame (_N frame_).  
\[\omega_{l\to N}^{N}=\left[\begin{array}{ccc}0&-\omega_{2}&\omega_{y}\\ \omega_{z}&0&-\omega_{x}\\ -\omega_{y}&\omega_{x}&0\end{array}\right] \tag{3}\]  
\(\left(\omega_{x},\omega_{y},\omega_{z}\right)\) is the measured gyro output. \(\hat{C}_{B}^{N}\) is a \(3\times 3\) direction cosine matrix computed from \(C_{I}^{N}\) and \(\hat{C}_{B}^{I}\),  
\[\hat{C}_{B}^{N}=\left[C_{I}^{N}\right]\left[\hat{C}_{B}^{I}\right] \tag{4}\]  
which \(C_{I}^{N}\) represents the attitude of _I frame_ for _N frame_ and \(C_{B}^{I}\) represents the transported _B frame_ for _I frame_.  
\[C_{I}^{N}=\left[C_{z}(\pi)C_{y}\Big{(}-lat+\frac{\pi}{2}\Big{)}C_{z}(lon) \right]\left[C_{z}(\theta_{e})\right]. \tag{5}\]  
\[\hat{C}_{B}^{I}=C_{B}^{I}\omega_{l\to N}^{N}=C_{B}^{I}\left[\begin{array}{ ccc}0&-\omega_{z}&\omega_{y}\\ \omega_{z}&0&-\omega_{x}\\ -\omega_{y}&\omega_{x}&0\end{array}\right]. \tag{6}\]  
where  
\[C_{y}(\phi)=\left[\begin{array}{ccc}\cos(\phi)&0&\sin(\phi)\\ 0&1&0\\ -\sin(\phi)&0&\cos(\phi)\end{array}\right]\text{ and }C_{z}(\psi)=\left[ \begin{array}{ccc}\cos(\psi)&-\sin(\psi)&0\\ \sin(\psi)&\cos(\psi)&0\\ 0&0&1\end{array}\right]. \tag{7}\]  
Here, \(\theta_{e}=\theta_{e}(t_{0})+\omega_{e}(t-t_{0})\) by the earth's rotation rate \(\omega_{e}\). (_lat, lon_) are the latitude and longitude of motion platform. By using these equations, we compute Euler angles of roll \(\phi\), pitch \(\theta\), and yaw \(\psi\) and the position \(\overset{\star}{\mathbf{p}}^{N}\) and velocity \(\hat{\mathbf{v}}^{N}\) on _N frame_, as shown in Figure 2.  
Figure 2: Positioning principle in the two-way ranging (TWR) system.