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 and , 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 and ) should be designed in such a way that the virtual target tracking errors satisfy
- The paths generated by path-planning algorithms for detouring obstacles and returning to the reference path should be at least first-order differentiable ( continuous), lie no closer than safe distance from obstacles, and satisfy kinematic constraints that are given by minimum turning radius .
- Whenever possible, the AUV must follow the reference path , which means that after leaving to detour an obstacle or a group of obstacles the AUV must return, if possible, to 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 consists of less than 3 points, mark these points for further inclusion in the output sequence and go to Step 5.
- Step 2:
- Mark the start and end points of . Assign .
- Step 3:
- By going through the points, starting from point , find the first point that satisfies the following condition: there exists a point between and such that the shortest distance from it to the line passing through the points and is greater than a predetermined value 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 immediately preceding point . If is not the end point of , then and go to Step 3.
- Step 5:
- Form the sequence from all marked points of keeping the order.
3.3.3. Path-Planning Algorithm for Detouring Obstacles
- Step 1:
- Take . Construct the arc segment of radius that connects the AUV’s current position with the point located at the distance (or after applying the RCOA algorithm) from the obstacle point (see Figure 5). Add this segment to the avoidance path .
- Step 2:
- Construct an arc segment that rotates the AUV around its vertical axis until its longitudinal axis is directed along vector that is drawn from point to point . The direction of the rotation is selected depending on the sign of the angle between vector and the tangent vector of the constructed segment at point . Add the constructed segment to the avoidance path .
- Step 3:
- Take and calculate
- Step 4:
- Step 5:
- Construct a line segment with and an arc segment with center and radius R. Add both segments to path .
- Step 6:
- If (point is not the first in ) then and go to Step 3.
- Step 7:
- Supplement path with the line segment , which is parallel to vector , where is the point on a line passing through the point and parallel to the line , which is closest to the point .
3.3.4. Path-Planning Algorithm for Building a Path to a Given Segment
- Step 1:
- Set and .
- Step 2:
- For each start turning direction and final turning direction perform Steps 3–8.
- Step 3:
- Find the center of the arc S for start turning direction .
- Step 4:
- Shift segment S in direction by , resulting in a new segment .
- Step 5:
- Find a point on segment which is closest to point . If the distance between points and is greater than , then build a Dubins path of type that connects points and and go to step 8.
- Step 6:
- Find the point of intersection of the circle with the center and radius with the segment . If there are no such points, go to Step 2 and continue with the next .
- Step 7:
- Build a path of type connecting point with point , which is obtained by projecting point onto segment S.
- Step 8:
- If the path is successfully built () and the length of the path is less than L, then and .
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]
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 | An obstacle ahead is very close | |
eOAN | An obstacle ahead is near | |
eNOLN | There are no obstacles nearby on the left | |
eNORN | There are no obstacles nearby on the right | |
eOLVC | An obstacle on the left is very close | |
eOLN | An obstacle on the left is near | |
eOLF | There are no obstacles on the left that are nearby | |
eOLKPN | An obstacle to the left of the KP direction is near | |
eORVC | An obstacle on the right is very close | |
eOLN | An obstacle on the right is near | |
eORF | There are no obstacles on the right that are nearby | |
eORKPN | An obstacle to the right of the KP direction is near | |
eWPB | The current WP of the RP is located behind the AUV | |
eWPL | The current WP is located to the left of the AUV | |
eWPR | The current WP is located to the right of the AUV | |
eWWPBN | The weighted WP relative bearing angle is negative | |
eWWPBP | The weighted WP relative bearing angle is positive | |
eWPDN | Angle to the WP direction vector is negative | |
eWPDP | Angle to the WP direction vector is positive | |
eRRPL | The AUV is returning to after the left detouring | |
eRRPR | The AUV is returning to after the right detouring | |
eRPSN | 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 | ; | ||
mPF | 1 | (eOAN, eORVC, eOLF) or (eOAN, eOLF, eORF, eWWPBN) | mDOL | = SelectObstacleLeftP(, ) = AvoidPath(, ‘L’) |
2 | (eOAN, eOLVC, eORF) or (eOAN, eOLF, eORF, eWWPBP) | mDOR | = SelectObstacleRightP(, ) = AvoidPath(, ‘R’) | |
3 | (eOLN, eORVC) or (eOLN, eORN, eWWPBN) | mDOL | = SelectObstacleLeftP(, ) = AvoidPath(, ‘L’) | |
4 | (eORN, eOLVC) or (eORN, eOLN, eWWPBP) | mDOR | = SelectObstacleRightP(, ) = AvoidPath(, ‘R’) | |
5 | eEP | mMC | no actions | |
6 | eES | mPF | ||
mNRP | 1 | mEP | mPF | ; InitVTState |
the first four rules from the mPF block | ||||
mDOL | 1 | (eWPB, eWPR, eWPDN) or (eWPB, eWPL, eWPDP) | mDOL | |
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 | [, ] = DubinsPath(, , {‘R’}, {‘R’}) | |
5 | (eNOLN, eWPL, eRPSN, eRRPL) or (eNOLN, eWPL, eWPB, eWPDP, eRRPL) | mNRP | [, ] = DubinsPath(, , {‘L’}, {‘L’,‘R’}) | |
6 | eEP | mDOL | = SelectObstacleLeft() = AvoidPath(, ‘L’) | |
mSOR | 1 | (eWPB, eWPR, eWPDN) or (eWPB, eWPL, eWPDP) | mSOR | |
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 | [, ] = DubinsPath(, , {‘L’}, {‘L’,‘R’}) | |
5 | eEP | mPF | ; InitVTState | |
mDOR | 1 | (eWPB, eWPL, eWPDP) or (eWPB, eWPR, eWPDN) | mDOR | |
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 | [, ] = DubinsPath(, , {‘L’}, {‘L’}) | |
5 | (eNORN, eWPR, eRPSN, eRRPR) or (eNORN, eWPR, eWPB, eWPDN, eRRP) | mNRP | [, ] = DubinsPath(, , {‘R’}, {‘L’,‘R’}) | |
6 | eEP | mDOR | = SelectObstacleRight() = AvoidPath(, ‘R’) | |
mSOL | 1 | (eWPB, eWPL, eWPDP) or (eWPB, eWPR, eWPDN) | mSOL | |
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 | [, ] = DubinsPath(, , {‘R’}, {‘L’,‘R’}) | |
5 | eEP | mPF | ; 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
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
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 StyleUlyanov, 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
APA StyleUlyanov, S., Bychkov, I., & Maksimkin, N. (2020). Event-Based Path-Planning and Path-Following in Unknown Environments for Underactuated Autonomous Underwater Vehicles. Applied Sciences, 10(21), 7894. https://doi.org/10.3390/app10217894