## 5 Case Studies: Localization in a Real-World Indoor Environment
### Case Study 1: Traditional Localization Scenario  
Case study 1 started with the Turtlebot2 navigating the indoor environment while updating the map. The robot started from a known, accurate location (station 1) using the unaltered map with walls of the apartment, without furniture or doors. As shown in Figure 11, the robot was instructed to visit ten stations in living room, dining room, and foyer area while updating the map when non-structural objects (e.g., sofa or doors) were detected by the Astra camera. During the map updating, localization errors were corrected automatically. Then, in another experiment for comparison, the robot was instructed to repeat navigation of the path without using the object recognition and map updating as the state-of-practice. This provided a demonstration of the difference between employing the software versus the current method. Each scenario was repeated three times. Figure 11 shows how the map was updated during the navigation. Around station 5, the robot identified the presence of a couch with the camera, isolated its point cloud from the depth cloud, and inserted the 2D boundary polygon into the map. At station 7 around the foyer, the robot detected a set of double-doors and updated the map. Finally, at the final location in the foyer, the robot rotated around to detect and update three more doors.  
As shown in Table 2, the accuracy of localization with map updating implemented was highly reliable, with location errors within 10 cm and orientation errors of 0.1 radian (about 6 degrees). However, localization without map updating suffered from non-building elements existing around the path. The localization for the initial part without non-building elements was highly accurate (station 1-4). However, once the robot approached the couch, the error started increasing with the robot interpreting the front of the sofa as the wall behind it (station 5-7). This led to the robot \"jumping\" by roughly one meter towards the direction of the wall at station 7. Then, as the robot entered the foyer area, closed doors (three single doors and one of double doors) made the 2D shape of the foyer area similar to  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Parameter** & \
\begin{tabular}{c} **Traditional Localization** \\ **(Case Study 1)** \\ \end{tabular} &
\begin{tabular}{c} **Kidnapped Scenario** \\ **(Case Study 2)** \\ \end{tabular} \\ \hline init\_cov\_xx & 10 & 25 \\ init\_cov\_yy & 10 & 25 \\ init\_cov\_aa & 3.14 & 3.14 \\ min\_particles & 2500 & 15,000 \\ max\_particles & 5000 & 20,000 \\ kld\_err & 0.05 & 0.05 \\ kld\_z & 0.99 & 0.99 \\ resample\_interval & 5 & 10 \\ recovery\_alpha\_slow & 0.05 & 0.10 \\ recovery\_alpha\_fast & 0.20 & 0.50 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Modifications to the AMCL default parameters for the kidnapped robot problem.  
Figure 10: (**a**) Navigation path for traditional localization and (**b**) robot locations for kidnapped localization.  
rooms without doors, eventually determining the location to be bathroom 1. At this point, the robot could not recover its location and could not proceed to station 8-10. Figure 12 shows how the AMCL particle swarms evolved during the navigation. With map updating, the robot could arrive at station 10 automatically recovering from errors. However, without map updating, the robot could not recover location and orientation errors caused by the sofa around station 5 and 6, which then accumulated around 7 to jump to a location far from the final destination.  
\begin{table}
\begin{tabular}{c} **Error** \\ **(v, y, yaw)** \\ \end{tabular} \\ \hline
1 & \(-1.0\), \(-0.8\), \(0.00\) & \(-1.0\), \(-0.8\), \(0.0\) & \(0.0\), \(0.0\), \(0.0\) & \(-1.0\), \(-0.8\),