143 65 5MB
English Pages 200 [192] Year 2022
Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13
Agnieszka Lazarowska
Safe Trajectory Planning for Maritime Surface Ships
Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping Volume 13
Series Editor Nikolas I. Xiros, University of New Orleans, New Orleans, LA, USA
The Naval Architecture, Marine Engineering, Shipbuilding and Shipping (NAMESS) series publishes state-of-art research and applications in the fields of design, construction, maintenance and operation of marine vessels and structures. The series publishes monographs, edited books, as well as selected PhD theses and conference proceedings focusing on all theoretical and technical aspects of naval architecture (including naval hydrodynamics, ship design, shipbuilding, shipyards, traditional and non-motorized vessels), marine engineering (including ship propulsion, electric power shipboard, ancillary machinery, marine engines and gas turbines, control systems, unmanned surface and underwater marine vehicles) and shipping (including transport logistics, route-planning as well as legislative and economical aspects). The books of the series are submitted for indexing to Web of Science. All books published in the series are submitted for consideration in Web of Science.
More information about this series at https://link.springer.com/bookseries/10523
Agnieszka Lazarowska
Safe Trajectory Planning for Maritime Surface Ships
Agnieszka Lazarowska Department of Ship Automation Gdynia Maritime University Gdynia, Poland
ISSN 2194-8445 ISSN 2194-8453 (electronic) Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping ISBN 978-3-030-97714-6 ISBN 978-3-030-97715-3 (eBook) https://doi.org/10.1007/978-3-030-97715-3 © The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
This book is dedicated to my husband Paweł‚ and my parents El˙zbieta and Henryk, who are always there for me, when I need them and who taught me to never give up.
Preface
The book constitutes a source of theory and applications on collision avoidance and safe trajectory planning for manned and unmanned ships, along with a background and history of the progress made in this area of research. The book is divided into two parts. Part I introduces the methodology of collision avoidance and trajectory planning. It presents the history of ship collision avoidance and defines the aspects related to the development of safe trajectory planning algorithms for ships. Part II covers a presentation of original deterministic and nondeterministic ship safe trajectory planning algorithms. Both theoretical and implementation details are included in the book. Details on algorithms verification and evaluation are also described, including real-life tests on board a ship. The book is intended for academic and industrial researchers working in the fields of marine, software, and control engineering, whose research interests include the autonomous navigation of marine crafts and other autonomous vehicles. Some parts of the book will be also suitable for lecturers as well as final year undergraduates and postgraduates, who would like to expand their knowledge in the areas of decisionsupport systems and ship safe trajectory planning algorithms. Some parts of the book could also be interesting for navigators, deck officers, or operators, who will be working in the Shore Control Centers and will be responsible for the guidance and control of remotely operated or autonomous ships, and for classification societies, who will have to adjust their regulations to new technological demands. To sum up, the book aims to constitute a valuable source of information for everyone interested in the areas of decision support systems, guidance systems, autonomous navigation and control of marine crafts, and in particular trajectory generation in collision situations at sea. I would like to express thanks to professor Józef Lisowski, who has always been my greatest scientific authority and created opportunities for my development. Gdynia, Poland December 2021
Agnieszka Lazarowska
vii
Contents
Part I
Methodology of Collision Avoidance and Trajectory Planning
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 History of Ship Collision Avoidance . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Development of Technologies for Maritime Safety . . . . . . . . . . . . . . 1.3 Regulations for Maritime Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Maritime Safety Regulations Overview . . . . . . . . . . . . . . . . . . 1.3.2 Navigational Equipment Carriage Requirements . . . . . . . . . . 1.4 From Decision Support Systems to Autonomous Ships . . . . . . . . . . . 1.4.1 Collision Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 ARPA Collision Avoidance—Trial Maneuver . . . . . . . . . . . . 1.4.3 Autonomous Ship Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4 Autonomous Ship Technology Development . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 8 12 12 15 16 16 16 16 18 21
2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Ship Control System for Collision Avoidance . . . . . . . . . . . . . . . . . . . 2.2 Definition of Safe Trajectory Planning . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Assumptions for Safe Trajectory Planning . . . . . . . . . . . . . . . . . . . . . 2.4 Process Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Ship Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Safe Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Collision Risk Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Process Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Process Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Input Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 Navigational Environment Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 COLREGs Fulfillment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23 23 23 25 26 27 29 30 32 33 34 36 36 42
ix
x
Contents
3 Methodology for Safe Trajectory Planning . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Classification of Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Algorithm Vital Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Calculation of Target Ship Relative Parameters . . . . . . . . . . . . . . . . . 3.4 Determination of Dangerous Target . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 DCPA and TCPA Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 PPC Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Target Ship Domain Violation Check . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Optimization Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Evaluation of Candidate Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Trajectory Optimization Algorithm (TOA) . . . . . . . . . . . . . . . 3.8 Calculation of Output Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Speed Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Part II
45 45 49 51 52 53 53 54 55 56 57 58 59 61
Safe Trajectory Planning Algorithms
4 Deterministic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Trajectory Base Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Rules for Generation of Trajectories . . . . . . . . . . . . . . . . . . . . 4.1.2 Evaluation of Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Solutions Compliance with COLREGs . . . . . . . . . . . . . . . . . . 4.2 Discrete Artificial Potential Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Background of the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 Navigational Environment Modeling . . . . . . . . . . . . . . . . . . . . 4.2.4 Consideration of Obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.5 Solution Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.6 Solutions Compliance with COLREGs . . . . . . . . . . . . . . . . . . 4.2.7 Trajectory Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Wave-Front Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Background of the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Consideration of Obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.4 Solution Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.5 Solutions Compliance with COLREGs . . . . . . . . . . . . . . . . . . 4.3.6 Trajectory Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Visibility Graph Search Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Background of the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Consideration of Obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.4 Rotational Plane Sweep Algorithm . . . . . . . . . . . . . . . . . . . . . 4.4.5 Solution Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.6 Solutions Compliance with COLREGs . . . . . . . . . . . . . . . . . . 4.4.7 Trajectory Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65 65 65 67 68 68 68 69 69 70 71 73 73 75 75 75 76 77 78 78 78 78 79 79 79 80 83 83
Contents
xi
4.5 Dynamic Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Background of the Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Consideration of Obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.4 Solution Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.5 Solutions Compliance with COLREGs . . . . . . . . . . . . . . . . . . 4.6 Local Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84 84 84 85 86 88 88 89
5 Non-deterministic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Ant Colony Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Background of the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.3 Consideration of Obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.4 Solution Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.5 Solutions Compliance with COLREGs . . . . . . . . . . . . . . . . . . 5.2 Evolutionary Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Background of the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 Consideration of Obstacles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 Solution Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.5 Solutions Compliance with COLREGs . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91 91 91 94 94 95 99 100 100 100 101 101 103 104
6 Registration of Navigational Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Situation Awareness Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Data Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Data Reception Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Navigational Data Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Data Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
105 105 111 114 114 116 119
7 Evaluation of Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Evaluation Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Simple Encounter Situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Simple Encounter Situations with Lands . . . . . . . . . . . . . . . . . . . . . . . 7.4 Complex Encounter Situations Registered on Board a Ship . . . . . . . 7.5 Evaluation of Algorithms From Different Ships Perspectives . . . . . . 7.6 Comparative Analysis of Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . .
121 121 122 149 162 175 178
Conclusions and Future Prospects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Acronyms
ACO AIS ANS ARPA ASM ATA CA CDL CDS COG COLREGs CPA CTPA DCPA DDV DGPS DNV GL DSS EA EBL ECDIS ENC EPIRB ETA g.t. GIS GMDSS GNC GNSS GPS GRT
Ant Colony Optimization Automatic Identification System Autonomous Navigation System Automatic Radar Plotting Aid Advanced Sensor Module Automatic Tracking Aid Collision Avoidance module Collision Danger Lines Collision Danger Sectors Course Over Ground The International Regulations for Preventing Collisions at Sea Closest Point of Approach Collision Threat Parameters Area Distance at the Closest Point of Approach Degree of Domain Violation Differential Global Positioning System Det Norske Veritas and Germanischer Lloyd Decision Support System Evolutionary Algorithm Electronic Bearing Line Electronic Chart Display and Information System Electronic Navigational Chart Emergency Position-Indicating Radio Beacon Estimated Time of Arrival Gross tonnage Geographical Information System Global Maritime Distress and Safety System Guidance, Navigation and Control system Global Navigation Satellite System Global Positioning System Gross Register Tonnage xiii
xiv
HSC Code IAMU IBS IEC IMO INS IR ISM Code ISPS Code LiDAR LSB MARPOL MASS MMSI MSB MSC NAVTEX NMEA NTNU OS PAD PPC RCS RP RPM SA SART SF SI SOG SOLAS STCW TCPA TDV TEU TG TOA TS TSP TT UN USV VDR
Acronyms
The International Code of Safety for High-Speed Craft International Association of Maritime Universities Integrated Bridge System International Electrotechnical Commission International Maritime Organization Integrated Navigation System Infrared International Safety Management Code The International Ship and Port Facilities Security Code Light Detection and Ranging unit Least Significant Bit The International Convention for the Prevention of Pollution from Ships Maritime Autonomous Surface Ship Maritime Mobile Service Identity Most Significant Bit Maritime Safety Committee NAVigational TEleX National Marine Electronics Association Norwegian University of Science and Technology Own Ship Predicted Area of Danger Predicted Point of Collision Radar Cross-Sectional area Route Planning module Revolutions Per Minute Situation Awareness module Search and Rescue Transponder Sensor Fusion module Swarm Intelligence Speed Over Ground The International Convention for the Safety of Life at Sea The International Convention on Standards of Training, Certification and Watchkeeping for Seafarers Time to the Closest Point of Approach Time to Domain Violation Twenty-foot Equivalent Units Trajectory Generator Trajectory Optimization Algorithm Target Ship Traveling Salesman Problem Target Tracking United Nations Unmanned Surface Vehicle Voyage Data Recorder
Acronyms
VHF VLCC VPS
xv
Very High Frequency Very Large Crude Carrier Voyage Planning System
Part I
Methodology of Collision Avoidance and Trajectory Planning
Chapter 1
Introduction
1.1 History of Ship Collision Avoidance The terms commonly used in the collision avoidance area of research, which will also be used in this book include: • an own ship (OS) – the ship to be navigated; • a target ship (TS) – the ship to be avoided. The two major areas of research in the field of autonomous ship navigation are collision avoidance and track keeping. Collision avoidance is the task of determining an action of a vessel that aims to avoid a collision with another ship or a different obstacle. Track keeping is the process of controlling a vessel in order to assure that it moves along a predefined path. This book is dedicated to collision avoidance. In the past a distinction between collision avoidance and path planning methods existed. The difference is based upon the determined type of maneuver and consideration of optimization. Collision avoidance methods determine one maneuver and do not include any optimization criteria. Path planning approaches calculate a safe trajectory, usually composed of several maneuvers with optimization of a solution. They started to emerge in the late 1990s and early 2000s. Earlier approaches were solving the collision avoidance problem. First works on collision avoidance for ships were published about 10 years after the World War II and were focused on collisions statistics and analysis of Collision Regulations [1]. First approaches to the calculation of a safe maneuver were concerning encounters between two ships and were based on geometrical dependencies. Such considerations, based on the triangle of velocities, were presented in [2–6]. A timeline in Fig. 1.1 shows the development of collision avoidance approaches based upon the triangle of velocities. The triangle of velocities describes the relationship between the true speed of an own ship V , the true speed of a target ship V j and the relative speed of a target ship in relation to an own ship Vr j as shown in Fig. 1.2. N is the direction of True North, is the course of an own ship, j is the course of a target © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3_1
3
4
1 Introduction 1960 1961 Calvert; Calvert; Garcia-Frias; Hollingdale Wylie
1957 Sadler
1962 Wylie 1963
1956
Fig. 1.1 Collision avoidance approaches based upon the triangle of velocities
N Ψ V
N 0
Vj
V
Dj Ψj
Vrj j Fig. 1.2 Triangle of velocities Two-ship encounters 1976 Merz & Karmarkar
1981 Cannel
1983 Colley et al.
1975
1984 Colley & Stockel
1986 James fuzzy sets 1987
Fig. 1.3 Approaches for solving two-ship encounters
ship and D j is the distance between an own ship and a target ship. Calvert in [7, 8] described the evasive maneuvers that should be undertaken by an aircraft in collision situations, but introduced also similar solutions for ships. A timeline presenting the development of first collision avoidance approaches concerning two-ship encounters is shown in Fig. 1.3.
1.1 History of Ship Collision Avoidance
5
N Ψ
V N
Nj DCPA 0 CPA
Dj
Vj
V
Ψj
Vrj
j Fig. 1.4 Two ship encounter with marked safety measures
In 1961 Morrel [9] initiated the development of collision risk assessment. He introduced an approach based upon the usage of the Closest Point of Approach (CPA), the Distance at the Closest Point of Approach (DCPA) and the Time to the Closest Point of Approach (TCPA) in order to decide on a collision avoidance action. In Fig. 1.4 a two-ship encounter is presented with marked safety measures (CPA and DCPA). Morrel in his work also systematized a collision avoidance process, defining the following five stages of the process: • detection of a target ship; • acquisition of data concerning position and motion parameters of an own ship and a target ship; • calculation of the risk of collision; • decision whether to take action; • take action. In 1968 Mitrofanov [10] introduced the Anti-Collision Indicator, a device applied to support the collision avoidance process at sea. It can be regarded as a prototype of the trial maneuver function realized by the Automatic Radar Plotting Aid (ARPA). It was an electromechanical analogue computer. Its aim was to solve two-ship encounters and present a solution to the navigator as a recommended action. Data were fed to it by an operator and a solution was displayed on a CRT display in the form of a segment of safe maneuvers. In 1974 Jones [11] developed the maneuver diagram, which enabled for selection of a safe maneuver taking into account: the Collision Regulations, a relative bearing of a target ship and a distance between ships. That was the time, when first approaches
6
1 Introduction
Fig. 1.5 Collision avoidance game matrix
Ship 2
Ship 1
A
S
C
A
1
1
-1
S
1
0
1
C
-1
1
1
to multi-ship encounters were presented. Jones in his work analyzed the application of the maneuver diagram to multi-ship encounters. Merz and Karmarkar [12] in 1976 presented an approach for calculation of a turn maneuver for two-ship encounters as a function of a relative position, a relative speed and turn rates of both ships. In 1981 Cannell [13] proposed a method for solving two-ship encounters, describing the problem as a cooperative game of two players. The collision avoidance game was described with the use of a game matrix, as shown in Fig. 1.5. The game matrix was composed of possible actions for each ship and a pay-off for every action. Possible strategies were: A—anti-clockwise rotation of sight-line, S— stand-on, C—clockwise rotation of sight-line. Possible pay-offs were: 1—increase of safety, 0—no change and −1—decrease of safety. The Collision Regulations were also taken into account in a game. Degré and Lefèvre [14] in 1981 introduced a concept of “room to maneuver” in order to solve multi-ship encounters. The “room to maneuver” was a graphical presentation of all possible changes of course and/or speed, which enabled a ship to avoid other vessels in the vicinity. It was calculated based upon the triangle of velocities and the closest passing distance assumed for an own ship to be retained in respect to a target ship. The triangles of velocities were constructed for every target ship in the vicinity of an own ship. In 1983 Colley et al. [15] introduced a “range to domain over range rate” (RDRR) concept, defining the time required for a safe collision avoidance maneuver Tr — Eq. (1.1). R is the range (distance) of an own ship from a target ship in nautical miles, Rd is the radius of a circular domain and R˙ is the range rate in nautical miles per minute. In this approach a circular ship domain was applied as a safety measure. Tr =
(R − Rd ) R˙
(1.1)
Later, in 1984, Colley and Stockel [16] applied their model to the calculation of collision avoidance maneuvers for two-ship encounters. In this work, the authors defined the division of a maneuver into the following stages:
1.1 History of Ship Collision Avoidance
• • • • •
7
determination of an own ship status; evaluation whether a target ship constitutes a threat for an own ship; calculation of the time at which a maneuver should be executed; calculation of the magnitude of a maneuver; calculation of the time at which an own ship should execute a maneuver in order to return on initial course.
Multi-ship encounters were divided into two-ship encounters and the most threatening target ship (the target ship with the smallest TCPA) was later considered. In 1986 Dove et al. [17] proposed the application of the RDRR model in the automatic guidance system. The task of the system was to automatically guide a ship along a predetermined track. Additionally, when a risk of collision was detected, the RDRR method was applied to determine the time at which a ship should alter course to avoid a collision. An approach applying the fuzzy set theory to determine collision avoidance decisions for two-ship encounters was introduced by James [18] in 1986. The fuzzy set theory was developed by Zadeh [19] in 1965 to formulate inexact concepts in a mathematical way. In relation to vessels, in an exact approach a target ship can be regarded as safe or as a threat without distinguishing the level of safety. Applying the fuzzy set theory the level of ship safety can be defined with the use of a membership function, which measures the degree of safety depending on a distance between two ships. In 1989 Coenen et al. [20] introduced the Knowledge-based Collision Avoidance system. This approach covered the development of an expert system. The aim of an expert system is to emulate human experts. In the presented method a rule base was developed with the use of the International Regulations for Preventing Collisions at Sea (COLREGs), the interpretation of COLREGs by navigational experts and good seamanship practice. 14 possible collision avoidance actions were associated with these rules. The approach constituted a Navigational Decision Support system, where a collision avoidance advice included the following parameters: • • • •
the type of course alteration; the magnitude of alteration; the time at which a maneuver should be executed; the time at which a vessel should resume the initial course.
This approach has been further developed by Smeaton and Coenen [21] in 1990. Multi-ship encounters were solved, similarly as in [16], by dividing the situation into two-ship encounters and ordering target ships according to the risk of collision they impose. The risk of collision was calculated using the CPA, the TCPA and the range of target ships. The time at which a maneuver should be initiated, was calculated using the arena defined by Davis et al. [22]. A timeline showing the development of Decision Support Systems is given in Fig. 1.6, whereas a timeline presenting other collision avoidance milestones is given in Fig. 1.7.
8
1 Introduction Decision Support Systems
1968 Mitrofanov
1986 Dove et al.
1990 Smeaton & Coenen
1989 Coenen et al.
1991
1967
Fig. 1.6 Decision support systems milestones Other collision avoidance milestones 1955 1961 Sharpey-Schafer Morrel Collision Regulations Collision Risk Assessment
1974 Jones maneuver diagram
1981 Degré & Lefèvre
1982
1954
1973 - 1980 Multi-ship encounters
Fig. 1.7 Other collision avoidance milestones
1.2 Development of Technologies for Maritime Safety Technology, beside regulations and standards, is the second element having a vital influence on the development of maritime safety. First compasses used for showing the geographic direction of a ship were magnetic. Indications of these devices are affected by external magnetic fields. The aid deprived of this drawback is a gyrocompass. A gyrocompass determines the geographical direction (heading) of a vessel, making use of a gyroscope, which is continuously seeking the direction of the True North. The first practically usable gyrocompass was produced in 1908 by the German scientist Hermann Anschütz-Kaempfe (1872–1931). Earlier, in 1852 the French scientist Léon Foucault (1819–1868) invented a gyroscope, a device consisting of a spinning wheel, maintaining its orientation in space regardless of the Earth’s rotation. In the United States the first gyrocompass was patented by Elmer Sperry (1860–1930) in 1911. The Sperry’s works on gyrocompass initiated the development of the first gyroscope-guided automatic steering system called the Metal Mike. Further contributions to the safety of navigation include the development of an echo sounder, a radar, the Automatic Radar Plotting Aid (ARPA), the Automatic Identification System (AIS), the Global Positioning System (GPS) and the Electronic Chart Display and Information System (ECDIS). An echo sounder is a device used
1.2 Development of Technologies for Maritime Safety
9
on board ships for measuring the depth of water. Its operation principle is based upon the measurement of the time interval between emission and return of a sonic pulse transmitted into water. An echo sounder was invented by a German physicist Alexander Behm (1880–1952). Behm patented his device for measuring the depth of the sea in 1913. In 1914 a Canadian inventor Reginald Fessenden (1866–1932) introduced an oscillator, which was applied in an echo sounder offered from 1924 by the Submarine Signal Company as the Fessenden fathometer [23]. In the same year the U. S. Naval Research Laboratory in Washington introduced the Hayes sonic depth finder, invented by an U.S. physicist Harvey Cornelius Hayes (1878–1968) [24]. One of the most important navigational aid for collision avoidance purposes is a radar. It is used for determination of the range and the bearing of a target ship. The radar acronym comes from the phrase RAdio Detection And Ranging. The development of a radar was initiated by a famous German physicist Heinrich Rudolf Hertz (1857–1894), most commonly associated with the unit of frequency. In 1886 Hertz proved the property of electromagnetic waves, which states that they can be reflected from metallic objects. In 1904 a German inventor Christian Hülsmeyer (1881–1957) patented the telemobiloscope, a device using radio waves for detection of ships [25]. The device only detected the presence of a ship, but it did not measure the range. It did not capture interest due to a very limited detection range of about 3 km (1,6 nm). In 1922 an Italian inventor Guglielmo Marconi (1874–1937) in his speech at the meeting of the Institute of Radio Engineers and the American Institute of Electrical Engineers described the general operation principle of a device currently known as a radar. After that, in 1930s the radar technology was developed simultaneously in the United Kingdom, Germany, France and the United States. The first application of a radar on a warship is dated to 1937 and from 1944 a radar was applied on merchant ships [26]. The Automatic Radar Plotting Aid was developed for continuous tracking of target ships detected by a radar. The first ARPA was installed by the company Norcontrol at the cargo liner M/S Taimyr in 1969. A technology alternative to the ARPA used for collision avoidance is the Automatic Identification System. The system is composed of transponders located on ships, used for transmission and reception of information on designated frequencies (channels). The AIS emerged in the 1990s, but the requirement of its application was adopted in the 2004 revision of the SOLAS convention [26]. The information transmitted by a vessel as an AIS message include three types of data: static, dynamic and voyage related. Table 1.1 shows the AIS data divided into types. The range of the AIS depends on its class. The AIS Class A has a designated VHF channel 87B (161.975 MHz) and the AIS Class B has VHF channel 88B (162.025 MHz). The range of Class A AIS is typically 30 or 40 nm for large vessels and about 20 nm for smaller crafts. Class B AIS has a 10 nm range. For comparison, the ARPA range is typically 10–20 nm. Navigational aids used for the determination of ships positions have been developed since 1940s. First systems allowing to obtain the position of a vessel were the hyperbolic radio navigation systems. They use radio signals received from fixed navigational beacons to determine the position of a ship. Among such systems the following solutions were developed: Decca, Loran, Gee and Omega. Loran, an abbre-
10 Table 1.1 AIS information Static MMSI number IMO number Call sign Length and beam Type of shipa Location of antennab
a b c
1 Introduction
Dynamic
Voyage related
Ship position Time in UTC Course over ground Speed over ground Heading Navigational statusc Rate of turn Angle at heel Pitch and roll
Draught of a ship Hazardous cargo type Destination and ETA Route plan (waypoints)
e.g. container, tanker location of position fixing antenna to ship extremities (stern, bow, port or starboard) e.g. underway, at anchor
viation of the phase LOng RAnge Navigation, was a system initiated in the United States in 1940. Decca Navigator, invented by an American engineer W. J. O’Brien and developed in the United Kingdom, had one of its first trials carried out in 1944 [27]. Gee was a radio navigation system, similar to Loran, developed in the United Kingdom and used by the Royal Air Force during World War II. Another radio navigation system Omega was the first system with a global range. It became operational since 1971, but was shut down in 1997 due to the development of the Global Positioning System. The GPS in one of the Global Navigation Satellite Systems (GNSS). GNSSs use satellites to provide positioning information. The first satellite navigation system, available since 1967 for merchant ships, was the Transit system, coming from the United States. It was later replaced by the GPS. The GPS is owned by the US Government and operated by the United States Air Force. The first satellite of the GPS was launched in 1978, but the system was announced to be fully operational in 1993, with 24 satellites on the Earth’s orbits. Other GNSSs include the Russian GLONASS, the European Union’s Galileo and the Chinese BeiDou Navigation Satellite System. Another navigational system useful for collision avoidance is the Electronic Chart Display and Information System. The ECDIS is a geographical information system (GIS), presenting information from Electronic Navigational Charts (ENC) along with other data from navigational sensors such as the position, heading and speed of a ship. The standard for ECDIS was announced by the International Maritime Organization (IMO) in 1996. The system data are stored in a vector format. This means that different information is stored in separate tables, e.g. in data tables of buoys or coastlines [28]. In 2009 the IMO adopted a mandatory carriage requirement of ECDIS. This regulation entered into force in 2011.
1.2 Development of Technologies for Maritime Safety Table 1.2 VDR information
11
VDR data Date and time Position from electronic position fixing systems Speed Compass heading Echo sounder depth Audio from VHF communications Audio from a network of microphones Mandatory alarms Rudder order and response Engine order and response Status of hull openings, watertight/fire doors, hull stresses Wind speed and direction Raster picture of radar display (every 15 s) AIS data (when radar display not recorded)
Another device registering navigational information useful for the purpose of collision avoidance is the voyage data recorder (VDR). The VDR registers data helpful for an investigation in case of an incident. Aircrafts are equipped with a similar device called the flight data recorder, commonly known as the ‘black box’. First regulations concerning VDRs were adopted to the SOLAS convention in 2000 and entered into force in 2002. Table 1.2 lists data recorded by the VDR [26]. Navigational aids mentioned above constitute vital instruments used in the Integrated Navigation System (INS). The INS is aimed at presenting all navigational data at a display of a multifunctional workstation. Typical instruments integrated in the INS are listed in Table 1.3 [26]. The NMEA 0183 (IEC 61162-1) standard was defined by the National Marine Electronics Association in order to unify the communication between different marine electronic devices such as e.g. echo sounders, gyrocompasses, the GPS, autopilots. A newer standard is the NMEA 2000 (IEC 61162-3). Performance standards for the Integrated Bridge System (IBS) were adopted by IMO in 1996 (MSC.64(67)). The IBS is a term slightly wider than INS, as it integrates also systems other than navigational, e.g. related to machinery control or loading, discharging and cargo control, in order to increase the overall management of a vessel. A timeline presenting navigational aids milestones is shown in Fig. 1.8.
12 Table 1.3 Integrated Navigation System instruments
1 Introduction Integrated navigation system instruments Compass Log Autopilot Echo sounder DGPS Radar Anemometer ECDIS AIS VDR Rate of turn indicator NAVTEX receiver GMDSS VHF radio
Navigational aids milestones 1937 1940 1944 1967 1969 1971 1993 1999 2000 2004 2009 1924 Echo sounder Radar Loran Decca Transit ARPA Omega GPS GMDSS VDR AIS ECDIS
1920
2020
Fig. 1.8 Navigational aids milestones
1.3 Regulations for Maritime Safety 1.3.1 Maritime Safety Regulations Overview The development of technology has to go side by side with the development of safety rules and regulations. An organization responsible for the safety and security of international shipping is the International Maritime Organization (IMO). The IMO is the United Nations (UN) agency, established in 1948 at an UN conference in Geneva. At the time of the IMO formation it was named the Inter-Governmental Maritime Consultative Organization. It was renamed into the IMO in 1982. The first meeting of the IMO occurred in 1959.
1.3 Regulations for Maritime Safety
13
The first regulation adopted by the IMO was an updated version of The International Convention for the Safety of Life at Sea (SOLAS) in 1960. The first version of the SOLAS convention was adopted in 1914 after the RMS Titanic disaster. The vessel, at that time the largest passenger steamship in the world, sank in April 1912 in the Atlantic Ocean after striking an iceberg. Over 1500 people died in this marine disaster. Incidents and catastrophes stimulate the development of safety regulations. The SOLAS convention specifies the minimum standards concerning safety of ships, which have to be fulfilled in the process of construction and operation of a vessel along with the specification of required equipment. Current version of the SOLAS convention was adopted in 1974 and came into force in 1980. After that it has been updated with several amendments, the list of which is maintained by the IMO. It is divided into 14 chapters listed in Table 1.4. The regulations of a vital importance from the safety of shipping point of view are included in the International Regulations for Preventing Collisions at Sea (COLREGs), adopted by the IMO in 1972. The rules entered into force in 1977. The COLREGs consist of 41 rules divided into six sections: Part A—General; Part B— Steering and Sailing; Part C—Lights and Shapes; Part D—Sound and Light signals; Part E—Exemptions; and Part F—Verification of compliance with the provisions of the Convention. Four Annexes are also included in the COLREGs. They consist of technical and positioning requirements of lights and shapes (Annex I), additional signals for fishing vessels operating in close proximity (Annex II), technical details of sound signaling appliances (Annex III) and international distress signals (Annex IV). Another important step in the development of shipping was the establishment of The International Convention for the Prevention of Pollution from Ships (MARPOL) in 1973. MARPOL adopts regulations concerning prevention of pollution of marine environment by ships during both their routine operation and accidents. It entered into force in 1983. The requirements for construction of ships were supported by establishment of regulations concerning the ships crew. The International Convention on Standards of Training, Certification and Watchkeeping for Seafarers (STCW) is an international regulation defining minimum standards relating to training, certification and watchkeeping for seafarers, adopted by the IMO in 1978. This convention entered into force in 1984. Its major revisions were established in 1995 and 2010. Further maritime safety regulations are: the International Safety Management (ISM) Code, adopted in 1993 and the International Ship and Port Facility Security Code (ISPS) Code, adopted in 2002. The ISM Code provides an international standard for the safe management and operation of ships and for pollution prevention. The purpose of the ISPS code is to increase the security of ships and port facilities. A timeline presenting maritime safety regulations milestones is shown in Fig. 1.9.
14
1 Introduction
Table 1.4 Extract from the SOLAS convention Chapter Title Chapter I Chapter II-1
Chapter II-2 Chapter III Chapter IV
Chapter V
Chapter VI Chapter VII
Chapter VIII Chapter IX
Chapter X
Chapter XI-1 Chapter XI-2
Chapter XII Chapter XIII Chapter XIV
General Provisions Construction—Subdivision and stability, machinery and electrical installations Fire protection, fire detection and fire extinction Life-saving appliances and arrangements Radiocommunications
Regulations Survey of ships Stability requirements, machinery and electrical installations essential for the safety of the ship Fire safety provisions
Requirements for lifeboats, rescue boats and life jackets Incorporation of GMDSS, carriage requirements of EPIRBs and SART transponders Safety of navigation Maintenance of meteorological services for ships, the ice patrol service, routeing of ships, maintenance of search and rescue services; obligation for masters to assist ships in distress; carriage of VDRs and AIS Carriage of Cargoes Requirements for stowage and securing of cargo Carriage of dangerous goods Requirements for carriage of different dangerous goods and construction and equipment of ships carrying dangerous goods Nuclear ships Requirements for nuclear-powered ships Management for the Safe Operation The International Safety Management of Ships (ISM) Code made mandatory—adopted in 1993 Safety measures for high-speed craft The International Code of Safety for High-Speed Craft (HSC Code) made mandatory Special measures to enhance maritime Enhanced survey, ship identification safety number scheme and port state control Special measures to enhance maritime The International Ship and Port security Facilities Security Code (ISPS Code) adopted in 2002; a ship security Code (ISPS Code) adopted in 2002; a ship security alert system; the control of ships in port Additional safety measures for bulk Structural requirements for bulk carriers carriers over 150 m in length Verification of compliance The IMO Member State Audit Scheme Safety measures for ships operating in The International Code for Ships polar waters Operating in Polar Waters
1.3 Regulations for Maritime Safety
15
Maritime safety regulations milestones
1914 SOLAS
1972 1993 2002 1959 1978 1973 IMO COLREGs MARPOL STCW ISM Code ISPS Code 2010
1910
Fig. 1.9 Maritime safety regulations milestones
1.3.2 Navigational Equipment Carriage Requirements The carriage requirements of shipborne navigational equipment and systems are defined in Chap. 5 of the SOLAS convention. Table 1.5 lists the carriage requirements of equipment essential for the safety of navigation.
Table 1.5 Navigational equipment carriage requirements extracted from Chap. 5 of SOLAS Equipment Carriage requirements 9 GHz Radar 3 GHz Radar Automatic Radar Plotting Aid (ARPA) Automatic Tracking Aid (ATA) A speed and distance measuring device (through the water) Automatic Identification System (AIS)
Echo sounder Electronic Chart Display and Information System (ECDIS) Global Maritime Distress and Safety System (GMDSS) Gyrocompass Magnetic compass Voyage Data Recorder (VDR)
All ships of 300 g.t. and upwards and all passenger ships irrespective of size As the second radar, which is required on ships of 3,000 g.t. and upwards (functionally independent of the 9 GHz radar) All ships of 10,000 g.t. and upwards All ships of 500 g.t. and upwards (all ships of 3,000 g.t. and upwards shall have a second ATA) All ships of 300 g.t. and upwards and all passenger ships irrespective of size All ships of 300 g.t. and upwards engaged on international voyages, cargo ships of 500 g.t. and upwards not engaged on international voyages and all passenger ships irrespective of size All ships of 300 g.t. and upwards and all passenger ships irrespective of size All newly built passenger ships of 500 g.t. and upwards, all newly built cargo ships, including tankers, of 3,000 g.t. and upwards engaged on international voyages All passenger ships and all cargo ships over 300 g.t. on international voyages All ships of 500 g.t. and upwards All ships irrespective of size Passenger ships and ships other than passenger ships of 3,000 g.t. and upwards constructed on or after 1 July 2002
16
1 Introduction
1.4 From Decision Support Systems to Autonomous Ships 1.4.1 Collision Warning The Automatic Radar Plotting Aid and the Automatic Identification System have a function of a collision warning called the dangerous target alarm. The CPA and the TCPA for all targets tracked by the ARPA and/or the AIS are calculated. The collision warning is activated, when the CPA is less than a specified limit and the TCPA is between zero and a specified limit [29].
1.4.2 ARPA Collision Avoidance—Trial Maneuver The ARPA enables for manual or automatic tracking of up to 100 objects detected by the radar [29]. The most important function of the ARPA for the purpose of collision avoidance is the trial maneuver. This facility of the ARPA is required by the SOLAS convention for all ships of 10 000 g.t. and over. The trial maneuver function simulates the predicted effects of a planned maneuver, considering the dynamic characteristics of a ship. The function enables for a simulation of a planned maneuver, but does not propose a safe collision avoidance action. The results of a course change maneuver or speed reduction can be verified with the use of this function. In Furuno radars one of the two types of trial maneuvers can be executed [30]. • static trial maneuver (Fig. 1.10); • dynamic trail maneuver (Fig. 1.11). The dynamic trial maneuver function enables to display in 30-s intervals the predicted positions of an own ship, according to the planned course and/or speed changes and positions of target ships. In order to start the simulation, an operator has to enter a delay time, which has to elapse before the execution of a planned maneuver. The static trial maneuver function allows to display the positions of an own ship and target ships at the moment, when the maneuver of an own ship has been completed.
1.4.3 Autonomous Ship Definition In order to present a proper background of the topic of ship path planning, the basic terms related to the research area of unmanned and autonomous ships will be introduced here. Unmanned ship and autonomous ship expressions are commonly used in the literature and are often used interchangeably, but precisely they do not mean exactly the same. A manned ship is a vessel operated by human operators present on board the ship. An unmanned ship is therefore a vessel without a crew on board. An unmanned vessel can be controlled remotely from shore and in this
1.4 From Decision Support Systems to Autonomous Ships
17
position of target ship B at the end of trial maneuver
position of own ship at the end of trial maneuver
B position of target ship A at the end of trial maneuver
delay time
O current own ship position
A
T Fig. 1.10 Static trial maneuver in the Furuno radar
B2 B1 B0 B5 B4 B3 B8 B7 B6
O8 O7 O6 O5 O4 O3 A8 O2 O1 A7 O0
A
A6 A5 A4 A3 A2 A1
B
delay time = 2 min. 30 sec.
O current own ship position
A0
T Fig. 1.11 Dynamic trial maneuver in the Furuno radar
18
1 Introduction
Table 1.6 Degrees of ship autonomy identified by the IMO Degree of Ship type Description autonomy Degree one
Ship with automated processes and decision support
Degree two
Remotely controlled ship with seafarers on board
Degree three
Remotely controlled ship without seafarers on board
Degree four
Fully autonomous ship
Seafarers are on board to operate and control shipboard systems; some operations may be automated and at times unsupervised The ship is controlled and operated from another location; seafarers are available on board The ship is controlled and operated from another location; no seafarers on board The ship operating system makes decisions and determines actions by itself
situation it is a remotely-controlled ship. An unmanned ship can also be controlled by algorithms of advanced decision support systems placed on board the ship without any human intervention. In this case the ship is called an autonomous vessel. An expression commonly used for the description of an autonomous ship is the phrase Maritime Autonomous Surface Ship (MASS).
The Maritime Safety Committee (MSC) of the IMO in 2018 identified the degrees of autonomy for MASS. The degrees of autonomy distinguished by the IMO are presented in Table 1.6. The Decision Support System (DSS) constitutes a guidance for the navigator about an evasive maneuver to be undertaken. Figure 1.12 presents the division of ships in terms of their autonomy.
1.4.4 Autonomous Ship Technology Development The technology for autonomous ships is in the phase of a dynamic growth. Recently many new projects dedicated to the development of autonomous vessels have been carried out around the world. Among such approaches a consortium of partners from Germany, Norway, Sweden, Iceland and Ireland realized a project Maritime Unmanned Navigation through Intelligence in Networks (MUNIN) [31]. The project was co-founded by the European Commission and was run in the years 2012–2015. In the MUNIN project an autonomous vessel was defined as a ship guided by automated
1.4 From Decision Support Systems to Autonomous Ships
19
Ships
Unmanned
Manned
Remotely-controlled
Autonomous
Fig. 1.12 Division of ships in terms of their autonomy
on-board decision support systems, but controlled by an operator from a shore control station. The systems proposed in the MUNIN concept include: • the Advanced Sensor Module for fusing sensor data from the radar, the AIS and daylight and infrared cameras; • the Autonomous Navigation System for following a predefined route and adjusting it taking into account encounter situations and weather forecasts; • the Autonomous Engine and Monitoring Control System for engine room and propulsion automation along with advanced failure pre-detection and handling; • the Shore Control Center for continuous monitoring and control of an autonomously operated vessel. An output of the MUNIN project is the report covering the analysis of financial, safety, security, legal and liability aspects concerning the implementation of autonomous ships. The ReVolt project [32], realized by the classification society DNV GL, was concentrated on the development of the unmanned vessel concept, designed to operate on fixed routes in coastal waters up to 100 nautical miles. The project started in 2013. The ReVolt vessel was designed as a 60 m long, fully battery powered ship with cargo capacity of 100 TEU (1300 DWT). In order to test the concept a 1:20 scaled model of the ship has been built in cooperation with the Norwegian University of Science and Technology (NTNU). The Advanced Autonomous Waterborne Applications (AAWA) project [33], founded by the Finnish Funding Agency for Technology and Innovation (Tekes), was run from 2015 to 2018. In this project a concept of dynamic autonomy, depending on the state of a ship and its mission, was introduced. In this concept in the open sea a ship can operate autonomously, but for congested waters or harbor operations it will be operated by a human. The project was led by the Rolls-Royce company and carried out with a number of industrial and academic partners. It was aimed at the analysis of technological, safety, security, societal, legal, economy and business
20
1 Introduction
aspects of autonomous ships introduction. Conclusions from the analysis of sensor fusion, safety and security of operation, as well as legal implications were included in the project report. The Autoferry project [34], carried out by the NTNU in the years 2016–2019, was aimed at the development of autonomous electric passenger ferries for urban water transport. In this project a 5 m long prototype of a ferry was developed as an experimental platform. The platform was equipped with a radar, an infrared (IR) camera, an optical camera and a Light Detection and Ranging unit (LiDAR). The Autosea project [35], founded by the Research Council of Norway (RCN), DNV GL, Kongsberg and Maritime Robotics, was aimed at the investigation of sensor fusion and collision avoidance for autonomous ships. The project, led in the years 2015–2019, was concentrated on automated situation awareness with the use of sensor fusion in order to reduce the risk of collision between ships with increased level of autonomy. The project Yara Birkeland [36], carried out by Kongsberg, is aimed at the development of an autonomous fully electric container feeder. Yara Birkeland will be a 120 TEU fully battery powered container ship. The ship will be equipped with a radar, a LiDAR, the AIS, a camera and an IR camera. The planned route of the ship is 12 nautical miles long and is composed of 3 ports in southern Norway: Larvik, Brevik and Herøya. The vessel is planned to function fully autonomously in 2022. The project Safer Vessel with Autonomous Navigation (SVAN) [37] is a continuation of the Advanced Autonomous Waterborne Applications (AAWA) project, carried out by Rolls-Royce and Finferries. The findings of this project were applied in the world’s first fully autonomous ferry Falco. The autonomous operation of the vessel was demonstrated in December 2018. The 53,8 m long car ferry navigated autonomously during its voyage between Parainen and Nauvo in the archipelago placed south of the city Turku in Finland. During the sea trials the collision avoidance system and auto-docking system were tested. A timeline presenting autonomous ship technology development milestones is shown in Fig. 1.13.
Autonomous ship milestones
2012 MUNIN
2013 ReVolt
2015 2015 AAWA Autosea
2010
Fig. 1.13 Autonomous ship milestones
2017 2018 2016 Autoferry Yara Birkeland SVAN 2020
References
21
References 1. Sharpey-Schafer, J.M.: Collision at sea. J. Navig. 8(3), 261–280 (1955). https://doi.org/10. 1017/S037346330001599X 2. Sadler, D.H.: The mathematics of collision avoidance at sea. J. Navig. 10(4), 306–319 (1957). https://doi.org/10.1017/S0373463300017008 3. Garcia-Frias, J.: Anti-collision radar sectors. J. Navig. 13(3), 316–323 (1960). https://doi.org/ 10.1017/S0373463300033634 4. Wylie, F.J.: The Calvert methods of manoeuvring to avoid collision at sea and of radar display. J. Navig. 13(4), 455–464 (1960). https://doi.org/10.1017/S0373463300018257 5. Hollingdale, S.H.: The mathematics of collision avoidance in two dimensions. J. Navig. 14(3), 243–261 (1961). https://doi.org/10.1017/S037346330002960X 6. Wylie, F.J.: Mathematics and the collision regulations. J. Navig. 15(1), 104–112 (1962). https:// doi.org/10.1017/S0373463300041497 7. Calvert, E.S.: Manoeuvres to ensure the avoidance of collision. J. Navig. 13(2), 127–137 (1960). https://doi.org/10.1017/S0373463300041679 8. Calvert, E.S.: A comparison of two systems for avoiding collision. J. Navig. 14(4), 387–401 (1961). https://doi.org/10.1017/S0373463300019354 9. Morrel, J.S.: The physics of collision at sea. J. Navig. 14(2), 163–184 (1961). https://doi.org/ 10.1017/S0373463300039503 10. Mitrofanov, O.: An anti-collision indicator. J. Navig. 21(2), 163–170 (1968). https://doi.org/ 10.1017/S0373463300030319 11. Jones, K.D.: Application of a manoeuvre diagram to multi-ship encounters. J. Navig. 27(1), 19–27 (1974). https://doi.org/10.1017/S0373463300025133 12. Merz, A.W., Karmarkar, J.S.: Collision avoidance systems and optimal turn manoeuvres. J. Navig. 29(2), 160–174 (1976). https://doi.org/10.1017/S0373463300030150 13. Cannell, W.P.: Collision avoidance as a game of co-ordination. J. Navig. 34(2), 220–239 (1981). https://doi.org/10.1017/S0373463300021330 14. Degré, T., Lefèvre, X.: A collision avoidance system. J. Navig. 34(2), 294–302 (1981). https:// doi.org/10.1017/S0373463300021408 15. Colley, B.A., Curtis, R.G., Stockel, C.T.: Manoeuvring times, domains and arenas. J. Navig. 36(2), 324–328 (1983). https://doi.org/10.1017/S0373463300025030 16. Colley, B.A., Stockel, C.T.: A marine traffic flow and collision avoidance computer simulation. J. Navig. 37(2), 232–250 (1984). https://doi.org/10.1017/S0373463300023389 17. Dove, M.J., Burns, R.S., Stockel, C.T.: An automatic collision avoidance and guidance system for marine vehicles in confined waters. J. Navig. 39(2), 180–190 (1986). https://doi.org/10. 1017/S0373463300000059 18. James, M.K.: Modelling the decision process in computer simulation of ship navigation. J. Navig. 39(1), 32–48 (1986). https://doi.org/10.1017/S0373463300014211 19. Zadeh, L.A.: Fuzzy sets. Inf. Control 8(3), 338–353 (1965). https://doi.org/10.1016/S00199958(65)90241-X 20. Coenen, F.P., Smeaton, G.P., Bole, A.G.: Knowledge-based collision avoidance. J. Navig. 42(1), 107–116 (1989). https://doi.org/10.1017/S0373463300015125 21. Smeaton, G.P., Coenen, F.P.: Developing an intelligent marine navigation system. Comput. Control Eng. J. 95–103 (1990). https://doi.org/10.1049/cce:19900024 22. Davis, P.V., Dove, M.J., Stockel, C.T.: A computer simulation of marine traffic using domains and arenas. J. Navig. 33(2), 215–222 (1980). https://doi.org/10.1017/S0373463300035220 23. Muir, T.G., Bradley, D.L.: Underwater acoustics: a brief historical overview through world war II. Acoust. Today 12(3), 40–48 (2016) 24. Erskine, F.T.: Harvey C. Hayes: first superintendent of the sound division at the naval research laboratory, Washington, D.C. Proc. Meet. Acoust. 23, 1–13 (2016). https://doi.org/10.1121/2. 0000178 25. Kirkpatrick, G.M.: Development of a monopulse radar systems. IEEE Trans. Aerosp. Electron. Syst. 45(2), 807–818 (2009). https://doi.org/10.1109/TAES.2009.5089565
22
1 Introduction
26. Bole, A., Wall, A., Norris, A.: Radar and ARPA Manual. Elsevier Butterworth-Heineman (2014). https://doi.org/10.1016/C2010-0-68325-8 27. Blanchard, W.: The genesis of the Decca Navigator system. J. Navig. 68(2), 219–237 (2015). https://doi.org/10.1017/S0373463314000666 28. Weintrit, A.: The Electronic Chart Display and Information System (ECDIS): An Operational Handbook. CRC Press (2009). https://doi.org/10.1201/9781439847640 29. Kongsberg Maritime: Kongsberg’s K-Bridge ARPA radar (2019). https://www.kongsberg. com/maritime/products/bridge-systems-and-control-centres/navigation-systems/arpa-radar. Accessed 9 Nov 2019 30. Furuno Electric Co., Ltd. (Japan): Marine Radar Model FAR-2107/FAR-2107-BB/FAR-2807 Operator’s Manual (2015). https://www.furunousa.com/. Accessed 17 Aug 2021 31. Maritime Unmanned Navigation through Intelligence in Networks (2012). http://www. unmanned-ship.org/munin/. Accessed 31 Oct 2019 32. DNV GL: The ReVolt project (2013). https://www.dnvgl.com/technology-innovation/revolt/. Accessed 31 Oct 2019 33. Rolls-Royce: The Advanced Autonomous Waterborne Applications (2015). https://www. rolls-royce.com/media/Files/R/Rolls-Royce/documents/customers/marine/ship-intel/aawawhitepaper-210616.pdf. Accessed 31 Oct 2019 34. NTNU: The Autoferry project (2016). https://www.ntnu.edu/autoferry. Accessed 31 Oct 2019 35. NTNU: The Autosea project (2015). https://www.ntnu.edu/autosea. Accessed 31 Oct 2019 36. Kongsberg Maritime: YARA Birkeland - The Autonomous Ship Project (2017) . https://www.kongsberg.com/maritime/support/themes/autonomous-ship-project-key-factsabout-yara-birkeland/. Accessed 31 Oct 2019 37. Finferries: Safer Vessel with Autonomous Navigation (SVAN) (2018). https://www.rollsroyce.com/media/press-releases/2018/03-12-2018-rr-and-finferries-demonstrate-worldsfirst-fully-autonomous-ferry.aspx. Accessed 12 Feb 2020
Chapter 2
Problem Definition
2.1 Ship Control System for Collision Avoidance The control system of modern ships is called the Guidance, Navigation and Control (GNC) system. The GNC system is composed of three subsystems: the Guidance System, the Control System and the Navigation System [1], as shown in Fig. 2.1.
The function of the Navigation System is to measure motion parameters of a ship, such as the position, the course and the speed. The function of the Control System is the calculation of appropriate control forces for steering a ship along a trajectory determined by the Guidance System. The function of the Guidance System is path (trajectory) planning. The Trajectory Generator (TG), constituting the main element of the Guidance System, calculates an optimal trajectory for a ship with the use of an advanced optimization algorithm. The task of this algorithm can be defined for example as fuel optimization, weather routing, minimum time navigation or formation control. When the task performed by the Guidance System is collision avoidance, the aim of the Trajectory Generator is to compute a safe, optimal trajectory for a ship.
2.2 Definition of Safe Trajectory Planning The process of collision avoidance is generally composed of the following stages: • tracking objects that can constitute obstacles; • assessing the collision risk; • determining a collision avoidance action.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3_2
23
24
2 Problem Definition
disturbances (wind, waves, ocean currents)
waypoints
Trajectory Generator
Motion Control
Guidance System Path planning
Control System Control
Motion sensors
Ship
Navigation System Localization
Fig. 2.1 Guidance, Navigation and Control system
disturbances
constraints
ship’s dynamics
α n own ship
Ψ, Ψ’ V, V’ x, y
Fig. 2.2 Ship motion control process in a collision situation at sea
Among the biggest challenges arising in this process are: • the time to take a decision; • the presence of multiple obstacles; • changing strategies of dynamic obstacles. In the task of collision avoidance an advanced optimization algorithm executed by the Trajectory Generator is the safe trajectory planning algorithm. This algorithm is responsible for the calculation of a safe course and/or speed change or a sequence of safe course and/or speed changes, called a safe trajectory. A block diagram of the ship motion control process in a collision situation at sea is shown in Fig. 2.2, where α is the rudder angle, n is the rotational speed of the propeller, is the course of an own ship, is the angular speed of an own ship, V is the speed of an own ship, V is the acceleration of an own ship, x and y are the coordinates of an own ship position. The diagram shows the inputs and outputs of the system controlling the ship during collision avoidance. The motion of a ship is controlled with the use of the rudder angle and the rotational speed of the propeller. External disturbances such as wind, waves and ocean currents influence this process. Constraints that also affect this process are: static and dynamic obstacles, the dynamics of a ship, obligation to fulfill the COLREGs.
2.2 Definition of Safe Trajectory Planning
25
X wpe
TS2
x2
TS1
x1
wp2
Ωobs
wp1 Ωfree
OS wp0
x0 y2
y0
Y y1
Fig. 2.3 Ship safe trajectory
The ship trajectory is composed of a number of waypoints the ship has to follow, as shown in Fig. 2.3. Every waypoint is defined with the use of geographical coordinates: x and y. The aim of the ship trajectory planning algorithm is to calculate a safe trajectory from the current position of an own ship to the next waypoint of a global path, characterized by the smallest possible deviation from the current track. The safe, optimal trajectory Topt , composed of (e + 1) waypoints from the initial waypoint wp0 (current position of an own ship) to the final waypoint wpe , can be defined by Eq. (2.1). Topt = {wp0 = [x0 , y0 , 0 , V0 ], wp1 = [...], . . . , wpe = [xe , ye , e , Ve ]}
(2.1)
Every waypoint is defined by the coordinates of an own ship position (x and y), an own ship course () and speed (V ).
2.3 Assumptions for Safe Trajectory Planning Safe trajectory planning in a collision situation at sea is a complex process. Many constraints and assumptions have to be taken into account in order to properly perform this task.
26
2 Problem Definition
The following factors constitute the process constraints: • • • • •
the obligation to fulfill the COLREGs; static navigational obstacles e.g. lands, shallows, fishing nets, military zones; dynamic navigational obstacles—target ships; dynamic properties of an own ship; demand to return to the predefined final waypoint (for restricted waters).
Assumptions that have to be considered in the process of ship safe trajectory calculation include: • • • • • •
the method of static and dynamic obstacles modeling; the type of navigational situation to be solved—open or restricted waters; the model of the ship motion (kinematic and dynamic equations); the sources of input data (ARPA, AIS), data reliability, data fusion requirement; the method of COLREGs implementation; the method to assure a safe distance between an own ship and target ships during maneuvers (CPA, TCPA, ship domain); • the acceptable run time of an algorithm; • the repeatability of results for every run of calculations with the same input data; • the method of dealing with changing strategies of target ships.
2.4 Process Constraints The main constraints of the ship safe trajectory planning process are static and dynamic navigational obstacles. Static navigational obstacles are: lands, shallows, channels, waterways, buoys and other fixed navigational restrictions. Static obstacles are modeled (similarly as on vector navigational charts) with the use of convex and concave polygons, composed of a number of line segments connected together in order to reflect for example a shoreline. Figure 2.4 shows an example of static navigational obstacles modeled for the purpose of ship safe trajectory planning. Static obstacles can further be taken into account in the safe trajectory planning algorithm in different ways. One method is to check an intersection between two line segments, one belonging to a static obstacle and the other constituting a segment of an own ship trajectory. A different approach is based on a cell decomposition method. In this approach an area belonging to a static obstacle is decomposed into cells. These cells are specifically marked and are not taken into account, when an algorithm calculates the ship safe trajectory. An example of such static obstacles modeling is shown in Fig. 2.5. Encountered ships, also called target ships, are the main dynamic obstacles that have to be taken into account in the process of safe trajectory planning. Target ships are considered with the use of safety measures such as the DCPA and the TCPA.
2.4 Process Constraints
27
Fig. 2.4 Static navigational obstacles modeling
Fig. 2.5 Cell decomposition method
The ship safe trajectory is calculated maintaining proper values of the DCPA and the TCPA for every target ship at every moment of an own ship movement along the calculated trajectory. Another method of target ships modeling is the use of a ship domain.
2.4.1 Ship Domain The term ship domain was introduced by Fujii and Tanaka in 1971 [2], who defined it as an area around a ship to be avoided by navigators of encountered ships. They used a so called ‘effective domain’ to calculate the traffic capacity of a waterway. The size of an effective domain is determined based on a statistical analysis of radar data.
28
2 Problem Definition
Goodwin [3] proposed a similar to Fujii’s and Tanaka’s definition of a ship domain. According to Goodwin a ship domain is an area around a ship, which a navigator wants to keep free from encountered ships and static obstacles. Goodwin specified factors that affect the shape and size of a ship domain and divided them into three groups: • psychological factors—the navigator experience; • physical factors of one ship—dimensions of the ship, relative speed; • physical factors affecting all ships—traffic density and weather conditions. In Goodwin’s study the domain is composed of three different sectors (see Fig. 2.6): a starboard sector (the relative bearing of encountered ships from 0◦ to 112,5◦ ), a port sector (the relative bearing of encountered ships from 247,5◦ to less than 360◦ ) and an astern sector (the relative bearing of encountered ships from more than 112,5◦ to less than 247,5◦ ). Boundaries of every sector were established with the use of statistical data from a radar simulator and traffic surveys in the North Sea. Davis et al. [4] developed the concept of a ship domain by introducing the arena term. The arena is defined as a larger domain (a super-domain), based upon the distance from a target ship, at which the navigator will take an action in order to avoid a close quarters situation. The close quarter situation is a term used in COLREGs to define a situation, in which the action of only one ship might not be enough to avoid a collision. The size of the arena was established based on surveys. Coldwell [5] redefined the ship domain term as an area around a vessel, which a navigator keeps free with respect to encountered ships. Therefore, an action rather than an intention is emphasized in this approach. Coldwell in his study determined the shape and size of a ship domain based on a statistical analysis of radar data, similarly as in the works mentioned above. He defined two types of domains, depending on the type of an encounter situation. His domain is different for a meeting encounter (head-on or crossing) and an overtaking encounter. For the meeting encounter a half ellipse shape of a ship domain is established, while for the overtaking encounter a full ellipse is proposed. Figure 2.6 presents the Coldwell’s and Goodwin’s domain models: (a) Coldwell’s domain for an overtaking encounter, (b) Coldwell’s domain for a head-on or crossing encounter, (c) Goodwin’s domain. Zhu et al. [6] introduced a ship domain model based upon neural networks, obtained with the use of experts knowledge. In this study the following factors affecting the ship domain shape and size were established: • the visibility; • the ship maneuverability; • the bearing of the CPA. A ship domain model was determined by a back propagation neural network, with the use of data from a survey with navigators. Hansen et al. [7] established the size of a ship domain based upon the AIS data being registered for four years. This research revealed that the distance between ships maintained by navigators can be approximated by an ellipse.
2.4 Process Constraints
29
1.75L
1.75L 3.25L
0°/360°
0.7 NM 6.1L
6L
port sector
0.85 NM starboard sector
0.45 NM 247,5°
a)
b)
astern sector
112,5°
c)
Fig. 2.6 Coldwell’s and Goodwin’s domain models Ship domain models 1971 Fujii & Tanaka
1975 Goodwin
1980 Davis et al.
1983 Coldwell
2001 Zhu et al. Knowledge-based approach
2013 Hansen et al. Approach based on AIS data
1970
2014
1971 - 1983 Empirical approaches
Fig. 2.7 Ship domain models timeline
A detailed analysis of ship domain models is presented in [8]. Authors of this study distinguished the following four safety criteria related to a ship domain: • • • •
an OS domain should not be violated by a TS; a TS domain should not be violated by an OS; both OS and TS domains should not be violated; OS and TS domains should not overlap. A timeline in Fig. 2.7 shows the development of ship domain models.
2.4.2 Safe Distance The ship motion control in a collision situation at sea relies on the calculation of control values, which assure that the position of an own ship does not exceed areas occupied by static and/or dynamic obstacles during the ship movement along the calculated trajectory. The ship safe trajectory has to fulfill Eq. (2.2).
30
2 Problem Definition
DC P A j = min(D j (t)) > Ds
(2.2)
DC P A j is the minimum distance between an own ship and j-th target ship during both ships movement along their trajectories. DC P A j needs to have a value greater than the specified safe distance Ds . Along with the DCPA, the Time to the Closest Point of Approach is calculated. The TCPA is the time, at which a target ship will reach its Closest Point of Approach. These parameters are calculated by the ARPA on board a ship and are used for the dangerous target alarm triggering. Measures for the assessment of the collision risk and the assurance of safe passing of ships in collision situations, other than the DCPA and the TCPA, include: the ship domain, the Degree of Domain Violation (DDV) and the Time to Domain Violation (TDV), the Predicted Point of Collision (PPC), the Predicted Area of Danger (PAD) and the Collision Threat Parameters Area (CTPA), introduced in Sects. 2.4.1 and 2.4.3.
2.4.3 Collision Risk Assessment Domain-based collision risk parameters are introduced by Szlapczynski and Szlapczynska in [9]. These parameters are the Degree of Domain Violation (DDV) and the Time to Domain Violation (TDV). TDV is the time left to entering the target ship domain by an own ship. The Degree of Domain Violation is based upon the domain-based approach factor, defined in [10], which is a scale factor of the largest domain-shaped area that remains free from encountered ships. Other parameters that assist a navigator in selecting a safe maneuver are the Predicted Point of Collision (PPC) and the Predicted Area of Danger (PAD). They are used in marine radars with the ARPA. The PPC is a point towards which an own ship should steer, maintaining actual speed, in order to collide with a target ship. Reversing this, an own ship steering courses other than these leading to the PPC, will cause the avoidance of a collision with a target ship. The Predicted Area of Danger, developed by the company Sperry Ltd., is an area around the Predicted Point of Collision including an own ship headings leading to encounter situations with a target ship, for which a safe distance Ds will be exceeded. The two characteristic points of the PAD contour are: • the point at which an own ship heading causing an own ship to pass ahead of the target ship, maintaining the safe distance, intersects the target track (P1 in Fig. 2.8) and; • the point at which an own ship heading causing an own ship to pass astern of the target ship, maintaining the safe distance, intersects the target track (P2 in Fig. 2.8). The area outside the PAD presents the region of headings that can be chosen by an own ship in order to avoid a target ship, maintaining a predefined safe distance.
2.4 Process Constraints
31
Heading limit to cross astern
Heading limit to cross ahead PPC P2
P1
TS
TS track
OS
Fig. 2.8 Predicted Point of Collision (PPC) and Predicted Area of Danger (PAD)
The PAD, determined with the use of the characteristic points described above, is in practice represented by a symmetrical figure such as an ellipse or a hexagon (see Fig. 2.8) [11, 12]. A different method for the assessment of encounter situations is the calculation of the Collision Threat Parameters Area (CTPA), introduced by Lenart in 1983 [13]. The CTPA uses a coupled Cartesian coordinate system, where X and Y coordinates represent the position of the ship (x, y) and coordinates of ship velocity (Vx , Vy ), coupled by a constant time value (τ ), as shown in Eq. (2.3). x = Vx · τ y = Vy · τ
(2.3)
The CTPA is defined as an area in the above described coupled system, for which placing the tip of the own speed vector within it will result in violating a safe distance Ds between an own ship and a target ship (see Fig. 2.9). In order to avoid a collision an own ship should change the course and the speed to points being outside the CTPA. The CTPA for a group of target ships is calculated as a superposition of CTPAs for every target. According to this method for multi-ship encounters maneuvers might be conditionally allowed in this part of the CTPA, for which TCPA is larger than a critical time (Tc in Fig. 2.9). This method was later developed by Qiao Liu and Pedersen [14] and Qiao Liu et al. [15], who introduced a cone-shaped Collision Danger Sectors (CDS) and Collision Danger Lines (CDL).
32
2 Problem Definition X DCPA = DS DCPA = 0 DCPA = DS TCPA > 0 TS TCPA < 0 TCPA = TC
TCPA = τ CTPA Y
OS
Fig. 2.9 Collision Threat Parameters Area (CTPA)
Course of a ship–the angle from the X axis to the velocity vector of a ship. Heading of a ship—the angle from X axis to the axis directed from aft to fore of a vessel, the direction in which a vessel is pointed. Drift angle—the angle from the axis directed from aft to fore of a vessel to the velocity vector of a vessel. COURSE = HEADING + DRIFT
2.5 Process Kinematics In ship safe trajectory planning algorithms a standard assumption is treating an own ship and target ships as moving points. A safe distance between ships is assumed normally much larger than the length of a ship, for example a reasonable safe distance of one nautical mile (1852 m) constitute over five times the length of a 334 m long crude oil tanker. The kinematic model of ships motion in the process of collision avoidance at sea is defined by the following equations:
2.5 Process Kinematics
33
x˙1 = V · cos u(t) = V · cos (t) x˙2 = V · sin u(t) = V · sin (t) x˙2· j+1 = V j · cos j (t) x˙2· j+2 = V j · sin j (t)
(2.4)
where the state and control variables are: x1 = x, x2 = y, x2 j+1 = x j , x2 j+2 = y j , u = and j = 1,2, …, m, where m is the number of target ships. In most ship safe trajectory planning algorithms it is assumed that target ships maintain their courses and speeds during the calculation of an own ship safe trajectory.
2.6 Process Dynamics The model of ship dynamics enables to express the behavior of a ship during a maneuver. The dynamic characteristics are available on board a ship as a wheelhouse poster. Besides the wheelhouse poster, a maneuvering booklet is also stored on the bridge of a vessel. These documents are required by the A.601(15) resolution “Provision and Display of Manoeuvring Information on Board Ships” issued by the IMO in 1987. Information concerning the ship maneuvering characteristics is obtained from specific tests carried out during the vessel sea trials. During sea trials different maneuvering characteristics are acquired such as the turning circle, the zigzag and the spiral maneuvers. The requirements concerning maneuvering characteristics are defined in the IMO resolution MSC.137(76) “Standards for Ship Manoeuvrability”. The wheelhouse poster includes information such as the turning circles for full load and ballast conditions and the stopping characteristic of a ship, which presents the time and distance for the ship to stop from full ahead speed. A basic model of ship dynamics, expressed as a transfer function of a ship, regarded as a course control object, can be defined in a simplified form by the first-order Nomoto model shown in the following equation: G(s) =
k (s) = , α(s) s(1 + T s)
(2.5)
where k is the gain and T is the time constant. The topic of ship dynamics modeling is described in details in [1]. The application of a precise model for the purpose of ship trajectory planning might lead to an unacceptable prolongation of the calculation time and may cause the algorithm to be inapplicable in reality. Therefore generally the ship dynamics approximation methods are applied in ship safe trajectory planning algorithms. The ship dynamics are approximated by the maneuver time parameter Tm . This parameter depends on the current rudder angle α, the vessel speed V and loading conditions L, as expressed in Eq. (2.6). (2.6) Tm = f (α, V, L)
34 Fig. 2.10 Own ship movement during the course alteration maneuver
2 Problem Definition
N X
B
ΔΨ A2
A1 Ψ
ΔΨ
A0
Y C
The maneuver time can be defined as the time of an own ship movement from the beginning of a maneuver to the moment, when the value of a new course has been reached. The maneuver time can be expressed by Eq. (2.7) [16] as the time of passage of the line segment A0 A1 and the time of passage of the curve A1 A2 with an angular speed ω: Tm = T01 +
1 − tg , ω ω 2
(2.7)
where T01 is the time of passage of the line segment A0 A1 shown in Fig. 2.10 and is the value of the course alteration. In ship safe trajectory planning algorithms the ship dynamics can be taken into account by the calculation of a kinematic maneuver at the moment T1 = T0 + Tm , where T0 is the time of the beginning of the maneuver – the ship is at point A0 in Fig. 2.10, Tm is the time of passage of the line segment A0 B and T1 is the moment, when an own ship is at point B.
2.7 Input Data Input data for the trajectory planning algorithm have to define the current collision situation at sea. These data have to include information about the current positions of an own ship, static obstacles and target ships and also motion parameters of an own ship and target ships. The following data have to be registered and fed into the algorithm: • position (x, y), course and speed V of an own ship; • courses j and speeds V j of target ships;
2.7 Input Data
35 DISTURBANCES
AIS
GPS
ECDIS
ECHOSOUNDER
Dj Nj Vj Ψj ARPA
RADAR
trajectory planning algorithm
ship
ΨS +
VS + -
AUTOPILOT
STEERING GEAR
Ψ
SPEED GOVERNOR
MAIN ENGINE
V
situation at sea
GYROCOMPASS
LOG
Fig. 2.11 Safe trajectory planning process
N X point of potential collision
TS Ψ j
xj
Vj
Ψ Nj
Dj
V x0
OS y0
DS Y yj
Fig. 2.12 Collision situation at sea
• bearings of target ships N j ; • distances of target ships from an own ship D j ; • positions of areas of land, shallows and other static obstacles. These data have to be obtained from navigational aids installed on board a ship, such as a log, a gyrocompass, the GNSS, a radar with the ARPA, the AIS, an echo sounder and the ECDIS. The process of input data registration is described in details in Chap. 6. Figure 2.11 shows the block diagram of the ship safe trajectory planning process. Figure 2.12 presents parameters used for the description of a collision situation at sea.
36
2 Problem Definition
2.8 Navigational Environment Modeling For the purpose of ship safe trajectory planning the navigational environment is defined as a two-dimensional space limited by boundaries as expressed in Eq. (2.8). = (X, Y ) ∈ R 2 : k ≤ x ≤ l, m ≤ y ≤ n
(2.8)
The navigational environment is composed of a free area f r ee and an area occupied by obstacles obs , as defined by Eq. (2.9). = f r ee ∪ obs
(2.9)
The area occupied by obstacles is the area of static obstacles stat (e.g. lands, buoys, shallows) and the area of dynamic obstacles dyn (t)—Eq. (2.10). Dynamic obstacles are obstacles changing their position in time. They represent target ships along with their domains. obs = stat ∪ dyn (t)
(2.10)
Methods of navigational environment modeling concern the representation of: • static obstacles; • dynamic obstacles. Static obstacles can be modeled with the use of: • concave and convex polygons, representing boundaries of an area occupied by obstacles; • free and occupied cells by the application of a cell decomposition method. Both representations were introduced in Sect. 2.4. An important aspect is the requirement of considering an additional safety margin around boundaries of static obstacles, as shown in Fig. 2.13, which assures the safe passage of a ship along the calculated trajectory with regard to static obstacles. Dynamic obstacles (target ships) are modeled with the use of a ship domain. Different shapes and sizes of the ship domain are applied, depending on the preferences of the navigator. The ship domain is introduced and described in Sect. 2.4.1.
2.9 COLREGs Fulfillment The International Regulations for Preventing Collisions at Sea (COLREGs) are navigation rules issued by the International Maritime Organization (IMO). Their aim is to prevent collisions between ships. The significance of these rules cause their
2.9 COLREGs Fulfillment
37
Fig. 2.13 Safety margins around static obstacles
implementation in ship safe trajectory planning algorithms to be a necessary condition. COLREGs are divided into parts as mentioned in Sect. 1.3.1. From the collision avoidance point of view the most important section of COLREGs is Part B—Steering and Sailing Rules. Before the description of methods for dealing with COLREGs in ship safe trajectory planning algorithms, the most important terms used in this topic will be introduced first. The terms commonly used in the COLREGs and publications dedicated to navigation rules for ships are: • a give-way vessel—a vessel that has to keep out of the way of another vessel; • a stand-on vessel—a vessel that has to keep its course and speed. COLREGs define which ship will be a give-way vessel and which will be a standon vessel in different situations and what will be their role in collision avoidance. The main rules relating to collision avoidance are rules 8 and 13 to 17. Below a short synthesis of these regulations will be presented. Rule 8 It defines how the action to avoid collision should look like. Rule 8b states that the collision avoidance maneuver (course and/or speed alteration) should, if possible, be large enough to be readily apparent to another vessel. It is therefore undesirable to perform a sequence of small alterations of course and/or speed. Rule 8c states that, in the situation of a sufficient sea room, the course alteration is regarded the most effective collision avoidance action.
38
2 Problem Definition
0°
10°
recommended courses
90°
Fig. 2.14 Course alterations recommended by Rule 8b of COLREGs
Rule 8d adds that a collision avoidance action should result in passing at safe distance Ds . In [17] authors clarify that in restricted visibility alterations of course should be at least 30◦ , and preferably in the range from 60◦ to 90◦ . For good visibility the authors recommend alterations of course to be at least 10◦ . Figure 2.14 presents recommended course alterations. Rules 13, 14 and 15 define actions to be taken by vessels in one of the three encounter situation types distinguished in COLREGs: • overtaking; • head-on; • crossing. These rules apply to vessels in sight of one another, that means the vessels that can observe each other visually, not by a radar. Rule 13—Overtaking situation This rule defines the action to be taken by an overtaking vessel. An overtaking vessel is defined as a vessel, which is coming up with another vessel from a direction more than 22.5 degrees abaft her beam. It is clarified that at night the overtaking vessel would see only the stern light of the vessel being overtaken. According to this rule an overtaking vessel should keep out of the way of the vessel being overtaken. Figure 2.15 presents the overtaking situation, to which applies rule 13. Rule 14—Head-on situation This rule applies to power-driven vessels meeting on reciprocal or nearly reciprocal courses. In such situation both ships are regarded as give-way vessels and are obliged
2.9 COLREGs Fulfillment
39
0°
270°
247,5°
90°
overtaking
112,5°
Fig. 2.15 Rule 13—an overtaking situation
head-on 355° 0° 5°
270°
90°
Fig. 2.16 Rule 14—a head-on situation
to alter course to starboard in order to pass on the port side of the other vessel. Most authors define the head-on situation as an encounter, in which the vessels see each other ahead or nearly ahead (±5 degrees from the head-on course). Figure 2.16 shows the head-on situation, to which applies rule 14. Rule 15—Crossing situation This rule applies to the crossing situation for power-driven vessels. In a crossing situation a vessel, which has the other vessel on her starboard side is regarded as a
40
2 Problem Definition
0° 5°
crossing
270°
90°
112,5° Fig. 2.17 Rule 15—a crossing situation
give-way vessel and according to this rule should keep out of the way and if possible avoid crossing ahead of the other vessel. A give-way ship in a crossing situation has to keep out of the way of the other vessel, which approaches from a direction between right ahead and 22.5 degrees abaft the beam on her starboard side. Figure 2.17 shows the crossing situation, to which applies rule 15. Rule 16 Action by give-way vessel Rule 16 defines the action to be taken by the give-way vessel. It obliges the give-way vessel to take early and substantial action to keep out of the way of the other vessel. Rule 17 Action by stand-on vessel Rule 17 defines that a stand-on vessel should keep her course and speed. It adds a condition, that a stand-on vessel should take action to avoid a collision in a case, when it becomes apparent to her that the vessel required to keep out of the way is not taking appropriate action. Rule 19 Conduct of vessels in restricted visibility Rule 19 applies to vessels in restricted visibility. This rule is not so precise as rules in Section II for vessels in sight of one another. All vessels are obliged to proceed at safe speed and comply with general rules from Section I. For restricted visibility a division into head-on, crossing and overtaking situations does not apply. COLREGs distinguish the following three cases for restricted visibility: • a target vessel abeam or abaft the beam; • a target vessel forward of beam when overtaking; • a target vessel forward of beam when not overtaking.
2.9 COLREGs Fulfillment
41
When a target vessel is abeam or abaft the beam it is recommended to avoid alteration of course towards the target vessel. When a target vessel is forward of beam and is not being overtaken, it is recommended to avoid alteration of course to port. When overtaking the target vessel, this recommendation does not apply. The implementation of COLREGs in a ship safe trajectory planning algorithm is a very complex task. Taking COLREGs into account is complicated, because these rules deal with two-ship encounter situations, while multi-ship encounters also need to be solved at sea and constitute a much more complex issue. Methods dealing with the application of COLREGs in ship safe trajectory planning algorithms include: • • • • •
if-then rules–based approach; vessels priority–based approach; ship domain shape and size modeling; COLREGs compliance evaluation implemented in the fitness function; rejection of solutions not fulfilling COLREGs.
One of the methods for including COLREGs in a ship safe trajectory planning algorithm is to incorporate the regulations in the form of if-then fuzzy rules as in [18]. Based upon these rules the collision risk is assessed and the system determines decisions, that need to be made in order to avoid a collision. These decisions are compliant with COLREGs. Such approach is capable of solving two-ship encounter situations. A multi-ship encounter situation, as presented in [19], is solved by determining a collision avoidance decision for two-ship encounter situations. After that a sequence of control actions and the time of their execution is determined with the use of a Bayesian network. A different method is based upon the vessels priority with regard to COLREGs. Such approach is proposed in [20]. Target ships are assigned a rank based on their COLREGs status and relative maneuverability. For a two-ship encounter the COLREGs priority is determined for every target ship. A target ship is grouped based on its relative position with respect to the heading of an own ship into one of the two groups: stand-on vessels or give-way vessel. In the trajectory planning algorithm a stand-on vessel has a higher priority than a give-way vessel. For multi-ship encounters vessels are first ranked based on their relative maneuverability. Larger or less maneuverable vessels have higher priority. After that they are ranked based upon their status under COLREGs. Another possibility of the COLREGs application in the trajectory planning algorithm is the implementation of the COLREGs compliance evaluation in the fitness function, as proposed in [21]. Such approach can be applied in algorithms using optimization methods based on the evaluation of candidate solutions with the use of a fitness function, such as genetic algorithms. In [21] the fitness function is composed of three parts, one of which relates to the evaluation of a candidate solution (a path of a ship) with regard to its compliance with COLREGs. For methods utilizing the concept of a ship domain, the COLREGs compliance of a ship safe trajectory can be achieved by appropriate modeling of the ship domain shape and size. Such approach was introduced in [22]. A hexagon domain proposed
42
2 Problem Definition
in this work has different sizes for good and for restricted visibility. The target ship domain should be large enough in order to ensure a proper distance between an own ship and a target ship and a maneuver fulfilling the rule 8b of COLREGs. Enlargement of a target ship domain in the bow direction will force passing of an own ship astern the target ship in a crossing situation, defined by rule 15. Extension of a starboard side of a target ship domain in a head-on situation will force an own ship to pass on the port side of the target ship, as stated in rule 14. A method based on the rejection of solutions not fulfilling COLREGs can also be applied in algorithms for ship safe trajectory planning. Such approach can be implemented in the algorithm as pre-processing or post-processing. In a pre-processing method the search space, representing the navigational environment in the vicinity of an own ship, is restricted in order to achieve a ship trajectory compliance with COLREGs. For example, in order to achieve passing of an own ship on the port side of the target ship in a head-on situation, a search space placed on the starboard side of the target ship is excluded. In a post-processing approach ship safe trajectories, calculated by an optimization algorithm at an earlier stage, are evaluated in regard to COLREGs and trajectories not fulfilling COLREGs are removed from the set of admissible solutions. Any of these trajectories will not be selected as a final solution.
References 1. Fossen, T.I.: Handbook of Marine Craft Hydrodynamics and Motion Control. A John Wiley & Sons, Ltd (2011). https://doi.org/10.1002/9781119994138 2. Fujii, Y., Tanaka, K.: Traffic capacity. J. Navig. 24(4), 543–552 (1971). https://doi.org/10.1017/ S0373463300022384 3. Goodwin, E.M.: A statistical study of ship domains. J. Navig. 28(3), 328–344 (1975). https:// doi.org/10.1017/S0373463300041230 4. Davis, P.V., Dove, M.J., Stockel, C.T.: A computer simulation of marine traffic using domains and arenas. J. Navig. 33(2), 215–222 (1980). https://doi.org/10.1017/S0373463300035220 5. Coldwell, T.G.: Marine traffic behaviour in restricted waters. J. Navig. 36(3), 430–444 (1983). https://doi.org/10.1017/S0373463300039783 6. Zhu, X., Xu, H., Lin, J.: Domain and its model based on neural networks. J. Navig. 54(1), 97–103 (2001). https://doi.org/10.1017/S0373463300001247 7. Hansen, M.G., Jensen, T.K., Lehn-Schiøler, T., Melchild, K., Rasmussen, F.M., Ennemark, F.: Empirical ship domain based on AIS data. J. Navig. 66(6), 931–940 (2013). https://doi.org/10. 1017/S0373463313000489 8. Szlapczynski, R., Szlapczynska, J.: Review of ship safety domains: models and applications. Ocean Eng. 145, 277–289 (2017). https://doi.org/10.1016/j.oceaneng.2017.09.020 9. Szlapczynski, R., Szlapczynska, J.: An analysis of domain-based ship collision risk parameters. Ocean Eng. 126, 47–56 (2016). https://doi.org/10.1016/j.oceaneng.2016.08.030 10. Szlapczynski, R.: A unified measure of collision risk derived from the concept of a ship domain. J. Navig. 59(3), 477–490 (2006). https://doi.org/10.1017/S0373463306003833 11. Riggs, R.F.: A modern collision avoidance display technique. J. Navig. 28(2), 143–155 (1975). https://doi.org/10.1017/S0373463300037681 12. Bole, A., Wall, A., Norris, A.: Radar and ARPA Manual. Elsevier Butterworth-Heineman (2014). https://doi.org/10.1016/C2010-0-68325-8
References
43
13. Lenart, A.S.: Collision threat parameters for a new radar display and plot technique. J. Navig. 36(3), 404–410 (1983). https://doi.org/10.1017/S0373463300039758 14. Liu, Qiao, Pedersen, E.: Direct perception of collision danger information for safe marine navigation. IEEE Int. Conf. Syst. Man Cybern. 4, 3898–3902 (2004). https://doi.org/10.1109/ ICSMC.2004.1400953 15. Liu, Qiao, Pedersen, E., Okazaki, T., Fukuto, J., Tanaka, K.: Direct perception interface for ship-ship collision avoidance. IEEE Int. Conf. Syst. Man Cybern. 1, 808–813 (2006). https:// doi.org/10.1109/ICSMC.2006.384487 16. Lisowski, J.: Sensitivity of safe game ship control on base information from ARPA radar. In: Kouemou, G. (ed.) Radar Technology, IntechOpen (2010). https://doi.org/10.5772/7174 17. Cockcroft, A.N., Lameijer, J.N.F.: A Guide to the Collision Avoidance Rules. Elsevier Ltd. (2012). https://doi.org/10.1016/C2010-0-68322-2 18. Perera, L.P., Carvalho, J.P., Guedes Soares, C.: Decision making system for the collision avoidance of marine vessel navigation based on COLREGs rules and regulations. In: 13th Congress of International Maritime Association of Mediterranean (IMAM 2009) (2009) 19. Perera, L.P., Carvalho, J.P., Guedes Soares, C.: Bayesian Network based sequential collision avoidance action execution for an Ocean Navigational System. IFAC Proc. 43(20), 266–271 (2010). https://doi.org/10.3182/20100915-3-DE-3008.00046 20. Tam, Ch., Bucknall, R.: Cooperative path planning algorithm for marine surface vessels. Ocean Eng. 57, 25–33 (2013). https://doi.org/10.1016/j.oceaneng.2012.09.003 21. Xiao-Ming, Zeng, Ito, M.: Planning a collision avoidance model for ship using genetic algorithm. IEEE Int. Conf. Syst. Man Cybern. 4, 2355–2360 (2001). https://doi.org/10.1109/ ICSMC.2001.972909 22. Smierzchalski, R.: Ships’ domains as collision risk at sea in the evolutionary method of trajectory planning. In: Saeed, K., Pejas, J. (eds.) Information Processing and Security Systems, pp. 411–422. Springer US, Boston, MA (2005). https://doi.org/10.1007/0-387-26325-X_37
Chapter 3
Methodology for Safe Trajectory Planning
3.1 Classification of Algorithms Path planning is a term commonly used in robotics. It is generally defined as a task of finding a path for a robot to move from the start to goal position.
In robotics two other similar terms related to planning are commonly used. These are motion planning and trajectory planning. Motion planning is defined as the process of determining the translations and rotations in order to achieve a mobile robot movement from one position to another. This process usually omits the robot dynamics.
An extension of this task is the trajectory planning. In this process the solution from the motion planning algorithm is taken as an input and the movement of the robot along the solution is calculated taking into account the mechanical limitations of the robot [1]. In the artificial intelligence domain, planning is understood as solving a problem in a discrete space. A finite set of actions is defined, which can be applied to a discrete set of states. After that an algorithm constructs a solution, determining a proper sequence of actions. Planning algorithms are developed in various fields of research such as artificial intelligence, game theory, robotics or marine engineering. In general, these
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3_3
45
46
3 Methodology for Safe Trajectory Planning
Table 3.1 Planning in different domains General Plan Artificial intelligence Game theory Marine engineering Robotics
Sequence of actions Strategy Path/trajectory/route Path/trajectory
Fig. 3.1 Path planning approaches
Decision maker Agent Player Marine craft/ship/vessel Player
Path planning
Global (off-line)
Local (on-line)
algorithms are aimed at finding a plan for one or more decision makers. In different domains specific terms are used in relation to this task, what is shown in Table 3.1. Figure 3.1 presents a division of path planning approaches. Path planning approaches are generally divided into global and local planners. A global planner finds an optimal path taking into account a priori knowledge of the environment and static obstacles (Fig. 3.2).
A local planner recalculates the global path in order to avoid dynamic obstacles (Fig. 3.3).
A similar division of path planning methods is the distinction into off-line and online algorithms. In robotics, off-line path planning is the process of planning a path before the start of the robot movement (action). Off-line path planning is sometimes used interchangeably with the term global path planning. In on-line path planning the path is replanned in real time during the robot movement based on the sensors information about the surrounding environment, so it can be regarded as local path planning. In marine engineering the term ship path planning is commonly used interchangeably with the ship trajectory planning, which is similar to on-line path planning in robotics. It takes into account both static and dynamic obstacles in the surrounding environment. Information about obstacles is acquired in real time from different navigational sensors.
3.1 Classification of Algorithms Fig. 3.2 Global planner
47
start and goal positions
global map (static obstacles)
Global planner global map
goal point optimal path
start point Fig. 3.3 Local planner
local map
sensors’ information
Local planner local map
goal point
start point
In marine engineering a different term also related with path planning is the weather routing. Weather routing algorithms calculate the most efficient path (route) taking into account meteorological and oceanographic data, as well as information concerning the ship hull and propulsion system.
The system utilizing weather routing algorithms is called the Voyage Planning System (VPS). The data taken into account in the weather routing system are listed in Table 3.2. The output data of the weather routing algorithm are waypoints with information on ship optimal speed and heading. Weather routing can be regarded as global or off-line path planning [2].
48 Table 3.2 Weather routing data
Fig. 3.4 Deterministic algorithm
3 Methodology for Safe Trajectory Planning Cargo condition, trim, draft and deck load Hurricanes and tropical weather models Interface to a satellite system transmitting weather data Link to Internet source for weather data Ocean currents models Sea state and wind wave models Surface analysis and forecast models Upper air models Vessel performance models
Deterministic algorithm accept or reject f(n)
Fig. 3.5 Non-deterministic algorithm
Non-deterministic algorithm
accept accept
? ?
accept ? reject ? f(n) reject ? ?
Both in robotics and marine engineering path planning algorithms are divided into deterministic and non-deterministic approaches. Deterministic algorithms (Fig. 3.4) follow a set of precisely defined steps in order to find the solution. Such operation principle guarantees to receive the same solution for every run of calculations with particular input data. Non-deterministic approaches (Fig. 3.5) use probability during the calculation process, therefore it is not obvious that for a given input every time the same output will be received. Other classification of algorithms is the division into exact methods and heuristics.
3.1 Classification of Algorithms
49
Exact algorithms always solve an optimization problem returning an optimal solution, but for large and/or complex optimization problems might return the worstcase solutions in an unacceptable amount of time. Heuristic algorithms search inside a subspace of the search space for an acceptable solution, which does not necessarily have to be an optimal solution. It can be a nearoptimal solution obtained with a relatively low computational time. The following methods are classified to this group: swarm intelligence, genetic algorithms, artificial neural networks, tabu search and simulated annealing. Algorithms belonging to both deterministic and non-deterministic methods will be presented in application to ship safe trajectory planning. Deterministic algorithms, such as the Trajectory Base Algorithm (TBA), the Discrete Artificial Potential Field (DAPF), the Wave-front Algorithm (WAFR), the Visibility Graph search Algorithm (VGA) and the Dynamic Programming (DP), will be described in Chap. 4. Nondeterministic methods, such as the Ant Colony Optimization (ACO) and the Evolutionary Algorithm (EA), will be presented in Chap. 5.
3.2 Algorithm Vital Features All path planning algorithms, irrespective of the application domain, use some common nomenclature, which will be introduced below. A state x of a system or an object defines every distinct situation of the system or the object.
It specifies what is happening with the system (object) at the moment, even if it is not subjected to any external influences, and how it may behave in the near future. The state can represent e.g. the position and orientation of a robot, the position and velocity of an aircraft or a marine craft. A state space X is the set of all possible states of a system or an object.
It is a space that covers all possible configurations of an object or a system. Discrete (finite or countably infinite) and continuous (uncountably infinite) state spaces are distinguished. An action u is an operation applied in order to change the state.
50
3 Methodology for Safe Trajectory Planning
An action is applied from the current state x in order to produce a new state x according to the state transition function f. A state transition equation defines this process as Eq. (3.1). x = f (x, u)
(3.1)
The set of all possible actions that could be applied over all states is defined as Eq. (3.2). U (x) (3.2) U= x∈X
Path planning is a problem of finding a path to a specified goal position (goal state) x G , starting from some initial state (initial position) x I . The task of a path planning algorithm is to find a finite sequence of actions, which will transform the initial state x I to the goal state x G . A criterion is used for the evaluation whether the executed states and actions lead to the achievement of an expected result.
The most important criteria in path planning are the path feasibility and optimality. A feasible path is a path that causes the arrival at the goal state x G , regardless of the path efficiency. An optimal path is a feasible path that, in addition to the arrival at the goal state x G , optimizes the performance in terms of e.g. the length of the path, the time of arrival at the goal position etc. In ship safe trajectory planning the following vital features of the algorithm can be distinguished: • • • • • •
safety (feasibility); efficiency (optimality); reliability; repeatability; near-real run time; simplicity.
In ship safe trajectory planning feasibility of the solution is evaluated based upon the safety of the calculated trajectory. Only a safe trajectory can constitute a feasible solution to this problem. A safe trajectory is a trajectory that enables an own ship safe passage between the given initial and final positions. An own ship movement along the calculated trajectory will not cause a collision with any of the static and dynamic obstacles present in the surrounding environment. The efficiency (optimality) of a solution in ship safe trajectory planning is most commonly evaluated with the use of the shortest path criterion. Other common criteria
3.2 Algorithm Vital Features
51
include the shortest time and the smallest course changes. Optimization criteria are described in details in Sect. 3.6. Reliability, next to feasibility and optimality, is another vital feature of path planning algorithms. An algorithm has to be reliable, which means that it always has to return a solution when such exists. It can not stuck in a loop or return a wrong (unsafe) solution. Reliability in ship safe trajectory planning can also be considered in terms of solution repeatability for every run of calculations with the same input data. It is unacceptable to receive a different trajectory for every run of the algorithm with a particular input. When using non-deterministic methods in the ship safe trajectory planning algorithm special attention should be paid to the achievement of the algorithm convergence. An applicable ship safe trajectory planning algorithm should also be characterized by near-real run time, preferably up to a few seconds. An algorithm suitable for the implementation in ship motion control systems should be characterized by simplicity, which will guarantee the achievement of near-real run time.
3.3 Calculation of Target Ship Relative Parameters Input data, described in Sect. 2.7, are used in order to calculate target ship relative parameters in relation to an own ship. These parameters include: • a relative course r j ; • a relative bearing Nr j ; • a relative speed Vr j of j-th target ship. Equation (3.3) expresses the speed of an own ship, Eq. (3.4) defines the speed of j-th target ship and Eq. (3.5) formulates the relative speed of j-th target ship in relation to an own ship, where the coordinates of ships positions are denoted by x and y. Therefore Vx , expressed by Eq. (3.7), and Vy , expressed by Eq. (3.8), are the components of the own ship speed V . V j x and V j y are the components of jth target ship speed V j . Vr j x , expressed by Eq. (3.9), and Vr j y , expressed by Eq. (3.10), are the components of jth target ship relative speed Vr j . Equation (3.6) can be applied in order to calculate the relative speed of jth target ship Vr j . Equation (3.11) expresses the relative course of jth target ship r j , where is the course of an own ship. V = Vx 2 + Vy 2 (3.3) Vj = Vr j =
Vjx 2 + Vjy2
(3.4)
Vr j x 2 + Vr j y 2
(3.5)
Vr j = V j − V
(3.6)
52
3 Methodology for Safe Trajectory Planning
Vx = V cos
(3.7)
Vy = V sin
(3.8)
Vr j x = V j x − Vx = V j x − V cos
(3.9)
Vr j y = V j y − Vy = V j y − V sin
(3.10)
r j = arctan
Vr j y − Vr j x
(3.11)
3.4 Determination of Dangerous Target A dangerous target ship is a target ship that imposes the risk of collision with an own ship in the current encounter situation. Determination of a dangerous target or targets is one of the most important procedures applied in ship safe trajectory planning algorithms. It is of vital importance to take into account all of the dangerous target ships and omit target ships, that e.g. were detected by the radar, but are too far away to impose a risk. Taking into account all of the target ships tracked by the ARPA could cause an unacceptable extension of the calculation time and/or unnecessary complexity of a solution. At the same time omission of target ships, that do not impose a direct threat, may cause the calculation of a solution, which will impose the collision risk with a neglected target in a near future. Some algorithms calculate an own ship trajectory taking into account only the most dangerous target ship based on the collision risk assessed for all of the detected target ships. After that, the calculated trajectory is evaluated, if it does not cause the risk of collision with other target ships moving in the vicinity. Such approach might not be very effective, as the solution must be recalculated, checking if the risk of collision with other, so far not taken into account target ships, will be imposed by following this new trajectory. This consideration shows, how essential is to properly include detected target ships in the algorithm operation. The following methods of dangerous target ships determination can be distinguished: • a method based upon the Distance at the Closest Point of Approach (DCPA) and the Time to the Closest Point of Approach (TCPA) as in the Automatic Radar Plotting Aid; • a method based on the Predicted Point of Collision (PPC).
3.4 Determination of Dangerous Target
53
3.4.1 DCPA and TCPA Method The first method applies the DCPA and the TCPA measures in order to evaluate the collision risk imposed by a particular target ship. In this approach the DCPA and the TCPA for every target ship are calculated and evaluated, whether they exceed defined safe values Ds and Ts , as shown in Eqs. (3.12) and (3.13). DC P A j = min(D j (t)) > Ds
(3.12)
T C P A j = min(T j (t)) > Ts
(3.13)
When the target ship TCPA is equal to 0, it means that the CPA has been reached by that vessel. When the target ship TCPA is greater than 0, it means that the distance between that ship and an own ship decreases and the CPA is still ahead of the target ship. When the target ship TCPA is less than 0, it means that this target ship has passed the CPA and the distance between the two ships increases. Based on the calculated values of the CPA and the TCPA it is possible to specify, whether a target ship imposes the risk of collision, e.g., when the values exceed the defined limits (Ds , Ts ), similarly as in the ARPA dangerous target alarm (described in Sect. 1.4.1).
3.4.2 PPC Method The second approach is based on the Predicted Point of Collision (PPC) measure. As mentioned in Sect. 2.4.3 the PPC is a point toward which an own ship should steer, maintaining actual speed, in order to collide with a target ship. In this method a dangerous target ship is defined as a target ship, whose course intersects with the course of an own ship. When a target ship is classified as a dangerous target, an own ship distance from the point of trajectories intersection is calculated. Next step is the calculation of the time, which has to last in order for an own ship to reach the point of trajectories intersection. After that, the position of a target ship at the moment, when an own ship will get to the point of trajectories intersection, is calculated. This target ship position is then evaluated. It is assessed, whether this target ship position is inside or outside the area of observation. On this basis the algorithm determines, whether this target ship should be considered in further calculations. When the target ship position is outside the assumed observation range, e.g. an area from the current own ship position to the final waypoint in front of the bow of an own ship and a distance of at least 5 nautical miles to the left and right side of an own ship, it does not impose the risk of collision in the current own ship state.
54
3 Methodology for Safe Trajectory Planning
3.5 Target Ship Domain Violation Check Static obstacles consideration in a ship safe trajectory planning algorithm is a relatively easy task, when their position is already known. Consideration of dynamic obstacles is a much more complex issue, as they change their position in time. A different approach, in comparison to taking static obstacles into account, has to be applied in this case. When ship domains are applied around target ships in order to assure a proper safe distance during collision avoidance maneuver of an own ship, a need for the application of a target ship domain violation check procedure appears. Target ship domain violation can be checked at different stages of the algorithm operation and using various methods. Among possible methods of target ship domain violation verification the following approaches can be distinguished: • dynamic obstacles placement in the modeled navigational environment; • Trajectory Optimization Algorithm (TOA – details in Sect. 3.7.1); • evaluation of a trajectory with an own ship dynamic properties. At the stage of dynamic obstacles placement in the modeled navigational environment, target ships domains are situated in positions resulting from their assumed constant courses and speeds and their initial positions in relation to an own ship. As explained in the section above, the point of trajectories intersection is calculated for every pair of ships composed of an own ship and one of the target ships. After that, the position of a target ship is calculated for the moment, in which an own ship will reach this point, considering constant motion parameters of the ships. A target ship domain is then placed in the calculated position and further operations are performed, depending on applied algorithm. In graph algorithms waypoints (cells) that are placed inside target ship domains, are removed from the set of admissible positions of an own ship. Alternatively, they are marked as cells (waypoints) occupied by obstacles. This can be done by applying a proper weight to that cell, e.g. equal to infinity. Such mechanism assures their exclusion during solution construction stage of the algorithm operation. This target ship domain violation check is based on the application of a procedure, which verifies if that particular waypoint is placed inside or outside the considered target ship domain. At the stage of the Trajectory Optimization Algorithm (TOA), described in more details in Sect. 3.7.1, target ships domains are placed considering the point of trajectories intersection and constant motion parameters. In the TOA target ship domain violation check is based on the verification of two line segments intersection. One belongs to an own ship safe trajectory, the other constituting an edge of a target ship domain, when the ship domain is modeled as a hexagon. An intersection between a line segment and a circle or other shape, e.g. an ellipse can also by applied, depending on applied ship domain shape.
3.5 Target Ship Domain Violation Check
55
A different target ship domain violation check procedure can be applied at the stage of the trajectory evaluation, taking into account the dynamics of an own ship. In this case, applied procedure is similar to that used in the ARPA during the execution of a trial maneuver function, described in Sect. 1.4.2. In this procedure an own ship trajectory is divided into a number of steps (waypoints) and then it is assessed in the following steps. During the evaluation an own ship is placed in the consecutive waypoints. At the same time, target ship domains are placed in positions, resulting from their motion parameters, considering their constant courses and speeds. Then, a target ship domain violation check procedure is applied, verifying whether the current own ship position violates any of target ships domains. In this procedure the dynamic properties of an own ship are applied during the vessel movement along the calculated trajectory.
3.6 Optimization Criteria The main task of the ship safe trajectory planning algorithm is to find a feasible trajectory for an own ship in a collision situation at sea. The most important objective is to fulfill the safety criterion. A feasible trajectory is a collision-free path, for which an own ship movement along the path does not cause a collision with any of static and dynamic obstacles. Assurance of a safe distance from obstacles is achieved by keeping values of the DCPA and the TCPA larger than the predefined safe values (more details in Sect. 2.4.2) or using a ship domain (as described in Sect. 2.4.1). Further requirements include optimization criteria, which are applied in order to evaluate a trajectory in terms of its effectiveness. The ship safe trajectory planning problem can be regarded as an optimization problem. In general, the optimization problem can be expressed as a task to minimize (or maximize) f (x) subject to gi (x) min_ path_wpts do Join i and i + 2 ( p1 with p2 ); for ob ← 1 to ob ≤ ob_num do for j ← 1 to j ≤ j_max do Join j and j + 1 ( p3 with p4 ); if ( p1 , p2 ) intersects ( p3 , p4 ) then Connect ← 0; break; end end if Connect = 0 then break; end end if Connect = 1 then Join p1 and p2 ; else Do not join p1 and p2 ; end i ← i + 1; end Algorithm 1: Trajectory Optimization Algorithm pseudo-code
3.8 Calculation of Output Data Data that should be calculated by the ship safe trajectory planning algorithm are: • path length (path distance); • transition time; • required course alterations and the time of their execution or speed reduction maneuvers, when course alterations do not solve a collision situation; • graphical presentation of a solution. Graphical presentation should be integrated into the currently used navigational aids such as the radar/ARPA display or the ECDIS display and should be similar to that applied in the trial maneuver function of the ARPA, using the same standard of information presentation. More information on display possibilities using the radar/ARPA displays, e.g. concerning types of radar image orientations such as course up, head up and north up orientations, can be found in [6].
3.9 Speed Reduction
59
3.9 Speed Reduction Collision avoidance algorithms calculate a safe path for a ship, which is composed of course alteration maneuvers. In some encounter situations, solely changing the course might not lead to a safe situation. In such cases it might be necessary to reduce the vessel speed in order to avoid a collision.
Initalization
Termination condition met?
Yes
No
Time < Max_time?
No
Yes Solution construction
Solution found?
No
Speed reduction
Solution found?
No
Lack of solution Yes Yes
Fig. 3.7 A flowchart of a collision avoidance algorithm with speed reduction
60
3 Methodology for Safe Trajectory Planning
Rule 8 of COLREGs defines the type of action that should be taken in order to avoid a collision [6, 7]. According to this rule an alteration of course and/or speed is admissible. The most important requirement is the clarity of an action. The maneuver should be large enough in order to be easily noticed by encountered vessels. It is recommended to avoid small changes of course and/or speed. The maneuver should be made in ample time and should result in passing encountered ships at a safe distance Ds (Sect. 2.4.2). Rule 8c recommends a course alteration alone as a priority action to be taken, when there is enough space and time. Rule 8e supplements that, if it is necessary to avoid a collision, or more time is needed in order to assess the current situation, it is permissible for a vessel to slow down or even stop. Analysis of these rules enables to state that COLREGs allow for a speed alteration as a collision avoidance maneuver. It should however be underlined, that the course alteration is prioritized over the speed alteration. COLREGs do not specify, how the speed should be altered. The increase of speed is not forbidden, but the rules recommend the speed reduction (rule 8e). The necessity of the speed reduction maneuver in situations, when the course alteration is not possible or does not lead to collision avoidance, enforces the need to apply a speed reduction mechanism in ship collision avoidance algorithms. Figure 3.7 presents a flowchart of a collision avoidance and safe path planning algorithm with a speed reduction mechanism. The speed reduction mechanism is applied, when the algorithm termination condition has been fulfilled, e.g. the maximum number of iterations, but a solution composed of course alterations has not been found. Alternatively, it is applied, when the maximum time of calculations has been reached, e.g. 60 seconds, and a solution has not been found. The speed reduction mechanism applies an own ship speed reduction, e.g. by 30% of the current speed and checks the effects of such maneuver. When it does not lead to a collision with any of the encountered ships, solution has been found and can be presented to the operator. The vessel dynamic characteristics with regard to speed reduction should also be taken into account. In Table 3.3 the engine telegraph orders and related speeds
Table 3.3 Engine Order/RPM/Speed table for a VLCC Engine order RPM Speed loaded condition Full sea speed Full ahead Half ahead Slow ahead Dead slow aahead Dead slow astern Slow astern Half astern Full astern
79 66 53 40 24 24 40 53 60
16.42 13.60 10.90 8.05 4.35
Speed ballast condition 17.91 15.30 12.35 9.25 4.82
3.9 Speed Reduction
61
Table 3.4 Time and distance to stop for a VLCC Ship speed Ballast condition Ballast condition time to stop distance to stop Full sea speed Half speed
16 min 37 s 14 min 31 s
2.55 NM 1.85 NM
Loaded condition Loaded condition time to stop distance to stop 19 min 39 s 19 min 32 s
2.58 NM 2.39 NM
in loaded and ballast conditions are shown for a tanker (Very Large Crude Carrier— VLCC) with a length overall of 334.071 m [8]. Table 3.4 presents the time and distance needed to stop the same vessel from full speed and half speed in loaded and ballast conditions [8]. Examples of speed reduction mechanisms applied in collision avoidance and safe path planning algorithms for ships can be found in [9, 10].
References 1. LaValle, S.M.: Planning Algorithms. Cambridge University Press, Cambridge (2006). https:// doi.org/10.1017/CBO9780511546877 2. Fossen, T.I.: Handbook of Marine Craft Hydrodynamics and Motion Control. Wiley, New York (2011). https://doi.org/10.1002/9781119994138 3. Liu, Y., Bucknall, R.: Path planning algorithm for unmanned surface vehicle formations in a practical maritime environment. Ocean Eng. 97, 126–144 (2015). https://doi.org/10.1016/j. oceaneng.2015.01.008 4. Szlapczynska, J., Szlapczynski, R.: Preference-based evolutionary multi-objective optimization in ship weather routing. Appl. Soft Comput. 84, 105742 (2019). https://doi.org/10.1016/j.asoc. 2019.105742 5. Goldberg, D.E.: Genetic Algorithms in Search, Optimization, and Machine Learning. AddisonWesley, New York (1989) 6. Bole, A., Wall, A., Norris, A.: Radar and ARPA Manual. Elsevier Butterworth-Heineman (2014). https://doi.org/10.1016/C2010-0-68325-8 7. Cockcroft, A.N., Lameijer, J.N.F.: A Guide to the Collision Avoidance Rules. Elsevier Ltd (2012). https://doi.org/10.1016/C2010-0-68322-2 8. BP Shipping Ltd. (United Kingdom) (2001) Bridge Systems and Equipment Operating Manual 9. Szlapczynski, R.: Evolutionary sets of safe ship trajectories with speed reduction manoeuvres within traffic separation schemes. Pol. Marit. Res. 21(1), 20–27 (2014). https://doi.org/10.2478/ pomr-2014-0004 10. Lazarowska, A.: Safe ship trajectory planning based on the ant algorithm–the development of the method. In: Weintrit, A. (ed.) Activities in Navigation. Marine Navigation and Safety of Sea Transportation, 1st edn., pp. 153–160. CRC Press, London (2015). https://doi.org/10.1201/ b18513
Part II
Safe Trajectory Planning Algorithms
Chapter 4
Deterministic Algorithms
4.1 Trajectory Base Algorithm In the Trajectory Base Algorithm (TBA), as the name of the method suggests, the main component is a set of trajectories stored in a database. These trajectories constitute candidate solutions and are used by the path planning algorithm to find a safe, optimized path for a ship in a collision situation. The main assumptions of this algorithm are: • • • • •
an own ship is regarded as a point moving at a fixed speed; motion parameters of target ships are constant; return to a predefined final waypoint is assumed; kinematic model of ship motion is applied; own ship dynamic properties during maneuver are applied with the use of the maneuver time—Sect. 2.6; • target ships are modeled with the use of a ship domain; • static obstacles are modeled as polygons; • the best collision-free trajectory is a safe trajectory characterized by the minimal path length.
4.1.1 Rules for Generation of Trajectories Candidate trajectories are stored in a database, sorted according to the increasing value of their length. Such approach is further utilized by the algorithm in order to return a solution in a shorter time. Trajectories are evaluated in the same order as they are sorted in the database. Therefore the first collision-free trajectory found by the algorithm at the same time constitutes the best solution, so further calculations can be terminated. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3_4
65
66
4 Deterministic Algorithms
Fig. 4.1 Rule I
Stored trajectories are generated with the use of a set of rules. They include simple paths, composed of two line segments and executing one course alteration maneuver, as well as more complex trajectories composed of a few line segments and executing a few maneuvers. Figure 4.1 shows trajectories generated with the use of exemplary rules. Algorithm 2 presents a code for generation of trajectories with the use of an exemplary rule. Program Code Input: x, y, n and m Output: path for j ← 2 to j ≤ n do for k ← 1 to k ≤ m do path(i) ← [(x, y), (x + k, j), (x, y + n)]; i ← i + 1; end end Algorithm 2: Pseudo-code of rule I for generation of trajectories
4.1 Trajectory Base Algorithm
67
Program Code Input: , V , j , V j , D j , N j and positions_o f _static_obstacles Output: path, path_length, transition_time and for t ← 1 to t ≤ t_max do candidate_ path ← path(t); Divide candidate_ path into k steps for step ← 1 to step ≤ k do Collision check procedure; if collision = T RU E then Reject candidate_ path; break; end end if collision = F AL S E then break; end end if collision = F AL S E then solution_ f ound; else lack_o f _solution; end Algorithm 3: Trajectory Base Algorithm pseudo-code
4.1.2 Evaluation of Trajectories A general concept of the Trajectory Base Algorithm is presented in Fig. 4.2. The TBA operation principle (Algorithm 3) is based on the evaluation of candidate solutions stored in a database. Static obstacles are approximated by polygons. Target ships are
Ψ, V, Ψj, Vj, Nj, Dj, static obstacles Trajectory Base Algorithm feasible optimal trajectory s* Fig. 4.2 A general diagram of trajectory base algorithm
Base of trajectories S
68
4 Deterministic Algorithms
modeled with the use of ship domains. Trajectories are evaluated using one of target ship domain violation check procedures described in Sect. 3.5. This is the method based on the evaluation of a trajectory with own ship dynamic properties. A candidate trajectory is divided into a number of steps. After that in every step an own ship is moved into a new instantaneous position according to the carried out division. Also target ships domains are placed in temporary positions resulting from their constant motion parameters. Then, the algorithm evaluates, whether the current position of an own ship does not intersect any of static obstacles and any of target ships domains. When any of instantaneous positions of an own ship does not cause an intersection with static and/or dynamic obstacles, then the algorithm terminates and the currently evaluated trajectory becomes the final best solution found.
4.1.3 Solutions Compliance with COLREGs The compliance of solutions with the COLREGs is enforced by a proper shape and size of applied ship domain as described in details in Sect. 2.9.
4.2 Discrete Artificial Potential Field 4.2.1 Background of the Algorithm The Discrete Artificial Potential Field algorithm (DAPF) is inspired by the artificial potential field method introduced by Khatib [1]. The concept of an artificial potential field for mobile robots application can be expressed as follows. A mobile robot moves in a field of forces from its current position to a goal position. Around a goal position an attractive potential force is applied, which is aimed at pulling the robot towards this position. At the same time a repulsive potential force is applied around obstacles in order to push the robot away from their positions. The total potential can be expressed by Eq. (4.1), where Ut (q) is the total potential, Ur (q) is the repulsive potential of the obstacles region and Ua (q) is the attractive potential around the goal position. The total force f t (q) is expressed by Eq. (4.2), and is composed of an attractive force f a (q) and the resultant repulsive force of all obstacles regions fr,i (q). Ut (q) = Ua (q) + Ur (q) f t (q) = −∇Ut (q) = f a (q) +
p
(4.1) fr,i (q)
(4.2)
i=1
A general concept of the Artificial Potential Field method is presented in Fig. 4.3.
4.2 Discrete Artificial Potential Field
69
obstacle
goal position
Fig. 4.3 A general concept of artificial potential field algorithm
4.2.2 Assumptions The main assumptions of this algorithm are: • • • • •
an own ship is regarded as a point moving at a fixed speed; motion parameters of target ships are constant; return to a predefined final waypoint is assumed; kinematic model of ship motion is applied; own ship dynamic properties during maneuver are applied with the use of the maneuver time—Sect. 2.6; • environment is represented as a graph; • obstacles are applied on the graph with the use of a cell decomposition method; • the best collision-free trajectory is a safe trajectory characterized by the minimal path length.
4.2.3 Navigational Environment Modeling The model of the environment is a grid-based two-dimensional configuration space C composed of n x m cells, where n is the number of horizontal cells (rows) and m is the number of vertical cells (columns). The space C is composed of the obstacles region Cobs and the free space C f r ee as expressed by Eq. (4.3). C = C f r ee ∪ Cobs
(4.3)
70
4 Deterministic Algorithms
The model of the environment composed of empty (free) cells and occupied (obstacle) cells is obtained with the use of an approximate cell decomposition method [2]. In this approach the configuration space C is divided into a number of rectangles of the same size, called cells. After that every cell is evaluated, whether it constitutes an empty cell, mixed cell or full cell. An empty cell is a cell not violated by obstacles, a mixed cell is a cell partially occupied by obstacles and partially free and a full cell is a cell completely occupied by an obstacle. In the DAPF approach a conservative approximation is applied, where all mixed cells are classified as full (occupied) cells.
4.2.4 Consideration of Obstacles In the Discrete Artificial Potential Field algorithm all of the cells in the configuration space C have assigned potentials (weights) in order to direct the search algorithm towards the goal position (final waypoint) and repel it from obstacles. Similar approach is also applied in the wave-front expansion algorithm, described in Sect. 4.3. The difference is in the weights assignment. In the DAPF every cell, except from cells occupied by obstacles, has an unique weight. In the Wave-Front algorithm cells that are equally distant from the final waypoint have the same weight assigned. The rules for the assignment of weights (potentials) to different cells in the DAPF are as follows: • • • •
the goal cell (final waypoint) G has a value equal to 0; cells occupied by obstacles have a value equal to infinity; the start cell S (the current position of an own ship) has a value equal to (n-1) · 10; other free cells have values according to Eqs. (4.4), (4.5) and (4.6), where x and y are the cell coordinates. (c00 − 10 ∗ y) (c0y + x) (c0y − x + 0.5)
x =0, 0≤ y ≤n−1
if
if 1 ≤ x ≤ if
m−1 2
−m − 1 ≤ x ≤ −1 2
(4.4) (4.5) (4.6)
The assignment of infinity to the cells occupied by obstacles causes that during solution construction phase these cells are skipped by the algorithm. Static obstacles modeled as polygons are placed in the configuration space and approximate cell decomposition is applied in order to assign proper weights to free and occupied cells. From all of the detected target ships, dangerous dynamic obstacles are first determined, with the use of the Predicted Point of Collision (PPC) method, described in Sect. 3.4.2. After dangerous target ships have been determined, the moment of
4.2 Discrete Artificial Potential Field
71
time, in which an own ship will reach the point of trajectories intersection, has to be calculated. Then, the position of target ship in this moment of time is determined. The target ship domain is placed in this position and with the use of the approximate cell decomposition empty and occupied cells are determined for that target ship. This procedure is repeated for all dangerous target ships.
4.2.5 Solution Construction The DAPF algorithm can be applied using the 8-connected grid (the Moore neighborhood), as shown in Fig. 4.4 or the 4-connected grid (the von Neumann neighborhood), as presented in Fig. 4.5, however the choice of the 8-connected grid might be more favorable. Using this type of neighborhood will lead to the achievement of shorter paths after trajectory optimization, at the expense of a slightly longer run time of the algorithm. Without optimization the application of the 4-connected grid will return slightly shorter paths, than with the use of the 8-connected grid, but for ship collision avoidance the trajectory optimization procedure is necessary in order to achieve feasible trajectories. Figure 4.7 presents the cells assignment applied in the DAPF algorithm.
Fig. 4.4 Moore neighborhood
Moore neighborhood X-1, X+1, X,Y+1 Y+1 Y+1 X-1,Y X,Y X+1,Y
X-1, X+1, X,Y-1 Y-1 Y-1 Fig. 4.5 Von Neumann neighborhood
Von Neumann neighborhood X,Y+1 X-1,Y X,Y X+1,Y
X,Y-1
72
4 Deterministic Algorithms
Fig. 4.6 A general diagram of discrete artificial potential field algorithm
Ψ, V, Ψj, Vj, Nj, Dj, static obstacles Discrete Artificial Potential Field feasible trajectory s Trajectory Optimization Algorithm feasible optimal trajectory s*
A general diagram of the Discrete Artificial Potential Field algorithm is presented in Fig. 4.6. The algorithm begins from the start cell S (the current own ship position). In every step the next cell with the lowest potential is selected from the neighboring cells. Applying the Moore neighborhood, the next cell is chosen from 8 neighboring cells. Due to the fact that every cell, except from the cells occupied by obstacles, has a unique value of its potential, no additional mechanism for choosing the next cell is needed. The selected cell becomes the current cell. Its potential is changed into infinity in order to prevent the algorithm from the generation of loops in the path. This process is terminated, when the goal cell G has been reached. The DAPF pseudo-code is given as Algorithm 4. Program Code Input: n, m, S, G, positions_o f _obstacles and path(0) ← S Output: path while curr ent_cell = G do pos ← min(weight (neighbouring_cells)); next_cell ← neighbouring_cell( pos); path ← [ path; next_cell]; weight (next_cell) ← ∞; curr ent_cell ← next_cell; end Algorithm 4: Pseudo-code of Discrete Artificial Potential Field algorithm
4.2 Discrete Artificial Potential Field
73
C-69 C-59 C-49 C-39 C-29 C-19 C09 C19 C29 C39 C49 C59 C69 C-68 C-58 C-48 C-38 C-28 C-18 C08 C18 C28 C38 C48 C58 C68
C-67 C-57 C-47 C-37 C-27 C-17 C07 C17 C27 C37 C47 C57 C67 C-66 C-56 C-46 C-36 C-26 C-16 C06 C16 C26 C36 C46 C56 C66 C-65 C-55 C-45 C-35 C-25 C-15 C05 C15 C25 C35 C45 C55 C65
C-64 C-54 C-44 C-34 C-24 C-14 C04 C14 C24 C34 C44 C54 C64 C-63 C-53 C-43 C-33 C-23 C-13 C03 C13 C23 C33 C43 C53 C63 C-62 C-52 C-42 C-32 C-22 C-12 C02 C12 C22 C32 C42 C52 C62 C-61 C-51 C-41 C-31 C-21 C-11 C01 C11 C21 C31 C41 C51 C61
C-60 C-50 C-40 C-30 C-20 C-10 C00 C10 C20 C30 C40 C50 C60 Fig. 4.7 Cells assignment in discrete artificial potential field algorithm
4.2.6 Solutions Compliance with COLREGs The compliance of solutions with the COLREGs is achieved by the application of a proper shape and size of a ship domain around positions of target ships, as described in Sect. 2.9. Besides that, the COLREGs fulfillment is also enforced by an appropriate assignment of potentials to the cells. As shown in Fig. 4.8 cells on the starboard side of an own ship are assigned with lower weights than the cells on the port side of an own ship. Such approach enforces fulfillment of rule 15 of COLREGs.
4.2.7 Trajectory Optimization The collision-free trajectory calculated by the DAPF algorithm alone does not constitute the shortest possible path, as shown in Fig. 4.8. Due to that an additional Trajectory Optimization Algorithm (TOA) should be applied in order to obtain an optimized final solution. The TOA is described in details in Sect. 3.7.1. Figure 4.9 presents an optimized trajectory (solid line) obtained by the application of the TOA to the path returned by the DAPF.
74
4 Deterministic Algorithms 6.5
5.5
4.5
3.5
2.5
1.5
0
G
16.5 15.5 14.5 13.5 12.5 11.5
10
26.5 25.5 24.5 23.5 22.5 21.5
20
36.5 35.5 34.5 33.5 32.5 31.5
30
46.5 45.5 44.5 43.5 42.5 41.5
40
∞ ∞ ∞ ∞ ∞ ∞ ∞
56.5 55.5
66.5 76.5 86.5
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
96.5 95.5 94.5 93.5 92.5 91.5
∞ ∞ ∞ ∞ 90
S
1
2
3
4
∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 41 ∞ ∞ ∞
5
6
∞ 16 ∞ ∞ ∞ ∞ ∞ ∞
51
52
53
54
55
56
61
62
63
64
65
66
71
72
73
74
75
76
81
82
83
84
85
86
91
92
93
94
95
96
Fig. 4.8 Potentials assignment and collision-free trajectory generated by Discrete Artificial Potential Field algorithm 6.5
5.5
4.5
3.5
2.5
1.5
0
G
16.5 15.5 14.5 13.5 12.5 11.5
10
26.5 25.5 24.5 23.5 22.5 21.5
20
36.5 35.5 34.5 33.5 32.5 31.5
30
46.5 45.5 44.5 43.5 42.5 41.5
40
∞ ∞ ∞ ∞ ∞ ∞ ∞
56.5 55.5
66.5 76.5 86.5
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
96.5 95.5 94.5 93.5 92.5 91.5
∞ ∞ ∞ ∞ 90
S
1
2
3
4
∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 41 ∞ ∞ ∞
5
6
∞ 16 ∞ ∞ ∞ ∞ ∞ ∞
51
52
53
54
55
56
61
62
63
64
65
66
71
72
73
74
75
76
81
82
83
84
85
86
91
92
93
94
95
96
Fig. 4.9 Trajectory generated by trajectory optimization algorithm based upon solution from discrete artificial potential field algorithm
4.3 Wave-Front Algorithm
75
4.3 Wave-Front Algorithm 4.3.1 Background of the Algorithm The Wave-Front algorithm (WAFR) [3, 4], also known as the wave-front expansion algorithm is a grid-based method. This approach is similar to the Discrete Artificial Potential Field algorithm (DAPF). The main difference is the weights assignment to particular cells, representing the navigational environment. The name of the algorithm comes from the weights assignment procedure. A general concept of the Wave-Front algorithm is presented in Fig. 4.10. In the Wave-Front algorithm a wave propagates from the goal cell G to the start cell S, assigning a weight to each cell met on its way. A weight equal to 0 is assigned to the goal cell. After that a weight equal to 1 is assigned to all cells adjacent to the goal cell, according to the applied neighborhood. In the next step all neighboring cells of cells with weights equal to 1, are labeled with a weight equal to 2. This process continues until the start cell is reached by the wave. Cells occupied by obstacles are excluded from this weights assignment procedure or are assigned with a specific value e.g. equal to infinity. An example of an environment with weights assigned by the Wave-Front algorithm is shown in Fig. 4.11.
4.3.2 Assumptions The main assumptions of this algorithm are: • an own ship is regarded as a point moving at a fixed speed; • motion parameters of target ships are constant;
goal position
waves
wavefront wavefront Fig. 4.10 A general concept of wave-front algorithm
76
4 Deterministic Algorithms 0
6
5
4
3
2
1
G
7
6
5
4
3
2
1
8
7
6
5
4
3
2
9
8
7
6
5
4
3
10
9
8
7
6
5
4
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
∞ ∞ ∞ ∞
12
11
10
S
11
12 13 14
15
∞ ∞ ∞ ∞ ∞ ∞ ∞ 10
14
13
9
1
2
3
4
∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 5 ∞ ∞ ∞
5
6
∞ 7 ∞ ∞ ∞ ∞ ∞ ∞
6
7
8
9
10
11
7
8
9
10
11
12
8
9
10
11
12
13
9
10
11
12
13
14
10
11
12
13
14
15
Fig. 4.11 Weights assignment (Von Neumann neighborhood) and collision-free trajectory generated by wave-front algorithm
• return to a predefined final waypoint is assumed; • kinematic model of ship motion is applied; • own ship dynamic properties during maneuver are applied with the use of the maneuver time—Sect. 2.6; • environment is represented as a graph; • obstacles are applied on the graph with the use of a cell decomposition method; • weights are assigned with the use of a wave propagated from the goal cell to the start cell; • next cells are chosen beginning from the start cell according to the decreasing values of weights; • the best collision-free trajectory is a safe trajectory characterized by the minimal path length.
4.3.3 Consideration of Obstacles The model of the environment is a grid-based two-dimensional configuration space as described in Sect. 4.2.3. The rules for the assignment of weights to different cells in the WAFR are as follows:
4.3 Wave-Front Algorithm
• • • • •
77
the goal cell (final waypoint) G has a value equal to 0; cells occupied by obstacles have a value equal to infinity; neighboring cells of the goal cell have a value equal to 1; neighboring cells of cells with weights equal to 1 have a value equal to 2; other free cells have values according to the propagated wave from the goal cell to the start cell.
Cells occupied by obstacles are assigned in the same way as in the DAPF described in Sect. 4.2.4.
4.3.4 Solution Construction A general diagram of the Wave-Front algorithm is presented in Fig. 4.12. Solution construction in the WAFR is carried out in a similar manner as in the DAPF. Beginning from the start cell S, which constitutes the initial own ship position, in every step a cell with the lowest weight is chosen from the neighboring cells. This cell becomes the next cell. It is also possible to perform the search process in the opposite direction— from the goal cell G to the start cell S. In this case in consecutive steps cells with the highest values of their weights would be selected. Due to the fact that some of the neighboring cells can have the same weights assigned, an additional mechanism has to be applied for the next cell selection process. It is also possible to skip this process and choose the next cell randomly from the neighboring cells with the same weight. However, this random behavior might be unfavorable for the algorithms operation. It may cause reception of different solutions for the same input data—the loss of the algorithm repeatability. The weights of already visited cells are changed into infinity in order to prevent the algorithm from the creation of loops in the path and eventually from getting stuck.
Fig. 4.12 A general diagram of wave-front algorithm
Ψ, V, Ψj, Vj, Nj, Dj, static obstacles Wave-Front algorithm feasible trajectory s Trajectory Optimization Algorithm feasible optimal trajectory s*
78
4 Deterministic Algorithms
4.3.5 Solutions Compliance with COLREGs The COLREGs fulfillment is achieved by the application of a proper shape and size of a ship domain around positions of target ships, as described in Sect. 2.9. Besides that, the COLREGs compliance of a solution is also imposed by a proper assignment of priority to the neighboring cells. This feature of the algorithm is applied, when a few neighboring cells with the same weights are considered as the next cell. The priority marking has to favor starboard side maneuvers over port side maneuvers.
4.3.6 Trajectory Optimization The safe trajectory calculated by the WAFR does not constitute the shortest possible path, due to the use of a grid-based approach. Therefore the Trajectory Optimization Algorithm (TOA), specified in Sect. 3.7.1, is also applied in this approach in order to achieve an optimized path.
4.4 Visibility Graph Search Algorithm 4.4.1 Background of the Algorithm The Visibility Graph search Algorithm (VGA), as the name suggests, is a graphbased method. In this approach a configuration space C is defined with the use of a visibility graph. The visibility graph G v (V, E) is composed of vertices and edges. Vertices belong to obstacles from the set of obstacles Cobs together with the start S and goal G positions of an own ship. Edges connect the vertices, which do not intersect the interior of any obstacles. In order to construct the visibility graph in an optimized way a rotational plane sweep algorithm can be applied [5–7]. Equation (4.7) defines the set S, for which the visibility graph G v is constructed. S = Cobs ∪ {S, G}
(4.7)
After the construction of the visibility graph for the current navigational situation, the shortest path search algorithm is applied in order to calculate an own ship safe trajectory. The Dijkstra’s and the A∗ algorithms are examples of such methods. A general diagram of the Visibility Graph search Algorithm for ship safe trajectory planning is presented in Fig. 4.13.
4.4 Visibility Graph Search Algorithm
79
Ψ, V, Ψj, Vj, Nj, Dj, static obstacles
Fig. 4.13 A general diagram of Visibility Graph search Algorithm
Visibility Graph search Algorithm feasible optimal trajectory s* 4.4.2 Assumptions The main assumptions of this algorithm are: • • • • •
an own ship is regarded as a point moving at a fixed speed; motion parameters of target ships are constant; return to a predefined final waypoint is assumed; kinematic model of ship motion is applied; own ship dynamic properties during maneuver are applied with the use of the maneuver time—Sect. 2.6; • visibility graph is constructed with the use of the rotational plane sweep algorithm; • shortest path search algorithm such as Dijkstra’s or A∗ algorithm is applied to find the best collision-free trajectory; • the best collision-free trajectory is a safe trajectory characterized by the minimal path length.
4.4.3 Consideration of Obstacles Static obstacles are modeled as polygons, as expressed in Sect. 2.4. Dynamic obstacles are modeled with the use of target ships domains. The procedure of determining the dangerous targets, described in details in Sect. 3.4.2, is first applied. After that, dangerous target ships domains are placed according to the Predicted Point of Collision method, as described in Sect. 3.5.
4.4.4 Rotational Plane Sweep Algorithm The rotational plane sweep algorithm is an extension of the plane sweep algorithm. The plane sweep algorithm is a popular computational geometry method applied to solve two line segment intersection problem. In the plane sweep algorithm, as shown in Fig. 4.14, a vertical line sweeps a plane from the left to the right. During this process endpoints of line segments and intersection points are detected and recorded [8].
80 Fig. 4.14 An operation principle of the plane sweep algorithm
Fig. 4.15 An operation principle of the rotational plane sweep algorithm
4 Deterministic Algorithms
sweep line
half-line
The rotational plane sweep algorithm is applied in order to find visibility edges on the graph in a less time consuming way. In this approach a vertex p, which can be one of the vertices belonging to the boundaries of obstacles or the start S or the goal G position of an own ship, is first chosen. For that vertex, the algorithm calculates all vertices visible from the vertex p. In this algorithm instead of a horizontal (or vertical) line sweeping a plane, a half-line is rotated around the vertex p, as shown in Fig. 4.15. At first vertices are sorted according to the clockwise angle, that a line segment from vertex p to each vertex makes with the positive x-axis. If two or more vertices have the same angle, they are sorted according to the increasing distance from p. For details see [5].
4.4.5 Solution Construction In order to calculate the own ship safe trajectory, an algorithm for finding the shortest path in the visibility graph G v (V, E) is applied. Among such algorithms the following approaches gained much attention and are applied commonly in various versions: • the Dijkstra’s algorithm; • the A∗ algorithm. There is a lot of similar algorithms that could be adapted to solve this problem, such as the Bellman-Ford algorithm or the Floyd-Warshall algorithm. Details about these algorithms can be found in [9].
4.4 Visibility Graph Search Algorithm
81
The Dijkstra’s algorithm was introduced by Edsger Dijkstra in 1959 and applied for finding the shortest path between two given nodes in the graph [10]. Over the years many variants of this algorithm have been developed. Program Code Input: G v (V, E), S, G, cv ← S, g(cv ) ← 0 and path ← [S] Output: path while cv = G do for all neighbors of cv do gtemp ← g(cv ) + dist (cv , n v ); if gtemp < g(cv ) then g(cv ) ← gtemp ; path = [ path; cv ]; end end end Algorithm 5: Dijkstra’s algorithm pseudo-code
Program Code Input: G v (V, E), S, G, cv ← S, g(cv ) = 0, h(cv ) ← dist (S, G), f (cv ) ← ∞ and path ← [S] Output: path while cv = G do for all neighbors of cv do gtemp ← g(cv ) + dist (cv , n v ); h(cv ) ← dist (cv , G); if gtemp < g(cv ) then g(cv ) ← gtemp ; end f temp ← g(cv ) + h(cv ); if f temp < f (cv ) then f (cv ) ← f temp ; path = [ path; cv ]; end end end Algorithm 6: A∗ algorithm pseudo-code
In general the Dijkstra’s algorithm in every step minimizes the function g(n), defined as the cost of the path from the start node (vertex) to the node n. In ship
82
4 Deterministic Algorithms
Fig. 4.16 Edge relaxation process
d(s,u) x s
w(x,y) y
d(s,y) Fig. 4.17 Visibility graph with the shortest path determined by Dijkstra’s algorithm
trajectory planning the visibility graph G v (V, E) can be regarded as an undirected weighted graph. The weight of an edge is the distance between the vertices joined by this edge. In the Dijkstra’s algorithm a method called edge relaxation is applied. For a given edge (x, y), the edge relaxation process checks, whether using the vertex x to reach the vertex y (d(s, u) + w(x, y)) will result in a shorter path, than currently obtained shortest path to vertex y (d(s, y)). Figure 4.16 presents this concept. The pseudo-code of the Dijkstra’s algorithm is given as Algorithm 5. An exemplary visibility graph, with the shortest path determined by the Dijkstra’s algorithm, is shown in Fig. 4.17. The A∗ algorithm, developed by Hart et al. [11], is a modified version of the Dijkstra’s algorithm. In the A∗ algorithm instead of the g(n) function in every step the f (n) function is minimized. This function is a sum of g(n) and h(n) functions. The g(n) function is a cost of the path from the start node S to the node n. The h(n)
4.4 Visibility Graph Search Algorithm
83
is a heuristic function, which estimates the path cost from the node n to the goal node G. In the ship safe trajectory planning algorithm using a visibility graph and the A∗ algorithm, the h(n) function is defined as the Euclidean distance from the node n to the goal node G. In this approach the algorithm terminates, when the goal node G has been reached. The pseudo-code of the A∗ algorithm is given as Algorithm 6. The pseudo-code of the VGA algorithm is given as Algorithm 7. Program Code Input: , V , j , V j , D j , N j , positions_o f _static_obstacles, S and G Output: path, path_length, transition_time and Calculate t j , Vr j , Nr j ; Calculate dangerous dynamic obstacles; Calculate G v (V, E); Calculate the shortest path: Dijkstra’s or A∗ ; if solution_ f ound = T RU E then Output: path, path_length, transition_time and else Output: lack_o f _solution end Algorithm 7: Visibility Graph search Algorithm pseudo-code
4.4.6 Solutions Compliance with COLREGs A proper size and shape of a target ship domain is applied in order to enforce the COLREGs compliance of a solution. This procedure is explained in details in Sect. 2.9.
4.4.7 Trajectory Optimization The own ship trajectory calculated by the VGA can be too close to obstacles, as the visibility graph includes the vertices and edges of obstacles. Therefore an additional safety zone should be applied around the boundaries of obstacles in order to guarantee the safety of a solution, as shown in Fig. 2.13 in Sect. 2.8. Due to the same reason the shortest path can be too accurate to be executed by an own ship. It should be remembered that recommended course alteration maneuvers according to COLREGs should be equal to at least 10◦ (Sect. 2.9). Therefore an additional algorithm correcting too small course changes might be needed in order to ensure the feasibility of solutions.
84
4 Deterministic Algorithms
4.5 Dynamic Programming 4.5.1 Background of the Method The dynamic programming method for ship safe trajectory planning was introduced and developed by Lisowski [12]. The dynamic programming concept is based on solving a complicated problem by dividing it into a set of sub-problems and by constructing a solution through an appropriate composition of solutions to sub-problems. The approach is based on the Bellman’s principle of optimality. The principle of optimality, applied to the multistage decision process, states that a property of an optimal strategy is that, whatever the initial state and initial decisions are, the remaining decisions must generate an optimal strategy with regard to the state resulting from the first decision [13, 14]. The optimal strategy should be understood as an optimal sequence of decisions.
4.5.2 Assumptions A general diagram of the Dynamic Programming algorithm for ship safe trajectory planning is presented in Fig. 4.18. The model of the ship motion applied in this approach is described by Eqs. (4.8). Simplifications cover the omission of a drift angle and the reduction of speed during the maneuver and the use of a non-linear model of ship dynamics in the rudder control system and a linear model in the control system of the rotational speed of the propeller. x˙ = V sin y˙ = V cos (4.8) 2 ˙ = k1 α ¨ + a1 ˙ + T1 T2 T3 V¨ + (T2 + T3 )V˙ + V = k2 n
Fig. 4.18 A general diagram of dynamic programming algorithm
Ψ, V, Ψj, Vj, Nj, Dj, static obstacles Dynamic Programming algorithm feasible optimal trajectory s*
4.5 Dynamic Programming
85
Based on the model, described by Eqs. (4.8), the state equations of the ship motion control process in a discrete form are expressed by Eqs. (4.9). X k+1 = X k + Vk tk+1 sin (k ) Yk+1 = Yk + Vk tk+1 cos (k ) ˙ k tk+1 k+1 = k + 1 ˙ k+1 = ˙k + − (˙k − a1 ˙k ˙k + a2 θk )tk+1 T1 Vk+1 = Vk + V˙k tk+1 ˙ = V˙k + 1 − (T2 + T3 ) V˙k − Vk + a3 n k tk+1 Vk+1 T2 T3 tk+1 = tk + tk+1
(4.9)
In Eqs. (4.9) (X, Y )—the position of a ship, V —the speed of a ship, V˙ —the ˙ acceleration of a ship, ψ—the course of a ship, ψ—the angular velocity of a ship, θ - the rudder angle, n—the rotational speed of the propeller, T1 , T2 , T3 —the time constants of a ship, a1 , a2 , a3 —static characteristic coefficients. The constraints of control, defined by Eqs. (4.10), result from the constrains of physical values characterizing the process. The constraints of state variables result from the navigational restrictions, taken into account as ship domains of different shapes and sizes. θ ≤1 θmax n ≤1 0≤ n max (4.10) ˙ ≤ ˙ max 0≤ 0 ≤ V ≤ Vmax 0 ≤ V˙ ≤ V˙max
4.5.3 Consideration of Obstacles Target ships are assumed to maintain constant motion parameters. They are modeled with the use of ship domains. Ship domains of different shapes and sizes are modeled applying a neural network [15]. The shape of a ship domain depends on the weather conditions and the position of a target ship. It is assumed that for restricted visibility a ship domain has a circular shape. For good visibility it has a circular shape for target ships positioned on the port side of an own ship and a shape of a parabola, an ellipse or a hexagon for starboard side placement. The size of a domain depends on the relative speed of a target ship and is modified based on the output of the neural network. The neural network evaluates the collision risk of the currently considered
86
4 Deterministic Algorithms
Nj
∑
f
∑
f
∑
f
∑
f
Vj
V
∑
y
···
···
Output layer
Ψrj Dj
f
∑ W1jk
∑
f
Input layer
W2kl
f
W3lm
Hidden layer
Fig. 4.19 A structure of the neural network applied for collision risk assessment Table 4.1 Neural network required responses ydk 0.1 0.3 0.5 0.7 0.9
Description Safe situation Attention Threat Situation decidedly dangerous Collision
encounter situation. The structure of the neural network applied for target ships domains generation is shown in Fig. 4.19. The following parameters, assumed to be obtained from the ARPA, constitute input for the neural network: • • • • •
the bearing of a target ship N j ; the speed of a target ship V j ; the speed of an own ship V ; the relative course of a target ship r j ; the distance of a target ship from an own ship D j .
The required response of the network ydk is assumed to take one of the values given in Table 4.1.
4.5.4 Solution Construction A general concept of the Dynamic Programming method is presented in Fig. 4.20. As mentioned above, the calculation of the safe optimal trajectory in this method is based on the use of the Bellman’s principle of optimality. First an own ship path is divided into k stages. The alterations of the rudder angle and the rotational speed of
4.5 Dynamic Programming
87
1-node
TS2
OS
1-stage
TSj
2-stage
k-stage
TSm
TS1
n-node
Fig. 4.20 A general concept of dynamic programming algorithm
the propeller are calculated at each stage, starting from the first stage, and moving up to the final stage. Consideration of restrictions, resulting from the safe distance to be assured and the COLREGs, is realized by checking whether the state variables do not exceed constraints in the considered node, expressing the position of an own ship. The nodes, for which the constraints are exceeded, are removed. Two types of algorithms have been distinguished, depending on the final condition to be achieved: • final waypoint control, for the use in restricted waters; • final course control, for the use in open waters. In this method, the indicator of the steering quality is the smallest possible loss of the own ship path to safely pass the encountered ships. This criterion, for the constant speed of an own ship, is implemented in the form of the time-optimal control (Eq. (4.11)). The solution is therefore a trajectory with the shortest transition time. tk tk (4.11) I = V dt ∼ = V dt → min t0
t0
88
4 Deterministic Algorithms
4.5.5 Solutions Compliance with COLREGs The shape and size of the target ship domain assures the COLREGs compliance of solutions. Details on shape and size assumption of ship domains are presented in Sect. 4.5.3.
4.6 Local Search Local search algorithms are applied in order to obtain a high-quality solution to the considered problem in a reasonable amount of time [16]. A local search algorithm tries to improve the current solution by applying local changes to it. Such algorithm needs some initial solution to start from. Therefore, it can constitute an additional procedure to a constructive algorithm, which is a method generating a solution by iteratively adding solution components to an initially empty solution. The local search algorithm tries to find a new, better solution, searching in the neighborhood of the initial solution. In order to apply the local search algorithm it is crucial to define: • a neighborhood structure; • a neighborhood examination scheme. The neighborhood structure defines the types of local changes, that can be applied to the initial solution s in order to obtain a better solution. The neighborhood structure specifies a set of neighboring solutions N (s), that can be reached from the initial solution s. It can be defined with the use of rules, which specify how the initial solution should be modified. The local search algorithm is a method of searching for a local optimum. The local optimum for a minimization problem, called a local minimum is defined as a solution s, that fulfills the expression defined by Eq. (4.12). The local optimum for a maximization problem, called a local maximum is defined as a solution s, that fulfills the expression defined by Eq. (4.13). ∀s ∈ N (s) : f (s) ≤ f (s )
(4.12)
∀s ∈ N (s) : f (s) ≥ f (s )
(4.13)
The neighborhood examination scheme defines the way, in which the neighborhood of the initial solution is searched and the way of choosing an improved solution. The improved solution can be chosen with the use of the best-improvement rule. The implementation of this rule causes the choice of a neighboring solution, achieving the largest improvement of an objective function value. For the ship safe trajectory planning problem this would be the neighboring trajectory of the current trajectory with
4.6 Local Search
89
the shortest path. It is also possible to apply the first-improvement rule, which applies a selection scheme of the first improved solution found from the set of neighboring solutions. In ship safe trajectory planning algorithms during the application of the local search algorithm, it should be assured that the improved solution fulfills the COLREGs. It is possible to obtain a too accurate solution (trajectory) with course alteration maneuvers of less than 10◦ , what is not acceptable for practical application. It is important to include in the neighborhood examination scheme a rule (or rules), that will prevent the algorithm from the selection of solutions not fulfilling the COLREGs.
•
> Remark
Local search algorithms can be deterministic or non-deterministic. The classification depends on the neighborhood structure and the neighborhood examination scheme. When these procedures include some non-deterministic techniques, e.g. some probabilistic operators are applied to generate a set of neighboring solutions N (s) of the initial solution or some probabilistic rules are applied to choose the improved solution.
References 1. Khatib, O.: Real-time obstacle avoidance for manipulators and mobile robots. In: Proceedings of the 1985 IEEE International Conference on Robotics and Automation, pp. 500–505. St. Louis, Missouri, USA (1985). https://doi.org/10.1109/ROBOT.1985.1087247 2. Latombe, J.C.: Robot Motion Planning. Springer, US (1991). https://doi.org/10.1007/978-14615-4022-9 3. Zelinsky, A., Jarvis, R.A., Byrne, J.C., Yuta, S.: Planning paths of complete coverage of an unstructured environment by a mobile robot. In: Proceedings of the International Conference on Advanced Robotics, pp. 533–538 (1993) 4. Galceran, E., Carreras, M.: A survey on coverage path planning for robotics. Robot. Auton. Syst. 61(12), 1258–1276 (2013). https://doi.org/10.1016/j.robot.2013.09.004 5. de Berg, M., Cheong, O., van Kreveld, M.J., Overmars, M.H.: Computational Geometry: Algorithms and Applications. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-779742 6. Lozano-Perez, T., Wesley, M.A.: An algorithm for planning collision-free paths among polyhedral obstacles. Commun. ACM 22(10), 560–570 (1979). https://doi.org/10.1145/359156. 359164 7. Nilsson, N.J.: A mobile automaton: an application of artificial intelligence techniques. In: Walker, D.E., Norton, L.M. (eds.) Proceedings of the 1st International Joint Conference on Artificial Intelligence, pp. 509–520. Washington, DC, USA (1969) 8. Shamos, M.I., Hoey, D.: Geometric intersection problems. In: 17th Annual Symposium on Foundations of Computer Science, pp. 208–215. Houston, Texas, USA (1976). https://doi.org/ 10.1109/SFCS.1976.16 9. Cormen, T.H., Leiserson, Ch.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press (2009)
90
4 Deterministic Algorithms
10. Dijkstra, E.W.: A note on two problems in connexion with graphs. Numer. Math. 1, 269–271 (1959). https://doi.org/10.1007/BF01386390 11. Hart, P.E., Nilsson, N.J., Raphael, B.: A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 4(2), 100–107 (1968). https://doi.org/10.1109/TSSC. 1968.300136 12. Lisowski, J.: Computational intelligence methods in the safe ship control process. Pol. Marit. Res. 8(1), 18–24 (2001) 13. Bellman, R.: The theory of dynamic programming. Bull. Am. Math. Soc. 60, 503–515 (1954). https://doi.org/10.1090/S0002-9904-1954-09848-8 14. Bellman, R.E., Dreyfus, S.E.: Applied Dynamic Programming. Princetown University Press (1962) 15. Lisowski, J., Rak, A., Czechowicz, W.: Neural network classifier for ship domain assessment. Math. Comput. Simul. 51(3–4), 399–406 (2000). https://doi.org/10.1016/S03784754(99)00132-9 16. Dorigo, M., Stutzle, T.: Ant Colony Optimization. MIT Press (2004)
Chapter 5
Non-deterministic Algorithms
5.1 Ant Colony Optimization 5.1.1 Background of the Algorithm The Ant Colony Optimization (ACO) is a nature-inspired method belonging to the group called the Swarm Intelligence (SI). The Swarm Intelligence was introduced by Beni and Wang in 1993 in relation to cellular robotic systems, as the ability of a system of non-intelligent robots to exhibit intelligent behavior [1, 2]. In 1999 this definition of the Swarm Intelligence was developed by Bonabeau, Dorigo and Theraulaz, who stated that any algorithm inspired by the collective behavior of a colony of insects or other animal communities can be regarded as SI [3]. A colony of insects can be regarded as a decentralized system of many relatively simple individuals, mutually interacting in order to solve specific problems. Such system is characterized by these features: • self-organization; • flexibility; • robustness. In nature, a colony of insects solves problems such as e.g. finding food, building and extending a nest (Fig. 5.1) or feeding the brood. In these tasks labor is efficiently divided between individuals. Self-organization, relying on multiple interactions between individuals and the environment, uses mechanisms such as: • positive feedback; • negative feedback; • amplification of fluctuations. An example of positive feedback mechanism is the recruitment of nest mates in honeybee colonies. A bee, when finds a nectar source, goes back to the hive and © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3_5
91
92
5 Non-deterministic Algorithms
Fig. 5.1 A colony of Pharaoh ants creating a nest between tree trunks (photo by Jimmy Chan from Pexels)
starts to dance, recruiting other bees to visit a valuable food source. Negative feedback mechanisms, such as e.g. saturation, exhaustion or competition are aimed at balancing the influence of positive feedback on the created collective pattern. Amplification of fluctuations such as e.g. random walks or random task-switching is also an important self-organization mechanism, as it enables to discover new solutions. Besides self-organization, a colony of insects is also characterized by flexibility and robustness. Flexibility is needed for the colony in order to be able to adapt to a changing environment. Robustness enables the colony to function even, when some individuals do not perform their tasks. Observation of the behavior of colonies of insects enabled for the discovery of factors and mechanisms affecting their functioning. This knowledge was later applied in the design of “intelligent” systems for solving engineering and computer science problems. The Ant Colony Optimization, as the name of the method suggests, is inspired by the behavior of a colony of ants. In 1990 Deneubourg et al. [4] published a work describing an experiment carried out with the use of the Argentine ants. The experiment proved that self-organization is used by these ants in the process of selecting a path between a food source and a nest. In the described experiment a double bridge, with two branches, was prepared between the food source and the ants nest. In the first case the two branches had the same length. It was discovered that after some period of time most of the ants move along one of the branches. Initially a few more ants selected this branch, and that caused other ants to also choose this branch. In the second case, as shown in Fig. 5.2, one branch was much longer than the other. In this case after some period of time most of the ants moved along a shorter branch.
5.1 Ant Colony Optimization Fig. 5.2 Double bridge experiment
93
Food
Nest It was also discovered that some ant species have a very limited sense of sight and some are even completely blind. The question was, how they communicate with each other, e.g. to inform other nest mates about the food source that they have found? It was discovered, that during movement they deposit some chemical substance on the ground, called a pheromone and use it for communication with other ants. Nest mates smell this pheromone trail left on the ground and move in the direction, where the pheromone trail amount is greater. This indirect communication mechanism is called stigmergy. Stigmergy occurs, when an individual modifies an environment, what affects the behavior of other individuals in the colony. Ant algorithms were first applied by Marco Dorigo in 1992 for solving the Traveling Salesman Problem (TSP) [5, 6], which is the task of finding the shortest route between a number of cities, starting from an initial city, visiting every city and returning to the initial one. It is assumed that the distance between each pair of cities is known. In ant algorithms a set of artificial ants search for a solution to the considered problem. A positive feedback mechanism, observed in the colonies of real ants, is applied with the use of the pheromone trail deposit. In this process good solutions (or parts of these solutions) are strengthened in order to obtain better solutions in the future. At the same time, a negative feedback mechanism is applied in order
94
5 Non-deterministic Algorithms
to prevent the algorithm from stagnation. Stagnation is a premature convergence of the algorithm to a local minimum. This negative feedback mechanism is called the pheromone evaporation. In ant algorithms an optimization problem to be solved is very often defined in the form of a weighted graph. Artificial ants move on this graph in order to find the best solution to the considered optimization task. A different approach is applied in the evolutionary algorithm, where a set of candidate solutions called individuals are first introduced and then modified and evaluated in order to find the best solution to the problem. The first ant algorithm was called the Ant System and three versions of it were developed initially, called ant-density, ant-quantity and ant-cycle. In ant-density and ant-quantity algorithms the pheromone trail is updated by the ants immediately after their movement. In ant-cycle version the pheromone trail is updated after all ants have finished the current iteration.
5.1.2 Assumptions The main assumptions of the ACO algorithm for ship safe trajectory planning are: • • • • • • • • • •
an own ship is regarded as a point moving at a fixed speed; motion parameters of target ships are constant; return to a predefined final waypoint is assumed; kinematic model of ship motion is applied; own ship dynamic properties during maneuver are applied with the use of the maneuver time—Sect. 2.6; environment is represented as a graph; target ships are modeled with the use of a ship domain; static obstacles are modeled as polygons; next nodes are chosen with the use of the probability of the ant next move and the action choice rule; the best collision-free trajectory is a safe trajectory characterized by the minimal path length.
5.1.3 Consideration of Obstacles The environment is modeled with the use of a graph, composed of a number of uniformly distributed nodes. These nodes constitute possible waypoints of an own ship and the initial and final waypoint. Target ships are modeled with the use of a ship domain. At first the algorithm determines dangerous target ships from all of the currently tracked target ships. The Predicted Point of Collision (PPC) method,
5.1 Ant Colony Optimization
95
described in details in Sect. 3.4.2, is applied for this purpose. Dangerous target ships domains are then applied on the graph in positions, they will reach, when an own ship will reach the point of trajectories intersection, assuming their constant motion parameters. After that, the target ship violation check is applied. Nodes (waypoints) placed inside an area occupied by the target ships domains are removed from the graph. Similar check is performed for static obstacles. Static obstacles, modeled as polygons, are placed on the graph. After that, nodes (waypoints) placed inside these polygons or on the edges of polygons, are removed.
5.1.4 Solution Construction Program Code Input: , V , j , V j , D j , N j and positions_o f _static_obstacles Output: path, path_length, transition_time and Calculate r j , Nr j , Vr j ; Calculate dangerous dynamic obstacles; Build a graph composed of OS waypoints; Initialize: τ0 , α, β, ρ, ant_num, max_steps, max_it; while time < max_time do for it ← 1 to it ≤ max_it do Solution construction; Pheromone trail update; if time ≥ max_time then break; end end end if solution_ f ound = T RU E then Output: path, path_length, transition_time and else Output: lack_o f _solution end Algorithm 8: Ant Colony Optimization pseudo-code
A general diagram of the Ant Colony Optimization-based algorithm for ship safe trajectory planning is presented in Fig. 5.3. The pseudo-code of the ACO-based ship safe trajectory planning algorithm is given as Algorithm 8. In the first step of the algorithm relative courses r j , relative bearings Nr j and relative speeds Vr j of target ships are calculated based on the input data defining the current navigational situation. After that, the process of dangerous target ships
96
5 Non-deterministic Algorithms
Fig. 5.3 A general diagram of ACO-based ship safe trajectory planning algorithm
Ψ, V, Ψj, Vj, Nj, Dj, static obstacles Ant Colony Optimization feasible trajectory s Trajectory Optimization Algorithm feasible optimal trajectory s*
determination is carried out, as described in Sect. 3.4.2 and a graph composed of the possible own ship waypoints is constructed. Next, waypoints placed inside an area occupied by static or dynamic obstacles, are removed from the graph. The next stage of the algorithm are ACO calculations. This process is composed of three main procedures, as shown in Fig. 5.4: • ACO data initialization; • solution construction; • pheromone trail update.
5.1.4.1
ACO Data Initialization
The ACO data initialization procedure defines the following parameters of the ACO algorithm: • the initial value of the pheromone trail τ0 set to the same value for all vertices; • the α and β coefficients appearing in the formula for the probability of the ant next move; • the pheromone evaporation rate ρ (0 < ρ ≤ 1); • the number of ants—ant_num; • the maximum number of ant steps—max_steps; • the maximum number of iterations—max_it.
5.1.4.2
Solution Construction
In the solution construction process the following steps are repeated a predefined number of times: 1. Every ant begins the construction of its path from the initial waypoint w ps with coordinates (xs , ys ), (the current position of an own ship).
5.1 Ant Colony Optimization
97
Fig. 5.4 A flowchart of ACO calculations
ACO data initalization
Solution construction
No
Pheromone trail update
Termination condition met?
Yes
2. Every ant constructs its path until it has reached the final waypoint with coordinates (x g , yg ) or it has achieved the maximum number of steps—max_steps. The solution construction process is presented in Fig. 5.5. In every step the ant selects the next node on the graph from the neighboring nodes using the action choice rule, as shown in Fig. 5.6. Its operation principle is similar to the roulette wheel selection procedure applied in evolutionary algorithms. The choice of the next node depends on the probability defined by Eq. (5.1). The two main components of this probability are: the value of the pheromone trail at the node j adjacent to the current node i—τ j (t) and the heuristic information ηi j . The heuristic information is defined as an inverse of the distance between the current node i and the adjacent node j. The probabilistic selection of the next node is carried out in the following order: • summing up the probabilities of selection of particular neighboring nodes— sum_ p; • random selection of a number r from the range [0; sum_ p];
98
5 Non-deterministic Algorithms
Fig. 5.5 Solution construction process
wpg
wpj
wpk
wpl
wpi
wps Fig. 5.6 Ant decision based on the action choice rule
τwp
τwp ηwp
j
τwp
k
ηwp
ηwp
ik
ij
l
il
? • traverse consecutive neighboring nodes until the sum of probabilities of selection of the already visited nodes is greater than or equal to the number r ; if this condition has been fulfilled, a currently considered node is selected. It is important to properly select the α and β coefficients in the equation defining the probability of the next node selection. It should be known, that if α is equal to 0, the nearest neighboring node is most likely to be chosen. When β is equal to 0, only the pheromone trail amount enhancement works. It may result in the reception of rather unsatisfactory solutions.
5.1 Ant Colony Optimization
5.1.4.3
99
Pheromone Trail Update
After all ants have finished their transitions, the process of the pheromone trail update is carried out. It is composed of two stages, defined by Eq. (5.2): • the pheromone evaporation; • the pheromone deposit. The pheromone evaporation is the reduction of the pheromone trail amount on all nodes by a certain value. This mechanism is applied in order to help the artificial ants to “forget” their wrong decisions—the choice of worse (longer) paths. The pheromone deposit is an opposite of the pheromone evaporation. In this process a certain value of the pheromone trail is added to all nodes on the graph, which belong to the paths constructed by the ants in the current iteration. It is applied in order to strengthen good solutions or parts of good solutions and enhance the probability of their selection in subsequent iterations. [τw p j (t)]α · [ηw pi j ]β α β l∈w piant [τw pl (t)] · [ηw pil ]
Pwant pi j (t) =
τw p j (t + 1) = (1 − ρ) · τw p j (t) +
ant_num
τwant p j (t)
(5.1)
(5.2)
ant=1
The termination condition of the ACO-based ship safe trajectory planning algorithm is fulfilled, when at least one of the following requirements is accomplished: • the maximum number of iterations max_it has been achieved; • the maximum run time of the algorithm has been reached. The best trajectory obtained in every iteration is saved and optimized with the use of the Trajectory Optimization Algorithm, described in Sect. 3.7.1. After the maximum number of iterations has been reached, the best trajectories from all iterations are evaluated considering the own ship dynamic properties. This process is described in details in Sect. 3.5. After that, the shortest trajectory fulfilling the own ship dynamic properties is selected as the final solution. Output data of the algorithm include the path length, the transition time and the course (and/or speed) alterations.
5.1.5 Solutions Compliance with COLREGs The COLREGs compliance of solutions is assured by a proper shape and size of a ship domain around target ships, as described in Sect. 2.9.
100
5 Non-deterministic Algorithms
5.2 Evolutionary Algorithm 5.2.1 Background of the Algorithm Evolutionary algorithms (EA) were inspired by the biological evolution. Their operation is based on the survival principle. According to this rule the individuals, that are best adapted to the environment, have the biggest chance to survive and pass their genes to the next generation. Evolutionary algorithms are categorized as adaptive algorithms, in which probabilistic methods are applied in order to develop new individuals in a population. Based on the concept of evolutionary calculations, the evolutionary algorithm for ship safe trajectory planning was proposed by Smierzchalski and Michalewicz [7]. Other approaches based on EA, and specifically on the most popular subgroup of EA—genetic algorithms, were proposed by Tam and Bucknall [8], and Ito and Zeng [9]. A general diagram of the Evolutionary Algorithm for ship safe trajectory planning is presented in Fig. 5.7.
5.2.2 Assumptions In the approach introduced by Smierzchalski and Michalewicz, the problem of collision avoidance at sea has been defined as the multi-criteria dynamic optimization task with static and dynamic constraints. Evolutionary algorithms are applied to determine a population of candidate paths (candidate trajectories). The objective of the evolutionary algorithm is to determine in the allowable space C a set S of safe paths s. From this set the algorithm has to choose an optimal path s ∗ with the use of a fitness function, which defines the cost of a path. The safe trajectory s is a path, for which any of its line segments does not intersect with any of static obstacles stat and in any moment of time t does not intersect with any of dynamic obstacles dyn (t). The kinematic model of ship motion is applied in the process of safe trajectory calculation. The ship dynamics are taken into account at the stage of the ship movement along the determined safe trajectory by the application of the maneuver time.
Fig. 5.7 A general diagram of the Evolutionary Algorithm for ship safe trajectory planning
Ψ, V, Ψj, Vj, Nj, Dj, static obstacles Evolutionary Algorithm feasible optimal trajectory s*
5.2 Evolutionary Algorithm
101
Fig. 5.8 Structure of the ship trajectory chromosome
GeneS
GeneG
Gene1
XSYSVSBS X1Y1V1B1
...
XGYGVGBG
Every path (individual) is represented by a chromosome (see Fig. 5.8). The chromosome is a sequence of genes with varying length. Every gene consists of X and Y coordinates of a given waypoint, information if a given waypoint is located in the allowable space, and if the line segment connecting it with the next waypoint is placed in the allowable space B. Every gene also contains information about an own ship speed on a considered line segment V .
5.2.3 Consideration of Obstacles Every candidate path has temporary dynamic areas associated with a specific target ship. The point of potential collision is determined for an own ship with regard to this specific target ship. After that, the time t required for an own ship to reach this point is calculated, assuming the constant speed of a ship. The instantaneous position of a target ship after time t is afterwards calculated and a target ship hexagon domain is placed in this position. The size of the domain depends on the safe distance Ds . During calculations the target ship domain is taken into account only by the associated candidate path. Static obstacles are taken into account by all candidate paths.
5.2.4 Solution Construction A flowchart of the Evolutionary Algorithm is shown in Fig. 5.9 [10]. The first population of individuals is generated randomly. Then each generated path is assessed using the fitness function, which is the measure of the adaptation of an individual to the navigational environment. Two versions of the fitness function have been defined, for safe and dangerous paths. For dangerous paths, the number of constraints violations and the depth of obstacle transgression are taken into account. For safe paths, the fitness function (Eq. (5.3)) consists of the cost of adapting the trajectory to the environment, resulting from the safety conditions Sa f eCond(s) and the economic conditions EconCond(s). The safety cost (Eq. (5.4)) is calculated based on the quality of waypoints in terms of the distance from constraints clear (s). The cost associated with the economic conditions, expressed by Eq. (5.5), consists of:
102
5 Non-deterministic Algorithms
Fig. 5.9 A flowchart of the evolutionary algorithm
Initalization
Reproduction
Crossover
No
Mutation
Succession
Termination condition met?
Yes
• the path length dist (s); • the function of the maximum turning angle between the following line segments of a path smooth(s); • the transition time time(s). wc, wd, ws and wt are the weighting factors. PathCost (s) = Sa f eCond(s) + EconCond(s)
(5.3)
5.2 Evolutionary Algorithm
103
Sa f eCond(S) = wc · clear (s) EconCond(s) = wd · dist (s) + ws · smooth(s) + wt · time(s)
(5.4) (5.5)
It has also been assumed that every safe path is better than the dangerous one. In order to achieve this, a penalty constant is added to the fitness function of every dangerous path. In the next step, selected paths are modified using the following genetic operators: • soft mutation—random shift of a gene (waypoint) in a local range in order to smooth a trajectory in such a way, that the trajectory will remain a safe path; • mutation—random shift of a gene (waypoint) so as to change the trajectory, in the initial phase in a wide range, and after a certain number of iterations in a local range in order to search for an exact trajectory; • adding a gene—adding a randomly generated gene to a dangerous trajectory; • changing the positions of genes—changing the order of any two genes; • crossing—taking two parental trajectories and creating two offspring trajectories on their basis; parental trajectories exchange their fragments and in this way two new offspring trajectories are created, from which the one with a lower cost defined by the fitness function is finally selected; • smoothing—removing a single gene from a safe trajectory; • gene removal—removing any gene from a trajectory; for dangerous trajectories— randomly; for safe trajectories—depending on whether the next line segment is safe; • repairing an individual—repairing dangerous trajectories by removing line segments exceeding constraints and inserting line segments avoiding a particular obstacle; • speed mutation—random selection of a new speed on a given line segment of a trajectory from the set of permissible speeds. The selection of the genetic operator, to which the path will be subjected, is carried out randomly. An offspring is created using a single operator and replaces the weakest individual in the population. Genetic operators are applied in order to create an offspring, that is expected to produce better results in the next generation. The process of creation, evaluation and modification of trajectories is carried out, until a specified termination condition is met. The termination condition is defined as a specified number of repetitions.
5.2.5 Solutions Compliance with COLREGs A proper shape and size of a target ship domain assures compliance of solutions with the COLREGs, as described in Sect. 2.9.
104
5 Non-deterministic Algorithms
References 1. Beni, G., Wang, J.: Theoretical problems for the realization of distributed robotic systems. In: Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Sacramento, CA, USA 3:1914–1920 (1991). https://doi.org/10.1109/ROBOT.1991.131906 2. Beni, G., Wang, J.: Swarm Intelligence in Cellular Robotic Systems. In: Dario, P., Sandini, G., Aebischer, P. (eds.) Robots and Biological Systems: Towards a New Bionics?, pp. 703–712. Springer, Berlin Heidelberg (1993) 3. Bonabeau, E., Dorigo, M., Theraulaz, G.: Swarm Intelligence - From Natural to Artificial Systems. Oxford University Press (1999). https://doi.org/10.1093/oso/9780195131581.001. 0001 4. Deneubourg, J.-L., Aron, S., Goss, S., Pasteels, J.: The Self-Organizing Exploratory Pattern of the Argentine Ant. J Insect Behav 3, 159–168 (1990). https://doi.org/10.1007/BF01417909 5. Colorni, A., Dorigo, M., Maniezzo, V.: Distributed Optimization by Ant Colonies. In: Proceedings of the First European Conference on Artificial Life, MIT Press, Cambridge, MA :134–142 (1992) 6. Dorigo, M.: Optimization. Learning and Natural Algorithms, Politecnico di Milano (1992) 7. Smierzchalski, R., Michalewicz, Z.: Modeling of Ship Trajectory in Collision Situations by an Evolutionary Algorithm. IEEE Trans Evol Comput 4(3), 227–241 (2000). https://doi.org/10. 1109/4235.873234 8. Tam, Ch., Bucknall, R.: Path-planning algorithm for ships in close-range encounters. J Mar Sci Technol 15, 395–407 (2010). https://doi.org/10.1007/s00773-010-0094-x 9. Xiao-Ming, Zeng, Ito, M.: Planning a collision avoidance model for ship using genetic algorithm. IEEE International Conference on Systems, Man and Cybernetics 4, 2355–2360 (2001). https://doi.org/10.1109/ICSMC.2001.972909 10. Kuczkowski, Ł, Smierzchalski, R.: Comparison of Single and Multi-Population Evolutionary Algorithm for Path Planning in Navigation Situation. Solid State Phenom 210, 166–177 (2013). https://doi.org/10.4028/www.scientific.net/ssp.210.166
Chapter 6
Registration of Navigational Data
6.1 Situation Awareness Module The Guidance, Navigation and Control (GNC) system of autonomous ships is called the Autonomous Navigation System (ANS). It is composed of the following subsystems: • Route Planning (RP) module (sometimes Weather Routing module); • Collision Avoidance (CA) module; • Situation Awareness (SA) module (also known as Sensor Fusion (SF) module or Advanced Sensor Module (ASM)); • motion control subsystem. A block diagram of the Autonomous Navigation System is presented in Fig. 6.1. One of the main subsystems is the Situation Awareness module, also called Sensor Fusion module or Advanced Sensor Module. The aim of this subsystem is to fuse data from different navigational sensors and systems. It obtains information from nautical charts, radars with the ARPA and the AIS. In Unmanned Surface Vehicles (USVs) it also receives data from daylight and infrared cameras, and lidars. The Situation Awareness module provides data describing the current situation at sea. The Collision Avoidance module receives position and motion parameters of an own ship and target ships from this system. Below the main principles of target tracking with the use of a radar with the ARPA and the AIS are described. According to chapter V of SOLAS both X- and S-band radars are obligatory on all vessels of 3,000 g.t. and upwards. The first application of a radar on a warship is dated to 1937. On merchant ships radars were present since 1944. In 1969 the first ARPA was installed on M/S Taimyr by the company Norcontrol. The SOLAS requires that all ships of 10,000 g.t. and upwards should be equipped in the ARPA. The carriage requirements of the shipborne navigational equipment essential for the safety of navigation can be found in Section 1.3.2 of Chapter 1. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3_6
105
106
6 Registration of Navigational Data
Route Planning
Situation Awareness
Motion Control
Collision Avoidance
Fig. 6.1 Autonomous navigation system Fig. 6.2 Measurement of the true bearing
0° True north
target
target bearing (True)
true bearing
heading marker
The radar operation is based on the echo principle. First, radar pulses are transmitted with the use of an antenna. Afterwards, the echo, which is a fraction of the transmitted signal reflected by targets, is received. On the basis of the received signal, the radar processor calculates the distances (ranges) and bearings of detected targets. A relationship between the target range and the time elapsed for a radar pulse to travel to and return from the target is expressed by Eq. (6.1). R in Eq. (6.1) is the range of the target, T is the elapsed time and S is the speed of radio waves. For the purpose of true and relative bearings measurement, the electronic bearing lines (EBLs) are used, what is shown in Figs. 6.2 and 6.3. Besides the calculation of the target range and bearing, the radar processor realizes the target tracking (TT) function. It estimates courses and speeds of tracked target ships. The target acquisition, which precedes the target tracking, can be manual or automatic. In manual acquisition specific targets for tracking are selected by the operator. In automatic acquisition all targets, placed within a predefined boundary area, are tracked automatically. R=
S·T 2
(6.1)
6.1 Situation Awareness Module
107 0° (ship’s head)
target target bearing (REL)
heading marker
relative bearing
electronic bearing line (EBL)
Fig. 6.3 Measurement of a relative bearing
The performance of a radar depends on the following factors: • • • • •
the effective power of the transmitter; the gain of the antenna; the distance of the target from the radar; the ability of the target to reflect signals; the sensitivity of the radar receiver. Pr =
k · Pt · G 2 · σ R4
(6.2)
Equation (6.2) presents the radar equation, which defines the power of the received echo. In this equation k is a constant, Pt is the effective transmitted power, G is the antenna gain, s is the radar cross-sectional area (RCS) of the target and R is the range of the target from the radar. A general block diagram of a marine radar is presented in Fig. 6.4. One of essential parameters of a radar is the frequency, at which it operates. Two bands of radio frequencies are assigned to be used by marine radars: X-band with frequencies in the range from 9.2 to 9.5 GHz and S-band with frequencies in the range from 2.9 to 3.1 GHz. More details on the construction of marine radars, their operation and related rules can be found in [1]. The Automatic Identification System (AIS) is a navigational equipment alternative to the ARPA for the purpose of target ships tracking. The AIS operation principle
108
6 Registration of Navigational Data Antenna
Transmit/receive switch
Receiver
Processor
Display and user interface
Transmitter
Fig. 6.4 A block diagram of a marine radar AIS transponder
no AIS transponder or malfunctioning
AIS transponder
VTS center
AIS transponder
Fig. 6.5 AIS general concept of operation
is based on the use of transponders for transmission and reception of data. The information is transmitted on dedicated VHF frequencies. The AIS transponders are located on ships and base stations. A general concept of the AIS is shown in Fig. 6.5. The AIS carriage requirements, presented in more details in Sect. 1.3.2 of Chap. 1, were introduced into SOLAS in 2004. Dedicated VHF frequencies are: • 161.975 MHz for AIS channel A (VHF channel 87B); • 162.025 MHz for AIS channel B (VHF channel 88B). The range of Class A AIS transponders is about 30 to 40 nautical miles on a large vessel and about 20 nautical miles for a small ship. For Class B AIS transponders the range is less than 10 nautical miles. The standard data transmitted by a vessel
6.1 Situation Awareness Module
109
Table 6.1 AIS dynamic data transmission intervals Type of ship Reporting interval Class A ship at anchor or moored Class A ship 0-14 knots Class A ship 0-14 knots and changing course Class A ship 14-23 knots Class A ship 14-23 knots and changing course Class A ship > 23 knots Class B ship < 2 knots, including at anchor Class B ship > 2 knots
3 min 10 s 3.3 s 6s 2s 2s 3 min 30 s
Fig. 6.6 Symbols applied to display ARPA targets target acquired manually
flashing
target acquired automatically by acquisition/guard zone moving target being tracked fixed target being tracked (targets with speed over ground less than 1.5 kt)
flashing red
flashing
dangerous target (target that triggered the dangerous target alarm)
lost target (target that triggered the lost target alarm)
with Class A AIS transponder are listed in Sect. 1.3.2 of Chap. 1. From the collision avoidance point of view the most important are dynamic data such as: ship position, course over ground (COG), speed over ground (SOG), heading, navigational status (underway, at anchor) and rate of turn. Table 6.1 presents the dynamic data transmission intervals for ships with different types of AIS transponders and different speeds. Static and voyage related data are transmitted every 6 min. Fig. 6.6 presents symbols used in order to display the ARPA targets and Fig. 6.7 shows symbols applied for displaying the AIS targets. On all new ships built after 2008 the radar equipment should be capable of displaying both the ARPA and the AIS targets. Table 6.2 compares the main features of the ARPA and the AIS important for collision avoidance. The analysis of this table allows to state that the AIS and a radar with the ARPA are complementary systems and should be simultaneously applied for the collision avoidance purpose. This indicates the need of target ships data fusion from both devices.
110
6 Registration of Navigational Data
sleeping target sleeping target with missing data (SOG, COG) – no collision avoidance computation
flashing
target acquired automatically by acquisition/guard zone
tracked target tracked target with a flag indicating the direction of turn
tracked target with missing data (SOG, COG) – no collision avoidance computation tracked target with a flag indicating the direction of turn and with missing data (SOG, COG) – no collision avoidance computation flashing red
flashing
dangerous target (target that triggered the dangerous target alarm)
lost target (target that triggered the lost target alarm)
Fig. 6.7 Symbols applied to display AIS targets Table 6.2 Comparison of ARPA and AIS for collision avoidance Feature ARPA AIS Accuracy Detection of TSs changes Identification of TSs size Reliability of TSs detection Range
Similar to AIS at close range
Positional error from 10 to 30 m In several minutes Immediate Changes with range and aspect Good if static data available Depends on echo strength and Detects only vessels fitted with weather conditions AIS In general from 10 to 20 NM In general from 20 to 40 NM (Class A), up to 10 NM (Class B)
6.2 Data Interface
111
6.2 Data Interface In order to unify interfaces between the navigational equipment, interface standards have been developed. A common standard for marine electronic devices is the NMEA 0183. The first version of this norm was introduced in 1983 by the National Marine Electronics Association (NMEA), which is an organization, located in the USA, that aims at the development of communication standards between marine electronic devices such as e.g. autopilots, GPS receivers, gyro-compasses, echo sounders, radars or sonars. An international standard, prepared by the International Electrotechnical Commission (IEC) on the basis of NMEA 0183, is known as IEC 61162-1. The NMEA 0183 is the “Standard for Interfacing Marine Electronic Devices” [2]. It defines the electrical signal requirements, data transmission protocol and data formats. The IEC 61162-1 is the first part of requirements concerning “Digital interfaces of Maritime navigation and radiocommunication equipment and systems” [3]. This part relates to “Single talker and multiple listeners”, what means that the standard is intended for use in a one way serial data transmission, with one transmitter (talker) and one or more receivers (listeners). The data transmission type is serial asynchronous, with the transmission speed specified by the baud rate, equal to 4800 bits per second. The data frame, as shown in Fig. 6.8, is composed of one start bit, eight data bits and one stop bit. Parity bit is not used. Data bits are transmitted in the order from the least significant bit (LSB) to the most significant bit (MSB). The NMEA 0183 (IEC 61162-1) sentence structure is composed of the following elements: • • • • •
the start of sentence ($); the talker identifier and the sentence formatter; zero or more data fields; the checksum field; (a hexadecimal value after the character); the end of sentence (< CR >< LF >).
The sentences are composed of text characters, coded with the use of the American Standard Code for Information Interchange (ASCII). The ASCII code is a standard for coding text characters with the use of the binary system, as a sequence on ‘0’s and ‘1’s.
D0
START BIT
D1
D2
D3
D4
D5
DATA BITS
Fig. 6.8 Data frame of NMEA 0183 (IEC 61162-1) standard
D6
D7
STOP BIT
112
6 Registration of Navigational Data
Table 6.3 An example of an own ship data message—OSD transmitted by a radar ‘$RAOSD, 088.4, A, 088.4, W, 11.9, W, N*7F’ RA OSD 088.4 A 088.4 W 11.9 W ,, ,, N *7F
Sender ID (radar) Sentence ID (Own Ship Data) Heading (88.4◦ ) Heading status (valid), V—invalid Vessel course (88.4◦ ) Course reference (water-referenced) Vessel speed (11.9 knots) Speed reference (water-referenced) Vessel set (blank) Vessel drift (blank) Speed units (knots) Checksum
Every NMEA 0183 message starts with $ mark. The next two characters, called the talker identifier, are responsible for the definition of a device, from which the data are transmitted. For example, for a transmission from a radar these characters will be ‘RA’ and for GPS—’GP’. The subsequent three characters, the sentence formatter, define the type of transmitted message. From the collision avoidance and safe path planning point of view, the most important data are contained in sentences marked using the sentence formatters ‘TTM’ from Tracked Target Message and ‘OSD’ from Own Ship Data. Examples of OSD and TTM sentences with explanations are given in Tables 6.3 and 6.4. The sentences can be transmitted using one of the following transmission frequencies: • • • •
1 s; 5 s; 10 s; 30 s.
The manufacturer operation and service manual defines the applied transmission frequencies for every sentence used in the offered equipment. This frequency can be changed into one of the possible frequencies, listed above, according to the information given in the manual. As an example, the standard repetition frequencies of some sentences in the radar systems, produced by the SAM Electronics company, are listed in Table 6.5 [4]. NMEA 0183 is a standard broadly used in commercial shipping. Another standard, more popular on recreational crafts, is called NMEA 2000 (IEC 61162-3) [5, 6]. This standard supports multiple-talker, multiple-listener transmission. The comparison of the most important features of both standards is presented in Table 6.6.
6.2 Data Interface
113
Table 6.4 An example of a tracked target message—TTM transmitted by a radar ’$RATTM,28,3.66,132.2,T,11.31, 295.5,R,1.06,18.6,N„T„,M*19’ RA TTM 28 3.66 132.2 T 11.31 295.5 R 1.06 18.6 N ,, T ,, ,, M *19
Sender ID (radar) Sentence ID (Tracked Target Message) Target number assigned by ARPA (28), 00 to 99 Target distance from own ship (3.66 NM) Target bearing from own ship (132.2◦ ) Target bearing orientation (true), R—relative Target speed (11.31 knots) Target course (295.5◦ ) Target course orientation (relative), T—true Distance at closest point of approach (1.06 NM) Time to closest point of approach (18.6 min) Distance and speed units (NM and knots) Target label on ARPA (blank) Target status (tracking), L—lost, Q—acquired Reference target (blank) Time of data in UTC (blank) Type of target acquisition (manual), A—automatic Checksum
Table 6.5 Standard repetition times in SAM Electronics radar systems Message (Sentence ID) Standard repetition time [s] Depth Below Transducer (DBT) Geographic Position, Latitude/Longitude (GLL) Heading, True (HDT) Wind Direction and Speed (MWD) Wind Speed and Angle (MWV) Own Ship Data (OSD) Tracked Target Message (TTM) Dual Ground/Water Speed (VBW) Course over Ground and Ground Speed (VTG) Waypoint Location (WPL) Time & Date (ZDA)
1 1 1 1 1 1 10 1 1 30 1
114
6 Registration of Navigational Data
Table 6.6 Comparison of NMEA 0183 and NMEA 2000 Feature NMEA 0183 Data rate Message format Transmitters and receivers
4800 b/s ASCII characters Single-talker multiple-listener
Transmission type
RS-232/RS-422/RS-485
NMEA 2000 250 kb/s Compact binary message Multiple-talker multiple-listener CAN-BUS (plug and play)
6.3 Data Reception Algorithm Navigational data describing the current situation at sea have to be obtained from a radar system with the ARPA and/or the AIS using the NMEA 0183 transmission protocol. The aim of the data reception algorithm is to enter navigational data, such as courses, speeds, distances and bearings of target ships, into the collision avoidance and safe path planning algorithm. The data reception algorithm has to define the serial port, planned to be used for the data acquisition. After that, the serial port parameters have to be configured, such as the transmission speed, the number of data bits, stop bits and the usage of parity bit. The following steps of the algorithm are: opening the connection, data reception and closing the connection. Received data strings have to be parsed in order to prepare these data in a format required by the collision avoidance algorithm. Fig. 6.9 presents a flowchart of the data reception and parsing algorithm. The termination condition for the data reception can be set as the end of reception of strings concerning all target ships. This condition will be fulfilled, when messages concerning the same target (with the same target number) will be received again. It should also be mentioned, that data are received as strings of characters, therefore the needed information should be converted into numbers [7].
6.4 Navigational Data Reception This section deals with an example of the navigational data reception. Presented results constitute the outcome of a research project Research on New Obstacle Avoidance Algorithms for Ships (NOAA) founded by the International Association of Maritime Universities (IAMU) and the Nippon Foundation from Japan [8]. Input data to the collision avoidance and safe path planning algorithm include: an own ship course and speed, courses, speeds, bearings and distances of target ships. These data were registered on board M/V Horyzont II, which is the Research/Training ship owned by the Gdynia Maritime University. The main tasks of M/V Horyzont II include conducting research, students training and transporting equipment of Polish Academy of Sciences to the Polish scientific bases on Spitsbergen. Fig. 6.10 presents
6.4 Navigational Data Reception
115
Define serial port
Configure serial port parameters
Open serial port
Find string with address field ’RAOSD’
Parse ’RAOSD’ string
Save Ψ0 and V 0
Find string with address field ’RAZDA’
Parse ’RAZDA’ string
Save date and time
Find string with address field ’RATTM’
Save Ψj, Vj, Nj, Dj
Parse ’RATTM’ string
Current target different from saved targets?
Yes
No Close serial port
Fig. 6.9 A flowchart of data reception and parsing algorithm
116
6 Registration of Navigational Data
Fig. 6.10 The vessel M/V Horyzont II
the vessel M/V Horyzont II. Fig. 6.11 shows the bridge of the ship. In Table 6.7 lists the main technical parameters of M/V Horyzont II. Navigational data describing the current situation at sea were registered during M/V Horyzont II voyages to Spitsbergen in June-September 2018 from the Furuno radar system. The system for navigational data registration is presented in Fig. 6.12. Fig. 6.13 shows an example of Own Ship Data (OSD) and Tracked Target Messages (TTM) registered on board M/V Horyzont II.
6.5 Data Fusion The data fusion is the process of data integration from different navigational devices and systems for unified presentation. On manned vessels, the data for collision avoidance are provided by radars with the ARPA and the AIS. Performance standards for
6.5 Data Fusion
117
Fig. 6.11 The bridge of M/V Horyzont II Table 6.7 Technical specification of M/V Horyzont II Parameter Value Length Breadth Designed draft Deadweight Gross Tonnage Speed Main engine power Controllable Pitch Propeller (CPP) Bow thruster Build year and place IMO Number
56.34 m 11.36 m 3.90 m (5.33 m together with the keel) 288 t 1321 GRT 12 knots 1280 kW CP 65 WARTSILA , D = 2.1 m STT 10 LK SCHOTTEL—power: 125 kW 2000, Gdansk 9231925
the radar equipment, adopted by the IMO, define the requirement of the data fusion. When the same target is tracked by a radar with the ARPA and the AIS, it should be displayed as one target using the AIS symbols. Algorithms provided by the systems manufacturers are responsible for deciding, whether the ARPA and the AIS target is the same target. These algorithms use criteria associated with position and motion parameters of the target ships (heading, speed, distance between the AIS and the ARPA target positions). The aim of the data fusion is to achieve a clearer display of information [1, 9].
118
6 Registration of Navigational Data
Fig. 6.12 The system for navigational data registration from the Furuno radar system on board M/V Horyzont II Fig. 6.13 Own Ship Data (OSD) and Tracked Target Messages (TTM) registered on board M/V Horyzont II
6.5 Data Fusion
119
The data fusion from different navigational sensors, providing information about the current situation at sea and the vessel motion parameters, also constitutes one of the key issues in the development of Autonomous Navigation Systems for unmanned and autonomous ships. The data fusion module is responsible for merging and analyzing data from different navigational sensors. In the Advanced Autonomous Waterborne Applications (AAWA) project the Situation Awareness (SA) module is responsible for the sensor fusion [10]. Applied approach was inspired by the automotive industry. The following sensors are assumed to be applied in the SA module: daylight and infrared cameras, radars, lidars, the AIS, the ECDIS and the GPS. The choice of sensors for the application in the SA module should be preceded by an insightful analysis of advantages and limitations of different sensors. For example, cameras are characterized by high spatial resolution, which can result in a precise object identification. However, this is also associated with a large amount of data to be transmitted and processed. The limitation of cameras (especially daylight) is also their low performance in the darkness and in bad weather (fog, heavy rain). Another example of the data fusion module for the Maritime Autonomous Surface Ship (MASS) is the Advanced Sensor Module (ASM) described in the Maritime Unmanned Navigation through Intelligence in Networks (MUNIN) project [11]. This module integrates raw sensor data and extracts required information from: the AIS, radars, daylight and infrared cameras. To sum up, data fusion is an important aspect of the data registration process for the purpose of collision avoidance and safe trajectory planning, as it contributes to the enhancement of data reliability and helps in the elimination of redundant and erroneous data.
References 1. Bole A, Wall A, Norris A (2014) Radar and ARPA Manual. Elsevier Butterworth-Heineman. https://doi.org/10.1016/C2010-0-68325-8 2. National Marine Electronics Association (2002) NMEA 0183 - Standard For Interfacing Marine Electronic Devices 3. International Electrotechnical Commission (Geneva, Switzerland) (2000) International Standard IEC 61162-1, Maritime navigation and radiocommunication equipment and systems – Digital interfaces – Part 1: Single talker and multiple listeners 4. SAM Electronics GmbH (Hamburg, Germany) (2004) Radarpilot 1000, Chartpilot 1000, Multipilot 1000 Service Manual - Interface IEC 61162-1; IEC 61162-2 and Serial Compass Interface 5. Spitzer S, Luft L, Morschhauser D, (2009) NMEA 2000 – Past, Present and Future. In: RTCM Annual Assembly Meeting and Conference, St. Pete Beach, Florida 6. International Electrotechnical Commission (Geneva, Switzerland) (2008) International Standard IEC 61162-3, Maritime navigation and radiocommunication equipment and systems – Digital interfaces – Part 3: Serial data instrument network 7. Lazarowska, A.: Decision support system for collision avoidance at sea. Polish Marit Res 19(74), 19–24 (2012). https://doi.org/10.2478/v10012-012-0018-2 8. International Association of Maritime Universities (2019) Final Report - IAMU 2018 Research Project (No.YAS201801) Technology for Safer and Greener Shipping (Research on New Obsta-
120
6 Registration of Navigational Data
cle Avoidance Algorithms for Ships (NOAA)) https://iamu-edu.org/download/final-report-ofresearch-project-fy2018/. Cited 28 Aug 2021 9. Skolnik M I (Ed.)(2008) Radar Handbook. McGraw-Hill 10. Rolls-Royce (2015) The Advanced Autonomous Waterborne Applications https://www. rolls-royce.com/media/Files/R/Rolls-Royce/documents/customers/marine/ship-intel/aawawhitepaper-210616.pdf. Cited 31 Oct 2019 11. Maritime Unmanned Navigation through Intelligence in Networks (2012) http://www. unmanned-ship.org/munin/. Cited 31 Oct 2019
Chapter 7
Evaluation of Algorithms
7.1 Evaluation Criteria Before the implementation of collision avoidance and safe path planning algorithms, developed methods have to be analyzed in details and results of such analysis have to be comprehensively evaluated. Collision avoidance and safe path planning algorithms constitute solutions of vital importance for the safety of shipping, therefore a detailed analysis of the proposed algorithm, with a special emphasis on safety and reliability has to be carried out. The main evaluation criteria, that has to be necessarily fulfilled are: • the safety of a solution; • the COLREGs compliance of a solution; • solution compliance from different ships perspectives. The above mentioned requirements have to be fulfilled, if the algorithm is planned to be implemented, whether in the Decision Support System of a manned vessel, or in the Autonomous Navigation System of an autonomous ship. The following criteria, which do not necessarily have to be fulfilled, enable for the evaluation of the quality of solutions: • solution repeatability; • solution optimality; • the run time of the algorithm. More details can be found in Sect. 2.9 of Chap. 2 and Sect. 3.6 of Chap. 3. In the following sections of this chapter algorithms described in Chaps. 4 and 5 will be evaluated, taking the above mentioned criteria into account.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3_7
121
122
7 Evaluation of Algorithms
7.2 Simple Encounter Situations This section presents solutions returned by five collision avoidance and safe path planning algorithms described in the previous chapters: ACO, DAPF, TBA, VGA and WAFR. Results of ten simple test cases, which are encounters of an own ship with up to seven target ships, are presented here. All algorithms were implemented in the Matlab programming language and tested on a PC with an Intel Core i7-10750H 2.60GHz CPU, 32 GB RAM, 64-bit Windows 10 operating system. The following parameters of ACO algorithm were used: τ0 = 1, ρ = 0.1, α = 1, β = 2, max_it = 20 and ant_num = 10. The following dimensions of the target ship hexagon domain were applied in experiments: the distance towards the bow −1.3 NM, the distance of amidships −0.6 NM, the distance towards the starboard side −0.6, the distance towards the port side −0.5 NM and the distance towards the stern −0.5 NM. Input and output data of every test case are given in consecutive tables. Input data include: an OS course and speed, TSs courses, speeds, distances from an OS and bearings. Output data are: the distance of a safe path in nautical miles, OS courses at consecutive line segments of the path and the run time of an algorithm. The best results in terms of solution optimality and the run time of an algorithm are underlined in tables using a bold font. Presented results cover also graphical solutions obtained for the TBA showing an OS and TSs positions, when an OS is: at the starting waypoint wps , at the intermediate waypoint wp1 and at the goal waypoint wpg . Results of the TBA were chosen for the presentation as the most promising for most of the test cases. The comparison of safe paths obtained by different algorithms is also shown in subsequent figures. The first three test cases cover basic encounters between ships, defined in the COLREGs as head-on, crossing and overtaking. Test case 1 is a crossing scenario, in which according to rule 15 of the COLREGs, an own ship is expected to give way to the target ship, avoiding crossing ahead of the target vessel. All of the analyzed algorithms returned a safe solution compliant with the COLREGs. An OS performs a maneuver to the starboard side, keeping out of the way of the target ship. The best results in terms of the path length are obtained with the use of the VGA, but the shortest run time, equal to 130 ms, is achieved by the TBA (Figs. 7.1, 7.2, 7.3 and 7.4 and Tables 7.1 and 7.2). Test case 2 is a head-on situation. According to rule 14 of the COLREGs, in such encounter both vessels should alter their courses to starboard in order to pass on the port side of the other vessel. All algorithms returned solutions fulfilling the COLREGs. The shortest path was obtained by the VGA, as in the crossing scenario and similarly the shortest run time of 90 ms was reached by the TBA with only a slightly longer trajectory than that returned by the VGA (Figs. 7.5, 7.6, 7.7 and 7.8 and Tables 7.3 and 7.4).
7.2 Simple Encounter Situations
123
Test case 3 is an overtaking situation. According to rule 13 of the COLREGs an overtaking vessel should keep out of the way of the vessel being overtaken. In solutions obtained by all of the compared algorithms, an OS keeps out of the way of the TS, while overtaking the vessel. The shortest trajectory was obtained by the VGA and the shortest run time was achieved by the TBA, likewise for the crossing and head-on cases (Figs. 7.9, 7.10, 7.11 and 7.12 and Tables 7.5 and 7.6). Test cases from 4 to 10 are multi-ship encounters composed of head-on, crossing and overtaking situations of different pairs of ships. All of the considered algorithms were capable of solving these test cases. Test case 4 is a crossing situation with two target ships. The shortest trajectory, composed of three maneuvers, was returned by the TBA. The shortest run time was achieved by the WAFR, but with an over half of a nautical mile longer trajectory compared to the result of the TBA (Figs. 7.13, 7.14, 7.15 and 7.16 and Tables 7.7 and 7.8). Test case 5 is an encounter with 3 target ships. All algorithms returned safe and COLREGs compliant trajectories for this test case. The shortest trajectory was achieved by the TBA, which was also characterized by the shortest run time obtained for this scenario (Figs. 7.17, 7.18, 7.19 and 7.20 and Tables 7.9 and 7.10). Test case 6, similar to test case 5, is also an encounter with 3 target ships. For this scenario all algorithms also returned safe trajectories fulfilling the COLREGs. The shortest trajectory in the shortest time was obtained by the TBA, as in the previous case. An identical solution for this case was also returned by the ACO, but this algorithm needed almost 8 seconds to accomplish that, while the TBA needed only 140 ms (Figs. 7.21, 7.22, 7.23 and 7.24 and Tables 7.11 and 7.12). Test case 7 is an encounter with 4 target ships. For this case the TBA returned the shortest trajectory in 270 ms, which is 50 ms longer than the run time of the fastest algorithm—the DAPF, which returned an over 0,8 of a nautical mile longer safe trajectory compared to the TBA (Figs. 7.25, 7.26, 7.27, 7.28 and Tables 7.13 and 7.14). Test cases 8 and 9 are complex scenarios with 5 target ships. For test case 8 the shortest trajectory was calculated by the TBA and the ACO, however the TBA achieved the shortest run time—120 ms. The ACO returned the same solution in almost 11 s (Figs. 7.29, 7.30, 7.31 and 7.32 and Tables 7.15 and 7.16). For test case 9 the shortest path was returned by the VGA. The shortest run times for this case were reached by the WAFR and the DAPF—250 and 330 ms respectively, but solutions returned by these two algorithms were over 0.7 of a nautical mile longer compared to the result of the VGA (Figs. 7.33, 7.34, 7.35 and 7.36 and Tables 7.17 and 7.18). Test case 10 is an encounter with 7 target ships. The shortest trajectory for this scenario was obtained by the VGA. The TBA calculated a safe path about 0.1 of a nautical mile longer compared to the result of the VGA, but in almost twice shorter time of 490 ms (Figs. 7.37, 7.38, 7.39 and 7.40 and Tables 7.19 and 7.20). A summary of the best results obtained for test cases 1 to 10 is given in Table 7.21.
124
7 Evaluation of Algorithms 11
[NM]
10 9 8 7 6 5 4 3 2 TS 1
1 0 OS
-1 -2 -3
[NM]
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
3
4
5
6
Fig. 7.1 Initial configuration of test case 1—OS at wps 11
[NM]
10 9 8 7 6 5 4 OS
3 2 TS 1
1 0 -1 -2 -3
[NM]
-8
-7
-6
-5
-4
-3
-2
-1
Fig. 7.2 TBA solution of test case 1—OS at wp1
0
1
2
5
6
7.2 Simple Encounter Situations 11
125
[NM]
10 OS
9 8 7 6 5 4 3 2
TS 1
1 0 -1 -2 -3
[NM]
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
Fig. 7.3 TBA solution of test case 1—OS at wpg Table 7.1 Input data for test case 1—crossing Ship (◦ ) V (kn) 0 1
0 270
10 10
Table 7.2 Results of test case 1—crossing Method Distance (NM) VGA TBA ACO WAFR DAPF
9.08 9.25 9.25 9.22 9.22
D (NM)
N (◦ )
– 3
– 45
(◦ )
Run time (s)
13, 356 18, 351 18, 351 14, 349 14, 349
0.57 0.13 4.78 0.16 0.26
126
7 Evaluation of Algorithms 9
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.4 Comparison of safe trajectories calculated by different algorithms for test case 1—crossing
9
[NM]
8 7
TS 1
6 5 4 3 2 1 0 -5
OS
-4
-3
-2
-1
0
[NM]
1
Fig. 7.5 Initial configuration of test case 2—OS at wps
2
3
4
5
7.2 Simple Encounter Situations 9
127
[NM]
8 7 6 5 TS 1
4
OS
3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
1
2
3
4
5
Fig. 7.6 TBA solution of test case 2—OS at wp1 9
[NM]
OS
8 7 6 5 4 3 2 TS 1
1 0
[NM]
-5
-4
-3
-2
-1
0
Fig. 7.7 TBA solution of test case 2—OS at wpg
5
128
7 Evaluation of Algorithms
Table 7.3 Input data for test case 2—head-on Ship (◦ ) V (kn) 0 1
0 180
20 10
Table 7.4 Results of test case 2—head-on Method Distance (NM) VGA TBA ACO WAFR DAPF
9.07 9.22 9.22 9.22 9.22
9
D (NM)
N (◦ )
– 7
– 0
(◦ )
Run time (s)
10, 0, 355 14, 349 11, 346 11, 346 11, 346
1.41 0.09 4.08 0.24 0.28
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0 -5
[NM]
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.8 Comparison of safe trajectories calculated by different algorithms for test case 2—head-on
7.2 Simple Encounter Situations 9
129
[NM]
8 7 6 5 4 3 2 1
TS 1
0
OS
-5
-4
-3
-2
-1
0
[NM]
1
2
3
4
2
3
4
5
Fig. 7.9 Initial configuration of test case 3—OS at wps 9
[NM]
8 7 6 5 4
OS
TS 1
3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
Fig. 7.10 TBA solution of test case 3—OS at wp1
1
5
130
7 Evaluation of Algorithms
9
[NM]
OS
8 7 6
TS 1
5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.11 TBA solution of test case 3—OS at wpg Table 7.5 Input data for test case 3—overtaking Ship (◦ ) V (kn) 0 1
0 0
20 12
Table 7.6 Results of test case 3—overtaking Method Distance (NM) VGA TBA ACO WAFR DAPF
9.06 9.22 9.25 9.51 9.51
D (NM)
N (◦ )
– 1
– 0
(◦ )
Run time (s)
352, 0, 6 14, 349 349, 9 23, 345 23, 345
1.42 0.12 5.12 0.24 0.27
7.2 Simple Encounter Situations 9
131
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.12 Comparison of safe trajectories calculated by different algorithms for test case 3— overtaking 10
[NM]
9 8 7 6 5 4 3
TS 2
TS 1
2 1 0
OS
-1 -2 -7
[NM]
-6
-5
-4
-3
-2
-1
0
Fig. 7.13 Initial configuration of test case 4—OS at wps
1
2
3
4
5
132
7 Evaluation of Algorithms 10
[NM]
9 8 7 6 5 4
TS 2
3 2
OS
TS 1
1 0 -1 -2 -7
[NM]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
1
2
3
4
5
Fig. 7.14 TBA solution of test case 4—OS at wp1 10
[NM]
9
OS
8 7 6 5 4 3
TS 2
2
TS 1
1 0 -1 -2 -7
[NM]
-6
-5
-4
-3
-2
-1
Fig. 7.15 TBA solution of test case 4—OS at wpg
0
5
7.2 Simple Encounter Situations
133
Table 7.7 Input data for test case 4—encounter with 2 target ships Ship (◦ ) V (kn) D (NM) 0 1 2
0 270 270
10 14 12
N (◦ )
– 3.5 5.5
– 45 55
Table 7.8 Results of test case 4—encounter with 2 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.47 9.32 9.86 9.85 9.85
9
Run time (s)
24, 346 27, 0, 351 22, 333 24, 336 24, 336
0.24 0.25 7.77 0.13 0.18
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0 -5
[NM]
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.16 Comparison of safe trajectories calculated by different algorithms for test case 4— encounter with 2 target ships
134
7 Evaluation of Algorithms 10
[NM]
9 TS 2
8 7 6 TS 3
5 4 3
TS 1
2 1 0
OS
-1 -2 -3
[NM]
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
2
3
4
5
6
Fig. 7.17 Initial configuration of test case 5—OS at wps 10
[NM]
9 8 7 6 TS 2
5
OS
4 3 2
TS 1 TS 3
1 0 -1 -2 -3
[NM]
-7
-6
-5
-4
-3
-2
-1
Fig. 7.18 TBA solution of test case 5—OS at wp1
0
1
6
7.2 Simple Encounter Situations 10
135
[NM] OS
9 8 7 6 5 4 3 2
TS 2
TS 1
1 0 -1 -2 -3
TS 3
-7
-6
-5
-4
-3
-2
-1
0
[NM]
1
2
3
4
5
6
Fig. 7.19 TBA solution of test case 5—OS at wpg Table 7.9 Input data for test case 5—encounter with 3 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3
0 270 190 170
12 12 8 10
– 3.5 8 5
Table 7.10 Results of test case 5—encounter with 3 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.22 9.22 9.86 9.59 9.59
N (◦ )
16, 5, 346 14, 349 22, 333 13, 329 13, 329
– 45 5 345
Run time (s) 0.55 0.09 12.1 0.23 0.26
136
7 Evaluation of Algorithms 9
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0 -5
[NM]
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.20 Comparison of safe trajectories calculated by different algorithms for test case 5— encounter with 3 target ships 11 [NM] 10 9 TS 2
8 7
TS 3
6 5 4 3 TS 1
2 1 0
OS
-1 -2 -3 -9
[NM]
-8
-7
-6
-5
-4
-3
-2
-1
Fig. 7.21 Initial configuration of test case 6—OS at wps
0
1
2
3
4
5
7.2 Simple Encounter Situations 11
137
[NM]
10 9 8 7 6 TS 2
5 4
OS TS 3
3 2
TS 1
1 0 -1 -2 -3
[NM]
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.22 TBA solution of test case 6—OS at wp1 11
[NM]
10 9
OS
8 7 6 5 4 3 2
TS 1
TS 2
1 0
TS 3
-1 -2 -3 -9
[NM]
-8
-7
-6
-5
-4
-3
-2
Fig. 7.23 TBA solution of test case 6—OS at wpg
-1
0
1
2
3
4
5
138
7 Evaluation of Algorithms
Table 7.11 Input data for test case 6—encounter with 3 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3
0 280 200 160
12 14 8 10
N (◦ )
– 3.5 8 6.5
– 45 10 345
Table 7.12 Results of test case 6—encounter with 3 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.28 9.22 9.22 9.66 9.66
9
Run time (s)
12, 344 14, 349 14, 349 12, 323 12, 323
0.4 0.14 7.82 0.22 0.26
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0 -5
[NM]
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.24 Comparison of safe trajectories calculated by different algorithms for test case 6— encounter with 3 target ships
7.2 Simple Encounter Situations 10
139
[NM]
9 TS 2
8 7
TS 3
6 5 4 3 TS 4
TS 1
2 1 0 OS
-1 -2 -3 -7
[NM]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
4
5
6
Fig. 7.25 Initial configuration of test case 7—OS at wps 10
[NM]
9 8 7
TS 4
6
TS 2
OS
5 4 TS 3
3 2
TS 1
1 0 -1 -2 -3 -7
[NM]
-6
-5
-4
-3
-2
-1
Fig. 7.26 TBA solution of test case 7—OS at wp1
0
1
2
3
6
140
7 Evaluation of Algorithms 10
[NM]
9
TS 4
OS
8 7 6 5 4 TS 2
3 2
TS 1
1
TS 3
0 -1 -2 -3 -7
[NM]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
Fig. 7.27 TBA solution of test case 7—OS at wpg Table 7.13 Input data for test case 7—encounter with 4 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3 4
0 270 200 160 335
15 14 8 10 12
– 3.7 8 6.5 5
Table 7.14 Results of test case 7—encounter with 4 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.42 9.29 9.86 10.11 10.11
N (◦ )
18, 8, 339 18, 0, 346 27, 338 16, 315 16, 315
– 45 10 345 55
Run time (s) 0.78 0.27 16.6 0.24 0.22
7.2 Simple Encounter Situations
141
[NM]
9
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.28 Comparison of safe trajectories calculated by different algorithms for test case 7— encounter with 4 target ships 12 [NM] 11 10 9 8 7 6
TS 2 TS 3
TS 4
5 4 3
TS 5
2
TS 1
1 0 -1
OS
-2 -3 -4
[NM]
-9 -8 -7 -6 -5 -4 -3 -2 -1 0
Fig. 7.29 Initial configuration of test case 8—OS at wps
1
2
3
4
5
6
142
7 Evaluation of Algorithms 12 11
[NM]
10 9 8 7
TS 4
6
TS 5
5
TS 2
4
OS TS 3
3 2
TS 1
1 0 -1 -2 -3 -4
[NM]
-9 -8 -7 -6 -5 -4 -3 -2 -1 0
1
2
3
4
5
3
4
5
6
Fig. 7.30 TBA solution of test case 8—OS at wp1 12 11
[NM]
10 9
TS 5
8
TS 4
OS
7 6 5 4 3 2 1
TS 1
0
TS 2
-1
TS 3
-2 -3 -4
[NM]
-9 -8 -7 -6 -5 -4 -3 -2 -1 0
Fig. 7.31 TBA solution of test case 8—OS at wpg
1
2
6
7.2 Simple Encounter Situations
143
Table 7.15 Input data for test case 8—encounter with 5 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3 4 5
0 270 200 160 290 295
11 14 8 10 14 16
N (◦ )
– 3.5 8 6.5 8 7
– 45 10 345 55 60
Table 7.16 Results of test case 8—encounter with 5 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.24 9.22 9.22 9.81 9.81
9
Run time (s)
12, 346 14, 349 14, 349 0, 37, 337 0, 37, 337
0.31 0.12 10.92 0.25 0.31
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0 -5
[NM]
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.32 Comparison of safe trajectories calculated by different algorithms for test case 8— encounter with 5 target ships
144
7 Evaluation of Algorithms 10 [NM] 9 8
TS 3
TS 2
7 6
TS 5
5 4
TS 1
3 TS 4
2 1 0 OS
-1
-6
-5
-4
-3
-2
-1
0
[NM]
1
2
3
4
3
4
5
Fig. 7.33 Initial configuration of test case 9—OS at wps 10
[NM]
9 8 7 6 TS 5
5
TS 1
4
OS TS 4
3
TS 3
2 TS 2
1 0 -1
[NM]
-6
-5
-4
-3
-2
-1
Fig. 7.34 TBA solution of test case 9—OS at wp1
0
1
2
5
7.2 Simple Encounter Situations 10
145
[NM]
9
OS
8 7 6 TS 5
5 4
TS 1
3
TS 4
TS 3
2 TS 2
1 0 -1
[NM]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.35 TBA solution of test case 9—OS at wpg Table 7.17 Input data for test case 9—encounter with 5 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3 4 5
0 270 180 225 275 115
10 7.5 15 16 8.5 20
– 6 8 9 3 5
Table 7.18 Results of test case 9—encounter with 5 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.67 9.86 9.86 10.41 10.41
N (◦ )
23, 340 27, 338 22, 333 23, 320 23, 320
– 45 2 25 35 345
Run time (s) 0.51 0.58 7.55 0.25 0.33
146
7 Evaluation of Algorithms [NM]
9
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.36 Comparison of safe trajectories calculated by different algorithms for test case 9— encounter with 5 target ships 10
[NM]
9 8
TS 3
7
TS 6
TS 4
6
TS 7 TS 2
5 TS 5
4
TS 1
3 2 1 0 -1
OS [NM]
-6
-5
-4
-3
-2
-1
0
1
Fig. 7.37 Initial configuration of test case 10—OS at wps
2
3
4
5
7.2 Simple Encounter Situations 10
147
[NM]
9 8 7
TS 4
6
TS 3
TS 7
5
TS 2 TS 6
4 3
TS 1
2
OS TS 5
1 0 -1
[NM]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.38 TBA solution of test case 10—OS at wp1 10
[NM]
9
OS
8 7
TS 4 TS 2
6
TS 3
5
TS 7
TS 6
4 3
TS 1
2 TS 5
1 0 -1
[NM]
-6
-5
-4
-3
-2
-1
Fig. 7.39 TBA solution of test case 10—OS at wpg
0
1
2
3
4
5
148
7 Evaluation of Algorithms
Table 7.19 Input data for test case 10—encounter with 7 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3 4 5 6 7
0 246 287 191 90 189 200 130
10 15 4 10 8.5 16.2 12 1.5
N (◦ )
– 6 7.5 7.6 8.8 4.3 7.5 6
– 41 40 2 326 6 11 335
Table 7.20 Results of test case 10—encounter with 7 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.18 9.31 9.87 9.89 9.89
9
Run time (s)
20, 354 27, 352 27, 333, 342 24, 333, 0 24, 333, 0
0.95 0.49 16.94 0.27 0.51
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0 -5
[NM]
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.40 Comparison of safe trajectories calculated by different algorithms for test case 10— encounter with 7 target ships
7.3 Simple Encounter Situations with Lands Table 7.21 A summary of the best results for test cases 1 to 10 Test case The shortest trajectory 1 2 3 4 5 6 7 8 9 10
VGA VGA VGA TBA TBA TBA, ACO TBA TBA, ACO VGA VGA
149
The shortest run time TBA TBA TBA WAFR TBA TBA DAPF, WAFR, TBA TBA DAPF, WAFR WAFR
7.3 Simple Encounter Situations with Lands This section presents solutions returned by the same algorithms as in the previous section: ACO, DAPF, TBA, VGA and WAFR. All algorithms were tested using the same platform, as described in Sect. 7.2, the same parameters and the same dimensions of domains around target ships. Results of five test cases, which are encounters of an own ship with up to three target ships and up to three static obstacles, are presented here. Input and output data are presented in a numerical and graphical form in the same way, as in Sect. 7.2. All algorithms were capable of solving test cases with both static and dynamic obstacles. A summary of the best results obtained for test cases with lands is given in Table 7.22. Analysis of these results allows to state that for all of the considered test cases the shortest trajectory was returned by the TBA. The shortest run time for all test cases was achieved by the DAPF and the WAFR, but this was attained at the expense of the path length (Figs. 7.41, 7.42, 7.43, 7.44, 7.45, 7.46, 7.47, 7.48, 7.49, 7.50, 7.51, 7.52, 7.53, 7.54, 7.55, 7.56, 7.57, 7.58, 7.59 and 7.60 and Tables 7.23, 7.24, 7.25, 7.26, 7.27, 7.28, 7.29, 7.30, 7.31 and 7.32). Table 7.22 A summary of the best results for test cases 11 to 15 Test case The shortest trajectory The shortest run time 11 12 13 14 15
VGA, TBA, ACO TBA, ACO TBA TBA, ACO TBA
DAPF, WAFR DAPF, WAFR DAPF, WAFR DAPF, WAFR DAPF, WAFR
150
7 Evaluation of Algorithms 10
[NM]
9 8 7 6 5 TS 2
4 3
TS 1
2 1 0 -1 -6
OS
-5
-4
-3
-2
-1
0
[NM]
1
2
3
4
5
3
4
Fig. 7.41 Initial configuration of test case 11—OS at wps 10 [NM] 9 8 7 OS
6 5 TS 2
4 3 2
TS 1
1 0 -1 -6
[NM]
-5
-4
-3
-2
-1
Fig. 7.42 TBA solution of test case 11—OS at wp1
0
1
2
5
7.3 Simple Encounter Situations with Lands 10
151
[NM] OS
9 8 7 6 5 TS 2
4 3
TS 1
2 1 0 -1
[NM]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.43 TBA solution of test case 11—OS at wpg Table 7.23 Input data for test case 11—encounter with 2 target ships and an island Ship (◦ ) V (kn) D (NM) N (◦ ) 0 1 2
0 270 270
10 14 14
– 4.5 6
– 45 55
Table 7.24 Results of test case 11—encounter with 2 target ships and an island Method Distance (NM) (◦ ) Run time (s) VGA TBA ACO WAFR DAPF
9.87 9.93 9.93 10.11 10.11
20, 16, 27, 12 18, 326 18, 326 16, 315 16, 315
0.39 0.57 59.58 0.12 0.16
152
7 Evaluation of Algorithms 9
[NM]
VGA TBA ACO WAFR DAPF static obstacle
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.44 Comparison of safe trajectories calculated by different algorithms for test case 11— encounter with 2 target ships and an island 10
[NM]
9 8 7 6
TS 1
5 4 TS 2
3 2 1 0 OS
-1 -6
-5
-4
-3
-2
-1
0
[NM]
1
Fig. 7.45 Initial configuration of test case 12—OS at wps
2
3
4
5
7.3 Simple Encounter Situations with Lands 10
153
[NM]
9 8 7 6 5 4
TS 1 OS
3 2
TS 2
1 0 -1
[NM]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.46 TBA solution of test case 12—OS at wp1 10
[NM] OS
9 8 7 6 5 4 3 2
TS 2
1 0 -1 -6
TS 1
-5
-4
-3
-2
-1
0
Fig. 7.47 TBA solution of test case 12—OS at wpg
1
[NM]
2
3
4
5
154
7 Evaluation of Algorithms
Table 7.25 Input data for test case 12—encounter with 2 target ships and an island Ship (◦ ) V (kn) D (NM) N (◦ ) 0 1 2
0 190 255
10 6 14
– 5.5 5
– 15 45
Table 7.26 Results of test case 12—encounter with 2 target ships and an island Method Distance (NM) (◦ ) Run time (s) VGA TBA ACO WAFR DAPF
10.46 9.93 9.93 10.31 10.31
9
329, 13, 33 34, 342 34, 342 32, 333 32, 333
[NM]
0.68 0.63 59.58 0.16 0.14
VGA TBA ACO WAFR DAPF static obstacle
8 7 6 5 4 3 2 1 0 -5
[NM]
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.48 Comparison of safe trajectories calculated by different algorithms for test case 12— encounter with 2 target ships and an island
7.3 Simple Encounter Situations with Lands 10
155
[NM]
9 8 7
TS 2
6 TS 3
5 4
TS 1
3 2 1 0 OS
-1 -6
-5
-4
-3
-2
-1
0
[NM]
1
2
3
4
5
Fig. 7.49 Initial configuration of test case 13—OS at wps 10
[NM]
9 8 7
TS 2
6
TS 3
5 4 3
OS
2
TS 1
1 0 -1 -6
[NM]
-5
-4
-3
-2
-1
0
Fig. 7.50 TBA solution of test case 13—OS at wp1
1
2
3
4
5
156
7 Evaluation of Algorithms 10
[NM] OS
9 8 TS 2
7 6
TS 3
5 4 3 2 1
TS 1
0 -1 -6
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.51 TBA solution of test case 13—OS at wpg Table 7.27 Input data for test case 13—encounter with 3 target ships and an island Ship (◦ ) V (kn) D (NM) N (◦ ) 0 1 2 3
0 246 270 270
10 12 14 14
– 5.5 7 7.5
– 41 25 35
Table 7.28 Results of test case 13—encounter with 3 target ships and an island Method Distance (NM) (◦ ) Run time (s) VGA TBA ACO WAFR DAPF
12.55 9.29 9.86 9.85 9.85
323, 52 18, 0, 346 27, 338 24, 336 24, 336
0.35 0.23 59.58 0.06 0.07
7.3 Simple Encounter Situations with Lands
157
[NM]
9
VGA TBA ACO WAFR DAPF static obstacle
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.52 Comparison of safe trajectories calculated by different algorithms for test case 13— encounter with 3 target ships and an island 10
[NM]
9 8 7
TS 2
6
TS 3
5 4
TS 1
3 2 1 0 OS
-1
-6
-5
-4
-3
-2
-1
0
[NM]
1
Fig. 7.53 Initial configuration of test case 14—OS at wps
2
3
4
5
158
7 Evaluation of Algorithms 10
[NM]
9 8 7
TS 2
6
TS 3
5 4 3
OS
2
TS 1
1 0 -1
[NM]
-6
-5
-4
-3
-2
-1
0
1
2
3
4
1
2
3
4
5
Fig. 7.54 TBA solution of test case 14—OS at wp1 10
[NM] OS
9 8 7
TS 2
6
TS 3
5 4 3 2 1
TS 1
0 -1
[NM]
-6
-5
-4
-3
-2
-1
Fig. 7.55 TBA solution of test case 14—OS at wpg
0
5
7.3 Simple Encounter Situations with Lands
159
Table 7.29 Input data for test case 14—encounter with 3 target ships and 2 islands Ship (◦ ) V (kn) D (NM) N (◦ ) 0 1 2 3
0 246 270 270
10 14 10 10
– 5.5 7 8
– 41 25 40
Table 7.30 Results of test case 14—encounter with 3 target ships and 2 islands Method Distance (NM) (◦ ) Run time (s) VGA TBA ACO WAFR DAPF
9.46 9.29 9.29 9.49 9.49
9
19, 346, 342 18, 0, 346 18, 0, 346 17, 339 17, 339
[NM]
0.37 0.24 55.71 0.07 0.08
VGA TBA ACO WAFR DAPF static obstacle 1 static obstacle 2
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.56 Comparison of safe trajectories calculated by different algorithms for test case 14— encounter with 3 target ships and 2 islands
160
7 Evaluation of Algorithms 10
[NM]
9 8 7
TS 2
6
TS 3
5 4
TS 1
3 2 1 0 OS
-1
-5
-4
-3
-2
-1
0
[NM]
1
2
3
4
5
6
Fig. 7.57 Initial configuration of test case 15—OS at wps 10
[NM]
9 8 7
TS 2
6 TS 3
5 4 3
OS
2
TS 1
1 0 -1
[NM]
-5
-4
-3
-2
-1
0
Fig. 7.58 TBA solution of test case 15—OS at wp1
1
2
3
4
5
6
7.3 Simple Encounter Situations with Lands 10
161
[NM] OS
9 8 7
TS 2
6
TS 3
5 4 3 2 1 TS 1
0 -1
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
Fig. 7.59 TBA solution of test case 15—OS at wpg Table 7.31 Input data for test case 15—encounter with 3 target ships and 3 islands Ship (◦ ) V (kn) D (NM) N (◦ ) 0 1 2 3
0 246 270 270
10 14 4 1.5
– 5.5 7 7.5
– 41 25 35
Table 7.32 Results of test case 15—encounter with 3 target ships and 3 islands Method Distance (NM) (◦ ) Run time (s) VGA TBA ACO WAFR DAPF
10.02 9.29 9.4 9.49 9.49
19, 324 18, 0, 346 18, 0, 333 17, 339 17, 339
0.39 0.24 56.39 0.08 0.09
162
7 Evaluation of Algorithms 9
[NM]
VGA TBA ACO WAFR DAPF static obstacle 1 static obstacle 2 static obstacle 3
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.60 Comparison of safe trajectories calculated by different algorithms for test case 15— encounter with 3 target ships and 3 islands
7.4 Complex Encounter Situations Registered on Board a Ship This section presents solutions returned by the same algorithms as in the previous sections: ACO, DAPF, TBA, VGA and WAFR. All algorithms were tested using the same platform, as described in Sects. 7.2 and 7.3. The same parameters of algorithms and domains around target ships were used in the presented experiments. Results of five test cases, which are encounters of an own ship with up to fourteen target ships are presented here. Input and output data are presented in a numerical and graphical form. Navigational situations used in the presented tests were registered on board M/V Horyzont II during the vessel voyages to Spitsbergen in 2018, what is described in details in Chap. 6. A summary of the best results obtained for these real encounter situations is given in Table 7.33. Analysis of the results presented in this table allows to state that for three out of five test cases the shortest trajectory was returned by the VGA, while for the other two the best solution was obtained by the TBA. The shortest run time for all test cases was reached by the TBA (Tables 7.37, 7.38, 7.39, 7.40, 7.41, 7.42, 7.43, 7.44, 7.45 and 7.46 and Figs. 7.61, 7.62, 7.63, 7.64, 7.65, 7.66, 7.67, 7.68, 7.69, 7.70, 7.71, 7.72, 7.73, 7.74, 7.75, 7.76, 7.77, 7.78, 7.79 and 7.80).
7.4 Complex Encounter Situations Registered on Board a Ship
163
Table 7.33 A summary of the best results for test cases 16 to 20 Test case The shortest trajectory The shortest run time 16 17 18 19 20
VGA, DAPF, WAFR VGA TBA, ACO VGA TBA
11
TBA TBA TBA TBA TBA
[NM]
10 9 8 7 6 5
TS 3
4 3 2 TS 2
1 0
OS
-1
TS 1
-2 -3
-7
-6
-5
-4
-3
-2
-1
[NM]
0
1
2
Fig. 7.61 Initial configuration of test case 16—OS at wps
3
4
5
6
7
164
7 Evaluation of Algorithms 11
[NM]
10 9 8 7 6 5 4
OS
TS 2
3 2 1 0
TS 1
-1 -2 -3
TS 3
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
[NM]
5
6
7
Fig. 7.62 TBA solution of test case 16—OS at wp1 11
[NM]
10 OS
9 8 7 6
TS 2
5 4 3 2
TS 1
1 0 -1 -2 -3
TS 3
-7
-6
-5
-4
-3
-2
-1
0
Fig. 7.63 TBA solution of test case 16—OS at wpg
1
2
3
4
[NM]
5
6
7
7.4 Complex Encounter Situations Registered on Board a Ship
165
Table 7.34 Input data for test case 16—encounter with 3 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3
132.9 136.9 142.6 306.8
10.8 3.47 4.97 17.46
N (◦ )
– 1.36 1.65 4.9
– 346.9 110.6 172.3
Table 7.35 Results of test case 16—encounter with 3 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.05 9.22 9.22 9.05 9.05
9
Run time (s)
139, 127 147, 122 144, 119 139, 127 139, 127
0.42 0.12 7.21 0.26 0.31
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.64 Comparison of safe trajectories calculated by different algorithms for test case 16— encounter with 3 target ships
166
7 Evaluation of Algorithms 13 12
[NM]
TS 3
11 10 9 8 7 6 5
TS 4
4 3 2 1
TS 2
0
OS
-1
TS 1
-2 -3
-8 -7 -6 -5 -4 -3 -2 -1 0
[NM]
1
2
3
4
5
6
5
6
7
8
Fig. 7.65 Initial configuration of test case 17—OS at wps 13 12
[NM]
11 10 9 8 7 6 5 4 3
TS 3 OS
TS 2
2 1 0
TS 1
-1 TS 4
-2 -3
-8 -7 -6 -5 -4 -3 -2 -1 0
Fig. 7.66 TBA solution of test case 17—OS at wp1
1
2
3
4
[NM]
7
8
7.4 Complex Encounter Situations Registered on Board a Ship 13 12
167
[NM]
11 10 9
OS
8 7 6
TS 2
5
TS 3
4 3 2
TS 1
1 0 -1 -2 -3
TS 4
-8 -7 -6 -5 -4 -3 -2 -1 0
1
2
3
4
[NM]
5
6
7
8
Fig. 7.67 TBA solution of test case 17—OS at wpg Table 7.36 Input data for test case 17—encounter with 4 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3 4
132.2 137.5 144.3 318 307.8
10.7 3.48 5.02 19.04 17.02
– 1.39 1.61 12.55 5.02
Table 7.37 Results of test case 17—encounter with 4 target ships Method Distance [NM] [◦ ] VGA TBA ACO WAFR DAPF
9.06 9.22 9.22 9.22 9.22
N (◦ )
139, 126 146, 121 144, 118 145, 120 145, 120
– 346.1 109.7 123.5 170.9
Run time [s] 0.27 0.16 8.84 0.23 0.25
168
7 Evaluation of Algorithms 9
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.68 Comparison of safe trajectories calculated by different algorithms for test case 17— encounter with 4 target ships 10
[NM]
9 8 7 6
TS 2
5 TS 5
4
TS 1
3 2 1 TS 3
0 -1
TS 4
OS
-5
-4
-3
-2
-1
0
[NM]
1
2
Fig. 7.69 Initial configuration of test case 18—OS at wps
3
4
5
6
7.4 Complex Encounter Situations Registered on Board a Ship 10
169
[NM]
9 8 7 6 5 4 TS 2
3
TS 1
2
OS
1
TS 5 TS 3
0 -1
TS 4 [NM]
-5
-4
-3
-2
-1
0
1
2
3
4
TS 3
TS 4
3
4
5
6
Fig. 7.70 TBA solution of test case 18—OS at wp1 10
[NM] OS
9 8 7 6 5 4 TS 2
3 2
TS 1
1
TS 5
0 -1
[NM]
-5
-4
-3
-2
-1
0
Fig. 7.71 TBA solution of test case 18—OS at wpg
1
2
5
6
170
7 Evaluation of Algorithms
Table 7.38 Input data for test case 18—encounter with 5 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3 4 5
161.2 358.6 6 356 354.5 348.6
11.5 12.4 13.97 15.86 16.87 17.05
N (◦ )
– 4.76 4.99 3.02 3.56 4.35
– 174.4 172.9 259.7 253.8 134
Table 7.39 Results of test case 18—encounter with 5 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.47 9.31 9.31 9.85 9.85
9
Run time (s)
183, 146 188, 153 135, 169 185, 137 185, 137
0.42 0.23 5.06 0.26 0.34
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.72 Comparison of safe trajectories calculated by different algorithms for test case 18— encounter with 5 target ships
7.4 Complex Encounter Situations Registered on Board a Ship 10 9
171
[NM] TS 7
8 TS 6
7 6 5 4
TS 9
3
TS 8
2 1
TS 5
0
OS
-1 -2
TS 2
-3 -4 -6
TS 1
TS 3
-5
TS 4
-8 -7 -6 -5 -4 -3 -2 -1 0
[NM]
1
2
3
4
5
6
7
8
Fig. 7.73 Initial configuration of test case 19—OS at wps 10 9
[NM]
8 7 6 5 OS
4 3 2 1 0
TS 9
-1 -2 -3 -4 -5 -6
TS 6
TS 5
TS 2
TS 7
TS 8
TS 3 TS 4
TS 1
-8 -7 -6 -5 -4 -3 -2 -1 0
Fig. 7.74 TBA solution of test case 19—OS at wp1
[NM]
1
2
3
4
5
6
7
8
172
7 Evaluation of Algorithms 10 9
[NM]
OS
8 7 6 5 4 3 2 1
TS 6
TS 5
0 -1 -2 -3 -4 -5 -6
TS 3 TS 4
TS 7
TS 2
TSTS 8 1
-8 -7 -6 -5 -4 -3 -2 -1 0
TS 9
1
[NM]
2
3
4
5
6
7
8
Fig. 7.75 TBA solution of test case 19—OS at wpg Table 7.40 Input data for test case 19—encounter with 9 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3 4 5 6 7 8 9
86.4 248.7 270.5 110.8 5.6 268.8 229.1 277.7 294.6 245.5
11.6 4.67 20.42 1.58 9.59 22.76 22.45 30.8 11.02 12.87
– 3.97 3.62 5.54 6.05 1.6 7.22 8.53 3.77 4.58
Table 7.41 Results of test case 19—encounter with 9 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.12 9.22 9.22 9.49 9.49
N (◦ )
73, 93 72, 98 72, 98 105, 68 105, 68
– 282.1 298 295.5 265.2 10.3 104.7 95.1 131.8 44.6
Run time (s) 1.01 0.15 9.09 0.16 0.37
7.4 Complex Encounter Situations Registered on Board a Ship
173
[NM]
9
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.76 Comparison of safe trajectories calculated by different algorithms for test case 19— encounter with 9 target ships 9 [NM]
TS 7
8
TS 14
7 6
TS 13
5 4
TS 10
TS TS 11 12
3 2 1 0
TS 5
-1
TS 8 TS 2
OS
TS 3
-2 -3
TS 9
TS 4
TS 6
TS 1
-4 -5 -6
[NM]
-7 -6 -5 -4 -3 -2 -1 0
1
2
3
Fig. 7.77 Initial configuration of test case 20—OS at wps
4
5
6
7
8
9
174
7 Evaluation of Algorithms 9 [NM] 8 7
TS 10
6 5
OS
4 3 2 1
TS 7 TS 9
TS 4
0 -1
TS 3
-2
TS 13
TS 6
-3
TS 14
-5 TS 5
-6
-7 -6 -5 -4 -3 -2 -1 0
TS 2
TS 1 TS 11 TS 12
-4
[NM]
TS 8
1
2
3
4
5
6
7
8
9
Fig. 7.78 TBA solution of test case 20—OS at wp1 9 [NM]
OS
8 7
TS 10
6 5 4 3 2 1 0 -1
TS 3
-2 -3
TS 9
TS 4
TS 13
TS 6
-4
TS 7
-5 -6
TS 5
-7 -6 -5 -4 -3 -2 -1 0
TS 11 TS 12
TS 1
TS 2
TS 8 TS 14
1
Fig. 7.79 TBA solution of test case 20—OS at wpg
2
3
[NM]
4
5
6
7
8
9
7.5 Evaluation of Algorithms From Different Ships Perspectives
175
Table 7.42 Input data for test case 20—encounter with 14 target ships Ship (◦ ) V (kn) D (NM) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
160.9 273.6 315.2 340.9 341.2 337.7 340.8 340.1 350.2 353.1 134.2 352.1 354.8 353.5 353.4
11.6 7.62 7.87 22.43 19.44 11.09 10.71 16.69 17.47 17.53 5.37 17.22 17.25 17.16 17.34
– 1.67 5.1 2.73 2.2 1.84 4.43 8.44 3.74 2.55 3.93 5.05 5.33 6.92 9.08
Table 7.43 Results of test case 20—encounter with 14 target ships Method Distance (NM) (◦ ) VGA TBA ACO WAFR DAPF
9.48 9.22 9.25 9.48 9.48
N (◦ )
154, 206 172, 147 170, 142 168, 116 168, 116
– 338.1 257.8 16.4 73.1 12.1 16.3 169.1 236.3 246.1 182.4 210.1 212.4 205.1 200.8
Run time (s) 2.07 0.14 7.91 0.18 0.4
7.5 Evaluation of Algorithms From Different Ships Perspectives This section presents solutions returned by the TBA from the perspectives of all ships taking part in an encounter situation. Tables 7.44, 7.45 and 7.46 present input data for these scenarios. Selected positions of an OS and TSs in Figs. 7.81, 7.82 and 7.83 are marked with numbers indicating the corresponding time in minutes. Analysis of these results allows to conclude that trajectories calculated by the TBA for all of the vessels participating in an encounter situation do not lead to a collision between any of the ships.
176
7 Evaluation of Algorithms 9
[NM]
VGA TBA ACO WAFR DAPF
8 7 6 5 4 3 2 1 0
[NM]
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.80 Comparison of safe trajectories calculated by different algorithms for test case 20— encounter with 14 target ships Table 7.44 Input data for test case 21—head-on Ship (◦ ) V (kn) 0 1
0 180
14 14
Table 7.45 Input data for test case 22—crossing Ship (◦ ) V (kn) 0 1
0 270
10 10
Table 7.46 Input data for test case 23 with 2 TSs Ship (◦ ) V (kn) 0 1 2
0 270 180
10 10 10
D (NM)
N (◦ )
– 7
– 0
D (NM)
N (◦ )
– 3
– 45
D (NM)
N (◦ )
– 5 7
– 45 0
7.5 Evaluation of Algorithms From Different Ships Perspectives
177
[NM]
10
39
8
35
TS
7
0
6
25
5
5
20
11
4
15
3
15 11
20
2 1
5
25
0
0
OS
-1
35
-2
39
[NM]
-3
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.81 Safe trajectories returned by the TBA from both ships perspectives for test case 21 10
[NM]
9
55
8
48
7 39
6 5
30 16
4 29
3
6
39 16
48
2
60
55
0
TS
1
7
0 -1
0
OS
-8
-7
-6
-5
-4
-3
-2
-1
0
[NM]
1
2
3
Fig. 7.82 Safe trajectories returned by the TBA from both ships perspectives for test case 22
178
7 Evaluation of Algorithms 9
[NM]
54
8
49
TS 2
7
45
0
6
24
10
5
36
4
50
16 15
10
46
60
3
35
24 0 TS 1
25 15
2
10
36
1 0
46
0
OS
50
-1 -2
[NM]
58
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fig. 7.83 Safe trajectories returned by the TBA from all ships perspectives for test case 23
7.6 Comparative Analysis of Algorithms Tables 7.47 and 7.48 show the comparison of safe trajectory planning algorithms described in Chaps. 4 and 5. The methods were evaluated according to seven features: the type of the algorithm (deterministic or non-deterministic), the optimization objective, the consideration of static obstacles, the consideration of dynamic obstacles (target ships), the COLREGs compliance, the repeatability of results for every run of calculations with the same input data and the run time of the algorithm. For most of the criteria the algorithms were evaluated using a descriptive way. Repeatability of results is marked straightforward as the fulfillment (yes in the table) or a failure in the fulfillment (no in the table) of this criterion. The run time of algorithms was evaluated using the following scale: low (less than a second), medium (up to a few seconds), high (from several to tens of seconds). Most of the approaches apply the minimal path length as the optimization objective, except from the DP, where the time-optimal control is applied and the EA which applies the multicriterial optimization. Static obstacles in all algorithms except from the DP, are modeled as polygons. In the DP approach it is possible to take static obstacles into account in the same way as in the remaining algorithms, but it has not been applied. Target ships are modeled using hexagon domains for most of the algorithms. In the DP algorithm, a ship domain is also applied around target ships positions, but different shapes and sizes of domains are generated using a neural network. This approach can also be applied to all other presented algorithms. Deterministic algorithms return repeatable results due to their operation principle. Non-deterministic
7.6 Comparative Analysis of Algorithms
179
Table 7.47 The comparison of algorithms—part 1 Method Type Objective TBA DAPF WAFR VGA DP ACO EA
Deterministic Deterministic Deterministic Deterministic Deterministic Non-deterministic Non-deterministic
Min. path length Min. path length Min. path length Min. path length Time-optimal control Min. path length Length, smoothness transition time
Table 7.48 The comparison of algorithms—part 2 Method Dynamic COLREGs obstacles TBA DAPF
Hexagon domain Hexagon domain
WAFR
Hexagon domain
VGA DP
Hexagon domain Domain (different shapes) Hexagon domain Hexagon domain
ACO EA
Static obstacles Modeled as polygons Modeled as polygons Modeled as polygons Modeled as polygons Possible—not applied Modeled as polygons Modeled as polygons
Repeatability
Run time
Domain shape and size Domain shape and size, potential of cells Domain shape and size, priority of cells Domain shape and size Domain shape and size
Yes Yes
Low Low
Yes
Low
Yes Yes
Medium Low
Domain shape and size Domain shape and size
Enforced No
High High
algorithms, utilizing probabilistic functions, might have problems achieving this feature, but this can be enforced, as it was applied in the ACO. The following algorithms achieve low run time, equal to less than a second: DP, DAPF, WAFR and TBA. The VGA reaches medium run time of up to a few seconds. Non-deterministic approaches (ACO and EA) are characterized by the highest run time, equal from several up to tens of seconds. In practical applications it might be valuable to solve a collision situation using a few algorithms working simultaneously and afterwards applying the best solution for the criteria defined by the system operator.
Conclusions and Future Prospects
The aim of this book was to summarize and systematize the knowledge on the topic of ship collision avoidance. This concluding section includes a few remarks on the current state of ship safe trajectory planning algorithms and trends in their development. Simple collision situations should be preferably solved with the use of one of the deterministic algorithms, due to their repeatable behavior and low run time. For more complex encounters application of non-deterministic approaches might be regarded as an option, due to the possibility to achieve a better solution in terms of the path length, but acceptable run time of an algorithm has to be considered in this case. Future trends, similarly as in the automotive industry, is the autonomous navigation. However, fully autonomous vessels might not be a near future. One of the main reasons of that are the difficulties concerned with the responsibility for accidents and failures. Remotely-controlled vessels might be possible on short fixed routes. An example of such implementation might be the Kongsberg’s electric container ship Yara Birkeland, which started a two-year testing period in November 2021. Other example is the fully autonomous ferry Falco operated by Finferries, which held the first trial in December 2018. IBM along with the marine research organization ProMare at the time of writing this book were also working on the development of an autonomous ship Mayflower 400. This 15 m long trimaran in June 2021 made an attempt to cross the Atlantic. Unfortunately, the mission had to be stopped due to the propulsion system failure. Safe trajectory planning algorithms might be expected to be applied as a decision support tool in the Automatic Radar Plotting Aids on a broader range of ships. Application of collision avoidance and safe trajectory planning algorithms for fully autonomous navigation might be expected for smaller crafts such as USVs or larger ships on fixed, short routes with remote monitoring and operator decision making.
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3
181
Index
A A∗ algorithm, 80 ACO, see Ant Colony Optimization Action choice rule, 97 Advanced Sensor Module, 19 AIS, see Automatic Identification System Algorithm deterministic, 48 exact, 49 heuristic, 49 non-deterministic, 48 Ant algorithm, see Ant Colony Optimization Ant Colony Optimization, 91 ARPA, see Automatic Radar Plotting Aid Automatic Identification System, 9, 107, 117 Automatic Radar Plotting Aid, 9, 105, 109, 117 Autonomous Navigation System, 19, 105, 119, 121 Autonomous ship, 16 Autonomous vessel, see autonomous ship
B Bellman’s principle of optimality, 84
C Candidate solution, 56, 94, 100 Candidate trajectory, see candidate solution Closest Point of Approach, 5, 30, 53 Collision avoidance, 3, 24, 105 Collision risk, 5, 23, 52 Collision Threat Parameters Area, 31 Collision warning, 16 COLREGs, see International Regulations for Preventing Collisions at Sea
Constructive algorithm, 88 CPA, see Closest Point of Approach CTPA, see Collision Threat Parameters Area
D Dangerous target alarm, 16, 53 DAPF, see Discrete Artificial Potential Field Data fusion, 116 Data reception algorithm, 114 DCPA, see Distance at the Closest Point of Approach DDV, see Degree of Domain Violation Decision Support System, 7, 18, 121 Degree of Domain Violation, 30 Degrees of autonomy, 18 Dijkstra’s algorithm, 80 Discrete Artificial Potential Field, 68 Distance at the Closest Point of Approach, 5, 30, 53 DSS, see Decision Support System Dynamic obstacle, see target ship Dynamic programming, 84
E EA, see evolutionary algorithm ECDIS, see Electronic Chart Display and Information System Echo sounder, 8 Edge relaxation, 82 Electronic Bearing Line, 106 Electronic Chart Display and Information System, 10 Encountered ship, see target ship Evolutionary algorithm, 100
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 A. Lazarowska, Safe Trajectory Planning for Maritime Surface Ships, Springer Series on Naval Architecture, Marine Engineering, Shipbuilding and Shipping 13, https://doi.org/10.1007/978-3-030-97715-3
183
184 F Flexibility, 91
G Give-way vessel, 37, 40 Global Positioning System, 10 GNC, see Guidance, Navigation and Control system GPS, see Global Positioning System Graph-based method, 78 Grid-based method, 69, 75 Guidance System, 23 Guidance, Navigation and Control system, 23, 105 Gyrocompass, 8 Gyroscope, 8
I IBS, see Integrated Bridge System IEC 61162-1, 11, 111 61162-3, 11, 112 IMO, see International Maritime Organization Input data, 34, 114 INS, see Integrated Navigation System Integrated Bridge System, 11 Integrated Navigation System, 11 International Convention for the Safety of Life at Sea, 13, 15, 105 International Maritime Organization, 12 International Regulations for Preventing Collisions at Sea, 13, 36 crossing, 39 head-on, 38 overtaking, 38
L Local search algorithm, 88
M Maneuver diagram, 5 Maneuver time, 34 Maritime Autonomous Surface Ship, 18, 119 MASS, see Maritime Autonomous Surface Ship
N Navigational environment, 36
Index Neighborhood Moore, 71 von Neumann, 71 NMEA 0183, 11, 111 2000, 11, 112
O OSD, see Own Ship Data Output data, 58 Own Ship, 3 Own Ship Data, 112, 116
P PAD, see Predicted Area of Danger Path feasible, 50, 55 length, 55 optimal, 50, 56 smoothness, 55 Path planning, 3, 25, 45, 50 global, 46 local, 46 off-line, 46 on-line, 46 Pheromone evaporation, 94, 99 trail deposit, 93, 99 trail update, 96 Pheromone evaporation, 96 PPC, see Predicted Point of Collision Predicted Area of Danger, 30 Predicted Point of Collision, 30, 53
R Radar, 9, 117 Remotely-controlled ship, 18 Risk of collision, see collision risk Robustness, 91 Rotational plane sweep algorithm, 78, 79
S Safe distance, 30 Safe trajectory, 24, 26, 50 Self-organization, 91 Sensor fusion, 105 Ship domain, 27 Ship dynamics, 33 Ship kinematics, 32 Shore Control Center, 19
Index SOLAS, see International Convention for the Safety of Life at Sea Solution construction, 96 Speed reduction maneuver, 60 Stagnation, 94 Stand-on vessel, 37, 40 Static obstacle, 26, 36 Stigmergy, 93 Swarm Intelligence, 91 T Target Ship, 3, 26, 36 acquisition, 106 dangerous, 52 domain violation, 54 relative parameters, 51 tracking, 105 TBA, see Trajectory Base Algorithm TCPA, see Time to the Closest Point of Approach TDV, see Time to Domain Violation Time to Domain Violation, 30 Time to the Closest Point of Approach, 5, 30, 53 TOA, see Trajectory Optimization Algorithm Track keeping, 3 Tracked Target Message, 112, 116
185 Trajectory Base Algorithm, 65 Trajectory generator, 23 Trajectory Optimization Algorithm, 57 Trajectory planning, see path planning Transition time, 55 Traveling Salesman Problem, 93 Trial maneuver, 16 Triangle of velocities, 3 TTM, see Tracked Target Message
U Unmanned ship, 16
V VDR, see voyage data recorder VGA, see Visibility Graph search Algorithm Visibility Graph search Algorithm, 78 Voyage data recorder, 11 Voyage Planning System, 47 VPS, see Voyage Planning System
W WAFR, see Wave-Front algorithm Wave-Front algorithm, 75 Weather routing, 47, 105