The present invention relates to a motion control device and a motion control method for a ship, for causing a ship provided with outboard engines to cruise along a desired trajectory.
In a related-art motion control device for a ship, there are known a propulsion force distribution method and a propulsion force distribution device, for highly precisely controlling generated propulsion forces for implementing motion control functions, such as navigation from an initial position to a target position and dynamic positioning, in a ship provided with a plurality of azimuth thrusters and bow thrusters (e.g., Japanese Patent Application Laid-open No. 2004-042885 (lines 1 to 28 on page 9, FIG. 7 and FIG. 8)).
In Japanese Patent Application Laid-open No. 2004-042885, balance relationships of a resultant force and a resultant moment of the propulsion forces are set in advance in consideration of non-linearity and dynamic characteristics of each of three propulsion force generation devices. Further, after an performance function is defined, a propeller propulsion force, a steering angle, and a steering angle speed of each of the propulsion generation devices are calculated through model predictive control of minimizing the generated propulsion force of each of the propulsion force generation devices while the balance relationships of the resultant force and the resultant moment are set as constraint conditions.
However, in the related-art propulsion force distribution device of the motion control device for a ship, there is problem in that weights of the defined performance function are adjusted on a trial-and-error basis, and thus optimal adjustment of the weights takes time. Moreover, the model predictive control has a problem in that a control system fails when the optimization calculation is not completed within a prediction time section or horizon set in advance.
The present invention has been made in order to solve the above-mentioned problems, and therefore has an object to provide a motion control device and a motion control method for a ship, which do not require adjustment of weights of an performance function, and is less liable to fail in control calculation by building optimization calculation only into a part of feedback control to which a classical control system, for example, PID control, is applied.
According to one embodiment of the present invention, there is provided a motion control device for a ship, which is configured to cause a ship, on which a plurality of outboard engines are installed, to cruise along a desired trajectory, the motion control device including: a trajectory generator configured to output a trajectory command; a controller configured to output a control force command based on the trajectory command and a sensor information group output from a sensor group provided for the ship; and a control force distributor for carrying out, based on the control force command, optimization calculation for operation amounts required for the plurality of outboard engines in accordance with a constraint condition set in advance so as to output the operation amounts. According to one embodiment of the present invention, there is also provided a motion control method for a ship.
According to the present invention, it is possible to provide the motion control device and the motion control method for a ship, which do not require the adjustment of the weights of the performance function, and is less liable to fail in the control calculation by building the optimization calculation only into the part of the feedback control to which the classical control system, for example, the PID control, is applied.
Now, a motion control device and a motion control method for a ship according to each of embodiments of the present invention are described with reference to the drawings. In each of the embodiments, the same or corresponding portions are denoted by the same reference symbols, and the overlapping description thereof is omitted.
As a propulsion and steering mechanism for a ship, there is known an outboard engine often seen in a small ship, in which a main part including a screw provided under the engine and integrally therewith is mounted on an outside of a hull, and which is configured to change a direction of the main part in order to change a direction of the ship. The ship to be controlled in the present invention is not limited to such a small ship, and also includes a ship including a propulsion and steering mechanism often seen in a large ship, in which a driving part, for example, an engine, is provided inboard and a screw part variable in a direction is exposed to the outside of the ship as an outboard engine.
In the following, the outboard engine includes outboard engines having any of the above-mentioned configurations.
Moreover, the ship is provided with a sensor group 300 for detecting a motion state of the ship. The sensor group 300 is constructed by, for example, the global positioning system (GPS) configured to measure the longitude and latitude of the ship and a magnetic azimuth sensor configured to measure the azimuth angle of the ship. However, the configuration of the sensor group 300 is not limited to a specific configuration, and the sensor group 300 may include a so-called publicly-known inertial navigation device including a gyro configured to measure an angular velocity of the ship, and an acceleration sensor configured to measure a translational acceleration of the ship, and other such sensors. In the following, for the sake of a clear description of the configuration of the motion control device 1 for a ship, it is assumed that two outboard engines are installed on a ship 500, for example.
The motion control device 1 for a ship includes a trajectory generator 10, a controller 100, and a control force distributor 200. A detailed description is now given of functions together with inputs/outputs of each of the trajectory generator 10, the controller 100, and the control force distributor 200 included in the motion control device 1 for a ship.
First, in
Then, the trajectory calculator 12 receives an initial state SCI and a terminal state ECI output by the motion condition setting device 11, and calculates a profile of specific trajectory commands TRC. A plurality of calculation methods for the profile of the trajectory commands TRC are conceivable. For example, a trajectory given by a polynomial of a time t is calculated based on the position, the attitude angle, the velocity, the angular velocity, the acceleration, and the angular acceleration in the initial state SCI and the terminal state ECI of the ship, which are obtained by the motion condition setting device 11, and the resultant trajectory commands TRC are output.
For the calculation of the profile of the trajectory commands, in addition to the above-mentioned method, the trajectory may be calculated as a straight line trajectory connecting the initial state SCI and the terminal state ECI to each other in the minimum period, or may be calculated as a trajectory between the initial state and the terminal state reachable with the minimum fuel. In other words, for the transition from the initial state to the terminal state, an optimal trajectory that minimizes an performance function set in advance, for example, an optimal trajectory in terms of the minimum period or the optimal trajectory in terms of the minimum fuel, may be calculated.
Next, in
Moreover, as preprocessing for a difference signal representing the difference, dead zone processing of setting the difference to zero in a section set in advance in which the difference is small may be applied, for example.
The post processor 120 for control calculation is provided at a subsequent stage of the control calculator 110, and is configured to carry out processing of restricting upper/lower limits of the signal and a change rate of the signal for a control calculation result COR output by the control calculator 110, and output the control force commands CFC.
Next, in
On this occasion, for example, the Z-axis direction rotation means rotation about the Z axis as its rotation axis.
In
In other words, in the inertial coordinate system, for example, XI axis is set to an axis along a longitude line of the earth, and YI axis is set to an axis along a latitude line of the earth. In the body-fixed coordinate system, the X0 axis is an axis connecting the bow and the stern of the ship 500 to each other, and the Y0 axis is an axis orthogonal to the X0 axis in the horizontal plane.
Distances from the origin OI of the inertial coordinate system OI-XIYIZI to the origin O0 of the body-fixed coordinate system O0-X0Y0Z are set as X and Y, and an angle between the XI axis of the inertial coordinate system OI-XIYIZI and the X0 axis of the body-fixed coordinate system O0-X0Y0Z is set as an azimuth angle γ. It is assumed that the origin O0 matches the center of gravity of the ship.
Two outboard engines 501 and 502 are installed on the ship 500 as described above, and the propulsion forces of the outboard engines 501 and 502 are represented by f1 and f2, respectively. The symbols g1 and g2 represent rotation centers of outboard engine steering, and when a right-handed body-fixed coordinate system 01-X1Y1Z1 and a right-handed body-fixed coordinate system 02-X2Y2Z2 having the respective rotation centers as the centers are defined, a 0 reference of each of the steering angles is a case in which the X0 axis and the X1 axis or the X0 axis and the X2 axis are parallel with each other and match in the direction. On this occasion, respective steering angles of the outboard engines 501 and 502 are a relative angle θ1 between the X0 axis and the X1 axis and a relative angle θ2 between the X0 axis and the X2 axis. With the above-mentioned preparation, a motion equation of the ship 500 is given by Expression (1).
The symbols in Expression (1) are defined as follows.
m0: Mass of the ship
mx, my: Added masses caused by the X-axis direction translational motion and the Y-axis direction translational motion of the ship
Iz0: Moment of inertia about the center of gravity of the ship
Jz: Added moment of inertia caused by a Z-axis direction rotational motion (i.e., motion about the ship center of gravity) of the ship
vx0, vy0: X-axis direction speed and the Y-axis direction speed of the ship based on the body-fixed coordinate system O0-X0Y0Z0
Lx, Ly: Distances (≥0) in the X-axis direction and the Y-axis direction from the center of gravity of the ship to the rotation center of each of the outboard engines
Xd, Yd, Nd: X-axis direction translational disturbance, Y-axis direction translational disturbance, and Z-axis direction rotational disturbance of the ship (collectively referred to as disturbance DTB illustrated in
f1, f2: Propulsion forces required for the outboard engines 501 and 502
A dot () above each symbol represents a time derivative, and dots () above each symbol represent a second-order time derivative.
Terms other than each of Xd, Yd, and Nd on each of the right sides of Expression (1) correspond to control force commands CFC for causing the ship to carry out a desired motion, and when control force commands are represented by Xf, Yf, and Nf, the control force commands Xf, Yf, and Nf may be expressed as Expression (2).
The expression in Expression (2) uses the following simplified notation.
The symbols of the expressions are defined as follows.
fX1: Propulsion force operation amount in the X-axis direction directed to the outboard engine 501
fY1: Propulsion force operation amount in the Y-axis direction directed to the outboard engine 501
fX2: Propulsion force operation amount in the X-axis direction directed to the outboard engine 502
fY2: Propulsion force operation amount in the Y-axis direction directed to the outboard engine 502
fmax: Restriction value of the propulsion force operation amount Expression (2) represents that the X-axis direction translational force command Xf, the Y-axis direction translational force command Yf, and the Z-axis direction rotational torque command Nf, which are the three control force commands CFC from the controller 100, are distributed to two operation amounts, which are the propulsion force and the steering angle per one outboard engine, for the two outboard engines, that is, distributed to a total of four operation amounts.
Incidentally, actuators more than the number of degrees of freedom of motion are often installed on a moving body, for example, a ship, in consideration of hardware failure or the like. In this case, the number of actuators is larger than the number of the control commands, and the distribution of the control command group to the actuator group is not uniquely determined. This problem is well known as control allocation problem.
The control force distributor 200 of the present invention substantially outputs the four distributed operation amounts from the three control force commands, in particular, distributes the operation amounts while constraint conditions set in advance, for example, steering angle constraint and propulsion force constraint, are satisfied. A description is now given of a specific control distribution problem thereof.
fXi2+fYi2≤fmax2 (i=1,2) (3)
In this expression, a suffix i is a number for discriminating the two outboard engines from each other. In the following, the outboard engine 501 is also referred to as outboard engine (1), and the outboard engine 502 is also referred to as outboard engine (2).
Expression (3) means that the propulsion constraint of the outboard engine is represented as a nonlinear inequality constraint condition. Moreover, when the upper/lower limits±θmax of the steering angle is considered, sectors symmetrical about the fY axis are feasible regions, but this also corresponds to a non-linear inequality constraint condition. Optimization calculation under a nonlinear inequality constraint condition is generally high in the calculation cost, and is thus not suitable for real-time calculation.
Thus, in order to relax the nonlinear inequality constraint condition to a linear inequality constraint condition, the sectors are changed to triangular feasible regions. Specifically, the triangular feasible regions are a region 1 and a region 2 represented by the dashed-dotted lines of
What is to be considered is that, because the two outboard engines and the two candidates of the feasible region exist, an optimization problem is to be solved under a total of four linear inequality constraint conditions. This is the reason why the distribution calculator configured to receive the control force commands CFC to carry out the calculation is constructed by the total of four distribution calculators in
Next, the performance function J is given by Expression (5).
The symbols of Expression (5) are expressed as follows.
R: positive semi-definite matrix
FT, fT: transposed matrices of F and f, respectively
Elements (also referred to as weights) of the positive semi-definite matrix R in Expression (5) may arbitrarily be selected as long as the condition of the positive semi-definiteness is satisfied. However, this arbitrariness contrarily causes trial and error in adjustment of the weights. Thus, the positive semi-definite matrix R is set to Expression (6).
R=CTC+ρI (6)
The symbols in the expression are defined as follows.
ρ: Very small positive number
I: Unit matrix
ρ may be set to 0.
The positive semi-definite matrix R can be uniquely determined in this way, and thus the resultant performance function does not require the adjustment of the weights.
As a result, the calculation can be formulated into a quadratic programming problem of minimizing the performance function of Expression (5) under the linear inequality constraint conditions of Expression (4).
In other words, a solution Fk* for minimizing Expression (5) of the performance function is calculated under the linear inequality constraint conditions of Expression (4). A suffix k is an integer of from 1 to 4.
On this occasion, this quadratic programming problem needs to be numerically solved fast within a control cycle set in advance, and a publicly-known solver disclosed in Matthew Brand, Parallel Quadratic Programming for Image Processing, 18th IEEE International Conference on Image Processing, 2011 can be applied to this high-speed calculation, for example. The solver for fast solving the quadratic programming problem is not limited to the solver disclosed in Matthew Brand, Parallel Quadratic Programming for Image Processing, 18th IEEE International Conference on Image Processing, 2011, but any solver can be used as long as the solver can complete the optimization calculation within the control cycle set in advance.
In this way, a first driving force DF1, a second driving force DF2, a third driving force DF3, and a fourth driving force DF4 can be acquired from the first distribution calculator 211, the second distribution calculator 212, the third distribution calculator 213, and the fourth distribution calculator 214, respectively, based on the control force commands CFC.
A description is now given of the driving force selector 250. The driving force selector 250 is configured to select an optimal driving force IDDF under a set condition set in advance out of the driving forces DF1 to DF4 acquired from the respective distribution calculators 211 to 214. The set condition is given by Expression (7) in a sense of selecting a set condition that minimizes an error of the equality constraint represented by Expression (2), for example.
Fopt=min[(f−CFk*)T(f−CFk*)] (k=1,2,3,4) (7)
The symbols in the expression are defined as follows.
Fopt: Optimal driving force (IDDF) corresponding to the output of the driving force selector 250
Fk*: Same in meaning as the output DFk of each of the distribution calculators
A suffix k is a number for discriminating the four distribution calculators 211 to 214 from one another.
A description is now given of the operation amount calculator 270. The operation amount calculator 270 is configured to calculate a required propulsion force operation amount f1 and a required steering angle operation amount θ1 of the outboard engine (1) and a required propulsion force operation amount f2 and a required steering angle operation amount θ2 of the outboard engine (2) based on the optimal driving force IDDF, which is the output of the driving force selector 250.
Specifically, the optimal driving force IDDF acquired under the linear inequality constraint conditions of Expression (4) is calculated in accordance with Expression (8).
The driving forces DF1 to DF4 and the optimal driving force IDDF are the outputs of the distribution calculators 211 to 214 and the output of the driving force selector 250, respectively.
As described above, according to the first embodiment, in a ship, on which a plurality of outboard engines are installed, when the position/attitude control for the X translation direction (surge), the Y translation direction (sway), and the Z rotation direction (yaw) is carried out, the optimal required operation amounts (f, θ) can be distributed to the outboard engines corresponding to the control force commands CFC for the ship.
Moreover, the optimal required operation amounts (f, θ) are acquired as a solution satisfying the propulsion force restriction and the steering angle restriction of the outboard engine, and thus, for example, a mechanical interferences of the outboard engines caused by an incremental steering of the steering angle exceeding the restriction can be positively prevented, thereby implementing appropriated driving control for the outboard engines.
Further, the performance function does not require the adjustment of the weights that can arbitrarily be set, and the optimization calculation is built into only a part of the feedback control to which a so-called classical control system, for example, the PID control, is applied. Thus, the motion control device for a ship that is easy in the control adjustment and is less liable to fail in the control calculation can be acquired.
A description is now given of a numerical simulation example for verifying effectiveness of the first embodiment. In the numerical simulation, the trajectory commands TRC for the X-axis direction translation, the Y-axis direction translation, and the Z-axis direction rotation are appropriately given, and a behavior of the ship corresponding to the trajectory commands TRC and behaviors of the propulsion force operation amounts fi (i=1, 2) required on this occasion and the required steering angle operation amounts θi (i=1, 2) are represented as time histories.
The trajectory generator 10 provides, as the trajectory commands TRC, trajectory commands satisfying such a condition that initial positions of the X-axis direction translational position and the Y-axis direction translational position are 0 m, an initial attitude of the Z-axis direction rotation is 0 degrees, terminal positions of the X-axis direction translational position and the Y-axis direction translational position are 100 m, and a terminal attitude of the Z axis is 45 degrees. As the restriction values, the propulsion force restriction is ±5,000 N, and the steering angle restriction is ±20 degrees.
From parts (a), (b), and (c) of
In the steering angle operation amounts θ1 and θ2 of part (b) of
Thus, in the second embodiment of the present invention, in order to decrease the calculation cost as much as possible, a control force distributor 200A includes one distribution calculator.
A distribution calculator 215 is configured to input the control force commands CFC, and output the optimal driving force IDDF. On this occasion, in order to relax a condition serving as a base for defining the linear inequality constraint conditions for a positive/negative output of the propulsion force operation amount f required for the outboard engine, the optimization problem is transformed into another optimization problem having f as a free variable. Specifically, the propulsion force f is considered as a free variable, and a variable conversion is carried out as expressed as Expression (9).
f=f+−f− (9)
In this expression, the following expressions are satisfied.
f+≥0
f−≥0
In accordance with this variable conversion, the propulsion force operation amount fX in the X-axis direction and the propulsion force operation amount fY in the Y-axis direction are expressed as Expression (10).
The symbol in the expression is defined as follows.
θ: Steering angle of outboard engine
Next, the linear inequality constraint conditions in the two regions for each outboard engine illustrated in
AF′≤b (11)
The symbols in the expression are defined as follows.
A: Matrix
F′: Vector constructed by free variables
b: Vector
A solution F′* for minimizing Expression (12) of the performance function is calculated under the linear inequality constraint conditions of Expression (11).
In this expression, R′ represents a positive semi-definite matrix, and is given by, for example, Expression (13).
R′=C′TC′+ρI′ (13)
Moreover, C′ represents a matrix obtained when the C matrix in Expression (2) is expressed by free variable vectors, and I′ represents a unit matrix.
From the above description, the distribution calculator 215 is configured to carry out optimization calculation of minimizing the performance function of Expression (12) under the linear inequality constraint conditions of Expression (11) to output the optimal driving force IDDF. In this way, the one distribution calculator is configured to carry out the optimization calculation without the plurality of distribution calculators for the optimization calculation in accordance with the combinations of the number of the outboard engines and the regions under the linear inequality constraint conditions for each region of the constraint as in the first embodiment.
The operation amount calculator 270A is configured to convert the optimal driving force IDDF, which is the output of the distribution calculator 215, into a propulsion force command and a steering angle command, which are actual operation amounts for the outboard engine, namely, the required propulsion force operation amount f and the required steering angle operation amount θ.
The driving force selector 250 is provided as illustrated in
As described above, according to the second embodiment, in addition to the effects of the first embodiment, the calculation cost of the optimization calculation can drastically be decreased.
Moreover, in all of the embodiments, change rate restriction processing, upper/lower limit processing, and filtering processing can be applied to the operation amounts, which are the outputs of the control force distributor. Further, the form of the controller may be applied not only to a classical control system, but also to a modern control system, which carries out the state feedback control, as a matter of course.
In the above-mentioned respective embodiments, the trajectory generator 10, the controller 100, and the control force distributor 200 of the motion control device 1 illustrated in
Regarding this point, each of the processing circuits for implementing those functions may be constructed by dedicated hardware or a central processing unit (CPU, which is also referred to as processing device, calculation device, microprocessor, microcomputer, processor, or DSP) for executing a program stored in a memory.
When the functions of the above-mentioned respective components are constructed by hardware illustrated in
When the functions of the above-mentioned respective components are constructed by a CPU illustrated in
The function of each component may be implemented partially by dedicated hardware, and partially by software or firmware.
In this way, the processing circuit can implement each of the above-mentioned functions by hardware, software, firmware, or a combination thereof.
Moreover, various types of information required for the processing are set to the circuit in advance in the case of the hardware configuration, and are stored in the memory in advance in the case of the software configuration.
Number | Date | Country | Kind |
---|---|---|---|
2017-077393 | Apr 2017 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
20050245145 | Takada | Nov 2005 | A1 |
20060105647 | Yazaki | May 2006 | A1 |
20120231680 | Ono | Sep 2012 | A1 |
20140220837 | Kuriyagawa | Aug 2014 | A1 |
Number | Date | Country |
---|---|---|
2001-219899 | Aug 2001 | JP |
2001219899 | Aug 2001 | JP |
2004-042885 | Feb 2004 | JP |
2004042885 | Feb 2004 | JP |
Entry |
---|
Communication dated Feb. 6, 2018 from the Japanese Patent Office in counterpart application No. 2017-077393. |
Number | Date | Country | |
---|---|---|---|
20180290719 A1 | Oct 2018 | US |