# Riverbank Following Planner (RBFP) for USVs Based on Point Cloud Data
## 2 Related Work  
### Path Planning  
Path planning is a critical aspect of enabling mobile robots to navigate and explore complex environments autonomously [12; 13]. Local path planning is a specific approach that focuses on the current local environmental details of the robot, especially in partially or wholly unknown environments. This planning approach involves using sensors to detect obstacles' location and geometric properties in the testing environment [14]. To generate a safe and feasible path for the robot while avoiding obstacles and reaching its destination, the local path planning approach integrates the modeling of the environment with searching.  
In 1985, [PERSON] et al. [15] presented the concept of the Artificial Potential Field (APF) method. This method is derived from the potential field concept, where the robot's movement is controlled by two potential fields. The goal point's attraction pulls the robot toward the target, while the obstacle's repulsive force pushes it away. However, the trajectory may become stuck in the local minimum point of the potential field, preventing it from finding a path to the destination. To address this issue, [PERSON] et al. [16] proposed the path keeping artificial potential field (PK-APF) path planning algorithm, enabling the robot to return to its original planned path after being deviated by obstacles, wind, or other factors. According to ROS simulations, PK-APF outperforms the traditional APF by at least 22%. However, when the wind is stronger than the preset value, the track correction capability of PK-APF will be reduced. [PERSON] et al. [17] proposed an improved artificial potential field method combined with the velocity obstacle (VO) method to obtain a global path, compensating for APF local minimum point disadvantage. Despite the provisional fulfillment of real-time requisites through the path planning of vector images acquired and processed from alternate channels prior to environmental construction, the method ultimately falls short of accomplishing real-time path planning. Additionally, [PERSON] et al. [18] proposed a method of smoothly adding the local path predicted by APF to avoid obstacles and irregular path points, eliminating heading angle deviation. [PERSON] also completed a comparison of three path-planning algorithms in MATLAB. Overall, the APF method has been improved by several researchers, including PK-APF, improved APF with the VO method, and incorporated the local path predicted by APF, making path planning more effective and efficient for mobile robots. However, dynamic obstacles can affect the repulsive potential field of APF in real time, increasing the computational complexity and resulting in the robot being unable to achieve the minimum safety distance.  
The Bug path planning algorithm [19] is a simple and cost-effective navigation method used in local path planning for robots. It relies on minimal sensors and straightforward ideas. The Bug model is based on three assumptions about the robot's movement. First, the robot moves as a point. Second, the robot has accurate positioning abilities. Third, the robot operates in a perfect sensor-sensing environment [20]. [PERSON] and [PERSON] [21] ranked the complexity of eleven Bug algorithms by testing them in the same environment. Among these algorithms, Bug1 and Bug2 are the most commonly used in path planning. Bug1 navigates from the start to the target point by hitting with and bypassing the obstacle's expanded range. Bug2 adopts a similar strategy but is guided by the M-line serving as both a hit and bypassing point. Bug1 was deemed overly cautious, covering the entire perimeter of the obstacle, but effective. Even though Bug2's coverage is shorter than Bug1, it is less efficient in certain cases, such as local cycling [21; 22].