10122920
10122920
10122920
ABSTRACT Unmanned Surface Vehicles (USV) have gained significant attention in military, science, and
research applications in recent years. The development of new USV systems and increased application
domain of these platforms has necessitated the development of new motion planning methods to improve the
autonomy level of USVs and provide safe and robust navigation across unpredictable marine environments.
This study proposes a feedback motion planning and control methodology for dynamic fully-and under-
actuated USV models built on the recently introduced sparse random neighborhood graphs and constrained
nonlinear Model Predictive Control (MPC). This approach employs a feedback motion planning strategy
based on sparsely connected obstacle-free regions and the sequential composition of MPC policies. The
algorithm generates a sparse neighborhood graph consisting of connected rectangular zones in the discrete
planning phase. Inside each node (rectangular region), an MPC-based online feedback control policy
funnels the USV with nonlinear dynamics from one rectangle to the other in the network, ensuring no
constraint violation on state and input variables occurs. We systematically test the proposed algorithms in
different simulation scenarios, including an extreme actuator noise scenario, to test the algorithm’s validity,
effectiveness, and robustness.
INDEX TERMS Nonlinear model predictive control, feedback motion planning, sampling-based motion
planning, unmanned surface vehicles.
waypoints. Feedback control methods are later utilized in this rectangular nodes. Then, graph-search algorithms is deployed
dominant class of planning strategies to follow these trajec- to find the ‘‘optimal’’ discrete path on the graph in the
tories (or waypoints). On the other hand, some researchers second phase. Inside each node (region), an MPC controller
implemented trajectory-free motion planning concepts rather is responsible from driving the robot to the next node that
than a trajectory-based approach. A typical method in this is determined by the search algorithm in the second phase.
class segments the map with connected sub-regions. After In conclusion, via sequential composition of MPC control
that, the real-time planner and motion controller aims to drive policies, the whole algorithm can drive the robot to the goal
the robot to the goal region while respecting the constraints location.
coming from these regions [3], [4], [5]. Instead of directly A preliminary version of this work reporting early results
following a pre-defined trajectory, this approach relaxes the was presented by Karagöz et al. [5]. The current article is a
‘‘constraints’’ by increasing the possible movement area for significantly improved version with the following qualities:
the robot. (i) Karagöz et al. [5] tested the algorithm only with a (2DOF)
Model Predictive Control (MPC) is an effective tool toy model, whereas in this paper we adopted more compre-
for forcing the constraints implemented on the system for hensive motion models that can capture realistic full- and
the feedback control phase. Since real-world problems are under-actuated USV system dynamics (ii) the performance
highly nonlinear, a considerable amount of research has been of the algorithm in the presence of extreme process noise is
devoted to extending the usage of MPC to constrained non- evaluated to test the robustness of the methodology, (iii) the
linear systems for motion control applications [6], [7], [8], algorithm is modified in order to recover from failures caused
[9]. As opposed to the linear case, the infinite horizon prob- by noise, and (iv) MPC and graph search costs are modified
lem for nonlinear systems cannot be solved numerically, and to increase the performance of the proposed algorithm.
reducing the horizon may cause undesired system behaviors. The remainder of this paper is organized as follows.
In order to address this issue, Michalska and Mayne [10] Section II provides fundamentals regarding the dynamic
proposed a hybrid MPC framework that replaces the terminal modeling of a USV and nonlinear MPC concept. Section III
constraint with a terminal region. When the nonlinear system summarizes the MPC-Graph algorithm. Section IV and Sec-
reaches this region, another controller is employed, and as a tion V give details regarding the implemented robot mod-
result, the system is guaranteed to be asymptotically stable. els and simulation environments and report the obtained
However, to guarantee the stability of the system, a global results. Section VI proposes future directions for further
optimization problem is required to be solved. Chen and improvements.
Allgöwer [11] on the other hand, use an infinite horizon
approach and calculate a penalty term for the final state to II. PRELIMINARIES AND BACKGROUND
bound the infinite horizon cost. They establish the bound by A. UNMANNED SURFACE VEHICLE DYNAMICS
controlling the nonlinear system with fictitious linear state Compared to unmanned ground vehicles (UGV), unmanned
feedback in the predetermined terminal region. surface vehicles (USV) are exposed to different environment
MPC offers a framework that can handle multiple-input dynamics due to their application medium. Since USVs oper-
multiple-output (MIMO) systems and force constraints for ate in a sea/ocean environment, on top of rigid body dynamics
states and inputs, making it an effective instrument in also, added mass and damping terms should be considered in
collision-free motion planning applications. With an increas- a USV model. Let η = [x y ψ]T ∈ R2 × S denote the pose
ing demand for the utilization of autonomous surface vessels vector, where x and y are the world-fixed reference frame
in the military, search and rescue, transportation and explo- coordinates and ψ is the heading angle, let ν = [u v r]T ∈
ration, the literature regarding the control of USVs started R3 denote the velocity vector of the dynamic model where
to flourish in the last few decades [12]. Several works in u and v are linear velocities, called surge and sway, and r
literature employ MPC for USV control [13], [14], [15], [16], is the angular velocity. As usual, the equation η̇ = J(ψ)ν
[17], [18], [19]. Zhao et al. [13] propose an improved MPC defines the relationship from body reference frame to world
framework with the inclusion of global course constraints and fixed reference frame where J(ψ) is in the form of
an event-triggered mechanism. In [14], researchers propose
a finite control set model predictive control for collision
cos(ψ) − sin(ψ) 0
avoidance problems. J(ψ) = sin(ψ) cos(ψ) 0 . (1)
This paper proposes a trajectory-free, sampling-based 0 0 1
feedback motion planning algorithm to handle arbi-
trary obstacle configurations for fully- and under-actuated
Fig. 1 details out the abovementioned coordinate systems as
autonomous surface vehicles. We specifically focus on devel-
well as a schematic for the USV model.
oping a robust motion planning and control methodology
In our simulations, we use the 3 DOF horizontal plane
for USV systems and thus we tested our approaches in
the presence of unpredictable process noise. The algorithm model presented in [20]. The formulation is as follows,
consists of three phases. The algorithm first generates a graph
structure in the obstacle-free region by creating connected M ν̇ + C(ν)ν + D(ν)ν = τ (2a)
mv −mu 0
0 Nv Nr κ < −λmax (AK ) κ ∈ [0, ∞). (9)
X|u|u |u| 0 0
After determining the terminal state penalty matrix P, the pro-
Dn = 0 Y|v|v |v| 0 (3)
cedure continues with determination of the terminal region.
0 0 N|r|r |r|
Provided that, there exists a constant α ∈ (0, ∞), a region
where m is the mass and Iz is the moment of iner- α in the neighborhood of α is defined as follows,
tia of the vehicle perpendicular to the horizontal plane, α = {x ∈ Rn |xT Px ≤ α}. (10)
{Xu̇ , Yv̇ , Yṙ , Nṙ }, {Xu , Yv , Yr , Nv , Nr } and {X|u|u , Y|v|v , N|r|r }
are added mass, linear damping and nonlinear damping such that ∀x1 ∈ α , infinite horizon cost J ∞ ,
Z ∞
parameters, respectively. These parameters are scalar con-
stants that do not change over time. J ∞ (x1 , u) = (∥x(t)∥2Q + ∥u(t)∥2R )dt (11)
t1
III. MPC-GRAPH
The proposed MPC-Graph algorithm executes three succes-
sive phases to sample the arena and navigate the robot: graph
generation, graph search, and motion control. The graph
generation phase takes the map as input and then samples
the obstacle-free areas with overlapping rectangular regions
until the predefined termination condition is satisfied. After
completing the graph generation phase, Dijkstra’s algorithm FIGURE 2. Generation of a node: (a) initial map of the arena, (b) a square
node is generated, (c) square node is expanded in discrete steps along
executes to search the obtained neighborhood graph for the directions indicated as 1 and 2. A more detailed information about the
shortest available path from any node to the goal node. The node generation is presented in [5].
motion control phase takes the determined nodes as input and
navigates the robot to the goal configuration while respecting
the constraints coming from the states and system inputs.
A. GRAPH GENERATION
The MPC-Graph framework starts its execution by sampling
the free space. After guaranteeing the sampled point qrand
is in the region unobstructed and not covered by previously
sampled rectangular nodes, then a new node Nodek is gener-
ated and expanded around qrand , see Fig. 2. Note that these
nodes can be in different geometric shapes such as square [4], FIGURE 3. Visualization of edge cost parameters. The subscripts i and
circle [3], [21], rectangle [5]. In this work, we use rectangular i + 1 stand for parent and child node, respectively. Dark gray region Ai
shows the overlapping area.
nodes due to their compliance with MPC and to achieve a
more sparse graph structure [5].
Then, Nodek is added to the graph, and edges are created B. GRAPH SEARCH
between this node and the neighboring nodes overlapping After the termination condition given in (13) is satisfied,
with it. Node generation and expansion process continue until the algorithm continues by searching the obtained graph, G,
the defined termination condition is satisfied. with Dijkstra’s search algorithm to find the optimal discrete
In the algorithm, we implemented the condition presented planner. The search algorithm returns a policy, Po, that gives
in [22] which mainly estimates the quality of the coverage of the order of the nodes robot should pass to reach the goal.
the sampled space. Let Cfree denote the set of configurations The constructed graph has an edge between two nodes if
in the obstacle-free region and µ be de Lebesgue measure in they have an overlapping area. We calculate the edge cost as
Cfree and B be the union of the nodes follows,
[
B= Nodek , costedge = ∥centerni − refi ∥2
k γ
+ ∥centerni+1 − refi ∥2 + (14)
then the implemented termination condition in (13), implic- Ai
itly determines estimates for the expression µ(B)/µ(Cfree ). where center is the intersection point of the diagonals of the
For that purpose, statistics collected from randomly taking corresponding node. The area of the intersection region which
samples to find a new configuration in Cfree \ B is analyzed. is indicated with a dark gray color in Fig. 3 is denoted as A
The implemented termination condition is formalized as fol- and the center of this region is given as ref. ∥·∥2 refers to the
lows, l2 norm, i.e. Euclidean distance. We include the reciprocal of
ln(1 − Pc ) the intersection area as a parameter for the edge cost since
m≥ −1 (13)
lnα larger areas provide smoother behavior for the robot. In our
where m is the number of successive failures followed by the simulations we used weight γ for the reciprocal of the inter-
first success, Pc , and α are user-determined parameters that section area which is set as γ = 1. Thus, Dijkstra’s search
affect the density of the coverage of the map. A more detailed algorithm chooses a route in favor of larger intersection areas.
information about the derivation of (13) is presented in [22]. Fig. 3 visualizes the parameters given in (14).
After satisfying the termination condition, the algorithm con-
tinues with the graph search phase to find the optimal route. C. MOTION CONTROL
The computational time regarding this stage is presented in The last phase of the proposed MPC-Graph algorithm is
detail in our previous work [5] which gives results for several motion control. At this stage of the algorithm, with the
different maps. previously determined policy Po, MPC navigates the robot
FIGURE 7. (a) A total of 114 nodes are generated in node generation phase. (b) The calculated optimal route consists of 14 nodes. (c) Green curve
indicates the trajectory followed by the robot. Pink points represent the calculated reference points. Red arrows show the calculated target frame
T orientations in positive xt direction. (d) Applied thruster input forces F1 , F2 , F3 , F4 to the system. Dark dashed lines indicate upper and lower
constraints for the input. (e) Surge speed u and angular rate r of the robot. Black and green dashed lines correspond to the constraints for surge
speed and angular rate, respectively.
We implemented the following state and input constraints from the boundaries of the sampled rectangular regions. Even
to the system, in the smaller goal region (∼ 24 times smaller concerning
the average size of the nodes in Po) robot approaches to goal
Ai [x y]T ≤ Bi (20a) point smoothly by considering the dynamics and the imposed
−2 rad/s ≤ r ≤ 2 rad/s (20b) constraints on the system.
−0.5 m/s ≤ u ≤ 3 m/s (20c) Plot presented in Fig. 7(d) shows the forces F1 , F2 , F3 , F4
calculated in the motion control phase. In order to simulate
−20 N ≤ F1 , F2 ≤ 20 N (20d)
a realistic system, we set upper and lower bounds 20 N
Equation (20a) is calculated for each node on the path. and −20 N for the input forces, respectively. Dashed black
lines in the figure indicate these constraints. Furthermore,
V. SIMULATION RESULTS we also added velocity constraints to the system. For the surge
This section reports the simulation results obtained from speed u, we set upper and lower constraints as 1.5 m/s and
implementing the MPC-Graph algorithm. We implemented −1.5 m/s, respectively. For the angular rate r, we set upper
our algorithm on MATLAB and performed simulations on a and lower constraints as 1 rad/s and −1 rad/s, respectively.
laptop with Intel i7 2.4 GHz processor running Windows OS. In Fig. 7(e), the imposed constraints on surge speed and
angular rate are indicated with black and green dashed lines,
A. FULLY ACTUATED USV MODEL respectively. It can be inferred from the figures that MPC can
force both state and input constraints successfully. CPU time
1) PERFORMANCE WITHOUT PROCESS NOISE
of MPC for each is at average tCPU = 0.021s.
In this simulation scenario, we used a map that consists
of 4 obstacles. In the graph generation phase, a total of
114 nodes are generated. In order to show the ability of the
controller to force the constraints coming from the boundaries 2) PERFORMANCE IN THE PRESENCE OF PROCESS NOISE
of the rectangular nodes, we replaced the goal node with a We also analyzed the performance of the MPC-Graph algo-
smaller square region. After executing Dijkstra’s search algo- rithm in the presence of process noise. To this end, we added
rithm, the optimal route consists of 14 nodes. Fig. 7(a) and (b) noise (SNR=1) to the calculated thruster forces, u =
visualizes the obtained rectangular regions and the node-set [F1 F2 F3 F4 ]T and performed Monte-Carlo experiments
that constitutes the followed route by the robot, respectively. (# simulations = 1000) on the same map with the same
Fig. 7(c) shows the route followed by the robot and the cal- nodes. We determine the thrusters’ input saturation limit as
culated reference points with target orientations. Red arrows F = 25 N . From 1000 Monte-Carlo experiments, in 8 of
are the positive xt directions for the target frames T . The them robot failed to reach the goal location due to process
figure points out that the robot obeys the constraints coming noise. Failures include the cases in which the robot ends up
FIGURE 8. Obtained trajectories from Monte-Carlo experiments in the presence of process noise. (a) Successful trajectories ended up in goal
point. (b) Red trajectory indicates the followed route in the presence of process noise. Dashed blue trajectory indicates the followed trajectory
without the process noise. (c) Plots show the calculated forces and applied forces on each thruster. Black dashed lines indicate the saturation
limits for the thrusters.
FIGURE 9. (a) Satellite view of Pearl Harbor is presented. (b) Node generation phase. As a result 255 nodes are generated. (c) Graph search
phase determines the shortest route consisting of 21 nodes. (d) Green curve indicates the trajectory followed by the robot. Orange points
represent the calculated reference points. Red arrows show the calculated target frame T orientations in positive xt direction. (e) Applied
thruster input forces F1 , F2 to the system. Dark dashed lines indicate upper and lower constraints for the input. (f) Surge speed u and
angular rate r of the robot. Black and green dashed lines correspond to the constraints for surge speed and angular rate, respectively.
outside the limits of the arena or inside the obstacles. Fig. 8(a) Po. In Fig. 8(b), red and dashed blue trajectories indicate the
visualizes the successful attempts for reaching the goal point. routes followed by the robot in the presence of process noise
If the robot ends up in a different node than the and without noise, respectively. Fig. 8(c) shows the thruster
CurrentNode due to process noise, the algorithm generates forces and process noise applied on each thruster. Even in
another route considering the previously determined policy the presence of high-level noise, in 99.2% of the experiments
FIGURE 10. Obtained trajectories from Monte-Carlo experiments in the presence of process noise.
(a) Successful trajectories ended up in goal point. (b) Red trajectory indicates the followed route in
the presence of process noise. Dashed blue trajectory indicates the followed trajectory without the
process noise. (c) Plots show the calculated forces and applied forces on each thruster. Black
dashed lines indicate the saturation limits.
fully actuated USV model reaches the goal location. Results MPC parameters, the controller can drive the system to the
indicate that MPC is an effective controller for handling high goal location while obeying the imposed constraints. CPU
noise scenarios. time of MPC for each iteration for this model is at average
tCPU = 0.28s.
B. DIFFERENTIAL USV MODEL
1) PERFORMANCE WITHOUT PROCESS NOISE 2) PERFORMANCE IN THE PRESENCE OF PROCESS NOISE
In this simulation scenario, we used the map of Pearl Har- For the simulation scenario with noise, we performed Monte-
bor. Graph generation phase constructed a graph structure Carlo experiments (# simulations = 1000) on the same map
consisting of 255 nodes and Dijkstra’s search algorithm find with the same nodes and plotted the trajectories followed
the optimal route that consists of 21 nodes. Fig. 9(a) and (b) by the robot. The process noise (SNR=1) is applied to the
visualize the satellite view of Pearl Harbor and obtained calculated thruster forces u = [F1 F2 ]T which have an input
rectangular regions, respectively. Fig. 9(c) and (d) illustrate saturation limit of F = 25 N .
the node-set robot navigates in and path followed by the From 1000 Monte-Carlo experiments, in 29 of them robot
robot, respectively. failed to reach the goal location. Fig. 10 (a) visualizes the
We set the upper and lower bounds 20 N and −10 N successful attempts to reach the goal point. In Fig. 10(b), red
for the input forces, respectively. In order to restrict the and dashed blue trajectories indicate the routes followed by
backward motion of the vehicle, we set the lower limit for the robot in the presence of process noise and without noise,
the thruster forces to be −10 N . Velocity constraints for the respectively. Fig. 10(c) shows the thruster forces and process
system are 3 m/s and −0.5 m/s for the surge speed u and noise applied on each thruster. Even in the presence of high-
2 rad/s and −2 rad/s for the angular rate r, respectively. level noise, in 97.1% of the experiments differential USV
Figures 9(e) and 9(f) show the calculated forces F1 , F2 and model reaches the goal location.
surge speed-angular rate of the vehicle throughout the sim-
ulation. It is important to note that the linearized differ-
ential USV model is not stabilizable. Thus, it is not pos- VI. CONCLUSION
sible to determine a terminal region and a terminal cost This study presents a feedback motion planning and control
matrix for this system. Although the stability is not guar- methodology for dynamic fully- and under-actuated USV
anteed for the differential USV model, with the adjusted models, utilizing sparse random neighborhood graphs and
[21] L. Yang and S. M. LaValle, ‘‘A framework for planning feedback motion OSMAN KAAN KARAGÖZ (Member, IEEE)
strategies based on a random neighborhood graph,’’ in Proc. IEEE Int. received the B.S. and M.S. degrees in electrical and
Conf. Robot. Automat., Apr. 2000, pp. 544–549. electronics engineering from Middle East Tech-
[22] L. Yang and S. M. LaValle, ‘‘The sampling-based neighborhood graph: nical University (METU), Ankara, in 2017 and
An approach to computing and executing feedback motion strategies,’’ 2020, respectively, where he is currently pursuing
IEEE Trans. Robot. Autom., vol. 20, no. 3, pp. 419–432, Jun. 2004. the Ph.D. degree with the Department of Electrical
[23] M. Kumru, ‘‘Navigation and control of an unmanned sea surface vehicle,’’ and Electronics Engineering. His research inter-
M.S. thesis, Middle East Tech. Univ., 2015. ests include nonlinear dynamical systems, control
[24] R. Skjetne, T. I. Fossen, and P. V. Kokotovic, ‘‘Adaptive maneuvering, with
theory, and motion control in robotics and biolog-
experiments, for a model ship in a marine control laboratory,’’ Automatica,
ical systems.
vol. 41, no. 2, pp. 289–298, Feb. 2005.
[25] B. Stellato, V. V. Naik, A. Bemporad, P. Goulart, and S. Boyd, ‘‘Embedded
mixed-integer quadratic optimization using the OSQP solver,’’ in Proc.
Eur. Control Conf. (ECC), Jun. 2018, pp. 1536–1541.
[26] S. Richter, Computational Complexity Certification of Gradient Methods
for Real-Time Model Predictive Control. Zurich, Switzerland: ETH Zurich,
2012.
[27] O. Arpacik and M. M. Ankarali, ‘‘An efficient implementation of online
model predictive control with field weakening operation in surface
mounted PMSM,’’ IEEE Access, vol. 9, pp. 167605–167614, 2021.
[28] X. Wang, Z. Deng, H. Peng, L. Wang, Y. Wang, L. Tao, C. Lu, and
Z. Peng, ‘‘Autonomous docking trajectory optimization for unmanned
surface vehicle: A hierarchical method,’’ Ocean Eng., vol. 279, Jul. 2023,
Art. no. 114156.
[29] X. Wang, B. Li, X. Su, H. Peng, L. Wang, C. Lu, and C. Wang, MUSTAFA MERT ANKARALI (Member, IEEE)
‘‘Autonomous dispatch trajectory planning on flight deck: A search-
received the B.S. degree in mechanical engineering
resampling-optimization framework,’’ Eng. Appl. Artif. Intell., vol. 119,
and the M.S. degree in electrical and electronics
Mar. 2023, Art. no. 105792.
engineering from Middle East Technical Univer-
sity (METU), in 2007 and 2010, respectively,
SİMAY ATASOY (Member, IEEE) received the and the Ph.D. degree in mechanical engineering
B.S. degree in mechanical engineering and the from Johns Hopkins University (JHU), in 2015.
M.S. degree in electrical and electronics engi- Following his Ph.D. degree, he was a Postdoctoral
neering from Middle East Technical University Fellow with the Laboratory for Computational
(METU), in 2017 and 2022, respectively. She is Sensing and Robotics (LCSR), JHU, until 2016.
currently a Research Engineer with Aselsan Inc. In 2017, he joined the Electrical and Electronics Engineering Department,
Her research interests include model predictive METU, where he is currently an Associate Professor. His research interests
control, motion planning, and collision avoidance. include analyzing, identifying, and controlling dynamic behaviors in robotic
and biological systems.