## 3 Mobile Node Design
### Computing Models  
Precisely localization of the position of the mobile node in unknown indoor environments is a big challenge. In those circumstances, GPS-based and beacon-based localization methods do not work well or even fail. Considering the size and cost limitations of the mobile node, it is feasible to use the dead reckoning method to estimate the node location. Although this method is well known for its large cumulative error, it is still a good choice here since the traveling distance of the mobile node is not always very long in most applications and the cumulative error will not exceed the acceptable limit. The computing model of the proposed mobile node for 2D pose estimation is shown in Figure 5. The pose of the mobile node can be expressed as:  
\[\xi=\left[x,y,\theta\right] \tag{1}\]  
where \(O(x,\,y)\) denotes the midpoint of the driving axle and \(\theta\) denotes the orientation angle of the mobile node. When \(v_{L}=\) -\(v_{R}\), the mobile node can acquire zero turning radius. Therefore the mobile node can reduce curvilinear motion to a great extent. It is helpful for the mobile node to improve its positioning accuracy. But due to machining and assembling errors, speed mismatch of the two motors and other errors, the actual trace of the mobile node can not be a straight line.  
Figure 5: Computing model of the mobile node for 2D pose calculation.  
Figure 6: The principle of 2D pose calculation for the mobile node.  
As shown in Figure 6, when the node moves from point \(A\) to point \(B\), the trace between the two points is a curve _AS_. If we control the sampling interval to be very short, _AS_ can be considered to approximate to a straight line. Therefore the pose of the mobile node can be calculated as follows:  
\[\xi_{n+1}=\xi_{n}+\left[\begin{matrix}\Delta S\cos(\theta+\Delta\theta/2)\\ \Delta S\sin(\theta+\Delta\theta/2)\\ \theta+\Delta\theta\end{matrix}\right] \tag{2}\]  
where  
\[\Delta S=\left(\Delta S_{L}+\Delta S_{R}\right)/2 \tag{3}\]  
and _AS_ denotes the trace of the left wheel when the node moves from \(A\) to \(B\), _AS_ denotes that of the right wheel, _AD_ denotes the change in orientation and \(b\) denotes the track width.  
The sensing region of the mobile node is modeled as a circle, as shown in Figure 7. Its radius is _R_\({}_{s}\). The communicating region of the mobile node is also modeled as a circle. Its radius is _R_\({}_{c}\). In order to work properly, the mobile node needs to meet the following constraints:  
\[\frac{L}{\sqrt{2}}\leq R_{s}\leq\frac{R_{c}}{2} \tag{4}\]  
Here the robotic chassis is approximately modeled as a square. Its side length is \(L\). If _R_\({}_{s}=\textit{L}/\sqrt{2}\) and the mobile nodes are deployed side by side, the total coverage area of the sensor network reaches its minimum value. If the distance between any two nodes is not shorter than 2_R_\({}_{s}\) and there is no obstacle in the covered region, then the total coverage area of the sensor network reaches its maximum value:  
\[A_{m}=N\pi R_{s}^{2} \tag{5}\]  
where \(N\) denotes the number of nodes in the sensor network. Although the coverage area reaches its maximum value in this situation, we should notice that coverage holes appear among the sensor coverage circles.  
Figure 7: Sensing range and communicating range of the mobile node.