This article presents an in-depth review of path following control strategies that are applicable to a wide range class of marine, ground, and aerial autonomous robotic vehicles. From a control system standpoint, path following can be formulated as the problem of stabilizing a path following error system that describes the dynamics of position and possibly orientation errors of a vehicle with respect to a path, with the errors defined in an appropriate reference frame. In spite of the large variety of path following methods described in the literature we show that, in principle, most of them can be categorized in two groups: stabilization of the path following error system expressed either in the vehicle's body frame or in a frame attached to a "reference point" moving along the path, such as a Frenet-Serret (F-S) frame or a Parallel Transport (P-T) frame. With this observation, we provide a unified formulation that is simple but general enough to cover many methods available in the literature. We then discuss the advantages and disadvantages of each method, comparing them from the design and implementation standpoint. We further show experimental results of the path following methods obtained from field trials testing with under-actuated and over-actuated autonomous marine vehicles. In addition, we introduce open-source Matlab and Gazebo/ROS simulation toolboxes that are helpful in testing path following methods before their integration in the combined guidance, navigation, and control systems of autonomous vehicles.autonomous cars, autonomous marine vehicles (AMVs), autonomous surface vehicles (ASVs), control, guidance, over-actuated vehicles, path following, under-actuated vehicles, underwater autonomous vehicles (UAVs), unmanned aerial vehicles (UAVs), unmanned ground vehicles (UGVs)
| INTRODUCTIONPath-following (PF) is one of the most fundamental tasks to be executed by autonomous vehicles. It consists of driving a vehicle to and maintaining it on a pre-defined path while tracking a pathdependent speed profile. Unlike trajectory tracking, the path is not parameterized by time but rather by any other useful parameter that in some cases may be the path length. Thus, there is more flexibility in making the vehicle first converge to the path smoothly then move along it while tracking a given speed assignment. Path following is useful in many applications where the main objective is to accurately traverse the path, while maintaining a certain speed is a secondary task. Stated in simple terms, it is not required for the vehicle to be at specific positions at specific instants of time, a strong requirement in