The present invention relates to ship control during turning.
The conventional automatic ship steering systems uses differential preceding type Proportional-Integral-Derivative (PID) control to suppress the development of a rate of turn.
However, it is difficult to effectively suppress an overshoot of a heading during turning with the conventional technology.
Therefore, the object of the present invention is to effectively suppress the overshoot of the heading during turning.
A ship control device is provided with processing circuitry. The processing circuitry measures an overshoot amount of a heading during turning, based on an excessive turning amount of the heading with respect to a setting direction of the ship, and calculates a rudder angle offset amount that suppresses an overshoot during turning, based on the overshoot amount.
In this configuration, the rudder angle offset amount that corrects a command rudder angle is calculated based on the overshoot amount. Thus, the command rudder angle is properly corrected for the overshoot. Therefore, the overshoot of the heading during turning may be effectively suppressed.
In the ship control device of the present invention, the processing circuitry measures the overshoot amount every time the overshoot occurs in a plurality of turnings and calculates and updates the rudder angle offset amount every time the overshoot amount is measured.
In this configuration, the rudder angle offset amount is properly updated according to the overshoot amount.
In the ship control device of the present invention, the processing circuitry sets a maximum value of the excessive turning amount measured a plurality of times in one turn as the overshoot amount.
In this configuration, the overshoot amount is properly set from the excessive turning amount in the heading.
In the ship control device of the present invention, the processing circuitry sets the command rudder angle based on the set heading and the heading, and outputs the command rudder angle corrected by the rudder angle offset amount. The processing circuitry corrects the command rudder angle by the rudder angle offset amount when the maximum value of the overshoot amount is equal to or greater than a correction threshold.
In this configuration, undesirable instability in the behavior of the ship is restrained when the overshoot is within a defined range.
In the ship control device of the present invention, the processing circuitry calculates a standard deviation of the heading. Further, the processing circuitry calculates the rudder angle offset amount based on the overshoot amount and the standard deviation of the heading.
In this configuration, an influence of a disturbance on the rudder angle offset amount is suppressed.
In the ship control device of the present invention, the processing circuitry calculates the standard deviation of the heading when the ship is held.
In this configuration, the standard deviation of the heading is accurately calculated.
In the ship control device of this invention, the processing circuitry calculates a correction value of the rudder angle offset amount based on a difference between the overshoot amount and the standard deviation of the heading. The processing circuitry further corrects the rudder angle offset amount by adding the correction value and the rudder angle offset amount calculated during a past turning.
In this configuration, the rudder angle offset amount is calculated accurately.
In the ship control device of this invention, the processing circuitry calculates a normalized rudder angle offset amount based on a turning angle. Further, the processing circuitry corrects the command rudder angle based on the normalized rudder angle offset amount.
In this configuration, the rudder angle offset amount according to a size of the turning angle is calculated, and the command rudder angle properly corrected according to the size of the turning angle is calculated.
Further, in the ship control device of this invention, the processing circuitry generates a denormalized rudder angle offset amount based on multiplying the normalized rudder angle offset amount by the current turning angle. Further, the processing circuitry corrects the command rudder angle based on the denormalized rudder angle offset amount.
In this configuration, the command rudder angle is corrected precisely according to a magnitude of the current turning angle.
In the ship control device of this invention, the processing circuitry determines an occurrence of the overshoot based on the heading, the set heading, and a rate of turn of the ship. The processing circuitry further measures the overshoot amount when the overshoot occurs.
In this configuration, the overshoot amount is accurately measured.
In addition, the ship control system of the present invention is equipped with the ship control device described above and a sensor for acquiring an observation value associated with a behavior of the ship including the heading.
In this configuration, as a ship control system, the overshoot amount of the heading during turning may be effectively suppressed.
The illustrated embodiments of the subject matter will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of devices, systems, and processes that are consistent with the subject matter as claimed herein.
Example apparatus are described herein. Other example embodiments or features may further be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. In the following detailed description, reference is made to the accompanying drawings, which form a part thereof.
The example embodiments described herein are not meant to be limiting. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the drawings, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
A ship control device, a ship control system, a ship control method and a ship control program according to the embodiment of the invention will be explained with reference to the figures.
(Configuration of a ship control system 10) First, a ship control system 10 will be explained using
The control unit 20 of the ship control system 10 is connected to a rudder 90. The rudder 90 is mounted on the ship. The control unit 20 and the rudder 90 are connected, for example, through an analog voltage signal line or a data communication line.
Although not shown, propulsion generating devices such as screw propellers are further installed on the ship. The control unit 20 further controls generation of propulsion to the propulsion generating devices, but a detailed explanation is omitted here.
The control unit 20, the operation unit 30, the observation value acquiring unit 40, and the display 50 are connected to each other by, for example, a data communication network 100 for vessels.
The control unit 20 generates a turning signal based on a command rudder angle and outputs the turning signal to the rudder 90. The steering controls the rudder 90 according to the received turning signal. The specific generation method of the command rudder angle may be described later.
The operation unit 30 is realized by, for example, a touch panel, physical buttons or switches. The operating unit 30 accepts an operation of settings related to the autopilot control including a target position and the like. The operating unit 30 outputs information (e.g., target position and the like) set by the operation to the control unit 20.
The observation value acquiring unit 40 includes a bearing sensor and measures the heading ψh. The observation value acquiring unit 40 measures the heading ψh at a predetermined sampling period. The observation value acquiring unit 40 further outputs the heading ψh to the control unit 20.
In addition, the observation value acquiring unit 40 includes an angular velocity sensor and the like to measure a rate of turn ω. The observation value acquiring unit 40 may calculate the rate of turn ω from a time derivative of the heading ψh over a plurality of times.
The observation value acquiring unit 40 outputs the rate of turn ω to the control unit 20.
The display 50 is realized by, for example, a liquid crystal panel. When, for example, information related to the autopilot control is provided as an input from the control unit 20, the display 50 displays the information. Although the display 50 may be omitted, it is preferable to have one, and by having the display 50, the user may easily grasp the autopilot control status.
(Configuration of the control unit 20 and specific processing) The control unit 20 is composed of, for example, an arithmetic processing unit such as a Central Processing Unit (CPU) and a storage unit such as a semiconductor memory. The storage unit stores a program to be executed by the control unit 20. In addition, the storage unit is utilized during computing the CPU.
As shown in
Further, a set heading ψset, the heading ψh, and the rate of turn ω are provided as an input to the control unit 20.
The set heading ψset, the heading ψh, and the rate of turn ω are provided as an input to the overshoot determining unit 28. Based on the set heading direction ψset, the heading ψh, and the rate of turn ω, the overshoot determining unit 28 determines an occurrence of an overshoot during turning of the ship.
Based on a turning direction, the rate of turn ω, and an azimuth difference between the heading ψh and the set heading ψset, the overshoot determining unit 28 determines whether the overshoot is in progress or is ended.
More specifically, the overshoot determining unit 28 determines whether the overshoot is in progress or is completed based on the following formula.
d·ω<0.0, and d·(ψh−ψset)<Thovsd are signs (“+” or “−”) indicating the turning direction with a positive clockwise direction based on the heading. Further, ω is the rate of turn with the positive clockwise direction based on the heading. Thovs is a threshold for determining the overshoot and is set at, for example, 3 degrees. The threshold Thovs for determining the overshoot is appropriately determined according to the past behavior of the ship and user settings.
The overshoot determining unit 28 outputs whether the overshoot is in progress or the overshoot is finished (i.e., not in progress) to the overshoot amount measuring unit 21, the rudder angle offset amount calculating unit 23, and the command rudder angle generating unit 24.
The set heading ψset and the heading ψh are provided as an input to the overshoot amount measuring unit 21. If the overshoot is in progress, the overshoot amount measuring unit 21 measures the overshoot amount, ψovs, based on the set heading, ψset, and the heading, ψh.
More specifically, the overshoot amount measuring unit 21 continuously records the difference between the heading, ψh, and the set heading direction, ψset (i.e., the excessive turning amount of the heading) at a predetermined time interval. In the overshoot amount measuring unit 21, the maximum value of the excessive turning amount of the heading measured in the plurality of times in one turn is defined as the overshoot amount, ψovs, in this turn.
The overshoot amount measuring unit 21 outputs the overshoot amount, ψovs, to the rudder angle offset amount calculating unit 23.
The rate of turn (i.e., turning angle speed), ω, is provided as an input to the course keeping determining unit 29. Based on the rate of turn, ω, the course keeping determining unit 29 determines whether the course keeping state or the altering state (i.e., turning state) is present. Specifically, if an absolute value of the rate of turn, ω, is less than a course keeping state threshold, the course keeping state is determined. If the absolute value of the rate of turn, w, is not less than the course keeping state threshold, the altering state is determined.
The course keeping determining unit 29 outputs at least one of the course keeping state and the altering state to the heading standard deviation calculating unit 22.
The heading ψh is provided as an input to the heading standard deviation calculating unit 22. The heading standard deviation calculating unit 22 calculates a standard deviation σpsi of the heading ψh at a plurality of times. In this case, the heading standard deviation calculating unit 22 preferably calculates the standard deviation σpsi using the heading ψh at the plurality of times in a needle holding state. By using the heading ψh at the plurality of times in the needle holding state, it is not affected by changes in the heading ψh during turning. Therefore, by using the heading ψh at the plurality of times in the needle holding state, the standard deviation σpsi of the heading ψh is calculated with high accuracy.
The standard deviation, σpsi, of the heading ψh calculated in this way represents the shaking of the heading ψh due to disturbances such as waves.
The heading standard deviation calculating unit 22 outputs the standard deviation σpsi of heading ψh to the rudder angle offset amount calculating unit 23.
The rudder angle offset amount calculating unit 23 calculates a rudder angle offset amount, δoff, based on the overshoot amount, ψovs, and the standard deviation σpsi of heading ψh. The rudder angle offset amount calculating unit 23 calculates the rudder angle offset amount, δoff, in the turning state.
Specifically, the rudder angle offset amount calculating unit 23 calculates a correction value (i.e., rudder angle offset amount correction value, Δδoff) of the rudder angle offset amount, δoff, based on a difference value between an absolute value ABS ψovs of the overshoot amount, ψovs, and the standard deviation, σpsi, of the heading, ψh. The equation 1 is used to calculate the correction value.
It is to be noted that k is a coefficient for calculating the offset and is set at k<1.0. For example, k=0.3, but may be set appropriately within k<1.0.
Thus, by using the standard deviation, σpsi, of the heading, ψh, an influence of a disturbance on the rudder angle offset amount, δoff, and the rudder angle offset correction value, Δδoff, may be suppressed. Therefore, the rudder angle offset amount calculating unit 23 may calculate the rudder angle offset correction value, Δδoff, with high accuracy.
The rudder angle offset amount calculating unit 23 calculates the rudder angle offset amount, δoff(n), at a turn of time (n) based on an absolute value, ABS Δoff(n−1), of the rudder angle offset amount, δoff(n−1), at a turn of the previous time (n−1) and the rudder angle offset amount correction value, Δδoff(n). The rudder angle offset amount at the turn of the time (n) i.e., δoff(n) is calculated using equation 2.
The rudder angle offset amount calculating unit 23 calculates the rudder angle offset amount, doff, at each turn. When the overshoot is completed, the rudder angle offset amount calculating unit 23 outputs the calculated rudder angle offset amount, δoff, to the command rudder angle generating unit 24. That is during the turning of the ship, the rudder angle offset δoff (n) calculated at that time is not yet output to the command rudder angle generating unit 24.
The heading ψh, the set heading ψset, and the rudder angle offset δoff(n−1) obtained in previous turning are provided as an input to the command rudder angle generating unit 24.
The command rudder angle generating unit 24 calculates the command rudder angle using a Proportional-Integral-Derivative (PID) control algorithm based on the heading ψh, a target heading ψobj set from the set heading ψset, and the rudder angle measurement values.
During the overshoot, the command rudder angle generating unit 24 corrects the command rudder angle by adding or subtracting the previous rudder angle offset amount doff (n−1) to the command rudder angle calculated by the PID control algorithm. More specifically, the command rudder angle generating unit 24 performs subtraction if a current turn is a right turn and adds if the current turn is a left turn. The command rudder angle generating unit 24 generates a turning signal based on the corrected command rudder angle and outputs the turning signal to the rudder 90.
With such a configuration and control, the control unit 20 may properly correct the command rudder angle based on the overshoot amount. This suppresses the overshoot of the ship mounted with the ship control system 10.
(Ship control method)
The control unit 20 calculates the command rudder angle (S11). If the needle is being held (S12: YES), the control unit 20 calculates the standard deviation σpsi of the heading ψh (S200).
If the turn is in progress (S12: NO), the control unit 20 calculates the command rudder angle using PID control or the like based on the set heading ψset and heading ψh at each timing during the turn (S13).
The control unit 20 further measures the excessive turning amount of heading ψh (S14). If the overshoot is not completed (S15: NO), the control unit 20 stores the maximum value of a plurality of excessive turning amount in one turn as the overshoot amount ψovs (S16).
If the overshoot in the current turn control is not completed (S17: NO), the control unit 20 corrects the command rudder angle by adding the previous rudder offset amount δ off(n−1) to the command rudder angle calculated by the PID control (S18).
If the overshoot in the current turn control is completed (S15: YES), the control unit 20 calculates the current rudder offset amount δoff (n) (S19). With this, the control unit 20 updates the rudder offset amount δoff for each turn control.
During the execution of the current turning control (S20: NO), the control unit 20 repeats the above process. When the current turning control is completed (S20: YES), the control unit 20 holds the updated rudder angle offset amount, δoff, for the next turning control.
(Simulation result)
In addition, black triangle marks shown in
As shown in
Thus, by using the configuration and control of the present invention, the ship control system 10 may effectively suppress the overshoot. In particular, as shown in
(Another example of ship control method)
After storing the overshoot amount ψovs, the control unit 20 compares the overshoot amount ψovs (i.e., the maximum value of the excessive turning amount) with a correction threshold if the overshoot is not finished (S17: NO).
When the overshoot amount ψovs is equal to or greater than the correction threshold (S31: YES), the control unit 20 adds the previous rudder angle offset amount δoff (n−1) to the command rudder angle calculated by the PID control to correct the command rudder angle (S18).
When the overshoot amount ψovs is less than the correction threshold (S31: NO), the control unit 20 may not correct the command rudder angle. That is, the control unit 20 may not correct the command rudder angle calculated by PID control by the previous rudder angle offset amount doff (n−1).
Such control prevents the ship control system 10 from correcting the command rudder angle even though the overshoot amount is small. Therefore, the ship control system 10 may suppress unwanted increases in the overshoot amount. Thus, the ship control system 10 may suppress an increase in the overshoot amount again after the overshoot amount is suppressed by the treatment described above.
(Another example of calculation method of the rudder angle offset amount and the command rudder angle) In the above configuration, the rudder angle offset amount, δoff, may be set to be constant regardless of a size of a turning angle. However, the rudder angle offset amount, doff, may be set according to the size of the turning angle.
In this case, the rudder angle offset amount calculating unit 23 calculates a current rudder angle offset amount, δoff (n), using a previous correction factor, kag(n−1), corresponding to a previous rudder angle offset amount, δoff (n−1), and the size of the turning angle (i.e., turning angle in one turning), and the following equation 3.
Here, the correction factor kag according to a magnitude of the turning angle is set to 1.0 or less. For example, kag=0.7 if the magnitude of the turning angle is less than 30 degrees, kag=0.8 if the magnitude of the turning angle is 30 degrees to less than 60 degrees, kag=0.9 if the magnitude of the turning angle is 60 degrees to less than 90 degrees, and 1.0 if the magnitude of the turning angle is 90 degrees or more.
By performing such processing, the rudder angle offset amount, δoff (n), becomes a normalized value because an influence of the magnitude of the turning angle is suppressed.
Then, the command rudder angle generating unit 24 calculates the current command rudder angle using the rudder angle offset amount, δoff (n), normalized according to the magnitude of the turning angle in this way. Specifically, the command rudder angle generating unit 24 multiplies (i.e., denormalizes) the normalized rudder angle offset amount, δoff (n), by a correction factor, kag (n), according to a current turning angle. The command rudder angle generating unit 24 calculates the current command rudder angle by adding or subtracting the multiplication value (i.e., denormalized rudder angle offset amount) to or from the command rudder angle calculated by the PID control algorithm. The current turning angle may be obtained based on a new setting direction and a current setting direction.
By carrying out such processing, the output command rudder angle is corrected by the rudder angle offset amount corresponding to the size of the turning angle, and the command rudder angle is properly corrected according to the size of the turning angle.
If the overshoot in the current turning control is completed (S15: YES), the control unit 20 acquires the current turning angle (S191).
The control unit 20 sets a correction factor kag (n) corresponding to the current turning angle, and calculates the current rudder angle offset amount δoff (n) using the correction factor kag (S192).
It is to be understood that not necessarily all objectives or advantages may be achieved in accordance with any particular embodiment described herein. Thus, for example, those skilled in the art will appreciate that certain embodiments may be configured to operate in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.
All processes described herein may be embodied in, and fully automated via, software code modules executed by a computing system that includes one or more computers or processors. The software code modules may be stored in any type of non-transitory computer-readable medium or other computer storage device. Some or all methods may be embodied in specialized computer hardware.
Many other variations other than those described herein will be apparent from this disclosure. For example, depending on the embodiment, certain actions, events, or functions of any of the algorithms described herein may be performed in different sequences, and may be added, merged, or excluded altogether (e.g., not all described actions or events are required to execute the algorithm). Moreover, in certain embodiments, operations or events are performed in parallel, for example, through multithreading, interrupt handling, or through multiple processors or processor cores, or on other parallel architectures, rather than sequentially. In addition, different tasks or processes can be performed by different machines and/or computing systems that can work together.
The various exemplary logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or executed by a machine such as a processor. The processor may be a microprocessor, but alternatively, the processor may be a controller, a microcontroller, or a state machine, or a combination thereof. The processor can include an electrical circuit configured to process computer executable instructions. In another embodiment, the processor includes an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable device that performs logical operations without processing computer executable instructions. The processor can also be implemented as a combination of computing devices, e.g., a combination of a digital signal processor (DSP) and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Although described herein primarily with respect to digital technology, the processor may also include primarily analog components. For example, some or all of the signal processing algorithms described herein may be implemented by analog circuitry or mixed analog and digital circuitry. A computing environment may include any type of computer system, including, but not limited to, a computer system that is based on a microprocessor, mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computing engine within the device.
Unless otherwise stated, conditional languages such as “can,” “could,” “will,” “might,” or “may” are understood within the context as used in general to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional languages are not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
Disjunctive languages, such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such a disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
Any process descriptions, elements, or blocks in the flow diagrams described herein and/or shown in the accompanying drawings should be understood as potentially representing modules, segments, or parts of code, including one or more executable instructions for implementing a particular logical function or elements in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown, or discussed, including substantially concurrently or in reverse order, depending on the functionality involved as would be understood by those skilled in the art.
Unless otherwise explicitly stated, articles such as “a” or “an” should generally be interpreted to include one or more described items. Accordingly, phrases such as “a device configured to” are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, “a processor configured to carry out recitations A, B and C” can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C. The same holds true for the use of definite articles used to introduce embodiment recitations. In addition, even if a specific number of an introduced embodiment recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, typically means at least two recitations, or two or more recitations).
It will be understood by those within the art that, in general, terms used herein, are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.).
For expository purposes, the term “horizontal” as used herein is defined as a plane parallel to the plane or surface of the floor of the area in which the system being described is used or the method being described is performed, regardless of its orientation. The term “floor” can be interchanged with the term “ground” or “water surface”. The term “vertical” refers to a direction perpendicular to the horizontal as just defined. Terms such as “above,” “below,” “bottom,” “top,” “side,” “higher,” “lower,” “upper,” “over,” and “under” are defined with respect to the horizontal plane.
As used herein, the terms “attached,” “connected,” “coupled,” and other such relational terms should be construed, unless otherwise noted, to include removable, moveable, fixed, adjustable, and/or releasable connections or attachments. The connections/attachments can include direct connections and/or connections having intermediate structure between the two components discussed.
Numbers preceded by a term such as “approximately,” “about,” and “substantially” as used herein include the recited numbers, and also represent an amount close to the stated amount that still performs a desired function or achieves a desired result. For example, the terms “approximately,” “about,” and “substantially” may refer to an amount that is within less than 10% of the stated amount. Features of embodiments disclosed herein preceded by a term such as “approximately,” “about,” and “substantially” as used herein represent the feature with some variability that still performs a desired function or achieves a desired result for that feature.
It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
2023-002100 | Jan 2023 | JP | national |
This application is a continuation application of PCT International Application No. PCT/JP2023/037469, which was filed on Oct. 17, 2023, and which claims priority to Japanese Patent Application No. JP2023-002100 filed on Jan. 11, 2023, the entire disclosures of each of which are herein incorporated by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2023/037469 | Oct 2023 | WO |
Child | 19025496 | US |