## 3 Obstacle Avoidance Model by Harmonic Potential Field with Curvature Constraint
### Three Primitive Paths with Curvature Constraint  
In Figure 6 we show a scenario of three alternative options in which another obstacle is encountered immediately after circumventing one obstacle. Therefore, the robot has to turn sharply to prevent an imminent collision, as shown in Figure 6a. On the other hand, passing the first obstacle with a low curvature streamline allows the robot to pass these two obstacles from the same side while there is not enough space to pass through between the two obstacles using a streamline and complying with the curvature constraint, as shown in Figure 6b. The third way shown in Figure 6c is passing the obstacle from  
Figure 5: The streamline paths (upper plot) with different start positions and their curvatures (lower plot) for a uniform flow around a circular obstacle. The path to avoid an obstacle is similar to the streamline of the fluid flow around a cylinder. The very large turning radii of some of the paths closer to the obstacle may become infeasible when the curvature constraint imposed on the vehicle motion is accounted for. the farther side by a sharp turn. The example demonstrates that the different timings for applying these two strategies are related to the upcoming obstacle's position after passing the first obstacle. There are two strategies for local obstacle avoidance based on streamlines. For local obstacle avoidance, a point robot could circumvent an obstacle from its left or its right side. Alternatively, it could also pass an obstacle with maximum curvature via a sharp turn. We first describe the three primitive paths for the avoidance of a single circular obstacle. For multiple obstacles, the same strategy is employed sequentially for every detected obstacle that is to be avoided. The following are the details and procedures of a sharp turn and low curvature turn for avoiding the obstacle by using streamline paths. Three collision-free primitive paths most aligned to the current robot's heading that achieve compliance with the curvature constraint of the mobile robot are proposed by exploiting the richness of the streamlines that cover the computational domain of Laplace's Equation and the rather intuitive property that the deflection and curvature of a streamline become smaller as it is farther from the obstacle. For simplicity of illustration, we refer to Figure 7. It is assumed that the robot is moving in the \(+x\)-direction and a circular obstacle of radius \(r_{\text{obs}}\) is located at the origin so that the maximum curvature of streamline occurs at the \(y\)-axis. (A) Continuous-curvature sharp left or right turn  
Consider the avoidance of the nearest obstacle within the sensing range in front of the robot. Two curvature-constrained streamline-based left or right turn paths could be used as two primitive paths to ensure the safe navigation from the left or right side of the obstacle based on the obstacle's radius. In particular, we look for the two streamlines corresponding to the left turn and right turn with a curvature maximum equal to the maximum curvature \(\kappa_{\text{max}}\). The desired streamline is obtained by shifting the selected streamline in a parallel way until its curvature maximum point grazes the obstacle boundary. Figure 7 illustrates an example of a hydrodynamic streamline path with different curvature constraints. From the curvatures of flow depicted in Figure 7a (similar to the scenario of Figure 5), if the initial \(y\)-position is further away from the center of the obstacle, a collision-free path is a nearly straight streamline with a smaller curvature. In addition, we identify that the points with local maximum curvature on a streamline are located at the \(y\)-axis, assuming that for simplicity the robot is moving forward in the \(x\)-direction. In order to verify the curvature constraint for a streamline path, the points of maximum curvature of a streamline have to be found so that it is sufficient to search over the streamlines that satisfy the curvature constraint.