## 4 Enabling Multi-RAT Indoor Handover
### Proposed Positioning Algorithm  
Since the proposed positioning algorithm is geometry-based, we provide an illustration of the geometry relation between the mmWave AP and the robot in terms of the side view and top view in Figure 4, in which the GBP algorithm is constructed. Specifically, the mmWave AP is represented by the red dot, while the purple cross marker denotes the robot. Further, the antenna array deployed on the robot is highlighted by the black solid line on top of the purple markers. It is important to note that since the positioning is implemented at the robot side, the antenna array of the mmWave AP is therefore omitted. In addition, we denote the noiseless elevation and azimuth AoA at the robot side as \(\varphi\) and \(\theta\), and the true orientation of the antenna array (in the azimuth plane) on the robot after the transformation from the robot coordinates to the local 3D Cartesian coordinates [28] is \(\alpha\). In this work, only the array orientation in the azimuth plane (horizontal plane) has to be considered because the elevation orientation of the array remains vertical to the ground as the robot moves along the trajectory. Further,' denotes the noisy measurement of the corresponding noiseless quantity. By solving the geometrical relationship between the mmWave AP and the robot shown in Figure 4, the GBP algorithm is described in Algorithm 1, where the inputs contain the AoA measurements, \(\phi\) and \(\hat{\theta}\)and the orientation measurements \(\hat{a}\). Additionally, the GBP requires the location information of the mmWave AP to complete the radio-positioning for the robot. It is noteworthy that the time index is omitted in Algorithm 1 due to the independence between the location estimates of the adjacent time instants. Today, there are various methods to estimate the robot location, e.g., the extended Kalman filter (EKF) [31; 34; 35; 48] or the theoretical positioning error bound [27; 49]. Here, we propose and apply the GBP for robot positioning due to three major reasons. The first one is the limited availability of LRMs. Given the considered scenario, there is only one mmWave AP available for acquiring the LRMs. For positioning with two unknowns (i.e., \(x-,y-\) components of a 3D coordinate), most of the existing algorithms require at least three APs. The second reason is the algorithm complexity. In order to reduce battery usage during positioning, the applied positioning algorithm needs to be less computationally complex. Comparing with the EKF, the GBP algorithm was shown to have much lower computational complexity while providing reasonable positioning accuracy [35]. Third, the main target of this work is not to compare different positioning algorithms but to acquire location awareness for better handover performance. Generally, a better positioning performance is directly related to a better LHO performance; however, as we discuss in Section 5.2, the LRMs obtained by the robot is too coarse to be used for accurate positioning by any positioning algorithms. ```
Input:\(\hat{\varphi}\), \(\hat{\theta}\), \(\hat{\alpha}\), \(x_{A}\), \(y_{A}\) Output:\(\hat{x}\), \(\hat{y}\)
1 Compute the 2D distance between mmWave AP and the robot based on elevation AoA measurement \(\hat{\varphi}\) and the known antenna height difference \(h\) \[\hat{d}_{\text{2D}}=h/\tan\left(\hat{\varphi}\right)\] Convert the azimuth AoA measurement \(\hat{\theta}\) at the robot to the angle of departure (AoD) \(\hat{\theta}_{A}\) at the mmWave AP taking into account the array orientation measurement \(\hat{\alpha}\) of the robot \[\hat{\theta}_{A}=\pi-|\hat{\theta}-\hat{\alpha}|.\]
2 Calculate the robot location based on \(\hat{d}_{\text{2D}}\) and \(\hat{\theta}_{A}\) \[ \begin{bmatrix}\hat{x}\\ \hat{y}\end{bmatrix} = \begin{bmatrix}x_{A}+\hat{d}_{\text{2D}}\text{cos}\hat{ \theta}_{A}\\ y_{A}+\hat{d}_{\text{2D}}\text{sin}\hat{\theta}_{A}\end{bmatrix}