A method for collaborative heave compensation control of a dual ship-mounted hoisting arm system, the dual ship-mounted hoisting arm system comprising a first vertical hoisting arm, a second vertical hoisting arm, a first horizontal hoisting arm and a second horizontal hoisting arm, and the method comprising:
- constructing a dynamic model of the dual ship-mounted hoisting arm system according to a first state variable and a second state variable;
- wherein the first state variable represents a position and velocity of each of the first vertical hoisting arm, the second vertical hoisting arm, the first horizontal hoisting arm and the second horizontal hoisting arm;
- and the second state variable is an attitude angle of a load of the dual ship-mounted hoisting arm system, and is expressed based on the position and velocity of each of the first vertical hoisting arm, the second vertical hoisting arm, the first horizontal hoisting arm and the second horizontal hoisting arm;
- based on the dynamic model, obtaining an optimal control strategy according to a control objective and an optimization objective under a plurality of constraint conditions;
- wherein the control objective is to track a reference compensation trajectory of each of the first vertical hoisting arm, the second vertical hoisting arm, the first horizontal hoisting arm and the second horizontal hoisting arm during a heave motion process;
- the optimization objective is to minimize a tracking error;
- and the plurality of constraint conditions comprise an action constraint of each of the first vertical hoisting arm, the second vertical hoisting arm, the first horizontal hoisting arm and the second horizontal hoisting arm, and a position and velocity constraint of each of the first vertical hoisting arm, the second vertical hoisting arm, the first horizontal hoisting arm and the second horizontal hoisting arm after action;
- and
- controlling an action of each of the first vertical hoisting arm, the second vertical hoisting arm, the first horizontal hoisting arm and the second horizontal hoisting arm;
- wherein the attitude angle α of the load is expressed as:
- {dot over (α)}=ġ(a1){dot over (a)}1+ġ(b1){dot over (b)}1+ġ(b2){dot over (b)}2+ġ(a2){dot over (a)}2;
- and
- the dynamic model is simplified into:
- M
-
- (
- q
- i
- )
-
- q
- ¨
- i
- +
- C
-
- (
- q
- i
- ,
- q
- .
- i
- )
-
- q
- .
- i
- +
- G
-
- (
- q
- i
- )
- =
- f
- i
-
- i
- =
- 1
- ,
- 2
- ,
- 3
- ,
- 4
- ;
- M
-
- (
- q
- i
- )
- =
- N
- T
-
- M
-
- (
- q
- j
- )
-
- N
- ,
- C
-
- (
- q
- i
- ,
- q
- .
- i
- )
- =
- N
- T
-
- C
-
- (
- q
- j
- ,
- q
- .
- j
- )
-
- N
- ;
- G
-
- (
- q
- i
- )
- =
- N
- T
-
- G
-
- (
- q
- j
- )
- ,
- f
- i
- =
- N
- T
-
- f
- j
- ;
- and
- N
- =
- [
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- 0
- 0
- 0
- 0
- 1
- g
- .
- (
- a
- 1
- )
- g
- .
- (
- b
- 1
- )
- g
- .
- (
- b
- 2
- )
- g
- .
-
- (
- a
- 2
- )
- ]
- ;
- wherein a1 represents a stroke of the first horizontal hoisting arm;
- a2 represents a stroke of the second horizontal hoisting arm;
- b1 represents a stroke of the first vertical hoisting arm;
- b2 represents a stroke of the second vertical hoisting arm;
- {dot over (a)}1 represents a velocity of the first horizontal hoisting arm;
- {dot over (a)}2 represents a velocity of the second horizontal hoisting arm;
- {dot over (b)}1 represents a velocity of the first vertical hoisting arm;
- {dot over (b)}2 represents a velocity of the second vertical hoisting arm;
- ġ(a1) represents a partial derivative of a function associated with hoisting arm stroke and the attitude angle of the load with respect to a1;
- ġ(a2) represents a partial derivative of the function with respect to a2;
- ġ(b1) represents a partial derivative of the function with respect to b1;
- ġ(b2) represents a partial derivative of the function with respect to b2;
- qi=[a1, b1, a2, b2] represents the position of each hoisting arm;
- M(qi) represents an inertia matrix;
- C (qi, {dot over (q)}i) represents a Coriolis matrix;
- G(qi) represents a gravity matrix;
- fi represents a control vector;
- {umlaut over (q)}i represents a second-order derivative of qi;
- and {dot over (q)}i represents a first-order derivative of qi;
- wherein the optimization objective is expressed as:
- J
- =
- 1
- 2
-
- q
- a
- (
- N
- p
- )
- T
-
- S
- a
-
- q
- a
- (
- N
- p
- )
- +
- 1
- 2
-
- ∑
- k
- =
- 0
- N
- p
- -
- 1
-
- (
- q
- a
- (
- k
- )
- T
-
- Q
- a
-
- q
- a
- (
- k
- )
- +
- Δ
-
- f
-
- (
- k
- )
- T
-
- R
-
- Δ
-
- f
-
- (
- k
- )
- )
- ;
- wherein Δf(k) represents an input increment;
- qq represents a state equation involving the input increment;
- Np represents a prediction horizon of model predictive control;
- qq(Np) represents a value of the first state variable after Np iterative predictions;
- and Sq, Qq and R are weight matrices;
- wherein the plurality of constraint conditions are respectively expressed as:
- {
- q
- min
- ≤
- q
-
- (
- k
- +
- i
- )
- ≤
- q
- max
-
- for
-
- i
- =
- 1
-
- …
-
- N
- c
- q
- .
- min
- ≤
- q
- .
- (
- k
- +
- i
- )
- ≤
- q
- .
- max
-
- for
-
- i
- =
- 1
-
- …
-
- N
- c
- f
- min
- ≤
- f
-
- (
- k
- +
- i
- )
- ≤
- f
- max
-
- for
-
- i
- =
- 1
-
- …
-
- N
- c
- q
- ~
- (
- k
- )
- =
- q
- a
- (
- k
- )
- q
- a
- (
- k
- +
- 1
- )
- =
- A
- a
-
- q
- a
- (
- k
- )
- +
- B
- a
-
- Δ
-
- f
-
- (
- k
- )
-
- for
-
- i
- =
- 1
-
- …
-
- N
- c
- ;
- wherein qmin represents a minimum hoisting arm position, and qmax represents a maximum hoisting arm position;
- {dot over (q)}min represents a minimum hoisting arm velocity, and {dot over (q)}max represents a maximum hoisting arm velocity;
- fmin represents a minimum hoisting arm action input, and fmax represents a maximum hoisting arm action input;
- {tilde over (q)}(k) represents a variation tendency of the first state variable;
- qa(k) represents the first state variable involving an input increment at a time k;
- qa(k+1) represents the first state variable involving the input increment at a time k+1;
- Δf(k) represents the input increment;
- Aa represents a state-transition matrix of a state equation of the discretized model;
- Ba represents an input matrix of the state equation of the discretized model;
- q(k+i) represents the first state variable involving the input increment at a time k+i;
- {dot over (q)}(k+i) represents a first-order derivative of q(k+i);
- and f(k+i) represents a control input at the time k+i.