## 5 Comparisons and Experiment
### Proof of Concept Experiment and Discussion
#### 5.3.2 Online static cylinder obstacles avoidance  
The experimental setup for the task of avoidance of multiple obstacles is operating a mobile robot Dr. Robot X80 in a cluttered indoor environment. Similar to Reference [11], there are four cylinder obstacles, all assumed to be identical cylinders with radius \(r_{Obstacle}\) = 0.1 m, placed at (1, 0), (1.8, \(-\)0.6), (2.6, 0) and (2.6, \(-\)1.2) in meters, which are distributed around the forward motion route. The velocity field generated by the gradient of the HPF solution to Laplace's Equation for this map is depicted in Figure 18. We assume the following:  
1. We do not consider the navigation between very tight spaces, thus, the obstacles are arranged far apart to avoid the difficulty of APF-based navigation within a narrow passage. We arrange the clearance between any two adjacent obstacles smaller than the sensing range of the sensors but large enough to allow the pure pursuit algorithm to generate a local collision-free path for navigation. Specifically, the minimum distance between two obstacles' centers is \(2r_{Obs}\) = 0.8 m, wide enough for the robot to pass between two obstacles. \begin{table}
\begin{tabular}{c c} \hline \hline Wheel’s radius \(r\) & 12.5 (cm) \\ Distance between two wheels d & 25 (cm) \\ Robot radius \(r_{Robot}\) & 20 (cm) \\ Height & 25.5 (cm) \\ Weight & 3.5 (kg) \\ Operating (U)/Max.speed (\(V_{max}\)) & 0.5/1 (m/s) \\ Cycle time & 200 (ms) \\ Safety distance \(r_{Safe}\) & 0.1 (m) \\ Curvature constraint \(\kappa_{max}\) & 1.5 (1/m) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The parameters of the mobile robot Dr. Robot X80 (Figure 1) used for the experiment. 2. The projection of all obstacles onto the ground plane is an identical circle, but the number of static obstacles and their locations are unknown. The navigation trajectories generated in the experiment are depicted in Figure 19, along with Figure 20 showing the corresponding velocities and the path curvature profiles of two navigation paths with nearly the same starting point at the origin. The velocity field covers the free space and does not pass through the obstacles as desired. For the experiment shown here in Figure 19, the robot starts at the origin and initially follows a straight streamline trajectory with a speed of 0.5 m/s along the +\(x\)-axis. Then it confronts the detected obstacles in the front, and two feasible smooth navigation paths are generated for online safe and smooth navigation via the proposed HPF-based planner during the experiment. Different paths are obtained due to the slight variation in the initial position and heading of the mobile robot. It is noted that the portion of the two smooth paths is between two obstacles, thus no collision is guaranteed, and the maximum curvature of either path does not violate the maximum curvature. As remarked in Reference [28], the smoothness of the trajectory and its gradient is generic due to the physical characteristics of the continuously differentiable velocity potential solution to [PERSON]'s Equation mentioned in Section 3. The map of the environment is created by Hector SLAM, an open source SLAM algorithm available in ROS [23] based on the laser range data processed after the experiment. The robot can autonomously localize itself once new sensor readings are available (within 1 ms). The location of the detected obstacle fluctuates because of sensor noise and detection error. In this scenario, the primitive paths can be computed within 0.2 ms in our implementation. The obstacle avoidance system based on a priori selection of fast computing primitive streamline paths is computationally efficient, and the reaction time is able to handle the situation as obstacles in the front are detected, thus, making the system real-time. We remark that other options of a wide range of more involved trajectories such as B-spline [45] are applicable for the proposed obstacle avoidance system depicted in Figure 11, not only pertinent to streamlines.