Vessel collision avoidance control device, control program for vessel collision avoidance, and method for controlling a vessel

JP2026085533APending Publication Date: 2026-05-25TOKYO KEIKI
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
TOKYO KEIKI
Filing Date
2024-11-13
Publication Date
2026-05-25

AI Technical Summary

Technical Problem

Existing ship autopilot systems face challenges in precise route planning and following for collision avoidance maneuvers, particularly in complex scenarios, leading to potential unintended entry into collision zones.

Method used

A collision avoidance control device that formulates a control barrier function based on relative coordinates between the vessel and obstacles, using a control input calculation unit to determine rudder angles for automatic maneuvering without generating a reference route, employing a control barrier function to define a safe set and solve optimization problems under constraints.

Benefits of technology

Enables flexible and precise automatic collision avoidance without complex case distinctions, reducing operational burden and ensuring safe navigation by automatically adjusting rudder angles to avoid obstacles without altering the target heading.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026085533000001_ABST
    Figure 2026085533000001_ABST
Patent Text Reader

Abstract

It enables flexible automatic collision avoidance maneuvers without the need for complex case distinctions. [Solution] According to the present invention, a control device is provided that includes at least one memory for storing instructions for performing an operation, and at least one processor configured to perform the instructions, wherein the operation includes acquiring first information about the state q of a vessel to be controlled, acquiring second information about the position coordinates of an obstacle, formulating a control barrier function h2 from a first constraint condition for a first function h1 expressed in relative coordinates between the vessel and the obstacle based on the first and second information, and calculating a control input δ based on the control barrier function h2.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to a collision avoidance maneuvering control device. The invention also relates to a control program and control method for collision avoidance maneuvers. [Background technology]

[0002] Ship autopilots, which automatically maintain a ship's course, are well known. There are two main types of ship autopilots. The current mainstream is the heading control system (HCS) specified in the SOLAS Convention (International Convention for the Safety of Life at Sea), which makes the ship's heading follow a target heading. The other type is route-following control, which provides a reference route by setting multiple waypoints, for example, and makes the ship follow it. The device that realizes route-following control is called a route control system (TCS), and it has been actively researched in recent years.

[0003] Route-following control is expected to enable not only automatic navigation to a target position, but also automatic avoidance maneuvers from targets such as buoys. For example, Non-Patent Document 1 below proposes a method to avoid collisions by generating a reference route that avoids the OZT (Obstacle Zone by Target), which indicates the absolute position where a collision between one's own vessel and another vessel is possible, and navigating according to this route.

[0004] On the other hand, avoidance methods that do not rely on the generation of reference routes have also been proposed. For example, in the method described in Non-Patent Document 2 below, the collision risk (CR) is calculated and evaluated for all vessels around the ship, and the ship's operation mode is switched from route navigation mode to avoidance mode according to the evaluation results. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] Kengo Toeda et al., "A Vessel Avoidance Maneuvering Support System for Maritime Mobility," Japan Radio Technical Report, Japan Radio Co., Ltd., 2022, No. 73, pp. 8-11. [Non-Patent Document 2] Rina Miyake et al., "Application of Automatic Avoidance Maneuvering Function Introduced in a Ship Handling Simulator to Congested Sea Areas," Transactions of the Japan Society of Mechanical Engineers (Series C), October 2012 (Manuscript received February 14, 2012), Vol. 78, No. 794, pp. 3408-3412. [Non-Patent Document 3] Kensaku Nomoto et al., "On the steering qualities of ships", International Shipbuilding Progress, July 1957, Vol. 4, No. 35, pp.354-370 [Non-Patent Document 4] Ryota Kubo et al., "Stoppage Avoidance in Mobile Robot Navigation in Unknown Environments Using Artificial Potential Method," Proceedings of the Japan Conference on Automatic Control, Japan Conference on Automatic Control (November 12-13, 2022), 2022, Vol. 65, pp. 8-13. [Overview of the project] [Problems that the invention aims to solve]

[0006] However, avoidance maneuvers using route-following control require addressing two problems: a route planning problem for generating a reference route, and a route-following problem for navigating the vessel according to the generated reference route. In addition, each of these problems needs to be solved with a high degree of precision. That is, the generated reference route must be realistic and followable, and even if a realistic reference route is obtained, if high-precision following of that route cannot be achieved, unintended entry into the area to be avoided may occur.

[0007] Avoiding a collision without generating a reference route eliminates the need to deal with the two complex problems mentioned above. However, the complexity of the case distinctions tends to make the avoidance algorithm complicated. For example, it becomes necessary not only to determine whether avoidance is necessary, but also to determine whether the rudder angle specified for avoidance is large enough to avoid the collision. [Means for solving the problem]

[0008] The present invention provides the following: [1] A collision avoidance control device comprising at least one memory for storing instructions for performing an operation, and at least one processor configured to perform the instructions, wherein the operation includes acquiring first information relating to the state q of a vessel to be controlled, acquiring second information relating to the position coordinates of an obstacle, formulating a control barrier function h2 from first constraint conditions for a first function h1 expressed in relative coordinates between the vessel and the obstacle based on the first and second information, and calculating a control input δ based on the control barrier function h2. A collision avoidance control device according to [2][1], wherein the operation further includes obtaining a set value for a parameter R relating to a distance to be secured between the vessel and the obstacle, and the first function h1 includes the parameter R. [3][2] A collision avoidance maneuvering control device, wherein the control input δ is a nominal input δ corresponding to the target heading AP And, collision avoidance input δ s A control device that is the sum of the two. A collision avoidance control device according to [4][3], wherein the first function h1 defines a convex region that includes the obstacle and has a smooth boundary. A collision avoidance control device according to [5][4], wherein the implicit function representation of the first function h1 when expressed in a coordinate system based on the position of the obstacle is an ellipse, and the principal axis of the ellipse is inclined with respect to the coordinate axes of the coordinate system. The collision avoidance maneuvering control device described in [6][5], wherein the following equation (1) is assumed as the state equation of the ship,

number

number

number

number

number

[10] A control program for collision avoidance maneuvering, comprising machine-readable instructions, and executed by one or more processors, which causes the one or more processors to: acquire first information relating to the state q of a vessel to be controlled; acquire second information relating to the position coordinates of an obstacle; formulate a control barrier function h2 from first constraint conditions for a first function h1 expressed in relative coordinates between the vessel and the obstacle based on the first and second information; and calculate a control input δ based on the control barrier function h2.

[11] A method for controlling a ship, comprising: acquiring first information relating to the state q of the ship; acquiring second information relating to the position coordinates of an obstacle; formulating a control barrier function h2 from first constraint conditions for a first function h1 expressed in relative coordinates between the ship and the obstacle based on the first information and the second information; and calculating a control input δ based on the control barrier function h2. A computer-readable non-temporary recording medium containing a computer program that causes a computer to perform the actions described in

[12]

[11] . [Effects of the Invention]

[0009] According to at least one embodiment of the present invention, a control barrier function is formulated from constraint conditions for a certain function (first function) expressed by the relative coordinates between the obstacle and the ship, and a control input is obtained based on that control barrier function. This makes it possible to realize flexible automatic avoidance maneuvering without requiring complex case distinctions. [Brief explanation of the drawing]

[0010] [Figure 1] This is a functional block diagram illustrating an exemplary hardware configuration of a vessel having a collision avoidance control device according to one embodiment of the present invention. [Figure 2] This is a block diagram illustrating an example of the configuration of a collision avoidance control device installed on the vessel 1 shown in Figure 1. [Figure 3] This is an illustrative flowchart illustrating a method for controlling a ship according to another embodiment of the present invention. [Figure 4] This diagram shows the relationship between variables describing the state of ship 1 and the position coordinates of obstacle 200 under a fixed absolute coordinate system (world coordinate system). [Figure 5] This diagram illustrates the relationship between ship 1 and the ellipse represented by h1=0. [Figure 6] This is a schematic diagram showing the trajectory obtained from a simulation of collision avoidance maneuvering using numerical calculations. [Figure 7] This figure shows the time evolution of each component of state q, η=(x,y,ψ)T, obtained through simulation. [Figure 8] This figure shows the time evolution of each component of state q, μ=(u,v,r)T, obtained through simulation. [Figure 9] Figure 8 shows the time evolution of the second component v and the third component r of μ, specifically the range t = [20, 40]. [Figure 10] This figure shows the time evolution of the control input obtained through simulation. [Figure 11] Figure 10 shows the time evolution of rudder angle δ, nominal input δAP, and collision avoidance input δs, specifically the range t = [20, 40]. [Figure 12] Figure 10 shows the time evolution of rudder angle δ, nominal input δAP, and collision avoidance input δs, specifically the range t = [380, 430]. [Figure 13]This figure shows, from top to bottom, the time evolution of the distance between the hull and the obstacle (xe² + ye²)¹ / ², the first function h1(q), and Lgh2, obtained from the simulation. [Figure 14] Figure 13 shows the time evolution of the distance (xe² + ye²)¹ / ², the first function h¹(q), and Lgh², specifically in the range t = [380, 430]. [Figure 15] This figure shows the time evolution of Hd+γ2h2. [Figure 16] This is a schematic diagram illustrating the rotation of the ellipse E as ship 1 moves and turns. [Figure 17] This figure schematically shows the positional relationship between ship 1 and ellipse E at a time later than the state shown in Figure 16. [Modes for carrying out the invention]

[0011] Embodiments of the present invention will be described below. The various features shown in the embodiments below can be combined with each other. Furthermore, each feature constitutes an independent invention.

[0012] <1. Example of ship configuration> Figure 1 shows an exemplary hardware configuration of a vessel having a collision avoidance control device according to one embodiment of the present invention. The vessel 1 shown in Figure 1 includes a main engine 6 (e.g., a diesel engine), a main engine control unit 16 that supplies drive signals to the main engine 6, a steering gear 8, and a rudder 9 that operates based on the drive of the steering gear 8.

[0013] Herein, the term “vessel” is interpreted to broadly encompass any means of water travel having a main engine and a rudder, with or without crew and cargo, and “vessel” includes, for example, “ship,” “boat,” “watercraft,” “liner,” and “ferry.” Herein, the term “vessel” is used interchangeably with terms such as “ship.”

[0014] In the configuration illustrated in Figure 1, the ship 1 further includes a computer 10 that provides drive command signals to the steering gear 8. The computer 10 may be, for example, a microprocessor-based computing device, a general computing device including a processor and memory, or an electronic control unit.

[0015] In embodiments of the present invention, the computer 10 includes at least one memory. In the example shown in Figure 1, the computer 10 includes a memory 14 that stores instructions for performing operations related to collision avoidance maneuvers. The memory 14 is not limited to RAM or ROM, but may also be storage such as a hard disk drive or a solid-state drive (SSD).

[0016] The computer 10 includes at least one processor configured to execute instructions stored in memory 14. In the configuration illustrated in Figure 1, the computer 10 further includes a control input calculation unit 18. The control input calculation unit 18 may be implemented by various arithmetic circuits such as a CPU, ASIC, FPGA, and DRP. As schematically shown in Figure 1, these elements in the computer 10 are capable of sending and receiving data via a network 5 such as a serial bus.

[0017] The control input calculation unit 18 generates a drive signal for the steering gear 8. The steering gear 8 includes a hydraulic actuator, an electric motor, etc., and rotates the rudder 9, which is installed on the hull of the ship 1, in accordance with the drive signal from the control input calculation unit 18, thereby changing the rudder angle. The steering gear 8 may further have a monitoring mechanism that detects the actual rudder angle and feeds it back to the computer 10.

[0018] The vessel 1 further includes a first information acquisition unit 11 and a second information acquisition unit 12, each connected to the computer 10 via a network 5. Of these, the first information acquisition unit 11 acquires the status of the vessel 1, including its speed, and supplies this as first information to the computer 10. Here, the "status" of the vessel 1 refers to a set of variables corresponding to the degrees of freedom of the vessel 1, which describe the vessel 1 as a physical system. The first information includes data regarding the current position and speed of the vessel 1.

[0019] A typical example of the first information acquisition unit 11 includes a GPS receiver and a gyrocompass. The connection between the first information acquisition unit 11 and the computer 10 may be wired or wireless.

[0020] On the other hand, the second information acquisition unit 12 detects an obstacle to be avoided and acquires information about its location (typically position coordinates) as second information. The second information acquisition unit 12 supplies the acquired second information to the computer 10. In embodiments of the present invention, the second information is information about the position coordinates of the obstacle. The position coordinates acquired by the second information acquisition unit 12 are basically coordinates under a fixed absolute coordinate system (world coordinate system).

[0021] Examples of the second information acquisition unit 12 include electronic chart display devices (ECDIS), automatic identification systems (AIS), and radar. However, the specific examples of the second information acquisition unit 12 are not limited to these; any device capable of detecting obstacles that the vessel 1 must avoid and identifying their locations is acceptable. Devices such as image sensors and LiDARs can also be applied to the second information acquisition unit 12. The second information acquisition unit 12 is not limited to a single device and may be implemented by a combination of two or more devices. Similar to the connection between the first information acquisition unit 11 and the computer 10, the connection between the second information acquisition unit 12 and the computer 10 may be either wired or wireless.

[0022] The first information acquired by the first information acquisition unit 11 and the second information acquired by the second information acquisition unit 12 are passed to the control input calculation unit 18 of the computer 10. Based on these pieces of information, the control input calculation unit 18 calculates the rudder angle as the control input and sends a drive signal corresponding to the calculated rudder angle to the steering machine 8. As will be described later, the control input calculation unit 18, the above-described first information acquisition unit 11, and the second information acquisition unit 12 can constitute an avoidance ship control device.

[0023] In a typical embodiment of the present invention, the ship 1 is equipped with an autopilot for autonomous navigation. That is, the ship 1 can be an autonomous ship. As will be described later, in this embodiment, the control input calculation unit 18 includes a configuration for realizing the function of the autopilot as a part thereof.

[0024] <2. Avoidance Ship Control Device> FIG. 2 shows a configuration example of the avoidance ship control device mounted on the ship 1. In the example shown in FIG. 2, an avoidance ship control device 100 is constituted by a first information acquisition unit 11, a second information acquisition unit 12, and a control input calculation unit 18.

[0025] In the configuration illustrated in FIG. 2, the control input calculation unit 18 of the avoidance ship control device 100 includes two elements: a commanded rudder angle determination device 181 and an avoidance rudder angle calculation device 182. Among these, the commanded rudder angle determination device 181 determines the rudder angle δ d (target bow azimuth) according to the first information received from the first information acquisition unit 11. AP That is, it can be said that the commanded rudder angle determination device 181 corresponds to a part of a conventional autopilot.

[0026] [[ID=2i]] On the other hand, the avoidance rudder angle calculation device i82 calculates and outputs the further required rudder angle δ AP for avoidance based on the above-described first information, the rudder angle δ s determined by the commanded rudder angle determination device 181, and the second information received from the second information acquisition unit 12. Incidentally, as will be described later, for the calculation of the rudder angle δ [[ID=ll]] s the rudder angle δ APIn addition to the first and second pieces of information, several parameters must be provided to the rudder angle calculation device 182. The settings for these parameters can be pre-entered into the computer 10 by, for example, the operator of the vessel 1 and stored in the memory 14.

[0027] In this specification, the output of the command rudder angle determination device 181 is defined as the nominal input δ AP This is called the avoidance rudder angle calculation device 182, and the output of the avoidance input δ s This is called [a specific term]. As shown in Figure 2, when the ship 1 is the target of control, the rudder angle δ, which is passed to the steering gear 8 as a drive signal, is the nominal input δ from the command rudder angle determination device 181. AP And the collision input δ from the collision rudder angle calculation device 182 s It is the sum of.

[0028] As can be seen from Figure 2, since the control input calculation unit 18 has a command rudder angle determination device 181, it can be said that the control input calculation unit 18 has the functions of a conventional autopilot. However, it should be noted that conventional autopilots do not fundamentally require the acquisition of at least the second information, namely information regarding the position coordinates of obstacles and the parameters mentioned above.

[0029] <3. Embodiments of ship control methods> Figure 3 shows an exemplary control flow for a ship according to another embodiment of the present invention. The control method illustrated in Figure 3 generally includes a step S1 for acquiring first information about the state of the ship, a step S2 for acquiring second information about the position coordinates of an obstacle, a step S3 for formulating a control barrier function from first constraints on a first function based on the first and second information, and a step S4 for calculating a control input based on the control barrier function. In the embodiment of the present invention, in step S3, the first function is expressed in relative coordinates between the ship and the obstacle and used for formulating the control barrier function. As will be described later, the ship control flow may further include a step of activating elements of the ship in response to the calculated control input.

[0030] (3-1. Hull model and equation of state of the ship) The following describes an example of the implementation of the control flow shown in Figure 3. In this embodiment of the present invention, the so-called TK model, which is described by the hull motion equation of equation (6) below, is adopted as the model of the ship 1 to be controlled. In the TK model, the tracking index T (seconds) and the turning index K (seconds) are defined. -1 It is described by a linear approximation equation that includes two constants and expresses the characteristics of a ship during the transient phase of motion (see Non-Patent Literature 3). More specifically, given a rudder angle δ0 as input, the angular velocity develops with a time constant T, aiming for steady turning at an angular velocity Kδ0 multiplied by K.

number

[0031] Here, in equation (6) above, δ is the rudder angle and ψ is the turning angle (heading). The dot above ψ represents the derivative with respect to time. The first and second derivatives of ψ with respect to time are called the turning angular velocity and turning angular acceleration, respectively.

[0032] The equations of motion for the ship, including the TK model described above, can be expressed in matrix form as shown in equation (7) below. Here, the 6 degrees of freedom of ship 1 are represented by a 6-component state vector q.

number

[0033] Refer to Figure 4. In equation (7) above, η = (x1, y1, ψ) T The components x1 and y1 are coordinate values ​​in the latitudinal and longitudinal directions, respectively. Here, x1 and y1 represent coordinates in the world coordinate system. The heading ψ represents the angle measured clockwise from the latitudinal coordinate axis. On the other hand, μ=(u,v,r) T The components u, v, and r represent the velocity in the surge direction, the velocity in the sway direction, and the angular velocity of the turn, respectively.

[0034] Each component of the state vector q can be determined by acquiring first information about the state of the ship by the first information acquisition unit 11 (step S1 in Figure 3). The acquisition of the first information by the first information acquisition unit 11 may have a sufficiently short period, for example, less than a few seconds. The acquisition of the first information by the first information acquisition unit 11 is not limited to periodicity and may be irregular.

[0035] Here, for simplicity, we assume that the time change of the surge velocity u (which is a positive value) is 0. That is, (d / dt)u = 0. Even with this assumption, the following discussion does not lose generality. If we write out the matrices A, B and σ in equation (7) above explicitly under this assumption, we get equation (8) below.

number

[0036] In equation (8) above, T v ,T r ,K v and K r These are called hull parameters, and here, T v ,T r ,K r >0,K v <0. Of these, T v and T r These represent the time constants in the v direction and the r direction, respectively, and K v and K r These represent the gains in the v-direction and the r-direction, respectively.

[0037] As can be understood from equations (7) and (8) above, in this embodiment, we assume a state equation of the form of equation (1) below, with the rudder angle δ as the control input. In equation (1) below, f and g are locally Lipschitz continuous functions.

number

[0038] As explained with reference to Figure 2, here we will deal with collision avoidance maneuvers in an autonomous ship equipped with, for example, HCS. That is, the rudder angle δ is δ := δ AP +δ s Defined as, δ AP The target direction ψ d Let this be the nominal input corresponding to . In this case, if HCS is based on PD control, δ AP δ AP =-K p (ψ-ψ d )-K d It can be written as r. K p P is the gain, and K d This is the D gain. The rudder angle δ as the control input is the nominal input δ AP and evasive input δ s By obtaining it as a sum, the output from the command rudder angle determination device 181 as an autopilot can be utilized.

[0039] (3-2. Automatic collision avoidance maneuvers using control barrier functions) The ultimate goal of the collision avoidance control system of this invention is to obtain δ as a collision avoidance input. s As will be explained in detail below, in the embodiments of the present invention, the aim is to achieve automatic avoidance maneuvering without generating a reference route by formulating a control barrier function that defines a safety set and solving an optimization problem under the constraints determined by the control barrier function. Here, "solving the optimization problem" refers to the nominal input δ which is the output from the command rudder angle determination device 181. AP The rudder angle δ that minimizes the difference between the two is given as the collision avoidance input δ. s The objective is to determine the collision avoidance input δ. s This is, so to speak, the nominal input δ AP It functions as a correction value for the target heading of the command rudder angle determination device 181, which acts as an autopilot, and temporarily changes the target heading.

[0040] (3-2-1. First function for determining the control barrier function) In formulating the control barrier function, in the embodiments of the present invention, a certain function (referred to as the "first function h1" for convenience in this specification) is determined based on the position coordinates of the obstacle. The first function h1 serves to divide the water surface into two regions: an "unsafe region" that includes the obstacle, and a "safe region" that is considered to be free from hindrance to navigation. In the embodiments of the present invention, the aim is to achieve autonomous avoidance maneuvering control so that the vessel 1 does not enter the "unsafe region".

[0041] Figure 4 schematically shows such an unsafe region RN by shading. The unsafe region RN is a convex region that contains the obstacle 200 to be avoided and has a smooth boundary, and its contour is not limited to a specific shape and may even be irregular. However, in the embodiment of the present invention, the unsafe region RN is assumed to have a shape with lower symmetry than a perfect circle. In other words, in the embodiment of the present invention, functions whose implicit function representation can be expressed by the equation of a perfect circle are excluded from the candidates for the first function h1.

[0042] In this embodiment, we make the following assumptions. First, the position coordinates (x2, y2) of the obstacle 200 in the world coordinate system are given as known information ("given"), and the error in the position coordinate values ​​is assumed to be sufficiently small. Second information regarding the position coordinates (x2, y2) of the obstacle 200 is acquired by the second information acquisition unit 12 (step S2 in Figure 3) and is provided to the control input calculation unit 18, in particular to the rudder angle calculation device 182. Note that steps S1 and S2 shown in Figure 3 may be executed in any order, or they may be executed in parallel.

[0043] Secondly, we assume that obstacle 200 does not move in the world coordinate system. That is, the position S(x2, y2) of obstacle 200 is described here as a time-invariant point in the world coordinate system. Typical examples of such obstacle 200 include navigational aids, buoys at sea, and reefs.

[0044] Thirdly, the obstacle 200 assumed here is one that can be avoided by manual steering. In other words, we assume a situation in which the obstacle 200 can be avoided by applying steering within a reasonable range relative to the rudder angle specified by the output of the command rudder angle determination device 181. Furthermore, we assume that no deceleration operation is performed on the vessel 1 at this time.

[0045] In embodiments of the present invention, the first function h1 is a function described in terms of real-space coordinates, but includes real parameters that can be specified by the operator of the vessel 1 or the provider of the collision avoidance control device 100, in addition to the coordinate variables. Hereinafter, this parameter is denoted as R. Parameter R relates to the distance to be maintained between the vessel 1 and the obstacle 200. That is, in a typical embodiment of the present invention, the control method for collision avoidance may include the step of obtaining a specific setting of this parameter R. As will become apparent from a later description, by adjusting the setting of parameter R, it is possible to flexibly set how far away from the obstacle 200 the vessel will navigate.

[0046] Here, as an example, we adopt a function whose implicit representation is an ellipse as the first function h1. That is, we adopt a function of the form of equation (2) below. In equation (2) below, K x is, 0 <K x The parameter satisfies <1, and its specific setting value is determined as appropriate by the operator of the vessel 1 or the provider of the collision avoidance control device 100.

number

[0047] As can be understood from equation (2) above, X and Y in equation (2) represent coordinates in the direction along the major and minor axes of the ellipse, with the center of the ellipse (the intersection of the major and minor axes) represented by h1=0 as the origin. Here, 0 <K x Since <1, the ellipse represented by h1=0 is longer in the X direction than in the Y direction. In this embodiment, the center of this ellipse is assumed to be at position S(x2,y2) of the obstacle 200.

[0048] Figure 5 shows the relationship between the ship 1 and the ellipse represented by h1=0. As shown in Figure 5, in this embodiment, the principal axis of the ellipse E represented by h1=0 is assumed to be tilted by θ with respect to the coordinate axis of the x'y' coordinate system, which is based on the position S of the obstacle 200. As shown in Figure 5, the x' axis of the x'y' coordinate system is antiparallel to the u axis, which indicates the surge direction of the ship 1. In this example, the major axis of the ellipse E is tilted by θ with respect to the x' axis.

[0049] Here, θ is an angle satisfying θ≠(nπ / 2) for some integer n. As will be described later, by adopting a function represented by a graph with lower symmetry than a perfect circle as the first function h1, and tilting the axis characterizing the shape of the graph of that function (for example, the major or minor axis in the case of an ellipse) with respect to the coordinate axes of a coordinate system based on the position S of the obstacle 200, the mooring problem can be avoided. Furthermore, if the obstacle 200 is, for example, a meeting vessel, it is possible to determine whether to take evasive action toward the port or starboard side of the meeting vessel depending on the sign of the inclination angle θ.

[0050] As described above, X and Y in equation (2) are coordinates along the major and minor axes of the ellipse E, respectively. However, in the avoidance maneuvering control according to the embodiment of the present invention, the ellipse E is described using coordinates under an x'y' coordinate system based on the position S of the obstacle 200, in other words, relative coordinates as seen from the position S of the obstacle 200. That is, the first function h1 in this embodiment is a function formulated based on the first and second information.

[0051] First, the position coordinates (x2, y2) of obstacle 200 in the world coordinate system, and the position coordinates (x'y' coordinate system) of ship 1 based on the position S of obstacle 200. e ,y e The following relationship (9) holds between ) and ).

number

[0052] Furthermore, in the x'y' coordinate system, the coordinates (X,Y) in equation (2) above are expressed by equation (10) below.

number

[0053] By using equations (9) and (10) above, the first function h1 can be described in an x'y' coordinate system based on the position S of the obstacle 200. As will be explained in detail later with reference to the examples, by describing the first function h1 in a coordinate system based on the position S of the obstacle 200, the outline of the first function h1 also rotates according to the orientation of the hull, which makes it possible to advantageously avoid the problem of stopping when avoiding obstacles.

[0054] Next, we impose a constraint (hereinafter referred to as the "first constraint") on the first function h1 expressed in the x'y' coordinate system. Here, we impose a first constraint of the form of equation (3) below on the first function h1, where γ1 is a positive constant. Note that this first constraint is a constraint to keep ship 1 within the safe region of real space, but the first function h1 is not the control barrier function itself for the system described by equation (7) above.

number

[0055] (3-2-2. Formulation of control barrier function) Next, a control barrier function is formulated from the first constraint condition for the first function h1, which is expressed in relative coordinates between the ship 1 and the obstacle 200 (step S3 in Figure 3). However, even if equation (3) is calculated using equation (2) above, the rudder angle δ, which is the control input, does not appear in the first constraint condition. Therefore, in the embodiment of the present invention, the second function h2 is formulated using the first function h1 by the following equation (4).

number

[0056] Note that with respect to the second function h2 defined by equation (4) above, if h2(q)≧0, the first constraint condition expressed by equation (3) above is automatically satisfied. For this second function h2, we impose the constraint condition shown by equation (11) below, where γ2 is a positive constant.

number

[0057] If we write out the left side of equation (11) above in detail, we obtain equation (5) below.

number

[0058] In equation (5) above, L f and L g This represents the Lie differential operator of the second function h². The constraint shown in equation (5) above will be referred to as the "second constraint" below. Based on this second constraint, the avoidance input δ of the control input δ s This can be determined. The second function h2 is a control barrier function that divides the state space into two parts: a "non-safe region" and a "safe region". Hereafter, the second function h2 will be referred to as the control barrier function h2.

[0059] Here, the control barrier function h2 is a Zero-type control barrier function that takes a value of 0 on the boundary defining the safe set. By applying a Zero-type control barrier function to the control barrier function h2, it is possible to design a control law that takes into account cases such as when the state q of the system described by equation (7) or equation (1) falls outside the safe set. The application of a Zero-type control barrier function is advantageous for more practical problems.

[0060] (3-2-3. Avoidance input δ s ) Next, the control input δ is calculated based on the control barrier function h2 defined by equation (4) above (step S4 in Figure 3). Specifically, the control input δ is calculated from the second constraint condition described by equation (5) above. δ:=δ AP +δ sIf you remember that it was H d =L f h2+L g h2 δ AP By setting this, equation (5) above yields equation (12). The avoidance input δ based on this equation (12) s The output should be taken from the rudder angle calculation device 182. However, H d <-γ2h2 in L g It must be noted that h2 ≠ 0 is required.

number

[0061] (3-2-4. Performing additional operational steps) As will be described later with reference to the examples, according to the embodiment of the present invention, when the ship 1 approaches the obstacle 200, a non-zero avoidance input δ s The following is automatically output, and furthermore, when the evasion is complete, the evasion input δ s The value automatically becomes 0, and the system returns to automatic maneuvering based on PD control. In this way, automatic collision avoidance can be achieved without having to deal with two separate problems: route planning and route following.

[0062] As described above, ship 1 has a calculated collision input δ s The elements of ship 1 may be activated accordingly. A typical example of an element of ship 1 is the steering gear 8. Avoidance input δ s By operating the steering gear 8 based on a drive signal corresponding to a control input δ, which includes the rudder, and changing the rudder angle of the rudder 9, the ship 1 can avoid the obstacle 200 without changing the target heading setting itself. In other words, according to the embodiment of the present invention, automatic avoidance maneuvering of an autonomous ship that already has heading control implemented can be realized with a simple configuration.

[0063] According to embodiments of the present invention, the rudder angle can be changed with minimal intervention to avoid a target with respect to any rudder angle input (e.g., a heading or course specified by the autopilot, or a rudder angle manually entered by the crew). As will be described later with reference to the examples, according to the method of embodiments of the present invention, when the vessel 1 approaches an obstacle 200, a non-zero avoidance input δ is automatically generated. s This is obtained, and by the time the evasion is completed, the nominal input δ AP The intervention against the target automatically terminates, and navigation returns to PD control. According to the embodiment of the present invention, there is no need to make small changes to the target heading during avoidance maneuvers, and a significant reduction in the burden on the ship's operator can be expected.

[0064] The functions of the collision avoidance control device 100 described above may be realized by any combination of hardware and software. When the above functions are realized by software, collision avoidance maneuvers based on the control flow described above can be achieved by the processor of the computer 10 executing a computer program containing machine-readable instructions. The control program for collision avoidance maneuvers may be stored in the memory 14 of the computer 10, or it may be stored on a computer-readable non-temporary recording medium.

[0065] <4. Avoiding the Detour Problem> As can be understood from equation (12) above, H d <-γ2h2, avoidance input δ s A non-zero value is obtained as follows. However, as can be seen from the form of equation (12), L g At the point where h2 is 0, δ s It diverges. In the example above, that is, if we adopt a function whose implicit representation is an ellipse as the first function h1, L g Points where h²=0 are distributed linearly in the region away from the ellipse.

[0066] For example, L gIf a ship is traveling along a straight line consisting of points where h²=0, then unless the target heading changes, the ship will continue to travel along that line towards the obstacle. This corresponds to the stationary problem in obstacle avoidance (see, for example, Non-Patent Document 4).

[0067] L g To investigate the cases where h2=0, L g Let's calculate h2 specifically. To do this, first we calculate the Lie derivative term of the control barrier function h2 on the left side of the inequality in equation (5) relating to the second constraint condition. Specifically, when calculated, L f h2 and L g For h2, we obtain equations (13) and (14) below, respectively.

number

number

[0068] As shown in equation (14) above, L g By specifically calculating the first and second terms of the equation for h2, we obtain the following:

number

[0069] Here, by applying equation (10) above to equation (15), we can use the coordinates (X,Y) to get L g h2 can be written as shown in equation (16) below. In this case, L g The value h²=0 is a hyperbola with the following equation (17) as an asymptote.

number

number

[0070] Each of the asymptotes represented by the above formula (17) extends parallel to the major axis or the minor axis of the ellipse E represented by h1 = 0 (see also the above formula (2)). As the inclination angle θ approaches 0, L g The hyperbola represented by h2 = 0 approaches the major axis or the minor axis of the ellipse E represented by h1 = 0, and at θ = 0, the hyperbola becomes two straight lines that are asymptotes, and at this time, these straight lines coincide with the major axis and the minor axis of the ellipse E. This means that if the ship 1 is traveling along the major axis or the minor axis of the ellipse E represented by h1 = 0, L g it is possible that the ship 1 may be caught on the straight line consisting of the points where h2 = 0. Conversely, if the ship does not sail along the major axis or the minor axis of the ellipse E represented by h1 = 0, such a staying problem can be avoided.

[0071] As described with reference to FIG. 5, in the above-described embodiment, the first function h1 is described in the x'y' coordinate system based on the position S of the obstacle 200, and the major axis and the minor axis (which may also be referred to as the X axis and the Y axis) of the ellipse E represented by h1 = 0 are not parallel to either the x' axis or the y' axis, and are inclined at an angle θ different from (nπ / 2) where n is an integer. That is, according to the collision avoidance ship operation of the present embodiment, for example, when the initial state is immediately after detecting the obstacle 200, at that time, both the major axis and the minor axis of the ellipse E represented by h1 = 0 are inclined from the front direction (u axis) of the ship 1. Therefore, as long as there is no influence of side slip due to disturbances such as waves and tides, it is possible to avoid sailing along those major axis or minor axis.

[0072] Even if the sailing along the major axis or the minor axis of the ellipse E represented by hf = 0 is avoided, it is possible that the ship 1 may cross those major axis or minor axis. When the ship 1 crosses those axes, L g h2 = 0 and δ s may diverge, but the sailing across the major axis or the minor axis of the ellipse E is transient. Therefore, when crossing the major axis or the minor axis of the ellipse E, the value of the collision avoidance input δ s may be temporarily set to 0. Upper and lower limits are provided for the change rate of δ or δ s , and δ sIf divergence is predicted, the control input may be adjusted so as not to exceed those upper and lower limits. That is, when crossing the major axis or minor axis of the ellipse, it is also conceivable to sail by inertia without turning the rudder.

[0073] <5. Determination of Turning Direction> On water, avoidance navigation considering regulations may be required. For example, when another ship approaches from the front of one's own ship, one often encounters a situation where it is necessary to judge whether to avoid to the right or left of the other ship according to regulations. In the conventional avoidance navigation not based on the generation of a reference route, in such a case, the conditional branch is very likely to become complicated. On the other hand, according to a typical embodiment of the present invention, as will be described in detail below, it is possible to determine the turning direction of Ship 1 during avoidance navigation according to the sign of the parameter θ for determining the shape of the first function h1.

[0074] Here, it is assumed that the nominal input δ AP =0, and avoidance of a convoy ship is assumed. That is, consider a situation where, after the operation of Ship 1 has stabilized, x e >0, y e =0. This corresponds to a situation where an obstacle (here, a convoy ship) approaches from the due front of Ship 1. <00​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

[0077] Here, 0 <K x Since <1, (1-K x ) > 0. Also, T v ,T r ,K r >0,K v If we recall that <0, then x e When it is sufficiently large ((K v / T v )+(K r / T r )x e It can also be seen that ) is positive. In other words, x e When it is sufficiently large (for example, the initial state immediately after detecting obstacle 200), L g The sign of h2 depends only on sin(2θ), and if we consider θ∈[-π / 2,π / 2]\{0}, then ultimately it becomes sgn(δ s ) = sgn(θ).

[0078] In other words, in this embodiment, a first function h1 such that its implicit function representation is an ellipse is described using the relative coordinates between the obstacle 200 and the ship 1, and the principal axis of the ellipse is tilted by an angle θ with respect to the coordinate axes (x' axis and y' axis) of the relative coordinate system. Depending on the sign of this angle θ, or in other words, the direction in which the ellipse is tilted with respect to the position of the obstacle 200, the avoidance input δ s The sign of the ellipse can be controlled. Therefore, if an obstacle such as an approaching vessel is present in the current target direction, by appropriately setting the parameter θ that determines the properties of the ellipse, it is possible to choose whether to avoid the approaching vessel to the port side (θ>0) or to the starboard side (θ<0), in other words, to select the direction of the turn for avoidance. That is, it is possible to achieve avoidance that takes into account the law.

[0079] Furthermore, the situation where obstacle 200 is located directly in front of ship 1, that is, x e >0,y e Under the assumption that = 0, L g From equation (18) above, we can see that there are three cases in which h2 = 0. (A)Kx When h1 = 1, that is, when the graph represented by h1 = 0 is a perfect circle. (B) When n is an integer and θ = (nπ / 2). If the graph represented by h1 = 0 is, for example, an ellipse, then the principal axis of that ellipse is not tilted with respect to the coordinate axes of the relative coordinate system. (C)x e = 0 or x e =-(T r / K r )(K v / T v ) when.

[0080] In this embodiment, 0 <K x Since we have set <1 and θ≠(nπ / 2), cases (A) and (B) can be excluded. Also, among (C) x e =0 is excluded because it means the ship is at the location of an obstacle, i.e., in a collision situation. What remains is x e =-(T r / K r )(K v / T v This is the case of T. v ,T r ,K r >0,K v Recalling that it was <0, x e =-(T r / K r )(K v / T v It can be seen that the right-hand side of ) is positive. Therefore, as the parameter R that determines the properties of the ellipse, -(T r / K r )(K v / T v You can choose a positive number greater than x. In other words, x e =-(T r / K r )(K v / T v Points (L) such that the following holds true g It is possible to include points where h2=0 within the non-safe region RN. This is achieved by appropriately selecting the setting value of the parameter R, so that L is within the safe region. gIt means that it is possible to avoid collision while satisfying h2≠0.

[0081] <6. Other examples of the first function h1> In the example described while referring to FIG. 5, as the first function h1, a function is adopted such that the implicit function representation becomes an ellipse when expressed in a coordinate system based on the position S of the obstacle 200. However, the present invention is not limited to this example, and any function that includes an obstacle inside and defines a convex region with a smooth boundary can be adopted as the first function h1, excluding a perfect circle. Note that a function whose implicit function representation becomes the equation of a perfect circle is excluded because, as described above, at x e >0 and y e =0, L g h2 = 0 holds identically.

[0082] As the first function h1, in addition to a function whose implicit function representation becomes an ellipse, for example, a conic curve with an eccentricity e such that 0 < e ≤ 1 can also be adopted as the first function h1. The case where the eccentricity e is less than 1 corresponds to an ellipse. When e = 1, the directrix may be inclined at an angle θ different from (nπ / 2) with respect to the coordinate axes of the coordinate system based on the position S of the obstacle 200. According to an embodiment of the present invention, since the control barrier function h2 is formulated using the first function h1, various shapes can be flexibly adopted as the shape of the boundary of the safe region in the real space. For example, the shape of the boundary of the safe region is not limited to the shape defined by a conic curve, and may be a rounded polygon. In that case, a function that takes a value of 0 on the contour of the rounded polygon may be adopted as the first function h1.

Example

[0083] According to the control flow shown in FIG. 3, the avoidance input δ s was calculated, and a simulation of avoidance ship operation by numerical calculation was performed. In applying the above control flow, the parameters required for acquisition are as follows. · Hull parameter T v , T r , K [[ID=三十二]] v , K r • Hull condition q=(η,μ) T • The position coordinates (x2, y2) of the obstacle in the world coordinate system.

[0084] During the simulation, the hull parameters were set to T v =T r =50 seconds, K v =-0.5 seconds -1 , K r =0.06 seconds -1 This was set. Also, the initial value of the hull state was set to η(0)=(0,0,0). T μ(0)=(10kt,0,0) T Let the position coordinates of the obstacle in the world coordinate system be (x2, y2) = (2000, 0), and the target direction be ψ d We set = 0. That is, in the initial state, an obstacle is located at a distance in front of the hull, and the bow of the ship is facing the obstacle.

[0085] Here, as in the example above, we assume that the first function h1 is a function whose implicit representation is an ellipse. In that case, the parameters required for the collision avoidance design (which we will conveniently call "design parameters") are as follows: • Parameter K that determines the properties of the ellipse x ,θ • Constant parameters γ1, γ2 • The distance R to be maintained from obstacles when turning to avoid them.

[0086] For the simulation, the design parameters were set as follows: K x It was assumed that the ratio was (1 / 2), θ = 0.1 degrees, γ1 = (1 / 90), γ2 = (1 / 10), and R = 900 m (approximately 0.5 nautical miles). Also, here, K in PD control p and K d These values ​​were set to 1 and 25, respectively.

[0087] (calculation result) Figure 6 shows the trajectory obtained from the simulation. The square plots in Figure 6 represent the position of the ship every 10 seconds. The dashed ellipse shows the graph for h1=0 in the initial conditions. The area outside this dashed ellipse is the safe zone in the initial conditions. In Figure 6, for reference, a disk region of radius R centered on the position of the obstacle is superimposed on the h1=0 ellipse and shown with shading.

[0088] Figure 7 shows the state q, where η = (x, y, ψ) T The time evolution of each component is shown. The upper, middle, and lower panels of Figure 7 show graphs of the time evolution of the first component x, the second component y, and the third component ψ, respectively. Similarly, Figure 8 shows the state q where μ=(u,v,r) T This shows the time evolution of each component. The upper, middle, and lower panels of Figure 8 show graphs of the time evolution of the first component u, the second component v, and the third component r, respectively. Figure 9 shows the time evolution of the second component v and the third component r of μ, extracted for the range t=[20,40].

[0089] Figure 10 shows the time variation of the control input. In Figure 10, the upper graph shows the time variation of the rudder angle δ, which is the control input, and this rudder angle δ corresponds to the output from the collision avoidance control device 100. In Figure 10, the middle graph shows the nominal input δ. AP The graph below shows the time variation of the collision avoidance input δ. s This shows the time evolution. Figure 11 shows the rudder angle δ and nominal input δ. AP and naval collision input δ s The time variation of is shown for the range t=[20,40]. Figure 12 shows the rudder angle δ and nominal input δ. AP and naval avoidance input δ s We will extract and show the range t = [380, 430] from the time evolution of [the variable].

[0090] Figure 13 shows the distance (x) between the hull and the obstacle, for the purpose of discussing the simulation results. e 2 +y e 2 ) 1 / 2 , the first function h1(q), and L gThe time evolution of h2 is shown from top to bottom. Figure 14 shows the distance (x e 2 +y e 2 ) 1 / 2 , the first function h1(q), and L g The time variation of h2 is shown in the range t = [380, 430]. Figure 15 shows H d This shows the time evolution of +γ2h2. In Figure 15, the graph in the lower section in particular shows H d The time evolution of +γ2h2 is shown, specifically in the range t=[380,430].

[0091] (Evaluation of the obtained trajectory) From Figure 6 and the upper graph of Figure 13, which shows the time change in the distance between the hull and the obstacle, it can be seen that the ship is always navigating at a distance of R or greater from the position S of the obstacle. Referring to Figure 6, it appears at first glance that the ship is entering the inside of the ellipse shown in the graph at h1=0, in other words, the unsafe region RN. However, it should be noted that the ellipse shown in Figure 6 is the graph at t=0, i.e., the initial state.

[0092] In embodiments of the present invention, a first function h1 is used, which is described by the relative coordinates between the obstacle and the vessel, with the position of the obstacle as the reference point. Therefore, the contour of the non-safe area RN (which can also be called the boundary with the safe area), represented by h1=0, rotates around the position of the obstacle as the vessel moves, including turning, as schematically shown in Figures 16 and 17. The dashed ellipse in Figure 17 corresponds to the graph of the ellipse E in the state shown in Figure 16.

[0093] Thus, although the vessel can approach the obstacle with distance R as the lower limit, it does not actually enter the unsafe zone RN. This can also be confirmed by the fact that the graph of h1, shown in the middle section of Figure 13 and the middle section of Figure 14, is always greater than or equal to 0. In other words, the vessel remains within the safe zone during the avoidance process.

[0094] Furthermore, the temporal transitions of each component η and μ confirm that the state q of the ship transitions smoothly. For example, Figure 9 shows that the temporal changes of v and r are smooth.

[0095] Next, referring to Figures 10 and 11, the avoidance input δ based on the control barrier function h2 is shown. s It can be seen that it also changes smoothly. Note that the graph of rudder angle δ and avoidance input δ are shown in Figure 10. s In the graph, a spike appears to appear at the start of the evasive maneuver, but as can be seen by referring to Figure 11, this falls within the range of a normal overshoot and can be described as a smooth rise.

[0096] In this simulation, the control input δ and avoidance input δ were observed around t=397 seconds. s The rate of change is discontinuous. This is because, as shown in Figure 15, in this example, t ≈ 397 is H d <-γ2h2 and H d This is presumed to be due to the fact that it is the point of transition (zero-crossing point) with ≥-γ2h2.

[0097] Furthermore, referring to the control input δ graph shown in the upper part of Figure 10, it can be seen that the rudder angle takes a maximum value of approximately 0.75 rad (approximately 43°). This is a fairly large rudder angle for a typical ship. However, even with the same turning radius, the size of the rudder angle required for turning varies depending on the hull parameters and ship speed. In this simulation, the above maximum value for the rudder angle was obtained, but it is naturally expected that a smaller value will be obtained for the rudder angle required for avoidance if the ship is easier to turn or if the ship speed is different. Also, for example, by adopting smaller settings for the constant parameters γ1 and γ2, avoidance will start earlier, and as a result, it is possible to reduce the maximum value of the control input. Thus, the fact that a rudder angle of approximately 0.75 rad was obtained in this simulation does not immediately negate the usefulness of the embodiment of the present invention. [Explanation of Symbols]

[0098] 1: Ship 5: Network 6: Main engine 8: Steering gear 9: Rudder 10: Computer 11: 1st Information Acquisition Department 12:Second information acquisition section 14: Memory 16: Main engine control section 18: Control Input Calculation Unit 100: Collision avoidance maneuvering control system 181: Command rudder angle determination device 182: Rudder angle calculation device for avoiding collisions 200: Obstacle E: Ellipse RN: Non-safe area S: Obstacle δ: Rudder angle (control input) δ AP : Nominal input δ s : Avoidance input ψ d :Target direction

Claims

1. A collision avoidance maneuvering control device, At least one memory to store instructions for performing an operation, At least one processor configured to execute the aforementioned instructions and Equipped with, The aforementioned operation is, To obtain first information regarding the state q of the ship being controlled, To obtain second information regarding the position coordinates of obstacles, Based on the first and second information, the first function h is expressed in terms of relative coordinates between the ship and the obstacle. 1 From the first constraint condition for the control barrier function h 2 To formulate, The control barrier function h 2 Based on this, the control input δ is calculated. A control device, including a control device.

2. A collision avoidance maneuvering control device according to claim 1, The aforementioned operation is, To obtain the setting value of parameter R, which relates to the distance to be maintained between the obstacle and the vessel. It further includes, The first function h 1 a control device that includes the parameter R.

3. A collision avoidance maneuvering control device according to claim 2, The control input δ corresponds to the nominal input δ of the target heading. AP And, collision avoidance input δ s A control device that is the sum of the two.

4. A collision avoidance maneuvering control device according to claim 3, The first function h 1 A control device that defines a convex region that includes the aforementioned obstacle and has a smooth boundary.

5. A collision avoidance maneuvering control device according to claim 4, The first function h when expressed in a coordinate system based on the position of the aforementioned obstacle 1 The implicit function representation of shows an ellipse, A control device in which the principal axis of the ellipse is inclined with respect to the coordinate axes of the coordinate system.

6. A collision avoidance maneuvering control device according to claim 5, Assuming the following equation (1) is the equation of state for the aforementioned ship, [Math 1] Here, in equation (1), the dot indicates the time derivative, and f and g are locally Lipschitz-continuous functions. the first function h 1 is represented by the following formula (2) using a parameter K x satisfying 0 < K x < 1, [Math 2] Here, in equation (2), X and Y represent coordinates along the major and minor axes of the ellipse, respectively. The first function h 1 The first constraint on γ 1 Let be a positive constant, and it is described by the following equation (3): [Math 3] The control barrier function h 2 This is the first function h 1 It is defined by the following equation (4), [Math 4] The control input δ The avoidance input δ of the control input δ s is, γ 2 Let L be a positive constant. f and L g The control barrier function h 2 The control barrier function h is described by the following equation (5) as the Lie differential operator for h. 2 A control device determined from the second constraint condition for [the specified element]. [Math 5]

7. A collision avoidance maneuvering control device according to claim 1, The control barrier function h 2 This is a control device that is a Zero-type control barrier function that takes a value of 0 on the boundary defining the safe set.

8. A collision avoidance maneuvering control device according to any one of claims 1 to 7, The control device further includes the operation of acting on elements of the vessel in response to the control input δ.

9. A control program for collision avoidance maneuvering, comprising machine-readable instructions, and executed by one or more processors, to the one or more processors: To obtain first information regarding the state q of the ship being controlled, To obtain second information regarding the position coordinates of obstacles, Based on the first and second information, the first function h is expressed in terms of relative coordinates between the ship and the obstacle. 1 From the first constraint condition for the control barrier function h 2 To formulate, The control barrier function h 2 Based on this, the control input δ is calculated. A control program that executes something.

10. A method for controlling a ship, To obtain first information regarding the state q of the aforementioned vessel, To obtain second information regarding the position coordinates of obstacles, Based on the first and second information, the first function h is expressed in terms of relative coordinates between the ship and the obstacle. 1 From the first constraint condition for the control barrier function h 2 To formulate, The control barrier function h 2 Based on this, the control input δ is calculated. A control method including