Ship navigation assisting device
11776411 · 2023-10-03
Assignee
Inventors
Cpc classification
B63B79/10
PERFORMING OPERATIONS; TRANSPORTING
B63B43/18
PERFORMING OPERATIONS; TRANSPORTING
International classification
B63B49/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A ship navigation assisting device includes: an area setter 304 that sets, for a target ship, a polygonal safe navigation area defined by a plurality of vertices and surrounding the target ship; a collision point calculator 305 that calculates, based on a speed of the own ship, a relative position between the own ship and the target ship, and a velocity vector of the target ship, collision points between each of the plurality of vertices constituting the safe navigation area and the own ship; and a collision danger area calculator 306 that connects the plurality of collision points calculated by the collision point calculator 305 to calculate a collision danger area.
Claims
1. A ship navigation assisting device that calculates a collision danger area between own ship and a target ship to assist the navigation of the own ship, comprising: a processor configured to: set, for the target ship, a polygonal safe navigation area defined by a plurality of vertices and surrounding the target ship; calculate, based on a speed of the own ship measured by a global navigation satellite system (GNSS) sensor on the own ship, a relative position between the own ship and the target ship, and a velocity vector of the target ship, a plurality of collision points between each of the plurality of vertices constituting the polygonal safe navigation area and the own ship, wherein the relative position between the own ship and the target ship is calculated based on a position of the own ship measured by the GNSS sensor and a position of the target ship measured by a radar device and the velocity vector of the target ship is measured by the radar device; and connect the plurality of collision points to one another to calculate the collision danger area.
2. The ship navigation assisting device according to claim 1, wherein the processor is further configured to acquire target ship information comprising at least one of a ship type, a navigation status, a ship length, or a ship width of the target ship, wherein the processor sets, based on the target ship information, one of a shape of the polygonal safe navigation area, a size of the polygonal safe navigation area, or a relative position between a position of the target ship and a center of the polygonal safe navigation area.
3. The ship navigation assisting device according to claim 2, wherein the target ship information includes at least the ship type of the target ship, and the processor sets the relative position between the position of the target ship and the center of the polygonal safe navigation area based on the ship type of the target ship included in the target ship information.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
BEST MODE FOR CARRYING OUT THE INVENTION
(18) Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
(19) Configuration of Ship Navigation Assisting Device)
(20) The configuration of a ship navigation assisting device according to the present embodiment will be described.
(21) As illustrated in
(22) The sensors 4 include a speed log for detecting the log speed of the ship 1, a gyro compass for detecting the heading of the ship 1, and a GNSS (Global Navigation Satellite System) sensor for detecting the position of the ship 1 and a course and speed over the ground from a GNSS such as GPS. The AIS 5 and AIS 6 are each a device capable of data transmission and reception and each receive ship data from the AIS installed on board other ships. The ship data includes Maritime Mobile Service Identity code, ship name, ship type, draft, destination, estimated time of arrival, navigation status, longitude, latitude, speed, course, ship length, ship width, heading, and other information items.
(23) The ship navigation assisting device 3 is, for example, a radar display or an electronic navigational chart system and includes, as hardware, a CPU (Central Processing Unit) 31, a RAM (Random Access Memory) 32, a storage unit 33, an external I/F (Interface) 34, and a network I/F 35, as illustrated in
(24) The ship navigation assisting device 3 includes, as functional configurations, a TT (Target Tracking) processor 301, own ship information acquiror 302, a target ship information acquiror 303, an area setter 304, a collision point calculator 305, a collision danger area calculator 306, and a displayer 307.
(25) The TT processor 301 automatically detects the target ship 2 from a radar video signal transmitted from a not-shown radar device and tracks it, calculates the position coordinates and velocity vector of the target ship 2, and calculates the position coordinates and velocity vector of the own ship 1 from measurement data concerning the own ship 1 which is measured by the sensors 4.
(26) Own ship information acquiror 302 acquires the position coordinates and velocity vector of the own ship 1 calculated by the TT processor 301 as own ship information. The target ship information acquiror 303 acquires, as target ship information, the position coordinates and velocity vector of the target ship 2 calculated by the TT processor 301 and ship data of the target ship 2 received by the AIS 5.
(27) The area setter 304 sets a safe navigation area with respect to the target ship 2 based on the target ship information acquired by the target ship information acquiror 303. The safe navigation area has an optionally determined two-dimensional shape surrounding the position coordinates of the target and is a polygonal shape obtained by connecting a plurality of vertices.
(28) The collision point calculator 305 calculates, based on the relative position and velocity vector of the target ship 2 with respect to the own ship 1 and the speed of the own ship 1 which are obtained from the own ship information and target ship information, collision points between the own ship 1 and the vertices of the safe navigation areas set for target ship 2. The collision danger area calculator 306 connects the collision points calculated by the collision point calculator 305 and determines the connection relationship as a collision danger area.
(29) The displayer 307 displays, on a display connected to the ship navigation assisting device 3, a wake obtained by plotting the position coordinates of the target ship 2 and the velocity vector of the target ship 2 calculated by the TT processor 301, and the position coordinates and velocity vector of the own ship 1 calculated by the TT processor 301. Further, the displayer 307 displays the collision danger area calculated by the collision danger area calculator 306 on the display.
(30) (Operation of Ship Navigation Assisting Device)
(31) The following describes the operation of the ship navigation assisting device concerning the calculation of the collision danger area.
(32) As illustrated in
(33) Here, the safe navigation area will be described. As illustrated in
(34) The area setter 304 changes the shape of the safe navigation area based on the target ship information of the target ship 2. Specifically, the area setter 304 sets the shape and size of the safe navigation area, the center position of the safe navigation area with respect to the position coordinates of the target ship 2 based on the ship type, navigation status, ship length ship width, and the like of the target ship information. For example, when the ship type of the target ship 2 is a fishing vessel, the center position of the safe navigation area is offset rearward in the travel direction as in the safe navigation area S2 set for the target ship 2b of
(35) After the safe navigation area is set, the collision point calculator 305 executes collision point calculation processing of calculating the collision points between the vertices of the safe navigation area and the own ship 1 (S104). Then, the collision danger area calculator 306 executes connection relationship determination processing of determining the connection relationship between the collision points calculated through the above collision point calculation processing (S105). Details of the collision point calculation processing and connection relationship determination processing will be described later.
(36) (Calculation Method for Collision Points)
(37) The following describes a calculation method for the collision points. For easy understanding of the present embodiment, a calculation method for a collision point between the own ship and the target ship will be described prior to a description of the collision points between the own ship and vertices of the safe navigation area set for the target ship.
(38) In
(39) It is assumed here that the target ship 2 travels without changing its course and speed and that the own ship travels while changing only its course. Own ship position O(t)(X.sub.o(t), Y.sub.o(t)) and a target ship position T(t)(X.sub.t(t), Y.sub.t(t)) are represented by the following equations.
(40)
(41) A collision point P(X.sub.p′, Y.sub.p) between the own ship 1 and the target ship 2 is a point at which O(t) and T(t) coincides with each other, so that the velocity vector value of the own ship 1 when the own ship 1 has a collision point with the target ship 2 is represented by the following equation (3) assuming that the right sides of the above equations (1) and (2) are equal for each of X and Y components.
(42)
(43) A speed V.sub.o of the own ship 1 is an invariant value, so that the following equation (4) is always satisfied.
[Numeral 3]
V.sub.o0x.sup.2+V.sub.o0y.sup.2=V.sub.o.sup.2 (4)
(44) Then, (X.sub.t0−X.sub.o0)=X, (Y.sub.t0−Y.sub.o0)=Y is obtained by substituting expression (3) into expression (4), and quadratic equation (5) is solved for t, whereby an arrival time t for the own ship 1 to reach the collision point can be calculated.
(45)
(46) The collision point P(X.sub.p′, Y.sub.p) can be calculated by substituting t in equation (5) into equation (2) as the following equation (6).
(47)
(48) To calculate a collision point P.sub.i(X.sub.ip′, Y.sub.ip) (i=1, 2, . . . , n) between the own ship 1 and the vertex E.sub.i(X.sub.ie0, Y.sub.ie0) (i=1, 2, . . . , n) of the safe navigation area set for the target ship 2, the vertex E.sub.i(X.sub.ie0, Y.sub.ie0) is substituted into the position of the target ship 2 in equation (6) for calculating the collision point between the own ship 1 and the target ship 2 assuming that the safe navigation area does not change with time. In this manner, the collision point is calculated for each of the vertices constituting the safe navigation area.
(49) The number of the collision points to be calculated for each vertex changes depending on the speed ratio between the own ship 1 and the target ship 2 and the relative position between the own ship 1 and each vertex, i.e., depending on the number of solutions that satisfy t>0 in equation (5). Specifically, the number of the collision points for each vertex is classified as follows assuming that the discriminant of the quadratic equation for t obtained by substituting equation (3) into equation (4) is D. a) In a case where the target ship 2 is lower in speed than the own ship 1, the number of collision point is always one. b) In a case where the target ship 2 and the own ship 1 are equal in speed, one collision point exists when X.sub.iV.sub.t0x+Y.sub.iV.sub.t0y<0 is satisfied and no collision point exists when X.sub.iV.sub.t0x+Y.sub.iV.sub.t0y≥0 is satisfied. c) In a case where the target ship 2 speed is faster than the own ship 1, two collision points exist when both D>0 and X.sub.iV.sub.t0x+Y.sub.iV.sub.t0y<0 are satisfied, one collision point exists when both D=0 and X.sub.iV.sub.t0x+Y.sub.iV.sub.t0y<0 are satisfied, and no collision point exists when D<0 is satisfied.
(50) In the above classification, D, X.sub.i, and Y.sub.i satisfy the following relationships.
[Numeral 6]
D=4{(X.sub.iV.sub.t0x+Y.sub.iV.sub.t0y).sup.2−(V.sub.t0x.sup.2+V.sub.t0y.sup.2−V.sub.o.sup.2)−(X.sub.i.sup.2+Y.sub.i.sup.2)} (7)
[Numeral 7]
X.sub.i=X.sub.ie0−X.sub.o0
Y.sub.i=Y.sub.ie0−Y.sub.o0 (8)
(51) For intuitively understanding the number of the collision points, the above classification can be interpreted as follows. In the case of the classification a), since the own ship 1 speed is faster, there should exist a course on which the own ship 1 will catch up with the target ship 2. In the case where no collision point exists in the classification b), since the target ship 2 and the own ship 1 are equal in speed, the own ship 1 cannot catch up with the target ship 2 when the target ship 2 travels away from the own ship 1. In the case where two collision points exists in the classification c), since the target ship 2 speed is faster, there are two possibilities of collision: one is a case where the target ship 2 collides with the own ship 1 from the front thereof; and the other is a case where the target ship 2 collides with the own ship 1 from the back thereof.
(52) (Collision Point Calculation Processing)
(53) The following describes the collision point calculation processing.
(54) The collision point calculator 305 selects one unselected vertex from among the plurality of vertices constituting the safe navigation area set for the target ship 2 (S201). Then, for the selected vertex, the collision point calculator 305 calculates the collision point with the own ship 1 using the above-described calculation method (S202) and determines whether there exists any collision point as a collision point calculation result (S203).
(55) When there exists any collision point (Yes in S203), the collision point calculator 305 records the calculated collision point in the storage unit 33 in association with the vertex being selected and arrival time for the own ship 1 to reach the calculated collision point (S204) and then determines whether there is any unselected vertex among the plurality of vertices constituting the safe navigation area set for the target ship 2 (S205).
(56) When there is no unselected vertex (NO in S205), the collision point calculator 305 ends the collision point calculation processing.
(57) On the other hand, when there is any unselected vertex (YES in S205), the collision point calculator 305 selects one unselected vertex again (S201).
(58) When there is no collision point in step S203 (NO in S203), the collision point calculator 305 determines whether there is any unselected vertex (S205).
(59) (Collision Point Connection Method)
(60) The following describes a collision point connection method.
(61) In the connection of the collision points, when a first vertex of the safe navigation area adjacent to a second vertex has a collision point, the first and second vertices are connected by a line segment. The number of the collision danger areas changes depending on the number of the collision points calculated for each vertex and is classified as follows. a) In a case where the target ship 2 is lower in speed than the own ship 1, the number of the collision danger areas is necessarily one. b) In a case where the target ship 2 and the own ship 1 are equal in speed, no collision danger area exists, or one collision danger area exists. c) In a case where the target ship 2 speed is faster than the own ship 1, no collision danger area exists, or one or two collision danger areas exist.
(62) That is, the connection of the collision points is determined as follows corresponding to the above classifications a) to c) depending on the speed ratio between the target ship 2 and the own ship 1 and the state of occurrence of the collision point P calculated for each vertex of the safe navigation area.
(63) a, b) a Case where the Speed of the Target Ship is Equal to or Lower than the Speed of the Own Ship
(64) Only when the adjacent vertices of the safe navigation area have collision points, the collision points are connected by a line segment. If all vertices have a collision point, the collision danger area obtained is a closed area, but if there is a vertex without a collision point, the collision danger area becomes an open area since the collision points calculated for two vertices adjacent to the vertex without a collision point are not connected to each other.
(65) c) Case where the Target Ship Speed is Faster than the Speed of the Own Ship
(66) In this case, the following three situations are considered according to the number of collision points at each vertex: c1) Two collision danger areas are separated from each other; c2) Two collision danger areas contact each other; and c3) Two collision danger areas overlap each other and are recognized as one collision danger area.
(67) The situation of each of the above c1) to c3) will be described in detail.
(68) c1) Case where Two Collision Danger Areas are Separated from Each Other
(69) When there are two collision points at each vertex of the safe navigation area, the arrival times to reach the two collision points are compared for each vertex, and the collision points are classified into a group having a short arrival time and a group having a long arrival time. Then, the collision points between the adjacent vertices are connected by line segments for each group. As a result, two separate closed spaces are formed. The length of the arrival time corresponds to the solution when the numerator in the equation (5) is positive and the solution when the numerator therein is negative.
(70) c2) Case where Two Collision Danger Areas Contact Each Other
(71) When there is a vertex having one collision point among the vertices of the safe navigation area, and all other vertices each have two collision points, the arrival times to reach the two collision points are compared for each vertex having two collision points, and the collision points are classified into a group having a short arrival time and a group having a long arrival time. Then, the collision points between the adjacent vertices are connected byline segments for each group. At this time, vertices having only one collision point are regarded as belonging to the both groups and connected to the collision points of the adjacent vertices belonging to the both groups.
(72) In this case, the number of vertices having one collision point in principle is two at the maximum.
(73)
(74) c3) Case where Two Collision Danger Areas Overlap Each Other
(75) In cases other than the above c1) and c2), the two collision danger areas overlap each other and are viewed as one collision danger area. In such a case, when there is any of the vertices of the safe navigation area at which no collision point exists, the arrival times to reach the two collision points are compared for each vertex having two collision points, and the collision points are classified into a group having a short arrival time and a group having a long arrival time. Then, the collision points between the adjacent vertices are connected by line segments for each group. At this time, vertices having only one collision point are regarded as belonging to the both groups and connected to the collision points of the adjacent vertices belonging to the both groups.
(76) In this case, when one of two vertices adjacent to a vertex having only one collision point has no collision point, two collision points of the other vertex are connected together.
(77) Further, also when two collision danger areas overlap each other, and two vertices have no collision point, two collision points of each of four vertices adjacent to the vertices having no collision point are connected together.
(78) Further, also when two collision danger areas overlap each other, only one vertex has one collision point, and vertices that are not adjacent to the vertex having one collision point have no collision point, two collision points of each of two vertices adjacent to the vertices having no collision point are connected together.
(79) (Connection Relationship Determination Processing)
(80) The following describes the connection relationship determination processing. As described above, the collision point connection method for calculating the collision danger area is classified into a plurality of patterns. Thus, the connection processing is executed after the connection processing corresponding to each pattern is determined through the connection relationship determination processing.
(81) As illustrated in
(82) When the speed of the target ship 2 is not equal to or lower than the own ship 1 (NO in S301), the collision danger area calculator 306 determines whether there is any vertex having no collision point among the plurality of vertices constituting the safe navigation area set for the target ship 2 (S302). For making this determination, the collision danger area calculator 306 determines the presence/absence of the collision point stored in association with each of the vertices constituting the safe navigation area.
(83) When there is no vertex that has no collision point (NO in S302), the collision danger area calculator 306 executes third connection processing to be described later (S303).
(84) On the other hand, when there is any vertex that has no collision point (YES in S302), the collision danger area calculator 306 executes second connection processing to be described later (S304).
(85) When the speed of the target ship 2 is equal to or lower than that of the own ship 1 (YES in S301), the collision danger area calculator 306 executes first connection processing to be described later (S305).
(86) (First Connection Processing)
(87) The following describes the first connection processing.
(88) As illustrated in
(89) When the counter variable i is less than n (YES in S403), the collision danger area calculator 306 determines whether there exist a collision point P.sub.i and its subsequent collision point P.sub.i+1 (S404).
(90) When both the collision point P.sub.i and collision point P.sub.i+1 exist (YES in S404), the collision danger area calculator 306 connects the collision point P.sub.i and the collision point P.sub.i+1 to each other (S405), increments the counter variable i (S406), and determines again whether the counter variable i is less than n (S403).
(91) On the other hand, when one of the collision point P.sub.i and collision point P.sub.i+1 does not exist (NO in S404), the collision danger area calculator 306 increments the counter variable i (S406) and determines again whether the counter variable i is less than n (S403).
(92) When the counter variable i is not less than n in step S403 (NO in S403), the collision danger area calculator 306 ends the first connection processing.
(93) Thus, by connecting a certain collision point and its subsequent collision point, the collision danger area is calculated.
(94) (Second Connection Processing)
(95) The following describes the second connection processing.
(96) As illustrated in
(97) When the counter variable is less than n (YES in S504), the collision danger area calculator 306 determines whether two collision points P.sub.i exist (S505).
(98) When two collision points P.sub.i exist (YES in S505), the collision danger area calculator 306 determines whether two collision points P.sub.i+1 exist (S506).
(99) When two collision points P.sub.i+1 exist (YES in S506), the collision danger area calculator 306 connects the collision point P.sub.i and the collision point P.sub.i+1 in each of the groups A and B (S507), increments i (S508), and determines again whether the counter variable i is less than n (S504).
(100) On the other hand, when there are not two collision points P.sub.i+1 (No in S506), the collision danger area calculator 306 connects the collision points P.sub.iA and P.sub.iB (S509), and increments i (S508).
(101) When there are not two collision points P.sub.i in step S505 (NO in S505), the collision danger area calculator 306 determines whether two collision points P.sub.i+1 exist (S510).
(102) When two collision points P.sub.i+1 exist (YES in S510), the collision danger area calculator 306 connects collision points P.sub.i+1A and P.sub.i+1B (S511) together and increments i (S508).
(103) On the other hand, when there are not two collision points P.sub.i+1 (NO in S510), the collision danger area calculator 306 increments the i (S508).
(104) When the counter variable is not less than n in step S504 (NO in S504), the collision danger area calculator 306 ends the second connection processing.
(105) Thus, when two collision points exist for each of a certain vertex and its subsequent vertex, the two collision points are connected together in each group to calculate the collision danger area; otherwise, two collision points of a certain vertex, or two collision points of its subsequent vertex are connected together to calculate the collision danger area.
(106) (Third Connection Processing)
(107) The following describes the third connection processing.
(108) As illustrated in
(109) When the counter variable is less than n (YES in S604), the collision danger area calculator 306 determines whether two collision points P.sub.i exist (S605).
(110) When two collision points P.sub.i exist (YES in S605), the collision danger area calculator 306 connects the collision point P.sub.i and the collision point P.sub.i+1 together in each of the groups A and B (S606), increments i (S607), and determines again whether the counter variable i is less than n (S604).
(111) On the other hand, when there are not two collision points P.sub.i, namely, there is only one collision point P.sub.i (No in S605), the collision danger area calculator 306 connects the one collision point P.sub.i to collision points P.sub.i+1A and P.sub.i+1B (S608) and determines whether the counter variable i is 0 (S609).
(112) When the counter variable i is 0 (YES in S609), the collision danger area calculator 306 connects the one collision point P.sub.i to collision points P.sub.n−1A and P.sub.n−1B (S610) and determines whether the counter variable i is 0 (S607).
(113) On the other hand, when the counter variable i is not 0 (NO in S609), the collision danger area calculator 306 connects the one collision point P.sub.i to collision points P.sub.i−1A and P.sub.i−1B (S611) and determines whether the counter variable i is 0 (S607).
(114) When the counter variable i is not less than n in step S604 (NO in S604), the collision danger area calculator 306 ends the third connection processing.
(115) Thus, when only one collision point exists for a certain vertex, this one collision point is connected to two collision points of two vertices adjacent to the vertex corresponding to the one collision point to calculate the collision danger area.
(116) As described above, the safe navigation area is set not for the own ship 1 but for the target ship 2, the collision point between each of the vertices constituting the safe navigation area and the own ship 1 is calculated, and the collision danger area is calculated by connecting the calculated collision points, whereby even when the safe navigation area has a shape other than a perfect circle with its center located on the ship, the collision danger area is not affected by the course of the own ship 1. This can enhance the freedom degree of the shape of the safe navigation area without reducing the reliability of the collision danger area.
(117) The embodiment of the present invention has been described by way of example and is not intended to limit the scope of the invention. The novel embodiment can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. This embodiment and its modification are included in the scope and gist of the invention, and are included in the invention described in the scope of claims and its equivalent scope.
REFERENCE SIGNS LIST
(118) 1: Own ship 2: Target ship 304: Area setter 305: Collision point calculator 306: Collision danger area calculator