## 3 Obstacle Avoidance Model by Harmonic Potential Field with Curvature Constraint
### Distance-Based Obstacle-Avoiding Path Selecting Strategy  
The selecting strategy of quickly computing three primitive streamlines has to identify the situation the robot encounters, depending on the reaction distance to the upcoming obstacle position or lateral displacement relative to the size of the obstacle. The strategy is illustrated in the scenario of Figure 10. The robot is initially located at \(x=-2\) with a different lateral distance y related to a cylindrical obstacle at the origin. Let \(b+\) and \(b-\) be the points which two sharp turn paths intersect with the line \(x=-2\). The interval \([-r,r]\), denoted by \([d-,d+]\) in Figure 10 at the vertical line \(x=-2\) is partitioned into intervals B+\(\sim\)B\(-\) by the labeled points \(d-\) to \(d+\) according to the start points of the primitive paths, symmetrically with respect to the current robot position. We define \(L_{sharp}\) as the distance between points \(c+\) (the start point with a right sharp turn path) and \(c-\) (the start point with a low curvature path).  
Figure 10: The illustration of the primitive path selecting strategy. The range \([-r_{obs},r_{obs}]\) according to the obstacle size is partitioned manually into three intervals from far to near to reflect the reaction distance. Robots with different lateral displacements related to an obstacle will pursue different primitive streamline paths aligned with the current robot heading. Path 1 and Path 2 tangentially traverse the enlarged circular obstacle boundary.  
Figure 9: The single obstacle avoidance path for different start positions and the curvature maximum constraint in the \(x\)-\(y\) plane. The radius of the obstacle is 0.5 m. The robot forward moving direction is the positive \(x\)-axis (toward the right).  
Specifically, given a current robot configuration and an obstacle of known size and location in front of the robot forward route, we propose the following rules  
\[\left\{\begin{array}{c}\mathrm{d}_{\mathrm{latt}}\in\mathrm{A}+\mathrm{A}- \rightarrow\mathrm{Path}\ 1\\ \mathrm{d}_{\mathrm{latt}}\in\mathrm{B}+\mathrm{B}-\rightarrow\mathrm{Path}\ 2\\ \mathrm{d}_{\mathrm{latt}}\in\mathrm{special\ cases}\rightarrow\mathrm{Path}\ 3 \end{array}\right. \tag{9}\]  
The strategy is according to the relative lateral distance \(\mathrm{d}_{\mathrm{latt}}\leq r_{\mathrm{obs}}\) measured from the center of the obstacle (\(x_{\mathrm{obs}}\),\(y_{\mathrm{obs}}\)) in front of the robot, where the current robot location is at a fixed longitudinal distance. The range \([-r_{\mathrm{obs}}\),\(r_{\mathrm{obs}}\)] according to the obstacle size is partitioned manually into three intervals from far to near to reflect the reaction distance as Figure 10 shows. Once an obstacle is sensed by the obstacle detector, the motion planner determines the proper primitive path via Equation (9) for the mobile robot to follow to circumvent the obstacle. This strategy is designed to use a low curvature turn in Intervals A+ and A-, while it pursues a sharp left turn in Interval B+ and a sharp right turn in Interval B- as the obstacle is closer. In addition, this strategy makes the avoidance of a small obstacle easier (with smaller \(r_{\mathrm{O}\mathit{O}\mathit{O}\mathit{O}\mathit{O}\mathit{O}\mathit{O} \mathit{O}\mathit{O}\mathit{O}\mathit{O}\mathit{O}\mathit{O}\mathit{O}\mathit{O }\mathit{O}\mathit{O}\mathit{O}