I. Introduction
There are two major objectives that need to be addressed when developing a control algorithm for autonomous vessels, namely, path following and collision-avoidance. While certain algorithms in the literature distinctly differentiate between path following and collision-avoidance, there are those that do not and instead aim to address both issues using interconnected components [1]. Furthermore, the majority of these algorithms are designed for autonomous surface vehicles that navigate in open waters.