# A Virtual Reality Soldier Simulator with Body Area Networks for Team Training
## 2 System Description
### System Initialization  
The sink node is deployed on the back of the body and collects the streaming data from multiple wireless sensor nodes. Afterwards, the streaming data from the sensor nodes is transmitted to the workstation via Ethernet cables, modeling the skeleton of the human body along with the structure of the firearm (Figure 12). Table 2 describes the data structure of a packet, which is sent by a sensor node to the sink node in every ODT. Table 3 shows the integrated data that describes the unique features of each soldier in the virtual environment. The description provides the appearance characteristics, locomotion, and behaviors of each soldier [32; 33].  
Figure 11: The diagram shows that sensor nodes communicate with sink node in two domains.  
Figure 12: A fully equipped soldier.  
For sensor nodes, the data stream reported to the sink node is interpreted as the movement-based data structures of a skeleton. Each wearable sensor node of the skeleton has a unique identification information during the initialization phase. As a result, the sink node can distinguish which sensor nodes are online. Accordingly, when turning the power on, the HMDs on the soldiers are automatically connected to the workstations, and the voice communication group setting is immediately ready. Please note that the T-pose calibration is performed in sensor node \(n\) of a skeleton for initializing the root frame, which is given by  
\[q_{1,n}=q_{T,n}\otimes q_{0,n}\otimes q_{T,n}^{\star}, \tag{13}\]  
where \(q_{T,n}\) is the reading of sensor node \(n\) in the modified T-pose and \(q_{1,n}\) is the new body frame from the initial root frame \(q_{0,n}\).  
Although sensor nodes are always worn on certain positions of a human body, the positions of sensor nodes may drift due to the movements occurring during the training process. Hence, the T-pose calibration procedure can be applied to estimate the orientation of the sensors. After that, the system is prepared to log in for simulation tasks. The system initialization flow diagram is shown in Figure 13.  
\begin{table}
\begin{tabular}{c l c} \hline \hline
**Header** & **Data to Show Packet Number** & **8 bits** \\ \hline \multirow{8}{*}{**Payload**} & Bone data size & \\  & Total data length & \\  & Soldier No. & \\  & T-Pose status & \\  & Sensor nodeID & 144 bits \\  & Total Bones of a skeleton & \\  & Yaw value of the bone & \\  & Pitch value of the bone & \\  & Roll value of the bone & \\ \hline
**Tail** & Data to show end of packet & 8 bits \\ \hline \hline \end{tabular}
\end{table}
Table 2: Data structure of a packet.  
\begin{table}
\begin{tabular}{l l l} \hline \hline
**DATA** & **UNIT** & **RANGE** \\ \hline Soildier no. & N/A & 0–255 \\ Friend or Foe & N/A & 0–2 \\ exterbal Control & N/A & 0/1 \\ Team no. & N/A & 0–255 \\ Rank & N/A & 0–15 \\ Appearance & N/A & 0–255 \\ BMI & Kg/Meter\({}^{2}\) & 18–32 \\ Health & Percentage & 0–100 \\ Weapon & N/A & 0–28 \\ Vechicle & N/A & 0–5 \\ Vehicle Seat & N/A & 0–5 \\ Position X & Meter & N/A \\ Position Y & Meter & N/A \\ Position Z & Meter & N/A \\ Heading & Degree & \(-\)180\(\sim\)180 \\ Movement & N/A & 0\(\sim\)255 \\ Behavior & N/A & 0\(\sim\)255 \\ \hline \hline \end{tabular}
\end{table}
Table 3: Description of the features of each soldier.