# Event-Based Path-Planning and Path-Following in Unknown Environments for Underactuated Autonomous Underwater Vehicles

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Problem Formulation

#### 2.1. AUV Model

- The model considered in the paper corresponds to the INFANTE AUV [33], which is a large-sized vehicle with a length of 4.22 m and a mass of 2234.5 kg.
- The motion in roll, pitch, and heave is ignored in the model.
- No waves, currents, or other disturbances are taken into account.
- The AUV is fully submerged in water and away from the surface and seabed, which allows us to consider the hydrodynamic derivatives constant.
- The back thrusters can generate force and torque constrained by ${\mathcal{F}}_{max}=500\phantom{\rule{0.166667em}{0ex}}\mathrm{N}$ and ${\mathcal{G}}_{max}=300\phantom{\rule{0.166667em}{0ex}}\mathrm{N}\xb7\mathrm{m}$, respectively.
- The desired surge speed of the AUV is constant: u = 1 m/s.

#### 2.2. Relative Dynamics

#### 2.3. Sonar Model

#### 2.4. Path Representation

#### 2.5. Problem Formulation

- The path-following controller (control laws for $\mathcal{F}$ and $\mathcal{G}$) should be designed in such a way that the virtual target tracking errors satisfy$$\underset{t\to \infty}{lim}|{s}_{e}\left(t\right)|\le {s}_{e}^{\infty},\phantom{\rule{1.em}{0ex}}\underset{t\to \infty}{lim}|{y}_{e}\left(t\right)|\le {y}_{e}^{\infty},\phantom{\rule{1.em}{0ex}}\underset{t\to \infty}{lim}\left|\psi \left(t\right)\right|\le {\psi}^{\infty},\phantom{\rule{1.em}{0ex}}\underset{t\to \infty}{lim}|{v}_{t}\left(t\right)-{u}_{0}\left(t\right)|\le {v}_{t}^{\infty},$$
- The paths generated by path-planning algorithms for detouring obstacles and returning to the reference path should be at least first-order differentiable (${C}^{1}$ continuous), lie no closer than safe distance ${D}_{s}$ from obstacles, and satisfy kinematic constraints that are given by minimum turning radius ${R}_{min}$.
- Whenever possible, the AUV must follow the reference path ${P}_{ref}$, which means that after leaving ${P}_{ref}$ to detour an obstacle or a group of obstacles the AUV must return, if possible, to ${P}_{ref}$ at the point closest to the leaving point.
- The system must be efficient for various environments, regardless of the number and location of obstacles.

## 3. Two-Level Control System

#### 3.1. Control System Architecture

- detect events by processing data from FLS and other sensors;
- change the DES state; and,
- perform a suitable sequence of actions to rebuild the current path or change the active segment of the reference path.

#### 3.2. Path-Following Controller

#### 3.3. Event-Based Path-Planning

#### 3.3.1. Discrete-Event System

- Try not to get to a place where it is impossible to get out using standard obstacle avoidance algorithms.
- Do not change once chosen obstacle avoidance direction until the AUV returns to the reference path (left or right-hand rule).
- Rebuild the path only if it is vital.

#### 3.3.2. Robust Convex Outline Algorithm

- Step 1:
- If sequence ${\mathcal{Q}}_{in}$ consists of less than 3 points, mark these points for further inclusion in the output sequence ${\mathcal{Q}}_{out}$ and go to Step 5.
- Step 2:
- Mark the start and end points of ${\mathcal{Q}}_{in}$. Assign ${i}_{0}=1$.
- Step 3:
- By going through the points, starting from point ${Q}_{{i}_{0}}$, find the first point ${Q}_{{i}_{k}}$ that satisfies the following condition: there exists a point ${Q}_{i}$ between ${Q}_{{i}_{0}}$ and ${Q}_{{i}_{k}}$ such that the shortest distance from it to the line passing through the points ${Q}_{{i}_{0}}$ and ${Q}_{{i}_{k}}$ is greater than a predetermined value ${D}_{m}$ and it lies on the same side of the line as the AUV (see Figure 4). If such a point does not exist, go to Step 5.
- Step 4:
- Mark the point ${Q}_{{i}_{k}-1}$ immediately preceding point ${Q}_{{i}_{k}}$. If ${Q}_{{i}_{k}}$ is not the end point of ${\mathcal{Q}}_{in}$, then ${i}_{0}={i}_{k}-1$ and go to Step 3.
- Step 5:
- Form the sequence ${\mathcal{Q}}_{out}$ from all marked points of ${\mathcal{Q}}_{in}$ keeping the order.

#### 3.3.3. Path-Planning Algorithm for Detouring Obstacles

- Step 1:
- Take $i={N}_{o}$. Construct the arc segment of radius ${R}_{max}^{i}$ that connects the AUV’s current position ${P}_{V}$ with the point ${P}_{i}^{\prime}$ located at the distance ${D}_{s}$ (or ${D}_{s}+{D}_{m}$ after applying the RCOA algorithm) from the obstacle point ${Q}_{i}$ (see Figure 5). Add this segment to the avoidance path $\mathcal{P}$.
- Step 2:
- Construct an arc segment $\langle {P}_{i}^{\prime},{P}_{i}^{\u2033},\pm {R}_{min}\rangle $ that rotates the AUV around its vertical axis until its longitudinal axis is directed along vector $\overrightarrow{v}({Q}_{i},{Q}_{i-1})$ that is drawn from point ${Q}_{i}$ to point ${Q}_{i-1}$. The direction of the rotation is selected depending on the sign of the angle between vector $\overrightarrow{v}({Q}_{i},{Q}_{i-1})$ and the tangent vector of the constructed segment at point ${P}_{i}^{\prime}$. Add the constructed segment to the avoidance path $\mathcal{P}$.
- Step 3:
- Take $R={R}_{min}$ and calculate$${D}_{i-1}=R-(R-{D}_{i})/cos\delta ,$$
- Step 4:
- If ${D}_{i-1}\ge {D}_{s}$ then$$R=({D}_{i}-{D}_{s}cos\delta )/(1-cos\delta ),\phantom{\rule{1.em}{0ex}}{D}_{i-1}={D}_{s},$$$$\mathsf{\Delta}=({D}_{s}-{D}_{i-1})/cos\delta $$
- Step 5:
- Construct a line segment $\langle {P}_{i-1}^{\prime},{P}_{i-1}^{\u2033},0\rangle $ with ${P}_{i-1}^{\prime}={K}^{\prime}$ and an arc segment $\langle {P}_{i-1}^{\prime},{P}_{i-1}^{\u2033},-R\rangle $ with center ${O}^{\prime}$ and radius R. Add both segments to path $\mathcal{P}$.
- Step 6:
- If $i>3$ (point ${Q}_{i-2}$ is not the first in ${\mathcal{Q}}_{in}$) then $i=i-2$ and go to Step 3.
- Step 7:
- Supplement path $\mathcal{P}$ with the line segment $\langle {P}_{i-1}^{\u2033},{P}_{i-2}^{\prime},0\rangle $, which is parallel to vector $\overrightarrow{v}({Q}_{i-1},{Q}_{i-2})$, where ${P}_{i-2}^{\prime}$ is the point on a line passing through the point ${P}_{i-1}^{\u2033}$ and parallel to the line ${Q}_{i-1},{Q}_{i-2}$, which is closest to the point ${Q}_{i-2}$.

#### 3.3.4. Path-Planning Algorithm for Building a Path to a Given Segment

- Step 1:
- Set $L=\infty $ and $\mathcal{P}=\varnothing $.
- Step 2:
- For each start turning direction ${d}_{s}\in {\mathcal{D}}_{s}$ and final turning direction ${d}_{f}\in {\mathcal{D}}_{f}$ perform Steps 3–8.
- Step 3:
- Find the center ${C}_{1}^{{d}_{s}}$ of the arc S for start turning direction ${d}_{s}$.
- Step 4:
- Shift segment S in direction ${d}_{f}$ by ${R}_{min}$, resulting in a new segment ${S}_{{d}_{f}}$.
- Step 5:
- Find a point ${P}_{f}$ on segment ${S}_{{d}_{f}}$ which is closest to point ${P}_{V}$. If the distance between points ${P}_{V}$ and ${P}_{f}$ is greater than $2{R}_{min}$, then build a Dubins path ${\mathcal{P}}_{Dub}$ of type ${d}_{s}S{d}_{f}$ that connects points ${P}_{V}$ and ${P}_{f}$ and go to step 8.
- Step 6:
- Find the point ${C}_{2}^{{d}_{f}}$ of intersection of the circle with the center ${C}_{1}^{{d}_{s}}$ and radius $2{R}_{min}$ with the segment ${S}_{{d}_{f}}$. If there are no such points, go to Step 2 and continue with the next ${d}_{f}$.
- Step 7:
- Build a path ${\mathcal{P}}_{Dub}$ of type ${d}_{s}S{d}_{f}$ connecting point ${P}_{V}$ with point ${P}_{f}$, which is obtained by projecting point ${C}_{2}^{{d}_{f}}$ onto segment S.
- Step 8:
- If the path ${\mathcal{P}}_{Dub}$ is successfully built (${\mathcal{P}}_{Dub}=\varnothing $) and the length ${L}_{Dub}$ of the path ${\mathcal{P}}_{Dub}$ is less than L, then $L={L}_{Dub}$ and $\mathcal{P}={\mathcal{P}}_{Dub}$.

## 4. Simulation Results

## 5. Discussion

## 6. Conclusions

## Author Contributions

## Funding

## Conflicts of Interest

## References

- Sahoo, A.; Dwivedy, S.K.; Robi, P. Advancements in the field of autonomous underwater vehicle. Ocean. Eng.
**2019**, 181, 145–160. [Google Scholar] [CrossRef] - Li, D.; Wang, P.; Du, L. Path Planning Technologies for Autonomous Underwater Vehicles-A Review. IEEE Access
**2019**, 7, 9745–9768. [Google Scholar] [CrossRef] - Panda, M.; Das, B.; Subudhi, B.; Pati, B.B. A Comprehensive Review of Path Planning Algorithms for Autonomous Underwater Vehicles. Int. J. Autom. Comput.
**2020**, 17, 321–352. [Google Scholar] [CrossRef] [Green Version] - Yan, Z.; Li, J.; Wu, Y.; Zhang, G. A Real-Time Path Planning Algorithm for AUV in Unknown Underwater Environment Based on Combining PSO and Waypoint Guidance. Sensors
**2019**, 19, 20. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Wang, X.; Yao, X.; Zhang, L. Path Planning under Constraints and Path Following Control of Autonomous Underwater Vehicle with Dynamical Uncertainties and Wave Disturbances. J. Intell. Robot. Syst.
**2020**. [Google Scholar] [CrossRef] - Ataei, M.; Yousefi-Koma, A. Three-Dimensional Optimal Path Planning for Waypoint Guidance of an Autonomous Underwater Vehicle. Robot. Auton. Syst.
**2015**, 67, 23–32. [Google Scholar] [CrossRef] - Sun, B.; Zhu, D.; Tian, C.; Luo, C. Complete Coverage Autonomous Underwater Vehicles Path Planning Based on Glasius Bio-Inspired Neural Network Algorithm for Discrete and Centralized Programming. IEEE Trans. Cogn. Dev. Syst.
**2019**, 11, 73–84. [Google Scholar] [CrossRef] - Fan, X.; Guo, Y.; Liu, H.; Wei, B.; Lyu, W. Improved Artificial Potential Field Method Applied for AUV Path Planning. Math. Probl. Eng.
**2020**, 2020, 6523158. [Google Scholar] [CrossRef] - Hernández, J.D.; Vidal, E.; Moll, M.; Palomeras, N.; Carreras, M.; Kavraki, L.E. Online motion planning for unexplored underwater environments using autonomous underwater vehicles. J. Field Robot.
**2019**, 36, 370–396. [Google Scholar] [CrossRef] - Xiong, C.; Zhou, H.; Lu, D.; Zeng, Z.; Lian, L.; Yu, C. Rapidly-Exploring Adaptive Sampling Tree*: A Sample-Based Path-Planning Algorithm for Unmanned Marine Vehicles Information Gathering in Variable Ocean Environments. Sensors
**2020**, 20, 2515. [Google Scholar] [CrossRef] - Candeloro, M.; Lekkas, A.M.; Sorensen, A.J. A Voronoi-diagram-based dynamic path-planning system for underactuated marine vessels. Control. Eng. Pract.
**2017**, 61, 41–54. [Google Scholar] [CrossRef] - Wei, D.; Wang, F.; Ma, H. Autonomous Path Planning of AUV in Large-Scale Complex Marine Environment Based on Swarm Hyper-Heuristic Algorithm. Appl. Sci.
**2019**, 9, 2654. [Google Scholar] [CrossRef] [Green Version] - Yao, P.; Zhao, S. Three-Dimensional Path Planning for AUV Based on Interfered Fluid Dynamical System Under Ocean Current (June 2018). IEEE Access
**2018**, 6, 42904–42916. [Google Scholar] [CrossRef] - Yan, Z.; Li, J.; Zhang, G.; Wu, Y. A Real-Time Reaction Obstacle Avoidance Algorithm for Autonomous Underwater Vehicles in Unknown Environments. Sensors
**2018**, 18, 438. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Li, J.; Zhang, J.; Zhang, H.; Yan, Z. A Predictive Guidance Obstacle Avoidance Algorithm for AUV in Unknown Environments. Sensors
**2019**, 19, 2862. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Lim, H.S.; Fan, S.; Chin, C.K.; Chai, S.; Bose, N.; Kim, E. Constrained path planning of autonomous underwater vehicle using selectively-hybridized particle swarm optimization algorithms. In Proceedings of the 12th IFAC Conference on Control Applications in Marine Systems, Robotics, and Vehicles CAMS, Daejeon, Korea, 18–20 September 2019. [Google Scholar] [CrossRef]
- Yan, Z.; Li, J.; Wu, Y.; Yang, Z. A Novel Path Planning for AUV Based on Objects’ Motion Parameters Predication. IEEE Access
**2018**, 6, 69304–69320. [Google Scholar] [CrossRef] - Ma, Y.; Gong, Y.; Xiao, C.; Gao, Y.; Zhang, J. Path Planning for Autonomous Underwater Vehicles: An Ant Colony Algorithm Incorporating Alarm Pheromone. IEEE Trans. Veh. Technol.
**2019**, 68, 141–154. [Google Scholar] [CrossRef] - MahmoudZadeh, S.; Powers, D.M.W.; Yazdani, A.M.; Sammut, K.; Atyabi, A. Efficient AUV Path Planning in Time-Variant Underwater Environment Using Differential Evolution Algorithm. J. Mar. Sci. Appl.
**2018**, 17, 585–591. [Google Scholar] [CrossRef] - Shen, C.; Shi, Y.; Buckham, B. Integrated Path Planning and Tracking Control of an AUV: A Unified Receding Horizon Optimization Approach. IEEE/ASME Trans. Mechatron.
**2017**, 22, 1163–1173. [Google Scholar] [CrossRef] - Yao, X.; Wang, X.; Wang, F.; Zhang, L. Path Following Based on Waypoints and Real-Time Obstacle Avoidance Control of an Autonomous Underwater Vehicle. Sensors
**2020**, 20, 795. [Google Scholar] [CrossRef] [Green Version] - Liang, X.; Qu, X.; Hou, Y.; Zhang, J. Three-dimensional path following control of underactuated autonomous underwater vehicle based on damping backstepping. Int. J. Adv. Robot. Syst.
**2017**, 14, 1729881417724179. [Google Scholar] [CrossRef] [Green Version] - Lapierre, L.; Soetanto, D. Nonlinear path-following control of an {AUV}. Ocean. Eng.
**2007**, 34, 1734–1744. [Google Scholar] [CrossRef] - Lapierre, L.; Jouvencel, B. Robust Nonlinear Path-Following Control of an AUV. IEEE J. Ocean. Eng.
**2008**, 33, 89–102. [Google Scholar] [CrossRef] - Kim, E.; Fan, S.; Bose, N.; Nguyen, H. Current Estimation and Path Following for an Autonomous Underwater Vehicle (AUV) by Using a High-gain Observer Based on an AUV Dynamic Model. Int. J. Control. Autom. Syst.
**2020**. [Google Scholar] [CrossRef] - Guerrero, J.; Torres, J.; Creuze, V.; Chemori, A.; Campos, E. Saturation based nonlinear PID control for underwater vehicles: Design, stability analysis and experiments. Mechatronics
**2019**, 61, 96–105. [Google Scholar] [CrossRef] [Green Version] - Zeng, J.; Wan, L.; Li, Y.; Dong, Z.; Zhang, Y. Adaptive line-of-sight path following control for underactuated autonomous underwater vehicles in the presence of ocean currents. Int. J. Adv. Robot. Syst.
**2017**, 14, 1729881417748127. [Google Scholar] [CrossRef] [Green Version] - Shen, C.; Shi, Y.; Buckham, B. Path-Following Control of an AUV: A Multiobjective Model Predictive Control Approach. IEEE Trans. Control. Syst. Technol.
**2019**, 27, 1334–1342. [Google Scholar] [CrossRef] - Guo, C.; Han, Y.; Yu, H.; Qin, J. Spatial Path-Following Control of Underactuated AUV With Multiple Uncertainties and Input Saturation. IEEE Access
**2019**, 7, 98014–98022. [Google Scholar] [CrossRef] - Xiang, X.; Yu, C.; Zhang, Q. Robust Fuzzy 3D Path Following for Autonomous Underwater Vehicle Subject to Uncertainties. Comput. Oper. Res.
**2017**, 84, 165–177. [Google Scholar] [CrossRef] - Sgorbissa, A. Integrated robot planning, path following, and obstacle avoidance in two and three dimensions: Wheeled robots, underwater vehicles, and multicopters. Int. J. Robot. Res.
**2019**, 38, 853–876. [Google Scholar] [CrossRef] - Fossen, T.I. Guidance and Control of Ocean Vehicles; Wiley: Hoboken, NJ, USA, 1994. [Google Scholar]
- Silvestre, C.; Pascoal, A. Control of the INFANTE AUV using gain scheduled static output feedback. Control. Eng. Pract.
**2004**, 12, 1501–1509. [Google Scholar] [CrossRef] - Ulyanov, S.; Maksimkin, N. Formation path-following control of multi-AUV systems with adaptation of reference speed. Math. Eng. Sci. Aerosp. (MESA)
**2019**, 10, 487–500. [Google Scholar] - Leith, D.J.; Leithead, W. Survey of Gain-Scheduling Analysis & Design. Int. J. Control.
**2000**, 73, 1001–1025. [Google Scholar] - Kozlov, R.I.; Kozlova, O.R. Investigation of stability of nonlinear continuous-discrete models of economic dynamics using vector Lyapunov function. J. Comput. Syst. Sci. Int.
**2009**, 48, 262–271. [Google Scholar] [CrossRef] - Vassilyev, S.; Ulyanov, S.; Maksimkin, N. A VLF-Based Technique in Applications to Digital Control of Nonlinear Hybrid Multirate Systems; AIP Publishing LLC: Melville, NY, USA, 2017; pp. 020170(1)–020170(10). [Google Scholar] [CrossRef]
- Cassandras, C.G.; Lafortune, S. Introduction to Discrete Event Systems, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2010. [Google Scholar]
- Dubins, E.L. On Curves of Minimal Length with a Constraint on Average Curvature, and with Prescribed Initial and Terminal Positions and Tangents. Am. J. Math.
**1957**, 79, 497. [Google Scholar] [CrossRef] - Manyam, S.G.; Casbeer, D.W.; Moll, A.V.; Fuchs, Z. Shortest Dubins Path to a Circle. arXiv
**2018**, arXiv:1804.07238v1. [Google Scholar] - Chen, Z. On Dubins paths to a circle. Automatica
**2020**, 117, 108996. [Google Scholar] [CrossRef]

**Figure 7.**An example of building a Dubins path that connects point ${P}_{v}$ with arc S. For this example, ${\mathcal{D}}_{s}=\left\{\u2018\mathrm{R}\u2019\right\}$ and ${\mathcal{D}}_{f}=\{\u2018\mathrm{L}\u2019,\u2018\mathrm{R}\u2019\}$. The red line indicates the shortest path.

**Figure 8.**Feedback coefficients ${k}_{i}$ ($i=\overline{1,5}$) synthesized for the path-following controller (7) as functions of the VT’s angular speed ${r}_{0}$.

**Figure 9.**Simulation results for Scenario 1: sharp-edged obstacle environment. On the left, the blue area corresponds to the obstacle on the $(x,y)$ plane, the red line represents the AUV’s reference path, and the blue line represents the actual trajectory obtained by the simulation; marks on the red line are points connecting two adjacent segments of the reference path. On the right, the blue line shows the change in the state of the designed discrete event system and red marks on the line indicate moments when a new path is generated.

**Figure 10.**Path-following errors for Scenario 1: along path error ${s}_{e}$ (left-hand part) and across path error ${y}_{e}$ (right-hand part).

**Figure 11.**AUV velocities for Scenario 1: forward velocity (left-hand part) and yaw velocity (right-hand part).

**Figure 14.**Simulation results for Scenario 2: U-shaped obstacle environment. The explanation of the figure is the same as that of Figure 9.

**Figure 15.**Simulation results for Scenario 3: cluttered environment. The explanation of the figure is the same as that of Figure 9.

Name | Description |
---|---|

mS | Starting the mission |

mPF | Following the reference path |

mDOL | Detouring the selected obstacle from its left side |

mDOR | Detouring the selected obstacle from its right side |

mNRF | Navigation to the reference path |

mSOL | Searching for an obstacle on the left |

mSOR | Searching for an obstacle on the right |

mMC | Mission completed |

Name | Triggering Condition | Description |
---|---|---|

eOAVC | ${I}_{A}({\rho}_{i}<{\rho}_{vc})\ne \varnothing $ | An obstacle ahead is very close |

eOAN | ${I}_{A}({\rho}_{i}<{\rho}_{n})\ne \varnothing $ | An obstacle ahead is near |

eNOLN | ${I}_{L}({\rho}_{i}<{\rho}_{f})=\varnothing $ | There are no obstacles nearby on the left |

eNORN | ${I}_{R}({\rho}_{i}<{\rho}_{f})=\varnothing $ | There are no obstacles nearby on the right |

eOLVC | ${I}_{L}({R}_{max}^{i}<{R}_{min})\ne \varnothing $ | An obstacle on the left is very close |

eOLN | ${I}_{L}({R}_{max}^{i}<{R}_{min}+\u25b5R)\ne \varnothing $ | An obstacle on the left is near |

eOLF | ${I}_{L}({R}_{max}^{i}<{R}_{min}+\u25b5R)=\varnothing $ | There are no obstacles on the left that are nearby |

eOLKPN | ${I}_{L}({R}_{max}^{i}<{R}_{min}+\u25b5R\phantom{\rule{0.277778em}{0ex}}\&\phantom{\rule{0.277778em}{0ex}}$ ${\alpha}_{i}\le {\alpha}_{K})=\varnothing $ | An obstacle to the left of the KP direction is near |

eORVC | ${I}_{R}({R}_{max}^{i}<{R}_{min})\ne \varnothing $ | An obstacle on the right is very close |

eOLN | ${I}_{R}({R}_{max}^{i}<{R}_{min}+\u25b5R)\ne \varnothing $ | An obstacle on the right is near |

eORF | ${I}_{R}({R}_{max}^{i}<{R}_{min}+\u25b5R)=\varnothing $ | There are no obstacles on the right that are nearby |

eORKPN | ${I}_{R}({R}_{max}^{i}<{R}_{min}+\u25b5R\phantom{\rule{0.277778em}{0ex}}\&\phantom{\rule{0.277778em}{0ex}}$ ${\alpha}_{i}>{\alpha}_{K})=\varnothing $ | An obstacle to the right of the KP direction is near |

eWPB | $|{\gamma}_{{j}_{r}}|>\pi /2$ | The current WP of the RP is located behind the AUV |

eWPL | ${\gamma}_{{j}_{r}}\le 0$ | The current WP is located to the left of the AUV |

eWPR | ${\gamma}_{{j}_{r}}>0$ | The current WP is located to the right of the AUV |

eWWPBN | ${\sum}_{j={j}_{r}}^{{j}_{r}+{n}_{w}}{\gamma}_{j}\le 0$ | The weighted WP relative bearing angle is negative |

eWWPBP | ${\sum}_{j={j}_{r}}^{{j}_{r}+{n}_{w}}{\gamma}_{j}\le 0$ | The weighted WP relative bearing angle is positive |

eWPDN | ${\varphi}_{{j}_{r}}<=0$ | Angle to the WP direction vector is negative |

eWPDP | ${\varphi}_{{j}_{r}}>0$ | Angle to the WP direction vector is positive |

eRRPL | ${t}_{pm}>{t}_{mp}$ | The AUV is returning to ${\mathcal{P}}_{ref}$ after the left detouring |

eRRPR | ${t}_{pm}<{t}_{mp}$ | The AUV is returning to ${\mathcal{P}}_{ref}$ after the right detouring |

eRPSN | ${\rho}^{RP}<{\rho}_{n}^{RP}$ | The reference path segment is near in the heading direction |

eEP | The VT has reached the end of the current path | |

eES | The VT has reached the end of the current segment |

State | No. | Composite Events | Next State | Actions |
---|---|---|---|---|

mS | mPF | $\mathcal{P}={\mathcal{P}}_{ref}$; ${j}_{r}=1$ | ||

mPF | 1 | (eOAN, eORVC, eOLF) or (eOAN, eOLF, eORF, eWWPBN) | mDOL | ${\mathcal{Q}}_{L}$ = SelectObstacleLeftP($\mathcal{Q}$, ${i}_{\rho}^{L}$) $\mathcal{P}$ = AvoidPath(${\mathcal{Q}}_{L}$, ‘L’) |

2 | (eOAN, eOLVC, eORF) or (eOAN, eOLF, eORF, eWWPBP) | mDOR | ${\mathcal{Q}}_{R}$ = SelectObstacleRightP($\mathcal{Q}$, ${i}_{\rho}^{R}$) $\mathcal{P}$ = AvoidPath(${\mathcal{Q}}_{R}$, ‘R’) | |

3 | (eOLN, eORVC) or (eOLN, eORN, eWWPBN) | mDOL | ${\mathcal{Q}}_{L}$ = SelectObstacleLeftP($\mathcal{Q}$, ${i}_{r}^{L}$) $\mathcal{P}$ = AvoidPath(${\mathcal{Q}}_{L}$, ‘L’) | |

4 | (eORN, eOLVC) or (eORN, eOLN, eWWPBP) | mDOR | ${\mathcal{Q}}_{R}$ = SelectObstacleRightP($\mathcal{Q}$, ${i}_{r}^{R}$) $\mathcal{P}$ = AvoidPath(${\mathcal{Q}}_{R}$, ‘R’) | |

5 | eEP | mMC | no actions | |

6 | eES | mPF | ${j}_{r}={j}_{r}+1$ | |

mNRP | 1 | mEP | mPF | $\mathcal{P}={\mathcal{P}}_{ref}$; InitVTState |

the first four rules from the mPF block | ||||

mDOL | 1 | (eWPB, eWPR, eWPDN) or (eWPB, eWPL, eWPDP) | mDOL | ${j}_{r}={j}_{r}+1$ |

2 | eOAVC | mDOL | the same as in rule 1 of the mPF block | |

3 | eOLKPN | mDOL | the same as in rule 3 of the mPF block | |

4 | (eNORN, eOLF) | mSOR | [$\mathcal{P}$, ${j}_{r}$] = DubinsPath(${\mathcal{P}}_{ref}$, ${j}_{r}$, {‘R’}, {‘R’}) | |

5 | (eNOLN, eWPL, eRPSN, eRRPL) or (eNOLN, eWPL, eWPB, eWPDP, eRRPL) | mNRP | [$\mathcal{P}$, ${j}_{r}$] = DubinsPath(${\mathcal{P}}_{ref}$, ${j}_{r}$, {‘L’}, {‘L’,‘R’}) | |

6 | eEP | mDOL | ${\mathcal{Q}}_{B}$ = SelectObstacleLeft($\mathcal{Q}$) $\mathcal{P}$ = AvoidPath(${\mathcal{Q}}_{B}$, ‘L’) | |

mSOR | 1 | (eWPB, eWPR, eWPDN) or (eWPB, eWPL, eWPDP) | mSOR | ${j}_{r}={j}_{r}+1$ |

2 | eOAN | mDOL | the same as in rule 1 of the mPF block | |

3 | eOLN | mDOL | the same as in rule 3 of the mPF block | |

4 | (eNOLN, eWPL, eRPSN, eRRPL) or (eNOLN, eWPL, eWPB, eWPDP, eRRPL) | mNRP | [$\mathcal{P}$, ${j}_{r}$] = DubinsPath(${\mathcal{P}}_{ref}$, ${j}_{r}$, {‘L’}, {‘L’,‘R’}) | |

5 | eEP | mPF | $\mathcal{P}={\mathcal{P}}_{ref}$; InitVTState | |

mDOR | 1 | (eWPB, eWPL, eWPDP) or (eWPB, eWPR, eWPDN) | mDOR | ${j}_{r}={j}_{r}+1$ |

2 | eOAVC | mDOR | the same as in rule 2 of the mPF block | |

3 | eORKPN | mDOR | the same as in rule 4 of the mPF block | |

4 | (eNOLN, eORF) | mSOL | [$\mathcal{P}$, ${j}_{r}$] = DubinsPath(${\mathcal{P}}_{ref}$, ${j}_{r}$, {‘L’}, {‘L’}) | |

5 | (eNORN, eWPR, eRPSN, eRRPR) or (eNORN, eWPR, eWPB, eWPDN, eRRP) | mNRP | [$\mathcal{P}$, ${j}_{r}$] = DubinsPath(${\mathcal{P}}_{ref}$, ${j}_{r}$, {‘R’}, {‘L’,‘R’}) | |

6 | eEP | mDOR | ${\mathcal{Q}}_{B}$ = SelectObstacleRight($\mathcal{Q}$) $\mathcal{P}$ = AvoidPath(${\mathcal{Q}}_{B}$, ‘R’) | |

mSOL | 1 | (eWPB, eWPL, eWPDP) or (eWPB, eWPR, eWPDN) | mSOL | ${j}_{r}={j}_{r}+1$ |

2 | eOAN | mDOR | the same as in rule 2 of the mPF block | |

3 | eORN | mDOR | the same as in rule 4 of the mPF block | |

4 | (eNORN, eWPR, eRPSN, eRRPR) or (eNORN, eWPR, eWPB, eWPDN, eRRP) | mNRP | [$\mathcal{P}$, ${j}_{r}$] = DubinsPath(${\mathcal{P}}_{ref}$, ${j}_{r}$, {‘R’}, {‘L’,‘R’}) | |

5 | eEP | mPF | $\mathcal{P}={\mathcal{P}}_{ref}$; InitVTState |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Ulyanov, S.; Bychkov, I.; Maksimkin, N.
Event-Based Path-Planning and Path-Following in Unknown Environments for Underactuated Autonomous Underwater Vehicles. *Appl. Sci.* **2020**, *10*, 7894.
https://doi.org/10.3390/app10217894

**AMA Style**

Ulyanov S, Bychkov I, Maksimkin N.
Event-Based Path-Planning and Path-Following in Unknown Environments for Underactuated Autonomous Underwater Vehicles. *Applied Sciences*. 2020; 10(21):7894.
https://doi.org/10.3390/app10217894

**Chicago/Turabian Style**

Ulyanov, Sergey, Igor Bychkov, and Nikolay Maksimkin.
2020. "Event-Based Path-Planning and Path-Following in Unknown Environments for Underactuated Autonomous Underwater Vehicles" *Applied Sciences* 10, no. 21: 7894.
https://doi.org/10.3390/app10217894